Final project for the Summer 2013 UC Berkeley INFO 153 class