Think in arrays, not in loops
APL’s core ideas: rank, shape, broadcasting, reduce, and tacit composition, translated into runnable JavaScript.
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.
Ropes and Piece Tables
The text-buffer structures behind modern editors, covering gap buffers, ropes, piece tables, undo history, and line-oriented access.
How a compiler compiles itself
Self-hosting compilers, bootstrap stages, Squeak Smalltalk's image-based development model, and Ken Thompson's trusting-trust attack.
The Compression Game
Shannon entropy, Huffman coding, LZ77 back-references, and the way gzip combines both into a practical lossless compressor.
How JPEG Works
Color transforms, chroma subsampling, DCT, quantisation, zigzag order, and the block-level mechanics behind practical lossy image compression.
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.
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.
The Great GUI Ideas
Memex, Engelbart, PARC, Xanadu, Raskin, the Xerox Star, HyperCard, and the design arguments that shaped - and narrowed - modern graphical interfaces.
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.
The Casino Data Structure
Skip lists, probabilistic balancing, Redis sorted sets, rank queries, and a full skip-list implementation in JavaScript.
The Write-Heavy Problem
LSM trees, sequential write paths, MemTables, SSTables, compaction, Bloom filters, and the tradeoffs behind LevelDB, RocksDB, and Cassandra.
Good Enough Answers
Bloom filters, count-min sketch, HyperLogLog, and the engineering case for approximate answers when exactness is too expensive.
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 Bigger Than RAM
External mergesort, run generation, k-way merging, sequential I/O, and a simulated BinaryFile-based external sort in JavaScript.
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.
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.
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.
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.
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.
The Raft Consensus Algorithm
Leader election, replicated logs, quorum commits, and the safety rules that keep a cluster consistent through crashes and partitions.