Sixteen Bits Online

MAY 1996

Those were the days...

by Kevin Wellspring

Last months article by John Hambley has inspired others to share their early experiences with computers.

Let me take you back to the days of the IBM 650, that is about 1959/60. That was only slightly later than when it was necessary to "tooch wires wi' toongue t' tell one from zero"! It was necessary, however, to write your program in FORTRANSIT (For TRANSlation to IT) which was then punched by the "card punch girl" --- never a fellow in those days --- one card per line of code. The FORTRANSIT deck was loaded and run to produce an IT (Internal Translation) deck. This in turn was loaded and run to produce a SOAP (Symbolic Operational Assembly Program) deck, which was also re-loaded and run to give a deck of punched cards with the original program in machine language. Now you were really hot to trot, except that you needed to get your data punched in exactly the right format, every decimal point in the same card column, to be read by the machine.

Our problem was simple by to-day's standards. We were trying to carry out a least square adjustment of an old triangulation network. The exercise in fact had a set of 23 normal equations which had to be solved by a matrix inversion. IBM had agreed a contract to solve the equations for us. Would you believe that the limit of the machine was 20 simultaneous equations? We overcame this hurdle with no problems, before the contract was signed, by breaking the network at a convenient point to have one half of the problem with a set of 12 and the other half with a set of 11 equations and away we went. You don't realise how good the modern computer is till you get a 12X12 matrix listed with the solution of the set of equations interspersed with the inverse matrix. Each number in the input matrix and the output had nine digits. This was followed of course by an 11X11 matrix to be similarly un-scrambled.

Nevertheless we were smart cookies and checked every digit of the input in each set of equations and sorted the solutions from the other co-efficients in the output. I should say that this probably took us about two or three days. A similar set of equations had been solved manually in Victoria a few years earlier and the exercise had taken some 6 months just to solve the set of equations! So we were well in front of the game.

Next, we started calculating a set of corrections to observed data from the solution to the set of normal equations. That was when the real trouble started. To cut a long story short one half of the work was OK. The other half, though, obviously contained an error. After several days on the problem I was given the task of substituting the solutions for the twelve un-knowns into the original twelve equations. Ridiculous as it seems one equation in the middle of the set was not correctly solved, although all of the others were. We checked back on the input and, yes, all of the cards were punched correctly.

IBM examined our complaint and ran the data deck again for us at no charge and behold, a different solution came out and our problems were solved. To this day I am not sure how such an anomaly can occur without breaching the second law of thermodynamics. Or maybe Heisenberg just "got" us. The official explanation was "we don't really know but we think that one of the holes in one of the cards must have had a fuzzy edge and the computer mis-read it". With only one faulty hole one would have hoped for at least a protest by the machine.

I must say that I thought punched cards were an advance on paper tape though. Come to think of it, the one pass FORTRAN compiler was also a tad ahead of the original three pass one.

Ah for the good old days ...maybe.

Sixteen Bits Online - May 1996