When I was in junior school, the emphasis was on "mental arithmetic" - doing sums in your head. I was mathematically inclined and usually did rather well at "mental arithmetic".
In secondary school, more elaborate calculation was needed. For physics and chemistry, a 10 inch slide rule was mostly adequate - I had a "Aristo Scholar" which served me well. For more accuracy, 4 figure log tables were used - I had "Knotts four-figure mathematical tables" - with the outside copiously decorated with useful formulae.
My first meeting with electronic computation was in the summer of 1961 when I worked as a vacation student for Stantec. This was a division of Standard Telephone and Cables (STC) which had a base in Newport (S. Wales). They had set up a computing division which was housed in a separate 4 storey building in Corporation Road. At this site, they made the "Zebra" computer - a vacuum tube (valve) computer which was physically large and had a prodigious power consumption to keep all the valves glowing (6 KVA). Because the valves had heating filaments, the mean time between breakdowns (MTBF) was not good - sometimes failure in 30 minutes as I recall. The wiring was constructed using "wire-wrap" which was considered to be more reliable than soldering. One complete Zebra was sited on the ground floor near the entrance as a demonstration model. Some crystallographers from Cardiff University sometimes came over to make use of it.
My job was in programming and we were on the top floor. I was first shown the programming language - there was a "simple code" which was fairly simple to use but was very slow. As I recall, it achieved 30 flops (compared to several hundred gigaflops which are usually available in 2012). Input was by paper tape (5 hole teleprinter tape) and it was a single user machine. It had a telephone dial on the console and one could write a program that took different branches depending on the number dialled. There was a CRT display which showed the contents of registers in binary and could be used to check progress. Output was a teleprinter.
I soon progressed to the "normal code", which was the basic microcode of the Zebra. Different bits in each instruction opened/closed different gates: one basically had the circuit diagram in mind when programming. Another "feature" was that the main storage was a rotating cylinder: it took 32 cycles to go round - so you had to write your program bearing this in mind if you wanted to access or write data. There were a few ferrite registers which were accessible every cycle as well.
I was told that when they sent the cylindrical storage drum off to be nickel-plated, it came back not working as a magnetic store. Inquiries revealed that the plating company noted that nickel-plating was rather dull so they chromium-plated it instead.
I was allowed to run programs on the demo Zebra and managed to program a brain-teaser successfully. One had to make sure the program did not run for too long - since the MTBF was so short. One of my colleagues worked in manufacture and was often available to swap a "crate" when there was a valve failure...
My job was actually to develop test programs for a transistorised version of the Zebra which was under development. This was going to have some dedicated multiplication electronics (rather that just doing "long multiplication" as on the valve version). I actually managed to write one program that was deemed useful and put in the library: although all it did was print out the binary contents of registers.
As an undergraduate physics student (1960-3), I had no need of further computational resources than my trusty slide rule and log tables that I had used at school.
As a graduate student (1963-6), I had access to the university computer. I went on a course to learn Ferranti Mercury autocode but never used my knowledge. A year or two later, a KDF9 (built by English Electric, transistorised) was installed and I did run Algol 60 programs on that. This involved paper tape (now 8-hole not 5-hole). The trick was to leave gaps in the paper tape so that one could make corrections (all 8 holes punched was disregarded, so one could erase a section and splice in a new piece...). As a service, the turn-around was often slow - so debugging could be time consuming.
While a graduate student, I also had access to electrical-mechanical calculators. I made no use of them but I do remember helping a non-scientist to work out square roots for some statistical analysis on one.
My first post-doc research job was in the Rutherford Laboratory (now the Rutherford Appleton Laboratory) near Didcot. There was a Ferranti Atlas supercomputer at the computer lab located alongside the site. This had the reputation of being very fast and very hard to use. At this time an IMB 360/75 computer was installed for the Rutherford itself. This had a Fortran compiler and I taught myself Fortran from the IBM computer manual. This used punched cards as input and I learnt how to operate a punched card machine. Turnaround was quite good (my office was close to the computer) and I was able to get useful programs running effectively.
My workhorse was a minimisation program. VA04A was suitable and available as a Fortran set of cards. This enabled solution of minimise/maximise problems such as fitting parameters in a formula to data.
see links
1,
2.
In 1969 I went to CERN as a Fellow in the TP division. At that time
CERN still used CDC6600 computers providing a batch service. This involved
punched card input and output from a "line printer". Magnetic tape
input/output was also available.
see link
1.
Later (towards 1972), CERN developed a distributed system called FOCUS
with teletype terminals in different locations, including one near my
office in TP division. This was a new experience: needing a password to
get going.
see link
1.
After moving to Liverpool, I used a variety of "mainframe" computers:
at Daresbury, at Rutherford and in the Physics Department at Liverpool.
By this time it was becoming easier to use a computer remotely from a
"dumb" terminal. One still had to walk to submit cards or to extract
computer printout.
Let me focus hereon on personal computing:
In 1980 Clive Sinclair released the ZX80. This was available for
£100. It relied on a TV screen for display and a cassette
recorder for storage of programs. With a Z80 processor and only 1 kbyte
of memory, it was not very powerful. It came with a BASIC interpreter
which could enable quite complex programs to be written within the
limitations.
There were 2 basic flaws: the cassette input/output was not buffered so
the cassette recorder used needed exactly the correct speed (eg battery
state); and the ZX80 used its CPU to process the output to the TV,
so that the screen went blank when it was computing.
I rose to the challenge and wrote a program in assembler which computed
during the "fly-back" period only, so that the screen display stayed
on. This needed to have a code which took the same time to excute (the
fly-back time) irrespective of branches. What I wrote was a "Zpace
Invaders" program - which my sons certainly enjoyed playing. See here . With the
advent of the ZX81, this work-around was no longer needed.
see also
ZX80.
In 1985/6, I was on leave in the USA for a year and I decided to buy an
IBM Portable Personal Computer 5155 model 68 - the "luggable computer".
This had a CGA amber CRT display, 2 floppy drives and little else. I
bought a TECMAR card to upgrade the memory and provide graphics. Also a
modem to allow connection from home (at 300bps, later 1200/75 bps).
With this computer, I could program and communicate (just). My
pièce de résistance was a simulation of the Ising model in
3 dimensions that ran using each of the 16 bits of a word in parallel.
This made the net updating speed quite high, despite the lowely clock
rate (4 MHz). I was able to run this program in a classroom full of IBM
PC AT computers overnight at UoI - obtaining 10^12 spin updates and
disproving some previous results that had caused much concern. See here .
It was around this time that I changed to writing papers myself
directly on the computer - hitherto one wrote them longhand and asked a
secretary to type them up. I used ChiWriter for a while - as an easier
way to handle scientific input than TeX. Eventually, I joined the TeX/LaTeX
convention.
Many experts have sneered somewhat when they learn that my editor of
choice is MicroEMACS. This is quick, portable and can run on any platform.
Moreover Linus Torvalds himself says he finds it perfect.
I have quite a history of editors/word-processors. Early terminal
access to mainframes involved some quite ugly editors, then Xedit
became available. On the early IBM PC's I used Kedit (an improved
version of the basic IBM mainframe editor Xedit). Then ChiWriter itself
had an inbuilt editor. Now I mostly edit mark-up documents (LaTeX,
html), Fortran code or Shell scripts using MicroEMACS.
On my desk in work I had a IBM PC AT and then we changed over to Unix
and I had a series of SUN workstations. Eventually a PC running Linux
was a more economical solution...
As a way to learn the programming language C, I decided to write a computer
version of the game "connect 4". The computer uses game theory tree
methods to find optimal moves (best outcome irrespective of opponents move).
One also needs "heuristics": guesses of good moves when many moves
have similar outcomes. I did wonder if I could get the code to reach
the end to establish if, with best play, the game is a draw or a win for
the first mover. I ran out of memory in my implementation, but I believe that
it has been shown that a win is the outcome.
see also game theory
My code performs at a higher level than me - I can't beat it unless I
decrease the look-ahead to a very low level.
Code see here .
Another trip to the USA in 1994 allowed me to buy another laptop:
running Windows 3, although I still used DOS on it most of the time. I
had some DOS code that emulated many of the Unix commands, so I could
use similar commands in work as at home.
Yet another US trip in 2000 allowed me to buy a newer laptop: a Compaq
that had a nice colour screen and ran windows 98. I now have a
(rather ancient) Dell laptop with Windows XP / Linux options.
But my (Android) mobile phone has Linux too!
Universities were early adopters of e-mail. JANET (linking UK
sites) was in use by me from 1985 on and other networks such as BITNET
(IBM hosted) and ARPANET helped for international links. During my
sabatical year 1985/6 I was able to keep in touch with my students at
Liverpool from Illinois and then from CERN.
In order to get access to computers (and e-mail) I had a modem
connected to the phone line from my personal computer. This dial-up
service was initially rather unreliable. I first used it in Illinois in
1985 from a personal computer at 300 baud. This was fast enough to
accept typed commands but too slow to show a lot of results. Local
telephone calls were free in Illinois too, which helped. In
Switzerland in 1986, I had to use an "acoustic coupler" because of
local regulations -- put the actual phone handset in a special box
which had microphone and speaker connected to the PC; again at 300 baud.
As time went by, 1200/75 baud modems became available -- this provided
a usable rate for keeping an eye on programs running on remote computers.
Eventually dial-up services got close to 56000 baud which was the
theoretical limit for sending data down a "voice" line.
With the advent of broadband, speeds have moved ever faster and
reliability has improved greatly too.
As university sites became interconnected electronically, it made sense
to make "preprints" available, Thus outside physicists could obtain
and read ones latest research without waiting for postal delivery.
For information on calculators see here.
Mainframes at CERN 1969-74
Liverpool University 1974-
Personal Computing
Electronic Communication
At first, this was achieved using "autonomous FTP". This was "clunky"
and made finding these preprints hard to do. So some bright guy at CERN
decided to improved the system: Tim Berners-Lee and hypertext: the internet
as we know it started in 1990.
One of the first effective internet browsers (Mosaic) was
developed at Illinois (Urbana-Champaign) from 1992. The Arxiv
repository of preprints started in 1991 and facilitated the
dissemination of research.