But after _why disappeared, the Ruby community wanted, and needed, _why’s open-source code back, and a few hours after the disappearance, work started in earnest to salvage anything that could be salvaged. Steve Klabnik is a lithe programmer with jet-black hair, save for a shock dyed white. An aspiring programming teacher, he adored Hackety Hack. When _why disappeared, he watched the boards to make sure somebody claimed it.
“I just thought: This is really an important project, and whoever decides to pick it up, I’ll help them because I’m not ready for an open-source project. A day or two went by. Other projects got picked up, almost all the other projects, but nobody picked up Hackety Hack,” he told me. “I thought: I refuse to let this die, so I’ll start working on it. Maybe someone else will take it over for real.”
Klabnik found much of the code for Hackety mirrored onto other servers. But he still needed to “reverse-engineer” the site itself. The endeavor felt important. But it also felt strange—like living in a dead man’s house, or trying to finish someone else’s painting. “When you pick up something so intensely personal, and such a work of art, it is strange,” he says. “I was very scared of doing anything to it, because I didn’t want to ruin his vision for the project.”
Another programmer, Tennessee-based animal-welfare advocate Andrew McElroy, who goes by the online name Sophrinix, did much the same with TryRuby. “The day he disappeared, the first thing that came to me was, ‘Well, what about TryRuby?,’ ” he says. “I went onto the Ruby Reddit and asked if anyone had taken care of it. Nobody had, and nobody knew where the code was.”
McElroy and a few other volunteers ended up reconstructing it, stitching together the few rescued pieces and painstakingly rewriting much of the rest of the site. “It needed work, too,” he says, noting that its security functions were inadequate and much of the code weak. But a month later, he got it back up and has been keeping it running ever since.
Within a few short days of his disappearance, Rubyists had reclaimed and preserved virtually all of _why’s canon. Someone set up a single site with links to every shred of work he had done, hosted in new places. And in the meantime, the culture mourned.
Of course, as Rubyists love Ruby, partisans of other languages love other languages. Discussions of beauty and elegance and utility seemed to me to be ubiquitous among coders, forever reaching for metaphors to describe how what might seem cold and mechanical in fact can feel like an ecstatic act of creation.
In my reporting, a comparison to literature came up often: A well-written program begets a world far richer and more alive than its constituent letters and numbers and brackets suggest. We can see Prufrock trembling before his fruit, despite the brevity of T.S. Eliot’s poem. Similarly, small batches of humble code, carefully constructed, have give birth to radical new capabilities. Google, after all, is at its heart just an algorithm for ranking the popularity and quality of Web pages.
_why himself repeatedly stressed programming’s creative potential. In the (poignant) Guide, he writes, “Vitamin R goes straight to the head. Ruby will teach you to express your ideas through a computer. You will be writing stories for a machine,” he says. “The language will become a tool for you to better connect your mind to the world.”
Later on, he writes: “All you need to know thus far is that Ruby is basically built from sentences. They aren’t exactly English sentences. They are short collections of words and punctuation [that] encompass a single thought. These sentences can form books. They can form pages. They can form entire novels, when strung together. Novels that can be read by humans, but also by computers.”
(Notably, the phrase “Why, the lucky stiff!” comes from Ayn Rand’s The Fountainhead, though I could never find _why commenting on whether that specifically is the source of his nickname. The book is about an individualist genius who eschews society to maintain the purity of his work.)
As with spoken languages, different programming languages lend themselves to different creative forms. Some let the programmer control the world more easily, more quickly, more precisely, or more intuitively. Indeed, for each programmer and each project, a certain language might fit better than another.
For the famed Dutch programmer Guido van Rossum, the ideal language is Ruby’s linguistic cousin Python, the language he wrote back in the 1980s and is now one of the most often used languages for Web applications.
Rossum is currently a Google programmer, though he spends half of his time as Python’s “benevolent dictator for life,” meaning he has final say on any changes to the language itself. (Sergey Brin, or one of his coders, used Python when originally building the search engine, back in the 1990s, kicking off Python’s long relationship with the company.)
“High-level” languages like Ruby and Python have become particularly popular for producing Web applications, compared with “low-level” languages like C, Rossum explained.
“Let’s say I am giving directions for how to leave this room,” he says, gesturing to the white-walled, white-boarded Google office around him, visible in our Google+ hangout, a kind of video chat.
“In Python, I would just say something like, ‘Get up and go through the door.’ In other languages, I might have to say something like, ‘Stand up, but not with so much force that you fall over, take three steps to the north, take one step to the east, approach the door, check that it is open, if it is not open, open it, then step through it with this amount of speed …’ ”
“The programmer is abstracted from controlling the minutiae in the computer,” he notes. Sometimes, that might be a bad thing. Lower-level languages allow the programmer to manipulate the computer with more-precise instructions, for instance.
But in developing for the Web, such succinctness, when well designed, is often invaluable to a hacker since it lets her code so much faster.
Plus, over time, managing a larger corpus of code can weigh on a programmer, Rossum says. “There’s a theory out there that all programmers can only manage a certain number of lines of code,” he notes. “Say, 10,000 lines. In Python, you can have so much more programming in those 10,000 lines. You would need 100,000 lines to do the same thing in C.”
Despite his intense efforts to preserve his anonymity, _why had been outed just before his infosuicide.
An anonymous person or persons published a strange, vituperative Wordpress website—now down, though largely reproduced here—naming _why as a Salt Lake City-based programmer named Jonathan Gillette. (There’s no way to figure out who built the Wordpress site. There is no domain registry and little to do in the way of IP address tracing.)
The evidence on the Wordpress site is extraordinarily detailed. There are photographs, phone numbers, IP addresses, educational details, addresses. It all points to the same individual: A thirtysomething graduate of the University of Utah, a resident of the Salt Lake suburb Sandy, a player in a local band. And it is seemingly conclusive. Back in 2002 and 2003, for instance, _why wrote to some Rubyists from his work computer, with his given name tagged down at the bottom of his email.
Just after the disappearance, the woman named as _why’s wife seemingly confirmed that he was Jonathan. She tweeted: “Just eating a chickpea burger with _why. Did you hear that??? A CHICKPEA BURGER. Put THAT on Wikipedia!”
On the Web, there was still doubt. Some of the IP traces and identifying data deep in the virtual underbrush pointed to a resident of Texas, or another Utah graduate. And a few prominent Rubyists, including Peter Cooper, keeper of Ruby Inside, insisted at first that the site had fingered the wrong guy.
But nobody doubted that the publication such a site would be just the kind of thing to send fragile, private _why deep underground.