Don't worry, it's just make up.Dan Wiebe had grown all too familiar with the routine of the 2:00 AM phone call. Bbbbrrrrrdddddiiiing. What the – huh? Bbbbrrrrrdddddiiiing. Oh, great. What time is it? Bbbbrrrrrdddddiiiing. Okay, okay, I’m coming! Bbbbrrrrrdddddiiiing. Please be a wrong number, "Hello?"

It was never a wrong number. It was always someone from support, they were always calling about some system or another that had crashed, and by the time it got to him, the problem always required a solution a bit more in-depth than "just reboot the server." This time proved to be no different: the data link server flat-out refused to communicate with the daily extracts loader.

I swear, Dan grumbled as he pored over log file after log file, I am going to cut someone. I will. I'm not kidding. This is complete bullsh— aha! This has to be it! After blearily working on the problem for an hour and a half or so, Dan discovered that the problem was caused by a misplaced 0x0A, a single byte representing a line feed that had somehow found its way into a text field.

The next hour or so of digging led to the source of the problem. Although the daily extracts loader was constructing data packets properly, it was outputting a few more bytes than it should. Tamme Burns, the developer responsible for the loader, decided to add a last-minute "feature" that would output a carriage return byte (0x0D) before the first 0x0A. It looked something like this:

char outp = data[i++];
if (outp == '\n' && first) { writeByte( '\r' ); first=0; }
writeByte( outp );

Because the packet was already framed, the additional byte pushed all of the remaining fields down a byte, which caused all sorts of numeric and text framing errors on parsing. Fortunately, Dan was able to hack together a horrifyingly ugly fix and get the data link and extracts loader talking again. With the clock approaching 5:00 AM, Dan wrote up a quick email explaining what happened and sent it too all those affected, including Tammie Burns.

All,

The problem is a framing error caused when the JKU348 
field contains a newline character.  The packet assembly 
code is working fine, and our packet parsing code is 
working fine, but the code between us and Tammie Burns 
needs to be beaten into submission.  I have implemented 
an ugly hack that will work temporarily, but it will cause 
performance problems until the real issue is addressed.

Thank you,
Dan

PS - I'll be in a little late tomorrow.

Figuring he deserved to go in a couple hours late, he set his alarm for 9:00 AM and went back to bed. But when he got to work the next morning, there was no fanfare, no "attaboy!", not even a single "good morning, Dan". Instead, most everyone averted their eyes and stared at the floor. Some watched him with wide eyes, as if he had committed some grave offense. A few people even whispered and pointed as he walked towards his cube.

Before he even had a chance to sit at his desk, Dan's boss, Greg, rushed over. "Look man," he said nervously, "you've gotta help me out with this. I've gone to the mat for you, but if you can't explain yourself, then both of us will probably be fired by the end of the day!"

Dan looked puzzled, to say the least. Greg continued, "I mean, I get that it was late and all, but seriously? What the hell were you thinking, man?"

"Err," Dan scratched his head, "huh? I don't know?"

"We gotta do some serious damage control here," Greg was frantic, "I mean, I don't even know. This hit division, man! Division! Nothing ever goes to division, you know that! This is some serious sh—"

Interrupting, Dan said "what are you talking about? Did I miss something?"

Greg seemed just as surprised as he was. "Uhhh," he stammered, handing Dan a print out, "this!"


-----Original Message-----
From: Eric Wilder
To: Greg Orville
Subject: FW: Ticket #85712 - Now Resolved
Priority: High

Greg, I didn't want to pull you from your meeting, but this
is very serious. Please see below. 

FYI: we may need to do immediate suspension.


-----Original Message-----
From: P. Singh, CTO
To: Eric Wilder
Subject: FW: Ticket #85712 - Now Resolved
Priority: High

Eric, I left you a voice message, too. Please see me ASAP.


-----Original Message-----
From: Richard David
To: P. Singh, CTO
Subject: FW: Ticket #85712 - Now Resolved
Priority: High


-----Original Message-----
From: Jared Collins
To: Richard David
Subject: FW: Ticket #85712 - Now Resolved
Priority: High

Per our conversation, this is the email my developer received.


-----Original Message-----
From: Tammie Burns
To: Jared Collins
Subject: FW: Ticket #85712 - Now Resolved
Priority: High

I'm sorry that Dan had to stay up so late, but this really crosses
the line. I don't think violence (even jokingly) belongs in the 
workplace, especially when it's directed towards women. 

Tammie


-----Original Message-----
From: Dan Wiebe
To: IT APPS; IT APPS MANAGEMENT; SUPPORT
Subject: Ticket #85712 - Now Resolved
Priority: High

All,

The problem is a framing error caused when the JKU348 field contains 
a newline character.  The packet assembly code is working fine, and 
our packet parsing code is working fine, but the code between us and 
Tammie Burns needs to be beaten into submission. I have implemented 
an ugly hack that will work temporarily, but it will cause performance 
problems until the real issue is addressed.

Thank you,
Dan

PS - I'll be in a little late tomorrow.

As Dan followed the long list of forwards, Greg continued, "they wanted to fire you immediately, man! I really had to put my neck on the line for this. I mean, how—"

"Not to cut you off," Dan said, cutting Greg off, "but did anyone actually read my message?"

Dan handed the paper back to Greg, who then took a second look at the email. They both had a chuckle after realizing what happened. When Tammie Burns glanced at Dan's message, her email client just happened to wrap the incoming message so that her name appeared at the beginning of a line. This naturally drew her attention, while the rest of the sentence terrified her: "Tammie Burns needs to be beaten into submission."

After highlighting the offending phrase, she sent the email to her boss, who sent it to his boss, who sent it to his boss, who sent it to the CTO, who sent it all the way back down to Greg. Everyone was equally horrified and, if it weren't for Greg's passionate defense of his subordinate, Dan would have likely been met by the police at the edge of the company's property that morning.

To their credit, everybody else felt pretty silly when Greg implored them to read the sentence again and try to identify the subject. Even Tammie Burns, who no longer feared being beaten into submission because of some bad code

[Advertisement] BuildMaster allows you to create a self-service release management platform that allows different teams to manage their applications. Explore how!