These are personal projects that I consider good enough to share.

All of these projects are hosted on a Heroku free plan. Heroku automatically powers down the site if no one has visited in a while, so the first page load may be slow.


Divisibility Regex

Checks divisibility of numbers by using regular expressions. December 2015

Screenshot of a big regex

Repo: here

Creates regular expressions that match a number if and only if it is divisible by another number. Works for checking divisibility up to 9. A brief explanation of how this works can be found at the site’s FAQ.

Made this to have fun exploring DFAs and regular expressions.


Jaden Smith Generator

Generates typical Jaden Smith tweets. September 2014

A typical Jaden Smith tweet

Repo: here

Outputs typical Jaden Smith tweets by using a Markov chain trained on all tweets made by Jaden Smith and the full text of the King James Bible. (Adding the King James Bible makes the output coherent more often.)

This idea was incredibly silly, so of course I decided I needed to make it real. I have considered upgrading this to an RNN model, but so far I’ve convinced myself that would be really, really dumb.


Python Flow Visualizer

Visualize the control flow of a Python program. October 2013

Visualized control flow for memoized Fibonacci

Repo: here

(Note: site renders poorly on a small screen. Click image for a larger version.)

Runs a given Python snippet and animates the jumps in control flow. The picture above is a visualization of Peter Norvig’s Scheme interpreter evaluating tree recursive Fibonacci. Identifies the lines that are jumped to most often, and notes which lines fail Python lint checks.

Made in 24 hours for the Facebook NorCal Hackathon. Worked with Anting Shen, Chenyang Yuan, and Ena Hariyoshi. Uses D3.js and Angular.