This post was written in 2013. It's preserved here for historical purposes — the technical details may no longer be accurate.
Because I have been busy doing this: