Selected Projects
I've written tons of code in public over the years. Some projects were created
to address niche issues I faced, others to learn new technologies, and some
completely for the fun of it.
Below is a selection of some of my more substantial work. For a full list,
plus contributions to other open source projects, check out
my GitHub profile.
Maps & Geospatial
Personal heatmap tile server (à la Strava).
Telegram-powered cycle-touring journal.
Fully-configurable routing engine for OpenStreetMap data.
Create maps of roads and paths you’ve never taken.
Make Strava heatmap tiles available for use anywhere.
Personal, spatial microblogging.
Browser-based personal activity heatmap from GPX data.
Tools & Utilities
Command-line tool for bulk find-and-replace operations.
SQL query and migration linter.
Pipe terminal output to a sharable web page.
MacOS menu bar app for GitHub notifications.
Browser extension to remove cruft from recipe pages.
Tabular data viewer for the terminal.
Modern IRC client for the web.
AWS security group management ingress CLI.
Tool to manage AWS instance retirement notices.
Scrobble your Chromecast listening to Last.fm.
Control your Chromecast with Alexa.
Download and process all of your Mixpanel data.
Experiments
Email to static site generator.
Publishing platform powered by Google Docs.
Implementation of the Raft distributed consensus algorithm.
Nintendo Entertainment System emulator.
Serve org-mode files as HTML, directly from Emacs!
Programming Languages
Compiler for B
(the lesser-known ancestor of C).
Implementation of a Forth-like language, built on top of Atto.
Tiny, stack-based virtual machine. Designed to be simple to target and
reasonably fast.
Register-based virtual machine and assembly language modeled off Lua.
Libraries & Frameworks
Python library for building Lambda functions in the style of Flask.
Sinatra-inspired web framework for Vala.
Low-Level Systems
Reimplementing the pthreads
API from first principles.
Monitor and control NVIDIA GPUs from the command line.
Operating System from scratch, written in C.