About Semicolony

Semicolony explains how the systems behind software work: databases, networks, operating systems and distributed systems. It is written for working software engineers, for people preparing for system design interviews, and for anyone who wants to know what happens after a request leaves the browser.

The site is written and maintained by one backend and distributed systems engineer. It is free to read and needs no account.

The four sections

  • Codex

    Study paths on databases, networking, operating systems, distributed systems, languages and more.

  • How it works

    Explanations of one system at a time, such as DNS, TCP, Kafka or a load balancer.

  • Simulators

    Models that run in the browser, so you can watch a B-tree split or a Raft election happen.

  • Roadmaps

    Suggested reading orders for backend, system design, DevOps, security and other roles.

How pages are written

The rules every page is written and kept to.

  1. 1
    Sources are named

    Guides start from primary material: the RFC, the paper, the project’s documentation or its source code. Pages link to what they used.

  2. 2
    Numbers are real or labelled

    A figure for latency, throughput or failure rates either links to where it came from or says it is a rough estimate. Every number a simulator shows is computed by the simulation itself.

  3. 3
    Dates come from the edit history

    Pages show when they were first published and when they last changed, both read from the site’s git history. Typo and layout fixes do not change the date.

  4. 4
    Mistakes get fixed

    Select text on any article and a “Suggest a fix” button appears. Corrections are read and, when they hold up, the page is updated.

  5. 5
    Everything runs in your browser

    There are no accounts. Simulators run in the page, and reading progress is kept in your browser’s local storage.

How the site is paid for

The site shows no ads and has no paywall at the moment. Hosting is paid for out of pocket. Ads from Google AdSense may be added later; if they are, they will be labelled, placed between sections rather than inside a simulator or a code sample, and there will be no pop-ups or autoplay video.

The privacy policy lists what analytics and advertising collect and how to opt out.

Contact

Email hello@semicolony.dev, or corrections@semicolony.dev for mistakes. The contact page covers removal requests and other questions. The site is also on X as @semicolonydev.