, 47 tweets, 30 min read Read on Twitter
@IrisClasson Still do.
@IrisClasson There is a story behind these 1988 tractor feed print outs, which follows shortly.

I should put dinosaur or old-fart on my job description.

CC @isotopp
@IrisClasson @isotopp The story has to do with this.
A "translation" of amazon.com/Programming-Fo… but I wish I had had the original back then, as in fact it was a knock off, mostly covering FORTRAN IV and 66.
@IrisClasson @isotopp Sidestory: these books were from the same era.

Machine learning and AI modern?

They are about as modern as AWK. Both still relevant though.
@IrisClasson @isotopp AWK is indispensable on many *n*x related systems, especially the low powered one. The book is still the ultimate source on it; see stackoverflow.com/a/703174/29290
@IrisClasson @isotopp Back to the story. With some side-steps to (:

Here we go...

This is end 1980s. I was a student. A year later I started my own consultancy as a side-thing.
@IrisClasson @isotopp The reason is that I had a client prospect for some PC Turbo Pascal programming. So I needed to buy some hardware. Only companies could buy hardware. So I started one.

en.wikipedia.org/wiki/Turbo_Pas…
@IrisClasson @isotopp 2 years later, I was selling PC network hardware to a university research group, so they could connect to the internet. At 75% of what they would pay via their regular channels. My profit was large enough to cover for that year of studying.
@IrisClasson @isotopp Back to the print-outs.

They were on tractor-feed paper en.wikipedia.org/wiki/Continuou…
@IrisClasson @isotopp We had a class: computer usage for chemistry students. It was mandatory. They were teaching from a FORTRAN 77 book that was in fact more FORTRAN IV and FORTRAN 66. Found a link to it too: elsevier.com/books/fortran/…
@IrisClasson @isotopp The way you would program in that class was via PC terminals with serial terminal emulation, connected to a VAX 11/780 machine running VAX/VMS 4.7.

en.wikipedia.org/wiki/VAX-11
en.wikipedia.org/wiki/VAX/VMS#H…
@IrisClasson @isotopp The connection was through a multiplexed serial over an unshielded ribbon cable some 300 yards long.

en.wikipedia.org/wiki/Ribbon_ca…
@IrisClasson @isotopp The connection was very reliable: about 90% of the characters would transmit correctly.
@IrisClasson @isotopp So I had to reset the VT52 terminal emulation over the Kermit protocol every minute or so, then wait a dozen seconds for the screen to re-draw.

en.wikipedia.org/wiki/VT52
en.wikipedia.org/wiki/Kermit_(p…
en.wikipedia.org/wiki/Terminal_…
@IrisClasson @isotopp At the chemistry department it was still a VAX 11/780 machine called HLERUL5, but at the computing department they had an 11/750 called RULCRI which was faster.
@IrisClasson @isotopp They also had a bunch of VT100 terminals that could do 132-columns instead of 80, with a far more reliable connection.

en.wikipedia.org/wiki/VT100
@IrisClasson @isotopp Later the chemistry department also got their own VAX 11/750, renamed the old one to HLERUL52 for the 2nd years studens to to work on, and kept the old HLERUL5 name.

The machines were networked too, so you could connect to one, then daisy-chain your logon to the others.
@IrisClasson @isotopp Long story short: later I managed to get official accounts on both chemistry department machines, and borrow an account on the computing department one. So I had accounts on HLERUL5, HLERUL52 and access to RULCRI when needed.
@IrisClasson @isotopp Later too, I found out that the room above the VAX 11/780 also had VT100 terminals (later even two VT240 terminals!). It wasn't meant for student use though. But with some social engineering...
@IrisClasson @isotopp In the mean time, I wanted to make better use of the VAX/VMS FORTRAN compiler.

Apart from that it fully supported FORTRAN 77, it also had many more language features and had support for 132 columns instead of just 80.
@IrisClasson @isotopp Given FORTRAN had limited use of the leftmost 8 columns, having 124 usable columns instead of just 72 mada a huge difference in readability.
@IrisClasson @isotopp There was no book in the library on VAX/VMS FORTRAN, but the on-line help was great: both vast and in-depth. With the bad serial documentation though, it was very hard to read on-line.
@IrisClasson @isotopp The easiest way to read things was on paper. I think the printer back then was a LA36 DecWriter II or LA120 DecWriter III


@IrisClasson @isotopp Priting one topic at a time however was cumbersome. Print jobs were not always printed in the right order, and sending like a 100 print commands that all were slightly different was hard too.
@IrisClasson @isotopp Luckily I found out two things:

1. you could dump the output of a FORTRAN HELP page to a file

2. you could recursively generate all FORTRAN HELP, then redirect that to a file
@IrisClasson @isotopp The recursion was great, as it would output everything in an orderly fashion. What was lacking though is a good table of contents. More on that in a bit.
@IrisClasson @isotopp So I decided to send that file to the printer. Of course I knew that would take something like an hour, so I printed it during lunch time.
@IrisClasson @isotopp I was back from lunch early to monitor the printing progress (VAX/VMS had queues for everything, and you could monitor the ones or the parts of ones you had access to!).
@IrisClasson @isotopp The printer was right next to the VAX 11/780 and both of them were very noisy. The climate control was even noisier, which meant you wanted to avoid that room whenever possible.

So shortly after my job was ready, I wanted to pick it up and make the 300 meter walk twice.
@IrisClasson @isotopp Right at that moment, the student assistent walked in with a red face, madly screaming "who the hell printed this one inch stack of FORTRAN help".
@IrisClasson @isotopp I responded that I did. At first she (this was a time when we had a way better balanced female/male ratio in STEM) would not even want to give my output, refusing to believe I would read it.
@IrisClasson @isotopp She also would not believe that you cour recursively send the help to a file, then print it. But the stack of paper demonstrated otherwise.
@IrisClasson @isotopp I explained that I was going to read the whole stack. It took a long weekend, as after reading, I manually made the hand written table of contents on the front.
In addition, I colour marked the sides of the paper matching the entries in the table of contents.
@IrisClasson @isotopp Now I could index into the right topics very quickly.

She was amazed I did all that in just a weekend. Apparently, that's how my brain copes with information: need something, read something, read something, use something.
@IrisClasson @isotopp Later she actually made use of that stack of paper, as it was a great way for other people too to figure out some things faster than doing it on-line.
@IrisClasson @isotopp Back to my side-business: that's the reason for the PASCAL stack of paper. It's the output of the VAX/VMS help for the PASCAL compiler. It was great and helped me learn a lot on the language.
@IrisClasson @isotopp That print job took far less time: it was printed from RULCRI to the printer at the computing department. Their printer was not a dot-matrix one, line printer. It was orders of magnitude faster.

en.wikipedia.org/wiki/Dot_matri…
en.wikipedia.org/wiki/Line_prin…
@IrisClasson @isotopp 3 years later, I started doing more and more work with Turbo Pacscal and made the business my full time work.

Only a decade later, I found out why I had deverted less and less energy into my studies and more into work.
@IrisClasson @isotopp Two reasons: computers are way easier to cope with than people, and a theoretical university was totally the wrong kind of environment for my learning mode: I am an auto-didactic person. I need to do things in order to learn.
@IrisClasson @isotopp By now I have slowly learned way and way more about people. Coping with them is still tough, taking a lot of energy. But by now it is also a lot of fun. Though doing both at the same time is still very very hard for me.
@IrisClasson @isotopp Finally back to the STRUCT print job:

That was actually the FORTRAN program I developed for the assignment.

You could choose from multiple problems to solve during the assignment.

As one of the few students, I managed to finish it in-time.
@IrisClasson @isotopp I was the only one that took this particular problem.

The essence is that you got a few tables with data:

- atom numbers, atom abbreviation and atom covalence (the number of other atoms they can bond with)
- bond pairs with abbreviations and minimum/maximum distance
@IrisClasson @isotopp - atom locations (abbreviation plus X/Y/Z coordinate)

The goal was to find which atoms were connected, and describe any cycles.
@IrisClasson @isotopp Only after reading the tables, then trying to solve the problem, I found out a recursive solution was needed to solve it.

Boy was I surprised that FORTRAN did not support recursion.
@IrisClasson @isotopp In the end, I implemented my own recursion with stacks citing a Dire Straits song with “and when you finally reappear, at the place where you came in…”.
@IrisClasson @isotopp A long story to explain I started printing on things to read very early on (:

/end
Missing some Tweet in this thread?
You can try to force a refresh.

Like this thread? Get email updates or save it to PDF!

Subscribe to Jeroen Pluimers
Profile picture

Get real-time email alerts when new unrolls are available from this author!

This content may be removed anytime!

Twitter may remove this content at anytime, convert it as a PDF, save and print for later use!

Try unrolling a thread yourself!

how to unroll video

1) Follow Thread Reader App on Twitter so you can easily mention us!

2) Go to a Twitter thread (series of Tweets by the same owner) and mention us with a keyword "unroll" @threadreaderapp unroll

You can practice here first or read more on our help page!

Follow Us on Twitter!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just three indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3.00/month or $30.00/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!