Remember Y2K? A similar issue will happen in the year 2038.
February 1, 2023 3:35 PM   Subscribe

The wikipedia article is an good overview. TLDR: some computers keep time by tracking seconds since January 1, 1970. A subset of these computers used a 32-bit value to do so, meaning that it only has space to track the time until some date in 2038. Most of the major systems have migrated to 64 bit numbers, but not all.
posted by buffy12 (84 comments total) 24 users marked this as a favorite
 
I've already fixed a bunch of these problems at work. Some users, when forced to choose an "end date" for an input that won't take no for an answer, will choose "2099" or "9999". Hijinks ensue.
posted by meowzilla at 3:47 PM on February 1, 2023 [3 favorites]


They say time is a wheel because time is a 32-bit value that will roll over.
posted by ptfe at 3:58 PM on February 1, 2023 [22 favorites]


This might just be humanity's last best hope for victory in the coming war against Skynet.
posted by Atom Eyes at 4:00 PM on February 1, 2023 [5 favorites]


The overflow error will occur at 03:14

So it's coincidentally going to happen at π'oclock? I think there are bigger wheels turning here
posted by Rumple at 4:04 PM on February 1, 2023 [40 favorites]


This might just be humanity's last best hope for victory in the coming war against Skynet.

It's the digital version of War of the Worlds - bring the system down with an overflow bug.
posted by nubs at 4:06 PM on February 1, 2023 [3 favorites]


> I think there are bigger wheels turning here

Four-sided wheels, perhaps?
posted by genpfault at 4:08 PM on February 1, 2023 [5 favorites]


Speaking of Y2K, how has history judged this, 23 years on? Was it a catastrophe nearly avoided or hype that never materialized?
posted by slogger at 4:29 PM on February 1, 2023 [5 favorites]


Can't believe I'm the first to post a link to this. We are already 89.01% of the way there!

https://www.epochalypse.today/

(Strong candidate for Best Eponysterical Domain Name of 2023!)
posted by graphweaver at 4:36 PM on February 1, 2023 [11 favorites]


A year or so ago there was a story about a ship's engineer that came across a serial data line from an undocumented box in his ship's bridge into the engine, carrying Modbus data. Nothing in the ship's documentation said a thing about the box, the cable, or what it was doing in the engine, but some reverse engineering showed it was regulating the diesel throttling and injection.

The shitstorm that will happen in 2038 will involve embedded processors whose existence will be completely unknown.
posted by ocschwar at 4:37 PM on February 1, 2023 [38 favorites]


Speaking of Y2K, how has history judged this, 23 years on? Was it a catastrophe nearly avoided or hype that never materialized?
Huge mess which foresight prevented. It wouldn’t have been Armageddon but tons of stuff would’ve failed — for example, someone I knew at Mastercard said they wouldn’t have been able to process transactions at all. That wouldn’t have caused deaths in the streets (probably) but other things might’ve (imagine what could have happened to people who depend on things like Social Security checks arriving on time if that’d halted for a couple months).

Interestingly, one of the things I’ve seen climate change or COVID deniers do is draw a direct comparison, only in their world Y2K was an unnecessary hoax perpetuated by a shadowy conspiracy for reasons which are hard to follow.
posted by adamsc at 4:38 PM on February 1, 2023 [30 favorites]


Agree, oschwar. "Some computers", as the OP puts it, doesn't really convey the terrifying scope of this. "Literally millions, possibly billions, of embedded systems that have been forgotten for decades", is more like it.
posted by graphweaver at 4:38 PM on February 1, 2023 [7 favorites]


> I think there are bigger wheels turning here

Four-sided wheels, perhaps?


We're in for a bumpy ride....
posted by Greg_Ace at 4:39 PM on February 1, 2023 [4 favorites]


Was it a catastrophe nearly avoided or hype that never materialized?

Probably not a catastrophe, but it would at the very least have been a huge train wreck. (Not literally. Probably.) It was only avoided because of thousands upon thousands of programmers putting in long hours combing over old code and fixing it. I was one of them.
posted by Mr. Bad Example at 4:57 PM on February 1, 2023 [23 favorites]


My reaction was that its a bold assumption given pandemics, global warming, finite resources, politics, etc to assume our survival as a high tech species though 2038. I'm left pondering if this makes me a pessimistic person or an optimistic programmer because of all now quite old code I've written to make this problem worse.
posted by interogative mood at 4:59 PM on February 1, 2023 [2 favorites]


I'm left pondering if this makes me a pessimistic person or an optimistic programmer

Meh, the singularity will have happened by then, the computers will take care of it themselves.
posted by Meatbomb at 5:09 PM on February 1, 2023


Remember Y2K? A similar issue will happen in the year 2038.

No it won't because everyone has spent the last two decades knowing this shit is coming and upgrading every piece of Unix/Linux infrastructure to 64-bit time_t. It's pretty much the year 584 billion problem.
posted by Your Childhood Pet Rock at 5:15 PM on February 1, 2023 [8 favorites]


Are there many embedded systems using the UNIX epoch, that haven't, IDK, upgraded kernels in 30 years?
posted by pwnguin at 5:19 PM on February 1, 2023


Obligatory XKCD
posted by kyrademon at 5:20 PM on February 1, 2023 [2 favorites]


Aww jeez, 2038 also has a GPS week number rollover
posted by pwnguin at 5:20 PM on February 1, 2023 [4 favorites]


We use int64_t signed nanosecond epoch timestamps at work. Despite being nanosecond resolution, they won't wrap around until sometime in the 23rd Century, or as I put it when we settled on it, "It'll be Spock and Scotty's problem."
posted by notoriety public at 5:22 PM on February 1, 2023 [3 favorites]


Like with Y2K there will be a lot of systems never updated and it won’t matter all the time. A lot of things just don’t deal with dates or have very soft failures modes with date shenanigans. Computers don’t self combust and cease to function if some date thing goes weird.
posted by WaterAndPixels at 5:40 PM on February 1, 2023


2038? Nonsense. Why, your civilization will already have collapsed two years earlier, when the 2036 NTP rollover takes place!

From the RFC:
Note that since some time in 1968 the most significant bit (bit 0 of
the integer part) has been set and that the 64-bit field will
overflow some time in 2036. Should NTP or SNTP be in use in 2036,
some external means will be necessary to qualify time relative to
1900 and time relative to 2036 (and other multiples of 136 years).
Timestamped data requiring such qualification will be so precious
that appropriate means should be readily available. There will exist
a 200-picosecond interval, henceforth ignored, every 136 years when
the 64-bit field will be zero, which by convention is interpreted as
an invalid timestamp.
SPOILER ALERT: NTP or SNTP will be in use in 2036. But never fear, "appropriate means should be readily available", everybody.

BONUS ALERT: there will be a 200-picosecond window in which every computer in the world will be deeply confused. You have thirteen years to assemble your team. This is a once-in-136-years heist opportunity, people!
posted by phooky at 5:44 PM on February 1, 2023 [20 favorites]


Computers don’t self combust and cease to function if some date thing goes weird.

Unless you're flying a 787 and forgot to reboot it before the 51st day. Seems there was a time rollover problem in there too.
posted by JoeZydeco at 5:47 PM on February 1, 2023 [2 favorites]


I think that if Y2K had gone totally unchecked it would have been quite catastrophic but once the obvious systems were fixed if we hadn't done anything else we'd have ended up with a couple of days of nothing working and then things coming back online. It would have been very inconvenient and people would be putting out metaphorical fires at work for months or years afterwards but things would generally be OK. But I have a lot more faith in how society would react back then as compared to now. Just think of the great blackout in 2003. If that happened now I'd fully expect civil war to break out in the US.
posted by any portmanteau in a storm at 5:56 PM on February 1, 2023


It's not just software that deals with dates. It'll be boring crap like:

Imagine a microcontroller that checks a sensor every 5 seconds. Then because of the rollover + a software bug, instead of delay(5), it runs delay(2^32 + 5), and the system goes unresponsive.

Or some system gets stuck in a reboot loop because the current time is less than the last time recorded in its log file.

These parts of the firmware may not be well tested because (1) it'll always have accurate GPS time, and/therefore (2) testing was hard/expensive with the GPS in the test loop.
posted by ryanrs at 6:06 PM on February 1, 2023 [1 favorite]


Possibly related anecdote:

I opened a bank account with my current bank in 2002.

Sometime around 2004, I was sitting in the bank talking to a banker and got a glimpse of her screen. At the top, with the basic info about me, it said, "Customer since 19102".
posted by Hatashran at 6:13 PM on February 1, 2023 [18 favorites]


Perhaps machines should be prevented from using time or time preventing machines though machines timed should be prevented from timed machines that do not prevent machines timed out with a preventive measure against time machines.

Jruns
posted by clavdivs at 6:14 PM on February 1, 2023 [4 favorites]


Speaking of Y2K, how has history judged this, 23 years on? Was it a catastrophe nearly avoided or hype that never materialized?

Well it became a standard joke in public perception that it was all a big fuss about nothing - because very little of major importance did break, in the end. Of course, that that was because many, many IT people spent literally years of their lives tracking down systems that might have problems, others writing patches, and a *lot* of spending to replace things where fixes were tricky. I was one of them, mostly on in-house business IT systems.

The worst one I know of (from a friend who was involved) was a system in a gas pipeline; basically, automatic shut-off valves attached to sensors (to detect leaks, IIRC) that once it passed Y2K in testing got really confused that it was back in 1900 or so, and basically closed shut for safety; the only way to fix it when triggered was to override it manually at the local valve. Thousands of the damn things the whole length of the pipeline - quite a bit of which was underground - would have snapped shut and stayed that way. No gas for you! So they ended up replacing the controller on every single one affected - it took years.

The worst one I worked on was a payroll system that was a combined hardware/software fault - I didn't ID the issue (I was quite junior back then), but apparently it would just basically be unable to calculate anyone's salary after that, so we had to replace the servers with a newer motherboard/CPU and update the software. There were issues before Y2K itself, where pension systems calculating payouts post 2K started coming up with silly numbers.

So the whole news sensation of mass planes falling out the sky at the stroke of midnight, all computers worldwide dying, cars crashing on the street... yeah, that was bullshit, but there would definitely have been a fair bit of chaos as people came in to work and couldn't login to their computers any more, and logistics chains got fucked up, payroll and banks going a bit wonky etc, and the knock on effects would have gone on for a while. And it was a spectacular nothingburger in the end because lots of smart people worked really hard to prevent it.

Admittedly, a bunch of people did make a load of money consulting about Y2K and selling unnecessary upgrades 'just in case'.

Just like the ozone hole, I do wonder if we have that kind of collective willingness left to tackle these big issues any more, or if the whole political, financial and governance structure of so many countries is just so corrupted by short-termism, corruption, constant lies and conspiracy thinking.
posted by Absolutely No You-Know-What at 6:26 PM on February 1, 2023 [25 favorites]


The same thing will happen in terms of a lot of people getting paid handsomely to patch eldritch code or race to replace systems that can't be patched or worked around with sufficient certainty.

The same thing will probably not happen in terms of selling survival supplies on QVC and other phenomena related to 2000 being a round number with a nominally Biblical apocalyptic flavor.
(Same with the much more niche Mayan calendar kids and their moment in the sun.)

Also, the people who maintain NTP and the root servers and clocks associated with it are basically Timelords and they'll work it out one way or another.
posted by snuffleupagus at 6:31 PM on February 1, 2023 [3 favorites]


Speaking of Y2K, how has history judged this, 23 years on? Was it a catastrophe nearly avoided or hype that never materialized?

Solidly "both". Planes weren't going to fall out of the sky and missiles wouldn't shoot off, but it could have been very inconvenient in many, many ways that were largely avoided.
posted by so fucking future at 6:38 PM on February 1, 2023


I doubt it'll be an issue. Because of Y2K. Yes...we smug Unix folks were laughing at the rest for 'short shortsightedness' about the date issue, but we were all talking about 2038 parallel to 2000.

For one thing, most systems have moved to 64-bit time. So anything reasonably modern (say...since the 2000s) probably isn't going to be affected.

Sure...there will be outliers, mostly embedded stuff and other esoterica. But because we've already been through this, people have a big heads up and generally know where to look and how to fix. And they will have had nearly 40 years to fix things. There will be big headlines about the few failures, but this won't be anything like the threat Y2K was.
posted by kjs3 at 6:54 PM on February 1, 2023


I have no doubt the Timelords who watch the machine elves tickle cesium or whatever will be 100% on top of it. The NTP servers will continue to run perfectly. NTPv4 has this wonderful date packet format that includes a 32-bit era field, so that should hold for the next 584 billion years or so.

Does your thermostat support NTPv4? Are you sure? What about your roomba? Your humidifier? Your ESP32-based whatever with a hacky LWIP stack? Do they know how to handle the era changeover? Did they do it right? Here's a representative statement from the Timelords writing the NTPv4 RFC:
Converting between NTP and system time can be a little messy, and is
beyond the scope of this document. Note that the number of days in
era 0 is one more than the number of days in most other eras, and
this won't happen again until the year 2400 in era 3.
Welp. Good luck, folks.

I've been thinking about this lately because I've recently been implementing an LED clock controlled by a Pico W, and I had to do the NTP timestamp->local time conversion by hand, and ugh, I'm sure there are a hundred hacky implementations just like mine that have a comment that says something along the lines of "DO NOT USE AFTER 2036" and they'll all still be running
posted by phooky at 6:59 PM on February 1, 2023 [7 favorites]


Win32 has a GetTickCount() function that wraps every 49.7 days. Windows CE in debug mode set the counter to rollover 180 seconds after bootup, so you could maybe detect application errors if there were any (this isn't nearly good enough, but it's something)
posted by credulous at 7:27 PM on February 1, 2023 [3 favorites]


Back in 1999, I was working on trading systems. We weren't too worried about our applications, because they handled multiyear contracts, which meant writing future dates into the database regularly. Our back end was Oracle, though, which REALLY likes using 2 digit years. (You can change it to use 4 digit years, but who knows what else that'll break.) IT set up a separate subnet where the computers clocks could be easily messed with. You could test the rollover, and different dates easily. We created an instance of everything in there for testing. We found some bugs, but I don't think we found any Y2K related ones. We also had all of the programmer staff in the office on the first, just in case. Nothing bad happened, and we got a nice bonus for being in the office on a holiday.
Come the second, all hell broke loose. Every trader's spreadsheet was broken, even though they swore up and down that they'd tested them. So we all tromped up to the trading floor, and spent an hour fixing Excel. (How did they break? They all talked to the Oracle DB, which used 2 digit years.)
posted by Spike Glee at 7:38 PM on February 1, 2023 [9 favorites]


There are a lot of databases where some new grad copied some Stack Overflow comment from 2012 and inexplicably chose to store time in a 32-bit integer in the database, even though there's like a type called "DATETIME" right there. It's not the blatantly obsolete Linux or Windows system from 2005 that's gonna have problems.
posted by meowzilla at 7:40 PM on February 1, 2023 [4 favorites]


There have already been issues with mortgage calculators with 20 year loans that have encountered it.
posted by nickggully at 8:02 PM on February 1, 2023 [3 favorites]


Speaking of Y2K, how has history judged this, 23 years on? Was it a catastrophe nearly avoided or hype that never materialized?


So, if you live on the East Coast of the United States, in a city, you might notice that when 911 dispatches an ambulance to a residential call, a fire truck often tags along. Why? Well, partly because of Y2K.

The common elevator is computer controlled, and has been for many decades. The computer has an clock, and one of the uses of that clock has been to enforce regular inspections. The inspector updates the date of the last inspection before leaving to his next site, and the computer does some math to set a deadline. If the deadline is crossed, the elevator goes to the first floor and locks the brake. You can guess where this is going. A particularly boring example of a Y2K bug. No planes falling out of the sky. No Wall Street hotshot losing his big trade because his station crashes.

But imagine every single elevator in New York City locking itself because the inspector shows up on January 22nd 1999, puts in an inspection deadline for January 22nd 2000, and the elevator going into lockdown. If enough of these happen, the EMTs are on notice that their calls are likely to involve the stairs. And if you KNOW that every call is likely to get you seriously winded, it's a good idea to just ask the firefighters to come along and help with patient transport just in case.
posted by ocschwar at 8:09 PM on February 1, 2023 [10 favorites]


Remember Y2K? A similar issue will happen in the year 2038.

No it won't because everyone has spent the last two decades knowing this shit is coming and upgrading every piece of Unix/Linux infrastructure to 64-bit time_t. It's pretty much the year 584 billion problem.


So... pretty much the same as y2k, then?



I opened a bank account with my current bank in 2002.

Sometime around 2004, I was sitting in the bank talking to a banker and got a glimpse of her screen. At the top, with the basic info about me, it said, "Customer since 19102".


Was it January 19th, 2002 by any chance?
posted by Dysk at 8:26 PM on February 1, 2023 [1 favorite]


In the year 2038, disco is comin' back, baby!
posted by biogeo at 8:41 PM on February 1, 2023 [1 favorite]


What about the banking system and COBOL. Has that been modified to deal with this, or is that even possible with such old code?
posted by hippybear at 8:46 PM on February 1, 2023 [1 favorite]


Also,

MetaFilter: an unnecessary hoax perpetuated by a shadowy conspiracy for reasons which are hard to follow.
posted by hippybear at 8:47 PM on February 1, 2023 [8 favorites]


Some clever systems stored the year in a small int, with an epoch of 1900, so when they printed the year, it was "19" + string(year). In such a system, 2002 would be year 102. Displaying it would result in 19102.
posted by Spike Glee at 8:53 PM on February 1, 2023 [8 favorites]


I'm not a real programmer, but if memory serves the problem with COBOL programs was storing dates as two digit numbers (and assuming a prefixed 19), and this has to do with 32bit counter limitations. So if a COBOL program is able to handle 2023 then presumably it can handle 2038. Unless, I suppose, it was fixed by introducing new code that has this problem. But you'd think that would have been anticipated, at that point.
posted by snuffleupagus at 8:55 PM on February 1, 2023 [1 favorite]




To the question about banking, I did some Y2K remediation work on a bank’s internal software.

Not only the COBOL programs used 2 digit dates. The databases, originally designed (probably) in the 70s to early 80s, had 2 digit date fields.

Reorganizing all of the databases to change DATE to a 4 digit field was a Huge Task. Changes to database structure in banking or other “must-work” software is scary and required a lot of planning. There are numerous periods during the year when no changes are permitted to anything in the software stack. Subsequent consulting for a different major bank in the mid 2010s indicated that at least for that bank this practice was still in effect.

Also, adding characters to giant databases requires more storage space. This was on a mainframe and well before the days of terabyte memory devices you can put in your pocket.

The decision was made to use a windowing “temporary solution”, assuming that 2 digit dates from 00 to would be treated/processed as year 2000 or later, and digit dates from +1 to 99 would be year century 1900 dates.

I can assure you that if the fixes had not been made to that software that bank would have been in big, big trouble and conceivably would have closed. Senior operations and software staff were supplied with hotel rooms near the site for 12/31, 1/1, and 1/2 and were on call for those 3 days.

I hope someone has come behind me in the intervening decades and made a proper fix, if that software is still being used.

The comment above about the year 19102 is spot on. I saw it in early testing/hunting for software needing remediation.

posted by Warren Terra at 9:12 PM on February 1, 2023 [2 favorites]


I think that if Y2K had gone totally unchecked it would have been quite catastrophic but once the obvious systems were fixed if we hadn't done anything else we'd have ended up with a couple of days of nothing working and then things coming back online. It would have been very inconvenient and people would be putting out metaphorical fires at work for months or years afterwards but things would generally be OK.

The "metaphorical fires" may have been, in and of themselves, "inconvenient." But I think some Butterfly Effect could make "generally OK" difficult. Some payments might not get processed for a few days. Big deal! But if that payment results in someone losing a job, and can't pay for medicine.

This was the big fear with respect to "obvious systems." How do you fix the big system if a bunch of downstream systems are down? If a bunch of parts need to get a site to get a critical system up, but the shipping carriers aren't working, can you get it up? Scaled across society, it becomes challenging.

Put together: yes, we probably could have gotten through the direct effects through firefighting, but the ripple effects were feared much greater.
posted by MrGuilt at 9:18 PM on February 1, 2023 [2 favorites]


The shitstorm that will happen in 2038 will involve embedded processors whose existence will be completely unknown.

Bladedumber
posted by NoThisIsPatrick at 9:37 PM on February 1, 2023


I'll always treasure SportsCenter's Y2K commercial.


Spoiler
The best part is that society immediately collapses during a simulation.

posted by kirkaracha at 9:41 PM on February 1, 2023 [4 favorites]


I fixed my first one back around 2004 - crypto certs with end dates after 2038 would fail ..... and someone was making CableCards with dates past then
posted by mbo at 10:25 PM on February 1, 2023


Guaranteed this will be a problem because

a) you don’t fix what ain’t broke and it ain’t broke until the rollover occurs.

b) never fix today what you can put off until tomorrow and I’ll explain that later.

c) paying to fix issues today that might affect profits are going to be hard to explain to the money people

d) we’ll get bought out before then so just add another 20% to the stock price and call it a future opportunity.

e) there’s no government incentive to upgrade ahead of time.

f) MAGA or other conspiracies.

Pick one or more reasons or, hell, make up your own.
posted by JustSayNoDawg at 11:16 PM on February 1, 2023 [11 favorites]


Modern, maintained systems won't have the problem. It's the embedded systems that aren't maintained that will have the problem. How many of these systems are there and how important are they? The answer, I suspect, is that nobody knows.
posted by sjswitzer at 11:35 PM on February 1, 2023 [1 favorite]


By 2034 we’ll be using quantum computers anyway. Powered by fusion.
posted by Phanx at 12:36 AM on February 2, 2023


meowzilla: There are a lot of databases where some new grad copied some Stack Overflow comment from 2012 and inexplicably chose to store time in a 32-bit integer in the database, even though there's like a type called "DATETIME" right there. It's not the blatantly obsolete Linux or Windows system from 2005 that's gonna have problems.

Yes. In 2021 this developer noticed a Y2038 problem in some date conversion code in MSDN sample code (and submitted a fix). More interestingly, he followed up by doing a GitHub search to identify active repositories that used the function from the erroneous sample code, and has been attempting to identify and suggest fixes to the maintainers of those repositories.
posted by RichardP at 12:46 AM on February 2, 2023 [7 favorites]


I had a reverse y2k bug happen on a laser tag score printout once - the date of the game was printed as something like 2/13/101. (The system supported more than two digits, but was only given two by the user.)
posted by NMcCoy at 1:03 AM on February 2, 2023


I remember some software (at least LIST.COM) going 98, 99, :0, :1, … so I guess we’re in year <3 now.
posted by you at 1:10 AM on February 2, 2023 [2 favorites]


So John Titor was right?

At least that means we're getting time machines.
posted by Grangousier at 1:50 AM on February 2, 2023


Speaking of Y2K, how has history judged this, 23 years on? Was it a catastrophe nearly avoided or hype that never materialized?

In January 2000 my home PC bios clock started going back to 1994, messing up my file dates. I'm not a real programmer, so it took me two days to diagnose the problem and code up a utility to fix it.

So, multiply two working days by the number of such small problems, and I've always suspected (being even less of an economist than a programmer) that the economic downturn in 2000 (remember the Dotcom bubble bursting?) was partly due to the economic cost of unfixed Y2K problems showing up.

My fix, by the way, was only good through 2006...
posted by bleston hamilton station at 2:32 AM on February 2, 2023


"Customer since 19102".

I built a website for a customer in 1998, and introduced this problem; however by 2000 they had hired a much larger marketing company who took over the website...and never fixed that problem, so for a few years I was cursed to see my mistake but without the ability to remedy it.

On another hand, I write add-ons for a piece of software which stores data internally in a weird way, in that fields identified as a date field, when the field contains a null, returns '1-1-1900 00:00:00' when I attempt to use their API to read the value stored in the field. So, I cannot reasonably tell if the field is empty because it always returns a real date. I opened a bug ticket with the software manufacturer and they replied it was working as intended.

The SQL 1753 date problem -- in that you can't store a date earlier than 1753 in a SQL datetime field -- is also the bane of my existence due to users fat-fingering 0223 for the year.

AND -- in javascript, if you parse the date 1/1/2023 to a datetime, then back to a string, you get 1/1/2023 -- but if you parse 2023-01-01 to a datetime, and back to a string, you get 12/31/2022.

With dates being so important, why are computer so very, very, very bad at it?
posted by AzraelBrown at 7:51 AM on February 2, 2023 [2 favorites]


At least for NTP, the good news is that any system, however embedded, will pipe up and let others know of its existence by asking existing, known systems "anyone know what time it is?" every once in a while. No mystery cables running to closets or hiding out of sight under engine covers. Or, at least, you'll know to *start looking*.
posted by tigrrrlily at 7:59 AM on February 2, 2023 [3 favorites]


With dates being so important, why are computer so very, very, very bad at it?

Because the way we measure and change them is woolly as hell with hacks galore, and globally it changes it little ways pretty much constantly.

For starters - we can't even agree on one universal calendar. There's Gregorian, the Chinese calendar, and the Islamic calendar for just 3 examples. Then you have astronomical time (UT1), SI atomic time and UTC, none of which are in sync - and UTC isn't even measuring a real thing, it's a fudge between the actual rotation of the earth (UT1) - which varies a fair bit - and atomic time, based on decay of caesium atoms. Hence abominations like the leap second to try and keep them vaguely in sync.

And then time zones, which are just a giant heap of exceptions, which seem to have a change *somewhere* - often due to political reasons - multiple times a year.

And let's not even get started on daylight savings time, which is the mother of all 'lets fuck around with the time' list of non standard local tweaks.

Dealing with time and date is a horrible thing to work on, and nobody want to pay for it, so the standard databases are largely the work of a tiny group of volunteers. And there's often controversy.

For example, the timezone database underpins absolutely vast amounts of code that handles date and time on pretty much everything. And for that, you can largely thank one guy - Prof Paul Eggert.

(relevant xkcd)
posted by Absolutely No You-Know-What at 8:37 AM on February 2, 2023 [8 favorites]


Most all of the embedded systems I worked on, engine controllers, did not care about absolute time, so they won't ask anything what time it is. They do care about relative time, like the amount of time since the module was turned on, the time from the last shutdown to the current startup, and in general the time from one event to another while the module is on. This bug won't affect them.
posted by rfs at 9:52 AM on February 2, 2023


COBOL UNIX developers: Surely, no one is going to be using this in 50 years.
posted by tommasz at 9:58 AM on February 2, 2023


I anticipate coming out of retirement in 2038 to help fix some systems. The big core pieces like the Linux kernel will probably be fixed (indeed, many already are). But someone's going to have a 1997 bash script still running and I will be one of the ancient old people who still knows how to use a keyboard and tty to fix it.

The 2036 NTP overflow mentioned above is also likely to be a big deal. But hopefully solvable, folks who build NTP implementations usually are aware of the concept of timekeeping. Part of what made Y2K and 2038 bad is they affected systems that no one thought of as being time-sensitive.

Maybe I'm too optimistic. Last September 17 there was a rollover of Microsemi SyncServers and TimeProviders. These are devices sold with the explicit purpose of providing correct time to a network and they had a rollover. There's also the GPS 1024 week roll over which twice now has caused significant drama.

Wikipedia has a big list of other timekeeping bugs; many are rollovers.
posted by Nelson at 10:30 AM on February 2, 2023 [2 favorites]


My father was involved in managing the Y2K transition at his work, and he said the big win from it all was that it forced government and business to take stock of their IT systems, upgrade them as required, and generally take IT management a lot more seriously.

(I don't mean he thought the Y2K bug wasn't important, just that the longer term benefit was much broader than just fixing that critical bug.)
posted by Pouteria at 11:19 AM on February 2, 2023 [5 favorites]


I have a nagging question about the sliding window approach to handling 2-digit dates. To review: the "solution" is to deem years less than or equal to, say, 30 to begin "20" and those greater to begin "19".

So far so good, but all you've done is to push the problem out. When you near, in this case, 2030 you have the problem back. But since you've "fixed" the y2k problem, are you going to remember decades later that you have to push the window forward? And by "you" I mean the person who replaced you when you got a cool new job. Sounds like a banana peel on the sidewalk.

But it gets worse. When you do push the widow forward it changes the meaning of dates already stored in the database! For instance, most people don't live to 100 but some do. Quite a few live to 70, though, which would put them where their birth year would be on the wrong side of the 30 year window. Such a mess.
posted by sjswitzer at 11:36 AM on February 2, 2023 [2 favorites]


My guess would be that the window was meant to be a one-time reprieve.

(And maybe you would have picked 30 or 40 in expectation of the 32bit issue forcing another upgrade cycle before then anyway.)
posted by snuffleupagus at 12:05 PM on February 2, 2023


tommasz: developers: Surely, no one is going to be using this in 50 years.
oblig recent xkcd
posted by k3ninho at 12:50 PM on February 2, 2023 [1 favorite]


> 19102

So I did a bunch of Y2K stuff for the Australian arm of a large engineering firm and mostly it was just auditing all the printers and discovering that their RTC batteries were dead and they reset their clocks to 1/1/1983 every time the power went off and no-one had noticed yet so no-one would care what day they thought it was on 1/1/2000 either.

The one interesting one was a piece of software which was feeding data to some other system, and it included invoice due dates or something, in the form DDMMYY which was not great but also on 1/1/2000 this would roll over from 311299 to 0101100 ... which doesn't seem like a big deal except this file, despite having commas separating its fields, was read as a fixed column file so the date was now interpreted as 1/1/1910 and all the other fields started with ','.

Thankfully the system which was responsible for picking this file up (from SAP R/2) and sending it to where it was meant to go (some other piece of shit) was a Unix system and so I wrote a tiny piece of Perl 4 to munge the date column back to the width which was expected and hopefully whoever was downstream also updated their software to deal with the year 00. It was a temporary measure, soon to be replaced. It's probably still running.

But I don't know because I got sick of all the hullabaloo and quit to go work for a startup.
posted by nickzoic at 2:24 PM on February 2, 2023 [1 favorite]


Windowing's inherently broken. If you're an institution like a bank with any sort of history, you probably have records on both sides of the window. The same with hospitals. The trading company I was with both had records stretching back to the 1920s, and had 20 year contracts.
posted by Spike Glee at 2:33 PM on February 2, 2023 [3 favorites]


Speaking of Y2K, how has history judged this, 23 years on? Was it a catastrophe nearly avoided or hype that never materialized?
I dealt with the pending Y2K issue twice, because I changed employers late in 1999 and the organisation I joined had decided to ignore it and see what happened.

It seems that most people have decided the whole thing was a hoax, because nothing happened and no amount of trying will convince them that nothing happened because it was taken seriously and dealt with. I see the same thing about COVID - because the country I live in treated it seriously and we now have a mostly vaccinated population, so never saw the horrible consequences that some countries did (and still are), so the conclusion is that it was all a storm in a teacup anyway. The next time something like this rolls around, a part of me hopes that we just ignore it to teach them a lesson.
posted by dg at 2:54 PM on February 2, 2023 [2 favorites]


Speaking as someone in a country where the prevailing approach to impending crises has shifted to "ignore it it's probably nothing" (the US), it doesn't seem like people will actually learn that lesson no matter how bad the experience.
posted by biogeo at 3:21 PM on February 2, 2023 [1 favorite]


a country where the prevailing approach to impending crises has shifted to "ignore it it's probably nothing" (the US)

Remember when the US was proactive? Remember Jonas Salk inventing the polio vaccine and then giving it away to the world? Remember when we used to try to solve problems instead of react to them when it was too late?

That was over 40 years ago, so you may not.
posted by hippybear at 3:39 PM on February 2, 2023 [1 favorite]


That was over 40 years ago, so you may not.

A more recent story than that: Why the ozone hole is on track to be healed by mid-century:

- 1974: Nature publication
- 1985: Measurements published showing faster depletion than previously modeled
- 1986: Antarctic data collected confirms the CFC theory
- 1987: UN Montreal Protocol on Substances that Deplete the Ozone Layer agreed to
- 1988: Senate Ratification votes to ratify the treaty, 83-0 in favor
posted by pwnguin at 4:34 PM on February 2, 2023 [3 favorites]


35 years ago is not much hope for the Today.
posted by hippybear at 4:54 PM on February 2, 2023 [2 favorites]


Based upon say, the recent reaction to the vague possibility of future restrictions on gas stoves, if the ozone crisis had been discovered recently, MAGAhats would be making a point of pride in putting up videos of themselves rupturing fridges any chance they got, while the repubs in congress would be saying things like "it's any real American's God given right to pump as much freon into the air as they want, and anyone that says otherwise is a socialist that just hates our freedoms".
posted by Absolutely No You-Know-What at 5:13 PM on February 2, 2023 [3 favorites]


They would show up at the Capitol with beer hats replaced with hair spray.
posted by pwnguin at 5:33 PM on February 2, 2023 [1 favorite]


Oh, and we did kind of cook up a vaccine for COVID19 really damn fast, despite today's antivaxxers and MAGAhat, a republican president and a republican senate. If your pessimistic argument hinges on Salk not patenting it, consider that his funders tried and their lawyer said na, prior art prevents it. The history here is complex, so I'll cite Slate (2014) for further reading, and just cherry pick their endquote:

At the end of his life, Salk helped found a corporation to develop an HIV vaccine. Although the vaccine eventually failed, Salk’s company moved to patent it in its early days
posted by pwnguin at 6:04 PM on February 2, 2023 [1 favorite]


a country where the prevailing approach to impending crises has shifted to "ignore it it's probably nothing" (the US)
Also Australia. We managed to cure COVID through the incredibly advanced and technically marvelous approach of just not talking about it anymore and hoping it goes away.
posted by dg at 6:10 PM on February 2, 2023 [5 favorites]


You're giving away my Y2K38 retirement plan. (I remember when people made bank working on Y2K).
posted by edwardvielmetti at 10:04 PM on February 2, 2023


Well... still less aggravating than 2048.
posted by not_on_display at 8:41 PM on February 12, 2023


*Hmmf* Ixnay ezsay I-yay -- y2038karl is so dead to me.
posted by y2karl at 2:12 PM on February 14, 2023 [1 favorite]


i didn't know you knew perl karl
posted by cortex at 2:58 PM on February 14, 2023 [2 favorites]


Well... still less aggravating than 2048.
Why would you tempt us with such a henious device? Why?
posted by dg at 4:36 PM on February 14, 2023 [1 favorite]


I'm going to drop a comment here on the off chance this website is still around in 2038 (shush, you don't know) so I can find this comment and confirm that yes, time passes more quickly as the years go on. It's terrifying already. I hope you are doing ok, and aren't alone. Toki and Dexter are only about 8 now. They are happy. (Probably that link won't be working, but who knows!)
posted by Glinn at 4:54 PM on February 14, 2023 [1 favorite]


« Older The Cage Gauge   |   Builder's Remedy: San Fransokyo, Part Deux... Newer »


This thread has been archived and is closed to new comments