An updated version of this blog post can be read here.