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.