Modern Software Tools, Explained Back to Home
Ideas that drive modern software tools, explained in code for working programmers

Modern Software Tools, Explained

These explainers are about the concepts behind the tools programmers use every day: how they work, why they are designed the way they are, and what tradeoffs they make. Each page combines diagrams, small simulations, and runnable JavaScript so the explanation and the mechanism stay close together.

Data structures

Think in arrays, not in loops

APL’s core ideas: rank, shape, broadcasting, reduce, and tacit composition, translated into runnable JavaScript.

Rank & shape Reduce / Scan Tacit style
Storage Systems

Filesystems and B-Trees

A practical guide to why B-trees matter for disk-backed systems, including search, splitting, deletion, and a miniature filesystem built on top of a B-tree.

Data structures Filesystems Disk I/O
Editor Internals

Ropes and Piece Tables

The text-buffer structures behind modern editors, covering gap buffers, ropes, piece tables, undo history, and line-oriented access.

Text editors Data structures Runnable code
Compilers

How a compiler compiles itself

Self-hosting compilers, bootstrap stages, Squeak Smalltalk's image-based development model, and Ken Thompson's trusting-trust attack.

Self-hosting Bootstrapping Smalltalk
Compression

The Compression Game

Shannon entropy, Huffman coding, LZ77 back-references, and the way gzip combines both into a practical lossless compressor.

Information theory Lossless compression Runnable code
Compression

How JPEG Works

Color transforms, chroma subsampling, DCT, quantisation, zigzag order, and the block-level mechanics behind practical lossy image compression.

Image compression DCT Runnable code
Theory of Computation

What can be computed at all?

Hilbert, Gödel, Turing machines, the halting problem, decidability, reductions, and the complexity jump from computability to P vs NP.

Computability Halting problem P vs NP
Programming Languages

Two Languages That Broke the Rules

Lisp and Forth: homoiconicity, eval, closures, macros, stacks, concatenative programming, and the idea that the language itself is malleable material.

Lisp Forth Runnable code
Interface History

The Great GUI Ideas

Memex, Engelbart, PARC, Xanadu, Raskin, the Xerox Star, HyperCard, and the design arguments that shaped - and narrowed - modern graphical interfaces.

GUI history Hypertext Interactive demos
Data Structures

The Balanced Bookshelf

AVL trees, red-black trees, ordered maps, and the situations where a balanced tree is a better fit than a hash table.

Ordered maps Self-balancing trees Runnable code
Data Structures

The Casino Data Structure

Skip lists, probabilistic balancing, Redis sorted sets, rank queries, and a full skip-list implementation in JavaScript.

Skip lists Redis Runnable code
Storage Engines

The Write-Heavy Problem

LSM trees, sequential write paths, MemTables, SSTables, compaction, Bloom filters, and the tradeoffs behind LevelDB, RocksDB, and Cassandra.

LSM trees Compaction Runnable code
Approximate Data

Good Enough Answers

Bloom filters, count-min sketch, HyperLogLog, and the engineering case for approximate answers when exactness is too expensive.

Probabilistic data structures Streaming Runnable code
Algorithms

The Practical Champion

Quicksort, partitioning, pivot choice, introsort, heapsort fallback, and the cases where the fastest in-memory sorter is not the right tool.

Sorting Introsort Runnable code
Algorithms

Sorting Bigger Than RAM

External mergesort, run generation, k-way merging, sequential I/O, and a simulated BinaryFile-based external sort in JavaScript.

External sorting Disk I/O Runnable code
Networking

The Reliable Network

How IP routes around failure, how TCP repairs loss with ACKs and retransmission, and why the Internet stays resilient by keeping the core best effort.

TCP/IP Reliability Runnable code
Security

The Two-Key Trick

How public-key cryptography solves the trust bootstrap problem online, with toy RSA, signatures, and the role these ideas play in TLS.

Cryptography Online security Runnable code
Security

How TLS Secures the Internet

The TLS 1.3 handshake, Diffie-Hellman, certificates, record encryption, forward secrecy, and the protocol machinery behind the browser padlock.

TLS 1.3 HTTPS Runnable code
Databases

Transaction Control from First Principles

Isolation, MVCC, write-ahead logging, and distributed commit, explained as one coherent story about correctness under concurrency and crash recovery.

Transactions Concurrency control Runnable code
Developer Tools

How Git Stores History

Blobs, trees, commits, refs, and the index: how Git turns immutable objects and movable pointers into cheap commits, cheap branches, and reusable history.

Git internals Content-addressed storage Runnable code
Distributed Systems

The Raft Consensus Algorithm

Leader election, replicated logs, quorum commits, and the safety rules that keep a cluster consistent through crashes and partitions.

Consensus Replication Runnable code