https://blog.juliobiason.net/thoughts/things-i-learnt-the-hard-way/