Skip to content

Instantly share code, notes, and snippets.

@KWMalik
KWMalik / toc.html
Created July 30, 2012 20:02 — forked from avk/toc.html
SaaS book revised TOC
<div data-role="page" id="toc">
<div data-role="content">
<h2 class="likechapterhead">Contents</h2>
<!-- FOREWORD CHAPTER (i.e. everything between #toc and #chapter_1) -->
<div class="chapter_contents">
<h2>
<a class="chapter_title" href="#chapter_0">
Foreword
</a>
@KWMalik
KWMalik / Main.hs
Created July 30, 2012 20:03 — forked from supki/Main.hs
Cryptography coursera class exercise #1.
{-# LANGUAGE UnicodeSyntax #-}
module Main where
import Control.Applicative ((<$>))
import Control.Monad (forM_, when)
import Control.Monad.State (execState, modify)
import Data.Bits (Bits, xor)
import Data.Char (chr, isAlpha)
import Data.List (maximumBy, group, sort, zip4)
import Data.List.Split (splitEvery)
@KWMalik
KWMalik / Main.hs
Created July 30, 2012 20:04 — forked from supki/Main.hs
Cryptography coursera class exercise #2.
{-# LANGUAGE UnicodeSyntax #-}
import Control.Applicative ((<$>))
import Control.Monad ((<=<))
import Crypto.Cipher.AES (Key, IV(..), decryptCBC, decryptCTR, initKey)
import Data.ByteString (ByteString)
import qualified Data.ByteString as B
@KWMalik
KWMalik / Main.hs
Created July 30, 2012 20:04 — forked from supki/Main.hs
Cryptography coursera class exercise #3.
{-# LANGUAGE UnicodeSyntax #-}
import Control.Applicative ((<$>))
import Data.Monoid (mempty, (<>))
import Text.Printf (printf)
import Crypto.Hash.SHA256 (hash)
import Data.ByteString (ByteString)
import qualified Data.ByteString as B
@KWMalik
KWMalik / Main.hs
Created July 30, 2012 20:04 — forked from supki/Main.hs
Cryptography coursera class exercise #4.
{-# LANGUAGE UnicodeSyntax #-}
module Main where
import Control.Applicative ((<$>))
import Control.Monad (foldM, join)
import qualified Data.Bits as Bits
import Data.List (genericReplicate, inits)
import Data.Monoid ((<>))
import Data.Word (Word8)
import Text.Printf (printf)
@KWMalik
KWMalik / Main.hs
Created July 30, 2012 20:04 — forked from supki/Main.hs
Cryptography coursera class exercise #5.
{-# LANGUAGE UnicodeSyntax #-}
import Control.Monad (foldM_, join)
import qualified Data.HashMap.Lazy as H
b ∷ Int
b = 1048576
p ∷ Integer
@KWMalik
KWMalik / Main.hs
Created July 30, 2012 20:04 — forked from supki/Main.hs
Cryptography coursera class exercise #6.
{-# LANGUAGE UnicodeSyntax #-}
import Data.Char (chr)
import Text.Printf (printf)
import Data.List.Split (chunk)
import Data.Number.CReal (CReal)
main ∷ IO ()
main =
@KWMalik
KWMalik / all-your-modules.hs
Created July 30, 2012 20:05 — forked from supki/all-your-modules.hs
Module dependency graph generating scripts.
#!/usr/bin/env runhaskell
{-# LANGUAGE UnicodeSyntax #-}
import Control.Applicative ((<$>))
import Control.Monad ((<=<))
import Data.List (intercalate)
import System.Environment (getArgs)
import Distribution.ModuleName (components)
import Distribution.PackageDescription (condLibrary, condTreeData, libModules)
{-# LANGUAGE UnicodeSyntax #-}
module Main where
import Control.Monad (replicateM)
import Data.Functor ((<$>))
import Data.IntMap (IntMap, (!))
import Data.Maybe (fromJust)
import System.Environment (getArgs)
import System.Random (randomRIO)
import qualified Data.IntMap as IM
@KWMalik
KWMalik / hackage-authors.pl
Created July 30, 2012 20:06 — forked from supki/hackage-authors.pl
Silly stuff to get hackage authors sorted by productivity.
#!/usr/bin/env perl
# This crappy perl script parses .cabal files for `authors' field and extracts authors names. Then it collects them in one enormous hash associating total number of findings. Then it "pretty"-prints hash from most productive authors to least productive.
use v5.14;
use warnings FATAL => qw(void);
# Skip all lines before /^author:/i one, then return it.
sub lex ($) {
my $h = $_[0];
while (<$h>) { if (/^author:/i) { return $_ } }