stevenloria.com

Microprojects

Mar 28, 2013

It was UW-Madison's spring break this past week, so I finally had some time to see family, friends, and improve my programming chops--something I desperately needed to do but haven't had nearly enough time for because of my college classes. Here are a few things I finished in the past 5 days:

  • Reversr [code] - Since I've worked primarily with full-stack web frameworks, i.e. Django and Rails, I wanted to give their micro-sized counterparts, Flask and Sinatra, a fair shot. I also needed a reason to learn the Web Audio API. So I made an app with both frameworks1 that just records and plays back audio (in reverse, of course) in a browser.2

  • Experimenting with OpenCV and SimpleCV - Tracking mice and recording their huddling behavior.

  • My first phylogenetic analysis - Tarsiers are the cutest evolutionary mystery.

  • Online classes - Finished about a third of Design of Computer Programs (Udacity) and the first week of Functional Programming in Scala (Coursera). Both Norvig and Odersky offer great introductions to functional programming.

  • This website - Thanks to Jekyll Bootstrap and Github Pages, this was amazingly simple.


  1. Similar in spirit to this, except that my purpose was solely to teach myself rather than provide good examples of the different languages. 

  2. I've found that one of the most efficient ways for me to start learning a new language/framework/etc. is to build a small, single-purpose app using it. I don't mean an app from a tutorial (e.g. the ubiquitous 20-minute blog) but an app that I actually find interesting. The app can be embarrassingly small and messy, as Reversr was, and I still end up learning more in less time than it takes for to find "the best tutorial for learning X" on Google. 

Please send comments by email. I welcome your feedback, advice, and criticism.