Nine Algorithms That Changed the Future — the read-through begins
I'm starting a small ritual. Read one chapter a day of John MacCormick's Nine Algorithms That Changed the Future, and write a short piece on each. Not a review — a read-through. My notes on what struck me, plus the part a 2011 book can't do from here: where each of these algorithm classes came from, and where it has gone since.
So far I've read the foreword and the introduction, which is why today's piece is the setup rather than the first algorithm. The nine begin tomorrow.
The premise
MacCormick's argument is simple and a little thrilling: a handful of algorithms run quietly underneath almost everything we touch — the search box, the padlock in the browser, the download that arrives uncorrupted, the photo that gets recognized — and these ideas are genuinely profound and yet explainable to anyone, without heavy mathematics. They're the great ideas of computer science, hiding in plain sight. The introduction sets the bar he's chasing: a 'great' algorithm should be something millions of people use every day, rooted in real depth, and graspable with ordinary intuition.
That framing is the hook for me. I spend my days on the mathematics underneath models; this is a chance to trace the other lineage — the engineering ideas that made computing usable — and to hold each one up to 2026 light.
The nine, at a glance
Here's the tour ahead, and the angle I'm bringing to each: not just how it worked when the book was written, but the history that produced it and the modern methods that grew out of it.
- Search-engine indexing — the inverted index, and the road to BM25, dense vector search, and retrieval-augmented generation.
- PageRank — the random surfer as an eigenvector, and the move to learning-to-rank and graph machine learning.
- Public-key cryptography — Diffie–Hellman and RSA, now bracing for the post-quantum era.
- Error-correcting codes — Hamming and Reed–Solomon, now LDPC and polar codes carrying 5G.
- Pattern recognition — the seed of today's deep learning and foundation models.
- Data compression — Huffman and Lempel–Ziv, now arithmetic coding and learned compression.
- Databases — the relational model and ACID transactions, now distributed SQL and vector stores.
- Digital signatures — trapdoors and trust, now the public-key infrastructure under the whole web.
- What is computable? — Turing's halting problem: the one chapter about what no algorithm can do.
Why I'm doing this
Two reasons. First, I learn by reconstructing and teaching — writing the explanation is how I find the holes in my understanding. Second, I want the long arc: each of these classes has a fifteen-year (or seventy-year) story, and the book is a perfect spine to hang that history and the modern state of the art on. A chapter a day keeps it honest and finishable.
Each piece will follow the same shape: my take on the chapter, the algorithm class in a modern light, a little historical context, and a short further-reading trail.
How these pieces are written
Tomorrow: the first of the nine — search-engine indexing, from the inverted index to the vector search humming under today's AI.