Naming Things
There are only two hard things in Computer Science: cache invalidation and naming things. — Phil Karlton Everyone treats this as a joke. It’s not a joke. Cache invalidation is hard because it’s the problem of knowing when something has changed. A stale cache is a lie your system tells itself. Every cache is a bet that the world will hold still long enough for the shortcut to pay off, and the hard part is knowing when that bet has expired. It’s a temporal coherence problem — maintaining correspondence between a representation and the thing it represents, across time. ...