Accounting, Apparently

I’ve been purging my office. Not the fun kind of purging where you toss a few cables and feel morally superior. The real kind. The “why do I still own three SCSI terminators and a Palm cradle” kind. Boxes that haven’t been opened since the Clinton administration. Random media. Old binders full of things that…

I’ve been purging my office. Not the fun kind of purging where you toss a few cables and feel morally superior. The real kind. The “why do I still own three SCSI terminators and a Palm cradle” kind. Boxes that haven’t been opened since the Clinton administration. Random media. Old binders full of things that were “urgent” in 1997.

And then I found it.

A dusty CD-R with a hand-written label that read: “accounting & source archive.”

Which is the kind of label you slap on something when you’re trying to be responsible. Or when you’re trying to hide something in plain sight. Because nobody in their right mind goes digging through accounting unless they’re paid by the hour or threatened with jail.

I almost tossed it. Almost.

But my brain did that thing it always does when it sees old media: There’s code on there. There’s always code on there.

So I dug out an external drive, played the ancient ritual of “will this disc still read,” and watched the directory tree spill out like a time capsule. And sure enough, it wasn’t just spreadsheets and invoices. It was a chunk of my life: old projects from the 80’s and 90’s, half-finished experiments, utilities I forgot I wrote, and a few things that made me laugh out loud because I can still remember exactly why I built them.

Then I hit the jackpot.

A folder with my old H2H (Head-2-Head) project. The thing I poured an unhealthy amount of energy into back when sleep was optional and everything worth doing involved a modem screaming at 14.4k.

H2H was my answer to a very specific problem:

Back in the early 90’s, multiplayer DOOM was glorious… if you were on a LAN. IPX/SPX everywhere. You could pack a room with machines, slap down some coax, and suddenly you had a digital knife fight with rockets.

But over modems? That was a different world. The modem was the choke point. The plumbing didn’t match the dream.

So I built a shim. A bridge. A duct-tape-and-rage solution that could take what DOOM wanted to do over IPX/SPX and make it work over serial/modem connections anyway. The code on that CD even reminded me how absurdly ambitious it was for the time: IPX/SPX support, serial drivers talking to RS232/8250 UARTs, remote terminal stuff, phonebook management… basically a little war rig designed to drag DOOM tournaments across dial-up lines.

And that’s what it did.

H2H let us run full multiplayer DOOM over modems, which meant you didn’t need a local LAN party to play. You just needed a phone line, stubbornness, and the willingness to endure the latency like it was penance.

Which, naturally, led to tournaments.

And tournaments led to the next problem: scoring.

We wanted end-of-round scores in the multiplayer flow. Not just “I think I fragged you more,” but something you could use to run ranked tournament play on a BBS, where the scoreboard actually mattered and bragging rights were a measurable commodity.

So my friend Mark Gundy and I did what any reasonable people would do: we asked John Carmak.

This part still makes me smile.

We reached out and basically said: “Hey, can you add end-of-round scoring output so we can support tournament play?”

And John, being John (and being in the middle of shipping a game that was actively melting the industry), told us we were late. They were too busy. Not rude. Just reality. The kind of response you get when the engine is on fire and you’re asking for custom floor mats.

Most people would’ve shrugged and moved on.

I didn’t sleep that night.

Somewhere around the middle of the night, the kind of hour where your brain starts solving problems just to avoid thinking about tomorrow, I had a thought: We’re asking for time. Time is expensive. But motivation is cheap if you’re creative.

So I called Mark. In the middle of the night. Like a maniac.

I told him we weren’t going to send another polite email. We were going to send a care package.

The plan was simple: the next morning, we’d go buy a tough cooler, load it up with snacks, soda, drinks, food, dry ice, and a stack of pizza coupons and triple stretch wrap it. Then we’d tape a note on top that basically said:

“We get it. You’re slammed. But if you take a break at all, here’s fuel. And if you happen to make those changes while you’re munching… we’d appreciate it.”

No guilt. No whining. Just logistics. Calories and caffeine, delivered with a wink.

We shipped it next-day.

Then we did the only thing you can do when you’re young and fully committed to a ridiculous plan: we sat there refreshing our email like it was a stock ticker.

And the same day the cooler arrived, an email came back from John. Something to the effect of: that kind of motivation deserves something.

And he added the scoring data.

That tiny change unlocked a whole new layer for us. H2H could now support ranked DOOM tournament play on our BBS, with actual end-of-round stats that meant something. Not just chaos. Organized chaos.

That was the era, right there in a nutshell: you weren’t “integrating with an API.” You weren’t filing a feature request into a tracker. You were two hackers with a dumb idea, a shipping label, and a cooler full of snacks trying to bend reality with persistence.

Finding that CD hit harder than I expected.

Partly because it’s proof I actually built the things I remember building. But mostly because it reminded me how much of that time was pure momentum. You’d get an idea, you’d write the code, you’d make the thing work, and if someone told you “no,” you’d figure out how to turn “no” into “not yet.”

Also: apparently my definition of “accounting” has always been flexible.

Leave a comment