Celestial Weasel (celestialweasel) wrote,
Celestial Weasel

Terminal Beach

Don't quite know why I felt the need to write this down... I feel better for writing it, no reason you should suffer by reading it, though.
When I arrived at my second job, the software I worked on and another set of applications were written for PC using an in-house graphics library wittily called GEMTSC because it was written using GEM and emulated TSC terminals, enormous heavy terminals that took two people to lift. It is possibly that people in this company actually wrote the microcode for the terminals, that was before my time and I don't think I ever really knew.
Now, this was in the forgotten days of software-that-was-graphical-but-not-WIMP, and a particular feature of this library was that you could have 50 lines of 80 characters on a PC screen in EGA mode - EGA was lower resolution than VGA, 640 by 350. Now, of course, the only way of getting 50 rows of characters in 350 pixels is to have a 7 x 7 font. Which one of my colleagues drew over a weekend, including lower case. I have to say that it looked rather better than the 7 x 7 fonts I can find on the interwebs, and I think his feat was insufficiently recognised. (*) Each character could have a different foreground and background colour (3 bits each). As you can see from this description was rather like Teletext mode and, indeed, on the 'real' TSC terminals characters could be made to flash, fortunately this didn't make it to the PC version.

Meanwhile, with one of the products, not the one I was working on, work was going on on the next generation of that product, which would have a proper WIMP interface, using the full GEM GUI thing, which I think had a silly abbreviation GEM AES - application environment services. Except that it didn't use 'normal' GEM forms as people didn't like them - my boss in all seriousness said that he didn't think we would ever let a windowing system dictate the look and feel of our software. This is not as nutty as it sounds for the late 80s. It would, however, I feel have been less nutty if the colour scheme chosen hadn't been so bizarre, it was very heavy on black, white, grey, light and dark blue and light and dark magenta. A rather gothy look for the software. The text on the forms was either the same font or something very similar, certainly non-proportional, with the buttons having right angle corners. Some time I will have to mock up what it looked like.
The next generation product seemed to me to suffer from the traditional program of it being rewritten by people who didn't quite understand the principles behind the mathematics etc. (I'm sure that if anyone finds this and recognises what I'm talking about they will disagree, and perhaps I am being a bit unfair).
I suspect it didn't help that the person who wrote the original system was not over-communicative and had an ideological objection to meaningful subroutine / function names in the conventional sense of the term. We were, of course, in the land of FORTRAN 6 character names, and his argument was that a name, least of all a 6 character one would be a misleading simplification. Therefore things were given numbers e.g. IX8081 - with IX meaning integer function and 81 being the 81st routine in subcategory 0 of category 8 - you would then look in the documentation to find what the 81st routine in that subcategory was, and of course you would see the hierarchy chart explaining what category 8 and subcategory 0 of it were.

It became clear that it wasn't going to fit into 640K and therefore the software was ported to OS/2. And I mean ported rather than rewritten, so we had the strange non-platform look and feel forms ported from GEM to OS/2. (**)
So far, so good. I actually quite liked OS/2, although it suffered from the problem with all OSs except Windows and (in recent years) Linux of only installing and working on PCs under carefully controlled circumstances (***)
At this point, however, (a) people wanted the software to run on varieties of Unix and (b) people wanted the software to run on Windows. Someone called Bill faffed around with a Unix machine to try and work out what we should do. The decision was taken out of his hands and it was decided to use (cue dun dun dun music) a cross platform library.
The cross platform library, which it appears is still on the go, was called XVT. At the time it provided support for the Mac (which we didn't want because there is no call for engineering software on Macs), Windows, OS/2, and a variety of Unixes (and possibly VMS running X). There was also a rather bizarre character mode version which emulated windowing on a character display (*****). The software was therefore ported again, but maintained its lovely home-grown look and feel.
Now, the thing is that EVERYONE used this XVT thing back in the day - S & S (WANOLJ)'s company used it, my current company used it, t__m__i's last but one company (i.e the one before she worked with me [for the second time]) used it. Everyone used it, I think on the basis that they MIGHT want to run their software on Unix.(****) However, I think of these 4 companies, we were the only one to use the Unix version. And it didn't work terribly well. Though possibly that was the fault of (a) the wacky non-platform-look-and-feel forms and (b) the fact that it was on its third port by that point. I have no idea what it's like now, and of course now it's competing with free (beer / speech) software.
So we went back to writing our own cross platform library more optimised for what we did - the fourth port. And so it stayed until I left.

There was something about this XVT thing that just wound me up. One of my current colleagues felt much the same, and when he left the job and commuted to Reading (he has left and returned twice) he would regularly pass a car with the number plate XVT312 which was the version being used when he left. This did not help with the flashbacks.

So, for some reason, I Googled the name of the chap who was originally behind XVT, though he seems to have left, only to find that was the leading expert witness for the SCO Group in the SCO Group vs Linux, IBM et. al trial. So, the man behind the cross-platform library that made the days of so many developers of vertical market applications in the days before the Microsoft desktop operating system monopoly so delightful, and an expert witness for SCO. Truly a prince amongst men.

(*) thinks, with a 1280 by 1024 display, you could fit 142 rows of 182 characters, wonder what that would look like?
(**) my group, on the other hand, DID actually ship some software written in GEM using this library, the only software written in the GEM version that ever was shipped. (******) My vague recollection is that we shipped the software in order to get paid though we knew that the customer wasn't going to use it due to a change of management / direction. It was a GEM running on DOS front end to an IBM mainframe system written in FORTRAN using a 3270 terminal emulator. Essentially another brilliant but slightly misguided person wrote a layered protocol stack based on the theory of the OSI 7 levels. This entailed gibberish being written to the 3270 terminal which was read using the emulator library and converted to menus / forms etc. We had to get the resident IBM mainframe guru to write us some special assembler to call from our FORTRAN to clear the 3270 screen. The architect of said software took his money from the sale of the company to quit and travel round the world.
(***) "We don't get many of those round here" "Vampires?" "No, controlled circumstances"
(****) I'm sure I have bored many of you with this theory, but I am convinced that on the whole the porting of the software to Unix was a waste of time and money. My theory is that the salesman goes to see a potential customer, demonstrates the software, then full of salesman-like enthusiasm says 'any questions?'. The potential customer doesn't actually want the software (no money, no need, no authority, didn't like the look of the software, didn't like the look of the salesman) but feels a need to ask a question so asks 'does it run on Unix?'. They have no intention of buying the software whether or not it runs on Unix, but it was an easy question. The salesman however, comes back and sidles up to Kevin and says 'Keeeeev (long drawn out drawled e), the software not being on Unix cost me another sale.'. And so the software is ported to Unix.
(*****) Microsoft had one of these. The debugger before the days of Visual Studio, CodeView, had one. It started off with its own character mode which was sensible, then it changed in a later release to a naff emulation of a windowing system - you needed to have seen a windowing system in order to understand what it was trying to do ('ah, that's supposed to be the icon in the top left hand corner' etc.). Amusingly the documentation for CodeView was installed with it and was called cv.doc. 'You've got a file called cv.doc on your computer'. My, how we laughed.
(******) We also wrote a route finder package we were going to sell for a few thousand pounds, which is what they cost in those days. We had just about finished it when AutoRoute came out for fifty quid. My, how we laughed at that, too.
  • Post a new comment


    default userpic

    Your reply will be screened

  • 1 comment