people were talking about the millennium bug recently, well it turns out a lot of the fixes just delayed the problem to 2020

"Programmers wanting to avoid the Y2K bug had two broad options: entirely rewrite their code, or adopt a quick fix called โ€œwindowingโ€, which would treat all dates from 00 to 20, as from the 2000s, rather than the 1900s. An estimated 80 per cent of computers fixed in 1999 used the quicker, cheaper option."

"Those systems that used the quick fix have now reached the end of that window, and have rolled back to 1920. Utility company bills have reportedly been produced with the erroneous date 1920, while tens of thousands of parking meters in New York City have declined credit card transactions because of the date glitch."

ยท ยท 23 ยท 226 ยท 162

@radikalgrafitio "Who is still going to use this in 20 years?" - a programmer who is in the middle of fixing an issue created by a programmer that said the exact same thing 20 years before.

@tsturm @radikalgrafitio I'd never heard of this hack until yesterday, wherein on an internal webform I needed to enter a date and the popup calendar only offered months from 1920 up to about 1940.

@xenotrope @radikalgrafitio That is pretty amazing.

When that happens it's time to put on a Fedora, take a deep pull on a cigarette and contemplate the shadowy pattern of the ceiling fan on the wall.

@tsturm @radikalgrafitio "The sickly light of a flickering neon sign across the street washed through the slats of the venetian blinds in my office window. Somewhere, the pinched wails of a bluesy sax cried out into the night. I'd sent Dolores home early so I could get some thinking done. By the inch of liquor still left in the bottle, I'd say I'd already thought quite a bit. 'Datetime libraries,' I muttered at the oily swirls of grime on the wall. 'Why is it always datetime libraries?' "

@radikalgrafitio I find it so weird that they were/are encoding dates in decimal. Y2038 makes more sense to me.

@alcinnz @radikalgrafitio Binary coded decimal was very widespread in the 70s and 80s, everything from mainframes to 6502s had hardware support for it. It makes debugging the hex data easier and saves a few lines of code on conversion for display. ๐Ÿ˜€

@alcinnz @radikalgrafitio
Encoding dates in decimal or ASCII is the most reasonable option. Epoch timestamps are deeply problematic because the number of seconds in each year isn't known very far in advance.

@alcinnz @radikalgrafitio
(POSIX avoids the problem by saying all years have the same number of seconds, but the seconds may be of different lengths. This, of course, introduces a different problem.)

@radikalgrafitio I bet they will just kick it back again, so we'll have the same shit happen in 2040

@KitRedgrave @radikalgrafitio
*to the tune of Superbug*
๐ŸŽต Unix bug, coming up ๐ŸŽต
๐ŸŽต Mill-enn-i-um was a flop ๐ŸŽต

@KitRedgrave @najimi @radikalgrafitio i can't wait to find out what all those 32 bit IoT devices, running literally the only 32 bit Unix without 64 bit time_t, will do in 18 years and 11 days ๐Ÿ™ƒ

@najimi The good news is 64 bit unix time won't roll over until everyone is on 1024-bit operating systems

@radikalgrafitio lmao i remember so many tech nerds on reddit getting angry because no one recognised the way they averted y2k. Guess everyone knows now!!

@radikalgrafitio In 1999 I was working for $LARGE_BANK and got occasional glimpses into their Y2K prep. In some cases, software had been running for so long, nobody even knew where the source code was.

@radikalgrafitio With Trumpageddon quickly approaching WWIII, this is thankfully the least of our problems.

@radikalgrafitio that's really nice of them, I was kinda sad I missed the y2k bug! ^-^

@mitcoes @radikalgrafitio if you're tracking birth dates or historic data, 1950 was still reasonably close to not be able to window it


I was there!

"Fixing this properly will take a hardware investment of X/code refactoring/some other expenditure"

"We're not going that. Do a hack job, nobody cares about correctness."

But I completely forgot about those meetings until now. Thank you for posting this. I can now tell 20-year-younger me that he was right! :flan_laugh:โ€‹

@mwlucas @radikalgrafitio Now's the year to fly airplanes so you can fall out of the sky in a tragic airplane accident!

@radikalgrafitio I''m curious what places actually did this. As one who made Y2K fixes, to a soul, none of us ever wanted to have to deal with the mess ever again in our lifetimes. Nobody in any of my circles slapped a 20yr extension on it and shrugged. Sure, there was some windowing to guess the century but every bit of code I saw windowed around the current year, so it would work regardless of the year.
If a company/coder hardcoded 20yrs, let 'em suffer.

@ed1conf @radikalgrafitio The people who hardcoded the 2020 cutoff in the 90s were those who calculated they would be retired by now. ๐Ÿ˜€
@radikalgrafitio ๐Ÿ˜„ and ๐Ÿ˜ฉ at the same time.

Getting the date and the time right in software is very hard.

@radikalgrafitio I guess I just have suffered that suddenly the 1st day of the year the program we have at work stopped printing and previewing. If We change the date of the computer to 2019 it works , but not in 2020. The programmer just fixed it now . It's an old program so I guess that maybe the reason.


Lol. I can't believe they couldn't spend a couple more bits of memory to store a date...

Why was that a problem in the first place?

@unfa @radikalgrafitio Because everyone inherited their data models and thinking from mainframes, which inherited their data models from punch card systems with 80 columns of data available per record.

@radikalgrafitio Finding this toot some months later, I remembered that CL mandates that if you encode a time with a two-digit year (eg 41) then it's interpreted as whichever year on either side of the current year (1941 or 2041) is closest (2041 today), which the spec calls the "obvious" year.
It's a sort of windowing that moves as time goes on, which is probably good but it worries me it'll break somehow. (And ofc you decode to the full year, so it's just an input problem.)

@radikalgrafitio And now this. In 2020, of all years.

It's like the universe really doesn't want humanity to survive this year.


But did you know some patent troll patented that technique and tried to shake down the software companies for it? For once, the US PTO actually did the right thing and invalidated it.

Sign in to participate in the conversation
Sunbeam City ๐ŸŒป

Sunbeam City is a Libertarian Socialist solarpunk instance. It is ran democratically by a cooperative of like-minded individuals.