Cory Hamasaki's DC Y2K Weather Report V2, # 8 "February 16, 1998 - 683 days to go." WRP64 FINAL (c) 1997, 1998 Cory Hamasaki - I grant permission to distribute and reproduce this article as long as this entire document is reproduced in its entirety including this notice. I do not grant permission to a commercial publisher to reprint this in print media. As seen in USENET:comp.software.year-2000 http://www.elmbronze.demon.co.uk/year2000/ http://www.kiyoinc.com/HHResCo.html Please fax or email copies of this to your geek pals, especially those idiots who keep sending you lightbulb, blonde, or Bill Gates jokes, and urban legends like the Arizona rocket car story. If you have a Y2K webpage, feel free to host the Weather Reports. Don't forget- April 2, 3 1998, Geek Out. Project Dumbass needs you. 1. Worshington Post Job ads 2. News from DC ? 3. Triage 4. DC Y2K meeting 5. NJ Project 6. DC Weather 7. Power Crazed 8. ALC 9 - Homework 9. How bad will Y2K be? 10. One last time on C/C++, Unix, JAVA 11. CCCC ----------- Worshington Post Job ads ----- This is a three day weekend after a mega job tabloid and still, STILL there were 12 pages of GEEK WANTED ads. The ratio of legacy systems ads to Pee Cee Wee Nee ads is improving. Still lots more Pee Cee, Oracle, Webmaster ads but the legacy job ads are on the increase. One bit of humor for me. A consulting company that I pitched Y2K to a year or two ago... you clowns really should take off the white-face and orange nose and get into the Y2K business.... Hawr-hawr, they said, Y2K is just a bunch of hype and our government client has the problem solved. Well, they're advertising for Y2K'ers in the Post. They still have the orange nose but they're getting a little smarter... a little. Check out the search engine at http://www.washingtonpost.com ----------- News from DC ?-------- The local superGeek grapevine has been pretty quiet. Some are bailing out of government jobs and government contracting. The invisible hand of the free market is shifting the resources from the low-pay, but perhaps important tasks to the higher paying ones. It's happening one at a time. Except for Monica, the Olympics, and Saddam, there hasn't been a lot of news. ----------- Triage ---------------- The happy-talk from the agency chiefs continue but come on, people know what's goin' down. The IT/MIS screw ups, Y2K non-remediation is a known, accepted fact. Payroll, accounts payable, foodstamps, welfare, price supports, subsidies, ....did we send them their stipend this month or was that last year's stipend going out a few days late, it's all at risk, it's all going to fail and there's nothing that can be done in 683 days. There is enough time for heavy-duty triage... if the right team does the triage. It's not a team of horn-haired, clueless corporate suck-ups, pontificating, suit wearing, management by pandering, SUV driving, wannabes. This is a job for old, mean, S-O-B, tell it straight, tell it once, you had your chance, it's too late, time to move on, vets. Mean, but still caring for the geeks in the trenches... worried about the clients, the people who depend upon the organization's services, concerned for the trading partners. It's time to move into panic mode, start the triage, build contingencies, think about recovery, risks, alternative methods, think the unthinkable. Can you go to fixed billing? Double your line of credit? Increase inventories, store supplies needed for production, do it manually, disarm the service cut-offs, insert human review. Sure your costs will skyrocket but hey, what's the alternative? Insurance costs money and you can't buy Y2K insurance... well, you can but I've seen the rates and it's like buying life insurance for a 99 year old. ----------- DC Y2K meeting -------- The DC Y2K embedded meeting is this Tuesday, February 17th. I'll get there at the opening to meet with c.s.y2ker's before Rick "Shock-a-rama" Cowles has the marketeers, suits, and government agency reps sobbing in fear. C.s.y2k'ers, let's try for 5:30, I'll be near the buffet. ----------- NJ Project ------------- We've had triumphs and slippages. One meeting was postponed, another project was moved up in priority. The NJ project is to build a Time Machine in an existing computer center. With so few months left, each week that the project slips increases the risk of overall failure. It feels like we're going to war, like everything depends upon what we do, how we do it, and the odds against success are large. There are internal negotiations, resources, plans, priorities, and goals. This week, I learned that a second internal site is bidding to be the host for the Time Machine. We're still in site selection? What about organizations that have yet to decide that they need a standalone Time Machine? That will attempt to reconfigure comm gear, networks, IO subsystems to provide a robust test environment or worse, test with date simulators. Date simulators are fine for unit testing of single batch programs or simple screen to DB to screen teleprocessing transactions. An LPAR in a production or test physical box is a viable way to test small systems. A standalone Time Machine with dedicated comm, its own network, and a full IO subsystem is the only way to test and know that the test duplicates the real world. And that's what we're building, the final Time Machine. ------------- DC Weather ---------------------- We didn't have a winter, the Norse Eddas are wrong. Before the last battle, when gods, giants, and men go to war at the end of the world, there is supposed to be a winter in summer, the Fimbulwinter. This year, fall transitioned to spring. We had no snow, a couple mornings there was frost, but there was no winter in Washington DC. In the middle of February, the early spring flowers have started to bloom, the trees are budding, and my allergies are starting to kick in. April cherry blossums? Try late February or early March. ------------ Power Crazed ------------------ I stopped by the local Home Depot; they have several 'contractor' gas powered generators in the 3-5KW range. These run between $400 and $700 for an OHV unit. These are not suitable for the long haul on the farm but would be great for providing power for a couple weeks or months in suburban Maryland. Based on the reports from the northeast, it will be important to 'secure' the generator. Also beware of carbon monoxide, put the generator in a block outhouse, 10 feet or more from your house. For the farm, a generator attached to a PTO and windpower seem to be the best paths. ------------ ALC 9 - Homework ------------------ View this in a fixed pitch font! You geeks have had too easy a time, here's some homework for you: //ASM JOB (1234,5678),'C.S.Y2K',CLASS=A,MSGLEVEL=(1,1) // EXEC ASMFCLG //ASM.SYSIN DD * R10 EQU 10 R11 EQU 11 R12 EQU 12 R13 EQU 13 R14 EQU 14 R15 EQU 15 R0 EQU 0 R1 EQU 1 R2 EQU 2 R3 EQU 3 R4 EQU 4 R5 EQU 5 STCK CSECT SAVE (14,12),,STCK..&SYSDATC BALR R12,0 INIT BASE USING *,R12 ADDRESS ST R13,SAVE+4 SAVE OLD SAVE LA R13,SAVE COPY IN NEW SAVE *... XR R4,R4 L R4,COUNT SRL R4,4 SHIFT OUT THE SIGN *... LA R3,3 R3 = 3 LA R5,SLOTS R5 = &SLOTS DOLOOP DS 0H LA R4,1(,R4) INCREMENT YEAR BY ONE LR R2,R4 R2 = R4 SLL R2,4 *... ST R2,0(,R5) *SLOT = R2 OI 3(R5),X'0F' LA R5,4(,R5) SLOT++ BCT R3,DOLOOP R3--; IF R3 > 0 GOTO DOLOOP; EXIT DS 0H L R13,SAVE+4 RELOAD OLD SAVE DC XL2'0000' ABEND. RETURN (14,12),RC=0 EJECT SAVE DS 18F COUNT DC PL4'1978' SLOTS DS 4F END STCK //GO.SYSUDUMP DD SYSOUT=A I've run this badboy on the MVS mainframe in my living room. Play computer, figure out what it does. Yes, it takes an OC1 at the ABEND but that's there to force a user dump. In the next few WRP's, I'll clip in parts of the run so that those who don't have access to MVS can follow along. My goal is to take you to the point that you understand S/370 object code and a few of the instructions, just enough so that you can read a simple dump. The assumption is you're a mainframe programmer, know JCL, a compiler language and tried to learn assembler but weren't able to make the leap. I'm guessing it'll be another 10 weeks to complete this assembler/dump class. This week's homework is to annotate the source listing. We'll discuss the some of the source code next week. And to you denial-heads who are lurking, who don't think geeks should get the big bucks; please, jump in and help us understand the code, feel free to give us your opinion on the BCT line. Explain why of the two consecutive lines with LA, LA, the second has an ampersand in the comment. Are you starting to understand? This stuff is complex, subtle, non-trivial and it keeps you paid, fed, warehouses stocked, etc. Some of the WRP's and lessons will get a little large as we're going to be looking at an MVS user address space dump. ------------ How bad will Y2K be? --------------- The systems will fail. Even in shops that have been working hard on remediation, even the few that started in the early 1990's, even they will have problems. Every leap year, every year end, every now and then, application systems go funny. We respond by looking at the exception reports, dumping files, and activating traces in production-test systems. Oh look, look at what they, the users, our trading partners, the data entry people, the programmers for that other system, look at what they did. How amazing, how clever, who would-a thought, silly them, oh well, let's fix it like this.... and 90 percent of the time, our fix works; 10 percent of the time, the fix fails or even worse, it breaks something else and sometimes, someone else says about us, silly them. In Y2K, it won't be the rare failure, it will be every system and it will take an effort close to the scale of building the original system to fix the problem. What does this mean outside of the Glass House (the big computer room of large organizations). What does it mean when the power goes out, when banks and S&L's can't process their data, when planes don't fly, when freight cars get lost, and when people don't get paid because there is glue in the gears? --------- One last time on C/C++, Unix, JAVA ----- <from c.s.y2k> In <34E7F0A5.7F3B@consulting-4-y2k.com>, Mark S Adam <adam@consulting-4-y2k.com> writes: >> It's pretty simple actually, and totally complex. The problem is >> actually not the programs, but the DATA! If someone purchased a new >> computer, with new software after 01/01/00 and entered no historical >> data, it would work just fine with the current 2 digit years. > >Sorry if I'm beating this drum too often, but you're wrong on this. > >C, and I just found out about Java, uses date contructs which represent >the year as the actual year minus 1900. This means that the year 2000 >will be represented by the number 100. There are a lot of programmers, >and hence programs, that do not realize this. > >This will lead to a wide array of problems, from text columns being >mis-aligned to strings overflowing their buffers. > >And then there's the whole leap year thing... > >mark---------------- >Senior Consultant / Stratus Specialist <my comments, which weren't in c.s.y2k.> I discussed this last year with a superGeekette; she was working on one of those Washington DC projects, she couldn't tell me where, who the client was, what the application did, or anything else. After I explained Y2K and tm_year, she realized that they had assumed that tm_year meant years within the current century, not years since 1900. They had built a series of functions based on that faulty understanding. I think she alerted them to the problem but I'm not sure. She left the project soon after and is teaching Yoga... ...Jerry, think about the flexibility... Somewhere near DC, there is a C/C++ application system that might have been fixed and then again, might not be. I don't know who they are, where they are, or what the system does. It was under development last year, I forget exactly when, and shortly after discovering that it had a date problem, the superGeekette quit. What's insidious is that if the prefix is 19, tm_year and their applications worked correctly. It's possible even systems coded with tm_year defined as years within the current century (and by this century I mean 19 prefix and exclude the year 2000 and include the year 1900.) will work correctly for a while, perhaps a long while after 1999, until data with the other definition hits it. Yippee! More consulting money! How does tm_year encode the year 1899? Oops, that's enough. ------------ CCCC ---------------- We're looking at a chaotic situation. All Geeks and Geekettes, do the best job that you can. We have 683 days left. Please, get the word out, earn the bucks, and fix the code.... ....and make your own assessment of the societal implications. Some of you are in difficult situations. You're earning good money but your employer is in denial. I know a couple geeks who have been forbidden to make Y2K fixes because "the replacement system is due any day now." That replacement system has been due any day for the last three years. I understand the frustration and, yes, some anger but in this case, work on the Y2K fixes in a plausibly deniable fashion; plan the fixes, make them to a test varient of the system but label that as an 'experiment to prove that Y2K fixes can't be made' or a 'test case to improve your understanding of the application'. Stealth remediation, fix it without fixing it. Then in 1999 when they finally realize that they have to fix the old production systems, you'll be able to roll the code into production. I am optimistic of the future and not fearful of my neighbors but I am worried. ....and now there are 683 days left.