The Smart Modem
computer.rip
computer.rip
Thanks, Hayes. Thayes.
I got it long after the BBS era. This was my first device to access the Internet with, around 1999. It was great. And I could even play StarCraft with a friend by dialing him up!
See, this was important because Internet access cost about $1/hr. And in late 90s Ukraine, that was quite a lot of money. $200/month was a decent salary back then.
Now, my mother's computer was running Windows NT 4.0, and it had a dial-up server feature.
So I set it up, along with a small web server[1], and wrote a CGI binary in Delphi to serve up my file stash (laboriously downloaded from the web) to whoever dialed in... which was me, when I was away from home, or some of my friends.
There was also an FTP server for uploading files, and a VNC server for painstakingly slow remote control if needs be.
All powered by the trustworthy Hayes Smart Modem.
The system it connected would send an SMS for certain events and take certain actions for received SMS.
Development of this system introduced me to Serial Port programming and serious Linux use in general, and I never left after that day.
apt install gammu-smsdThe Excelsior! BBS software for Amiga included a pretty cool little scripting layer called the Intuitive Programming Language, or IPL, and all IPL commands began with an escape character of some sort. I don't even remember what that was, but let's use # for the sake of illustration. Normal users couldn't enter the # character and thus couldn't invoke IPL, but the sysop could embed it into pages and do cool stuff. I wanted to do cool stuff.
One of the things IPL could do was change text colors. Of course, most boards would use ANSI escape sequences for the same, but IPL did it in a lot fewer characters, and in a terminal-independent way, which was then translated to ANSI at render time, if the user viewing the page was logged in with an ANSI terminal. (So you could write the same screen and have it work for both ANSI-capable and text-only terminals, for instance. Pretty neat, but I digress.)
Excelsior! was inherently multi-line, and had a great little chat system. Since most BBSs were single-line, this was a big deal and got a lot of use. And naturally, anything that added fancy features to chat was well-received.
Enter the Colorific! extension, which had one purpose: To shove a bunch of IPL color commands _into the user's display name_, so that when you entered chat, you'd have a yellow name, a black name, a rainbow name...
There was another user on the board named Kristine, who hinted ever so gently that Colorific! might have more features than initially met the eye. That was all my curious mind needed, I scoured its menus, played with its functions, and finally it clicked: Through the regular BBS menus, I could edit my display name too! I couldn't enter the IPL escape character, but I could arrow back and forth and edit the rest of the string around it, so if I let the extension give me a rainbow name first, suddenly my name was something like #C14.M#C13.y#C12.s#C11.e#C10.l#C9.f or whatever. I had a bunch of escape characters to play with. Then I could just stuff in whatever IPL commands fit in the display-name field.
One of the other things IPL could do was insert delays.
I mostly saw this used for graphical effect, like making a fireworks display appear at proper timing independent of modem speed. Unique and cool, but I very quickly recognized the Hayes Escape power of the delay command. Giddy seconds later, I changed my username to #D600.+++#D600.ATH0#CR. and entered chat, whereupon the board promptly hung up on me.
Whoops.
Good thing the display name reset itself after a logout.
So I called back, and this time I changed my username to #D600.+++#D600.ATS2=42#CR.ATO#CR. and entered chat. This time nothing appeared to happen, but I knew I had just changed the settings on the modem serving MY line such that it now expected ** as its escape character, not +++. Then back to the earlier string, entered chat again, and as they say, boom went the dynamite! I was alone, and any time anyone else called back and entered chat, all I had to do was say anything at all, and the board would hang up on them.
I will never forget that feeling. It was discovery, it was power, it was secrecy. It was mayhem of the most incredibly harmless kind.
It was time to have some fun...
Redialing to get into a bbs seems so long ago, but when a site starts melting under load or a merch drop, I realize the waiting game is played the same way, just in a new box.
I had no control over the hardware design, one of the more annoying / interesting projects I had had in awhile though.
All of at least Huawei's 3G/4G dongles still support this mode, and would expect it's the same for pretty much any other vendor.
I remember seeing this a few years ago in some mifi device or something and thinking "Wait are those old modem commands?" I realized, well, that is a modem being used, so they probably just reused old protocols because why not?
List of commands for those interested:
> Timings have to be precise or the modem signal can't be processed correctly.
Ok, and? Can you not play MP3s on Windows?
In Canada, if you pay for 911 from your VoIP provider, it still sends the call first to a site that verifies your address and once confirmed goes to the PSAP, so the value of paying for it isn’t really there.
https://forums.redflagdeals.com/how-911-fpl-voip-ms-ooma-183...