Code

Restoring The Missing B 5000 Manual

Shell programming to the rescue

July 4, 2021

The B 5000 mainframe computer was the first in a series of special machines released by the Burroughs Corporation. A stack machine with relative memory addressing, tagged architecture and a single-pass Algol compiler, the B 5000 was designed to make software development easier. I first heard about it watching Alan Kay’s Vannevar Bush lecture.

As I was researching the machine, I found several references to “The Descriptor”; a technical manual that Burroughs supplied for the B 5000. Unfortunately it was only available as a series of jpeg scanned images on the University of Virginia’s website, and I’d rather read it as a PDF. Fortunately I’m familiar with shell programming so I pulled this little maneuver:

$ for n in {1..49};do
> printf -v filename "%02d.jpg" "$n"
> wget -q -O "$filename" "http://www.cs.virginia.edu/~robins/BU2/webman_BU_Jan_25_2012/brochure/images/manuals/b5000/descrip/descrip_$n.jpg"
> done
$ convert *.jpg -background white -density 72 -page Letter the-descriptor-b5000-1961.pdf

The manual has 49 pages, so the for loop uses brace expansion to loop over numbers 1 through 49, printf to convert each number into a alphanumeric-sortable filename (1 => 01.jpg) and wget to download each jpeg. Then it uses ImageMagick’s convert program to assemble the images into a PDF.

The glob *.jpg is filename expanded to each jpeg in the correct order because they’re named in lexical order. The density and page options specify settings which try to match the quality and size of the jpegs. I’ve uploaded the resulting PDF to a public repo. It’s not great quality: it would be nice if the images smaller than a page were aligned at the top of the page rather than the bottom. Some of the text is missing from the scans. But it is serviceable. Another Burroughs manual: “The Operational Characteristics of the Processors for the Burroughs B 5000” (1963) is widely available online and in much better quality.

Tags: b-5000 wget imagemagick alan-kay