Example of an upgrade pattern I'm calling NEW BUGS OR UNDESIRED SIDE-
EFFECTS. We probably all have tons of stories of this type, so much so
that I don't have many logged in my brain where I can remember them.
I've probably told this one here before. It does not qualify as a
disaster, just a little example of what we have all seen in various
ways with upgrade:
In the late 70's we upgraded the operating system on a Pr1me computer,
at which point the new COBOL compiler failed to handle addition. ADD 1
to COUNTER no longer compiled. We needed other features and/or it
would have been difficult to back off the upgrade, so we moved
forward. Any already-compiled programs were fine, but for everything
we were writing or changing and compiling again, we had to remove all
addition. Fortunately multiplication and subtraction were both working
so we could multiply by -1 and subtract. Maybe a month later we got a
patch from the vendor and changed all programs back.
I have a terrible Novell Upgrade story that classifies in the pattern
of EXTENDED DOWNTIME. There are also CORRUPTED BACKUPS stories when a
restore is in order.
One of my favorite patterns is what I will call CASCADING UPGRADES --
when you have to upgrade in order to correct one problem, and that
causes you to have to upgrade something else, which causes you to
upgrade something else, ... a cascade of upgrades to fix a little
problem, sometimes resulting in HARDWARE UPGRADE REQUIRED.
Then there is the upgrade pattern of IMPOSSIBLE VERSIONS where you
need to upgrade software A in a way that causes another upgrade to
software B, but B requires that you upgrade C to a version
incompatible with software A (or some other similar variation). I know
I have encountered that one, but the details are very fuzzy. More
often the upgrade of C would be incompatible with another piece of
software, D, that is also needed in that environment.
Other patterns might be DOWNGRADE REQUIRED. In order to upgrade or
install once piece of software, you need to downgrade another.
I have not seen a list of such "upgrade patterns" so if you have a
pattern to add to those above, that would be super.
If you have any good stories that can be written in a way that is
short enough to read to a class to illustrate the point that simple-
sounding upgrades sometimes grow into big projects, perhaps holding up
companies for days, please pass them along. If for some reason you do
not want to post a story here, feel free to email me dwolt at tincat-
group dot com. Thanks. --dawn
This tale goes back to my pre-PICK days, back when terms like “head
crash” were synonymous with “cardiac arrest”. I had been operating
on a series of IBM System 360’s, having gone from a 360/25 to 360/30,
then to a 360/40. Due to a couple of major application installations
planned (on-line wholesale order entry, and polling of 30-store POS
system), the need for another upgrade to hardware led to replacement
of the IBM 360 system with a 370/138.
At the same time the hardware was placed on order, the implementation
of programming for the order entry system began. I contracted with a
gentleman from Cheney, Wash., to write our COBOL software. When I
told him of our hardware-upgrade, and advised that we would be running
on DOS/VS rel. 34 (which was then a public domain product), my friend,
the programmer, told me he could obtain a version, FREE of charge, and
have it shipped directly to me.
The 370/138 computer was being installed by a 3rd-party maintenance
firm. All pieces of hardware were in place, consuming much of the
18ft. x 26ft. computer room. It was time to fire up the system,
requiring the disk with the operating , the “SYSRES disk”, to be
mounted into one of the two “pizza oven style” disk cabinets (there
were 2 disks per cabinet – each disk accounting for 100MB of storage –
WOW!). I handed the disk to the tech from the maintenance firm, and
he promptly refused, telling me that it was against his company’s
policy for any technician to place a disk into a disk cabinet.
So, I was left with the honor of firing up the 370/138 for the first
time. The disk began to spin, faster and faster, until it reached
the speed where the read/write heads would extract from their
compartments, and reach out between the 10 platters. For those who
may not be aware, read/write heads never come in contact with the
surface of the platters; they float above the platter-surface (at
least, not in NORMAL conditions). But this would be one of those
ABNORMAL conditions.
Unbeknownst to me, the cover of the disk had been impregnated by a
forklift at the airport. When holding the disk to remove the cover,
the damaged portion of the platters were at the rear of the disk – I
never saw that damage. Several of the middle platters had been bent
up to about a 45-degree angle. As the drive reached speed for the
heads to make their move into the space between the platters, the bent
platters grabbed hold of the heads and immediately spewed fragments of
the heads, and the platters, along with oxide dust, completely
covering the window of the cabinet. This calamity was accompanied by
a shrill sound I haven’t heard the likes of, until a few summers ago
when I first heard the cry of a fisher cat; much akin to the sound of
a screaming woman.
This was my first, and only, “head crash” experience. I had heard
about them, but assumed I’d never have to worry about being a part of
one. And, I quickly understood why the technician refused to put the
disk into the cabinet. He was free of responsibility.
The drive was rebuilt at a cost of $4000 (cheap by today’s
standards). We were able to obtain another DOS/VS disk, which the
programmer-friend used to build another SYSRES disk. By some
miracle, or collection of same, we were up and running within 24 hours
of the incident that brought us to our knees.
And one footnote: this upgrade to the 370/138 created a need to rent
the 12’ x 20’ room, adjacent to the 18’ x 26’ computer room, to house
a 20-ton air-conditioner. A hole on the base of the wall between the
rooms was used to feed the cold air into the raised-floor computer
room. The floor beneath the raised-floor was the plenum for the
cold air to rise through strategically-placed, perforated floor-
tiles.
Oh, those were the days.
Jim Cronin
Dir. MIS
Kittery Trading Post
It reminded me of other unexpected hardware failures, such as a fire
in either a terminal or an 8088 machine (seems like I would remember
which, but...).
Thanks, Jim. --dawn
many moons ago we were planning a migration for a new client that was
to take place on 1st July (first day of the new financial year here).
We had done a few trial data conversion runs & fine tuned everything
and were in count down mode.
The existing hardware was an early "micro" (name escapes me, but it
was the size of a decent mini-computer)
Anyway, on the 29th June I was visiting the site to clear out the old
conversion data in anticipation of the "real" stuff, and to do some
last minute checks for the new Wyse 50 terminals --> I do remember
that the system they were moving to was "R83 pick" running on a top of
the line 20Mhz Compaq 386 style system.
Anyway, whilst I was onsite, the Murphy Switch in the old server got
tripped, something shorted, and a small electrical fire broke out
inside the main system cabinet - anything the fire didn't melt, the
powder from the fire extinguisher took care of!!.... to cut a long
story short, we ended up getting them "live" that night, with data
from the previous conversion that was a week old --> if we hadn't done
the trial conversions, they would have had NOTHING, as the company
that made the old system had disappeared, and if the fire had happened
an hour or so later, one of the jobs I had planned on doing was to
clear the data files out ready to do the "real" conversion!
These days we take backups of trial conversion data 'cause you just
never know!
Coming off of General Automation, back in the early 90's, and
converting to Advanced Pick, I stumbled onto two particular software
"gotcha's", and they both pertained to nuances between some of GA's
BASIC commands, vs. PICK's.
The first one I discovered was that "soundex" was not the same. In
G.A., you could create a soundex table using virtually any number of
characters, where A/P used the first letter, and up to the third
consonant in the string being "soundexed". E.G., consider the words
MADISON and MADISONVILLE. In the case of these two words just shown,
MDSN (ignore vowels) would be used to generate the soundex code -
M325. However, G.A. used all consonants (I believe double-consonants
were considered as one, I.E., "LL" = "L'). G.A.'s soundex codes for
these two words are M325 and M32514, respectively.
I discovered this problem when the first attempt was made to do
soundex-lookup on names of vendors, customers, products - we had
generated them all under G.A.'s PICK Basic, and tried to carry over
the logic to Advanced PICK. Fortunately, G.A. had the source code
for "soundex" on the "BP" file that was distributed with the system,
so I was able to copy it into a subroutine that I named,
"soundx.subrout", using two arguments (ARG1, ARG2). ARG1 was the
string being soundexed; AGR2 was the code generated by the routine.
Once I had the subroutine operational, I had to find every program
that utilized "soundex", either in the form of creating the soundex
code, or using the code to match to the lookup-string entered by the
operator.
Secondly, the BASIC command, "convert", also presented major
differences, mostly in the area of converting "multi-character"
portions of a string to single-character, or other multi-character
portions of a string. Without getting too specific, suffice to say,
another home-grown "subroutine" was needed to replace the short-
comings of Advance PICK's "convert".
These, indeed, were "downgrade" scenarios that grew from "upgrade".
Jim Cronin
Kittery Trading Post
I was just the night-time computer operator, but I had access to TCL
obviously because I had to run queries and such at night (you can't
run them during the day because it slows the system too much).
At any rate, I discovered that "T" was a shortcut for "Time" and I
thought I'd check out what other shortcuts might exist. So I tried A,
B, C, and so on to see what they did at TCL.
Previously, a tech had setup some kind of shortcut which would "wipe
the disk" (that's what they said) in preparation for a new install.
The shortcut was "\" and of course I found it at midnight or some such
thing, and it just threw up a comment like "Working..." or whatever.
No way to abort it and it was time to go home anyway.
The next day I got a call early to ask "Did anything odd happen last
night?"
So the moral is, don't create shortcuts that do amusing things, like
reformatting the disk.
Will Johnson
Hi Will, long time no see (or are you a different Will Johnson?)
Great story! --dawn
> Previously, a tech had setup some kind of shortcut which would "wipe
> the disk" (that's what they said) in preparation for a new install.
> The shortcut was "\"
I worked on a system where somebody did that with the "D" key. Every
production file was cleared and re-loaded with a base set of data.
Not good.
--
Kevin Powick
<Eric Idle Voice>You were lucky! On our system, any one key command
would erase the entire hard drive and set the computer room on fire!</EIV>
--
frosty
<Graham Chapman>That's nothing! Our system would set us on fire if we
just thought about it. Then the system admin would feed our barbecued
remains to lions who would regurgitate us as full-time developers so
that we could be ridiculed for the rest of our days. Oh yes, and then
the hard drives would be wiped as well.</GC>
LOL. Thanks. --dawn
> --
> frosty
Bobj
"Peter McMurray" <excal...@bigpond.com> wrote in message
news:osKGm.51051$ze1....@news-server.bigpond.net.au...
Yes, and it made me laugh audibly to read that. Many real pickies will
not recall this, however, given that Pick, unlike the RDBMS, did not
arise from the world of computer cards (or at least that is one thing
my research has lead me to believe). cheers! --dawn
I also remember in my early years of working in assembler on an IBM
360 that you might only get one test run every other day or at the
most daily. You sure learned to desk check your work. And suck up
the keypunch operator that was going to key your coding sheets.
Alot of the habits that I formed in those days are still with me -
like desk checking the code and working with a set of test data with
known results. Pick is so easy that alot of programmers work from the
seat of their pants with sometimes really bad results. Just because it
compiles and runs doesn't mean that it ran correctly.
Anyone remember the "dupe" function of keypunching? It seems to have
been left behind but I still sometimes put that in a data entry
program for the type of field where a great majority of reponses are
the same but not all. For instance, you are entering addresses from
employees in a state, most of those will live in that state, but not
all.
Anyone remember flow charting?
I led the guys writing Autoflow for the 360, and later spent a lot of
time helping to sell it. (it was one of the 'products' that helped us
win a lawsuit against IBM - to stop promising software for free - that
established the market for product software.) Autoflow automatically
drew flowcharts of programs of a variety of languages. On one sales
call / demonstration I was asked the highly technical question by a
pointy-haired boss: why, on a particular page, we had left so much white
space. I of course gulped at this attack on my product' aesthetics,
took a step forward, and declared that the empty area was "meaningful
space", as important as any other part of the chart. My salesman nearly
choked at this reference to Holmes' dog that did not bark.
PHP and apache and frameworks are exciting, but my mind does drift
sometimes back to the good old days.
~ ~ Bill
Pick may not have "arisen" from the world of computer cards, but did
"derive" somewhat. We PROCheads may remember that the IH command stood for
"Input Hollerith."
BTW, here's a link to a PROC & Batch manual:
http://www.bitsavers.org/pdf/microdata/reality/771044_realityProcBatch_77.pdf
Ed
Good Lord! I'd forgotten all about Batch. B/ADD & B/DEL anybody?
I looked at the copyright date on that, 1977, the year before I picked
up my first Reality manual.
My dad, retired from NASA, used to work with an IBM mainframe that had a
JCL language called ProcDef, which to me looked a lot like PROC. On the
same mainframe, there was a documentation processor called "Runoff".
Guess what it looked like? I think Dick and Don did a little "borrowing"
when they wrote Girls.
Art
I'm quite familiar with RUNOFF, and don't see how it can be compared
to GIRLS. Care to explain?
--
frosty
Speaking of RUNOFF, I've only ever worked at a *single* job that ever
used RUNOFF, and they used it a lot, for writing help files and such
for their clients. Of course, being the sort of maverick I am, I had
to modify the menu system to automagically create RUNOFF documents of
the menus, and modify all the help files to allow set-point insertions
within the documents so the menus could be magically pushed into the
runoff help documents without human intervention (or error).
Will Johnson
Hey Will,
Good news .... you have found someone else who knows about SNOBOL :-)
But my reference is later, "just" past punched cards, running on an
early DEC-11 on RTSE (? I just remember calling is "rastus")
One of the other software companies in town had a comprehensive system
written in Snobol - believe this may have originated from USA ...
perhaps MCBA? (Mini Computer Business Associates)
I could never figure out how to make money with it. What "comprehensive
system" stuff did they do?
It's a string-processing (!) language used in exploring patterns, as in
language recognition. http://en.wikipedia.org/wiki/SNOBOL
And Ross, it was RSTS on PDP-11, which we also called "ristus".
For anyone who doubts we still have roots going back to punch cards,
I'll just mention that the 80 column terminal to which most of you
guys still code was intended to be compatible with Hollerith cards. I
believe default term width for Windows Terminal and BASH is still 80.
I wish discussions of technology from the current millennium would
spawn so much discussion here. I can see one of you guys trying to
sell a new application, and the prospect Googling to find out what
this Pick thing is about, only to see a bunch of people fondly talking
about punch cards. *buzzer sounds* "Time to look elsewhere."
Looking forward to TL Conference next week...
T
They had a full accounting & distribution system, and we are talking
circa 1980. I'm not sure if the "database" was part of Snobol itself,
or something that was written in Snobol, but IIRC it offered fast
BTree access to files, and I think it may have put that pattern
matching capability to use for some of the searching capabilities.
Don't have too many details - I never used it myself, as it was a
"competitor" ... company involved is still around, and they still have
a comprehensive ERP system that is "strong" in building & project
areas that can probably trace it's originas back to that original
system, but I know has been ported across at least 3 different
languages/databases over the past 30 years (or at least they have
offered solutions in 3 different environments, which I assume trace
heritage back to this early product)
Thanks. I played with the "extended" version RSTS/E, but it was RDOS
on the DG platform that I really worked
>
><snip>
> Looking forward to TL Conference next week...
You mean "this week" ... starts Wednesday ... pocket watch & rabbit
optional .... large hat for disguise ... ESSENTIAL!
>
> T
Peter,
I think maverick is still kicking along (sort of), but all development
in recent years has been done by one man .... and he is a TASwegian,
so that may explain some things ;-)
I got my start on DEC PDP-11 running RSTE/E with BASIC PLUS and also
worked on the DG Nova using RDOS and Business Basic III.
Gee that seems like so long ago!
Eugene
Tony,
In 1979 I was offered 2 jobs. One was going to be working with
networks for Woolco/Woolworth and the other was on a computer that I
had never heard of, with maintenance coming out of Cincinnati.
Oh yea, it was called a Microdata <G>
Eugene
Well now there's some F L A S H -backing timewarps...
First fondly back to the ol' SJSU days... '76-'77 timeframe --
spending way too much time on a RSTS-11 & RSTS/E (when the first
choice, being the CDC PLATO, wasn't available) burning the midnight
oil and implementing multi-user games while hacking (as academically
necessary) to maintain the required system privileges against growing
egotistical fifedomes, aka admins. [Un]fortunately, RSTS had two
tremendous vulnerabilities: (1) A critical bug in DEC's equivalent of
an X-ON/X-OFF flow control to their terminals (ie. flow-control states
that were "toggled" with <control>-O characters. If you jammed too
many ^O-s in a sequence, the I/O stream to the terminal would simply
get lost and start dumping system memory to the terminals -- so when
the data started to look like "streams of passwords", you simply had
to flip the printer switch on... (2) Creating any large file for
random access would never initialize it's space, so you would inherit
everything from virtual memory. A quick parse for a [1,1], [1,2],
[1,4],[10,10]... system accounts, would typically net you a system-
level account & password. If not, heck, delete the file and repeat.
Second, RE: SNOBOL -- Pick's FLASH development was led by Lon
Cherryholmes -- one the industry's foremost compiler GURU's, IMHO. He
absolutely loved Prolog and Snobol4, and used these to create the some
120,000-automated test cases for validating the Lex/YACC outputs
dynamically against the existing BASIC compiler. I still have the
Snobol4 book he forced me to buy. ('sigh.... also, one or two still
on loan, sorry Lon!)
Dave Z.
(Reference to Matrix) I call that a "red pill / blue pill" moment, and
often think about how our lives could be totally different had we
simply picked "the other one".
Holy cow, Dave, another Pickie who knows PLATO? I was an author using
the Tutor language, and site admin on that network. When people say
the internet was created in the early 90's I look back fondly to the
late 70's when we were exchanging emails, talking in forums, playing
games with people around the world (Empire, Oubliette). Good times...
That system was so much fun to work on, I'd take a train from one site
to another in the middle of the night just to get some online time.
In fact I was tutoring students on that system and one day one of them
said "my husband has a computer department and they're looking for an
operator, interested?" And that's how I came to work in my first Pick
shop.
T
<snip>
Dave Z.
Sounds much more complicated than the Reality. Long time ago but as I
remember it one just had to hit break as you Logged in and bingo you dropped
into Sysprog where all was available :-)
Peter McMurray
Ed
"Peter McMurray" <excal...@bigpond.com> wrote in message
news:0J0Im.51919$ze1....@news-server.bigpond.net.au...