Merging Mike Hansen's blog post, and fixing some broken links noticed along the way.