This page is woefully out of date; I’m busy with exciting problems at work and exciting things in life, and if I’ve got spare time for coding I want to be hacking on stuff, not writing descriptions of the stuff I’m hacking on. So until I get a chance to overhaul this properly, this page will remain basically an archive of the stuff I worked on at the Recurse Center. If you’re curious about what I’ve been up to more recently, go poke around on my Github. Enjoy!
(Python, JQuery, Django)
What: a searchable Django database of folk dance choreographies.
When: Summer 2014 (Hacker School) –> ongoing
Why: contra is one of my big interests outside the hacking world. I’m a dancer, caller (i.e. dance leader), and dance writer, and I’ve always wanted a big, comprehensive database of dances so that I could go looking specifically for [dances that have weird but cool move sequence X-Y-Z] or [dances that end with move A], etc.
Status: very much a work in progress. Some day it will be operational (and pretty, too)! Some day!
When: January 2014
Why: Williams College Game Jam ‘14
Status: shiny and done!
(Python)What: a version control system, more or less an imitation git.
When: Fall 2014 (Hacker School)
Why: to get experience writing (and perhaps more importantly, organizing) a more complicated program with more moving parts; as a test to see just how well I understood the inner workings of git; more practice writing tests.
Status: tabled for now. This is not the final product, but I’ve gotten plenty out of this project, enough that I feel good about moving on for now and coming back to it sometime later whenever I get inspired to.
(Python, NLTK)What: a) a Markov chain text generator that generates pseudo-random text in the style of a given corpus, and b) a part-of-speech-based Markov generator that attempts to combine a basic Markov generator with part-of-speech constraints.
When: Summer 2014 (Hacker School)
Why: do a cool project to learn some more Python! Maybe learn things that can be applied to future cool projects (haiku generator, anyone?).
Status: both the regular and POS Markov generators are finished and operational, and both generate texts somewhere on a continuum of `total nonsense –> vaguely syntactical gibberish –> the text repeated verbatim`. POS Markov gen was notably less successful than I had hoped.
(Python)What: a command-line app that manages phonebooks.
When: August 2014 (Hacker School)
Why: bite-sized coding exercise: I wanted to pick a smallish, self-contained task, sit down for a few hours, and turn out a functional finished product.
Status: it works! Not that anyone will ever use it to keep track of their phone numbers, but it works!
(Python, NLTK, Zulip API)What: a bot for Zulip (Hacker School’s internal chat program) that lurks until presented with an opportunity to make a quote-unquote “pun” of the form, “Parse ‘er? I hardly know ‘er!”
When: Fall 2014 (Hacker School)
Why: because PUNS! Also, I wanted to get practice working with someone else’s API.
Status: shiny, done, launched on Heroku, and promptly retired, as (much to my surprise!) it turns out that “[blank] ‘er? I hardly know ‘er!” is only funny for so long.
(Python)What: a command-line app for teachers that almost-randomly picks a student from a given roster. Supports multiple classes and absence-tracking.
When: July 2014 (Hacker School)
Why: to teach myself Python!
Status: as done as it’s going to get. Not the most functional, but it does what it’s supposed to do (and was more a coding exercise than a tool for use, anyway). Recently refactored (without changing functionality) just to see what the difference would be.
(Python)What: a sudoku solver; takes a board (as a big long string), solves it, and prints the solved board to terminal.
When: September 2014 (Hacker School)
Why: as an exercise in pair programming (written with Miriam Lauter) and in writing tests/TDD.
Status: solves most sudoku boards, but not nondeterministic ones (i.e. boards where you can’t find one unique solution just from narrowing down the options of each square until one remains).