The Pipe: Doug McIlroy’s One-Line Philosophy Made Real
The Unix pipe (|) is so fundamental it's easy to forget someone had to invent it. That someone was Doug McIlroy, who in 1964 sketched a memo proposing that programs should be able to pass output directly to other programs, like water through a garden hose. It took nearly a...
Read Moredd: The Disk Destroyer Wearing a Utility’s Clothes
dd — the Unix raw data copying tool — has been cheerfully obliterating disks since Version 5 Unix in 1974. Its syntax is unique among Unix commands: not dd source destination like any sane tool, but dd if=source of=destination bs=blocksize — a relic of IBM Job Control Language that crept...
Read MoreBSD Sockets: The API That Time Forgot to Replace
The BSD socket API arrived in 4.2BSD in 1983, giving C programmers a uniform interface for network communication. Its designers could not have anticipated that their creation would still be the foundation of essentially all network programming forty-plus years later — on Linux, macOS, Windows, embedded RTOS firmware, and everything...
Read MoreINTERCAL: The Language Designed to Be Unusable
In 1972, Princeton students Don Woods and James Lyon created INTERCAL — the "Compiler Language With No Pronounceable Acronym" — explicitly as a parody of every design decision in contemporary programming languages. It features operators called PLEASE, IGNORE, and FORGET; requires programmers to use PLEASE often enough to satisfy the...
Read MoreThe Shebang: Magic Two Bytes That Launch Your Scripts
The shebang — those two characters (#!) at the top of every shell script — is one of Unix's more understated pieces of elegance. When the kernel encounters a file starting with #!, it reads the rest of the line as the path to the interpreter and hands the script...
Read MoreGOTO: The Statement That Launched a Thousand Flame Wars
In 1968, Edsger Dijkstra published a letter titled "Go To Statement Considered Harmful" in Communications of the ACM, politely suggesting that unrestricted GOTO statements made programs impossible to reason about. The response from practicing programmers was approximately what you'd expect if someone suggested they were holding their keyboard wrong. GOTO...
Read More



























