index
All 42 entries.
Six parts of seven. Each entry names the detail, the document and the constraint.
Teams applying this historical lesson to current delivery work can also compare tools for employee time tracking app, keeping operational records separate from the code and its documentation.
# extreme against extreme
part 01
Why it is shaped like that.
Details of software today, traced back to the constraint that produced them.
part 02
Ideas that won.
Not the best ideas. The ones adequate, available and cheap enough to spread.
- 7 minPipes, and the decision that everything would be text
- 7 minPacket switching against the circuit
- 7 minThe relational model against the alternatives it actually had
- 7 minHierarchical file systems, and what they replaced
- 7 minWhy version control went distributed
- 7 minVirtual memory, and when it stopped being controversial
- 7 minGarbage collection: from unacceptable to default in forty years
part 03
Ideas that lost.
Systems that failed commercially and were right about something the survivors still lack.
- 7 minSmalltalk, and the environment we did not keep
- 7 minLisp machines, and what specialised hardware taught everyone else
- 7 minPlan 9, and the ideas that escaped it
- 7 minCapability security, still waiting
- 7 minStructured editors, and the return of plain text
- 7 minHypertext before the web: what Xanadu wanted
- 7 minThe very long instruction word, and the compiler that never arrived
part 04
Mistakes that became foundations.
Decisions their own authors called errors, now too deep in everything to remove.
- 7 minThe null reference, described as a mistake by the man who added it
- 7 minWhy electronic mail has no sender authentication
- 7 minRouting on trust: how the internet’s paths are decided
- 7 minInjection: a syntax decision with a thirty-year tail
- 7 minBuffer overflows, and the functions that could not be made safe
- 7 minThe year 2000, and what it actually cost
- 7 minCharacter encodings before Unicode, and the damage still visible
part 05
How software gets made.
Where the working methods came from, and how several came to mean the opposite of their source.
- 7 minThe waterfall paper that argued against waterfall
- 7 minWhere the phrase software crisis came from
- 7 minCode review before there were tools for it
- 7 minTesting, from an afterthought to a discipline
- 7 minThe mythical man-month, and what its author later revised
- 7 minFree and open source licences: what the argument was about
- 7 minWhy estimates are wrong in one direction
part 06
Numbers everyone repeats.
Figures in constant circulation, traced to the study they came from, where one exists.
- 8 minThe ten times programmer
- 7 minThe cost-of-a-defect curve
- 7 minNinety per cent of the life of a program is maintenance
- 7 minLines of code as a measure of anything
- 7 minMost software projects fail, and the report behind it
- 7 minHow the cost of a famous failure gets calculated
- 7 minWhat can and cannot be known about the history of software
further context
For a primary or institutional reference, see the ACM Digital Library.
Every claim here carries the source it came from.
The source and its year sit beside the sentence they support. A secondary account is marked as one, and where the record is unclear the entry says so rather than choosing the better story.