I wrote this blog post in 2012. It is still relevant.