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.

Epilogue: A Long Bet