Get the latest tech news
Practices of Reliable Software Design
Table of Contents I was nerd-sniped. Out of the blue, a friend asked me, If you would build an in-memory cache, how would you do it? It should have good performance and be able to hold many entries.
On the other hand, sometimes a little up front analysis allow you to eliminate large portions of the design space before even writing a single line of code. Instead of a separate process, we can rely on the high request rate to trigger eviction of items, thus trading a little latency to avoid designing for concurrency up front. In isolation, each of these things is very simple (accept commands at cli, allow asserting previous read) but it’s the combination of them, together with the tools that already exist at hand (shell input redirection) that enables faster cycle times and thus more reliable software.
Or read this on Hacker News