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.