This item is currently not available. If you have this item,
Join and post it to share with others.
In the 80s, Tracy Kidder'sThe Soul of a New Machineattempted to define the story of the development of a minicomputer: from the new science to the business and nascent culture of electronic hardware and software that was characteristic of that time. Scott Rosenberg'sDreaming in Codedraws on Kidder's model as it attempts to document the state of software, the Internet, and everything circa 2006 through the lens of Chandler, an as-yet-unfinished software application for the management of personal information.
The Chandler project--driven by Mitch Kapor, the founder of Lotus Development and main author of its 1-2-3 spreadsheet, and later co-founder of the Electronic Frontier Foundation--isn't the primary point ofDreaming in Code, though reading about software people and their social behavior is at least as interesting as reading about that of meerkats or monkeys. Rather, Chandler is a rhetorical device with which Rosenberg takes on the big questions: How do software development teams work (or not)? Why does the reuse of software modules rarely work altogether correctly? Does open-source development by volunteers on the Internet lead to innovation or just insanely bifurcated chaos? Chandler helps his readers think more clearly about all of these issues; however, "answers" to these questions are, of course, not to be had, which is one of his points.
The problem with books about technical subjects that aspire to appeal to a general audience, particularly computers and software, is that such subjects are so far outside the realm of familiarity of most people that the prose bogs down in analogy and metaphor. Rosenberg manages to avoid too much of that and deliver a readable account of software development and culture.--David Wall
People write software -- here's the story of a team Engineering is a human activity, practiced by individuals and teams of people. Too few books talk about the people and how they worked together to build something new. This is the best book about computer engineering since "The Soul of a New Machine" a generation ago. It follows a team on an ambitious open source project and shows who writes great software, and the satisfactions that make them work hard to do a difficult job well.
Book mirrors the lack of focus that dogs Chandler When I picked up Dreaming in Code, I had never heard of the personal information manager (PIM) program called Chandler. What a fascinating disaster! With industry luminaries including Mitch Kapor and Andy Hertzfeld working on this open-source project, one would expect an incredible product to be born from their efforts. Sadly, the Chandler program described in the book -- a freeform calendar / PIM -- seems terrifically under-whelming.
The seeds of disaster are sown at the project's inception where lack of focus is the rule rather than the exception. Ironically, this book about Chandler suffers from the same malady of not knowing what it wants to be. On one hand, Dreaming in Code attempts to cater to a very general audience with explanations of basic programming concepts such as the use of a variable. At the same time, the book addresses the primary reading audience of developers with interesting technical details sure to baffle the layman. If it didn't try to please everyone, Dreaming in Code would be much better.
Despite the focus problems, the writing itself is first rate and I found myself impressed several times with the author's ability to render a complex, complicated subject in an understandable manner. The book also does an excellent job of creating excitement around a project that is neither very intriguing nor, perhaps, ever to be released in a usable form (as it hasn't at the time of this writing).
If you are a developer, you will find anecdotes and digressions of interest. Many of the foibles of software project development will be familiar. For a general audience, though, there isn't much that will keep your attention. An Inside Look At Software Development Project I took my daughter to the library a couple of weeks ago. As we were walking toward the checkout line, I realized that I needed something to read, too, and looked at the books on the nearby "New Arrivals" stand. A title "Dreaming in Code" caught my attention. Brief look at the back cover confirmed that the book was indeed about software development. A non-technical book on software development written by a journalist? You don't see that every day. I borrowed "Dreaming in Code" from the library and I'm certainly glad I did.
After spending over a decade in the industry I knew from experience that most software projects are delivered either late, way over budget, or with significantly reduced features. I have read "The Mythical Man-Month" and understood that there are dark forces at play. Still, deep in my heart I believed that somehow somewhere exists a group of people that knows exactly how to avoid all common project pitfalls. Wouldn't it be great to learn who they are and how they do it?
Scott Rosenberg's book follows the life of one project launched in the heart of Silicon Valley by none other than Mitchell Kapor, creator of Lotus 1-2-3. The idea was to create a revolutionary personal information manager that would also be cross-platform and open-source. Kapor personally financed the venture, so there was no pressure from the "suits". Some of the brightest programmers started to work for Open Source Applications Foundation. And yet the project (code-named "Chandler") had its share of disappointments, delays, and trade-offs. Six years from launch, it is currently at version 0.7 alpha 4 which contains only the calendar (original vision also includes email, tasks, notes, and contact management).
"Dreaming in Code" is much more than a chronicle of Chandler and OSAF, though. It weaves into its storyline short essays that introduce reader to concepts like open-source development, structural and object-oriented programming, methodologies such as capability maturity model and agile. The book contains quotes from Engelbart, Raymond, Knuth, Brooks, Dijkstra, and many many other outstanding people. I guarantee you will learn something by reading it.