A command-line productivity tool that blocks websites via the hosts files.
  • Rust
  • Rustbox

A command-line fuzzy filter written in Haskell.
  • Haskell
  • TTY
  • CLI

A Clojure-powered asocial bookmarking service inspired by Instapaper.
  • Clojure
  • Compojure
  • Postgres
  • Friend

A Clojure wrapper around the Boilerpipe text extraction library for the JVM. This powered the “plain text” view of bookmarked articles on my bookmarking service mentioned above.
  • Clojure
  • Boilerpipe
  • Text Extraction

A web frontend to various tools like compilers for Sass, Less, Coffeescript, etc. The most useful is probably Pandoc. Powered by Haskell and the Snap framework.
Powered by Haskell and the Snap framework.
  • Haskell
  • Snap
  • Hugo
  • Javascript
  • React
A chrome extension for creating Anki flashcards by extracting content from web pages.
  • Javascript
  • ReactJS
  • Flow

Bitstamp and BTC-E Clients
Clojure clients for Bitstamp and BTC-E. They have both syncronous and asyncronous APIs. The async APIs are based on Clojure’s promises.
  • Clojure
  • HTTP-Kit
  • Promises

A middleware for Clojure’s network REPL which implements basic refactoring for Clojure, in Clojure. It implements some of the refactors from clj-refactor.el, but is editor independent.
I’ve implemented a prototype vim plugin that communicates with this middleware, but it’s still rough: nrepl-refactor.vim
  • Clojure
  • nREPL
  • Vimscript

This blog was built using the Hugo static site generator. It’s styled using the Less CSS preprocessor. It uses Skeleton as its base CSS, primarily for the grid system.
  • Hugo
  • Less
  • Skeleton

Open Source Contributions

CodeMirror (pull request)
Improved vim by added support and tests for text-object based actions using },) and ].
For example, you can now delete the text inside curly braces by typing di}. Previosly only di{ was supported due to some hard coding in the way paired character matching worked. Pull request.
I also built a prototype for supporting mapping “jk” to exit insert mode. Someone else managed to expand this into something that made it into master here.
  • Javascript
  • Vim

Snowdrift.coop is a platform for funding freely-licensed works.
  • Modified the database initialization tool to be more flexible, allowing use from the BSDs and OSX. Commit.
  • Upgrade to GHC-7.10.2 and Stack LTS-3.6. Merge request.
  • Haskell

Hobbes is a simple tool for monitoring file changes. I usually use it to compile and restart programs when their source changes.
  • It was previously OSX only, I patched it to use a cross-platform filesystem event library, so it now works on Linux, OSX, and Windows. pull request
  • Bump dependencies for use with Stack and ghc-7.10.2, and some import cleanup. pull request.
  • Haskell

Logrus is a logging library for Go.
  • Golang

Fixed buggy redirect behavior. It was using 301 directs for user management, but 301 redirects are cachable, leading to strange bugs where your logged-out state is cached.