Capstone
For lack of a better descriptor, these are broader, extensible projects.
- 
photon: path tracer, using BVH tree construction, SIMD acceleration, and multithreading. 
- 
paxos: generic state machine replication via the Paxos consensus algorithm, along with test harness and basic chat program. 
- 
gnocchi (CS 4621 course project): Minecraft-like read-only multiplayer voxel server and WebGL client. 
- 
cinema-pop (CS 4300 course project): move recommendation site using TFIDF on IMDB/TMDB movie summaries and KNN. 
Conceptual
In contrast, these are smaller projects to explore specific ideas.
- 
hungarian: the assignment problem. 
- 
rubik: 2x2x2 Rubik's cube solver. 
- 
synth: software synthesizer. 
- 
simplec: simply typed lambda calculus with extensions. 
Useful
Unlike everything else on this page, I use these tools regularly.
- 
tock: digital clock for the terminal. 
- 
tmux-copy: personalized (and fast) tmux-fingers clone. 
- 
mc-suite: Discord bots for Minecraft server management. 
- 
marco: naive "dynamic DNS". 
Competitive
These are entries or solutions for various programming competitions.
- 
advent-of-code: Advent of Code framework, with caching command-line client for submitting solutions and fetching input, problem description HTML to Markdown converter, and miscellaneous library code. 
- 
icfp-2020: ICFP programming contest for ICFP 2020, placing 42nd. 
- 
halite: Halite II and III bots, placing 57th and 348th, respectively. 
- 
battlecode: Battlecode 2018, placing in top 32. 
- 
project-euler: Project Euler solutions. 
Educational
These are things I wrote as an undergraduate TA.
- 
discussion-sp19: additional slides and instructive exercises for teaching CS 3110 discussions. 
- 
discussion-fa18: same as above, for Fall 2018. 
- 
submission-checker: Cornell CMS bot to validate student submission format.