7 Matching Annotations
- Feb 2021
So the hard and unsolvable problem becomes: how up-to-date do you really need to be?
After considering the value we place, and the tradeoffs we make, when it comes to knowing anything of significance, I think it becomes much easier to understand why cache invalidation is one of the hard problems in computer science
the crux of the problem is: trade-offs
the 2 hardest problems in computer science are essentially the 2 hardest problems of life in general, as far as humans and information are concerned.
The non-determinism is why cache invalidation — and that other hard problem, naming things — are uniquely and intractably hard problems in computer science. Computers can perfectly solve deterministic problems. But they can’t predict when to invalidate a cache because, ultimately, we, the humans who design and build computational processes, can’t agree on when a cache needs to be invalidated.
Sometimes humorously extended as “cache invalidation, naming things, and off-by-one errors.”
- good question
- good point
- good explanation
- generalized explanation
- main/key/central/essential/core thing/point/problem/meat
- hard things in computer science
- difficult/hard problem
- life in general
- where it shines / best application
- good analogy
- how good/perfect does it really need to be?
- cache invalidation is hard
There’s only one hard thing in Computer Science: human communication. The most complex part of cache invalidation is figuring out what the heck people mean with the word cache. Once you get that sorted out, the rest is not that complicated; the tools are out there, and they’re pretty good.