An attempt to scrub the gathering moss off some stones and help them keep rolling smoothly along ... Thoughts on information technology and anything else, by Tony Austin, after a lifetime in Science and then the IT industry.

I've talked about mainframes before. See, for example, Mainframes - the "dinosaurs" are thriving. There are some good arguments for using mainframes to consolidate workloads, simplifying systems administration (including virtualization, which IBM mastered around three decades ago), and reduce overall power consumption.

For a few years now, IBM has been reinvigorating its mainframe program, starting with a Mainframe Charter in 2003.

This Redbook covers such aspects of IBM's System z mainframe range as:

A business view

System z architecture and HW platform

System z software

Security

Resiliency

System Management

Consolidation

Enterprise hub for SOA: integrating and extending assets

Enterprise hub for data

All very fine, if not just a little conventional. ... But who would have predicted IBM's latest nimble move:

ARMONK, NY & FLORIANOPOLIS, BRAZIL - 26 Apr 2007: IBM (NYSE: IBM) today disclosed a cross-company project to integrate the Cell Broadband Engine™ (Cell/B.E.) with the IBM mainframe for the purpose of creating a hybrid that is blazingly fast and powerful, with security features designed to handle a new generation of "virtual world" applications, such as the 3D Internet.

The project capitalizes on the mainframe's ability to accelerate work via "specialty processors," as well as its unique networking architecture, which enables the kind of ultra-fast communication needed to create virtual worlds with large numbers of simultaneous users sharing a single environment.

Drawing on IBM's research, software and hardware expertise, the project is being undertaken in cooperation with with Hoplon Infotainment, a Brazilian online game company whose software is a key component of testing the capabilities of the new environment.

"As online environments increasingly incorporate aspects of virtual reality -- including 3D graphics and lifelike, real-time interaction among many simultaneous users -- companies of all types will need a computing platform that can handle a broad spectrum of demanding performance and security requirements," said Jim Stallings, general manager, IBM System z. "To serve this market, the Cell/B.E. processor is the perfect complement to the mainframe, the only server designed to handle millions of simultaneous users."

I upgraded to a new purpose-built top-of-the-line desktop system late last year, and part of that involved installing my trusty old friend the Eudora mail client. I've been using Eudora since a few years before Windows 95 and Outlook came out, saw no good reason to stop using it when Outlook appeared, and there are important features in Eudora that Outlook doesn't provide even now well over a decade later.

Naturally I ensured that Eudora's spell checker was turned on. (There's nothing so unprofesssional as sennding out messsages that are ridddled with spelling misstakes, is there?)

After adding some words to the "ignore" dictionary (see image at top), I discovered in subsequent sessions that those supposedly-added words were not being remembered.

There ensued a few hours of fruitlessly checking all the option settings, reinstalling , and other assorted attempts to resolve the problem. Eventually I gave up, and called the Qualcomm support center.

I expected to get the "usual "support center runaround" and was very pleasantly surprised to immediately be given the resolution: sometimes the file named uignore.tlx that's used to store the added words (see image below) can get into a state where its read-only attribute is set on.

You simply switch off this attribute (ensure that you see "a" rather than "ra") and the problem is solved. The added words can then be stored in this file rather than just appearing to be stored, and life goes happily on.

In retrospect, I'd recommend that they put out a dialog box which warns when you try to add a word that it cannot be stored and which indicates the problem resolution. But at this stage of the Eudora life cycle I'd be surprised if they do this.

Tuesday, April 17, 2007

There you'll also find links for the follow-on updates to SDMS and CAPTURE both of which which have been upgraded to NotesTracker V5.0 level).

If you're unfamiliar with NotesTracker, now's the time to try it out. ... And to download the NotesTracker Guide for a full description of all the new V5.0 features such as the tracking of "special documents" in a database, and e-mail alerting whenever actions occur in a database (document Create, Read, Update,Deletion, Paste, Mail-in, etc).

Example of an e-mail alert sent when a "special" document was accessed (in this case, an update)

Monday, April 16, 2007

I see that Dr. Songpol Somers of the Horticultural Research Centre of Thailand has advanced the state of the scientific art by breeding a variety of durian fruit that has a mild smell.

Durian trees grow in south-east Asian countries (Malaysia, Thailand, The Philippines, etc), and I believe that their unique fruit come to ripeness in the first half of the year (from February onwards). These days, the whole fruits are available around the world, following the Asian diaspora, once to be found only in Asian food shops but more recently even in supermarkets.

The accompanying picture of a durian showing two whole fruits plus an opened one comes from Wikipedia and (as the nearby coin indicates) it's about the size of a football (ovoid shape). Here are other good descriptions from Answers.com and search.com. Durians are quite heavy (5 kilograms or more), with a hard spiky shell or husk that you definitely wouldn't want to fall on your head from the tree! The shell can be prised apart into segments, and in each segment lies the treasure: two or three seed sacks with an easily-broken outer membrane holding soft flesh that has about the consistency of a custard apple. The inedible, hard seed is several centimetres long (an inch or so).

When fresh, the flesh has the most unique of tastes, with some of the elements of vanilla and similar exotic flavors.

The taste is hard to put into words. I suppose the same could be said for any flavor: you've got to try it yourself to understand and appreciate it. Suffice to say that some people will never take this step, since the opened fruit has a most distinctive, strong aroma. Even the unopened fruit can be detected from a distance!

Some people cannot tolerate the smell. The most common saying is that it "tastes like heaven but smells like hell." The search.com article (under the heading Flavour and Odor) has a couple of other quotations, one of the more notable being that of author Anthony Burgess: "like eating vanilla custard in a latrine."

I first became aware of the existence of durian decades before, when as a youth I read about it in one of (probably) Anthony Burgess' books about Asia. During my business trips for IBM in various Asian countries (during the 1980s and early 1990s) I was always on the lookout for durian, and eventually encountered it, first in Singapore then later in Hong Kong and elsewhere.

My first taste was tentative, but I didn't find it at all bad and soon became a devotee. I recall ordering durian for dessert at the Newton Circus outdoor food market in Singapore. I asked for it to be brought to my table after I had finished the main course. When the fruit stall vendor served it to me all of the Americans, Australians and British tourists sharing my table quickly moved as far away from me as they could, right to the other end of the table! There's no accounting for taste, as they say. When I started bringing durian home here in Australia, my wife (and kids) had exactly the same reaction as the tourists, but now she enjoys it too without being in the least put off by the smell.

After several trips, I started buying whole durians and having them wrapped in several layers of newspaper inside two or three plastic bags. Then I would sneak them into my hotel and jam them into the refrigerator in my room, hoping that by keeping them cold as well as tightly wrapped the smell wouldn't permeate. This seemed to work, since I didn't ever get a reprimand from the hotel staff (perhaps they knew and were exceptionally understanding). I eventually was able to do the same in Hong Kong. ... Ah, those were the days.

Thse days it's easy to buy whole durians -- mainly imported from Thailand -- here in Melbourne, not only is Asian food shops but even in the local Safeway-Woolworths supermarket.

After more than a year of abstinence, I recently polished off one and must say that I enjoyed it immensely. (During one of my trips to Asia, one of the locals expressed great surprise that I enjoyed wolfing down large servings of durian. He warned me that eating too much was supposed to make you feel "heaty", a term I have never encountered before or since and can only guess that some people feel hot after eating durian.)

SMD - Smell of Mass Destruction? ...I didn't ever try carrying my durian onto the MRT (Mass Rapid Transport) subway in Singapore. That would have been going one step too far, since the Singaporeans are well known for their strict interpretation of rules and laws including those for public cleanliness and order (think cigarette butts and chewing gum). I didn't want to risk being fined or maybe even locked up just for giving in to my passion for durian. They even have a special sign at MRT entrances warning you not to even try doing it (see picture)!

I have just added my own views as a comment to Stan's blog, and thought that it would be useful to post them here in my own blog as well ...

----------------------

To a greater or lesser extent all software "sucks" (to put it in charmless U.S. vernacular). It's not at all surprising that you had issues with you wireless mouse and keyboard.

The advantage of the various versions of Windows is that they have a HUGE installed base, leading to an abundance of device drivers and other third-party software products big and small. Due to the relatively limited number of versions, there's an excellent chance that you can easily enough find a solution to just about any problem you have. But even with something as well understood as Windows, you can still have unresolvable problems with device support (especially if you purchase "el cheapo" products with faulty or feature-incomplete drivers, and you certainly can't blame Microsoft for that).

I've now received a copy of Vista Business as part of the "But now with Windows XP and get a free copy of Windows Vista" coupon for the new high-end desktop system I purchased just before Christmas last year. However, I'm going to stick with Windows XP Pro for quite a while, because (a) it's extremely stable and already does everything I want, and (b) due to the nature of my business, I have a very large number of software products installed that are not yet Vista-enabled, so I don't dare or care to switch across and undergo the agony that's sure to follow. So my copy of Vista will be sitting on the shelf for quite a few months yet.

There are so many flavors of Linux (and UNIX) that the installed base of any one of them is relatively small (compared wit Windows), and so the volume of device drivers and other software is somewhat restricted. While at IBM, I was involved with the first release of AIX (IBM's implementation of UNIX) back in the mid-1980s. IBM did an enormous amount of work before release AIX Version 1.0, particularly in eliminating what it saw as a large number of security holes in UNIX. They also developed a more menu-driven approach to using the system, which some UNIX purists did not like at all because they were accustomed to using the command line interface of whichever UNIX shell they preferred and considered AIX's menu structure as being too intrusive. You just can't please everybody!

With Linux, there are now so many distributions that it's a nightmare trying to keep up with what's available, even within a single variant (such as Ubuntu, or whatever). So the very diversity and openness of Linux brings its own problems.

I've been using Microsoft's Virtual PC (VPC) over the past few years to install and test a range of Linux distros,with wildly varying degrees of success. VPC emulates a fairly basic hardware configuration, and maybe that's a problem in itself, but I suspect not. Roughly half of the distros installed okay. With the other half, there was a common thread: the display device drivers misbehaved. One category was that the initial installation screen was totally unreadable (typically having bands of colored lines with no discernible text), so that the installation had to be aborted at the very start. The other category was when the installation went okay, then when I rebooted the same sort of garbled display occurred.

Which distro succeeded or failed was quite unpredictable. For example, I purchased a license for Linspire 5.0 (which is the son of "Lindows", this original product name having to be dropped following intense legal pressure from Microsoft). Linspire installs and runs on Virtual PC without any problems. From the same stable comes a free variant called Freespire, but disappointingly it spews out the same sort of unintelligible initial install screen as some others. (So it seems that the underpinnings of Freespire are somehow different from those of Linspire.)

Apparently the fact that Linspire contains a raft of proprietary device drivers is enough to upset some Linux purists. But I'm trying to be nothing more than pragmatic here: if it works well out of the box (and has good commercial support if you need it), that's fine with an IT veteran like myself. And it's probably quite good enough for your average end user, who certainly won't have the least desire to get involved with the cryptic, arcane and obscure side of Linux.

This time when I opened certain databases I got the message "Duplicate PUBLIC name ACTIONTYPE in USE module" (see image).

Why was it happening in some databases, yet not in others with identical design?

An hour or so searching for duplicate definitions (for a field named 'Action Type') led nowhere,. Anyhow, (a) There was no duplicate field definition in the database, and (b) Exactly the same LotusScript code was working in other databases without generating this error message!

I tried deleting the script library and copying it back in again, with no joy. Eventually, I just deleted the entire database and recreated an empty one with the very same design, then copied the documents back in. No more error message: who knows why?

It would be a rather good idea for IBM to fix such quirky LotusScript compiler behavior instead of just charging ahead with new stuff all the time.

Sunday, April 08, 2007

Oh, there's so much stuff out there on the Web. I recently came across The Art of Unix Usability by Eric Raymond and Rob Landley. Talk about "memory lane" ...

Not so much concerning the Unix aspects of this book, but some of the other they describe from the "dark ages" of computing: way back in the dark ages of the 1960s and 1970s. Thoughts of my first ten years at IBM (during the 1970s) came flooding back to me. And the pictures in this free online book that got to me were the Teletype machine with its paper tape input/output, the IBM 029 Card Punch, batch computing.

- - - - - - - - - - - - -In the mid-1970s I spent a year or so going out on a limb and working on the IBM System/7 (see The sentinel: the IBM System/7 and IBM System/7 and Plant Automation). At that time, the System/7 was a leading-edge sensor-based, real-time computing machine. These days we'd considered it vastly underpowered and prohibitively expensive, but that was then and this is now.

These days, a few thousands dollars will get you a desktop or notebook PC that is vastly more powerful than systems that cost hundreds of thousands of dollars in the 1970s. And the software (operating systems, developer tools, programming languages, desktop productivity applications) are in many (but not all) ways so much more advanced than what was available way back then in computing "prehistory."

Here's my version of the "Four Yorkshiremen" story, from 1975 or 1976...

I volunteered to work on a project that involved a set of IBM field developed programs (FDPs) called "Plastic Injection Molding System" or PIMS for short. This was a set of sensor-based applications for the monitoring and control of plastic injection molding machines. (It was 3 or 4 months into the project before I ever laid eyes upon one of these machines, which didn't help in extending the PIMS software.)

The PIMS package detected events happening on the injection molding machines such as the molds opening and closing, and you could get reports on demand by entering various commands into a Teletype console.

The IBM customer essentially wanted (a) to get a report automatically generated at the end of each 8-hour shift (rather than just on demand); (b) the machine operator to be able to press a button every time a faulty part was molded, and get the number of faults included in the shift reports; and (c) whenever a molding machine went into maintenance mode, the shift supervisor had to insert and turn a key to indicate this, when it went back into production mode the supervisor had to turn and remove the key. and the total time in maintenance had to be recorded and reported for each shift. This involved making some fairly basic changes to the PIMS package, rather like working on an operating system with very low-level assembler code that had to take into account hardware interrupts of all kinds. It was extremely interesting, but also rather challenging.

Once I had learned the System/7 Assembler Language, I got stuck into the real work. The code changes were punched into IBM 80-column punched cards by keypunch operators at the IBM's then office at Sturt Street in South Melbourne (long ago converted into apartments). This card deck got bigger and bigger as the project progressed, eventually filling several card boxes (a pile of cards at least a metre in length, always with the nagging worry that somebody would put them out of sequence).

The card deck went into an at-best daily assembly (compilation) run, overnight, at the IBM Data Centre. It usually generated a listing a few itches thick, but one night it went haywire and I found three full boxes of printout waiting for me the next morning!

Being rather complex assembler code, it didn't always come back clean the next morning (and that's putting it mildly). This usually meant several days went by before a clean assembly was reached and things could progress to the next stage.

I then had to take the punched card out put deck from IBM to the Mobil data centre, so that the deck assembly code could be transferred to paper tape. (IBM didn't have a paper tape punch machine in their own data centre in Melbourne.)

The punched-card output deck held a representation of System/7 machine code, not human-readable alphanumeric characters. Some of the cards in a deck were extremely flimsy, because the machine code on them was so dense that more than 50 percent of the card had been punched out as "chads" (see binary punched card). When the cards were read in at the Mobil data centre, sometimes a card or two would be torn up during card reading. I would then go back to their data centre to carefully flatten out and reconstruct each torn card, then painstakingly (on an IBM 029 Card Punch machine) re-create the card, put it back in (hopefully) the correct sop in the card deck, and resubmit it.

If the cards all managed to be read in without damage at the Mobil data centre, they would then punch out a paper tape image of the System/7 machine code. Naturally, this step had its problems: for example, the paper tape punch took some time to "warm up" and could generate a faulty image. This happened several times, each time adding an extra day to project duration.

I would take the paper tape, then drive (some 15 or more miles southeast of downtown Melbourne) to where there was a System/7 machine installed at another IBM customer site. I would power it up, then carefully feed the paper tape through the Teletype console into the System/7's memory. Only then could I start testing and debugging my modifications to PIMS.

If the program didn't cause machine checks, I could then save it in an electronic form. There was no hard disk on that particular System/7, so guess what this was: would you believe onto cassette tapes! (There was no hard disk on that System/7 until right near the very end of the project.)

If the program test failed, it meant going back to step 1 again.

After a while -- quite a few weeks, I can't remember how many -- I had something that might possibly do what the end customer required.

Five or six months after project start (fast for those days) the end customer's System/7 was delivered. It got wired up to the injection molding machines, and at last I was able to start visiting their factory (about ten miles west of downtown Melbourne) and perform testing in the real production environment.

After a fair number of repeats of the above steps, my modifications/extensions to PIMS started to do what was expected.

As you might gather, it was all a rather painful experience. A far cry from the things that can be done in the 21st century, and the relative ease with which they can be done. But I don't regret it for a moment, and I certainly learned valuable lessons from it that stood me in good stead later on.

During final testing of the NotesTracker Version 5.0 (released on 4/4/2007), I was amazed to get an annoying LotusScript error popping up where it should never have.

It turned out to be what I'd term a "quirk" of the LotusScript compilation process and happened with only one of about six databases that I was testing. The reason that I'm writing about it is to assist others who might encounter the same quirk in future and hopefully give them a few ideas about resolving the matter and so save them some time and heartache.

It occurred when I tried to replace the NotesTracker V4 LotusScript subroutines in the Database Script design element of the database with their V5.0 editions. The new code steadfastly refused to compile and kept giving the "Name previously declared" error message.

Keep in mind that I had already updated the Database Script section of three or four other databases without encountering this, and it was indeed puzzling (and frustrating). I did all of the usual things: checked for duplicate name definitions (Dim statements), but there were none. Naturally I tried the "Recompile All LotusScript" tools option but that didn't fix the problem either.

There ensued more tearing out of hair, muttering uncomplimentary things about Lotus, blaming global warming, tossing salt over my left shoulder and incantations to the compiler gods -- all to no avail.

Then, in a burst of inspiration from the primitive "id" part of my brain I hit upon the solution (see image). I deleted the entire Database Script, as shown, and pasted exactly the same code back into the Declarations and subroutines areas of the now-empty Script.

And it worked! There was no compilation error and at last I was able to save the Script.

Go figure it out. I certainly can't.

Apparently something got "screwed up" in the internals of the Database Script's structure that caused perfectly legitimate code to fail.

So if you encounter this LotusScript error and all the usual techniques fail to get your code compiled, try this technique to clear out all of the code in that section (Database Script, or whatever) and paste the code back in.

A few hours lost, but a useful lesson learned: sometimes the LotusScript compiler will reject perfectly satisfactory code. In this case there's a chance that you can overcome the compilation problem by removing all of the subroutines in the object (the Database Script, or a Script Library), performing a Save (or Recompile All LotusScript), and then pasting it back unchanged.

About Me

Tony Austin ... Trained in science and engineering, still tend to approach life from a scientist's or engineer's viewpoint, but over the years have picked up skills in sales/marketing, journalism and other non-technical areas. Taught Chemistry / Math / Science in high schools. Joined IBM Australia in 1970, retired in 1995, since then have been an "independent consultant" [an oxymoron]. So now I have over four decades in the IT business, still enjoying it enormously - except, that is, for the same silly mistakes being repeated time and time again in function and interfaces, won't we ever learn? ... Decided to retire from IT consulting at end of 2013 after 44 years in the industry, closed Asia/Pacific Computer Services then, but am still regularly writing technology articles as an industry observer.