I hope you don't mind me re-running this classic from two years ago; I've been a bit busy with next week's vacation plans and what not. Anyway, here's today's story, straight from Mohammamd Abdulfatah ... 


We were outside the main gate, waiting for security to come down and escort us to the deepest sanctums of the complex. We had been waiting for nearly two hours. At last, two guards came for us, their pace a slouch more than a march.

We waited for an elevator that never came, then we climbed down the stairs to the computers’ layer. A few minutes later, we were standing in front of a huge steel gate. One of the guards slid a magnetized card through a slot, an LCD screen above it flickered in excitement, and the gate yawned, as if in agitation, opening its mighty jaws.

I was about to come face to face with the Frankenstein that I had created. My beloved child has turned against me, and by no one's fault but my own. For I brought it into life, and I passed my imperfections onto it.

You see, this is how my Frankenstein came to be ...

Three months before that memorable day, the company I worked for managed to secure a contract with a certain government agency which shall remain unnamed. The project was simple enough, or so thought the sales person. The client had several data readers, each one collecting information from yet another unnamed data source. Each data reader resided on a dedicated computer, and each one was connected to its source by different, proprietary means. Some were connected through satellite, others through telex transceivers, and so on. Of course, each data reader came with its own software that was able to decode the data and display it in a readable format to the operators. The operators spent most of the day copying and pasting the data into text files and sending them to the analysts upstairs, who would compile the confidential information in these files into yet more confidential reports.

Our task was simple: automatically read all the incoming data, store it into a single database so the analysts can work on the data directly without being under the mercy of the operators. Simple my foot.

I was assigned to that project as project manager, team leader, senior developer, and database administrator. Another brave soul also joined me as a developer. The company couldn't afford to assign more resources because the profit margin -- which was calculated by a sales rep without consultation with the techies -- didn't allow for it.

I'll spare you the agony that followed. Fast forward three months into the future, where the project was completed, tested, and delivered to the client. I advised my superiors that it should be deployed as a beta, since it required more real-world testing, but the profit margin didn't allow for that either.

One day, I received a call from the sales rep telling me that he just received a call from our client. The program has stopped working, the client was pissed as hell, and threats were made, the least of which was not paying us our fees.

A couple of direct phone call to the client and I still couldn't get a clear picture of what happened over there. So, I decided to pay them a visit. Since my security clearance was still valid, I decided to go the next day.

Which brings us to the present day, where I'm standing at the jaws of the labyrinth, about to face my Frankenstein. I entered the room, my heart pacing faster as I dragged my feet to where my creation dwelled, to PC No. 27.

I know I should have been more careful with data reader number three, I thought, I should have used some form of file locking. Or, maybe it’s number five, that one is a little pesky as well. Whatever it is, I surly hope the log file can give me some clue. Unless the log is full, and ...

I stopped dead in my tracks, Wait a minute!

One look at the machine and the problem was obvious.

"Didn't we agree that this machine was off-limits?" I asked the security guard and the resident would-be geek, who looked at each other in puzzlement.

"It is. We even distributed a memo about it," answered the geek.

I replied, "I see. Could you please write down the following annex and attach it to the memo?"

The would-be geek took out his Mobile/PDA/Microwave Oven and armed the stylus. "Go ahead," he said.

"The Power cord is off-limits as well," I instructed.

"Err ..." grunted the geek.

I was about to walk out, when geek interjected "Aren’t you going to fix it?"

I stood there in silence.

One Mississippi, two Mississippi, three Mississippi ...

Deeeeep breath ...

Relax ...

Okay, let’s see if I can finish this without getting my ass shipped to Guantanamo Bay.

"You can do it yourself," I suggested, rather forcibly.

"I’m not authorized," he innocently explained.

"I see ... and where are the technicians whom we trained, and who are authorized to do it?"

"They are on vacation."

"All three of them?"

"Yes?"

"Why?"

"Err ... I'm afraid that's classified." said the geek. The security guard turned at me and glared, turning into the most sinister and hellish version of himself, probably as nervous reflex at the mention of the words "classified" and "afraid" in the same sentence.

There was no escaping it. I plugged the power cord in, turned the machine on, waited until the OS booted, and saw the program kick into life automatically. It started aggregating data right away, and everything was okay, at least until the next idiot trips over the power cord.

By the way, a quick look at the logs revealed that the machine had been unplugged for almost three weeks.

I left the dungeon, and never went back. It has been two years now, and we still haven't heard from the Unnamed Government Agency. I would like to think that the quality and craftsmanship of my programming was the reason, but for all I know someone might have just tripped over the power cord again, but this time no one bothered to notice.


Tomorrow: Pop-up Potpourri
Next Week: Vacation for me; Fresh Articles for you thanks to a few guest editors

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