The 9/9/99 problem explained by THE expert
____________________
On Wed, 10 Feb 1999 00:33:21, Robert Egan <egan263@nospam_allowed.ix.netcom.com> wrote: > In all my years of IT work, I never saw 9/9/99 used as a "sentinel" > date. I never even heard of it, either as a real issue or as a gag, > until I started reading the posts here. Frankly, I find it hard to > believe there's more than a dozen cases in the entire world. It was common in 2nd generation (before my time). Some systems and languages didn't have EOF sensing. There is a huge inventory of code that pre-dates databases and a significant inventory that pre-dates EOF sensing. In the mid 1970's I saw 9's cards being taught as the proper way to terminate files. Recall that DL/I showed up in the late 1960's, well after OS/360. In the late 1970s, I attended the Share session in which IBM announced the results of their System-R experiments. Until then, it wasn't obvious that relational databases were even possible. At that time, the idiots at GEISCO were building the "Time Sharing System for the 1990's" on MVS, TCAM, TSO, IMS, all products that their big-brains told them would be the basis of future technology. As usual, I was consider clueless because I dared to suggest that computers based on the Intel 8080A CPU had a place in an IT shop. I had just finished a year long NorthStar 8080 assembler project so I had a feel for what Pee Cee's could do. The guy who worked on it with me had written a fair simulation of the TSO EDIT command in NorthStar Basic. We knew. The big-brains at General Electric Information Services Company completely missed the PeeCee revolution. Corporate losers, lightweights, dumb as stones, their hair points up in horns. In the early 1980's, I saw a live, in the naked metal, IBM 7080 computer running production work at a military facility. This is the timeframe in which the demonized FAA replaced their 3050's (360 mod 50's) with the3083's. In the late 1990s, some buds took down a live 360 mod 40 with 2314 disk drives that was running production for an insurance company. In a world where companies that sell browsers, run search engines, and lord help us, sell books on the Internet, have valuations in the billions of dollars, it's hard to understand the importance of legacy code. Get over it people; the world does not run on eBay, it runs on legacy iron, 50,000 IBM style mainframes, 500,000 AS/400s, 100,000 S/3xs, and who knows how many VAXen, PDP-11's, and DGs. But hey, what do I know, any clown who can click up a Lan and call himself a lord is qualified to run his keyboard. It's started to unravel, time has run out, management is babbling like crazed loons, tonight I heard about another deathmarch. All weekends and holidays are cancelled for the rest of the year. cory hamasaki 325 Days, 7,800 Hours, Less than 11 months. kiyoinc.com
_______________
' Interest Finder Browse Groups New On Our Site! Search Find messages in the complete standard adult jobs for sale archive
Message 4 of 86 return to current results previous · post reply · next help Re: Computer experts sweat out the Y1.999K problem more options Author: cory hamasaki Email: kiyoinc@ibm.XOUT.net Date: 1999/02/10 Forums: comp.software.year-2000 more headers author profile view thread
--------------------------------------------------------------------------------
On Wed, 10 Feb 1999 04:51:22, hoff_meister <hoff_meister@my-dejanews.com> wrote: > Cory, could you explain how a 9's card could lead to a 9/9/99 date? Or > for that matter, the other problem date of April 9? > > I'm assuming this must be a problem in some systems, but I haven't been > able to figure out just how this happens. How does 999999 translate to > 990909, or 090999, or for that matter 99099? Like I said, I've been > trying to envision how this would happen, and just haven't been able to > figure out any likely scenarios. > > Hoffmeister
Hoffy and Egan,
Here's a record;
1...v....1....v....2....v.... 123197HOFFY JOE 090999EGAN SAM 999999EOF EOF
/* nosubstringrange */
dcl 1 record, 2 date, 3 month char(02), 3 day char(02), 3 year char(02), 2 lastname char(10), 2 firstname char(20),
call readrec();
if substr(record.date.day, 1, 3) = "999" then call doeof();
call processrec();
Hmmmm, Sam Egan's data doesn't get processed.
Sure, this isn't likely but there is no doubt that this code is out there.
In fact, they might have defined the EOF signal as 09/09/99 because it does pass a reasonable date check while 99/99/99 might be rejected.
Will this problem occur in production systems somewhere? Absolutely.
Is it common? I'd guess not but I don't know.
Can it be fixed on failure? Depends on the expertise in the shop, do they have the source? Will they notice the problems? How long before Sam complains about lost data.
I get back to the 50,000 IBM style mainframes and millions of legacy systems. COBOL (and assembly language, RPG, DYL-260, MarkIV, Nomad, PL/I, and hundreds of other languages and databases) runs the world.
This stuff is at risk. What ever it does, it will do it differently after the singularity.
Well, lunch is over, back to work.
cory hamasaki 324 Days, 7,788 Hours, Less than 11 Months. kiyoinc.com <---<<< Y2K contest
_____ from c.s.y2k |