In December, 1963, I graduated from
Siena College
with a BS degree in Physics. I had
planned to continue my education with the intent of
preparing myself for a career as a nuclear experimental
physicist. However, because my grades were not good
enough (note I graduated in December, not June), I
decided to enter the military. I joined the
US Coast Guard
in January 1964 as a Seaman Recruit. I was
stationed at the Reserve Training Center in Yorktown, VA.
There, I underwent training at the Officer Candidate
School. In June 1964, I was commissioned an Ensign.
My first assignment was the US Coast Guard Third District Office in New York. (The Third District has been incorporated into the First and Fifth Districts.) My duties involved ordinance and readiness. A good deal of time was spent writing various war plans for the District's ships and stations. Because I had been trained as a physicist, I was well adapted to understanding the effects of nuclear weapons. I don't think that many things have scared me more than researching these effects.
In October, one of the Yeomen (at that time, an individual who was the Office Administrator) told me that he would be out of the office for three months working on a Civil Defense report for the US Army. The task involved cross adding the numbers of personnel available for Civil Defense activities. He told me that the difficulty was to make the numbers cross add so that the total of the rows equaled the total of the columns. I reluctantly released him to perform the task.
Shortly after, the Third District Office moved from the
Alexander Hamilton U.S. Custom House
in
New York City to
Governor's Island
in New York harbor. I was told that
I was required to move to the Bachelor's Officers Quarters
(BOQ) on the island. I was a night person. A large
percentage of my duties involved riding cutters and small
craft, observing day to day operations of various units.
Riding small boats meant being on the water at night. (It
has always amazed me how many accidents or rescues occur
during darkness.) So I tended to wander Governor's Island
at night, either to or from a small boat.
One evening, on return from a visit to a local station, I saw lights on in a building that I thought shouldn't have lights on. On entering the building, I found the lights coming through a door that had been left open. Entering the room, I found box upon box of gray and blue - what turned out to be a large IBM 1410 mainframe computer. I asked the operator just what this machine was and he told me "a computer." Not quite knowing what a computer was, I asked some questions, gradually coming to the conclusion that this machine could add columns and rows. When I pressed the operator, he told me that I should see "the Chief". The next morning I did just that.
The Chief was a radarman who was performing duty
ashore.(Most radarmen seldom see the shore; in those days
they were almost exclusively assigned to ships.) I
explained the problem of the Civil Defense report and
asked if the computer could perform and report the
necessary calculations. When the Chief replied
affirmatively, I asked how I could arrange to have the
task performed. "Simply" the Chief replied. I had to do
the programming. He gave me two books: the
Principles of Operations
and the
Report Program Generator Language Reference
. He told me that everything I needed was in these books.
I took the books to my room in the BOQ and spent a week reading them. I was clueless when I finished. I returned to the Chief and told him that I read the volumes but wasn't sure that I understood how to solve my problem. He asked how many times I had read the books and I replied once. The Chief said that I needed to read them at least three times. I returned to the BOQ and started reading them again. Slowly, more and more concepts became clear until, finally, I realized how to do the job.
I told the Chief that I was ready and asked for a pad of coding sheets and a pad of printer layout forms.
The layout that I had chosen for the report required that
I prepare a printer control tape, a loop of paper that
was punched with holes in any of twelve columns. The
printer could be instructed to sense these holes, moving
the paper tape (and thus positioning the page) until the
desired hole was sensed. Today, of course, I would not
use a control tape but this was my first program and it was
1964. I
decided that I needed a top of form
punch. The top of form punch was usually placed in column
one of the control tape. Following that would come a page
heading, followed by the data and results of the
calculations. Between the heading and the data, I decided
to use another punch, this time in column two. I designed
an input format and then wrote the RPG program. I pored
over it, finding and correcting errors until I was
satisfied with the program. I then used an
IBM 029 Key Punch
machine to construct the deck of
IBM Punched Cards
that would be fed to
the computer. The Chief helped me with the
job control language (JCL)
cards. Finally, I was ready. I scheduled time on the
machine at two AM the following morning.
Upon arriving, I told the operator that I needed the printer control tape installed. He took the tape and replaced the standard tape with the one I provided. The cards were loaded into the card reader and the machine was booted to read the program and data. In about ten seconds all the cards had been read. The machine started flashing its panel lights and then paused. The operator said that the program was about to execute. And execute it did! Suddenly the printer started spewing paper out. I'm surprised if we didn't waste half a box before the operator could stop the printer. There was nothing on the paper. I was crest fallen. I collected my cards, my printer control tape, and my program listings and returned to the BOQ.
For two days I pored over the listings. I couldn't see anything wrong. I desk checked the code over and over. Still nothing. Finally, I rescheduled time on the machine. This time I met another operator, one who I hadn't met before. We went through the same setup and started the job. I hadn't told the operator that I hadn't made any changes so, after the machine panel lights stopped flickering, I was next to the printer ready to press the stop button. But the printer just started printing the results of its computations. The US Army Civil Defense report was finished in about six seconds.
I was baffled. What had changed? I knew I was dealing with a different operator. That was the only variable. So what could an operator do to cause the printer to spew out paper? Unfortunately, I was unaware that the standard printer control tape was doubly punched for top of form: one punch in column one, the other in column twelve. I had only punched column one. And of course, as Murphy's Law would have it, the first operator installed the printer control tape reversed. Because there was no punch in column twelve, the paper just kept moving, continuously seeking a punch that wasn't there.
I learned two lessons that day: don't trust operators and always double punch the control tape.
But something bad also happened. The program ran without a flaw. I thus missed the opportunity to learn how to debug a computer program - a skill I was required to learn on my second program.
We used the program for three years. I was then assigned to a Coast Guard cutter; then to Vietnam; and finally to Coast Guard headquarters. In 1971, I received a call from the Third District asking what this cabinet full of punched cards was for. I told them what they were for and how to use them. But they decided to destroy them. I guess they liked adding columns and rows by hand.