The silver bull..it - or Computer Science 101...

greenspun.com : LUSENET : TimeBomb 2000 (Y2000) : One Thread

Wow, I've got the answer to the Y2K problem, so simple! This is better than "windowing" because you don't need to expand any files. And, it's good to go 'til 2027-12-31!!! So simple!!!

Sorry to get tech here, but binary is a times 2 numbering system. Every bit has a value where the next bit = 2 times the previous. So, the value of

"1 1 1 1" is equal to:

8+4+2+1 (15) while

"1 0 0 1" is equal to:

8+0+0+1 (9) - Get it?

So if we look at the year, 7 bits would be good to go for 127 years, from 1900 to 2027:

"1 1 1 1 1 1 1" equals:

64+32+16+8+4+2+1 (127)

The month only needs 4 bits:

"1 1 0 0" equals:

8+4+0+0 (12)

and the day fits into 5 bits:

"1 1 1 1 1" equals:

16+8+4+2+1 (31)

>>> NOW <<<

Here's the payoff...

We can fit 7+4+5 bits into 16 bits, >>>>> TWO BYTES <<<<< !!!!!

Now, here's the only problem... How do we make this great idea work with all the different computers, and programs, and files out there?

Anybody know a marketing guy... maybe I can make some money off this Y2K business yet... Yea, another Y2K tool, just what we need. <:)=

-- Sysman (y2kboard@yahoo.com), May 19, 1999

Answers

Thats the Bob Behmer's digits silver bullet, you'll have to find your own.

-- a (a@a.a), May 19, 1999.

Ahh shucks a, ya mean somebody beat me to it! Darn, another Y2K solution down the tubes... Hey, does this count as a "failure?" <:)=

-- Sysman (y2kboard@yahoo.com), May 19, 1999.

Uhh,,,

wouldn't you have to change the logic of the way the 'puter looked at numbers? Just asking, I don't know sh*t about 'puters.

-- CT (ct@no.yr), May 19, 1999.


Hi CT,

"change the logic"

Well...

"How do we make this great idea work"

Yup, you got it! <:)=

-- Sysman (y2kboard@yahoo.com), May 19, 1999.


Sysman,

Microsoft beat you to it back in the early 80's -- that's essentially the layout of the date stamp on a DOS file:

Bits Contents 0 - 4 Day of month (1-31) 5 - 8 Month (1-12) 9 - 15 Year (relative to 1980)

That "relative to 1980" thing is the only sticky point, of course ... but you COULD claim credit for addressing that little oversight on King Bill's part ... :)

-- Stephen M. Poole, CET (smpoole7@bellsouth.net), May 19, 1999.



I *hate* the way this board formats plain text. Here it is in slightly more readable form:

Bits Contents

0 - 4 Day of month (1-31)
5 - 8 Month (1-12)
9 - 15 Year (relative to 1980)

Let's see if that looks a little better ...

-- Stephen M. Poole, CET (smpoole7@bellsouth.net), May 19, 1999.


Hee hee hee, but my way sorts better... <:)=

-- Sysman (Y2kboard@yahoo.com), May 19, 1999.

Sysman,

Yes, it does. (Never have understood why Paterson put the month in the middle ...)

-- Stephen M. Poole, CET (smpoole7@bellsouth.net), May 19, 1999.


Duh. Disregard the last. It's late, and time for bed. :)

-- Stephen M. Poole, CET (smpoole7@bellsouth.net), May 19, 1999.

Bob Bemer "the inventor of the ESC key" is promoting the same idea with his company "Bigisoft" (www.bigisoft.com). You "bigitize" the data which encodes the century in the two bytes, load a system level date routine that uses copy members to determine date offsets into files and it is supposed to intercept all references to the date fields and supply the "right" answer. Supposedly it tracks calculations even into Working Storage fields. Although you have now converted your data into a proprietary format (the date fields anyway) they do have an export utility that "de-bigitizes" for interaction with other systems. Note this is a "sourceless" approach that only affects the data, no code changes in source code. COBOL only.

I don't see many adopting this approach but where it MAY be suited is in the IV&V (Independent Verification and Validation) space. Run the "fixed" system in parallel with the original system that has been "bigitized" and compare results. No simple task. MUCH easier said than done.

I like the fact that people are trying their best to solve this problem.

br14

-- br14 (br14@bigitize.com), May 19, 1999.



"... binary is a times 2 numbering system. Every bit has a value where the next bit = 2 times the previous."

Not exactly. The way I've seen it defined is (using 217 in decimal format as an example):

(What would I do without Google?)

-- Tom Carey (tomcarey@mindspring.com), May 19, 1999.


sysman:

"1 0 0 1" is equal to:

8+0+0+1 (9) - Get it?

Me 03 10 05 22 22 11

100401 006017 001022 101101 001007 001000 001003 103101 006617 001033 001000 001016 001000 001035 041002 001000 001001 005000 000212 000303 000310 000305 000322 000322 000311 000215 000212 000201 006030 00000 006017 001044 006057 001002 001100 015512 001000 001001 001022

Or

mnem remarks

EXE INIT TTY

SEN SENSE READ BUFFER READY

JMP NOT READY

CIA INPUT CHARACTER

SEN SENSE READ BUFFER READY

JMP NOT READY

0AR OUTPUT CHARACTER (ECHO)

JMP LOOP FOR NEXT CHARACTER

Or cherri

-- Cherri (sams@brigadoon.com), May 26, 1999.


Just want to chime in as someone who is absolutely ignorant regarding computer code that I want to thank you all for making me grateful I'm a graphic artist : )

One thing that's really cool is that I've used the little binary 1's and 0's before in computer illustration for various clients. You know...techie clients, etc. It's so cool to see what is actually behind them. I always wondered. Thanks everyone, especially Tom.

Now...I'm gonna go take some aspirin. All this stuff has given me a headache.

Mike ==============================================================

-- Michael Taylor (mtdesign3@aol.com), May 26, 1999.


Michael,

I started this thread more or less as a joke, and you actually learned something! Way kool! <:)=

-- Sysman (y2kboard@yahoo.com), May 26, 1999.


Moderation questions? read the FAQ