99 · Closing — The Tower, Seen Whole
This chapter is the roof — the place to stand when the climbing is done, and the map handed back on the way out.
What does the whole tower look like — and how does one person climb it?
Press send.
A message to a friend on another continent: one tap of a thumb. The interface that took the tap is a sheet of glass whose every apparent edge and button was drawn there by hand, a signifier standing in for an affordance the glass does not have (13). The app that acted on it was written in a notation built for people to read, then lowered — stage by exact stage, each one easy because the one before made it easy — to instructions no person will ever see (06). It ran as one process among hundreds on a machine that lies to each of them, carefully, about how many machines there are (05), and the instructions executed on billions of switches that do not know what a number is, arranged so that arithmetic appears in the arrangement itself (04). The message became bits — units of surprise, priced by a theory that refuses on principle to ask what they mean (03) — and was cut into packets that found their own separate ways across a network nobody owns, carried by senders who slow themselves down voluntarily so that strangers can also talk (09). It traveled encrypted, under mathematics that lets two people who have never met agree on a secret in a room full of eavesdroppers (11). At the far end it landed in a database that wrote its intention to a log before touching the data, so that a power cut between any two instructions could not make it lie (08), on replicas that cannot agree what time it is and have protocols for agreeing on things anyway (10). A model grown from data, its skill written down by nobody, decided the message was worth showing (12). And under the whole descent the bedrock held: everything that happened was computable, cost what the mathematics of cost says it must (02), and stayed inside the fence drawn in 1936, before any of these machines existed (01).
One tap; every floor. And no one who touched the message on its way — no author of any layer, however expert — holds all of it in mind at once. Chapter 00 said that this is not a failure of education but the design. Fifteen floors of descent and ascent later, the sentence should read differently: it is the achievement. The tower stands because each floor is a real language, precise on its own terms, and because the people on each floor could afford to take the floors below on trust.
Seen from the roof, the whole building repeats three refrains. Each floor hides machinery and offers a surface simpler than what it conceals — that is the one trick, performed fifteen ways. Every surface leaks, and expertise in computing is mostly a nose for which floor a leak is coming from — the slow loop that is really a memory problem (04), the "saved" file that is really a directory-entry problem (05), the hijacked route that is really a trust problem (09). And two of the shafts running through the building are not floors at all but stairwells: the adversary (11) and the learner (12) enter on every level, which is why no floor can be finished without them. The roof itself is unfinished — wet concrete, open problems, an energy bill newly due (14) — and the bedrock is still being argued over (01). A building like that is not a monument. It is a construction site that happens to be inhabited.
The thirty-day route
The route below assumes what every chapter assumed: intelligence, and no coursework. Two days per floor. On the first day, reread the chapter with its primary source open beside it — the sources were chosen because they are readable, and reading Turing or Shannon in the original is the fastest cure for the belief that foundations are beyond you. On the second day, put a hand on the real thing. Every resource here is canonical in its field and free; the links were verified as this book went to press. Two hours a day for a month will not make anyone an expert. It does something better: it makes every floor a place you have stood, so that nothing in computing is a rumor to you anymore.
| Days | Floor | The two days' work |
|---|---|---|
| 1–2 | 00 The Map | Reread ch. 00. Then start the lower tower for a general reader: Petzold's Code companion (codehiddenlanguage.com) and the Nand2Tetris materials (nand2tetris.org) you will use on days 9–10. |
| 3–4 | 01 Theory of Computation | Turing 1936, §9, with ch. 01 as guide (PDF); then the Church–Turing entry in the Stanford Encyclopedia (plato.stanford.edu). |
| 5–6 | 02 Algorithms & Data Structures | MIT OCW 6.006, first lectures (ocw.mit.edu); implement one divide-and-conquer algorithm by hand and time it against the naive version. |
| 7–8 | 03 Information & Coding | Shannon 1948, Part I (PDF); then MacKay's opening chapters (inference.org.uk). |
| 9–10 | 04 Computer Architecture | Nand2Tetris projects 1–3: from a single gate to an ALU. Arithmetic will appear in the arrangement, under your own hands. |
| 11–12 | 05 Operating Systems | OSTEP, the virtualization dialogues and intro chapters (pages.cs.wisc.edu/~remzi/OSTEP); list the processes on your own machine and find what each one is lying about. |
| 13–14 | 06 Languages & Compilers | Crafting Interpreters through the scanner and parser (craftinginterpreters.com) — a compiler's tower, built floor by floor in your editor. |
| 15–16 | 07 Software Engineering | Software Engineering at Google, chs. 1–2 (abseil.io); put something of your own under version control and write one test that would catch you changing your mind. |
| 17–18 | 08 Databases | Readings in Database Systems (redbook.io); then write ten SQL queries against any real dataset and let the optimizer route them. |
| 19–20 | 09 Networks | Computer Networks: A Systems Approach, ch. 1 (systemsapproach.org); then Jacobson & Karels 1988 (PDF) — the network that ate itself, and the fix your phone still runs. |
| 21–22 | 10 Distributed Systems | Lamport 1978 (podc.org); then van Steen & Tanenbaum, ch. 1 (distributed-systems.net). |
| 23–24 | 11 Security & Cryptography | Cryptopals, Set 1 (cryptopals.com) — break real ciphers with your own code; Handbook of Applied Cryptography, ch. 1 (cacr.uwaterloo.ca/hac). |
| 25–26 | 12 AI & Machine Learning | Karpathy, Neural Networks: Zero to Hero, first two lessons (karpathy.ai) — build backpropagation yourself; Deep Learning as the reference shelf (deeplearningbook.org). |
| 27–28 | 13 HCI & Graphics | Nielsen's three response-time limits (nngroup.com); Physically Based Rendering, ch. 1 (pbr-book.org); then take one interface you use daily and separate its affordances from its signifiers. |
| 29–30 | 14 The Frontier | Quantum Computing for the Very Curious (quantum.country); the Millennium Problems (claymath.org); then write your own list of open questions. That list is the exam, and you grade it. |
The license to be curious
There is no credential for what this book assumes, and none for what it hopes to leave behind. The people in these chapters mostly did not wait for one. A student refuted his professor's conjecture within a week of hearing it (02). An engineer, tired of losing his weekends to a machine that could detect errors but not fix them, invented the codes that let machines repair their own mistakes (03). An operating system that runs the world's servers was written in a month because the budget refused anything larger (05). A psychologist's word for what a chair offers a body became the working vocabulary of every screen you touch (13). None of these people had permission in any form that mattered. They had a question they could not put down, and the nerve to believe the question was theirs to ask.
That is the license, and it was never anyone's to grant. What this book has tried to supply is only the map that makes the license usable: the names of the floors, the load-bearing ideas on each, the places where the surfaces leak, and the honest admission — chapter by chapter — of what nobody knows yet. The fences that matter (01) are drawn by mathematics, not by gatekeepers. Everything inside them is climbable, and the chapters above have shown that each floor, met on its own terms, is not just climbable but simple — one or two ideas, held with precision, doing all the work.
Chapter 00 ended its tour with a child dragging a photo across a screen, commanding billions of switches with one finger and needing to understand none of them. That is the tower working. But needing was always the wrong measure. Wanting to understand is another matter entirely, and wanting to is the whole of the license. The concrete at the top is still wet. The stairs are lit. Climb.
จบเล่มThe Tower of Abstractions — An Encyclopedia of the Computing Disciplinesกลับหน้าหนังสือ