Published 2024-04-11.
mainframe
collection.
The first computer I ever used was an IBM 1620 in 1972 in the Engineering building at Carleton University. At the time, I was a high school student, and several friends and I would trek downtown to the Engineering building as often as we could.
We geeks created FORTRAN II programs by punching cards, and fed them into the 1620 for execution. At this time, geeks were generally considered to be hopeless social outcasts. Funny how things can change.
We soon moved on to punching out FORTRAN IV programs and running them on the university’s Xerox Sigma 9, an IBM-compatible mainframe.
My first 'real' summer job, in 1976, was punching cards in a data center. My client was a mainframe programmer. In those days, programmers wrote their code in pencil on large rectangular green-and-white coding forms. I typed in my client's Mark IV programs, then I learned to debug them. Soon thereafter, I was promoted to being a Mark IV programmer, and I continued to punch my own cards.
After I enrolled as a first-year engineering student at Carleton University, I gained access to CP-V, the timesharing facility on the Sigma 9. Its primitive editor was a huge step forward from lugging around card decks, which were heavy, bulky and fragile.
Later, I used IBM CP/CMS when I worked at Bell-Northern Research. I remember when a semi-trailer truck rolled up with several refrigerator-sized cabinets that in total held 8 MB of core memory for their IBM 370/3033.
For my undergraduate engineering project, I wrote an emulator for the Arp 2600 using a PDP-11 minicomputer. I also did contract work on the side using PDP-11s and the RSTS-E and RT-11 operating systems. After I graduated as an electronics engineer, I shifted my focus to microprocessors.
During a visit to the University of California, Berkeley in 1976, I met some of the graduate students who were working on BSD UNIX. Ken Thompson was a visting professor at UC Berkeley at that time. From 1985 through 1993, I was under contract to IBM, supporting UNIX in Western Canada. The IBM Product Center referred all XENIX-related business to me; I sold and supported the Lattice C compiler across Canada, and I did technical support for IBM pre-sales activity for UNIX on mainframes.
I moved on to other things: early distributed computing using custom microprocessors and custom communication protocols, designing a compiler and an interpreter for an language designed for IC chip testing, programmed call processing for a communications satellite, wrote the software for a graphics subsystem for non-contact inspection of nuclear reactors, designed and marketed an early computer-aided drafting package, wrote and sold AutoCAD enhancements via mail order, wrote credit card processing software for early Internet websites, designing a navigation system for an autonomous vessel, did technical product marketing at Borland, developing courseware for the Scala language, and lots more. Over time I was repeatedly asked to perform technical due diligence for investors. Eventually I semi-retired, stopped consulting, and now I just accept occassional expert witness cases as a software expert.
After decades of snickering at big iron from a distance, I found myself working with mainframe software again in 2023. The court case I was working on at the time as a software expert lasted through most of 2024. It was weird to be researching and writing about bleeding-edge LLMs while also putting in even more time researching and working on dinosaur-tech (IBM machines from 360s through Z series).
Enjoy this collection of articles, I hope you find them useful!