A cold, wet day here in Toronto (but it has been a great spring otherwise). Hard to get motivated for much and somehow found myself writing my 'Multics Memoirs'...
I was brought in on contract by HIS Canada (at 300 Yorkland Blvd., Toronto), straight out of school, in February 1982 to work on the conversion of Bell Canada's SOFA II system from GCOS to Multics. I worked with Doug Cook and Mansur Halani mostly, though they weren't involved in the programming. We worked on hardcopy terminals in a crowded little room and had to compete for terminal time.
Two months in, I was offered a job by Bell to replace one of the SOFA II programmers who had left. I joined Bell at Wynford Drive, Toronto in April 1982. We finished the conversion, in cooperation with Honeywell, and cut over to what can best be described as a GCOS emulation environment under Multics (but it wasn't GTSS). The objective was to make it as transparent as possible for the users. We implemented LSS to restrict the users and I had a lot of cryptic backdoor commands in the environment that I could use but the users wouldn't figure out or stumble upon. SOFA II ran on the Don Mills system at Wynford Drive. The other programmers for SOFA II were Alnoor Manji (known to all as just Manji) and Farhad Budhani. We were part of the comptrollers department rather than CSO (Corporate Systems Organization). We worked with CSO all the time, and generally had a very good relationship with them, but we were `outsiders'. I remember some of the CSO folks -- Randy Oyagi, James Chubb, Ivy Lee, Odel Lewis, Jim Lyle and Jerry Kelly, Firoz Dosani.
SOFA II was one of the biggest (if not the biggest) applications on the Don Mills Multics system and a lot of time-sensitive processing was done at month end (which was actually the 5th, 6th and 7th business days of the following month). We had what I would now call a Quality of Service agreement with the Multics system support team to deliver a specified performance level to our users during this critical period. I remember catching them out on not providing that one month which led to a big blow up (and they took away my ACLs to the command that I used to be able to monitor that so I couldn't detect that in the future)! For the longest time, we had to use dial phones at 300 baud to connect to the Multics system, even though it was in the same building. Sometimes we got 1200 baud access, but at least initially had to dial a Montreal number to use that -- even though we were connecting to a computer in the same building. Good thing we were the telephone monopoly or the phone bills would have been astronomical in that day! I still don't understand why they were dial phones (as opposed to push button/touch tone) or why we couldn't have some form of direct connection -- we were, after all, a telecom/networking company. Even our desk phones throughout the building were dial phones!
Manji was the senior programmer. He transferred to CSO to work on another Bell system, BCRIS, early 1983 or so. I was promoted to his job at that time.
I remember re-writing one of the worst Fortran pigs using PL/I -- man, that was a powerful language in Multics because of the pointers to the file system. This was a mission-critical program that was run extensively by the users at month-end. The rewritten version used only 5% of the CPU that the Fortran version had required, and I introduced new functionality, too. (I think I still have a source listing around for that). I remember when I first implemented it I actually had users contact me saying something was wrong because it was running their scripts too quickly -- it must not have been working they thought!
Even by the time we went live on Multics (mid-1982 or so) the writing was on the wall for the SOFA II system. It was to be replaced with a system call FIS under IBM VM/CMS. FIS was delayed repeatedly. By late 1983, sometimes, for something to do, I would re-write other parts of the SOFA II system, test the new version, then delete it -- it wasn't worth the risk of implementing change to a critical but dying system.
In early 1984, a programmer in Montreal named Sultan Somani, who worked on an application on the Dorval Multics system went out to lunch and was hit by a car, badly breaking both his legs. I commuted to Montreal for the next few months finishing up some work on that system, which was some sort of employee time-tracking application (ZBSA -- Zero-Based Staff Allocation).
I also spent a lot of time roaching around the system looking for interesting stuff. I found the source for TED, and created my own extended version of it. I remember one command I created was `&' -- repeat previous command. This was mainly because I got tired of repeatedly typing ".,.20p" (or something like that) to scroll 20 lines further through a file.
I also found the Emacs source and wrote a screen driver for some new type of terminal Bell's CCG (Computer Communications Group) was not deploying. I never became an Emacs convert but it was fun figuring out how to drive that terminal.
Sometimes I'd dial up Datapac (Bell's packet switching network) and try random system addresses. Occasionally I'd hit something unsecured, but was too afraid of being caught to go very far into those systems. I lacked the courage to be a hacker, I guess.
My last contribution to Bell Multics was to write a conversion utility to allow the users to transfer all of their budget data from SOFA II to FIS. This was very important as the entire corporate budget had been entered into SOFA II and would otherwise have needed to be re-keyed on the new system.
By July of 1984, I had had enough with the repeated FIS delays. I wasn't allowed to transfer to a new job at Bell because support for SOFA II was deemed critical, even though there were two of us working on it -- myself and Farhad Budhani. I resigned (and, of course, wasn't replaced). Farhad continued to support the system until its demise (and he did use the budget data conversion utility I'd written to migrate the data).
Those were great days. After Bell I worked as an independent consultant for 18 years. I did one GCOS project, then moved into the IBM mainframe world. I did my first PC/DOS system in 1986 and did several more after that before moving on to OS/2 for several years. I did a couple of Windows applications before hanging up my flow-charting template for good in 1998 (okay, it had actually been retired long before that in favour of Visio (pre Microsoft Visio days)). Today I work for IBM Global Business Services as a business and technology strategy consultant in Media and Entertainment -- worlds away from where I began. My media blog is here.
23 April 2006