When I first starting working as a Senior System Analyst at GEISCO (GE Information Systems) in the mid-1980s, they had us logging into mini and mainframe computers via terminals. Several of the commands we had to use needed elevated privileges which required us to enter a password of the day. In order to get this special password, they gave us a small script which retrieved this password and most people put a call to this script as part of their network login to automatically show the password of the day. Being a curious sort, I wanted to know how the script to display the password worked. Most people found it cryptic since it consisted of several groups of 12 digit numbers and none of the digits were larger than 7. I knew this likely meant that these digits were octal numbers which require 3 bits each to represent. Couple that with the fact that the groupings of numbers were 12 digits long told me that they represented 36 bit words. Since I knew GE made heavy use of Honeywell mainframe computers at the time, I concluded that the script was some type of interpreted machine language program. So I dug out my old Honeywell assembly language documentation and discovered that the script was a simple little program to issue a system call (MME - Master Mode Entry) and then print out the results. To test my theory further, I modified the program to shift the characters of the master password so they would print out backwards. It basically served to entertain me each time I logged in. It's amazing the little challenges which I find amusing, huh?
While I was working at GE, a project was launched to upgrade the storage device on the CC (Central Concentrator) network node. One of the tasks performed by the CC was to load software on the other, smaller network nodes and its original 2 MB device was deemed too small to handle network expansion. Believe it or not, that 2 MB storage device was a magnetic drum from Vermont Research. I had signed up for this project because the replacement storage device was originally specified as a 10 MB hard drive similar to those used on higher end PCs of that time. I was anxious to get experience on these disk devices which were cutting edge technology at the time and writing a device driver from scratch sounded like fun. Somehow Vermont Research found out about the project and submitted a lower bid for an upgrade to a 10 MB drum device. So my dreams of writing a device driver became the much less interesting task of updating the old device driver to extend the addressing to accommodate the extra storage. The only challenging part of the project was that the diagnostic program also needed to be updated and somehow the source code for the diagnostic had been lost. So I was forced to read the punched card deck into the mainframe in order to print out the binary data the deck contained so I could disassemble it. Then I had to figure out how to write a patch for the diagnostic program. And finally, I had to figure out how to get the mainframe's card punch to reproduce the same punch card format used by the diagnostic. For a few days the computer operators for the mainframe got used to me making multiple daily attempts to convert the binary file containing my patches into a format which could be punched in the same format as the diagnostic deck. They told me that they hadn't seen anyone use the card punch in many years. Each attempt required me to tweak my program to convert the diagnostic's binary data into a slightly different format. It wasn't as much fun as I had hoped for but it did prove pretty challenging.