Approaching software problems from first principles | Dark Hacker News