The rules

Once in a while I toy with a blog post for a long time before publishing it — sometimes many months, as in the case of this one. I knew that I wanted to tell the story of The Grape, tie it together with my interest in flying and in computers, and prognosticate about similar leanings in my son Jonah, but as sometimes happens, the ideas didn’t quite gel, meandering aimlessly in search of some relevant point to make.

And then, as also sometimes happens, current events provided the frame for my story. So, let’s begin with The Grape:

When I was about five years old, my mom brought me and my sister on a routine trip to the local supermarket. As we entered the produce aisle we found to our delight that grapes were in season again. Immediately my mom plucked a grape from a bunch on the shelf and popped it in her mouth. She gave one to my sister, who did the same. She gave one to me and I stared at it, aghast. “I can’t eat this,” I told her. “We didn’t pay for it!” My mom patiently explained that it’s OK if people take one or two grapes as they walk by. “But that’s stealing!” I protested. “If everyone did that, there’d be none left!” Other shoppers turned to see the little boy making accusatory sounds at his mom. “We’re going to buy some anyway,” my mom said, still holding out a grape to me, “so it’s OK if you have one.” No, I insisted — we had to wait until they were paid for. Losing her patience, my mom uttered through gritted teeth the punchline of one of my family’s most-retold stories about me: “Eat. The. Grape.” I flatly refused, and she pointedly fed more grapes to my sister. We went home sore at each other, and for the rest of her life, I would express dismay at her occasional willingness to commit (very) petty larceny, such as taking home a hotel towel or an interesting salt shaker from a restaurant; and she would come back with, “Eat the grape,” which became her shorthand for my irksome excess of honesty.

A few decades later, on a visit to Tucson for a wedding, I decided to find an airplane rental club and spend a morning exploring the local airspace. I tried to persuade my friend Bruce, also visiting Tucson, to come along for the ride, since he’d expressed an interest in learning to fly and had tried it once or twice. In the conversation that ensued, he told me his interest had flagged: “I just want to fly. I got bored with all the rules and procedures you have to follow.” “Are you kidding?” I returned. “That’s the best part!”

The words sounded strange coming out of my mouth — what a bizarre thing to admit enjoying — but it was true, I enjoyed the arcane radio protocol, I enjoyed filling out navigation logs and filing flight plans, I enjoyed checklists and weight-and-balance computations…

In fact, I enjoyed flying (it occurred to me) for the same reasons that I enjoyed road rallies. In Pittsburgh in the late 80’s and early 90’s, my friend Steve and I participated in several amateur road rallies of the “time-speed-distance” variety, where the goal is not to run the course in the shortest possible time but to follow the route — mostly picturesque rural roads — as accurately as possible, armed with a sometimes deliberately misleading set of “route instructions” devised by a more or less devious rallymaster, and a complex set of regulations for how to understand them. (To this day, one of the top Google hits for “road rally” is a document that I helped to write long ago.) The pretty scenery, for me, was secondary to the intellectual exercise of driving in a rally — just as I considered the rules and procedures to be “the best part” about flying. (True to his nature, the one time Bruce tried a road rally, he grew impatient with the route instructions, tossed them into the backseat, and struck off at random into the rolling hills of Western Pennsylvania — with the enthusiastic support of his equally bored rally partner, Andrea. “And today that woman is my wife.”)

Rules — I love ’em. I love the way simple ones gives rise to complex behavior, whether it’s a game of Go or the orderly society that emerges from (for instance) people paying for their produce before eating it. It’s no wonder I was drawn to a life of writing computer software, where rules per se achieve their purest realization. A computer program is nothing but rules, after all, and with some care and some artistry it can be made elegant and simple and still create a very rich set of behaviors.

Obviously not everyone is as enamored of rules as I am. So what’s the attraction? It must have something to do with a need to impose order on a bewildering and uncertain world — bewilderment and uncertainty that comes from the irrational behavior of other people. This is a common bit of pop psychology. Being unable to fathom irrational behavior, and withdrawing from even trying, explains, for example, the popularity of Star Trek‘s Mr. Spock (who, interestingly, is a hero especially among computer programmers).

My son Jonah seems to be like this. He is always keenly aware of the rules in any situation, and alert to anyone not following them, or to any other source of unfairness, and quick to call it out. Most of his friends are not so preoccupied about fairness, but he does have one or two who are paralyzed by fits of red-faced outrage whenever anything doesn’t go according to the rules.

Having witnessed a couple of those fits, and thinking back over my own life, I’ve lately come to think that those who love rules are at a disadvantage to those who can abide their neglect, who can tolerate ambiguity better. Mr. Spock was only the first officer aboard the Enterprise, after all; it took the greater resiliency of James T. Kirk to be the captain. And while one of Jonah’s friends is pitching a fit, the others are still running around and having a great time, completely unfazed.

This is what brings us around to current events. This week the U.S. Senate will debate the so-called FISA bill that, among other things, gives retroactive legal immunity to the Bush administration and to various large corporations for illegal warrantless wiretapping activities dating back to before 9/11, and prohibits any details of those illegal activities from ever coming to light. You could have been the subject of illegal surveillance, and if this bill passes, as it is expected to do, you would have no legal recourse for finding out about it, ever. Does this sound fair? Of course not, and those who love playing by the rules have been up in arms about it — red in the face and all but paralyzed, like one of Jonah’s fit-pitching friends. As DailyKos’ Hunter writes:

So, why have activists spent so much effort opposing retroactive corporate immunity as part of new FISA legislation, when there are so many other things in the world to be outraged about? […] It demonstrates a complete lack of regard for the law

and

We were never told why it was so all-fired important […] the only rationale available seems to be the most cynical one — it is merely doing the bidding of companies that provide substantive campaign contributions.

So we citizens can believe all we like that everyone’s equal before the law, but in fact if you’ve got pockets deep enough, you can buy whatever kind of law best suits you. Very likely this has always been the reality in America (as it has throughout human history), but all past attempts to tilt the playing field in favor of the powerful and the well-connected at least pretended to be for the common good. This bill does not, and that’s what’s so jaw-droppingly wrong with it: it says that the vaunted “rule of law,” the very bedrock of the Enlightenment and the principle that has always guided America no matter how far she’s strayed from it, is now officially just a fairy tale, and only fools will henceforth strive toward that ideal. If you’re wealthy, go ahead and break whatever laws you like; your pals in Congress will patch things up later.

How many generations will it take for America to recover from abandoning even the pretense of fairness? How much civil unrest? How much political violence?

This is another reason people like me love rules — we can see what life would be without them. But if the rule of law is just a fantasy and always has been, then laying it bare like this might be just the thing we need. Give everyone else a chance to see what life is like without rules. In the end, I predict, though the cost may be high, everyone will love them like I do.

Whaddya know, mosquitoes still whine

Last year I wrote,

I know and accept the reality of age-related hearing loss, especially in high frequencies […] Can it be that we’ve had silent mosquitoes flying around? Is it possible I lost my hearing at only the precise frequency that mosquitoes emit?

Would that I had! Mind you, I’m not saying I want to be deaf. But last night, around 2am:

eeeEEEEEE!

A mosquito in my ear! In two seconds flat I was on my feet and wide awake, a process that usually takes two cups of coffee and about three hours. I turned on all the lights in the house and hunted the mosquito, hyperalert. (It was a warm night, so Andrea and the kids were sound asleep in a tent in our backyard; I was indoors because I worked at the computer late into the night.)

I got one glimpse of the mosquito but couldn’t kill it, and after a fruitless half hour of stalking it I did the only thing I could: turned off all the lights, smeared citronella oil all around my head, and got back into bed, eyes wide open and muscles tensed to leap from bed once more and deal hot mosquito death.

By 3am I was asleep again, finally. The box of citronella wipes said they last for about 3 hours, and this morning at 6am:

eeeEEEEEE!

I’m afraid to go to sleep tonight. If I am again awakened by a keening whine in my ear I believe I’m fully capable of doing a Harry Caul on my bedroom in search of that damn bug.

Back in business


Joseph Costanzo, Jr. and infant Jonah
at The Primadonna, October 2002

I’m not the only one who started a new job this week. I have company in the person of Joseph Costanzo, Jr. of Pittsburgh, Pennsylvania, once lionized (including by me) as the region’s greatest restaurateur, then disgraced, now resurgent with the opening of his new restaurant, Cafe Costanzo, in the “Uptown” neighborhood of Pittsburgh.

Buona fortuna Signore Costanzo! I will keep my promise and visit your new restaurant soon.

Whips and change

[This post is participating in Cerebral Mastication’s Indiana Jones blog-a-thon.]

As high school wound down for me in the spring of 1984, my class load was pretty light and I put in more time at my afterschool programming job in the Flatiron district. My occasional wanderings in that neighborhood — running errands, finding lunch, etc. — took me past several wholesale import shops, some with large storefronts displaying selected items from their stock in the window. One day as the premiere of Indiana Jones and the Temple of Doom grew near, I passed one such store and saw something that gave me an idea.

Two years earlier, my friends and I had attended a sneak-preview screening of E.T.: the Extra-Terrestrial. When the house lights came up at the end, we noted with amusement two manly men seated a couple of rows away, complete with Caterpillar trucking caps, too overcome with emotion to get up and leave the theater right away. “This is going to be huge,” we predicted. And we had an idea.

A few months before that, New York magazine published an article about our school called “The Joyful Elite” (original article). It inspired equal measures of pride and outrage: pride because it said we were some of New York City’s smartest kids, and outrage because it said we acted like we knew it. The school was in an uproar for several days because of it; and so my friends and I capitalized on that. In those pre-Zazzle days we found a novelty printing shop in the Yellow Pages (called “Abat,” which I’ll never forget because of the memorably gruff way the owner answered the phone: “’Lo, Abat”) and ordered a large batch of “Joyful Elite” buttons. When we got them a couple of days later, we carried our supply through the hallways between classes, selling them to students and faculty for two dollars apiece. They sold like hotcakes and we made hundreds of dollars! (A big deal, in high school in the 80’s.)

So when the lights came up after E.T. and we knew it was going to be a hit, we saw a profit-making opportunity. We had Abat print up a batch of “I ♥ E T” buttons and congregated outside a big midtown theater on the film’s opening day. Aware that we were crossing some sort of a line with respect to merchandise licensing, we prepared a story to tell any law-enforcement official who asked that the buttons meant, “I love Edison Tech,” our (made-up) alma mater. Fortunately no law-enforcement official ever required us to test the quality of that lie — perhaps because we sold a grand total of two buttons to exiting moviegoers. Our immediate post-mortem explanation for our failure was that everyone who sees E.T. leaves the theater too verklempt to engage in crass commercialism. On further thought, a button was not much of a way to commemorate the E.T.-viewing experience; but at that time the only tool we had was a hammer (the hammer of printing novelty buttons) and every problem looked like a nail. The excess inventory, a cartonful of “I ♥ E T” buttons, sat in my mom’s apartment for decades. If only we’d had some sort of item to sell that was more subject-matter-appropriate.

Anyway, when I passed that importer’s storefront two years later — with the opening of the first Indiana Jones sequel just a few days away — and my eyes alighted on bagsful of six-foot-long imitation-leather bullwhips for a dollar apiece, I snatched up several dozen.

I brought them with me to the premiere showing of Indiana Jones and the Temple of Doom. I arrived early enough to be near the head of a line that eventually wound from the box office of the Loews Orpheum (then on 86th Street — where I also lined up early for the premieres of Return of the Jedi the previous year and The Empire Strikes Back three years before that), down the block, and around two corners. I set a big bag of bullwhips on the ground by my feet. When my friends arrived later to hold my place in line, I made periodic forays along the ever-lengthening queue of people to sell my bullwhips for five bucks apiece, and I cleaned up. Many eager purchasers wanted to know why I wasn’t selling fedoras, too. (Answer: I’d thought of that, but they were too expensive.) A cop came and tried to shut me down but I talked him into accepting a free bullwhip instead and he left me alone.

I made hundreds!

Update: I’ll be damned, it looks like Abat still exists.

How I’m doing on the 75 things

One of the big memes cruising the Information Superhighway last week was Esquire magazine’s list of “The 75 Skills Every Man Should Master.” I’ve reproduced their list here (but not the commentary accompanying each list item; I hope this constitutes “fair use“) in order to explore how well I’m doing on each of the things in the list. Without further ado:

  1. Give advice that matters in one sentence. Like “Secure endcap or die?”
  2. Tell if someone is lying. Easy with some, hard or impossible with others.
  3. Take a photo. My strategy: take one million photos and trust to random chance to make some of them good.
  4. Score a baseball game. I know that “K” means strikeout.
  5. Name a book that matters. Heh: Writing GNU Emacs Extensions.
  6. Know at least one musical group as well as is possible. As well as is possible? That sounds like it could devolve into a philosophical debate.
  7. Cook meat somewhere other than the grill. Check.
  8. Not monopolize the conversation. I can do this, honestly, but you’re at the wrong website for me to demonstrate it.
  9. Write a letter. Check.
  10. Buy a suit. Check.
  11. Swim three different strokes. Check.
  12. Show respect without being a suck-up. Check.
  13. Throw a punch. I know the theory, but the last time I tried for real, it didn’t avail me too well.
  14. Chop down a tree. I spit once in each palm before seizing the axe and striking a single mighty blow, right?
  15. Calculate square footage. Got that one covered.
  16. Tie a bow tie. I’ve tried. I’ve not yet succeeded.
  17. Make one drink, in large batches, very well. One drink, eh? I’ve cooked entire Thanksgiving dinners for forty people!
  18. Speak a foreign language. Sí se puede.
  19. Approach a woman out of his league. Done, sort of.
  20. Sew a button. Done.
  21. Argue with a European without getting xenophobic or insulting soccer. Fast kicking! Low scoring! And ties? You bet! What’s to insult about soccer?
  22. Give a woman an orgasm so that he doesn’t have to ask after it. Gentlemen don’t tell.
  23. Be loyal. To a fault? Check.
  24. Know his poison, without standing there, pondering like a dope. Is it too unmanly if my “poison” is a Cosmopolitan?
  25. Drive an eightpenny nail into a treated two-by-four without thinking about it. I admit: I stink at this. I bend more nails into useless shapes than I manage to drive in properly.
  26. Cast a fishing rod without shrieking or sighing or otherwise admitting defeat. The one and only time I did this was 1976. I did OK.
  27. Play gin with an old guy. Just wait, soon I’ll be the old guy.
  28. Play go fish with a kid. Haven’t done it, and it’s high time I did.
  29. Understand quantum physics well enough that he can accept that a quarter might, at some point, pass straight through the table when dropped. In fact I understand it well enough to know why some people might think this is possible but also why it will in fact never happen.
  30. Feign interest. Check.
  31. Make a bed. Check.
  32. Describe a glass of wine in one sentence without using the terms nutty, fruity, oaky, finish, or kick. That’s a cinch. At home, where we have many bottles of wine that predate having children, I can often be heard to say, “I think this wine has turned to vinegar — but I’m not really sure.”
  33. Hit a jump shot in pool. Gonna have to work on that one.
  34. Dress a wound. Hey. I have two young boys. We have a whole shelf that’s just Band-Aids and Bactine.
  35. Jump-start a car (without any drama). Change a flat tire (safely). Change the oil (once). I have attended, but not performed, oil changes. Same thing with jump starts; they scare me a bit. I have changed a flat tire a couple of times and did a fine job of it.
  36. Make three different bets at a craps table. I’ll see your “make three different bets at a craps table” and I’ll raise you a “write craps-playing software.”
  37. Shuffle a deck of cards. Check.
  38. Tell a joke. My favorite:

    A cop is parked at the side of the highway when he sees a convertible go by with the top down. A man is driving and in the back seat there are six penguins. The cop says to himself, “This oughta be good,” pulls onto the road, and in a minute has the convertible pulled to the side.

    “What are you doing with these penguins, sir?” he asks the driver.

    “Honestly I’m not really sure what to do with them, officer,” says the driver. “They just showed up in my car this morning. I’d be grateful for any suggestions.”

    The cop rolls his eyes and says, “Why don’t you just take them to the zoo?”

    “The zoo. OK, thanks!” says the driver, and the cop lets him go.

    The next day, the same cop is in the same spot by the highway and sees the same convertible drive by with the same six penguins in the backseat! Again he pulls the car over.

    “I thought I told you to take those penguins to the zoo!” says the cop to the driver.

    “I did!” says the driver. “And we had so much fun, today we’re going to the movies!”

  39. Know when to split his cards in blackjack. Yes, but you’ll seldom catch me playing blackjack, because I don’t like the nasty looks I get from other players at the table when they think I’ve made a wrong play and they don’t get the cards they were supposed to.
  40. Speak to an eight-year-old so he will hear. Check.
  41. Speak to a waiter so he will hear. Check.
  42. Talk to a dog so it will hear. Check.
  43. Install: a disposal, an electronic thermostat, or a lighting fixture without asking for help. Does it have to be one of those three specific things? I’ve done several other, similar things.
  44. Ask for help. Check.
  45. Break another man’s grip on his wrist. Don’t you have to be a Vulcan or something?
  46. Tell a woman’s dress size. I thought it was universal for a man to tell a shopgirl, “She’s about your size,” when buying clothes for his gal.
  47. Recite one poem from memory. Check (including one or two that aren’t even by me).
  48. Remove a stain. Check.
  49. Say no. Yes.
  50. Fry an egg sunny-side up. Here again, I must admit to many tries and many failures. What could be easier? And while I’m pretty handy in the kitchen, I’ve never once managed a sunny-side-up egg that wasn’t brown and rubbery.
  51. Build a campfire. I’ve never been camping. (All together: “You’ve never been camping?!”) But I’ve built some decent fireplace fires in my time, even with no Duraflame logs around.
  52. Step into a job no one wants to do. Done.
  53. Sometimes, kick some ass. With rhetoric? Check.
  54. Break up a fight. The opportunity hasn’t presented itself.
  55. Point to the north at any time. I can point north most of the time, except for the first several months after moving to California.
  56. Create a play-list in which ten seemingly random songs provide a secret message to one person. Huh? This is one of the seventy-five things? (Or is this a secret message to one person?)
  57. Explain what a light-year is. Check.
  58. Avoid boredom. Check.
  59. Write a thank-you note. Check.
  60. Be brand loyal to at least one product. Check.
  61. Cook bacon. It almost cooks itself.
  62. Hold a baby. Check.
  63. Deliver a eulogy. Check.
  64. Know that Christopher Columbus was a son of a bitch. Check.
  65. Throw a baseball over-hand with some snap. Check.
  66. Throw a football with a tight spiral. My spiral could be tighter.
  67. Shoot a 12-foot jump shot reliably. Not if my life depended on it.
  68. Find his way out of the woods if lost. You keep your left hand on the wall — no, wait, you carve an X on each tree you pass — no, wait, you build a small fire and watch which way the smoke blows — no, wait you — oh screw it, I’ll just summon some friendly anthropomorphic woodland creatures by singing and they’ll help me.
  69. Tie a knot. Right over left; left over right. Got it.
  70. Shake hands. Check.
  71. Iron a shirt. Check.
  72. Stock an emergency bag for the car. Check.
  73. Caress a woman’s neck. Check.
  74. Know some birds. Personally?
  75. Negotiate a better price. Do I get extra points for having haggled over jewelry in the ancient bazaar in Jerusalem’s Old City?

Missing from the list is “be man enough to be satisfied with the skills you have,” which I am.

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:

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.

Bullet time

I decided to apply a little physics to my KitchenAid mixer misadventure, in which I claim I was nearly killed by a hunk of metal propelled past my head by spinning mixer blades. When that projectile whizzed past my head, how much danger was I really in compared to, say, a bullet from a sniper’s rifle?

It comes down to a calculation of the kinetic energy of the projectile. Fortunately it’s very easy to approximate by making a few assumptions and by ignoring the effects of air resistance and the spray of cake batter.

The projectile was the mixer’s own removable endcap. As soon as it vibrated loose, fell into the bowl, and was struck by the spinning mixer blades, it was on a ballistic trajectory, arcing up, past my head, and then down behind me. Let’s assume that the highest point of the trajectory was about level with the top of my head, roughly 1.75 meters off the ground, and that this height was attained just as the projectile was passing me, meaning that once it did pass me, it had already started down.

We can decompose the motion of the projectile into a pair of vectors: the one pointing straight down to the floor and the one perpendicular to it, pointing horizontally past my head. The speed in that direction was constant until the endcap hit the floor. The speed in the floorward direction was increasing due to gravity.

Since we’ve assumed the endcap reached its apex as it passed my head, we know that its downward velocity at that moment was zero. We also know that the acceleration in that direction (due to gravity) is 9.8 meters per second per second. Finally we know from high school physics that:

distance = initial-velocity×time + acceleration×time2/2

and since we know initial-velocity is 0, we can rearrange this to say:

time = √distance/acceleration

And since we know “distance” is 1.75 meters and “acceleration” is 9.8 m/s2, we know that it took about 0.4 seconds for the endcap to fall from the height of my head, regardless of its motion in the horizontal direction.

In that 0.4 seconds I estimate (based on where I later found the endcap) that it covered a horizontal distance of 3 meters, giving it a speed of 7.5 meters per second.

I haven’t weighed the endcap but I’m going to guess it’s about 0.25 kilograms (around half a pound). Again, high school physics tells us that kinetic energy is:

mass×velocity2/2

which means the endcap, if aimed just a bit differently, would have struck me with about 7 joules of energy.

How bad would that have been, compared to a bullet? Apparently even the wimpiest guns deliver hundreds of joules to their targets, so we’re not looking at a shearing-off-the-top-of-my-head scenario here. On the other hand, I was there, and I’m not exaggerating when I say that hunk of metal could have dealt me a grievous injury at the very least. If that was what seven joules looks like, I have a whole new appreciation for the stopping power of a bullet.

How does a man find his way in a world full of grey?

In honor of yesterday’s history-making speech about race relations in the U.S. by Barack Obama, I’ll relate my own brief tale, allegorical but true.

Late one night in college I was walking home from my friends’ house along Ellsworth Avenue in Pittsburgh. As I neared Negley Avenue I apprehensively observed a small gang of young black men coming toward me from the other direction. (I’m white.) I say “gang” because the similarity of their attire was conspicuous — they all wore white pants and white windbreakers.

My apprehension was mixed with shame at the knee-jerk racism of that reaction. As they and I closed the gap, I determined to employ my New York City street smarts to avoid eye contact while showing no fear. I’d walked harmlessly by tough-looking individuals and groups thousands of times. There was no reason to think this time would be any different.

We passed each other, and without warning one of the gang lashed out with his fist, catching me in the jaw and knocking me flat on my back. For one terrifying, helpless moment I believed their fun was just beginning and that the others would get in their licks; but then they simply continued on their way.

For several long seconds I couldn’t move. I was seeing stars; the wind had been knocked out of me; I was bleeding. I could feel my jaw swelling up moment by moment. I could not believe that I had just become a victim of racial violence (for what else could it have been?).

That’s when the allegorical thing happened. A man who’d witnessed the attack hurried over to me from across Ellsworth Avenue. He helped me sit up and asked if I was OK. He stopped me from trying to stand until I’d had a moment to recover, sitting with me on the curb and waiting patiently for my head to stop spinning. Then he helped me to my feet. He asked me what had provoked the incident and expressed outrage and dismay when I told him nothing had. He offered to escort me to Shadyside Hospital, just a couple of blocks away; I politely declined. He asked if there was anything else he could do. I told him I was OK to continue on my way and thanked him profusely.

If my attackers were devils, this man was a saint. And he, too, was black.

I haven’t told this story too often compared to some of my others. Part of the reason is, who wants to tell a story about being helpless and afraid? But another part was my confusion, frankly, about how to cast the role of race in this story. I’m fairly sure that if my attackers hadn’t been black or I hadn’t been white, there would have been no attack. But like a good liberal I wanted to be politically correct, disregard our respective skin colors, and make the attackers into four generic people who were only strikingly antisocial.

But thanks to the lesson Barack Obama sought to teach us yesterday I can acknowledge that race in America is a complicated issue, and we only perpetuate the problems — I do — by ignoring them or by pretending they’re easier than they are.

Yes, it was wrong to react with apprehension to the sight of four black men; but yes, it was also naïve to ignore my intuition. Yes, the men who attacked me were pathologically maladjusted individuals, the polar opposites of the kind stranger who helped me, proving I should judge them all not “by the color of their skin but by the content of their character”; but yes, their pathology was likely to be rooted one way or another in race.

Yes, it’s all difficult and confusing; but yes, it’s time to get the difficulty and confusion into the open and air it out. Until now we’ve all pretended that acting color-blind is the way to achieve racial justice, but it isn’t. The real answer is to admit we don’t yet have an answer, but to take the first step anyway of agreeing on the goal of universal equality.

There’s no black, there’s no white
Where is wrong? Where is right?
I’m confused and unable to say
How does a man find his way in a world full of grey?
— Oscar Brown Jr.


Want what you want

For my freshman year at college, CMU‘s dorm-room allocation policy paired me with a music major named Joe.

We were not well-matched — or we were, depending on whether you thought Felix and Oscar were made for each other. I was a math/science/computer nerd who didn’t know a soul in Pittsburgh. He was a Pittsburgh native with movie-star looks, an athletic inclination, and several high-school buddies around. About the only thing we had in common other than our dorm room was that I wanted sex with lots of college girls and he had sex with lots of college girls.

We traveled in different circles and on different schedules. We saw each other only seldom, even in our room.

One day I ran into him in a student lounge on campus, playing the piano — beautifully, of course. Later, back in the dorm, I told him (not for the first time) about how envious I was of his ability, and about how long and desperately I’d been wanting to learn the piano myself.

Joe asked me whether I’d ever taken lessons. I told him I had, briefly, for just a few weeks once, and that occasionally since then I’d sit down at the keyboard and try to produce some nice sounds, but that I never seemed to get anywhere. Was there anything specifically stopping me from learning the piano? he wanted to know. Only having enough time, I answered.

Joe and I got along well. He was pleasant and easygoing. But on this occasion he uncharacteristically lost his patience with me. “You obviously didn’t want to learn piano enough,” he told me, “or you would have done more about it long before now. So either do something or admit you don’t want to learn piano as much as you say you do. Either way, stop complaining!”

I was stunned, but I grasped the rightness of his words at once.

Obviously, while I’d been busy with launching a computer dating service, having subway adventures, memorizing movie dialogue, staging a fantasy photo shoot, and generally trying in a hundred ways to have a very cosmopolitan high-school life, Joe had been somewhat more single-mindedly practicing and developing his talent. I’d made my choices and he’d made his. I’d prioritized my other activites above piano-learning; or, put another way that should have been obvious but wasn’t, I’d prioritized piano-learning below almost everything else.

I doubt Joe could have known the effect his righteous outburst would have on me. If he hadn’t spoken harshly to me — if he’d said in his laid-back way, “You really ought to do something about learning the piano” — it wouldn’t have registered at all. It took a verbal slap in the face to teach me the life-changing lesson that wanting something only enough to complain about it — and not enough to actually do anything — is the same as not wanting it.

Don’t waste time on the stuff you think you want but really don’t, and get crackin’ on the stuff you do.