https://medium.com/@cannon_circuit/9-programming-regrets-thatll-make-you-rethink-every-line-of-code-you-ve-ever-written-94f3361606db