A dumping ground for projects (mostly silly, mostly unfinished).


A crossword puzzle solver with a terminal-based UI.

moby-dick wordle

A word puzzle the length of Moby-Dick. An automated solver is included to improve the user experience.


A command-line tool for processing HTML documents, in the tradition of jq and TagSoup.


A toy implementation of the raft consensus protocol. "Completed" during David Beazley's 1-week course on the subject. I never got around to supporting configuration changes. log parser

Graphical report generation from parsing game logs.

combinatory birds

Interpreter/calculator for systems of combinatory logic.

tash-kalar cheatsheet

Card manifest/reference for the board game Tash-Kalar.