Writing

Feed Software, technology, sysadmin war stories, and more.

Thursday, February 2, 2012

A tale of two modems

I used to run a dialup BBS back in the days when those were still the thing to do. A couple of years into its tenure, I had to move it in such a way that it could not retain its old phone number, and call-forwarding would have been too expensive. Considering it was a free system with no subscriptions, any sort of investment in Ma Bell for that sort of thing was out of the question.

I worried about losing my users. Enough of them called me long-distance to where it wouldn't matter where I went, but they would need to know the new number well in advance. For whatever reason, the telco was not going to set up a "the new number is..." message for me. Even if they had, that message only would have worked if they kept their modem speakers on while dialing me.

There was one good thing about this: I knew the new number well in advance. It had already been installed at an apartment in the new town, and would be following me to a house nearby. Better still, there was a computer and modem there already which weren't doing much. My plan started to come together.

In a move which seemed obvious then but now I consider exceptionally geeky, I wrote a small Turbo Pascal program which would open the COM port, initialize the modem, then wait for the line to RING. It would then send ATA and wait for CONNECT. Then it would push out a prefab message twice, pause, and disconnect. Then it would go back to sleep and wait for another call.

I then convinced the owner of that computer to download my program, start it up, and leave it running on there. The message was simple enough, and said the BBS wasn't here yet. It added that my BBS could be found at its original number until (date), would be offline certain days while in transit, and then would return online at the number you just dialed on (date).

Essentially, I had created a "night light" service a bit like the ones which ran for a short period after the US shut down analog NTSC TV service back in 2009. They both provided information about where the actual "content" can be found. The difference is that mine showed up there before the content landed, instead of appearing after it had migrated away. In my case, that was not an option.

There's more craziness to this tale. The night I arrived at the house with my computer system, I found that our local telco had done as requested and installed the BBS line at the house in parallel. For a short period, it would ring at both the apartment and the house.

Being one who cared about system availability even then, I carted everything inside, plopped it down on the floor (for there was no furniture yet), hooked it up and turned it on. It started up and started listening for a call.

Then it happened. The modem rang, and it picked up. It always paused a little bit after picking up to see if the other end would send a certain kind of tone to indicate what kind of call it would be. This allowed me to hear something crazy: the other modem in the apartment picked up too. I hadn't dropped by to shut off the "night light" machine yet!

Then, in a stunning cacophony, BOTH of my modems tried to train with the hapless caller. I have no idea how this happened, but a short while later, the noise ended, and my modem lit up with the usual signs of a connection, and my first caller was online! Somehow, the other modem had given up and my BBS modem had won. Later, I shut down the temporary machine and that was the end of my hack.

So, why did I build that? Well, sometimes I build things for people who might have the same idea as me. These are the folks who find out that A is changing to B, and go check out B "early" to see what's already there. Sometimes you find nothing, and sometimes you get a little surprise.

To call back to my TV station analogy, imagine finding out that a new station is coming on the air on a given night. You wonder what it looks like when they first power on a transmitter. Do the snow and fuzz just give way to a strong signal, or do they fight it out for a while? Do they run weird test patterns or just jump straight into programming? You have to be there when it happens to find out.

Epilogue: upon writing the last paragraph, I realized that a great many people will never know what analog broadcast snow looks like, or have any idea of the audio noise you'd get when tuning to a dead channel. They probably also never flipped through channels 70-83 in the late 80s and early 90s to listen to AMPS cellular calls.

Oh well. I guess it will just join tales about line noise in the history books after long enough.