Three ways to solve hard programming problems | Hacker News Reader