Reposted from Hacker News, it was #6 when I looked so you may have already seen it but I thought it was worth reposting. I am not the author.