18 Matching Annotations
- Feb 2021
-
hilton.org.uk hilton.org.uk
-
This is funny because it’s unexpected. Cache invalidation sounds like a hard thing, while naming sounds more straightforward. The joke works because it violates our expectation that hard things should be technical. It’s also funny because it’s true.
-
-
www.reddit.com www.reddit.com
-
It's difficult because it's a case-by-case basis - there is no one right answer so it falls into subjective arguments.
-
Space: Suppose we had infinite memory, then cache all the data; but we don't so we have to decide what to cache that is meaningful to have the cache implemented (is a ??K cache size enough for your use case? Should you add more?) - It's the balance with the resources available.
-
Time: Suppose all your data was immutable, then cache all the data indefinitely. But this isn't always to case so you have to figure out what works for the given scenario (A person's mailing address doesn't change often, but their GPS position does).
-
The underlying data might get changed by another process and then your process that uses the cache will be working with incorrect data
-
You have to guess when the data is not likely to be needed in memory. It can't be too short that the cache is useless, and too long that you'll get a memory leak.
Tags
- more than one right way (no one right/best way)
- trade-offs
- challenges
- balance
- cache invalidation is hard
- subjective arguments
- how recent/fresh/up-to-date does it need to be? 
- why is it difficult/hard?
- limited resources (computing)
- how good/perfect does it really need to be?
- caching
- cache invalidation
Annotators
URL
-
-
www.quora.com www.quora.com
-
-
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 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.
-
Cache invalidation is hard because: Everything in life we want to know, changes.Those changes are non-deterministic.
-
you began by first finding out if your crush was already in a relationship. If so, you then did what you could in your power to have the most most up-to-date information on their relationship status. The downside of outdated data is self-evident: you want to move in at the first sign of the current relationship dissolving.
-
Sometimes humorously extended as “cache invalidation, naming things, and off-by-one errors.”
Tags
- hard things in computer science
- generalized explanation
- deterministic
- nondeterministic
- trade-offs
- cache invalidation
- cache invalidation is hard
- main/key/central/essential/core thing/point/problem/meat
- computers
- good question
- good analogy
- everything changes over time
- funny
- good point
- knowledge
- excellent technical writing
- good explanation
- how good/perfect does it really need to be?
- why?
- where it shines / best application
Annotators
URL
-
-
www.computers.wtf www.computers.wtf
-
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.
-
-
www.honeybadger.io www.honeybadger.io
-
One reason Turbolinks sites seem faster than traditional web apps is because of its cache. However, the cache can be a source of great frustration. Many of the edge cases we're going to discuss involve the cache in some way.
-
- Jan 2021
-
redfin.engineering redfin.engineering
-
They say that there are only two hard problems in computer science: cache invalidation, naming things, and off-by-one errors. Caching is what Service Workers do. It’s literally the #1 hard thing! … or maybe the #0 thing? Whatever. It’s hard.
-