My apologies to John Griffin, but after reading Linus Torvalds's autobiography Just for Fun: The Story of an Accidental Revolutionary, I feel that a better title for the book might be Dweeb Like Me. Not that being a dweeb, a geek, or a nerd is a prerequisite to enjoying it, but if you are dweeb, this book is for you.
Coauthored by David Diamond, the 262-page story of the best-loved geek in the world -- and the operating system he created -- will be available from HarperCollins Publishers Inc. in May.
The book reads like it was written by two authors. It begins with an "edgy" feel, sort of like Wired magazine. The preface, for example, is simply a transcription of a conversation about the book that took place between Torvalds and Diamond while on a drive from San Francisco to Los Angeles. The conversation is punctuated with interjections by Torvalds's wife Tove and their children, Patricia and Daniela. An example:
David: What do you want to get across in this book?
Linus: Well, I want to explain the meaning of life.
Tove: Linus, did you remember to fill the gas tank?
Just as in the pages of Wired, the presentation used in the preface gets in the way of the story. But hey, I'm an old dweeb and prefer a clean, well-lighted approach to storytelling rather than the edgy "noise for noise' sake" style. The preface's saving grace is that it does indeed reveal Torvalds's meaning of life: to have fun.
And speaking of differences in style, Torvalds does some excellent writing as he describes the inner nature of Unix as opposed to the heart of "ugly" systems, like Windows. Unix, Torvalds posits, is built upon six basic system calls, and from those calls any manner of complexity may be achieved. The point is that once you understand the six functions, you understand Unix. As he puts it, "One of the beauties of Unix is realizing that you don't need to have complex interfaces to build up something complex."
Other operating systems, like Windows, are just ugly: "An ugly system is one in which there are special interfaces for everything you want to do," Torvalds writes. He further illustrates the difference by comparing Unix to the 26 letters of the English alphabet, from which complex writings can be constructed, and Windows to Chinese, with its thousands of characters. You must use a complex interface to express even simple notions.
Most chapters -- the ones that appear to have been written by Torvalds -- reflect his plain-speaking style. They tell the real story of his growing up awkward and unskilled in the social graces, but with the redemption that comes from being known as the "math genius." They also tell the story of the birth of Linux. Both stories are told in the endearing style so familiar to his fans: he is proud and happy about what he has done, but not prideful. His voice is one of relaxed formality. Those sections of the book contributed by Diamond alone deal primarily with the story of how the book was written. It's a time-sliced, multithreaded autobiography, if you know what I mean, accentuated by the alternating voices of Torvalds and Diamond.
What Torvalds remembers best about his childhood is not his grandfathers, one a college professor and the other a hard-drinking journalist who wrote poetry on the side and fashioned the Torvalds family name from his own middle name. It's not his father, the communist and journalist, nor his mother, also a journalist. It is his first computer, a Commodore VIC-20. I did some serious dweeb bonding with Torvalds as he wrote about his VIC. As I read the account of his first computer, I remembered my own and how much I treasured that machine, a Trash 80 Model 1. I remembered how it changed my life, and how I've had at least one personal computer ever since.
Later in the book, when Torvalds writes about the terminal emulator he wrote -- that eventually morphed itself into Linux -- and describes getting close to the metal with low-level coding, I bonded some more. I thought of the public domain serial port driver I had hacked in order to write a BASIC program. It was a terminal program and a game, one that would deal the cards, count the tricks, and keep score while I played bridge with friends online. I'm not comparing my code with his; I'm simply saying that if you have hacked code, and bent it to your will, you're going to understand Torvalds.
I've long held to the notion that the best programmers are lazy. They construct programs with relentless efficiency chiefly to accomplish the most with the least effort. I picked up that notion from a boss of mine early in my career. Bob Smith owned a service bureau in downtown Dallas that did most of its work with punched cards and unit record equipment. Most of its customers were cotton traders. Smith had lost a leg in an accident as a young man, so he wore a wooden prosthesis. At the height of the cotton-trading season Smith would stand in the center of his machine room surrounded by collaters, card sorters, and two 402 accounting machines, plant that wooden leg and swirl on it as he grabbed a stack of cards from one machine and fed it to the hopper on the next. He kept both 402s clacking away with incredible efficiency. It was a sight to see. Later he explained that he had found the way to accomplish the task at hand with the absolute minimum of effort because he was lazy. He would look at me and grin and say, "All the best computer men are lazy."
Torvalds basically says the same thing as he describes himself as a "lazy bastard." Each time he does I nod with understanding. "Lazy" may seem to be entirely the wrong word to describe either man when you look at the results they have produced. But just as simplicity is the essence of Unix, the Rubic's Cube of computing, laziness is the guiding light of the best minds in computing.
The book is not exactly filled with personal tidbits from Torvalds's life, but there are nuggets to find along the way. Did you know, for example, that it was Tove who first suggested the penguin as the Linux mascot? Or have you heard the story of how she and Linus started dating? It's a pure geek love story. I won't spoil it for you here.
Torvalds's comments in the book about the Mach kernel, and his encounter with Steve Jobs, have gotten a lot of attention lately. More than they deserve in my opinion. He talks at greater length about Bill Joy and Sun, and puts even more effort into describing his views of Richard Stallman. Both the latter subjects are infinitely more interesting than a marketeer like Jobs.
I do have a few quibbles with the book. There are too many errors in the text, for one thing. Torvalds does say in the book that the manuscript was checked using a Microsoft spell checker. Perhaps that explains some of the errors: l for ls commands, "GP" for "GPL," "Linus International" for "Linux International." Meanwhile, my own editors are screaming in disbelief, wondering how I can spot nits like that in the book and be blind to huge blunders in my own copy. My major complaint, however, is not in the editing. It is that Torvalds was apparently asked to write about things he doesn't care deeply about, or really even want to voice an opinion on.
Torvalds was the keynote speaker at the first LinuxWorld Expo I attended, in August 1999 in San Jose, California. As he explains in the book, public speaking is not his favorite thing. The expo organizers thought it would be grand to have Torvalds introduce Patrick McGovern, IDG's chairman, before the two presented a $25,000 check to the Free Software Foundation for winning the IDG/Linus Torvalds Community Award. So the expo folks had Torvalds read a full page of PR résumé fluff about McGovern. Torvalds was obviously uncomfortable doing that. I get the same sense from much of what's in the last few chapters of the book, especially in "The Amusement Ride Ahead." The book would be better without that chapter; it should be more like -- and about -- Linus Torvalds instead of Yet Another Celebrity Commenting on Stuff He Doesn't Care About.
But if you're dweeb like me, you'll find plenty of common ground with Torvalds as he relates his life and work: His power of concentration, the lack of concern with neat and orderly physical surroundings, being the prototypical "good geek/bad manager" at Transmeta, and his determination to solve problems the "right way." Those are the touchstones of the dweeb faith. Even if you're not a dweeb, I recommend this book to anyone curious about who and what is turning the world of computing upside down. Who knows, you might even get in touch with a dweeb side you didn't know you had.