A new version of this post can be found here.