Windows Support Chat

  • Subscribe to our RSS feed.
  • Twitter
  • StumbleUpon
  • Reddit
  • Facebook
  • Digg

Saturday, 7 April 2007

The Four Yorkshiremen, punched cards, and other tales of woe

Posted on 17:57 by Unknown
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.

I hope that you've listened to the classic 1974 Monty Python sketch "Four Yorkshiremen"

Well, I have my own version of this tale to share with you.

- - - - - - - - - - - - -
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...

  1. 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.)
  2. 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.
  3. 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.
  4. 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).
  5. 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!
  6. 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.
  7. 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.)
  8. 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.
  9. 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.
  10. 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.
  11. 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.)
  12. If the program test failed, it meant going back to step 1 again.
  13. 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.
  14. 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.
  15. 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.
Read More
Posted in | No comments

LotusScript and the Curious Case of the "Name previously declared" error

Posted on 16:56 by Unknown
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.

I turned to Google search ( http://www.google.com.au/search?hl=en&q=%22name+previously+declared%22+lotusscript ) but nobody seemed to have reported exactly the problem I had.

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.

I've coined a motto for such LotusScript quirky behavior:
If you can't beat it, delete it!... And then, repeat it.
Did this help you? Please let me know.

Read More
Posted in | No comments

Thursday, 29 March 2007

Some Calamitous Error Messages - Redux

Posted on 23:11 by Unknown

I've bemoaned the sorry state of "modern" software before (as have many others at various "this product sucks" sites).

My pet peeve is silly, meaningless, inaccurate, incomplete, misleading, thoughtless, and just plain stupid error messages.

I strive to make my own code display error messages that are as meaningful and helpful as possible, but it seems that not everybody does --and this is the year 2007! What hope is there for mankind?

Aunt Calamity has her own ideas over at the "ghost in the machine" web site: http://www.auntcalamity.com/ghost.htm Here are illustrations of a mere a few that I've encountered just in the last few days. They come from a variety of software products (the vendors all do it).








  • Top image (Techsmith Snag It v8.2.2) -- if there there are 0 seconds left, are we going into some sort of hyper-time?
  • IBM Lotus Notes v7.0.2 -- What on earth does this mean? (Maybe there's a connection between the digits in the version number and in the error message body "7" and "0" and "2" ?)
  • Qualcomm Eudora (actually this is a deficiency in Windows dialog box architecture, it's not really Qualcomm's fault ) -- Apart from the gobbledygook message text, why can't the "OK button be labeled "Cancel" and the "Cancel" button be labeled "Debug"?)
  • NTI Shadow 3 -- which of several concurrent jobs is the one that has just been completed? (I've asked them to add the Job Name to each message, but they haven't done it.)
Device drivers, and the code that calls them, are consistently bad offenders. Here's one that I came across at THE DAILY WTF recently. "Very Strange: Attempt to disowned by driver after WIN32 Checks out. Disown attempt ignored."

Very strange, indeed!

I could go on and on, but won't bother, and I'm sure you could add your own beauties to the collection!
Read More
Posted in Bad Software, Error Messages | No comments

IE7 vs. Firefox browser share at asiapac.com.au (end of March 2007)

Posted on 22:41 by Unknown
(Click to view a larger image)

Part of a continuing series -- refer to this previous post, for example -- here's the latest browser share chart on 30 March 2007.

There's something of a resurgence for Firefox (over 30 percent share for once), while IE7's growth seems to have slowed over the last month.

I'm rather surprised that Internet Explorer 6 still holds around a 40 percent share. I would have expected more users to have accepted the Windows XP automatic update path and have had their systems upgraded to IE7 by now. Any comments?
Read More
Posted in | No comments

Wednesday, 28 March 2007

The Seven Deadly Signs

Posted on 18:26 by Unknown
Ben Moore writes:

"My favorite kind of client is the type that will actually get his application into production. Beyond the rate that he pays me, a running-in-production application is what I want. ..."
Read more here: 7 Signs Your Project Will Never Make it to Production

One of the seven signs is "After a payment or two, the client asks if you can reduce your rate" -- so what are the other six?
Read More
Posted in | No comments

All that nonsense about XML

Posted on 04:35 by Unknown
Here's a splendidly cathartic article about XML that everybody would benefit from reading (and broadcasting):

XML and the document format mind bender ... "You need to look a level or two deeper if the real value proposition of XML (and it is real) is to be realized in your organization. "
Read More
Posted in | No comments

Wednesday, 21 March 2007

Equinoxious? Not really...

Posted on 00:06 by Unknown
It's great weather down here in Melbourne, Australia (circled in red in the attached images) just at the moment. Warm, lazy autumn days are rolling on ... Today is our autumn equinox, so we'll be getting less sunshine from now on. But I'm sure you're feeling happy about it up there in the northern hemisphere.

Summer Solstice (Southern Hemisphere)
Up north, the polar bears are snoozing.
CLICK ON THE IMAGES TO SEE AN ENLARGEMENT.


About ten years ago, I purchased at a sale for the princely sum of three Aussie dollars, a copy of a great little desktop software product called EarthTime. It was originally developed by Borland and then passed on to Starfish Software. Unfortunately they incorporated it into the SideKick suite and it no longer was a standalone, but the whole caboodle seems to disappeared from the face of the earth now. Read about it here at Wikipedia if you like a bit of nostalgia.

Today: Autumn Equinox (Southern Hemisphere)

Thankfully I've held on to my now priceless copy, and it has proved to be extremely handy as I call customers and friends all over the world. Fantastic value for a mere three Aussie dollars, eh?

Getting back to the point, I felt like sharing three EarthTime representations for this month's equinox and last year's two solstices.

Winter Solstice (Southern Hemisphere)
A dark time to in Antarctica,
but good for Icelanders and the Inuit.
Read More
Posted in | No comments
Newer Posts Older Posts Home
Subscribe to: Posts (Atom)

Popular Posts

  • TIP: How I got Acronis True Image 2011 to install (a workaround)
    I’ve been using Acronis True Image for backing up drives on my Windows desktop system for a number of years. For me, it seems to work more c...
  • I was going to delay writing this, but here it is anyway …
    What’s the difference between ignorance and apathy?    ANSWER: I don’t know, and I don’t care! It’s been one of those days for me, ...
  • The programmer/developer/coder role is not dead – and long live the project manager!
    It’s no problem being a geek, it would seem, according to Jason Hiner in his ZDNet blog posting The future of IT jobs? It's in three ...
  • LotusScript and the Curious Case of the "Name previously declared" error
    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 wh...
  • The "Do no harm" principle
    In all my IT work over the decades, I have always tried to abide by the maxim "Do no harm". A subtitle of this post could be: ...
  • Top 8 Reasons to Love IBM Lotus Notes 8 - Webcast
    Ed Brill, Business Unit Executive of IBM Lotus Notes/Domino sales, worldwide, extols the the next major feature release of Lotus Notes, due ...
  • The premise is … I’m getting even madder
    I was reading this IBM Redbook today, and it didn’t make a good first impression: I really love IBM Redbooks, but not at all the way...
  • Windows 7 SP1 upgrade went horribly wrong … NetBeans IDE 7.0 Beta 2, MailWasher and the Christchurch earthquake
    Installing the Windows 7 Service Pack 1 (SP1) on my workhorse desktop system last Saturday turned into a total disaster for me, a really ...
  • Some free widgets for your website
    I just stumbled upon a range of free widgets that should add value to your web sites, blogs and other online publications. Because of the ...
  • Wikipedia’s out-of-place icon
    Something strange has happened in the last week or so to the positioning of the Wikipedia icon on my system, whenever a Wikipedia page is...

Categories

  • Add-ons
  • Adobe Reader
  • AJAX
  • Application Platform
  • Architecture
  • AS/400
  • Asia
  • Australia
  • Bad Software
  • Browser
  • Browser Share
  • Bug
  • Bushfire
  • Business
  • Chemistry
  • China
  • Coding
  • Communication
  • Communities of Interest
  • Crossword
  • Crosswords
  • Curiosity
  • Device Drivers
  • DLL hell
  • Documentation
  • Dragon
  • Durian
  • Ecosystems
  • Error Messages
  • Eudora
  • Extensions
  • Facetiousness
  • Failure
  • Firefox
  • FOSS
  • Freelance
  • Freeware
  • Fun
  • Heat Wave
  • Humor
  • i Series
  • IBM
  • IBM Systems
  • IE
  • Image resource manipulation
  • Innovation
  • Installation
  • Internet Explorer
  • Intranet
  • Japan
  • Koala
  • Linux
  • Live Writer
  • Lotus Domino
  • Lotus Notes
  • Lotus Notes Lotus Domino
  • Lotus Software
  • LotusScript
  • Mainframe
  • Melbourne (Australia)
  • Microsoft
  • Multiple
  • Natural Disaster
  • NaturallySpeaking
  • Nigerian 419 fraud
  • Notes Mail
  • NotesTracker
  • Nuance
  • Open Source
  • OpenNTF.ORG
  • Patents
  • POSS
  • PowerPoint
  • Pragmatism
  • Presenter
  • Print Server
  • Project Management
  • Pronunciation
  • Proprietary
  • Registry
  • Releases
  • Research and Development
  • RIA
  • SDMS
  • Security
  • Service Oriented Architecture
  • SNA
  • SOA
  • Software
  • Software Package
  • speech recognition
  • Spell Checking
  • Standards
  • System i
  • System/38
  • TCP/IP
  • Technology
  • Usability
  • Usability Testing
  • Versions
  • Victoria
  • Weather
  • Web 2.0
  • Web 3.0
  • Web Design
  • Web Pi
  • Web Services
  • Webshots.com
  • Windows
  • Windows 7 backgrounds
  • Words
  • z Series

Blog Archive

  • ▼  2013 (25)
    • ▼  November (1)
      • I was going to delay writing this, but here it is ...
    • ►  October (2)
    • ►  September (1)
    • ►  June (7)
    • ►  May (1)
    • ►  April (7)
    • ►  March (2)
    • ►  February (4)
  • ►  2012 (25)
    • ►  December (7)
    • ►  November (1)
    • ►  October (1)
    • ►  September (3)
    • ►  August (1)
    • ►  July (1)
    • ►  June (6)
    • ►  May (2)
    • ►  April (2)
    • ►  March (1)
  • ►  2011 (20)
    • ►  December (3)
    • ►  November (1)
    • ►  August (1)
    • ►  July (2)
    • ►  June (2)
    • ►  March (4)
    • ►  February (2)
    • ►  January (5)
  • ►  2010 (69)
    • ►  November (2)
    • ►  October (3)
    • ►  September (5)
    • ►  August (13)
    • ►  July (3)
    • ►  June (3)
    • ►  May (2)
    • ►  April (10)
    • ►  March (10)
    • ►  February (8)
    • ►  January (10)
  • ►  2009 (41)
    • ►  December (5)
    • ►  November (6)
    • ►  October (5)
    • ►  September (4)
    • ►  August (1)
    • ►  June (1)
    • ►  May (3)
    • ►  April (2)
    • ►  February (9)
    • ►  January (5)
  • ►  2008 (16)
    • ►  November (3)
    • ►  October (3)
    • ►  August (2)
    • ►  July (3)
    • ►  June (1)
    • ►  April (1)
    • ►  February (1)
    • ►  January (2)
  • ►  2007 (39)
    • ►  October (1)
    • ►  September (1)
    • ►  August (1)
    • ►  July (5)
    • ►  June (1)
    • ►  May (2)
    • ►  April (11)
    • ►  March (5)
    • ►  February (8)
    • ►  January (4)
  • ►  2006 (98)
    • ►  December (8)
    • ►  November (25)
    • ►  October (6)
    • ►  September (6)
    • ►  August (5)
    • ►  July (6)
    • ►  June (16)
    • ►  May (17)
    • ►  April (2)
    • ►  March (4)
    • ►  February (3)
  • ►  2005 (38)
    • ►  November (5)
    • ►  September (2)
    • ►  August (10)
    • ►  July (14)
    • ►  June (3)
    • ►  April (3)
    • ►  March (1)
Powered by Blogger.

About Me

Unknown
View my complete profile