That time I wrote an email system

When I started university back in 1990 the computer systems available were a lot more primitive that today.

Desktop PCs were only made available to college students the year after I joined, so for the first year of my Computer Science studies I only had access to mainframe systems, and in particular a VAX VMS system.

This was the type of terminal I had to use, which had an 80 x 24 character screen.

There was a big darkened room in the basement of my faculty building that housed row upon row of these terminals, and it was common to see student hunched over the machines for hours upon end – although not necessarily doing college work.

We didn't have the internet to distract us, but we make a lot of use of the mainframe's internal email system (called "MAIL") to keep in contract with friends. This was before the days of mobile phones, so the email system was one of the few ways to keep in contact with classmates and friends.

The problem was that the university soon realised that the student's use of email was overwhelming the ageing mainframe system – and so they introduced a daytime email ban. Between the hours of 9.00am to 5.00pm on weekdays students were barred from accessing the email program.

Getting around the ban

Of course, resourceful Computer Science kids like me, with lots of free time on their hands, soon found way to bypass the ban.

We quickly realised that the ban was being enforced by the use of a script – in the VMS language these were called Digital Command Language (DCL) scripts. The script checked the time, checked whether the user was a staff member or not, and then decided whether to run the MAIL program or issue an error message.

And so in order to bypass the ban, all it took was the writing of a slightly modified version of the script that didn't do the staff check. Simple.

Of course, after a while the university IT staff soon realised that students were still accessing the MAIL program, so they tightened up security by implementing changes to the security using access control lists that implemented a more effective ban.

An email program written in DCL

The DCL scripting language was actually quite powerful, and you could write small applications in it. I had grown quite interested in the language during my long hours in the lab and had already written a number of small utilities, such as an application launcher, that a number of my fellow students were using.

So it occurred to me that I might be able to also write a primitive email client as well.

The mechanics of it were actually quite simple. The program would launch a text editor where you would write your message. Then, when the text editor closed, it would save the file in a common directory and prompt the user for a username and email subject. Details of the filename, sending username, recipient's username, and email subject were then written to a log file.

When the recipient then accessed my email program, it would scan through the log file for any matches of their username, and present the details of the emails to them.

The user could then choose from options to delete or reply to the message.

The program was very basic, and not always stable. Some of the time the log file would get corrupted from multiple people trying to write to it at the same time. But for the most part, it served as an effective email system for the couple of hundred students that knew about it.

Short lived success

My basic email system lived for around 6 months, completely undetected by the IT staff, and sent and received in the region of half a million messages. I had to keep clearing down the log file periodically, as it wasn't indexed and a full file scan as the log file grew was taking longer and longer. 

Then at the start of the new academic year – my second year – a revolution happened. A new lab of Windows 3.0 desktop PCs appeared, with the Eudora email client installed and proper POP3 email accounts, and students soon lost interest in using email on the mainframe.

The reduced load on the VMS system meant that the MAIL program restrictions could be lifted, and the need for my email utility disappeared overnight.

In fact, all interest in the lab of VT terminals quickly dried up, as their fixed character screens were viewed as quite primitive in comparison to the GUI available on Windows. But I'll always have a soft spot for VMS mainframe systems and the DCL scripting language.

After university I even tried to get a job with Digital Equipment Corporation (DEC) who made the VMS computers – but I suspect I came across too strong in the interview!

Maybe I should look into getting a VM running OpenVMS so that I can revisit the operating system one last time.

Leave a Reply

Your email address will not be published. Required fields are marked *