19 December 2020

Syntax quibble

Richard Jensen traces the roots of Brian Kernighan's and Dennis Ritchie's C back to Christopher Strachey (nephew to Blooomsburyite Lytton) through SMALGOL and an abandoned project, BCPL.
BCPL is a “bootstrap” language because its compiler is capable of self-compiling. Essentially, a small chunk of the BCPL compiler was written in assembly or machine code, and the rest of the compiler would be written in a corresponding subset of BCPL. The section of the compiler written in BCPL would be fed into the section written in assembly code, and the resultant compiler program could be used to compile any program written in BCPL.
An intermediate step in the development was B.
Scripting languages such as PHP and JavaScript contain bits of programming shorthand that [Ken] Thompson originally developed in order to fit B into the limited memory of the PDP-7. Two examples are the “++” and “--” increment and decrement operators. With only 4k to play around with, shortening “x=x+1” to “x++” saved a not inconsiderable amount of space.

29 November 2020

German and Connecticut

Ken Shirriff prints a visualization of the Mandelbrot fractal with an IBM 1401 and peripherals at the Computer History Museum.
The 1401 didn't need to be programmed in assembly language - it supports languages such as Fortran and COBOL - but I wanted the full 1401 experience. It does amaze me though that you can run a COBOL compiler on a machine with just 4,000 characters of memory.

04 September 2020

Greg would not be amused

Recollections by women technologists at the National Security Agency in the 1960s-1980s. Training, learning, perfecting.

Early variable-naming conventions:

The library books said I could name my variables anything I wanted. I took this to heart and called them names from the book I was reading, The Hobbit. Thus, “BILBO” became the second counter. Eventually, the person guiding me looked at my work and gently mentioned that it was traditional to name the variables after the function they performed so other people could follow the program.
And a new patching technique:
My first programming experience was assembly language on a CP818 (UNIVAC 1224) for field installation. We “wrote” our programs on a Kleinschmidt—something like a typewriter, but it produced punched paper tape with one instruction per line (e.g., “clear register”). You could fix an error by wrapping Scotch tape over the holes in the line and repunching the line! Fortunately, the readers were not sensitive to the opacity of the tape, just the holes. The resulting paper tape was wrapped butterfly style in a figure eight with a paper clip in the center and stored until you had time on the computer.

07 August 2020

04 June 2020

Blogs are back

My colleague Todd and I dashed off a quick refactoring of some one-off work that the team did a couple months ago (Todd's part was the much greater lift). Et voilĂ , our second liveblog-style collection of breaking news posts on a critical topic: Live Updates: Protests For Racial Justice. With all the yummy reusability that will enable the newsroom to build new collections as the world rumbles on. Maybe a collection for the November elections?

26 April 2020

It never went away

John Delany reports that COBOL is back.
It is estimated $3 trillion in daily commerce flows through COBOL systems, while 95% of ATM swipes and 80% of in-person banking transactions rely on COBOL code.

16 February 2020

Patch

Frank O'Brien explains, in exceptional detail, the hardware problem that vexed the Apollo 14 mission, and the dance of software fixes that kept the Moon landing on track. TIL about core rope memory.