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