Saturday, July 30, 2005

From the archives: Application on Fire

It must have been around 92 or 93 that our system programmers group was tasked with delivering an application, because the application people themselves were swamped with more important applications. It was a kind of an early information kiosk app. We did this in a few days with two people, me and a good buddy, and everybody was happy. It used CICS, DB2 and Cobol, and a bit of S/370 assembler. It was fast. It contained the phonebook of our company and a lot of information pages that were refreshed by the HRM department staff. It ran fine and we had only one support call for it, ever. I took that call.

Pierre called, who was a fine drawer of cartoons, and a non-technical person. He complained that the application did not react very fast. I duly logged on to Omegamon, and saw that DB2 processed calls, most in about 0.2 s. I looked at CICS, and it ran OK. I looked at MVS and then at VTAM. I could not find the problem. But because lunch hour was approaching, I offered to hop over to the other building; it housed the restaurant and also the HRM department.

I popped my head around the corner, and spotted this particular performance problem: a very small trickle of smoke emanated from his terminal, forming a black-mini tornado going to the ceiling. Pierre looked a bit suprised when I yanked the plug from the socket in the floor, but he was happy again when we had a new terminal installed that afternoon.

Tuesday, July 26, 2005

RIP OS/2

Rest in Pieces, OS/2. Of course OS/2, though officially disavowed by IBM, is not really dead. The German company eComstation maintains the code and sells you an OS/2 if you want to buy one, though a bit pricey for my taste. I remember buying OS/2 1.1, or trying to. I was grilled by IBM people on the phone, threatening that I would “lose all my programs” if I installed it, asking what I’d do with it, suggesting I could just loan a copy from work until they located a supply in the Netherlands. My answer on their “why” question was that I would like to develop for it; this was met with a sad silence. But did I know it ran DOS programs very badly?
But seriously, I loved OS/2, and still boot it occasionally under Virtual PC, if only to hear the “whoop” sound if a folder is opened - remember sound on a pc was new then. A bug in OS/2 Warp sounded uncannily like an old Amsterdam tram. WPS was far ahead of its time, and of course OS/2 was the first worthwile and stable multitasking pc operating system. It allowed Rexx to enter millions of living rooms and corporate offices, where previously it was mostly confined to VM and MVS. I have the Microsoft OS/2 1.2 API books, which were of course (and deliberately?) incompatible with the IBM development kit. MS also fought to exclude Rexx from OS/2 SE, because it knew that it ate Basic alive. Later on I was involved in a leading edge OS/2 project that needed weekly builds of the OS to stay ahead of the bugs we uncovered; it only grew stronger. Twelve years later, Windows still needs 256M for what OS/2 did in 16M. OS/2 became useful in release 1.3 when IBM rewrote most of it in assembler. Also, in this version it finally could print. The 32 bit 2.0 version really was a better Windows than Windows, forcing Microsoft to release a bogus device driver architecture in W95 to break compatibility. Even that was trapped and emulated by IBM OS Wizards for most applications that “needed” it (all three of them).
When the company I worked for all those years decided to go Windows (undoubtedly inspired by cowardly IBM sales persons), we had to roll out Office in OS/2 Warp, because the then current hardware base did not run NT.
What IBM did to OS/2 is a crime perpetrated by management against their engineers and to the general public that was deprived of any competition until others came around.
It sold its pc’s halfheartedly with the wrong video drivers installed for OS/2, until every small nephew of my wife knew that you had to scratch this “o-esse-dos” thing immediately. And we are not even talking about marketing it with a stop-sign logo and nuns in a convent, or even naming it ‘half an OS’. It did not react at all when MS employees were astroturfing the OS/2 Usenet fora in working hours - this was the time that IBM Legal could have just shut down MS waving unspecified patent or publicizing MS fora mores. Sometimes I have dark images of IBM doing this deliberately to finally put a stop to all these antitrust cases the US Government foisted upon them.

Don't forget to sign the OS/2 Open Source petition! It will never happen though.

Friday, July 22, 2005

Caps Lock to the rescue

After a few months with the Matias Tactilepro I grew restless again when I noticed that ALPS keyswitches are not the same thing as Buckling Springs. They do not become softer as BS keys would, and keep a nasty 'tack' feel and are extremely noisy. Not that the Matias is a bad keyboard, I prefer it over a membrane keyboard anytime. So it was time to hook up my Unicomp again, the rightful heirs to the IBM Model M. As this is a PS/2 keyboard with DIN plug, I run it over a Sitecom USB-Dual PS/2 Adapter. The keyboard is a special one, a 3270 style emulator keyboard with 122 keys. Lamentably, the last system to support it well was OS/2, so it does excellent service on my OS/2 based P/390 mini-mainframe. It has no Apple key, which means that it has no Windows key - one of the more daft developments of the last decade.

So I noticed new stuff in Tiger's keyboard menu- the ability to switch these key functions to other keys - and YES: *caps lock*, that anachronistic holdover from the heavy typewriter era, can be switched to *command*, which is the official moniker of the Apple key. Emacs, of course, does not even blink, as I switch the function keys I am using in .emacs to available, working PF keys.

Ok Apple kernel guys: now make a driver for my 122 key 3270 Unicomp, so I can access all function keys, and do an Attn, SysRq, CrSel and exSel (not to mention ErEOF) when I want to. Who is the Apple OSX keyboard driver champion?

But the Caps Lock switch is pure gold: the most irritating, struck-by-accident key given an innocent, and when intentionally pressed, useful and necessary function.

Wednesday, July 13, 2005

"Save As" Considered Harmful

It recently occurred to me that I was missing out on many opportunities for reuse of work because editors nowadays allow you to start on a blank page and do a "save as" until which there is no filename attached to that particular piece of work. In the days that I used ISPF/PDF as my sole editor, it repeatedly happened that I set out to do something I apparently did sometime earlier already. In editing a member of a partitioned dataset, you need to specify the membername first. And then, boom, there it was, the exact thing I was planning to enter, just because my naming algorithm seems to be stable and predictable. This saves you from remembering every little bit of maintenance work you ever did. It is a pity it went away, so now, when we do not remember the past, we are literally forced to repeat it.