The two most difficult ones are naming things, cache invalidation, and off-by-one errors. HTH. ;)
three most difficult things in CS:
2) Naming Things
1) Cache Invalidation
4) off by one errors
3) Concurrency
There are only two hard problems in distributed systems:
2. Exactly-once delivery
1. Guaranteed order of messages
2. Exactly-once delivery
0) naming things
1) cache invalidation
42) asynchronous callbacks
2) off by one errors
I see it with HAND "have a nice day" too
I see that's wrong, but ignorance has made the internet seem just that little bit warmer all these years!