This post has been updated and improved. Find the new post here.