There are only two hard things

Thu 26 June 2014

There are only two hard things in Computer Science: cache invalidation and naming things.

  • Phil Karlton

I’ve heard this statement for the first time about five years ago and I believe that not only it is true, but it has a grain of an even a bigger truth.

Naming things is hard but hardly new. Confucius followers are working on “Alignment of Names” to align the names they use with things’ proper meanings.

Cache Invalidation is a bit more technical: To speed server response time, websites use cache. The cache is a small, fast memory that temporarily stores results of complex, timely processes. The hard part with cache is that you have to invalidate it when new data changes the processes result. If you fail, the data loses touch with reality and you’re serving stale data. To stay sharp, the server needs to detect stale data and invalidate it and it’s not easy.

Our mind uses a cache and it’s very hard to invalidate it.

When I meet a friend do I really see him? Will I notice he has changed? Will I notice a new blister? A new religion? probably not.

We all carry stale caches in our minds. The stale part of the cache is made of miconceptions and cleaning it up is hard work. The internet can't help fs the mobile fire-hose of information is quite a distraction and I need to turn it down so my mind will have the cycles to work on trashing misconceptions.