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.

Illustration by Charlie Powell.

Illustration by Charlie Powell.

In March 2009, Golan Levin, the director of Carnegie Mellon University’s interdisciplinary STUDIO for Creative Inquiry, invited an enigmatic and famed computer programmer known to the virtual world only as “Why the Lucky Stiff” or  “_why”—no, not a typo—to speak at a CMU conference called Art && Code—also not a typo—an event where artsy nerds and nerdy artists gather to talk shop.

_why came to Pittsburgh and presented his latest project to a room full of a student programmers and artists. He was scruffily handsome, seemingly in his early- to mid-30s, with shaggy brown hair falling in his eyes and a constant half-smile. He looked like a member of an indie band—he actually was in an indie band—or the leader of an experimental improv troupe.

At this symposium, he wore a pair of oversize sunglasses and a tidy sports coat with a red pocket square, a silly riff on a stuffy professor’s outfit. He introduced himself as a “freelance professor.” “I don’t know exactly why I was invited here today. I’m not associated with anything of repute,” he admitted to giggles from the packed crowd.

Advertisement

He riffed on his nom d’Internet, Why the Lucky Stiff: “Some people want to call me Mr. Why. My nametag was filed under ‘L.’ The thing is, it’s just a middle name. There’s no first or last. It’s just one middle name. That’s just the nature of it,” he said.

Then he introduced his new product, a free interactive application called Hackety Hack, which he had built from scratch to solve a problem he called the “Little Coders Predicament” in a 2003 manifesto.

The Little Coder’s Predicament arises from the following problem: We live in world of astonishingly advanced technologies, easy to use and all around us. Your grandmother has a smartphone. Your 2-year-old can play with an iPad. But the technology behind such marvels is complex and invisible, abstracted away from the human controlling it. Nor do these technologies offer us many ready chances to do basic programming on them. For nearly all of us, code, the language that controls these objects and in a way controls our world, is mysterious and indecipherable.

Back in the old days, you could hack your Commodore 64 without too much trouble. But just try to get a sense of the millions of lines of code controlling a Windows computer, or the Google search engine, or your Android or iPhone. For starters, the user interface and legally enforced sanctity of the code will prevent you from even seeing it. And even if you managed to take a look, the code would be so complex you would struggle to understand it, let alone manipulate it.

For that reason, _why explained in the “Little Coder’s Predicament”—and over and over again at conferences and panels—too few people were learning to code. The learning curve was too steep. There needed to be a simple, fun, awesome way to draw people in.

Ruby Fresca

“We need some instant results to give absolute beginners confidence. Simple methods for sending an email, reading a Web page, playing music,” he wrote. Moreover, novice programmers—especially kids—needed that ecstatic moment where they understand that they are controlling the computer, that programming ensures that the computer answers to them.

That’s what Hackety Hack did.

Hackety Hack begins by introducing kids to Ruby,  _why’s programming language of choice. Then it explains that programming is nothing more than giving a stupid, unthinking computer your commands. You are its boss. It answers to you. And you can make it do nearly anything with simple keystrokes and enough practice.

Within a few minutes of using Hackety Hack, you can use real code to order a turtle to draw a line or a shape. In an hour, you can create a virtual library of your comics, or put jokes in pop-up boxes. Instantly, you are empowered as a creator. And eventually, the mysteries of how a computer works do not seem so mysterious after all.

Hackety Hack solved the “Little Coder’s Predicament”: It was fun enough to engage a kid, and smart enough to teach her something to boot. But just a few months after launching it, to the astonishment of the community of Ruby programmers who treated him with something approaching messianic worship, _why vanished.

On Aug. 19, 2009, his personal site stopped loading. He stopped answering email. A public repository of his code disappeared. His Twitter account—gone. Hackety Hack—gone. Dozens of other projects—gone.

The popular Ruby message boards, listservs, and blogs descended into a state of panic. Had he been hacked? Who had heard from him? Was he in physical danger? And there was one especially pressing question, the irony of which hardly went unnoticed by passionate Rubyists: Why?

***

Ruby Self Portrait Fresca
A self-portrait of Why the Lucky Stiff.

Courtesy Why’s (Poignant) Guide to Ruby.

Slate gives each of its staffers a month per year to undertake an ambitious project, one that attempts to do something new in Internet journalism. Tim Noah explained income inequality. Julia Turner explored the world of road signs. Dahlia Lithwick wrote a chick-lit novel in real time, with the help of her Facebook friends. I decided to try to learn computer programming.

Why? I understand, if imperfectly, the laws that control the physical world around me. Ask me why an apple falls to the Earth or why a cork floats in water or why electrons do not collapse into the nucleus, and I can at least attempt an explanation. But the virtual world I live in is a mystery. Arthur C. Clarke wrote: “Any sufficiently advanced technology is indistinguishable from magic.” For me, and for most of you, I suspect, the computer is just that: a glowing, magic box. Learning to program would help demystify the technologies I use daily and allow me to even create some humble magic of my own.

But what language to learn? On the recommendation of my software-developer, project-manager, and computer-scientist friends, I decided to start with Ruby, for three reasons.

First, it is an increasingly popular language, especially for Web applications. It underpins lots of cool services and sites I use on a consistent basis, such as Paperless Post and Living Social.

Second, its code is relatively concise, making it easier to type out and therefore harder to mess up. Let’s say that we wanted to write a program that makes the computer say, “Hello, world!” In Ruby, the whole executable program reads:

print “Hello, world!”

That’s it. Now, say we wanted to do the same in Java, the programming language that runs on, for example, about 3 billion cellphones. Here’s how you would do it:

class Hello       { 

        public static void main(String args[])      {

           System.out.println(“Hello, world!”);

        }

}

And you cannot mess up any of those little { or ), either. For fat-fingered dilettantes such as myself, Ruby is a far easier language to start with.

Third, Rubyists possess an often exaggerated, yet nevertheless merited, reputation for being the quirky hug-everyone kids of the programming world. Their motto is MINSWAN, or Matz Is Nice So We Are Nice, a reference to the language’s legendarily sweet founder, Yukihiro Matsumoto, nom d’Internet Matz. We might just all get along.

My language selected, I started off by acquiring and reading the seminal texts about programming. I ordered Steve Lohr’s brilliant history of programming, Go To, for a plain-English explanation of how a computer works and some background on software and hardware development. And I picked up the most highly recommended Ruby manuals: Programming Ruby, known as “the pickaxe book” for the rock-pick on its cover, and _whys (poignant) Guide, a kind of graphic novel authored by the disappeared programmer that you can read online or print out for free. 

A month to learn, a coffee in hand, I started reading. Lohr’s history I got through in a jiff. (Did you know the first “computers” were actually women hired to plug huge punch cards into even huger machines? Neither did I.) When I cracked open the Ruby manuals, though, I got lost in seconds.

ruby fresca
The cover of Programming Ruby: The Pragmatic Programmers' Guide.

Courtesy Pragmatic Bookshelf.

The pickaxe book first shows you how to install Ruby on your computer. (That leads to a strange ontological question: Is a programming language a program? Basically, yes. You can download it from the Internet so that your computer will know how to speak it.)

Then the pickaxe book moves on to stuff like this: “Ruby is a genuine object-oriented language. Everything you manipulate is an object, and the results of those manipulations are themselves objects. However, many languages make the same claim, and their users often have a different interpretation of what object-oriented means and a different terminology for the concepts they employ.”

Programming manual, or Derrida? As I pressed on, it got little better. Nearly every page required aggressive Googling, followed by dull confusion. The vocabulary alone proved huge and complex. Strings! Arrays! Objects! Variables! Interactive shells! I kind of got it, I would promise myself. But the next morning, I had retained nothing. Ruby remained little more than Greek to me.

Ruby Fresca
The cover to Why's Poignant Guide to Ruby Programming.

Courtesy Why’s (Poignant) Guide to Ruby.

_why’s primer, the (poignant) Guide, was only a slight improvement. Dada or post-postmodern, is perhaps a more apt descriptor for the guide than poignant is. It starts with a cartoon of a cat, standing alongside an “elf and his pet ham.” The text opens with a note from _why saying he included an onion in the center of the guide. Why an onion? Because everyone will learn to write code so beautiful they will want to cry.

The text is a cacophonous mix of high and low, sincere and twee, cluttered with pictures, collages, discursive sidebars, stories, and cartoons. The metaphors tend toward the bizarre. The elf, for instance, uses leaves and blue crystals for currency. One chapter is told in part through the life and times of one Dr. N. Harold Cham.

In the most openly literary twist, _why, apparently distraught over his relationship with his suicidal, art-school-drop-out sister, abandons writing the book. The foxes and the cat take up his pen to redraw themselves and take the project over, until a costumed _why returns.

And _why himself thought of it as a literary project. “The book I feel is closest to my book is The Curious Incident of the Dog in the Night-Time, which interleaves brief math puzzles and astronomical diagrams with the story,” he wrote to a listserv. “[I’m] interested in presenting an initial stab at giving literary value to a programming text. I’m also interested in getting people to at least feel what I feel when I program.”

The book is enchanting but exhausting. More to the point, reading it cold did not push me any closer to actually being able to hack—a term that, by the way, means something like “code awesomely and efficiently,” rather than “break in.”

Frustrated, I solicited advice on Twitter. Programmers replied with the tsk-tsking solemnity of a Greek chorus: You cannot learn to program by reading books, not without actually trying to write some code yourself! It would be like trying to learn Spanish by reading a dictionary, without ever attempting to utter “hola, el mundo!

Computer-programming languages are languages like any other: To acquire them, you absolutely must use them. I needed to write my first program.

***

In late 2009, _why’s disappearance played out in real time on the Internet, as Rubyists noticed his projects had stopped loading and relayed the news on popular forums. It was not just one site or server, they fast realized. _why, his blog, his Twitter feed, and all of his open-source code had disappeared from the Internet, and all at once. The term of art is “infosuicide,” a rare but hardly unheard-of occurrence.

At Ruby Inside, a popular Ruby news site, programmer and Ruby teacher Peter Cooper relayed the sudden disappearance of Ruby’s “own resident crazy genius.” He noted that _why’s works “are considered important by Rubyists not only for their usefulness but for their significant contribution to Ruby's culture, and if _why has truly fallen off the grid, it’s a big deal.”

The hundreds of tweets and message-board posts went through the Kübler-Ross stages of grief. At first, disbelief. “He could have had his computer, or email hacked ... have to wait to see if we hear from him before we assume he actually cleared all the accounts himself,” one poster argued.