Thursday, January 22, 2009

Hey look at this, I call it the wheel ...

It always amuses me when kids re-invent the wheel. Don't get me wrong, often what they have done is clever and shows real intelligence, but it also shows a lack of knowledge of history.
For example there is a very clever post at
http://www.g-brain.net/tutorials/writing-linux-programs-in-raw-binary.txt by a guy who realy seems to understand what he is talking about.
However he might be surprised to learn that what he demonstrated was the normal way of programming, at least for bootstrap loaders, as recently as the early 1980's.

For example a machine such as this PDP-11 would boot by someone keying a bootstrap progtam into core memory using the switches on the front pannel. That program would fetch a sector from the winchester disk, load it into core and jump to it. Once you practiced you could load the bootstrap program in only a few minutes. Then switch from program-load to run and press start and then, if you had made no mistakes, the computer would be up and running.
You would set up the start address of your program on the switches and then press "load-address" and then start entering the machine instructions.
There was a nice hack for early versions of Unix. If you could get access to the PDP-11 you could arange it so that you stopped the machine while your task was in core and then using the switches quickly (so none of the other timeshare users noticed the pause) enter a zero at core location forty; that was the byte that held the UID and zero is root. Then you switched back to "run" and you were root ;-)

IBM 29 Card Punch


When I started programming in school this is what a keyboard looked like.

Thursday, January 1, 2009

This is my father in his mother's arms and the second photo shows my uncle and my father with their grandmother.