Making reliable distributed systems in the presence of software errors [pdf] | Hacker News Reader