Featured in DevOps

Adin Scannell talks about gVisor - a container runtime that implements the Linux kernel API in userspace using Go. He talks about the architectural challenges associated with userspace kernels, the positive and negative experiences with Go as an implementation language, and finally, how to ensure API coverage and compatibility.

Q&A on the Book Bitwise - A Life in Code

Key Takeaways

The book Bitwise is the story of a software engineer at Google and Microsoft, and why he eventually left computer science to become a writer.

“Wars” between tools like the one on MSN Messenger Service and AOL Instant Messenger still happen, but nowadays they are more about services competing for attention, loyalty, and information.

Computers have come to suffuse all parts of our lives as we are trying to join the ways of computers and the ways of humanity.

The main effect of computers is forcing an increasing quantification of life and human beings, so that they can better understand us.

But this quantification also leads to things being lost in the gaps, and as the computationalization of society continues, both literacy in the realms of technology and of the humanities needs to take a great leap if we are not to squash our best traits under homogenous taxonomies.

In the book Bitwise - A Life in Code, David Auerbach discusses the gap between how computers picture the world and how it really is, and provides his story of attempting to close that gap. The book explores how technology has impacted society and aims to make you think about what computers do to people.

InfoQ interviewed David Auerbach about the “chat war” between MSN Messenger Service and AOL Instant Messenger, classification models and personality types, playing Dungeons and Dragons, and using hybridized language to bridge humans and machines.

InfoQ: What made you decide to write this book?

David Auerbach: Having written on technology in short form for several years, I wanted to discuss computers more generally, in order to try to explain what computers are doing to us.

I was part of the first generation who grew up with home computers. I fell in love with computers when I was a little kid and learned how to program when I was six or seven years old. The web started to explode when I was in college, as I was studying computer science. After graduation, I worked at Microsoft during its middle-age in the late 1990s, then joined Google during its massive growth in the 2000s.

In a sense, the memoir is more about my experiencing than my doing. There are some crazy stories from my time in software engineering, like the instant messaging war between Microsoft and AOL, but I hope that I’ve also fit these stories into a bigger picture about how our lives have become computationalized.

I am ambivalent about how computers condition and guide our lives today. I kept returning to literature and the humanities as a counterweight to the rigid data structures of computers, and eventually I saw my way through to some reconciliation between those two seemingly divergent impulses.

That’s what I hoped to achieve with the book. By explaining how I fit life and computation together, I hoped to illuminate how the world at large is fitting life and computation together—for better and for worse.

InfoQ: For whom is it intended?

Auerbach: I intended the book to be read both by those with no technical background but much curiosity, as well as people in the industry or with a background in computer science and engineering. As I published more and more, I ran into a number of technical professionals who told me that they appreciated that someone with a concrete background in computer science and software engineering was writing for the public about technology. They felt that my experience gave me a more informed vantage point on the larger social and political issues raised by computers and the internet. In a sense, my goal with the book was to try to provide more of that perspective to those who lack my experience, as well as introduce some non-technical reflections and musings to those who do have strong technical experience.

I believe that, having experienced both the technical and the humanities (or literary, or philosophical, or what-have-you) worlds, each of them has much to offer the others, but currently the discourse that exists is more of a dialogue of the deaf, because too much of what is written is polemical and written with hostility toward and ignorance of the other side. But so many of the people I discuss in the book and who have profoundly influenced me, from Robert Musil to Gian-Carlo Rota to Heinz Pagels to Donald Knuth, also drew together knowledge from technical and non-technical fields to come to a greater understanding of both technology and the world. It’s become too easy to overlook that.

InfoQ: In your book you described the “chat war” between MSN Messenger Service and AOL Instant Messenger, where you developed the interface between MSN and AOL. How did AOL react, and what happened next?

Auerbach: AOL was unhappy. We had released a client that could talk both to our servers and to AOL’s servers, which was tremendously convenient since you could use a single client to talk to your buddies on both services. But we hadn’t asked AOL for permission, and they did not want people to use their service without using their client. So they seized on any difference between our client’s protocol behavior and their client’s, and disconnected people using the MSN client with a message saying, “Please use the AOL client downloadable here!”

But we were able to update the client fairly easily—even though it was the days of dialup, the client was only about a 300 kb download. So it became a routine that if the AOL feature was broken again, I’d go through the protocol traces, figure out the differences, and change the client to match AOL’s client more closely. That back and forth continued for a bit.

Then they went silent for a few days. I couldn’t imagine that we’d won, but it was odd that they had withdrawn. Then they started disconnecting our client after a very strange protocol exchange which we could not match. You can read the book for the whole story, but the short version is that AOL was exploiting a buffer overflow security hole in their own client. A real “Rommel, you magnificent bastard” moment.

InfoQ: We now live in a world where openness and connectivity are considered important by many. Do you still see “wars” happening between tools? What makes them different?

Auerbach: There are still wars going on, but they are less between tools than between services. Companies are competing less for people’s software purchases than for their attention, loyalty, and information. Apple, Google, Facebook, and Amazon all profit in different but overlapping ways by securing people to their services (which can include software and hardware), and enmeshing them in a fabric that encourages them to continue using more of their services rather than those of others.

So the Messenger wars did anticipate this in a way, because that was also about services rather than software. It highlights how unusual it is that the internet, as originally designed, was created with uniform, open standards that had interoperability by design, such as SMTP or NNTP or even TCP/IP itself. That model has mostly fallen by the wayside. Even when standards are in play, as with XMPP now for instant messaging, the “cloud” of services today is nothing like the internet of yesteryear, since each cumulonimbus cluster is owned in full by a particular company and is cordoned off from those of others. The price of admission is to give up some rights and control over your data in exchange for leasing some of the computing and power of one company or another. The commercialism of it gives much greater accessibility than the military/educational focus of the original internet, but the downside is less openness and control over the usage of those resources.

I expect this trend to accelerate as machine learning becomes more popular, as those services too will be provided by such large companies.

InfoQ: What's your view on models like Myers-Briggs, and using personality types?

Auerbach: They are fun and often convenient shorthand for describing one’s self, but there is a great danger in thinking that they are somehow definite or absolute classifiers rather than social constructs—and I believe that computers tend to reify these constructs further. Myers-Briggs isn’t taken particularly seriously by psychologists, but Fortune 500 companies lump employees into their categories (or similar Jungian-derived classification systems) in order to prescribe their career paths. Psychologists can’t agree on whether there are five or six “core” personality traits (agreeableness, extroversion, etc.), yet some researchers claim that there are actually neural correlates for the Big Five personality traits, as though they were biological markers that can be identified on an MRI.

This seems absurd to me. We can’t do without categories; they are necessary tools for making “piecewise approximations of reality,” in William C. Wimsatt’s wonderful phrase.

InfoQ: What is it that attracts software developers to play games like Dungeons and Dragons?

Auerbach: In the book I describe two competing impulses which I call the “analytical” and the “heuristic.” The analytical tries to quantify, taxonomize, and break down problems so that they can be treated as logically and exhaustively as possible. The heuristic acknowledges that there is too much data to process and too many issues to understand, and so takes a step back to use more general rules and shortcuts to come to a good-enough answer to a problem.

We can’t do without either because humans just aren’t smart or knowledgeable enough to treat everything analytically. But I think that software engineers and scientists in particular do hold out more of a dream of analyzing everything. And Dungeons and Dragons represents one form of that quantification of life; the idea that a world can be recreated with complex phenomena reduced to and encapsulated within a series of numerical statistics. Worlds are built on top of these numbers, but whatever happens in them has a clear explanationin the stats. And I think that understanding and explicability is a major part of the appeal.

InfoQ: You stated in your book that we are building a hybridized language that bridges human and machine. How does this language look, and what opportunities does this provide?

Auerbach: By hybridized language, I mean a sufficiently regimented series of signals that our computer networks are able to operate on successfully. By “successfully” I mean a number of things depending on the particular domain. Facebook wants to understand what people want to see and click on and buy. The government wants to know which people are likely to break the law. Political campaigns want to know who people are going to vote for. Computers are capable of crunching data many orders of magnitude faster than humans, but they need data that is somehow organized. One simple example would be how Facebook tries to get people to react with one of six reactions: Like, Haha, Angry, Sad, etc. Those are much clearer signals than the confusing world of natural language—which I maintain is one of the absolute hardest problems to crack in AI.

So a hybridized language would be one in which people, rather than using natural language as we would in our everyday lives, restrict themselves in some ways to using a more structured, context-free, and discrete language of one sort or another. Using hashtags, for example, is one way to easily associate myself with a cause. Computers may not know exactly what that cause means, but it knows who uses it and what other signals it’s linked to. Machine learning has gotten better at dealing with messy data, but we are also meeting it halfway by putting ourselves into more well-defined straitjackets.

The danger, of course, is that the subtleties and nuances of our existence get steamrolled and we see ourselves as little more than the sum total of all our online profiles and D&D characters. I don’t think anyone wants this to happen, but as I say in the book, my perception is that online discourse has gotten coarser and dumber since the advent of social media, and I think that the unthinking trend of quantification is a major cause of it. There are ways around it, but it will take some thinking.

About the Book Author

David Auerbach is the author of Bitwise: A Life in Code (Pantheon). He is a writer and software engineer who has worked for Google and Microsoft. His writing has ap­peared in The Times Literary Supplement, MIT Technology Review, The Nation, The Daily Beast, n+1, andBookforum, among many other publications.