Flash the message,
“All your code are belong to us!”
- 99 Red Balloons (edited)
Let me tell you a little bit about my last two weeks of what would seem to be wasted work. After spending most of the first week debugging (stepping through lines of gross machine code) my program I finally found what was causing it to pre-maturely crash. An assembler load statement was addressing a null address. For those of you who don’t know what this means; it is like being asked where something is located and replying that it really isn’t located anywhere but if you head up the stairs that don’t exist to the floor between the second and third story you’ll find it on your immediate left behind the sign that says beware of the leopard. End result the operating system slaps the program on the wrist and gives it a permanent time out.
Once I discovered the culprit, I raised my periscope back up through the call stack to have a look around. Tracing the descent into the madness of internal machine code I realized that I had sunken so deep that there were practically no traces left of the program I had written. This left me with only one option: ask the architect.
Entering his fluorescent lit office I felt like the scarecrow asking the Great Wizard for a brain. To lightly back up my cry for help I had copied and pasted some random segments of code into a double-edged document (ooh, watch for paper cuts). The architect snatched the paper from me and began to molest it quietly. Performing some strange motion with his hands he walked down the segments of code, by-passing my highlights and insignificant scribbling. When he reached the big red mess I had put near where it crashed he uttered an interested grunt. He worked his way back up and down the area in question for a bit and then handed it back to me.
“It shouldn’t be doing that” he said.
‘Yep’ I replied mentally as the architect wrote a series of letters and numbers.
“That machine of yours is probably messed up,” He continued, “Why don’t you try moving to our fleet machine.”
I walked away fooling myself into believing that they would actually let me use a fleet machine. Let me give you a brief history of what I’ve done to the machines at work so far. My own personal sandbox is old and decrepit; it has been used for many unholy experiments to the point where its bizarre behavior has become a normal fact of life. Hardly anyone uses the thing anymore and it is scheduled to be decommissioned relatively soon. As a result when I manage to topple the AS/400 environment (which is harder than you might think, go on try it), nobody seems to notice and I have to go find someone who can resurrect it for me. For a period of about a day I moved up to a more frequent machine, but was demoted quickly when the other users started complaining about frequent crashes occurring (he he woops). So in other words there was no way in programmer hell they were going to let me use the mainstream fleet machine, and so I soon realized that this solution was no solution at all. The only option left open was to totally redesign my project.
This was actually a welcome alternative as I was trying to use code that someone else had written, which is no fun at all. At the end of last week I was excitedly drawing up designs for what would be a newer and brighter future for my project. At the beginning of this week, I quickly realized the new strategy wasn’t working and a quick debug revealed that truth. Slowly sifting through an obese architecture from hell, I attempted to make sense of what was happening. Over the course of this last week I tried changing many things, all of them seemed to lead to the same end. I had been digging through code for so long that my team leader joking said that I could probably teach him some stuff about it. Finally in desperation I started preparing a second printout for round two with the architect. Before I finished, I quickly went over what was happening with my mentor (he who watches out for the intern: me). After looking it over he came to the same conclusion I had: that shouldn’t happen. He mentioned casually that I could try making a copy of one of my objects as he was having some problems and doing so fixed them. I went back and tried what was going to be my last resort and miracle upon miracles it ran for the first time in two weeks. All that time wasted on something that everyone had done in the past on similar projects but that nobody had remembered to mention to me.
I wanted to punch my monitor and lick the blood off my glass infested fist. The bug hunt was finally over, and now the real work could finally begin. It isn’t a good feeling to look back on your accomplishments and see nothing, which is the way I felt this past two weeks. At least now, with luck I will finally be able to drop the bug hunt and do some real work.
For those of you who are not RedMage, Vengeful Cynic or Beastexmachina; I apologize somewhat half-heartedly for this AS/400 ridden post.
Once again this post is full of both fact and fiction; it is neither the author’s duty nor intent to straighten it out or be held accountable herein contained. Don’t you just love legal mumbo-jumbo…
Referenced in this post:
99 Red Balloons (song)
Hitchhiker’s Guide to the Galaxy
Wizard of Oz