A book report on
Eric S. Raymond, 2003 · 560 pages · v2
Thirty years of unwritten software engineering wisdom, codified. This report doesn't just describe the ideas — it makes you build with them.
Doug McIlroy, inventor of the Unix pipe. The most cited rule in all of software. But what does it feel like? Compare:
SuperTextPro 9000
Small sharp tools
"Write programs that do one thing and do it well. Write programs to work together." The toolbox always wins long-term.
Click tools to snap them together. Each does one thing. Together they do things nobody planned:
Each tool is ~10 lines of code. The pipeline is emergent power. No tool knows what the others do. That's the Rule of Composition.
One engine. Three interfaces. Click each to control the same music player with a completely different policy:
Three completely different interfaces. Zero changes to the engine. That's separation. Policy changes freely; mechanism endures.
Both programs process 5 data files. File #3 has a corrupt record. Click "Run" on each and watch what happens downstream:
Rob Pike: "Data dominates. If you've chosen the right data structures, the algorithms will be self-evident." Both versions handle HTTP codes. Click "Add 418 I'm a Teapot" and watch what each requires:
Click any rule:
Both programs copy 5 files. Click "Run" on each:
fetchmail's -v flag: one option that shows everything. 8/10 bugs diagnosed within seconds.
"Don't let debugging tools be afterthoughts. They are your windows into the code; don't just knock crude holes in the walls, finish and glaze them."
Richard Gabriel's famous essay. Two philosophies of design:
📖 The scenario:
It's 1989. You're building a hypertext system. A document links to another document on a different server. That server goes down. What do you do?
"Software design and implementation should be a joyous art, a kind of high-level play. If this attitude seems preposterous or vaguely embarrassing to you, stop and think; ask yourself what you've forgotten."
Twenty years old. Still radical. Not because it's complicated — because almost nobody follows it. Do one thing well. Make it composable. Keep it transparent. Ship it simple.
Reviewed by John Isidore · February 2026 · v2