How databases, networks and distributed systems work

Semicolony is a set of articles and simulators for software engineers. Each article covers one system, such as Raft, Kafka, Git or a B-tree, and most have a simulator next to them where you can change the inputs and watch the result. Everything runs in your browser.

Browse the Codex Open the simulators

What happens when you press Enter? A favourite interview question, answered one stop at a time. Each stop has an article, and most have a simulator.
  1. DNS Turn www.example.com into an IP address
    Simulator
  2. TCP Open a connection with a three-way handshake
    Simulator
  3. TLS Check the certificate and agree on keys
  4. Load balancer Pick one of many servers to handle it
    Simulator
  5. Cache Answer from memory if it can
    Simulator
  6. Database Find the rows through an index
    Simulator
  7. HTTP response Send the page back to the browser
    Simulator

…and the browser draws the page. All guides

Four ways in

Codex 476 pages

Long-form study paths, from distributed systems and databases to Kubernetes, Linux and language guides.

How it works 44 guides

One guide per system, in the order things happen, with a link to a simulator where there is one.

Simulators 87 simulators

Models you can change and break: adjust the inputs, take a server down, let time pass, and see what the system does.

Roadmaps 8 roadmaps

Reading orders that string the guides, simulators and Codex pages together for one kind of job.

Try one here

This is a least recently used (LRU) cache with room for three keys. Get a key that is already in it and it moves to the front. Get a new one when it is full and the key at the back is thrown out. Try A, B, C, then A, then D.

The full LRU simulator shows the hash map and linked list behind it, and compares LRU with the best possible policy.

Most recentEvicted next

Press a key to get it from the cache.

0 hits, 0 misses

Simulators rebuilt from scratch

Every number and log line in these comes from the simulation itself, and each comes with a full article.

Guides, by layer of the stack

44 guides, each about one system. See them all with descriptions.

Codex study paths

Long-form pages grouped by subject. The number is how many pages each path has.