Field fixes

It used to be pretty easy to tell when you were done with a piece of embedded software: You wrote the bits to mag tape, the kind on a reel, boxed it up with a big check and mailed it off to chip company in California (if you were already in Cali you just went down the street a few blocks and saved some postage).  Then you waited a couple of months, and if the mask ROMs you got back were in runnable condition, you sold it.

These days, with everything connected and usually updatable, there’s no real “We’re done” event. Oh, there’s a ship party, but usually we go back to fixing bugs after that. If your toaster is suddenly making charcoal briquettes because of a bug in its internal clock, you can just hook the thing up to the internet and grab the latest firmware. The team that did the toaster software is on the hook for fixes.

Briinngggg!!!! [1]

“Urm . . . three bloody o’clock in the — wazzup?”

“We have eighteen hundred bug reports of the iToast 5G sending fountains of flames to the ceiling in the past few hours. Can you come in and fix it?”

“Er, why do I need to drive in? I can log in and fix it from here.”

“Also, explosions. We really want everyone away from those toasters.  You should probably avoid the kitchen and just hit your house’s main breaker on your way here.”

I’m not necessarily saying that the quality of things has dropped — it’s freaking awesome being able to add functionality to products in the field, or being able to fix crap that you fat-fingered at 2AM — but somehow, I miss being done.


[1] Yes, I know that telephones don’t go “Brrrinnngggg” any more.


I’ve been riding motorcycles for over 20 years. How I started went like this.

“Want to go to lunch?” I asked Munch, one of my cow-orkers. This fellow doesn’t have a car and rides exclusively, every day of the year (which is possible in Silly Valley).  He’s one of the best street riders I know.

“Okay,” He said. He handed me his spare helmet. “Let’s go.”

“Uh,” I had to think about it for second, “Okay.” I’d never been on the back of a motorcycle before.

We collected Jeff, another of the every-day riders in our group, and went to the parking lot. I’d seen their bikes out there, but hadn’t really appreciated them. Now I was going to get a much closer look.  Munch was riding a BMW K100 RT, a touring model, and Jeff had a smaller K75.

Munch supervised me as I put on the helmet. It fit okay. I didn’t know how to secure the D-rings, so he demonstrated. He then did some stuff at the handlebars which started the bike (I was surprised at how easy that seemed), got on and rocked the bike off its center stand. He turned to me with some instructions.  “You,” he said sternly, “Are like a sack of potatoes. You don’t help me and you don’t *not* help me, either. We’re going to lean, and you can’t fight it. Got it?”

I nodded. Nodding with a helmet on felt weird. I got on the passenger seat and found a place to hang on. I didn’t want to *hug* my cow-orker, so I found handholds behind me.

We headed to a burrito joint a couple miles away. I thought we’d take side streets out of pity for a newbie, but Munch got right on the highway. I hung into the bike, and every time he accelerated I thought I would fall off backwards (there was no danger of this, it just /felt/ like it).

The freeway exit, a nice sweeper, was exhilarating.

We ate lunch (“Burritos as big as your head” at a place where the staff barely spoke english) and talked about bikes.  I knew very little about them and I had lots of questions. When we finished, we visited California BMW just down the street, where I wandered, lost and curious, between the unfamiliar bikes while Munch and Jeff talked to the people running the shop.  Their business finished, we zoomed back to work. I returned the helmet to Munch.

When I got back to my cubical, I called the Motorcycle Safety Foundation and enrolled in a beginner’s training course. A couple months later I spent two weekends and two evenings learning how to ride. It was great fun.

It had been suggested in the MSF course that our first bike should be something we’d be happy with for a while, rather than something “small and safe” (since small doesn’t necessarily equate to safe), so I decided to get a medium-size bike. About a week after finishing the course, I had a bike, a Honda Transalp, 600cc.

After a few more weeks of practice riding (some with Munch, a lot more in the hills around Silly Valley), I took the DMV motorcycle test.  It was a cinch compared to the MSF training. When I finished, the examiner who had run me through the obstacles asked if I’d taken MSF.  I said so, and the examiner told me that the MSFers had a far easier time passing the test.


Since then I’ve been through five or six bikes (mostly BMWs), and logged a few hundred thousand miles on two wheels, mostly in the hills and up and down the California/Oregon/Washington coast. For a few years I didn’t even own a car, I biked everywhere.


Some other memories:

Jeff bought a new Ducati from a dealer in Livermore. Munch and I rode him over, and we took the bikes back over Mines road, up the back of Mount Hamilton and back down into San Jose; a nice mix of twisties and fast sweepers. During this ride, pieces of Jeff’s new bike kept falling off: A glued-on reflector here, some other widget there. By the time we reached the First Friendly Gas Station in San Jose, Jeff’s bike had lost the use of its kickstand, and he had to fuel while straddling the bike to keep it upright. Munch and I bid him farewell on his long ride up to his home in San Francisco; we didn’t follow him to pick up any more stray parts.

– – – –

One weekend we took a ride to Monterey, and returned on 101. Jeff was upset at all the freeway miles, so we turned west into the hills south of San Jose.  Jeff was on a new BMW K100RS, Munch was on his K100RT, and I had my Transalp. Pretty soon we started hitting dirt roads; I was in my element, but the K-bikes were having a hard time. A dog or two chased us. Finally we reached the top of a ridge and found paved road, where we parked and just doubled over in laughter. K bikes are not dirt bikes, but with a sufficiently good rider, they _can_ be.

– – – –

Munch was one of the best programmers I know. I worked with him for several years at Apple, and I when I moved groups I was always trying to get him to come to the group I was in (and later, to one or two of the startups I was at).

Once, he needed to make some tables for a 68000 disassembler. He decided to learn Prolog, and in a day or two he’d generated the code for the disassembler using a Prolog interpreter he’d found. Good programmers write tools. Great programmers learn new stuff at the same time.

– – – –

When I joined Apple in 1987, engineering samples of the new 21″ monochrome monitors were just arriving in various groups. Our group got one, and Munch got it. These displays were an unbelievably crisp white, and the amount of screen real estate was incredible; it reminded me of my hours on the Xerox Alto, only better. Remember your first time using two large monitors? Yeah.

Munch was a young curmudgeon, and used the “Kong” monitor in the following way: As a set of 80 by 25 line terminal windows, all stacked up directly on top of each other. He’d have ten or twenty of these, and just switch between them. To anyone watching it was frustrating, but Munch knew exactly what he was doing, and where everything was.

“I can’t believe we gave you that monitor,” said his boss, “The way you’re using it, it’s just wrong.” But Munch was incredibly productive, and nobody really complained that he didn’t make use of the screen space the way the rest of us would have.

– – – –

The weather in Seattle was absolutely perfect for motorcycle riding, and I was out in it today, reflecting on all of this.

Munch’s real name was John Paulson, and he died of cancer in March.  I just found out a few hours ago. I miss him.