This is mainly an exercise for myself. Nothing new here. Just a place for me to keep all that in mind. http://gist.github.com/84205