On 07-Jul-05 Keith Watson wrote:
From: Chris Green Sent: 07 July 2005 09:38
On Thu, Jul 07, 2005 at 09:12:06AM +0100, Peter Hunter wrote:
Yep, you're quite right Keith, we should stop living in the
past. But
it is nice to talk about these things at times.
The thread is wrong. It should be "Old user".
My voice from the past: In 1966 as a student I did a vac job at Aldermaston. We got a series of lectures on the assembler language for the big new gleaming IBM mainframe (I forget now which model it was, but it was a very early one). Then we were put to work doing little programming jobs for it.
The big issue at the time was writing a timing loop for the spinning magnetic drum (advanced technology for rapid access storage). The point was that the machine was not fast enough to read the drum sequentially, being only able to pick data off at moments when it was ready to do so. So in order to grab a sequence of bytes off the drum, you had to wait until the next byte came round again and be ready for it. (Meanwhile, of course, you might pick bytes of other tracks if you wanted them).
So the task was to write a routine which implemented the necessary delay ...
Another hands-on experience came many years later. The nearest I could get to a home computer in the late 1970s was the TI59 programmable calculator. In terms of its hardware this was a great little gadget, with 1000 bytes of RAM which could be split into N bytes of program codes and 1000-M bytes of BCD numerical data (2 digits/byte), 8 bytes (I think) per floating point number. There was also a little recess where you could slot in a PROM module which carried routines for special purposes: one I used a lot was the "matrix" module (matrix addition, multiplication, and other very basic stuff; nothing to invert etc.).
There was also a slot for reading in slips of magnetic card with program or data, and a printer cradle which printed on a roll of thermal paper.
I found that with this module, and the minumum of 100 program codes, I had enough RAM to calculate the eignevalues and eigenvectors of a symmetric matrix up to 11x11 (something which was of great use to me since this procedure is central to a lot of multivariate statistical analysis).
This procedure, however, was protracted, since it involved calculating the eigenvector with largest eigevalue by an iterative process of repeated matrix multiplication, then "stripping" this out of the matrix, and then repeating for the next eigenvector, and so on till all were extracted.
Each time an eigenvector was established, it and its eigevalue were printed on the printer.
Each round of this could take up to an hour, so an 11x11 might take 10-11 hours. Even for smaller ones, it was still at least an hour or two.
Rather than sit and watch the paint dry, I wanted some way of knowing that it was done. By chance, with my radio on beside the calculator, I observed that when I accidentally caused an error condition (which caused the display to flash), the flashing generated a radio signal which was picked up as a rhythmic buzz by the radio.
So the trick was to insert a few byte codes into my matrix program to test for completion and then divide 1/0. I put the radio next to the calculator with the aerial horizontal on top of it, and the volume turned up.
The resulting signal of completion BZZZ----BZZZ----BZZZ----... could be heard all over the house, whereupon I would go up and tear off the printed results.
By the way, I can also remember using pencil and paper.
Best wihses to all, Ted.
-------------------------------------------------------------------- E-Mail: (Ted Harding) Ted.Harding@nessie.mcc.ac.uk Fax-to-email: +44 (0)870 094 0861 Date: 07-Jul-05 Time: 12:16:07 ------------------------------ XFMail ------------------------------