I like playing jazz on clarinet and piano, programming in languages with fancy type systems, foosball (2015 MIT intramural champions!), singing, occasionally running, avocados, and the decrement-jump-if-nonzero 8051 assembly instruction.

Past Projects and Writing

Hairy Ball Theorem

A video explaining a relatively nontechnical proof of the hairy ball theorem. I really like Minute Physics and thought the format might lend itself well to pure math. I hope to make more of these one day!

: An Introduction to Category Theory

My final paper for MIT 18.504, Seminar in Logic. Planning to write about categorical logic, I read a lot of material on that, but by the time I had written the introductory background I was already over the page limit.


A report on a system I created with Daniel Shaar for a final project in MIT 6.945, Adventures in Symbolic Programming. The goal was to automatically infer “obvious” function arguments to reduce code clutter and make code more robust to future change.

The Banach-Tarski Paradox

A handout supplementing my Splash class “The Banach-Tarski Paradox: Speed Run!”, which covers a 50-minute-long subset of the handout’s material. It’s meant to fill in holes left by the class and be a starting point for students interested in exploring the finer details deeply.