this post was submitted on 17 Mar 2024
80 points (95.5% liked)

Science Memes

11205 readers
1924 users here now

Welcome to c/science_memes @ Mander.xyz!

A place for majestic STEMLORD peacocking, as well as memes about the realities of working in a lab.



Rules

  1. Don't throw mud. Behave like an intellectual and remember the human.
  2. Keep it rooted (on topic).
  3. No spam.
  4. Infographics welcome, get schooled.

This is a science community. We use the Dawkins definition of meme.



Research Committee

Other Mander Communities

Science and Research

Biology and Life Sciences

Physical Sciences

Humanities and Social Sciences

Practical and Applied Sciences

Memes

Miscellaneous

founded 2 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 1 points 8 months ago (1 children)

Yes, most administrative programs, think hospitals, municipal, etc had a year set only in 2 digits. Yesterdays timestamp will read as 99 years in the future, since the year is 00. Imagine every todo item of the last 20 odd years suddenly being pushed onto your todo list. Timers set to take place every x time can't check when last something happend. Time critical nuclear safety mechanisms, computers getting stuck due to data overload, everything needed to be looked at to determine risk.

So you take all the dates, add size to store additional data, add 1900 to the years and you are set. In principle a very straight forward fix, but it takes time to properly implement. Because everyone was made aware of the potential issue IT professionals could more easily lobby for the time and funds to make the necessary changes before things went awry.

[–] [email protected] 1 points 8 months ago (2 children)

That's fuckin wild and seems like a massive oversight.

Did they just not expect us all to live that long or did they just not think of it at all?

[–] [email protected] 1 points 8 months ago (1 children)

Depends on the "they"...

But generally, back in the day data storage, memory and processing power were expensive. Multiple factors more expensive than they are now. Storing a year with two digits instead of four was a saving worth making. Over time, some people just kept doing what they had been doing. Some people just learned from mentors to do it that way, and kept doing it.

It was somewhat expected that systems would improve and over time that saving wouldn't be needed. Which was true. By the year 2000 "modern" systems didn't need to make that saving. But there was a lot of old code and systems that were still running just fine, that hadn't been updated to modern code/hardware. it became a bit of a rush job at the end to make the same upgrade.

There is a similar issue coming up in the year 2038. A lot of computing platforms store dates as the number of seconds since the beginning of 1970-01-01 UTC. As I type this comment there have been 1,710,757,161 seconds since that date. It's a simple way to store time/date in a way that can be converted back to a human readable format quite easily. I've written a lot of code which does exactly this. I've also written lot of code and data storage systems that store this number as a 32bit integer. Without drilling down into what that means, the limit of that data storage type will be a count of 4,294,967,296. That means at 2038-01-19 03:14:07 UTC, some of my old code will break, because it wont be able to properly store the dates.

I no longer work for that employer, I no longer maintain that code. Back when I wrote that code, a 32bit integer made sense. If I wrote new code now, I would use a different data type that would last longer. If my old code is still in use then someone is going to have to update it. Because of the way business, software and humans work. I don't expect anyone will patch that code until sometime around the year 2037.

[–] [email protected] 1 points 8 months ago

Without drilling down into what that means, the limit of that data storage type will be a count of 4,294,967,296.

A little nitpick: the count at that time will be 2,147,483,647. time_t is usually a signed integer.

[–] [email protected] 1 points 8 months ago

Yeah I would imagine poor/lazy planning or they either thought their tools would be replaced by then and/or that computers were just a fad so there's no way they'd be used in the year 2000.