There are thousands of software books out there, from almanacs about assembly language to volumes about Visual Basic. Most of them are dry, encyclopedic tomes that are about as entertaining to read as a dictionary. For the most part, the lifeless character of software books is an understandable consequence. After all, how many ways are there to explain the C++ STL in an enjoyable, memorable fashion but without turning the book into a joke?
Wonderful stories about software do exist. They just aren’t usually found in books that reside on the same shelf as The Ultimate CSS Reference. The best software narratives focus on telling the human stories behind great advances in our field, recalling great engineering feats and enormous barriers of adversity overcome through persistence, creativity and intellect. Reading them, you discover how so much of our digital world has been shaped by pure genius, and how much of it came about thanks to less dramatic reasons such as chance, pure stubbornness or simple necessity. Here are some of the most inspiring:
Where Wizards Stay Up Late, Katie Hafner and Matthew Lyon
Published in 1998, this book chronicles the early days of the Internet’s development and the incredible efforts by its engineers to get their (at the time) wacky ideas accepted. We may take packet switching as a given now, but in the 1960’s, the idea was technological heresy and the only way to prove its viability was to go ahead and just build it.
The engineers depicted in the book exude technical brilliance and are quite inspirational, and it’s a credit to the authors that they were able to tell their story on both a human and technical level that is so enthralling.
The Art of Deception, Kevin Mitnick
Kevin Mitnick has a reputation for being a legendary hacker. At the time they caught him, his jailors were apparently convinced that he could start a nuclear war by just whistling down a phone line. But as he describes in this book, most computer hacking isn’t done in complete isolation by a shady guy with just a computer and an insanely sophisticated knowledge of mathematics and encryption schemes.
Instead, it’s usually accomplished through social engineering, a technique used to grant the hacker access to higher and higher levels of privilege, little bits at a time with basic con-man tricks. They start by impersonating someone at the lowest level of security, and repeat the process as they move up the ladder of security. It succeeds purely due to the human desire to trust others. For example, if someone uses the same lingo that your peers do and sounds confident, you have a natural urge to cooperate. And so, humans grant access to someone who they haven’t truly identified just because they don’t want to be mean.
Mitnick’s book contains plenty of wonderful examples of social engineering and how it can be used to deceive. It’s a fast read, but it will open your eyes to how hackers get access to seemingly impenetrable systems with relative ease.
Crypto, Steven Levy
It wasn’t too long ago that encryption was a technology used and understood only by spy agencies. In the USA, the biggest concentration of brainpower was in the National Security Agency (NSA), which guarded that knowledge extremely tightly. The agency’s desire to protect encryption expertise was mostly understandable. It wanted to communicate with members of its network in secret but to also be able to read and listen to messages sent by those on whom they were spying. With the advent of the Internet, a few computer scientists from academia began to investigate cryptography for themselves, looking for solutions to problems like key exchange and tough encryption schemes. Levy’s book does a great job of describing the drama that rose from the tension between the world of these academics and the NSA, which didn’t want anyone else to know what they knew.
The stories of people like Whit Diffie and Ron Rivest and their world-changing inventions make for terrific reading, especially in Levy’s hands. In one sense, he was lucky to have subject matter that literally contained real “spy dramas.” His book could so easily have been a dry, lifeless treatment rather than what he created — an energetic, uplifting story of some plucky and smart Davids versus a well-funded, secretive Goliath.
iWoz, Steve Wozniak (with Gina Smith)
Steve Wozniak is a super-nerd. His autobiography more than confirms that fact. He’s also a gifted engineer, and his passion for designing solutions in beautiful, elegant ways simply leaps off every page of his book. If you’re an Apple aficionado then you will certainly enjoy reading about all the antics he and Steve Jobs used to get up to in their garage days. However, for me this book was more about great engineering than about pranks. In one memorable chapter, Wozniak spends about 7 pages detailing exactly how he designed the floppy disk controller for the Apple II, making it the fastest in the industry at the time. It’s total nerd-fodder of course, but it is a mesmerizing read.
Masters of Doom, David Kushner
I still remember the first time I saw Doom. It was 1993, and I was in the college computer lab working late. Someone sitting at the machine next to me booted up the game and started fragging monsters in the most realistic-looking, smooth and immersive 3D environment that I’d ever seen. After I picked my jaw up off the floor, I got on my knees and begged the student to give me a copy of the game, which thankfully he did. I ended up spending the next year diving into every detail of the game, building new levels, hacking its internals and learning about this new 3D graphics technique called BSP.
It was only natural then that when Kushner published this book about id Software’s early years of game development that I’d pick it up and start to devour it. Learning about John Carmack and John Romero creating legendary games like Wolfenstein 3D and Doom – games which I had spent years of my college life playing – was almost as entertaining as playing them.
A Madman Dreams of Turing Machines, Janna Levin
This is a unique book. Instead of writing a typical birth-to-death life catalog of some famous scientists (in this case, Alan Turing and Kurt Gödel) and their accomplishments, Levin takes the interesting approach of re-imagining their lives. She does this to allow us to really understand what was driving these two astounding minds and their creations. She stays fairly close to the realm of known facts and events, but all their dialogue and many of their actions are her own invention. This gives her great freedom of expression, enabling her to craft an engaging story about the trials and tribulations of two of the greatest minds of the 20th century.
Levin’s book isn’t loved by everyone. Some reviewers found it off-putting to read deliberately fictional scenes containing factual persons, but I found it no more odd than a Hollywood screenplay taking creative license with a true story and adding that innocuous Based on caveat. What is not debatable is Levin’s enormous admiration of their humanity and achievements or her determination to use them to tell a great story.
What do these books have in common? They’re all about incredible craftsmen who wanted nothing more than to engineer the best solutions they could to the most difficult problems they could find. How’s that for inspiration?