We don’t remember exactly how we came across Eddie Kohler’s page at UCLA. All we know is that we were immediately impressed by the quotations that this computer science professor posted—from writers like Glenway Wescott, Marianne Moore, and Francis Wyndham—below the listings of courses he has taught, “Distributed Systems Infrastructure,” for example. It was apparent that the quotes weren’t window-dressing, they reflected Eddie’s thinking about his work. What a wonderful chipping away at the “Two Cultures” divide! We asked Eddie to speak a bit about the ways his reading has has informed his research. Here is his gracious reply.
Great Granny Webster was my first NYRB Classic. It was on the new arrival stacks at Black Oak Books in Berkeley in 2002; the cover drew me in (Katy Homans is amazing!) and one of the blurbs on the back said it was “like a box of chocolates with amphetamine centers,” which may be the best compact blurb ever, and, I realized, described exactly what I wanted to read at that moment, and possibly at every moment. I read probably 40 pages standing up, the rest within a few hours, and repeated bits of it for days.
Everything about that book was wonderful: the text (especially the first section), but also the interior page design, the colors, the feel of the cover, the introduction—unflashy and welcoming, care shining through details. I fell in love with everything about it, including the series. 117 down! I buy them everywhere. When giving a UK friend Eileen Chang’s Love in a Fallen City, I sent from the US, afraid the UK Penguin edition wouldn’t be as beautiful.
I’m now a computer science professor specializing in software systems, a weird and wonderful job. I teach undergraduates, supervise graduate students, do academic research, and develop and maintain software systems (open source and not). You asked how literature has guided or informed my thinking.
Well, there are some secondary connections. Reading lots of literature makes me ill-tempered about the immense volume of crap prose an academic must produce and consume! A famous computer scientist, Donald Knuth, invented a programming style, literate programming, that treats programs simultaneously as executable and as works of literature; the results tend toward graphomania. For me, though, the most important connection is deep but tangled and indirect. (Like capillaries joining arteries and veins?)
Maybe the best way to put it is this. Computer systems, like operating systems, Web servers, and network routers, are programmed using a set of convention—programming languages, structures, ways to communicate. We call these conventions abstractions. For example the “file” abstraction, in many operating systems, implements disk storage, Internet access, communication between programs, and more. Many of these conventions have been pretty stable for decades, and the increasing speed of computer hardware keeps many programmers basically satisfied with the abstractions they have. But a computer systems researcher or teacher has to continually ask, Are these conventions still the best available, or would another way to write systems programs—another set of abstractions—be better today? (Better means faster, or able to handle way bigger problems, or more secure, or simply easier to program correctly.) Could something out there fundamentally change our programming lives?
It’s not easy to, essentially, step outside of the ways people currently write programs and build an alternate world. Even if you can do it, it’s easier to do it poorly: many of the abstractions we use have lasted for good reason, and many alternative abstractions (including some of my own) are just bad. The more I understand how best to use current abstractions, the harder it can be to see something new and keep motivated to build and test it. And it’s not always easy to tell whether a new abstraction is better. Different abstractions appeal to different people’s minds. A small group of researchers can attack problems of only limited scope; the abstractions we can build must start out as toys, and fairly comparing toys to the products of huge industrial programming effort requires delicacy.
So for me literature—especially the quirky, glancing, unpretentious, individual, profound literature in which I think NYRB excels—is a continual reminder of the importance and possibility of finding new ways to see the world.
That would be enough on its own, but the connection’s more specific too. My favorite books are often suspicious of abstractions. (Chekhov over Tolstoy, say.) The books aren’t about computer programs, of course, but there’s something analogous:
“I have learned—but again and again I forget—that abstraction is a bad thing, innumerable and infinitesimal and tiresome; worse than any amount of petty fact…. It is like a useless, fruitless vegetation, spreading and twining and fading and corrupting; even the ego disappears under it …”
—Glenway Wescott, The Pilgrim Hawk
In my work life, this reminds me, first, that the abstractions through which I understand computer systems are hiding and corrupting “petty facts,” and second, that a brief, elegant effort can cut through those abstractions and find something new and beautiful. The huge variety of pleasures I’ve gotten from literature helps me be more generous and open to other work, a natural tendency being to dismiss research that starts from different assumptions. And, finally, it may be impossible for a computer program to last as long as great literature, but it’s inspirational to try.