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.
Email ThisBlogThis!Share to XShare to FacebookShare to Pinterest
Posted in | No comments
Newer Post Older Post Home

0 comments:

Post a Comment

Subscribe to: Post Comments (Atom)

Popular Posts

  • 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 ...
  • 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 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...
  • 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: ...
  • Which one is "bigger" -- Microsoft or IBM?
    There's an IT industry debate that has been going on for a decade or more now, about whether or not " The mainframe is dead." ...
  • 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 ...
  • IBM invites you... Tune Your Servers!
    IBM's Redbooks are sometimes of considerable to those who don't use IBM software and hardware, one example of which is TCP/IP Tutori...
  • The benefits of ever-decreasing technology size and weight
    This video obviously applies to the old-style PC hardware of the 1980s and 1990s, so presumably newer technology (such as LCD monitors) i...
  • IBM Symphony Plug-ins site has an Achilles’ Heel
    It seems that a weakness of the IBM Lotus Symphony plug-ins site is that not all of the plug-ins are hosted by IBM, and you can suffer tryin...

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)
    • ►  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)
      • SDMS version 4.2 is now available
      • IBM Mainframe Strengths and Values - for Gaming?
      • Web 3.0 is Underway -- but "Web Pi" is unreachable
      • How to fix Eudora spell checker not remembering ad...
      • NotesTracker Version 5.0 -- released on 4/4/2007
      • The Dire Consequences of Fixed-Price IT Projects
      • Dr. Pongsol SOLves the PONG (of durians)
      • Linux, Linux on the wall. Who's the prettiest of t...
      • Another weird LotusScript compiler problem
      • The Four Yorkshiremen, punched cards, and other ta...
      • LotusScript and the Curious Case of the "Name prev...
    • ►  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