17 principles for systematically solving problems in computer science | Hacker News Reader