Re: The big question...
There was a rumour that someone had written a hilarious book about the Taligent debacle, but I haven't seen any sign of it. Maybe lawyered out of existence.
489 publicly visible posts • joined 23 Jul 2007
Was that IBM were an absolute nightmare to deal with. They couldn't conceal their contempt for the PC / PC software customers.
I am sure they are great if you are the CEO or CTO of a Fortune 500 company, though I wonder how good they would be at concealing their disdain from the CTO / CEO of the 500th
I have probably mentioned this before but after I worked with him, an ex-colleague got a gig reverse engineering a spreadsheet that an oil company that should remain nameless but which You Can Be Sure Of was using to make major strategic decisions. It was done in Lotus 123 1.0 (or thereabouts) which wasn't Y2K compliant and which they hadn't been brave enough to migrate to a later version (or had and got different results)
In the mid 80s I worked on a system that monitored the water intake from a river run on a Compaq PC (512K RAM and a 30 MB hard disk). One of the inputs was a "fish monitor" which had a tank (more like a cold water tank in a loft) that output a 2 but value
OK
Dead
Hyperactive
Avoiding
I have no idea how it was supposed to work , we just read it.
Or, now I come to think of it whose job it was to feed the fish
At some point in the 80s we were using both PCs and some strange things called Sages running CP/M 68K.
The Sages were configured with the hard disk partitioned into 2MB chunks (the limit) with
A = operating system and tools
B = source code
C / D / E etc. = customer data or more copies of the source code
P = floppy drive
(the idea being that the number of had disk partitions depended on the size of the hard disk but P was always the floppy)
So in summary
PC = A: floppy C: system
Sage = P: floppy A: system
Now, a moment's inattention on a Sage, you format the floppy FORMAT A: - bye bye OS and tools (getting the OS back on was a pain and for some reason involved the UCSD P-system as well)
The other fun property of Sages was hard disks very brittle and averse to the computer being dropped.
There's this too - https://en.wikipedia.org/wiki/Xojo
It was formerly called REALBasic but was renamed.
I have no idea how good it is. I tried the Windows version and it had the fetid stench of Mac software ported to Windows but that was a loooooong loooong time ago, probably when it was still called REALBasic.
I was a Demon customer in the relatively early days, I remember they had 071 and 081 (or 0171 and 0181, can't remember when the 1 was added) and a Warrington number, presumably as that's a local call from Liverpool and Manchester, or something like that.
We had an account at work first, since we worked for a large American telecoms company that was completely incapable of providing internet access (I think they wanted to cross charge 30p per k or data or something like that). Another department had one too and did a website before the corporate marketing antibodies stamped it out in another front of marketing's perpetual war on information.
I actually used Demon from home on a Mac, Demon provided a book with a disk with software - this was (just) before Netscape came out so I am thinking early 1994. I remember listening to World Radio Network (is that still going?) using RealPlayer on a 9600 baud modem. Amazing, really.
Ah yes VAP.
Do you think this is right? https://en.wikipedia.org/wiki/NetWare_Loadable_Module about NLMs being in the same address space in NetWare 3? I thought that was VAPs in 2 and was changed for 3 (we didn't actually write one but we thought very seriously about it and bought books and stuff)
It was always inevitable that as computers got more powerful / cheaper that Netware would be pushed aside by something that didn't need the Netware priesthood with their NCSOE (Network certified something or other) qualifications. They had a good run for their money, but if you make yourself the priesthood of something that is clearly going to be commodified you are going to end up as roadkill on the information superhighway.
I am slightly bitter as we had one who not to be shortist or beardist or gitist was a short bearded git who was a neighbour and despite being a colleague complained to the council when our burglar alarm malfunctioned.
The main thing of course was that to run anything else on the servers you needed a NLM (Netware Loadable Module aka No Laughing Matter) with a complex API and no support for normal C language runtime APIs. So no one wrote them really. Unless I am imagining it you needed a very expensive version of the Watcom compiler to build them? (Also wasn't it easy for them to bring the server down - certainly that was the case with Netware 2 in which they were called something else daft, was that fixed in 3 or 4).
The only time I have ever lost my temper with someone on the phone was with Vodafone - when the contract department refused to talk to me as I have a PAYG account when I contacted them about some scammer ordering a contract phone to my address (presumably hoping to intercept the delivery somehow).
NO YOU ****ING IDIOT THE FACT THAT I HAVE A PAYG ACCOUNT IS IRRELEVANT, IF I DIDN'T HAVE A VODAFONE ACCOUNT AT ALL I WOULD STILL NEED TO TALK TO YOU
Sigh.
RPG was of course designed to resemble the plug boards for tabulators (there was also a language called FARGO that did this even more so) https://en.wikipedia.org/wiki/FARGO_(programming_language)
Want to know how to wire a plug-board for an IBM407 - look no further
https://web.archive.org/web/20110219021336/http://www.bitsavers.org/pdf/ibm/punchedCard/Training/A24-1007-1_IBM_Functional_Wiring_Principles_Feb66.pdf
There is a good photo of a wired up plug-board here
https://en.wikipedia.org/wiki/Plugboard
In the mid to late 80s we produced a bit of software that did route planning / vehicle scheduling. Obviously these days all sorts of companies like Amazon etc. have this and it's very sophisticated but many years of Moore's Law meant it was for relatively big deliveries rather than routes of hundreds.
Anyway, we had as part of this something that did route planning (long before Autoroute etc - which slightly later than this anecdote clobbered our market for the stand alone thing, ours did more but then again Autoroute cost 1/300 of the price). A large company wanted a version of the route planner that run on an IBM mini to do strategic planning which we agreed to. However we then discovered that neither they not us had a FORTRAN compiler for said mini. Therefore one of my colleagues spent a few days (including long days at the weekend predictably) having the fun of implementing Dijkstra's Algorithm and the necessary input and output routines in COBOL.
Everyone seems to have forgotten the subtlety of the coffee-cup holder 'joke' which was that CD-ROM drivers said 4X on them hence the joke about it being a stand for a can of Castlemaine 4X.
(I would put money on someone having tried it - another one I've heard of in the early days of micros is someone (a teacher) changing the key order from QWERTY to ABCDE and being surprised and disappointed that it didn't work)
Certainly with Macs at a previous job we had someone who used the recycle bin as his storage and got very angry (lots of 'I demand to speak to your manager' management consultant types there) when I.T. wiped it as part of an OS upgrade.
Many many years ago, when working late one evening smoke started coming out of the back of a PC - I think the strain on the power supplies caused by there being far too many things plugged into a circuit via lots of extension leads was too much for their power supplies - such was our level of commitment / insanity that our first thought was 'we'd better get it outside so it doesn't set the fire alarms off - we've got another 3 hours of work to do'
A couple of friends had the first slot at the registrar on the first day you could convert civil partnerships into marriages, the registrar had allowed a double spot in case of IT problems - which there were.
Also bizarrely the certificate they were given had that day's date but their ages on the day they had the civil partnership so the ages didn't make sense.
We had a system that For Reasons (TM) worked on networked Acorn Archimedeses and was written in Basic. The key mathematical bit was rewritten in C++ to run on a PC (not by me, by a very clever if paranoid bloke). It was surprisingly hard to get people to understand that the rewrite was 300000 times faster - this is probably about 15 years ago - my recollection is that I got them to put the main calculation loop in a loop that did every step 100000 times - they were then prepared to believe me.
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. It was vehicle routing software. Each route had a line on the screen and each drop was represented by a 2 character abbreviation, with the background and foreground colours of both characters bring significant, so the information was amazingly dense.The users could type in things (something) like M01010503 to move the drop at position 1 on vehicle 1 to position 3 on vehicle 5 and the software would update the display with changed timings and colours to reflect delivery windows etc. The users could do this amazingly fast, far quicker than you could with a mouse.
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 lots of people used this XVT thing back in the day for their desktop software on the off chance that they might want to run it on Unix. However, we were the only people I know 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.
(*) 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 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.
(***) "We don't get many of those round here" "Vampires?" "No, controlled circumstances
In the early days of Rails I remember someone on a forum saying 'I like the look of Rails but I worry about its long term maintainability'. Let's say that this was in March, it got an arsey reply saying 'huh, you don't know what you're talking about, I've been using it since November and the maintainability's fine'.
I do think that feasibility studies for things that are unaffordable is a giant scam and part of the general corruption in this country. That league tables don't show this country as being incredibly corrupt is indicative to me that the measures are meaningless. We are probably reasonably non-corrupt in the 'brown envelopes full of cash' sense but not in the 'doing favours for the right sort of people in the justified expectation that favours will be done for you because you're the right sort of person' sense.
See also the enormous trade in feasibility studies for transport schemes that are never going to happen.
What I want (and it could be there in the latest version, am still using 2015 but it has been missing for decades so I would be surprised) is a STEP INTO THE FUNCTION, NO I SAID THE ****ING FUNCTION, NO NOT ALL THE CONSTRUCTORS, SMART POINTERS ETC ETC CALLED FOR ALL THE PARAMETERS, THE FUNCTION button / keystroke in the debugger for C++.
But in the general case
expression1 = expression2 + expression3
vs
expression1 += expression2
where
expression1 is textually the same as expression2
The second is better because you don't have to eyeball the code to make sure expression1 and expression2 are identical
e.g
badger[cheescake*duck.hamster+womble].goat[stoat+boat]+=banana
vs
badger[cheescake*duck.hamster+womble].goat[stoat+boat]=badger[cheescake*duck.hamster+womble].goat[stoat-boat]+banana
Did I mean stoat-boat or was that a mistake?
If you are interested in how to program them (on emulators primarily obviously) I recommend this book
https://www.amazon.co.uk/dp/B01N4DSRIZ/ Making Games for the Atari 2600 by Steven Hugg.
For a more general book about it there is Racing the Beam by Ian Bogost (who you may have heard of) and Nick Montford https://mitpress.mit.edu/books/racing-beam
It is somewhat academic in tone (I mention that not as a pejorative term, but to give an idea as whether it might be for you)