Wednesday, March 02, 2016
Observations on an incident in the Ft. Lauderdale Office of The Corporation
- Sean
- [Sean is typing away at the computer when suddenly …]
Oops.
I didn't mean to add all those files to the source repository. How to I reverse
svn add
? - SVN
- [Doesn't say a word.]
- Sean
- Okay
svn
, be that way. Let's check the manual. [Sean goes the check the manual. Many minutes go by.] Okay, let's see what the Great and PowerfulOzGoogle has to say about this. [Sean checks Google] Hmm … okay, let's try this. [Sean types a command.] - SVN
- Okay.
- Sean
- And let's see the results …
- SVN
- I'm sorry Sean, I can't let you do that on a damaged repository sandbox.
- Sean
- What?
- SVN
- I'm sorry Sean, I can't set you do that on a damaged repository sandbox.
- Sean
- Okay Google, what else do you have for me?
- Much more of the same command that didn't work in the first place. But here, try this random command.
- SVN
- I'm sorry Sean, but you are horribly screwed right now.
- Sean
- Okay
svn
, take this! - SVN
- Okay Sean, but I still think you are totally screwed right now.
- Sean
- Um, guys … [Sean turns to his fellow cow-orkers] Could you update your main repository? [T starts typing furiously; J hears this and decides to let T be the guinea pig.]
- T's SVN
- I'm sorry T, you are completely screwed right now.
- T
- I'm completely screwed right now.
- Sean
- [Visibly trying not to throw the computer across the office.]
Okay,
svn
, take this! - SVN
- I'm sor—
- Sean
- And this!
- SVN
- I'm so—
- Sean
- And this you XXXXXXX XXXXX XX XXXX!
- SVN
- I'm sorry Sean, you are even more screwed now than you were before.
- Sean
- [Blood vessels are about to pop out of his skull. A stream of ornate sacraficial daggers are pouring out of his eyes towards the computer as he rips the power cord out from the computer.
- Computer
- I'm a MacBook Pro. I'm happily running on battery power right now.
- Sean
- Nnnnrrrrrrggggggggggggggaaaaaaaaaaarrrrrrrrrrrrrrg! [Sean's head is about to explode.]
- MacBook Pro
- If you are thinking of ripping the battery out of me, I need to remind you that I am a sealed unit and there is no possible way you can gain access to the batteries to rip them out.
- Sean
- Grrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr! [Sean is visibly shaking with anger, face red with rage.]
- The Other Laptop on his Desk
- Besides, it's not a good idea to rip the battery out of a laptop. I'm just saying …
- Sean
- [Jabs the power button the MacBook Pro.]
- MacBook Pro
- Do you wish to shut down now? Cancel, okay, or log off? [A loud thud is heard in the office as Sean plants his head through the desk.]
Why bother reading pages when you can just spam them and hope for the best
- From
- "Ashley Knowles" <leah@sponsorconnection.org>
- To
- "sean" <sean@conman.org>
- Subject
- Thank You for Supporting Veterans on boston.conman.org
- Date
- Wed, 2 Mar 2016 12:24:48 -0800
Hello,
I came across this page of your site http://boston.conman.org/2004/11 and noticed that you are linking to http://www.va.gov/opa/vetsday and other resources for servicemen and women. I wanted to thank you for supporting veterans and active military. This is a mission I have been deeply involved in as well. If I may have just a moment of your time, I wanted to talk to you about a serious health struggle among veterans - and also suggest an addition to your page.
[ … ]
Thank you,
Ashley Knowles
Outreach Coordinator
outreach@advocatesforhealth.org
It's only because today is such a great day that this spam email caught my eye. I know this is a rhetorical question to Ashley but … did you even bother to read the post in question? Did you even bother to read the page you linked to to see if it's relevant to your organization?
No? Is that because you just did a search for “Vererans Day” and spammed every site that linked to that page? Yes? Do you realize you have two completely different email addresses? No? Is that because you don't care?
Gaaaah!
Update just two hours later …
- From
- "Ashley Knowles" <outreach@advocatesforhealth.org>
- To
- "sean" <sean@conman.org>
- Subject
- Correction - Thank You for Supporting Veterans on boston.conman.org
- Date
- Wed, 2 Mar 2016 14:15:23 -0800
Hello,
*I'm resending this because my recent e-mail was mistakenly sent through a colleagues account. Apologies if you have received two.
I came across this page of your site http://boston.conman.org/2004/11 and noticed that you are linking …
[ … ]
Thank you,
Ashley Knowles
Outreach Coordinator
outreach@advocatesforhealth.org
Really?
Sigh.
Thursday, March 10, 2016
How hard can it possibly be to find a 10-digit phone number?
More difficult that you could imagine.
As initially designed, “Project: Sippy-Cup” was only to be used in North America. It was also designed such that the MDNs (aka “phone number”—the telephony industry has its fair share of TLAs) would be found in a particular format—a TEL URI. And because we only support numbers in North America, they follow the NANP (this is an example of an ETLA) format for numbers.
Of course, that's the theory. In practice, we are dealing with the Monopolistic Phone Company and well … they don't have to care. So it was with that in mind that I was told to look for MDNs in SIP URIs. Okay, so find a 10-digit number in a TEL or SIP URI. The design specification said that the MDN in the TEL URI would have a leading “+1” and then the MDN. Since SIP URIs were a complete afterthought I figured that any MDNs in a SIP URI would also follow the same format, a leading “+1” and the MDN.
So in mid-January, I get a report that “Project: Sippy-Cup” is failing to handle non-NANP MDNs.
“But we only support NANP MDNs,” I said.
“But international MDNs are failing,” was the reply.
“That can happen in production?” I asked.
“It is happening in production.”
“Excuse me? It's in production?”
“Yes. Has been since mid-December.”
“We're still testing with the OEMs!”
“I failed to get the memo,” I said as I headed back towards my computer.
“I'll send you a few copies.”
Code code code.
Test test test.
Code code code.
Test test test.
Hack hack hack.
Test test test.
Mid-February, it was patched and tested.
But because it was in production (seriously, why did no one tell me?) updates are … complicated. Many meetings need to be held to determine if we need a MOP, even more meetings to determine what to MOP, which what to MOP, when to MOP, who needs to MOP, where to MOP, and why to MOP.
One month later, last night (or rather, very early this morning) to be precise, we could install the fix.
An hour and a half in (for some reason the term “Charlie Foxtrot” comes to mind since we seem to have forgotten to discuss “how to MOP”—I'll skip the “Project: Sippy-Cup” production setup house-of-card details due to the OEM testing that is still on-going) I made the call to abort and roll back. The code I had written was mis-identifying NANP MDNs as non-NANP MDNs because some codepath somewhere else was failing to prefix the MDNs in SIP URIs with a “+1” in some cases.
I swear, why did we even bother with a specification?
Sigh.