We had a modem tied to an OPXI, which required that our dial strings in Telit (remember that? I liked it better than Procomm) start with "91,", which was 9 for an outside trunk, then 1 to select a trunk, then a comma for a pause. Then the phone number of the BBS site.
The OPXI messed with the newer modem speeds. One Friday I decided that we didn't really need the OPXI if I bridged the modem with the fax line, so I did.
I didn't tell anyone. That was a mistake.
Monday morning I showed up for work and my boss (the chief engineer and president) called me into his office. Uh oh.
He said, "Did you remove the OPXI from the modem line in the lab?" "Yes." "Why?" "Because we didn't need it."
He then told me about how he came in on Saturday, finished up some PCB artwork and went to dial into the board fabricator's BBS to upload the files (long distance), and kept getting failures to connect. He tried it a bunch of times before he heard banging on the front door. He went to the front and there were multiple police officers outside. They said there were multiple 911 hangups from this location and wanted to know why. He swore that he was the only one there and there were no 911 calls. They then wanted to come in and look around the building, so he let them.
After they left, he put it all together. The dial strings were set up to dial 91,1-areacode-phonenumber which dialed 911 emergency without the OPXI in the path.
He verified that the OPXI was no longer in the loop and was ticked off. He knew immediately who did it.
He said, "Things you do to systems other people use can have unintended consequences. Please think those things completely through in the future."
Good advice, and I still hear his voice in my head today when I'm reconfiguring something.
At the time, E911 wasn't a thing, and the local PD had the number 333-8911. Guess what the local number was for the BBS? I had FUBARed my nodelist processor configuration, and it was stripping off the 1-819- [I think it was 819]. Oooops.
Needless to say, the node didn't get restarted until I fixed the problem.
And while "9" is a bad special prefix, the "91" in your story has to be the worst possible in the US.
Possibly the only worse prefix would just be straight-up "911." 91- is just unimaginably dumb.
Ugh. Those were good times.
Sounds like you had a good boss. I expected the story to end with you getting fired. My current boss is like yours, which is why I joined the team.
There were a lot of misdialed 911 calls in our area.
In fact, one of the earliest iPhone jailbreak exploits relied on a vulnerability in the AT command interpreter inside the baseband.
Why can't I just type !GSTATUS instead of AT!GSTATUS?
Current Time: 555877 Temperature: 29
Modem Mitigate Level: 0 ModemProc Mitigate Level: 0
Reset Counter: 14 Mode: ONLINE
System mode: LTE PS state: Attached
I don't know how much low level serial protocol programming you have done, but in my experience, there is possibility of random line noise, and such. This is why generally these low level protocols have both PREFIX and POSTFIX for commands.
In the case of Hayes commands for modems, the prefix is AT, and the postfix is carriage return and line feed.
The AT prefix, as such, does nothing whatsoever for error detection or recovery. If we add an AT prefix to an N-character command, the possibility of corruption in the N-character command part is exactly the same as before. Now, the AT also has to be correctly received, too.
An example of a textual protocol whose framing actually means something is the Mobitex MASC: http://www.mobitex.com/resources/masc/MASC_Guide.pdf
MASC frames have a checksum and length field in addition to the framing (frames start with ^ and end with a CR). MASC also dictates the use of 7 bits with even parity; so parity checking is possible by both endpoints. Still, that leading is a fluff feature that contributes nothing; the protocol could work fine with frames just being sequences of non-CR characters terminated by CR.
Modems usually have a solid connection to the host, often a short one; it's the actual end-to-end traffic that is susceptible to corruption; not so much the local commands between the host and modem. These modern LTE modem is often integrated onto the same chip as the host processor which is sending it the AT commands.
I did not claim it does any such thing.
In historical contexts, and even in some modern contexts, the data stream may include random noise data.
If we did not have a state machine looking for "AT" before beginning command processing, then we would potentially process some of this line noise as a command, which could potentially be bad.
Unless you have error detection / correction, etc, I don't think the AT would add anything else to the equation :-?
Now what do you do? Well, you check the first byte and see if it's a valid first byte for a command. There are hundreds of them, so basically every uppercase ASCII character should do.
In the happy path, you get a byte stream like "DT 1234\r\n".
Sometimes, the data stream has noise in it, so you get bytes like "%$DT 1234\r\n".
There are no commands that start with "%" or "$" so you can just drop it.
However, in the unhappy path, you might get bytes like "CMDT 1234\r\n".
CM is a valid command! But "DT 1234" are not valid arguments.
If only there was a way to get the ATtention of the parser before parsing commands...
(More or less; there is the obvious ambiguity of something on the remote end also responding to AT with OK.)
This useful AT just doesn't have to be a prefix of every other command.
OK # I have the attention of the modem)
DT5553535 # dial this number now that I have your attention)
One night I came home late to find a police car parked outside my house. The officer told me they got a 911 call from my house. They wanted to "look around", to verify that I didn't have some woman locked in my house or anything. Standard procedure, they said. I have no idea how long the police car waited for me to return.
Sure enough, the dial string at the time included embedded 9-1-1 so if just the right digits were dropped, it was a 911 call.
Whenever I wanted to get out of somewhere, I went to the bathroom and texted to the gateway.
5 minutes later my cellphone rang with a “very important call” :)
A coworker and I had a similar arrangement at the last office I worked at :)
I might try to get a remote job so I don't have this problem. I feel terrible about it but can't seem to quit. I must be so annoying to my coworkers, who I quite like. Maybe I'm starved for social interaction. I'd like to say sorry to you for your coworker on behalf of all of those like us.
"OC, you're doing it again! :D"
This is a sign of ADHD, which I have also been diagnosed with. It shows up on the diagnostic criteria and adult self-report:
> How often do you find yourself talking too much when you are in social situations?
> When you’re in a conversation, how often do you find yourself finishing the sentences of the people you are talking to, before they can finish them themselves?
> How often do you interrupt others when they are busy?
Not trying to sound like a douche, but honestly just putting on some headphones would probably stop this supposed "executive control disorder".
Maybe watch this https://www.youtube.com/watch?v=YSfCdBBqNXY&feature=youtu.be if you don't think ADHD is real.
No, I don't know for certain if this is related to my ADHD. I might just be inconsiderate and annoying. I'm speculating, because it's a behavior that I have spontaneously manifested, observed, criticized myself for, and yet still do. It fits in the category of "executive control" and "impulse control" and those are the things that ADHD impairs.
And I already wear headphones most of the day when I'm in the office because music helps me focus and otherwise I start listening to the conversations around me. Listening to music while I work (and when I studied when I was in school) is one way I have managed my disorder throughout my life.
Coworker won't leave? Stand up, walk to kitchen and get a drink of water, chit-chat for a minute and then say well I have to get back to work, see you later.
I honestly thought the article was going to be about the absurdity in determining a modem configuration string. Back in the late '90s, all modems shipped in default configurations that only worked for very old configurations. They all needed to be configured to do things like hardware handshaking, and tell the computer that the other end hung up.
These drove dial up BBSer's nuts, because every vendor used a different AT code just to set the modem to a normal configuration.
I always wished there was something like ATmodern to standardize on.
Communications was really sucks, but we were lucky enoguh not to know it back then.
I also had a USR Courier with a button on the front that could be reprogrammed to do anything. I reprogrammed it to dial my favorite BBS, so I could turn on the computer, press the button, and by the time AUTOEXEC.BAT had finished and Telix was launched, I'd already be connected.
Yes, I think I typed that before every dial.
1. Reactions were not good, even from my geekiest acquaintances.
2. Worst, turns out this sounds are all around us, from fax machines to POS communication for credit card verification. I became too aware of the sounds and false-positively checking my phone too often so I changed.
I don't recall the details but it seems like that WTI console server used Hayes commands somehow.
It's quite interesting how the command set has been extended for modern needs, for example see: https://www.u-blox.com/sites/default/files/u-blox-CEL_ATComm...
 " There were programs here that had been written five thousand years ago, before Humankind ever left Earth. The wonder of it—the horror of it, Sura said—was that unlike the useless wrecks of Canberra’s past, these programs still worked! And via a million million circuitous threads of inheritance, many of the oldest programs still ran in the bowels of the Qeng Ho system. Take the Traders’ method of timekeeping. The frame corrections were incredibly complex—and down at the very bottom of it was a little program that ran a counter. Second by second, the Qeng Ho counted from the instant that a human had first set foot on Old Earth’s moon. But if you looked at it still more closely. . .the starting instant was actually some hundred million seconds later, the 0-second of one of Humankind’s first computer operating systems.
Spectre/Meltdown are a good example of what happens when (after a couple of decades) the security guys finally understand what the architecture looks like at that level and start looking for vulnerabilities.
This is also why you should be wary of devices and especially device drivers. This is why binary blobs in drivers are such a butt clencher. And then you're talking about drivers that are stupendously large and are more or less attached directly to your web browser.
Signed binaries make that a lot harder.
Also used in voting machines which "aren't connected to the internet" (!)
Some of these GSM modems have AT-commands to upload & run sophisticated, persistent LUA scripts. (Scripts that can can make tcpip connections over GSM, communicate to host hardware via I2C or uart, send SMSs, etc). The possibilities are wide ranging, using officially supported features; no hacking necessary.
The gate installer charges $350 to make remote changes to the gate programming otherwise. It has to be updated at least twice a year because daylight savings (which the 'dorking' as I like to call it don't do).
It still manages to connect at 28.8 over my voip line at home, but just barely.
edit: turns out to be xp not win7!!
The company that makes the machine is willing to upgrade to a fully wireless solution, but it would require a dedicated microwave link. That's actually cheaper than paying for the phone line, but "microwave link" is scary, and management won't approve it.
Also: they're kind of overpriced in my opinion, but you can still buy USB based hardware modems, which would allow you to move this to a newer computer if needed, without having to worry about modem drivers.
My company still uses modems for some things, we have devices that are configured via serial, they can act as a primitive getty, enough to do modem control anyhow - and so we dial in.
Nope. The working ones i good condition are going for what they cost when they were new!
At best, you get various promises to not be loud. You'll get maybe a day of relief, and then it's back to it again. You can be relatively harsh, and it's still temporary. You can also lobby to be pushed off to a corner where you're not exposed to the loudest people. At worst, you can _really_ piss people off; I raised enough of a stink that I know that one guy wanted me fired.
Some people have a very strong need to interact socially. One time I was on a long ride in a HMMWV and most of us were silent as we were relatively tired. One guy was one of those compulsive talkers, and on a lark, I timed how long it was before he started talking. After almost exactly 6 minutes of silence he would start talking and then trail off, it was very regular.
I think if you have someone like that, I think your best strategy is not to avoid them, but to fulfill their need on your terms. Invite them to go get coffee with you, or go for a walk. And then when you're done, hopefully that triggers their social cue to get back to work. If it doesn't, you can remind them, "well, I've just been out for five minutes, so I don't want the boss to think I'm fucking off work."
She was enraged that I didn't drop everything I was doing to listen to whatever problem she had, and went to complain to my manager, blithering about rudeness, and me not being a "team player".
Since my manger was the one who had assigned me the important work, he told her in polite manager-speak that I had done the right thing and that she should try again later if she still needed my help.
The interruption and the resulting loss of productivity because of it however is the same in either case.
Focused work without interruption must be respected and enforced when needed. If you are bored at work, go ask for more work to do, I'd say.
Or do as I did when I was still in offices many years ago: politely and without raising your voice just ask the room directly: "Anyone up for 10 minutes coffee break?". If nobody would respond then I would still go at a balcony drinking my coffee alone. Nobody is mandated to listen to my blabber and I understood and respected that. It's rather amazing how many people didn't though.
> Why not be honest and direct?"
In such situations I usually say something like "I'm very sorry but I'm extremely busy. Could you send me email with your issue, please? I'll come back to you as soon as I solve the problem".
Certainly in the UK we'd tolerate all sorts of social torture before dreaming of "causing a fuss", although I appreciate OP is in the US!
1) Have Unskillfully given feedback and seen that backfire on them or have no effect.
2) Given feedback to someone who unskillfully interpreted/listened to it and reacted badly.
3) Can’t be arsed to do the work of communicating clearly——possibly its hard for them to organize their conflicting feelings into words——They threfore choose to suffer rather than advocate for themselves.
4) Are afraid of the very very small but nonzero possibility of another person reacting with violence to them—and therefore remain silent rather than advocating for themselves.
Of course, the guy could also be punished for the same behavior
The coworker (who was the target) in her story is male. I'm male, and I've had this very problem with male coworkers. (And nothing about this has ever struck me as having anything to do with sex or gender. As it is, most of my coworkers are male, so it's probably more a reflection of that than anything else.)
And to the parent's point of "why not be honest and direct?", at the point at which such things are being written… honesty and directness have been tried, and have already failed. Some people, even told bluntly "Sorry, I need to get some work done." will keep on…
I quit a job to get away from someone like this who was in a management role.
"Star Wars? no that's not right"
"Modems? no nobody writes about those anymore"
For fun, I started coding ansi sequences, that would say the sysop entered chat, that the sysop was banning you for some really lame reason, and to never call back, then showed "+++" and disconnected, and then a lot pauses to make it look legit. I had fun creating ansi pranks.
BBS and Modem days, such fun.
Oh yeah. WinModems. FU.
But I have an original spiral-bound paper copy - if you want it, email me and I'll send it to you. Include the Fidonet ascii-art dog in your email.
Quite a bit more overhead involved there... :)
The best thing though, is the black-list to which I shunt various telemarketer, etc numbers.
Is this low-grade nerdery really any easier (or smarter) than just saying, "Yeah, yeah, NT is great, Unix sucks, now I've got work to do."
All the detail about the coworker, the social cues, etc. doesn't really add insight nor entertainment value, but pads out 1 sentence into 1 page.
Journalists used to use that style when paid by the word and they didn't have much to say, but rachelbythebay isn't paid like that, so why is she writing as if she is?
Sometimes you just wanna tell a story about a thing that happened, you know? "Me and my officemate kept on tricking this guy who endlessly droned on about how useless our specialty was."