Skip to content

Instantly share code, notes, and snippets.

@miladhub
miladhub / Free.hs
Created November 13, 2020 22:22
Free monad notes
milad.bourhani:~/projects/free$ cat Free.hs
module Free where
data Free f r = Free (f (Free f r)) | Pure r
instance (Functor f) => Functor (Free f) where
fmap f (Pure a) = Pure (f a)
fmap f (Free x) = Free $ fmap (fmap f) x
instance (Functor f) => Applicative (Free f) where
docker run -dit --name foo -e FOO=$(pwd)/foo.txt -v $(pwd)/foo.txt:/tmp/foo.txt httpd:2.4
@miladhub
miladhub / encdec.sh
Created September 13, 2019 10:41
openssl encrypt / decrypt
$ echo "foobar" | openssl enc -aes-256-cbc -e -a -salt -k foobar
U2FsdGVkX1+CaU92AZ1/LHNEe3rdU0EV3/AImqzYmWg=
$ echo U2FsdGVkX1+CaU92AZ1/LHNEe3rdU0EV3/AImqzYmWg= | openssl enc -aes-256-cbc -d -a -k foobar
foobar
@miladhub
miladhub / haskell_testing.hs
Created August 24, 2019 06:57
haskell_testing.hs
import qualified Prelude
import Prelude hiding(readFile)
import Control.Monad.State
class Monad m => FSMonad m where
readF :: FilePath -> m String
numCharactersInFile :: FSMonad m => FilePath -> m Int
numCharactersInFile fileName = do
contents <- readF fileName
module Free where
data Free f r = Free (f (Free f r)) | Pure r
instance (Functor f) => Functor (Free f) where
fmap = undefined
instance (Functor f) => Applicative (Free f) where
pure = Pure
(<*>) = undefined
db.createUser({"user" : "my_user","pwd" : "my_user", "roles" : [{"role" : "dbOwner", "db" : "my_db"}]})
@miladhub
miladhub / bintree.hs
Last active October 16, 2018 13:20
Inverting a binary tree (Haskell)
module BinTrees where
data BinTree a =
Node a (BinTree a) (BinTree a)
| Nil
deriving (Show, Eq)
leaf :: a -> BinTree a
leaf a = Node a Nil Nil
package org.miladhub.rsa;
import org.apache.commons.codec.binary.Base64;
import javax.crypto.Cipher;
import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.security.*;