Tuesday 15 October 2024

My (Computer) History 3

1977

PDP11/34 : Coral66 : Edge Tracker

One of my favorite projects.
A new anti-tank missile was planned, which would use image processing to home in on its target.  The hardware circuit design included am2900 bit slice microprocessor chips and some expensive specialist chips.  Our teams job was to provide a software emulator for the missile guidance system so that another team could test their guidance algorithms and code by running it on our emulator.

I wrote the code for the ALU and some other system components.  It was vital that the emulator behaved exactly like the proposed hardware and I provided an exhaustive test suite to make sure results match the circuit specification.  We wrote our programs on a DEC PDP-11/34.  The PDP had an Operating System RSX and display terminals.  This provided an incredibly productive environment, allowing us to write our programs quickly directly in the computer, compile them in a few seconds and then test them immediately.
Coral66 was a good "sceintific" language to use, like Algol60 but slanted towards the defence industry somehow.






The project was a great success and allowed the guidance team to test their software on real digital video data, provided by the army, of tanks moving in various scenarios.  By analysing the edges of objects in a the image they were usually able to pinpoint the tank from the heat signature of its exhaust fumes.
I recall that one dataset proved troublesome; it contained a tank in a field of cows, and the missile guidance usually aimed at a cow's "exhaust" instead of the tank!

As a follow-up we started to build an emulator for guidance system based on 6502 processors for an air-to-surface missile.  I wrote most of the code before the project was cancelled.  It may have been because the actual hardware board became available to use for testing and an emulator was no longer required.

1978

Siemens 330 : Assembler : ATE

I spent some time in the Automated Test Equipment lab.  The idea was to use computer programs to test whether equipment / weapons were working properly; at the time it was quite an advanced concept.  For some reason, probably political, we were using Siemens 3003 computers which we had to program in German assembly language.


  Not being able to understand German this slowed me, and others. down considerably.  I dont remember what equipment we were supposed to test.  I do recall that the programs and data shared the same address space so we could try out dynamic programming.  For example, if you wanted a loop to execute 50 times you would write the integer value 50 into the appropriate place in the program.  It was all a bit of a come down from sexy PDP-11s.

Pixette SlideShow + Webdav

 Aim

My Art Gallery picture slideshow web application works very well, allowing me to look at pictures together with their descriptions and my comments.  Occasionally, I would prefer to see an iPad slideshow of the pictures full screen, with the minimum of borders / distractions.

The pictures are held on an RPI Samba shared folder and it would be easy enough to copy them across to my iPad and view them in Apple Photo or LiveFrame which I currently use.  However it doesn't seem right to do this when I already have the photos available, both on a shared folder and available as web URLs.

For some reason I found it difficult to find an iPad app that would access pictures on a shared folder and allow me to look at them in a slideshow.

Lighttpd web server

After searching Pixette appeared to be popular app, which might allow me to view shared folders collections on "NAS".  I thought that my RPI with shared folders qualified as NAS but apparently proper NAS devices have their own system software (e.g. Synology) - to allow proper file-sharing, multiple users etc.
However Pixette does support Webdav devices and I found that my web server lighttpd can be configured for webdav. I followed a guide fom Haven200 which explains how to setup lighttpd for webdav.
Unsurprisingly you need to install a couple of lighttpd modules and configure lighttpd.conf details.
You also need to make sure you have a password file available (I used htpasswd for simplicity)


After completing these steps it is possible to see my art directory structure

Configure Pixette

It took me a little time to get webdav working but once I had a URL I simply entered the details into Pixette, indexed files and sat back to watch my slideshow



Verdict



Pixette is an excellent tool which gives a proper full-screen slide show experience.  Of course the iPad has a high quality screen so the pictures themselves look great.  Pixette is intended as a digital picture frame and it shows pictures in a random order but that isn't much of an issue.

webdav is actually intended to allow you to make updateable pages, so I could probably experiment with that idea separately.  I recall that when Tim Berners-Lee initially setup his web server he intended web pages to be writeable so webdav is truer to the original idea than most.








Saturday 12 October 2024

My (computer) history 2

1977

Intro

Having being accepted to study Mathematics at St Catharine's College, Cambridge I started an Undergraduate Apprenticeship with British Aircraft Corporation at their Guided Weapons Division in Stevenage.  The first three months was a mandatory workshop training course, mainly learning metalwork, with the traditional apprentices.  It disabused me of any notion that I had any practical abilities and I admired the skills of the younger, traditional apprentices.

After this difficult period I was sent to work in various departments around the site.  The other undergraduate apprentices were due to study Electronics and were easy to find placements.  They didn't really know what to do with a Maths student and it was natural to send me to work in departments with computers.  As a research and development site, there was a significant investment in computers but very little existing expertise in controlling and programming them.

IBM : Fortran : Statistical Analysis

My first placement was with the Precision Products group working alongside experienced traditional mechanical engineers who were computer illiterate.  BAC made extremely accurate gyroscopic compasses for the military.  Repeated readings gave slight variations and the designers hoped to improve accuracy by looking at a statistical analysis of compass readings.

I taught myself the Fortran IV language and wrote programs to analyse readings, using a 80 character coding sheet to write down the program. 


 I then went to a punched card machine where I typed each line of code onto a Hollerith punched card.  Column 1 was blank unless it was a comment.  Columns 2-7 were used for a line number for goto statements. Fortran commands were entered into columns 8-72.  Columns 73-80 were blank.  At the top of each card in each column, the character was printed, and beneath a sequence of holes indicated what the character was in binary. 

 Compass readings were also typed on cards which were appended to the end of the program.

After checking the cards, they were handed to an Operator who used a Remote Job Entry (RJE) terminal to read in the cards and run them in a batch partition on the mainframe.


I believe the computer was an IBM 360 running OS/VS Operating System.  The operator would add a couple of Job control language (JCL) card at the front of my program deck to tell the mainframe which partition to run and which printer should be used for results.

The engineers and myself could look at the printed results.  I also had access to a Calcomp plotter which was attached to the remote mainframe.  This was a very exotic and expensive device which enabled me to show results on a printed graph.



Analog Computing : Missile Guidance

In the 1950s 1960s and early 1970s analog computers were a useful tool.  Signal sources (Input voltages) would pass  through various components to give results in the form of output voltages. They were particularly useful in modelling systems whose behaviour was based on differential equations.

As shown below there were a variety of operations which could be carried out.  BAC used them to test missile guidance systems.  A missile nose cone would be mounted on gimbals in a test rig allowing it to turn and rotate.  A moving Radio Frequency target would be placed at the other end of a long room.   The nose cone then needed to track the target.  Instead of signals send to control rocket motors, the analog computer interpreted them and adjusted nose cone direction appropriately.

Electronic Associates (EAI) were the principal manufacturers of analog computers.  I learnt on one similar to EAI-180 at TNMOC which is shown below. It is programmed by plugging patch cables from inputs, through a sequence of components leading eventually to outputs. Although plugging the cables was easy it was difficult to design/test a working system.  I recall that the production system had a spaghetti-like mass of cables.  Patch boards could be interchanged on the front of the computer to run different "programs".



Saturday 5 October 2024

My (computer) history

1971

My first recollection of an interest in computers was probably 1971 when I was 14.  The CEGB (Central Electricity Generating Board, now National Grid) had an open day at Roseneath, their local office in Bramhall Park which was about a mile from my home.  A little site called bygone days has gathered together some information and recollections on CEGB.  A recollection from Len Simpson mentions that there were a couple of open days after the new control room was opened.


As an aside my sister was at school with Isobel Plevin, whose father Don was a manager at Roseneath, and Annettes father, Roy, who also worked at the CEGB in the National Control Centre used to go up to visit Don Plevin.  In addition the bygone-days website has articles by Roy Lewis and his colleague Tony Malins.


I remember that we walked around the Control room, which was very impressive.  I don't know whether we saw a computer but there was a board describing  a computer (memory) as having a lot of pigeon holes for information, which sounded strange.

I came away from the visit with a freebie, which was a totally incomprehensible book of flowcharts relating to the computers application.  I used to look at them to try to understand how it might work.

Following the visit I must have expressed an interest in computers.  My fathers company used to receive Computing and Computer Weekly newspapers but I think no-one read them.  My father used to bring them home for me and I regularly read through them and saved old copies even though they didn't mean much.  I read a lot about the mainframe manufacturers of the day, IBM. ICL, Sperry Univac, Burroughs.  I recall lots of discussions on ICL 1906 computers being installed by councils and government bodies.

1974


My first interaction with computers came at school, in 1974 I think.  I attended Kings School, Macclesfield and studied Maths and Physics  in the sixth form.  The local Technical College had a teletype terminal with a remote telephone link to a mainframe at Manchester University.  One afternoon a week, for a term, we went to the college to learn Basic programming and to use the teletype.
I enjoyed the sessions immensely and wrote a few programs.  I recall a program which generated simple poems was great fun and impressed the teachers.



We "wrote" programs at an "offline" teletype terminal and saved them on the attached paper tape machine.  We then  went to the "online" teletype and inserted the tape so that it could be read in.  This loaded the program to the computer in Manchester.  Running the program caused the results, or an error message, to be printed on the teletype.  You would then tear of the paper and handover the terminal to the next person.  If there was an error, you amended your paper tape and waited in the queue to re-run your program.  It seemed wonderful.
 

1975

The school was offered a place on a residential computer course in the 1974/5 Christmas holidays.  As I was interested in computers I was lucky enough to be selected to attend.  The course was held at Eton College which was lucky enough to have its own computer, an Elliot 903
I am not sure what programming language we used, it may have been Algol or Fortran.  It was a small computer with no long-term storage.  Again we wrote programs using a teletype and saved them on paper type.  As the computer didn't have permanent storage or much memory it was necessary to load the compiler into the computer on a tape, then load your program tape and compile.  The output was another paper tape which you loaded into the computer (overwriting the compiler) and ran the program.  Program output was printed on a teletype.
Unfortunately I dont recall details of programs I produced.



Lyrics

Reading lyrics whilst listening to music improves the experience, particularly because I am not very good at decoding unclear words and tend not to listen to songs closely.
Putting a song title and artist into google usually provides lyrics or links to lyrics.  Very occasionally, I make the effort to do this, but it would be really helpful if I could create a Google search within my music application to display song lyrics.

In my music page I already display the title, artist and album so the information so it is a simple matter to work out what needs to go into a Google search. In the example below a google search for "Lyrics Fleetwood Mac - Second Hand News" quickly comes up with the appropriate lyrics.

All I have to do is setup a simple javascript function which takes the available track and artist information and create a suitable google search string.  This is then inserted into the page in a button tag as shown below.


It is a very simple way to add a useful function to the page.  In addition to starting the query with lyrics, I have buttons to start the query with "Images" and "info" which also yield potentially interesting Google search responses.

Google doesn't always come up with the goods, the genius.com lyric site can potentialy give better results but it seems it would entail processing lyrics using their API which would be more work.  I will take the win with a 80% result for 20% of the effort.