Where’s _why? What Happened When One of the World’s Most Beloved Programmers Vanished.

Innovation, the Internet, gadgets, and more.
March 15 2012 6:00 AM

Where’s _why?

What happened when one of the world’s most unusual, and beloved, computer programmers disappeared.

(Continued from Page 1)

Later came anger. Zed Shaw—a prominent hacker who infamously deserted Ruby—described the infosuicide as an affront. “Taking all of your code offline and erasing your whole persona without so much as a warning or helping people take over projects they spent years investing in is a dickhead thing to do,” he wrote on his blog.

“That’s a rough thing to say, but I feel very strongly about this, because while I respect the idea of impermanence, I have no respect for someone who has such a complete disregard for other people’s investments and feelings.”

Next came bargaining. Maybe he would come back soon, and was just busy with another project, some Rubyists held. “_why was to the ruby community what willy wonka was to chocolate. Maybe, just as the fictional Willy Wonka secluded himself in his chocolate factory for so many years … _why is simply secluding himself in his programming factory,” one hopeful post came.

Advertisement

Much depression followed. “wow, how sad. that just ruined my day. he really was an idol to me. he's one of the main reasons I even tried ruby in the first place. I just love everything he did,” read one typical comment. Indeed, literally hundreds of hackers wrote to eulogize _why and explain how he had inspired them to learn to code.

And for some, acceptance. The most passed-around response was an introspective one, from the programmer John Resig. “Looking at the cumulative work and art of _why it should become painfully obvious: The online presence of _why, and all the code, writing, music, and drawings that’ve been produced are a mere transitory portion of one person’s life,” he wrote.

“He was constantly moving from project to project, blog to blog. Now he’s truly moved on and we should feel joy in having gotten to know him, and his art, over the past couple years.”

But that came as cold comfort to the countless programmers _why inspired to code, or his many interlocutors in the Ruby community.

***

ruby fresca
Yukihiro Matsumoto, creator of Ruby, pictured in 2008 at the Euroko Ruby conference.

Rrrodrigo via Flickr.

In 1993, the Japanese programmer Yukihiro Matsumoto—“Matz”—dreamed up the Ruby language. The project came about somewhat accidentally, he told me as we sat in the bowels of San Francisco’s Moscone Center, where he was due to give a speech at the 40,000-person DreamForce cloud-computing conference.

He felt some friction with the other languages he was using. He’d get distracted trying to manipulate code. He felt slowed down. He wished he could hack the code itself to get from A to B faster. He had been a programmer since childhood. He had studied programming languages as a university student. He intuitively saw a better way and set off to write a language.

“Ruby is to make programmers happy,” he said, explaining that he wanted to think about building a language intuitive to programmers rather than one centered on the capabilities of the computer. “It is about human beings, and not about the machine.”

Two decades later, Matz is an open-source guru and the central figure in the Ruby world, the ultimate arbiter of changes to the language and the person responsible for updating it as the needs and capabilities of programmers evolve. Currently, he is the “chief architect” for Ruby at Heroku, part of the massive cloud-computing company SalesForce, which runs on Ruby.

The language gained some traction in Japan after Matz released it, though he said he did little to promote it. Its global success came in two waves. First, in 1999, a British programming-language obsessive and longtime developer named Dave Thomas found it on a Usenet message board and downloaded it.

“I used to just play with languages,” he tells me, explaining that he would install any he could find just to test it out. “Normally, I’d play with them for a few minutes. With Ruby, I played for a whole morning. Then the whole afternoon.”

His passion for Ruby led Thomas and his writing partner to produce the pickaxe book, which in turn introduced the language to a much broader English-language audience. If you were a developer looking to pick Ruby up, you didn’t need to just download it and muddle through. The pickaxe book could guide you.

The second wave—the really big one—came in 2005, thanks to a Danish-born, U.S.-based programmer and entrepreneur named David Heinemeier Hansson.

_why and Matz are perhaps the most beloved sons in a Ruby’s corner of the Internet. But DHH, as he is known, is undeniably Ruby’s biggest star. No less an authority than Google has named him “hacker of the year.” And he has been the subject of any number of fawning media profiles, including one in Wired that dubbed him a “philosopher-king” while noting his “boyish good looks.” (If you told me he had been in a sugar-pop band in the late 1990s, I would not dismiss it out of hand.)

Back in 2005, he was building a Web-based project-management system called Basecamp, working in Ruby. He ended up building “a lot of infrastructure to make Ruby suitable for the task,” he tells me. And he realized the infrastructure would apply not just to Basecamp, but also to any number of Web applications. He built it out, and called it “Ruby on Rails.”

To better explain for the uninitiated, Ruby on Rails is not a language, or a version of Ruby. It uses Ruby code to make building a website much faster and easier. Let’s say that you wanted to make a complicated Web-based product, such as an online invitation service. You could do all the programming yourself. But Ruby on Rails is a framework that includes a lot of the basic, necessary functions for you.

Ruby on Rails caught on like wildfire. In the spring of 2006, for instance, a young entrepreneur named Jack Dorsey decided to build a micro-blogging service. Using Rails, it took only months to make and launch Twitter. (The site has since moved on to other frameworks and languages.) Thousands of other sites—including Github, Living Social, and Groupon—use the Ruby on Rails infrastructure too.

Indeed, Rails became so popular that it converted thousands of programmers to Ruby. (When you build a site in Rails, you write in Ruby code.) How many? Well, it’s hard to rank the popularity of programming languages. There are thousands of them used by millions of programmers for a dizzyingly wide array of projects. There is no central repository, and most programmers work in more than one language, anyway. (Matz actually spends a lot of his time writing in C.) 

But one ranking puts it 12th. Another puts it fifth among “scripting” languages, used for writing application software. Programmers described it to me as something like Italian—familiar enough, but not really common.

***

I was stuck in the little coder’s predicament. Enchanting though the (poignant) Guide might be, it seems aimed at people who know how to program in other languages and want to pick up Ruby as well. And fun though Hackety Hack is, it is aimed at kids. So I moved on to still another _why project: TryRuby, a service that helps amateurs of all ages learn to code.

The idea is brilliant: A screen pops up with just two boxes. In one, there are instructions. In the second, you type and hit enter—effectively creating little programs that are then executed and evaluated right there in the screen.

Through the series of prompts, you slowly begin to absorb the basic lexicon of computer programming. A “string” is a set of letters the computer can process, surrounded by double quotes. “Methods” are commands that the program can perform, like the multiplication of numbers. “Arrays” are just lists. “Variables” are nicknames for often-used items.

With these basic building blocks, you can start commanding the computer to do all sorts of things. You can save libraries of data, and then order the computer to go retrieve items from them. You can create pop up boxes with titles and bits of information, triggered by certain inputs. You can start linking parts of your program to the Internet.

So, with TryRuby and a new Ruby-for-beginners program set up on my browser, I set out to build my first program: one ordering the computer to solve a math problem. In the case of Ruby, the whole program would read: “print 1 + 2.”

But knowing a bit about a programming language, it turns out, does not necessarily mean knowing how to make your computer run a program. And working in a highly structured environment like TryRuby or Hackety Hack does not help you figure out how to create and run programs on your own machine.

First, I needed to download Ruby, which like many languages comes as a free open-source file. (I later figured out that I did not even have to do that—my relatively new Mac already spoke it.)

Second, I needed to figure out how to create and save a program—in my case, just a single line of text. I started off by saving it as a Word document, but it needed to be in plain text. I saved it in plain text, but I needed to adjust the settings to a more-specific format. And how does a computer run a new program, anyway? The answer, in my case at least, was through a utilitarian program called Terminal, a basic interface panel that lets you talk to your machine.

I created my program. I saved it. I opened up Terminal, and told it that I would be talking to it in Ruby. I commanded it to run my program, carefully writing in the file name and where it would find it.

It would not run. It took me more than an hour to figure out I had left in an extra space in my code, preventing the whole thing from working right. But then, after some 98 minutes and some serious Googling, a three showed up in my Terminal shell.  I had written a program. 

***

What had happened to the ebullient, funny, and prolific programmer who was helping to teach me to program? Where had he gone and why?

What seemed strangest about the disappearance was just how integral to the devoted community of Ruby programmers _why had been before his infosuicide. _why was not just famous within the Ruby community, but one of its creators. He had contributed thousands of lines of code to Ruby’s open-source libraries. He wrote one of the most famous guides to Ruby. Moreover, when the language was just gaining traction in the English-speaking world, _why became the equivalent of the Friday-evening bartender at the town’s only saloon, hosting a series of popular blogs and writing often on Ruby forums, evangelizing the language’s beauty and simplicity.

He was also known for his energetically weird performances at conferences. Take for instance his appearance at the 2005 O’Reilly Open Source Convention, an annual event that draws a bevy of tech luminaries, open-source gurus, hackers, and free-software advocates.

The panels featured that year were mostly standard nerdy, service-y fare. A Hawaiian-shirted Larry Wall, the creator of the popular programming language Perl, gave his annual, humorous “State of the Onion” address. DHH talked about Ruby on Rails.

_why gave a panel with inscrutable title “A Starry Afternoon, a Sinking Symphony, and the Polo Champ Who Gave It All Up for No Reason Whatsoever”—an ode to Ruby, with video partially narrated by two cartoon foxes, shadow puppetry, and musical accompaniment.

Attendees told me the presentation was “brilliant” and a “disaster.” An interactive element went horribly wrong when conference participants overloaded the convention hall’s servers. It hardly mattered. The conference-goers ate it up. “It was just magical,” says Glenn Vanderburg, a Ruby developer at Living Social.

Indeed, such whimsy was part of why _why became such an icon in the Ruby community, a community that retains some serious whimsy in no small part because of him. “He was very beloved, very important,” Matz concurs.

But few, if any, people knew about _why’s civilian identity. He booked conference tickets under a pseudonym. He never put down a credit card in front of other Ruby conference participants, instead paying in cash. He would leave public gatherings by just disappearing. He had even waged a campaign to get his Wikipedia profile killed.

Nobody ever called him anything other than _why, or pressed him to break out from his online identity. There is a code of omertà around such things.

In his writings, he evinced a longing for artistic purity coming from obscurity. “People cling to ideas, because they're supposed to be vouchers for a million dollars. no, write an obscure book. build something outside all that pressure. i guess treehouses for kids qualify,” he wrote in 2004.