3 ms·
I've seen a lot of weirdness in datetimes, but this really takes the cake. It's like they couldn't conceive of software running for over 25 years. (Actually, if
by Legogris 7y ago
I've seen a lot of weirdness in datetimes, but this really takes the cake. It's like they couldn't conceive of software running for over 25 years. (Actually, if you're at the "wrong" year when writing the code, it just takes a single year to wreck this)
- bilekas 7y ago> I've seen a lot of weirdness in datetimes, but this really takes the cake. Oh dear, there are far far far worse... Especially when combining timezones into play. I wouldn't wish them on my worse enemy.
- heavenlyblue 7y agoWhat exactly motivates one to use two-digit years instead of four-digit ones inside your application? I mean I understand if that two-digit year is a part of a form input (where the logic makes sense btw). But why would a software developer decide to use two-digit years inside the application? Isn’t that like the first thing you would think about when you’re implementing the format?
- coldpie 7y agoBecause our profession is a joke. Whatever is fastest, cheapest, and easiest is what we do, with no regard given to things like long-term impact or security. We have no standards for code quality or correctness built into any of our tooling and processes. This no less true today than it was 40 years ago. Perhaps the fallout in terms of crashes and ransomware will convince the industry to start adopting quality standards, but I don't have my hopes up.
- dragonwriter 7y ago> What exactly motivates one to use two-digit years instead of four-digit ones inside your application For a lot of very old legacy applications, RAM and data interchange size. For a lot of the Y2K remediation of those apps, not requiring every component that sees a date in a data structure to change, so instead just the date processing pieces consume new library functions that use a sliding rather than fixed interpretation of two digit years or some similar stopgap that allows two digit format to remain. For newer code, well, that's how the developer is used to writing dates by hand and they have a library available that seems to do something reasonable thing with two-digit dates, and, look, he simple unit tests they wrote passed, so it must be okay.
- stan_rogers 7y agoAt the time, storage was still a couple hundred dollars per gigabyte - and that's if you stored only a single instance (no redundancy) and owned the drive. Cluster that up a bit on machines you're renting and allow for backup writing time, and things start to add up. Those costs multiply out pretty quickly as you step back in time - head back to the '80s and you're talking hundreds of thousands, not just hundreds. Saving a couple of bytes here and there made a huge difference - and windowing as a Y2K mitigation could be enormously cheaper than rewriting large chunks of large applications that were built around costs we can barely comprehend, let alone remember dealing with these days. (I speak for myself and my own failing memory here.)
- Ididntdothis 7y agoThere was a time when every byte counted. Unfortunately once that wasn’t true it took lots of developers a long time to adjust their habits.
- ars 7y agoNo, this weirdness makes sense for handling user input, where people type in 2 digit years and the software needs to understand it. It is definitely not intended for internal use of years though!