this post was submitted on 17 Mar 2024
2742 points (99.2% liked)
Science Memes
11130 readers
2633 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
- Don't throw mud. Behave like an intellectual and remember the human.
- Keep it rooted (on topic).
- No spam.
- 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
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- !reptiles and [email protected]
Physical Sciences
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
- [email protected]
Humanities and Social Sciences
Practical and Applied Sciences
- !exercise-and [email protected]
- [email protected]
- !self [email protected]
- [email protected]
- [email protected]
- [email protected]
Memes
Miscellaneous
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
You're saying "imagine" a lot there.
Were there concrete examples of critical software that actually would've failed? At the time I remember there was one consultant that was on the news constantly saying everything from elevators to microwaves would fail on Y2K. Of course this was creating a lot of business for his company.
When you think about it storing a date with 6 bytes would take more space than using Unix time which would give both time and date in four bytes. Y2K38 is the real problem. Y2K was a problem with software written by poor devs that were trying to save disk space by actually using more disk space than needed.
And sure a lot of of software needed to be tested to be sure someone didn't do something stupid. But a lot of it was indeed an exaggeration. You have to reset the time on your microwave after a power outage but not the date, common sense tells you your microwave doesn't care about the year. And when a reporter actually followed up with the elevator companies, it was the same deal. Most software simply doesn't just fail when it's run in an unexpected year.
If someone wrote a time critical safety mechanism for a nuclear reactor that involved parsing a janky homebrew time format from a string then there's some serious problems in that software way beyond Y2K.
The instances of the Y2K bug I saw in the wild, the software still worked, it just displayed the date wrong.
Y2K38 is the real scary problem because people that don't understand binary numbers don't understand it at all. And even a lot of people in the technology field think it's not a problem because "computers are 64 bit now." Don't matter how many bits the processor has, it's only the size that's compiled and stored that counts. And unlike some janky parsed string format, unix time is a format I could see systems at power plants actually using.
Some of the software at my employer at the time, would have failed. In particular, I fixed some currency trading software
This comes to mind:
You don’t store dates as Unix time. Unix timestamps indicate a specific point in time. Dates are not a specific point in time.
You also don't store dates in a string that you'll have to parse later. I've had to deal with MM-DD-YYYY vs. DD-MM-YYYY problems more times than I can count.
And you understand that you could have a date in unix time and leave the time to be midnight, right? You'd end up with an integer that you could sort without having to parse every goddamn string first.
And for God's sake if you insist on using strings for dates at the very least go with something like YYYY-MM-DD. Someone else may someday have to deal with your shit code, at the very least make the strings sortable FFS.