cities of the world
A collection of geography quizzes that challenge you to name as many cities, towns and villages in a country or continent as you can.
A virtual machine, assembler, and debugger for the Haverford Educational RISC Architecture (HERA), a custom assembly language used by Haverford College's computer science department. You can play with it in online sandbox, or view the source code on GitHub.
DP-internal only in English and Russian:
My undergraduate thesis in linguistics, on the formal semantics of the word only.
The Ergonomics of Faceted Execution:
My undergraduate thesis in computer science, on faceted execution.
For a full list, see my GitHub profile.
precommit: a simple tool to manage git pre-commit hooks. Read about it in the blog post.
boggle: a command-line implementation of the board game Boggle.
drill: spaced-repetition quizzes on the command line.
torino: a toy imperative programming language written in Go.
tiny-interpreter: a minimal bytecode-interpreted language.
abstract-machine-zoo: concrete implementations of abstract machines in Haskell.
scam: a toy functional programming language (Scheme, but on a budget).
guatemalawi: generate amusing combinations of real-world country names.
byte-me (code): a web app to interactively compile Python source code into bytecode. Co-written with Noah Kim.