There are actually only two hard problems in computer science:
0) Cache invalidation
1) Naming things
4) Asynchronous callbacks
2) Off-by-one errors
3) Scope creep
6) Bounds checking
* https://news.ycombinator.com/item?id=38806257