Personal Projects
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
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
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
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.