Some software design guidelines | Dark Hacker News