Progress bars. All day long, Brett Westley stared at progress bars.
Sure, he did some programming too, but each code change meant re-compiling. That meant watching those bars and waiting for them to change color. Green if a project compiled successfully, red if not. His current change to the code was quite extensive, so the compiler was building several projects simultaneously. When the linker finished, the progress bars showed green across the board.
“Nice,” Brett said. A lot of the programmers in his office talked to themselves. That or to their computers, providing moral support and sometimes much needed chastisement to a machine that couldn’t care, let alone care less. Brett launched the newly minted executable with a double click of his mouse and prepared to test his program. If the test went well, he could leave work early. That carrot hung tantalizingly close.
The interface window appeared on his screen, and instantly grayed out. The program had crashed.
“No, no, no!” Brett wailed. So much for the carrot.
His code environment auto connected to the crashed application, and shortly he was looking at windows filled with debugging tools. Memory displays, thread activity, the program call stack, and finally, the offending segment of code.
Brett sighed heavily and leaned into his monitor. The instruction pointer had stopped on a line that read:
if( lifeEventValue == s_Aneurysm )
Brett stared. This wasn’t his code at all. He traced the call stack to the main program entry point, looking for the name of the application. He found it at the root — ‘BrettWestley.exe’.
This had to be some kind of office prank. Brett stood from his chair, expecting to see another programmer peeking over a cube wall or out an office door, waiting for the big laugh. He saw no one. Unimpressed, Brett’s finger drifted towards the function key that would unblock the application and allow it to continue, but he stopped himself. An odd feeling settled on him, foreboding, like someone walked over his grave.
He examined the memory segments, and saw that the values stored in the conditional were both 0.000001, one in a million. The value marked with the aneurysm reference was locked. The other value, generated in a previous function call, was not. Brett selected this memory location and changed the value to 0.000000001, one in a billion. He hesitated, and then clicked the button that allowed the program to advance one line.
Nothing happened. He unlocked the interrupt and allowed the program to continue freely. Still nothing happened.
“Lame prank. I could have done way better,” he muttered. Still, the small blip of variety in his afternoon had been more excitement than usual. Brett decided the occasion warranted a short break. He set the debugger to log future problems, but not halt the program execution. Then he got up and headed out of his cubicle. As he sauntered the hallway towards the water cooler, his tool registered another interrupt. It wrote the details to a log file, and allowed the program to proceed. This time, the information written to the log was echoed to the main output window:
if( lifeEventValue == s_FreakAccident )
At the end of the hall Brett was raising a cone shaped paper cup to his lips. He emptied it, savoring each swallow, and bent to refill it. On the roof two floors above him, and directly over the water cooler, the metal supports under an industrial sized air conditioning unit buckled from fatigue. Five tons of metal fell with enough force to punch a hole through the building from the roof clear down to the main floor.
The news would report Brett’s death the next day as a freak accident, the chances of which were one in a million.
Brett could have told them it was actually one in a billion.
Jason Thomas lives in San Diego, CA and works in the video game industry as a programmer.