Monday, August 20, 2012

Punch Cards vs. Planning Poker Cards

Actually, there's really no correlation other than the years that have transpired in-between.  That was just a catchy phrase to get you to read this!

I was thinking about my COBOL class in college back in the day.  I remember having a programming assignment for a program that was about 500 lines of COBOL code.  We were soon to get CANDE terminals that we could use to write our code in the computer lab, but that wasn't till COBOL II the next semester.

For the current assignment, I had to find a time that I could get on a card punch machine to punch those 500 cards, and then get on a schedule for another time to run my job through the card reader, and hope the output on the 132 column green bar printer was what I expected it to be.  Guess what? It usually wasn't for the first 5 or 10 times I tried and repeated the process.

Our teacher warned against taking our cards out of the lab, because the humidity could make them unreadable, but since the lab was usually really crowded, I took them with me on day so I could check them against my COBOL coding forms.  Pressed by a noon deadline (the Professor deducted 25 points for every hour late after the deadline), I rushed back to the computer lab from the student union where I had been checking my work.

On the way, you guessed it, I dropped them all over the wet grass.  Sufficiently wet and shuffled, I completed my sojourn to the lab at 11:54 and proceeded to attempt a compile of the program. Can you imagine my surprise when I found that not only would my program not compile, but in fact, I could not get the cards to read through the card reader!  Over to the card sorter I went.  I dried the cards as well as could be expected, tried to make them as straight and readable as possible, then fed them through the sorter for the first time. I repeated this process for several attempts and glanced at the clock--12:11.  I just lost 25 points!  I continued the process until I had successfully sorted the cards into their intended sequence.

The clock read 12:37...there was still time before I got docked another 25 points (the program was worth 100 points, so 50 points deduction would not be good!) I fed the cards into the reader on the Burroughs B-series computer.  They started reading through without a hitch!  I watched them, tentatively, as they fed through.  The first third of the deck sped through, then the second!  The last third started out normally, but as it neared completion, it came to a grinding halt! I was mortified!  I pulled the cards out and looked for the bad card. There it was. The third card from the end has a slight dog ear on one corner.  Over to the key punch I went.  I re-punched the culprit and as I did, took a glance at the clock on the wall: 12:45 Yikes!

I quickly moved back to the card reader only to find a couple people in front of me.  I nervously tapped my card deck on the table beside the card reader.  The anxious student in front of me shot me an annoyed look.  Finally, it was my turn.  I fed the cards in extra carefully.  I started the job up. The cards began to feed, once again.  The first third fed through, no problem.  The second third had the same result. The last third also went though like a hot knife through butter.

There it was, the beauty of my hard work coming to fruition, and I still had time to spare! It was 11:53.   I watched the computer terminal as my program compiled.  It spun through without incident and said the program compiled and ran normally.  I went to 132 column green bar paper printer to get the results of the job run, grabbed my card and assembled them together with my Pseudocode, and COBOL source code, ran to the Professor's office and turned in my project by 12:59.  Not a moment too soon!

The Prof looked at me in disgust, as I handed her the results, but I felt pretty good!