Tuesday, May 17, 2011

The Monkey Run

May I show you my collection of slide rules?

When it comes to doing econometrics, students today just have no idea how lucky they are - compared with old geezers like me, that is. So, just for the record, this is how it went down when I was running regressions as a student, in the pre-P.C. (personal computer and politically correct) era:

Punch-card with a single SHAZAM command:

Punch-card with one row  (5 integer fields) of input data

Here, we have one row (one sample observation) from a data matrix for five input variables. For a sample of size n there would have been a stack of n cards like this.

So, thanks to Herman Hollerith, you wrote up your commands or data lines, in pencil, on a coding form; then each line of data and each command became a single punch-card. Students generally had to punch the cards themselves. Then the cards were run through the machine a second time to "interpret" them - that is, to imprint the line of type corresponding to the punched holes, along the top strip of the card. That made life somewhat easier when you dropped your deck of cards on the floor! 

Punch-Card Machine

The deck of cards - one or two "header" cards to control the work-flow; followed by the command cards; and finally the data cards - was then handed to the computer operator's assistant, on the other side of the reception desk. Usually much later on (often during the "graveyard shift", when all of the administration's jobs had been run, and you got your turn) the deck went into the card reading machine, and so into the bowels of the computer itself. In our case it was the famous IBM System/360 (Model 40):

IBM System/360 Model 65 (Operator's Console)

Notice that there's no monitor; and those are toggle switches on the front panel. There were more coloured lights on the console than on your average Christmas tree. And how do you like the big red "emergency pull" switch at the top right of the console. Yep - it was for real!

Of course, every second of CPU time was charged out, so you had to have a research account to pay for all of this fun. Time really was money, and you couldn't afford to screw up too often. Not if you wanted to finish your dissertation. De-bugging your FORTRAN programs was costly - not just in a dollar sense, but also in terms of opportunity cost. You handed in your job in the afternoon, and with a bit of luck there would be some results there for you to collect the next morning. That's to say, results that showed that your program was still not working properly; or perhaps the results of one multiple regression. These were not the glory days of data-mining!

So how did we poor students manage to get anything done at all? Well, we had to think long and hard before we ran any regressions - that's for sure. On my campus, the computing centre also helped by offering a rather neat little service between 12 noon and 1 p.m., Monday to Friday. Basically the arrangements were as follows:
  • Students only.
  • Any job that ran for more than 30 seconds (I think) of CPU time was automatically cancelled.
  • No jobs that involved a disk mount or a magnetic tape mount were allowed.
  • No plotting jobs were allowed.
  • Jobs that met these specs. were run "on the spot" in the order received - no limit to the number of jobs you submitted within that hour.
So, we'd have a deck of cards ready to go at 12 noon. You got your output; looked at the errors and raced down the hallway from the computer room to the punch machine room. You re-punched the offending cards and then ran back to the computer room desk and handed in your deck for another try, And so it went on, back and forth, as you de-bugged your program or tried to cram in a few OLS regressions before the hour was up.

Everyone called it "The Monkey Run" !

You'd arrange to "......grab a coffee after the Monkey Run", etc. And yes, I still have some of those punch-cards. And yes, I still have my slide rule!

There was something comforting about the clatter of the mechanical line-printer behind the glass, tapping out to a rhythm was unique to your output, and that you could recognize from half-way down the hallway. Not that anyone in their right mind would want to go back to all of that!

Yes, it seems primitive now, but it made us think before we computed. So next time you're running your 5 million Monte Carlo simulations, just keep in mind the immortal words of Fred Dagg (aka John Clarke):
"We don't know  how lucky we are! We don't know how propitious are the circumstances...."

© 2011, David E. Giles


  1. holy crap

    my jaw is on the floor

  2. Young undergrad: Hard to believe we ever got anything done!


  3. now its more like the monkey done.

    any undergrad can run 100 regressions with different variables and transformations no problem. It seems like a bunch of undergrads I know just brute force a bunch of regressions until something comes out as significant.

    perhaps the high computing cost was a good thing if it forced you to think about your data before you went and ran your regressions!

  4. I agree - it was definitely a more "thoughtful" process!

  5. Hi David. Have just discovered your blog via Andy Gelman's. I still have a few punched cards that I pull out to tell students of the good old days. My other memory of grad school was the computing center rule whereby they closed the doors at midnight but if you were inside you could stay. This meant you could run jobs during the morning offpeak time and get reasonably good turnaround which was so important when you were debugging code. It just meant you had to sleep during the day.

  6. Denzil: Great to hear from you. What you describe was an enlightened solution! I like it. The card pictures in the posting were scanned from my own supply. Glad you keep some too. You never know when they might be useful - right?