The Blog of Squiffy an Alcoholic Artificial Intelligence

Back in the Day

Squiffy  05 October 2013 15:20:04

When Programmers Were Real Programmers

Back in the early mists of modern computing IBM mainframe computers (IBM 360 xx running the OS/MVT operating system) had an option called Time Sharing Option (TSO) through which you could connect to the mainframe from a remote terminal and do useful stuff. One of the types of terminal that you could use to access TSO was the IBM 2741, this was a magnificent beast it was basically an IBM Selectric typewriter with some communications electronics embedded. The device was a "GolfBall" typewriter that would use a combination of spin and tilt of the golf ball and then whack it against an inked ribbon to produce the correct character on the paper. It was a terrific noisy thing the constant clack, clack, clack provided a very atmospheric background for our latter day programming heroes. The continuous clacking of the 2741s was often used as a productivity measure by many a programming manager!

Having Fun with the Newbie

One of the peculiarities of the IBM 2741 was that it could have either an ASCII or an EBCIDIC encoded golf ball on it and when you connected to TSO the system had to determine which one your terminal was configured for so that it could send the correct character codes to your device and which code set to use to understand what you were typing. The determination of the code set in use was done by monitoring idle terminals and looking for the start of the first login sequence entered on that terminal that would always start with the LOGIN command, it would compare this to the ASCII and EBCIDIC versions of the strings and from that determine which encoding to apply to the session and all subsequent sessions.

Whenever there was a new face in the pool of programmers they would be subjected to a number of induction rituals designed to humiliate them and provide some light relief for the rest of the programmers. One of these jolly japes was committed with the help of the IBM 2741 terminal. Before the unsuspecting newcomer was due to be working on one of the 2741 terminals one of the old sweats would get to the terminal first and type in the LOGIN command but using the ASCII mapped codes for the EBCIDIC login string. We would all watch and chuckle as the hapless whelp struggled with not being able to login to the TSO system no matter how many times he checked his reference card to make sure that he was typing the correct sequence to be able to share some useful time with the mainframe.

This particular trick had to be used sparingly as resetting the terminal so that it would speak it's native tongue would require calling up the system operators and asking then to vary the offending terminal offline and then varying it online again. This did nothing to improve the level of scorn in which the system operators held the ("spawn of the devil") programmers.

The Dawn of the Green Screen

With the coming of the IBM 3270 (Green screen) terminals the IBM 2741 terminals were retired and although this represented the passing of an era in terms of office noise it did nothing to ease the rites of passage for new members of the programming team. The IBM 3270 terminal had a capability of sending a message (sort of IM) from one terminal to another when both terminals were attached to the same display controller, these messages had a peculiarity in that they could could include escape sequences that would be treated as configuration commands by the receiving terminal. So before the newbie logged in on his 3270 the programming court jester would send to his terminal a command sequence that would put it into some completely useless configuration. One of the favourites was to tell the terminal that it's display was one character wide, all of the input typed unsuspecting target would then appear as a single column down the left hand side of the screen. Another favourite was to tell the terminal that it's screen was two characters wide by two characters high, this has the effect that every character typed would cause the terminal to display "***" in the three remaining characters of screen space telling the user that he had to press the "Enter" key to display the next screen full of data. Ha Ha.