Dreaming In Code: two dozen programmers, three years, 4,732 bugs,
and one quest for transcendent software by Scott Rosenberg
Rating(1-10): 10
Overall Summary
The author worked with an open source project, lead by Mitch Kapor, called Chandler.
He talks about the project and interweaves many interesting issues in software
development. The book is very well written and a joy to read. I loved it. In the
notes below I mainly listed the topics he covered.
Chapter Summaries
0: Software Time
Hello, World. Starting counting with 0. Our civilization runs on software (Bjarne Stoutstrup).
Software is a heap of trouble. Fred Brooks "No Silver Bullet"
1: Doomed
Bugs. Difficulties in estimating time. Dragons -> Snakes (software problems). Slippage.
The Mythical Man-Month. Brook's Law: adding people to a late project makes it later.
How the need for communication caused delays. Can open source repeal Brook's Law?
Open source movement. Richard Stallman. Linus Torvalds. GNU. free speech versus free beer.
2: The Soul of Agenda
peer-to-peer. open source. linux. Linus Torvolds "benevolent dictator for life".
Vannevar Bush and memex. Doug Engelbart and NLS. chord keyset. bootstrap loader.
bootstrapping. FBI computer failures. Other failed projects.
3: Prototypes and Python
how to organize things. semantic web. RDF triples. software layers of abstraction.
Guido van Rossum and python (from Monty Python). interpretive languages and
scripting languages. perl. static and dynamic typing. garbage collection.
object-oriented programing. web-based programs. CVS.
4: Lego Land
data sharing issues. build or buy? reusability in programming. standardized plug-in parts.
manufacturing versus hand-crafting. Brad Cos. Perl CPAN modules. "yet another ..."
silos.
5: Managing Dogs and Geeks
cheap, fast, good: choose two. Or: time, money, features.
managing programming. lines of code as a productivity
measure. bug counts. Fred Brooks. The Mythical Man-Month. SWAG (silly, wild-assed guess).
Software Engineering Institute. geek. "The Cathredral and the Bazaar" by Eric Raymond.
43 Folders company. RTFM. programmers have asperger"s? Gerald Weinberg and "The
Psychology of Computer Programming" Ward Cunningham. wikis. Christopher Alexander.
"A Pattern Language"
6: Getting Design Done
who should design software? big-bang versus continuous build integration.
7: Detail View
The "spec". Charles Simonyi. Hungarian notation.
8: Stickies on a Whiteboard
"eat your own dogfood" (use your own software) WebDAV.
9: Methods
software process. Edsgar Dijkstra "Go To Statment Considered Harmful"
spaghetti code. modular programming. structured programing. how much planning?
More on Fred Brooks. Watts Humphrey. SEI's CMM. Patterns, waterfall model. RAD.
lightweight methodologies. agile development. extreme programming. Joel Spolsky.
37 Signals company. Ruby on Rails.
10: Engineers and Artists
software engineering. Charles Simonyi and intentional programming.
software levels again. lisp. Alan Kay. late binding. smalltalk. John Backus.
Jaron Lanier. "Hello World" programs. David Parnas and SDI. Bill Joy.
Richard Gabriel. Don Knuth. Comments
11: The Road to Dogfood
Recursion. self-reference. "Godel, Escher, Bach" Alan turing. the halting problem.