Monthly Archives: April 2008

A full crowd scene at the food lines

The very day that I learned Microsoft would be buying Danger, and that I would therefore reap a small windfall, Andrea (not yet having heard the news) proposed the idea of hiring a Beatles cover band to play at Jonah’s Yellow Submarine-themed sixth birthday party. At once I thought of Jeff Spicoli, Sean Penn’s character from Fast Times at Ridgemont High, of whom we’re told, via a title card at the end of the film:

Saved Brooke Shields from drowning. Blows reward money hiring Van Halen to play his birthday party.

Andrea had to do a lot of convincing, but once she got me past the mental hurdle of “hire a live rock-and-roll band for a party full of six-year-olds?” it became immediately obvious that it was the right thing to do, and we did it: we blew some of our “reward money” hiring The Sun Kings to play Jonah’s party. And it kicked ass.

Sole survivor throws “Caution” to the wind

Monday, which was the 16th anniversary of the end of one adventure and the beginning of another, was also my last full day at Danger, and not coincidentally also the last day of Danger. Yesterday it was officially part of Microsoft, but I was not, so I showed up early to drop off my security badge and free SIM, collect some checks, and leave for good.

To my great surprise, I was the only Danger employee to decline an offer from Microsoft to remain with the company.

Why was I? Certainly a big part of it was my well-documented distaste for Microsoft, but I was by no means the only one at Danger to feel that way. The fact is that I was already growing disillusioned with Danger even before the Microsoft announcement.

In January of 2003, when I had been at Danger for barely two months, I was moved to send the following message to my new engineering colleagues:

From: bobg
Subject: A different perspective

At today’s engineering meeting, and afterward in various individual discussions, I heard a lot of griping about the ambitiousness of [an engineering] schedule. I’m here to tell you: it’s a lot better than the alternative.

Before I came to work here, I was at a different company that for purposes of this message I’ll call Caution, Inc., because in a lot of ways it was the opposite of Danger. The managers were in thrall to a dysfunctional version of the software engineering lifecycle. The simplest feature had to have a requirements document, needing several iterations of meetings until all “stakeholders” could sign off on it; followed by a specification document, likewise requiring meeting after meeting to polish it to a high gloss; to be followed only when the spec was finished by an architecture document and still more weeks of meetings and sign-offs; and then implementation, testing, and release plans, each of which sometimes spun off recursive instances of the entire lifecycle. Only much later did you actually begin writing code; and for scheduling purposes even simple projects were scoped in terms not of weeks or months but entire quarters.

I think the whole idea behind getting everyone to buy in at each stage of the project was to have your asses covered when you finally wrote something to spec and a stakeholder had an objection. But what value in being able to say “You should have thought of that sooner” if the company goes out of business long before anyone gets a chance to object?

Needless to say, nothing got done. Not one damn thing. When I started at Caution, the team I was on was nearing its first anniversary of working on a project that involved nothing more than writing a Unix command-line interface to a web-based bug-tracking tool. The interface comprised four commands, each of which parsed its arguments, invoked two or three API calls, and printed some output. But they hadn’t completely nailed down the exact right behavior, so they had barely begun to write any code at all. After a year.

By the time I left eight long months later, that project was still not complete. There were other projects that came up, naturally, and from time to time I would surreptitiously whip out a complete, working implementation of something in an afternoon just to show how it could be done, only to be chided for trying to do an end-run around the process.

Once in a while something really urgent would come up and then we’d kick into gear, throwing the process out the window and invariably producing a satisfactory solution in short order, but overall, Caution was the very embodiment of the saying, “perfect is the enemy of good enough.”

How to describe how badly that sucked? Visions of immensity come to mind — Mt. Everest, the Grand Canyon, the Great Plains, the night sky, the federal budget — but nothing seems quite adequate. I’m a crackerjack programmer; I need to be building software all the time, not refining the illustrations in a months-old design document. At Caution, everything was slow, soporific, comatose. That company was in Santa Clara, and as many of you know, I live in Mill Valley. Doing that commute every day and having only that stultifying grind to look forward to was a major drag.

It came as no surprise to me when Caution suddenly announced it was laying off half the company (including me, mercifully) — nor that after the layoff, the company was pretty much able to continue doing what it had been, simply by revving up the speed of the people it had left.

What I’m trying to get at is this: you’ll always succeed at only a fraction of what you try to do. It’s better to dangerously try a hundred things and succeed at 25% than it is to cautiously try ten things and succeed at 80%.

As a newcomer at Danger, obviously I missed all the angst surrounding the delays leading up to 1.0. But let me tell you what I see: a successful, energetic company with an awesome product, abundant talent, great press, and many opportunities. If overambitious targets and always-imminent ship dates are what’s needed to achieve those things, then bring ’em on.

Before Caution, I worked at other exciting startups, including two that I co-founded — one of which was the Internet Movie Database, which a lot of you will recognize as a cool company — and I can tell you without hesitation that this is the gig I’ve been most enthusiastic about. The energy level, the rate at which things happen, even the sense of impending crisis — they all mean high stakes, something worth spending my time on. The daily commute to Palo Alto, which is almost as long as my terrible old commute, now strangely seems to go by in a flash.

I like having too much to do and too little time to do it in; it’s far more interesting than the reverse. Obviously there’s a balance to strike between danger and caution in the schedule, and maybe we’ve erred on the side of danger in the past, but that’s the right direction in which to err. Danger’s got a good thing going on here. When we do get enough slack in the schedule for the engineers to go off and figure out how we’d like to redesign everything, that’s when I’ll start to worry about the future of the company.

At that time, my message was cheered by many. Over the years, though, despite my best efforts to prevent it, Danger did eventually, inexorably transform itself into “Caution, Inc.,” bit by imperceptible bit. For the past few months my work there has consisted of almost nothing else besides preparing, revising, and reviewing engineering-process documents — and futile back-channel attempts to get things turned around so we could do some real work.

Some of my colleagues will be surprised to hear this, but it was mid-January of this year when I finally decided to throw in the towel, fully a month before we found out about the merger. As the author of the “Danger/Caution” missive I could hardly stay much longer without betraying my integrity. I only stuck around as long as I did to see Danger through to the very end (and also to reap some monetary benefits relating to the merger).

The same week that I decided Danger’s transformation into Caution was irreversible, this confirmatory omen greeted my eyes as I showed up for work one morning:

For Grandma Flori

A few weeks ago, when we told the kids we’d be visiting New York, and that while in New York we’d be visiting the place where Grandma Flori is buried, Jonah volunteered this suggestion: “Can I make a picture for Grandma Flori and leave it at her grave?” He might just as well have asked, “Can I blow right past all normal limits of six-year-old sweetness and sensitivity?”

We were in New York all last week and visiting my mom’s grave was the first thing we did. Here’s the picture Jonah brought to her: “That’s a beach chair with Grandma Flori in it, and me and Archer standing behind her.” (By the time my kids knew her, my mom was already completely housebound. How could Jonah have known that a beach chair had theretofore been perhaps my mom’s favorite place to be?)

All we need is love

…and a much bigger house to contain all the people coming to Jonah’s Yellow Submarine party. (Theme chosen by him, as usual; last year it was Peter Pan.) Here’s the invitation.

The best policy

[Moblogging from New York, which is why there’s been nothing new here for a while.]

Yesterday we took the kids to the American Museum of Natural History, where they were eager to find “Rexy” the T-Rex skeleton and “Dexter” the Capuchin monkey, characters in Night at the Museum. (And they did, among very much else.) We had some discipline problems, however, due in part, no doubt, to overstimulation from the bounteous exhibits and an excessively sugary cupcake at the museum’s cafeteria. So the kids lost their dinnertime dessert privileges.

As soon as we got back to my dad’s house, where we’re staying this week, Archer apprised him of their punishment. “We lost our dessert privilege because we did some bad things,” he reported cheerfully. “No dessert for us!” It’s a mark of how good the boys usually are, and therefore how seldom they’re punished, that temporarily losing a privilege can be an entertaining novelty (and maybe not as much of a deterrent as we’d like).

A little later that evening, Andrea and I went out to run an errand. The kids were in the care of my dad and his wife. My dad fixed them a snack and, having forgotten their punishment, included a few jellybeans on the plate. Jonah immediately reminded him, “We’re not supposed to have dessert tonight!” Archer repeated the reminder. Impressed, my dad withdrew the jellybeans and told them how proud he was of their honesty, which Andrea and I reinforced when we returned and heard the story. Today, as a reward: double the number of jellybeans they refused last night.

The fools!

On April 1st, 2004, I sent this message to my coworkers at Danger:

From: bobg
Subject: MMS testing

Hi everyone,

As you probably know, MMS is finally nearing a production release. We’d like to make sure it’s rock-solid for release, and the best way to achieve that is to have lots of people — people just like you — testing it.

If you haven’t used MMS: it’s a mechanism for mailing multimedia messages between phones, very much like e-mail, except that e-mail can’t go to phones.

Because MMS is like e-mail, it struck some of us that the best way to encourage lots of MMS testing is to disable the internal mail proxies for the next few days. So some time late today we’ll be turning off the [internal mail service] and I want to encourage everyone to use MMS instead.

If you find bugs, please file them in [our bug-tracking system]. Other comments (positive and negative) go to […]

Thanks for your cooperation,
– Bob

The internal mail service was and is an essential tool for the engineering team at Danger and MMS made a very poor substitute, not least because unlike e-mail, which Danger employees could read on their desktops and on their smartphones, MMS was for the phones only.

At once I received a torrent of objections in e-mail. “Are you serious?” read one. “This is going to massively piss me off, for whatever it’s worth.” Another read, “The IS department would implore you to reconsider.” Still another, from someone who first believed and then realized it was a hoax: “Holy crap, Bob, you gave me a heart attack!” Several folks who weren’t fooled sent me “attaboy” messages.

By any measure it was a hugely successful April Fools prank, causing no real harm but plenty of teeth gnashing and forehead slapping among its victims. But later that day I sent a followup message to everyone that elevated my prank to classic status, in the judgment of one Danger veteran who called it “the icing on the cake” and another who proclaimed it “the funniest message ever sent at Danger.” The subject line was, “Match that outrage!” It listed nine Danger employees in one column, and nine frantic reactions to my earlier announcement in a second column, and invited everyone to match each utterance to the hoodwinked coworker who’d made it. It’s a measure of how tightly knit the Danger team was in those days that most people were able to identify most of the speakers from such brief snippets as, “How can I use MMS when my SIM won’t work with my return address?” and “It will fuck me hard if you disable the [internal mail service].”


As April Fools Day, 2005, approached, coworkers began whispering to me, “Got something good planned?” I demurred in the blandest tones possible, but what no one knew was that I had been laying groundwork for months. Interspersed among my regular work-related edits of the Danger mail system software, I planted extremely obfuscated snippets of code like this:

sub v {
  my $p = uncompress("x\x{9c}\x{8b}\x{d2}\x{f2}\x{f3}...");
  my @u = unpack(unpack('Z*', $p), $p);
  return $u[$_[1]];
}

Even if someone had noticed these illicit insertions and could decipher them, all they’d find was an innocuous new stage of processing added to the long sequence by which the text of an e-mail message is transmitted to the user’s Hiptop (a.k.a. Sidekick, Danger’s smartphone). All the new stage did was to contact a particular computer on the network, feed the text to it, and retrieve a revised version of the text from it — a perfectly ordinary thing for a network-based service like the Danger mail system to do, where one such stage might extract hyperlinks, another might simplify formatting for smartphone display, and so on.

The particular computer, however, was my office desktop, running a “filter” that performed whimsical transformations of the incoming text. There were thirty-two different kinds of transformation, and one was chosen at random for each incoming message. One of them turned the text into Pig Latin:

Atway onceway Iway eceivedray away orrenttay ofway objectionsway inway eway-ailmay. “Areway ouyay erioussay?” eadray oneway. “Isthay isway oinggay otay assivelymay isspay emay offway, orfay ateverwhay it’s orthway.” Anotherway eadray, “Ethay ISway epartmentday ouldway imploreway ouyay otay econsiderray.” Illstay anotherway, omfray omeonesay owhay irstfay elievedbay andway enthay ealizedray itway asway away oaxhay, otewray, “Olyhay apcray, Obbay, ouyay avegay emay away earthay attackway!” Everalsay olksfay owhay weren’t ooledfay entsay emay “attaboyway” essagesmay.

Another replaced selected words with homophones (sound-alike words):

At once eye received a torrent of objections in e-mail. “Are yew serious?” red one. “This is going tu massively piss mee off, four whatever it’s wurth.” Another read, “The IS department wood implore ewe to reconsider.” Still another, frum someone hou furst believed and then realized it waas a hoax, rote, “Holy crap, Bob, yew gave mea a hardt attack!” Several folkes who weren’t fooled scent me “attaboy” messages.

One oddly annoying one broke words apart into syllables:

At once I re ceived a tor rent of ob jec tions in e-mail. “Are you se ri ous?” read one. “This is go ing to mas sive ly piss me off, for what ev er it’s worth.” An oth er read, “The IS de part ment would im plore you to re con sid er.” Still an oth er, from some one who first be lieved and then re al ized it was a hoax, wrote, “Ho ly crap, Bob, you gave me a heart at tack!” Sev er al folks who wer en’t fooled sent me “at ta boy” mes sages.

One replaced random words with “blah.”

At blah I received a torrent of blah in e-mail. “Are you serious?” read one. “This is blah to massively blah blah off, for whatever it’s blah.” Another read, “The IS department would implore blah to reconsider.” Still blah, from someone who first blah and blah blah blah blah blah blah, blah, “Holy crap, Bob, you gave me a heart blah!” Several folks blah weren’t blah sent me “blah” messages.

One inserted verbal fillers.

At once I, er, received a torrent of objections, you know, in e-mail. “Are you serious?” read one. “This is going to massively piss, ummm, me off, for whatever it’s worth.” Another read, “The IS department would implore you to reconsider.” Still, um, another, from someone who first, um, believed and then, uh, realized, uhhh, it was a hoax, wrote, “Holy crap, Bob, you gave, ummm, me a heart attack!” Several folks who weren’t fooled sent me “attaboy” messages.

One translated the text into Ubbi Dubbi. One inserted fnords into the text. One made some words “stutter.” One swapped vowels at random. One chose a single letter and replaced every occurrence of that letter with a different one.

In addition to these homegrown transformations (and more) were those contained in the venerable GNU Talk Filters package, including “Valley Girl,” “Elmer Fudd,” “Cockney,” “Redneck,” and of course “Pirate”:

At once I received a torrent o’ objections in e-mail. “Are ye serious?” read one. “This is going t’ massively piss me off, by Blackbeard’s sword, fer whatever ’tis worth.” Another read, “Th’ IS department would implore ye t’ reconsider, arrrr.” Still another, by Blackbeard’s sword, from someone who first believed and then realized it were bein’ a hoax, I’ll warrant ye, wrote, aye, “Holy crap, to be sure, Bob, ye gave me a heart attack!” Several folks who weren’t fooled sent me “attaboy” messages.

The stealth code I had planted in the mail system was set to activate automatically at midnight on April 1st and to deactivate at noon. Any e-mail messages received during those twelve hours would look decidedly odd (while safely preserved in unaltered form on our servers) — imagine the fun!


I hasten to mention that the affected version of the Danger mail system was the internal one, where odd behavior was tolerated because it was used only for testing and development by Danger’s own engineers.

…And, unfortunately, by our CEO, Hank, in a misguided attempt to be on the cutting edge of Danger technology. Also unfortunately, April 1st, 2005, was a difficult moment in Danger’s relationship with an important OEM partner. So when Hank read a short message from a junior executive at that company early that morning on his Hiptop and saw a reference to “Davey Jones’ locker,” and the final vowel dropped from words like “the” and “to,” and “you” changed to “ye,” and “arrrr” in the signoff, his first reaction was outrage at the level of disrespect being shown him. Hank escalated the matter to the junior executive’s boss, and that led to some more phone calls, and so on and so on, and I gather that quite a lot of top-level corporate officers were inconvenienced and embarrassed for a good hour or two before they figured out that the message Hank received was not the same one that the junior executive had sent. That realization caused Hank to conclude that Danger’s network had been hacked and he mobilized various Danger VP’s to discover the breach.

Now, most of the rest of the company realized at once what was happening, and that I was probably responsible for it. I was again racking up “attaboys.” When asked, I tried to feign innocence, which I did well enough in e-mail, but to those few who confronted me in person I simply could not contain my mirth.

Upper management was still in intruder-alert mode, however, and almost as soon as I sauntered nonchalantly into the office around 9 that morning, I was drafted into the effort to locate the hacker. I pretended to go off and investigate, reporting in e-mail a short time later that “there doesn’t seem to be any way for a hacker to gain access or to put a filter in front of the [internal mail service], so I’m 99% sure the prankster, whoever it is, is internal,” which was of course entirely truthful if not the entire truth. My intention was to put our senior execs at ease while still enjoying my fun. I already knew that the Operations staff, who were bearing the brunt of Hank’s call to arms, understood what was happening and were unworried. (One response to my report said, “A prankster with e-mail knowledge, hmmmm, who could that be BOB?”) Customer Service had determined easily that the production version of the service — the one with paying customers — was unaffected.

At noon the prank ended automatically. I went out and bought a selection of delicious pastries that I distributed as a peace offering to those who’d been inconvenienced. By this point I’d heard about the embarrassing fiasco that had taken place that morning between Hank and the OEM, so for him I bought a box of expensive chocolates.

It didn’t help. I’d earned Hank’s ire and never really shook it in the years since. An official reprimand was placed in my personnel file and the matter came up during my annual salary review. On the bright side, my boss and my boss’s boss both expressed their support to me — the whole thing, they agreed, was Hank’s own fault for relying unadvisedly on the internal development version of the Danger service, and he should have been a bigger sport about having been fooled. As a direct result of this episode, Danger created another internal version of the service from which non-engineers were explicitly banned.

My colleagues and I have long joked about how lucky I am that April 1st fell on the weekend in 2006 and 2007, because surely the next April Fools Day would mark the end of my career at Danger. Now April 1st is on a weekday again and it is the end of my career at Danger: today is the day I tell Danger that I resign, just in time to avoid becoming part of Microsoft. And I’m not fooling.

The You-rinator

One afternoon in 2003, during my summer as a stay-at-home dad, inspiration struck and, while infant Jonah slept, I sent this message to Andrea:

From: bobg
Subject: The best idea I’ve ever had

You know how women are always complaining that when men pee, they miss the toilet bowl?

I propose to build a male-peeing simulator for women: the “You-rinator!” Standing behind a waist-high pedestal, you’ll dial in how strong or weak the stream should be, then reach around the front to aim a fleshy nozzle at a toilet bowl. A stream of brightly colored liquid lets you see how well you do. Don’t forget to shake the drop off at the end!

It would be a huge hit at bars.

In the great tradition of geniuses being unappreciated in their lifetimes, Andrea’s response was, “Oh my god. I can’t believe how weird you are.”

Now ThinkGeek brings us Super Pii Pii Brothers, an “Amazing Virtual Pee Experience from Japan.”

Yes, it’s only an April Fools gag, but it’s the same idea, which must mean it has some merit. Maybe I was wrong to heed Andrea’s dismissive reaction. Maybe the You-rinator has a future after all. Maybe one will be coming soon to a bar near you…