This is an incomplete list of libraries, tools, and experiments I’ve worked on. Most exist for for personal use or educational purposes. Some are well documented, others are not. All can be found on my github page.


  • bus-data - Code used to reverse engineer a compressed and obfuscated AJAX protocol.
  • botnet - Infrastructure for an experimental JavaScript botnet.
  • routor - Tor controller that allows paths to be chosen on a stream-by-stream basis.
  • leftpad.ko - The infamous leftPad() implemented as a kernel module.
  • vim-signed-local-rc - Vim plugin for loading an RSA-signed project-local vimrc.

For xhb (article about these libraries):

  • xhb-monad - Monad transformer for xhb server connections.
  • xhb-requests - Classes and generated instances for a uniform interface to xhb.
  • xhb-event-queue - Monad transformer over xhb-monad for event handling.
  • xhb-mapping-state - Monad transformer over xhb-monad for keeping track of key, mod, and pointer mappings.


  • chuck-compositions - Some bad music written in the strongly-timed programming language ChucK

Haskell libraries:

  • bigword - Library for treating bit arrays with statically known size as heterogeneous Church-encoded vectors.
  • bencode - Fast and flexible parsers and builders for BEncoded data.
  • mod-n - Integers under a modulus, using GHC’s type-level naturals.
  • n-vector - Fixed-length unboxed vectors.
  • recall - A typeclass for memoization, based on a paper by Simon Peyton Jones.
  • 24-bit - Word24 and Int24 types, build from GHC.Prim.
  • rc4 - The RC4 stream cipher implemented in pure Haskell.

Hackathon projects:

  • git-audio - Allows a developer to record and play back verbal commit messages.

Fun things:

  • TwitchPlaysPokemonGo - A Pokemon Go playing bot that was a meme for a short period of time. Created with some 2016 hackNY fellows.
  • wikipath - Various implementations of the ‘wikipedia game’ (finding the shortest path between two articles using only internal links) in both Haskell and Python.
  • brainf–k - A tiny brainf–k interpreter written in Haskell.