A Java, Go or Python program does not free memory manually: it trusts a garbage collector (GC). Its job is to find the objects that are no longer in use and reclaim their space. The hard part is not f...
When you search on Google, the engine does not compare individual words: it compares meanings. Behind that ability sits a piece of software that has moved from the lab to production in just a few year...
In a distributed system there is no “single queue” letting nodes find out what is happening. Each server only knows a handful of neighbors, and no central authority tells them who has just...
In a distributed system there is no “single queue” letting nodes find out what is happening. Each server only knows a handful of neighbors, and no central authority tells them who has just...
Scaling a cache or a database to several servers seems easy: you split the keys across nodes and you are done. The problem arrives the day a node goes down, or you add a new one, and with the naive sp...
That your database answers in milliseconds is not magic: it is a tree called B+, a data structure that rearranges your rows so that the disk is read the absolute minimum. It is arguably the piece of s...
When an online shopping cart, an industrial sensor or your click history leaves a trace in almost any modern architecture, the message almost always ends up in the same place: an append-only log. That...
A request to a modern API is rarely answered by a single program. It enters through a load balancer, passes an authentication gateway, calls three or four microservices, each one queries its own datab...
A zero-knowledge proof is a cryptographic protocol with an almost paradoxical promise: proving to another party that a statement is true without revealing anything beyond the truth itself. This is not...
For more than two decades, every time you opened a website you were using almost the same protocol designed back in the 1970s. TCP and HTTP/1.1 got the job done, but at the cost of time and resources:...
When several computers cooperate as a single system —a cluster— the biggest problem is neither speed nor storage: it is making all of them reach the same conclusion. If one node says the new value is ...
For years the web had a single verb: ask and wait. You opened a page, the server answered, and the conversation was over. But chat, live quotes, notifications, or collaborative boards need something d...












