Archive for August, 2007

A Fire Upon the Deep

Tuesday, August 14th, 2007

A Fire Upon the Deep is a space-opera written by Vernor Vinge. Let me start by saying that I read this book several years ago, and it happens to be one of the few sci-fi novels that I recommend to friends. Vernor Vinge is a very intelligent Computer Scientist, and some of his ideas that he has written about impacted this novel greatly. For instance, Prof. Vinge wrote a great paper on his idea of the technological singularity–a point at which artificial intelligence will be able to surpass human intellect. His prediction of this event impacts by the book to such an extent that Vinge needed to augment physics with a concept where galaxies are composed of zones of thought; the unthinking depths, where virtually nothing works, a slow zone (which contains Earth) where faster than light travel is unable to function, and artificial intelligence is primitive, the beyond where FTL works and artificial intelligence works decently, and finally the transcend where artificial intelligence can attain God-like cognation. A person may sit back and think that this all sounds like bullhonky (which it is, this is fiction after all), but in the books world mass seems to have a property that interferes with processes. The less mass, the less interference upon something. So as you get away from the galactic core things work better and better.

Now, with that said, this story opens with a crew from a Human planet called Straumli Realm attempting what is by this time an old field called software archeology at the fringes of the beyond; right next to the transcend. They’re attempting to harvest all of the data from a very old space station, when something in the computer systems wakes up, and purges these far-future archaeologists. A small ship manages to escape and darts way down to the slow zone to try and flee this Minsky’ian menace. The story then cuts to Ravna who works for a corporation at a relay station. There is at this point in time a galaxy wide network based upon Usenet. At this point a rather benign AI called “Old One” starts using most of Relay’s bandwidth, and asks Ravna to accompany it back up to the Transcend. Ravna refuses, citing a fear of being locked in a Deathcube (read Vinge’s short story: The Cookie Monster for more on this), so Old One reconstructs a human from a stockpile of cargo that Ravna’s company happens to have on hand: enter Pham Nuwen. My synopsis is now over, I don’t wish to spoil the book.

If you thought any of that was neat, you’re in for a treat–I left out all of the alien species, everything about Pham, and I didn’t even touch on what happened to that escape ship! I suggest you go to your local bookstore and purchase this book right away. 5/5

Dreaming in Code

Tuesday, August 7th, 2007

Dreaming in Code by Scott Rosenberg is the true story of a run-away software project called Chandler. The initial premise of the book was to be a biopic, from beginning to end, of a revolutionary software project headed by Mitch Kapor who was the head of Lotus Development back in the 80’s, at his new organization: Open Source Application Foundation (OSAF). The project itself, Chandler, was to be a Personal Information Manager in the vogue of Microsoft’s Outlook–except much much cooler. All data was to be stored in one gigantic repository, allowing users to massage their data around. Emails could be marked as Calendar events, notes could be attached to any item, dates and such would be inputted using natural language, such as “Dentist appt. next Tuesday”, and the program would figure it out, and best of all–the whole project would work peer-to-peer, allowing you to share any and all data that you wished with others.

This all sounds great on paper, but one must take into account that programming is tough, and coming to a consensus in a design-by-committee atmosphere is nearly impossible. Long story short, OSAF started programming without coming up with proper specifications; they were coming up with prototypes when they should have split into sub-groups and designed each module and gotten to work coding the real program. As I said before, there was very little consensus on the overall design–for instance, they decided to work with the Python programming language, and wxPython which is a graphical widget library. After a year of hard work, they were still wishy washy about using Python/wxPython and nearly ditched everything to start over using Mozilla’s widget toolkit. Yet they were wishy washy about that and almost made it completely web-based, using AJAX to make it Google-style. This was a year into the project!

As an aside, the book got me interested in using Chandler, so I installed their latest release (0.7a5) and tried it out. The program looks promising, but is definately not near their 1.0 release. The Calendar seemed to be working, as well as the notes–but I couldn’t get it to download my email. Chandler would connect up okay, but it just wouldn’t download anything. I will definitely give this project another shot when it hits 1.0.

Anyway, this was a terrific read, and is more than just about Chandler. Rosenberg covers Software Engineering as a field, discussing why things are still so tough even though it’s been emerging for the past sixty years. Rosenberg also discusses The Mythical Man Month at length–citing IBM’s old projects, and how the same issues arose back in the 60’s/70’s as they do now. All in all, this was a terrific read, and if you liked The Soul of a New Machine by Tracy Kidder, you will love this. 5/5