Coking the WX Build

Here’s a little slice of Ned’s Ancient History: I artfully surfed the dying wave of the Cold War. I paid for an expensive education with the help of an Air Force ROTC scholarship, thanks to Ronald Reagan’s extravagant defense bender. After three years of thoroughly enjoyable active duty, I emerged from the Air Force earlier than expected, thanks to George Bush the Elder’s frantic defense downsizing. Between those bookends, I pulled down the Berlin Wall, caused the Soviet Union to collapse, and co-wrote the smash hit “99 Luftballons”. Which is to say, I came of age in the 80s, and I wore the blue uniform. And I remember the Strategic Air Command (“Peace is our profession”). So does my buddy JMike, who, like me, was a Cold War cadet. For a while, back in the day, he actually worked at SAC Headquarters at Offutt Air Force Base. He was a weather guy, and one day he coked the WX build. I’ll let JMike explain the significance of the phrase. I like this story, and I want you to know that I specifically requested that JMike include the bonus phrase “spooge jar”.

The Day I Coked the WX Build

by J. Michael Hammond

I don’t think I’ve really accomplished all that much in life. When Mozart was my age, he had been dead for quite a long time, to misquote Tom Lehrer. Now that I’m 44, this fact bothers me a little more than it used to.

But at least I’ve had a wide range of experiences that serve as grist for stories that are, I hope, at least mildly entertaining.

I had already collected a decent number of good stories by my mid-twenties, when I worked with Ned at the MathWorks. He and I would occasionally swap stories. Some of our stories — or at least phrases from them — have stuck with us. For example, Ned introduced me to the concept of scooping mayonnaise, and although I don’t remember the full story, I can see in my mind’s eye (or hear in my mind’s ear?) his story that included the phrases “shake my hand” and “get out of my van.” Ned tells me that several of my stories have stuck with him over the years as well. One of these is the story of the day I “Coked the WX build.” Ned asked me to write up that story, so here it is.

In 1989 I was a lieutenant in the Air Force, working at Air Force Global Weather Central at Offutt Air Force Base in Omaha, Nebraska. Offutt was a big base, including Strategic Air Command headquarters and tens of thousands of personnel. Air Force Global Weather Central was primarily concerned with the production and communication of weather reports and forecasts. It was located in a building inside a building. There were a few old B-52 hangars over on the north side of the base. One hangar had several smaller buildings inside it. These smaller buildings were interconnected with basement-level passages so the distinction between sub-buildings was a little blurry. This complex was large enough to contain a decent-size bowling alley (12 lanes maybe, plus a fast food area) in the basement level. But (as often happens) I digress. The point was that there I was, an Air Force meteorologist, sitting in an office in a building inside a building. I had to get up and walk at least 50 yards, through three or more doors, to see the sky.

I was part of a ten-person group tasked with maintaining a software component called RTWX, pronounced “arr tee wicks” with maybe a slight stress on the “wicks”. This stood for “Real-Time Weather”. The “WX” was the part that stood for “weather” and was always pronounced “wicks”, regardless of the context in which it appeared. The group leader was a captain, there were typically about five other officers (lieutenants and younger captains) who did programming, and there were three or four enlisted guys, including one sergeant who was a decent programmer, one sergeant who took care of the group’s paperwork, and one or two airmen who were nice kids but whose actual job functions were always a mystery to me.

Take a mental journey with me back to 1989 military software development. Are you old enough to remember 1989? My Apple II+ was already a museum piece. IBM was many generations into the PC. Macintoshes were almost usable by then. But due to the huge and slow procurement process of large governmental organizations, AFGWC was operating on UNISYS mainframes. Much of the software was written in UNISYS assembly language. The rest was in FORTRAN. Upgrading FORTRAN V code to FORTRAN 77 was a significant part of what we were doing. In 1989. Yes, that “77” means that FORTRAN 77 was developed in 1977. Did I mention that part of our operational process involved an airman first class going down a hallway with a double-armload of punch cards? So now you sort of get the picture. Basically, we were a weird throwback to the ’60s and ’70s. I could tell you the story about the time I blew a guy’s mind by writing him an interface that let him manipulate some data directly on his “scope” rather than having to phone down to the computer room to run a batch job and send him up a bunch of fanfold paper with the results. I used to say that I had dragged him, kicking and screaming, into the ’70s, which got a good laugh in 1989. But I digress.

Our software was a fundamental part of a worldwide meteorological communication network. As such, we had to be careful about delivering builds to the live system. “Careful” was kind of a relative term. We didn’t know much about software quality assurance back then. What passed for a “test plan” was to have our administrative sergeant print up a standard two-dozen-page boilerplate test plan (whose only actual test, as far as I could ever tell, was to run an hour’s worth of old live data through the system in the vague hope that it would tickle whatever code we’d changed enough that we could then cross our fingers and say we hadn’t broken the system), print out an extended listing of the changed code, mark up the listing with colored pencils and sticky color tabs in some arcane way that may or may not have been some kind of variable cross-referencing scheme but I never took the time to figure it out, check to make sure he hadn’t left any coffee rings on it anywhere, punch three holes in it, and stick it in a binder on our shelf where old builds go to die.

This looks like a good place to go off on a digression about our group’s coffee ritual. We had a special pitcher that we could fill with clean water from the nearest bubbler – oops, I mean water fountain — or the sink in the nearest bathroom. But the coffeepot itself was too big to fit into either the fountain or the sink. We were also strongly discouraged from washing our coffee mugs out in the water fountain, which was a lot closer to our office than the nearest bathroom. So our administrative sergeant put the big old shell of an old-school percolator on the same table as the coffeepot and we would pour our stale coffee into that. It would take a couple weeks to fill up, at which point someone would go chuck the contents into the toilet and rinse the thing out as best he could. We called the contents “spooge” and labeled the jar the “Spooge Jar”. People would come from other offices to gape in awe and horror at the biologically active muck inside. Once I took a copy of some letterhead and wrote up an official-looking memo about storage of biohazards on military installations, taped it up behind the jar, and got a good laugh.

But this isn’t really a story about the Spooge Jar; this is a story about the WX build.

I mentioned the shelf where old builds went to die. That’s actually my naïve characterization of it. That shelf, and the builds interred thereupon, actually had some kind of mystical (rather than practical) significance to the greater organization. The practical lesson that taught me this fact went as follows. One fine day, I wanted to go look at the listing of some code that I had tweaked for a new build. I did not have a printout handy and did not want to walk down two hallways and a set of stairs to the main room to pick one up. So I grabbed a copy of a recent WX build that was sitting on the table next to the spooge jar, took it to my desk, and flipped it open to my section. Oops! The paper caught some air, flipped farther than I expected, and knocked a half-full twenty-ounce Coke bottle all over my desk, and all over the build. I thought I’d gotten away hugely lucky since I hadn’t splashed any on my uniform. I cleaned up my desk – I had to get into a couple drawers and I actually had to take apart the telephone to clean up some stuff that had somehow gotten inside it. But the build itself had soaked up a good six ounces of the spillage and was a total loss. So I took it out behind our building (by which I mean into the open portion of the enclosing B-52 hangar) and threw it into the paper-recycling dumpster.

Shortly after I got back, a hubbub (or was it a brouhaha? No, it was a hubbub) broke out over by the administrative sergeant’s desk, next to the spooge jar. Evidently we were due to submit a build to the Committee To Which Builds Are Submitted, and it was due in an hour or two. The administrative sergeant had an empty binder on his desk surrounded by some clearly-recently-used colored pencils and sticky color tabs, but no build.

Uh oh.

I guess it’s probably time to bring this story to a speedy conclusion. We were able to get a postponement from the Committee To Which Builds Are Submitted, which was apparently an unprecedented event, with the excuse that “Lieutenant Hammond coked the WX build.” And, given the slow rate of government procurement, and the fact that a lot of the code we were working on in 1989 had been originally authored in 1966 and maintained since then, I would not be surprised if the form on which that line is written is still hanging, next to the hastily reprinted, re-colored-penciled, and re-sticky-tabbed WX Build #258, on the shelf where old builds go to die.