My involvement with computers goes back to the early 1950s. I was assigned to work on the audit of Trans Canada Airlines (now Air Canada). They had advanced unit record equipment for the time. Eighty column cards with holes punched in them were the data media. Plug boards, sometimes called spaghetti boards because of the complicated wiring, were the equivalent of computer programs. Sorting machines could turn a deck of punched cards into something close to a data base. Mostly the combination of parts printed, added and subtracted numbers in varied sequences. Multiplication and division functions required special control boards. That approach to data processing was almost the exclusive domain of IBM. They didn’t call it a computer but that may have been because they were working on a fully electronic computer and thought they could divert attention from that effort. In fact they were embarking on a series of developments that lead to the famous 360 series that dominated the computer scene for many years.
But other developments were taking place along side the business systems where IBM was focused. The experience of working with some of them has had a significant impact on my own career. In the early 1950s there was a simple computer called an LGP30. This unit used ticker tape for input of data and loading programs. The computing function consisted of what we now call a central processing unit (CPU) and a rotating drum on which the program was stored as well as any data the program had to read or write to. These were stored in the form of magnetic on or off signals that the CPU could interpret. In operation, the drum rotated so that the the CPU could execute program instructions sequentially and store results elsewhere on the drum as instructed by the program.
Lesson 1. The LGP30 provided clear lessons in how computers function.
A while later when working for a firm of architects, I had the opportunity to talk the partners into investing in an LGP30. A very bright member of the structural division of the firm, Adolf Berg, took an interest in it and quickly learned how to program it. The firm had a project on the books to design a large office building. Adolf decided to program the structural calculations for the building. As the firm worked through various design possibilities, Adolf would recalculate the structural requirements very quickly saving hours of engineers’ time. When the project was put out to tender the structural cost came in substantially below estimates. This was very pleasing to the owner but not so much for the architects. Their fees were based on a percentage of the cost of the building.
Lesson 2. When used properly, the computer could save time and money.
In 1968, in the process of searching for a business that I hoped I might run myself, I realized that the processing of payrolls was not popular among data processing firms. Eventually it occurred to me that significant savings and conveniences could be achieved by combining the calculation of the payrolls with the payment of the employees. This was so simple and produced such significant savings that it was surprising that it did not seem to be provided by any one at that time. Today it is close to the universal payment process.
Lesson 3. Once you get data into a computer, use it in every way that makes sense.
Another addition to my education occurred when Jean Fortin, owner of an innovative computer design shop introduced my son to a small personal computer called an MMD-1. You purchased it as a kit that you had to assemble. The first program written on it was a lunar landing game. You were to land a rocket on the moon. You did so by utilizing the right amount of fuel to slow it down for landing. The only indicator of how you were doing was four sets of LED lights that told you how much fuel you had and another that told you how fast you were going. A problem arose when he couldn’t get the lights to turn on. After a lot of checking it turned out that the instructions the program gave to turn on the light was not in the ‘on’ state long enough to get the LED to glow. It was solved by turning it on, then counting from one to one thousand before carrying on to the next instruction. That gave the LED time to light up. This was a practical illustration of how fast computers work. Though there are a number of variables in the performance of different computers, there is one constant for all of them; the pulses all travel at one hundred and eighty six thousand miles per second.
Lesson 4. The more compact the computer is, the faster it can operate, other variables remaining equal.
Our business always looked for savings and efficiencies. When the microcomputer came along it appeared to have the ability to run our payroll system. If we could just get a compiler that would compile our COBOL programs to run on the micro we could save a lot of money on computer fees, staff time and communications costs. Eventually we heard from a company in Alaska. They sent us their user manual and it was an exact copy of the IBM COBOL manual – the very manual we had used to produce our payroll system. We read our source deck into a PC and it compiled in less time than it did on a main frame computer. Then we loaded a day’s payroll processing into the computer and again it executed in less time than the mainframe. The reasons were twofold: the PCs operated as single purpose computers whereas the mainframes were processing multiple programs at the same time. The micros had all their facilities in one small box whereas the main frames had their peripherals spread over the entire computer room. The shorter distances seemed to be the explanation for the greater speed.
Lesson 5. Remember the lessons of the past.
Around this same time I took the time to attend a computer show in Texas. Rather than finding computers, I found parts for many many devices that could be driven by computers. Rather than being limited to the hardware supplied by the computer companies, you could imagine any devices that you thought useful. This let loose the idea for a cheque dispensing machine for our payroll system, time recording devices for factory payrolls, digitizing telephone dial pulses to record bill payment instructions for a bill payment system, a voice recording system that enabled a computer to provide payment instructions so the caller could pay bills. Best of all there were young people with the imaginations to make all these devices work. It was not the right time for all of these devices to work, though none are without consideration even 30 or 40 years later.
Lesson 6. Let your imagination go free when change is possible.
There are those who try to find improvements by market surveys, consultations with users and so on. None of that is as exciting, and maybe as rewarding, as looking beyond what exists to find new solutions. Learning these basics in practical situations may be a shortcoming of the education of programmers of today. On the other hand, the performance of the smart phone devices of today is so astonishing it seems I have more to learn.