Oddbean new post about | logout
 When I was an undergrad at UCLA, I already had advanced access to both the Campus Computing Network's (CCN) IBM 360/91 and the UCLA home-grown URSA high speed terminal system (which displayed full pages at a time on modified TVs, with 40 character lines -- two lines equals one punched card image!)

I was also already deeply involved in ARPANET and its very advanced hardware and systems at the first ARPANET site in UCLA's Boelter Hall. But that was a totally different world, and frankly we didn't talk about it much outside the lab since anti-government sentiments were running quite high during that time. Even the mere existence of the lab was not generally known to most people on campus.

Still, I had to take some required courses, including, yes, an introductory programming class! So basically, I was leading a double life as far as this stuff was concerned.

The vast majority of students and faculty at that time submitted their programs as batch jobs on punched cards to the 91 (there was some limited TSO Timesharing, APL, and a couple of Tektronix graphics displays, etc. hooked up to the 91 as well) -- most students and faculty never saw this stuff -- they submitted card decks and got printouts in return later (sometimes much later if the 91 went down, as it often did).

Anyway, so I had turn in these rudimentary PL/C programs even while I was doing all that ARPANET stuff. A very weird time.

The programs had to be turned in as printed source code and output listings along with their card decks. This presented a problem. I didn't want to spend hours around the hot, sweaty, rather disgusting CCN keypunch room to manually punch out decks, after waiting for an 029 to even become available.

So I had another way.

Using my URSA access (in a small, private, hidden math department terminal room), I wrote my programs on the URSA CRT displays, directly submitted them from URSA for execution and to generate printed listings, and then sent the source code to the 91's automatic card punch. Then I could just pick up the decks! Very cool.

But there was another problem. The 91 punched the cards, but did not print on them. So they were blank punched cards with no printing at the top of what was punched. I certainly couldn't turn those in like that.

There was a solution.

A couple of the 029 keypunches in that awful room were the special "interpretive" model. This meant you could load a fully punched deck and then set the unit to run them through fairly rapidly automatically, and the unit would print at the top of each card what the punched card punches contained.

The result was a perfectly ordinary looking deck to turn in.

One evening I was doing just that. Cards were automatically feeding, running across and getting printed, and being stacked up on the other side. I just wandered around the halls while this was going on, visiting the vending machines and the like.

When I returned to check on progress one of these times, I found a girl who was in my same programming class standing at the keypunch staring at the cards running through automatically. 

"What is happening?" she asked in confusion.

I wasn't in a great mood that evening, so admittedly I was a bit less than gallant. 

"Oh, I rigged the keypunch to do my programming for me automatically," I replied.

She looked stunned and hurriedly departed, while the cards continued to plow through the machine. 

Just another day at UCLA, long ago. -L