Skip to content

Instantly share code, notes, and snippets.

@cppxor2arr
cppxor2arr / Mandelbrot.hs
Created September 21, 2018 17:14
mandelbrot set
{-# LANGUAGE OverloadedLists #-}
{-# LANGUAGE BangPatterns #-}
module Main where
import System.Environment (getArgs)
import Text.Read (readMaybe)
import Control.Monad (when,unless)
import Data.Maybe (isNothing,fromJust,fromMaybe)
import Data.Complex
@cppxor2arr
cppxor2arr / GameOfLife.hs
Created September 12, 2018 14:08
game of life
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE BangPatterns #-}
module Main where
import qualified System.Console.Terminal.Size as Term (size,width,height)
import Data.Maybe (fromMaybe)
import Data.Vector (Vector,(!))
import qualified Data.Vector as V
import Data.Text (Text)
@cppxor2arr
cppxor2arr / Squiglies.hs
Last active July 16, 2018 11:27
squigly text
{-# LANGUAGE OverloadedStrings #-}
module Squiglies (squiglies) where
import Data.Map.Strict (Map, fromList)
import Data.Text (Text)
squiglies :: Map Char Text
squiglies = fromList
[
@cppxor2arr
cppxor2arr / formattedSeqDiff.hs
Last active July 8, 2018 05:16
formatted sequence difference
{-# LANGUAGE OverloadedStrings #-}
module Main where
import Control.Applicative
import qualified Data.Text as T
import qualified Data.Text.IO as T
import qualified Data.List as L (intersperse)
import Data.List (maximumBy)
import Data.Ord (comparing)
@cppxor2arr
cppxor2arr / nickMsgCnt.hs
Last active June 29, 2018 15:55
weechat log get sent msg count for each nick
{-# LANGUAGE FlexibleInstances #-}
{-# LANGUAGE OverlappingInstances #-}
module Main where
import Data.Map (fromListWith, toList)
main :: IO ()
main = do
let log = "date time Zerock henlo\n\
@cppxor2arr
cppxor2arr / rock_paper_scissors.cpp
Last active June 23, 2018 15:18
rock paper scissors
#include <iostream>
#include <utility>
#include <string>
#include <algorithm>
#include <cctype>
#include <map>
#include <random>
#include <chrono>
#include <stdexcept>
module Main where
import Data.List (genericTake)
{-
let p(i) be the i(th) prime number starting from 2
[p1,p2,p3,p4,p5...]
[(p2-p1),(p3-p2),(p4-p3),(p5-p4)...]
[{(p3-p2)-(p2-p1)},{(p4-p3)-(p3-p2)},{(p5-p4)-(p4-p3)}...]
... etc. applied n times
@cppxor2arr
cppxor2arr / mean_normalization.hs
Created June 14, 2018 12:23
mean normalization
average :: Fractional a => [a] -> a
average xs = sum xs / fromIntegral (length xs)
range :: (Num a, Ord a) => [a] -> a
range xs = maximum xs - minimum xs
meanNormalize :: (Fractional a, Ord a) => [a] -> a -> a
meanNormalize xs = (/ range xs) . subtract (average xs)
-- GHCI
@cppxor2arr
cppxor2arr / seq_dif.hs
Last active June 19, 2018 12:01
sequence difference
f :: Num a => [a] -> [a]
f [] = []
f [x] = []
f [x1,x2] = [x2-x1]
f (x1:x2:xs) = x2-x1:f (x2:xs)
#!/usr/bin/env python3
import sys, requests
from bs4 import BeautifulSoup
from random import choice
def main(argv):
if len(argv) < 2:
sys.exit("Invalid argument(s)\nSyntax: [optional: -n [n definition/examples]] [search term]")
if len(argv) > 3: