perfect software engineering. no notes.
112 comments
@c0debabe @0xabad1dea And I get told I'm "overthinking it" when I try to avoid shit like this... @outadoc @0xabad1dea in a way I think they did the sensible thing: provide the workaround. The majority of users don't care about the reason, they just want to run their game. @saua @outadoc @0xabad1dea But something will break and somebody will start to cry when some code will want to check digital certificates with the wrong date. @0xabad1dea the real end of technology wasn't y2k, it won't be 2038, but it might be leap years also i wonder if they fucked up with this, how do they handle japanese dates @hellpie @0xabad1dea We had some industrial equipment that sort of shit itself when transitioning from 2019 to 2020. It went from December 31st 2019 to January 1st 34210 or something batshit like that. @DeltaWye @hellpie @0xabad1dea I've programmed code in 1993 that assumed that '31.12.19' means '31.12.2019' and '01.01.20' means '01.01.1920'. I'm still using that program and had to change the sourcecode in 2020. @DeltaWye @hellpie @0xabad1dea Original programmer in 1970: "nobody will be alive in 2020..." @DeltaWye @hellpie @0xabad1dea Yes, this is how some developers "fixed" the Y2K bugs that were given them to fix. Kick it down the road 20 years, and if anybody's still using the equipment it'll be somebody else's problem to fix. @hellpie @0xabad1dea Japanese date format is almost certainly something that they have a solution for-you *could* just indicate the difference in the U.I., but store the date format the same way internally. @hellpie @0xabad1dea ...which is to say that Spring Forward and Fall Back DST checks (And the related differences with regards to which countries and time zones switch on DST and when, and which direction.) is my bet on what is likely to be the next thing that trips until they can fix it after a hotfix of just manually changing the time. @0xabad1dea similar vibe to seeing a number and going, "I haven't been keeping track really but now that I think about it, yeah, that IS the number of days that have passed since 12/31/1969" @thompsonize, you do realise that that “12/31” implies that 1969 was extended by at least 19 months… @lp0_on_fire You do realize that part is in quotes, ie something I'm thinking to myself with my american-made brain... I'm kidding but also, perfect example of why soft skills matter. @0xabad1dea to quote that awful manager I used to have: "programming is just a bunch of IFs." They just missed a few here. The fun part with that manager is that they apparently didn't understand what they were saying. So you have 10 ifs... that means 1024 paths through that piece of code... all which have to be considered and tested. With 20 ifs it's 1048576 paths. "Yes, I hold a system of several billion states in my head while coding. What do you, manager person, do all day?" @wakame @krnlg @hotkey "Dr. Strange's job of 'Looking ahead in Infinity War to find the specific set of battle decisions they had to take to get to the one universe where they beat Thanos' is basically what I do all day, every day, without a Time Stone. Can I get paid at *least* a Dr. Strange's level of salary if you're correct that this is what you're saying about programming being a series of if statements?" @wakame @krnlg @hotkey "Pay me more than Dr. Strange, and I will leave comments in my code where 'Tony Stark has to survive so that he solves our universe's version of time travel and then proceeds to steal the Infinity Stones from Thanos after Thanos stole them from an Infinity Gauntlet, that he made to bring people back, so that Iron Man can snap Thanos out of existence.'. For an yearly bonus, I'll add that Thor should 'Aim for the head.'" @DocBohn @0xabad1dea Much of that is covered in the follow-up post I think? https://infiniteundo.com/post/25509354022/more-falsehoods-programmers-believe-about-time @silmaril @0xabad1dea @0xabad1dea @0xabad1dea if the first rule of secure development is "never roll your own crypto," can we make the second one "never roll your own date handler?" @argv_minus_one @mav @0xabad1dea We're still in the "fuck around" phase. The list will be complete by the end of the "find out" phase! @0xabad1dea I feel like this was a less noticeable problem in the previous leap year. Has code quality taken such a dive in that time? @DefectiveWings @0xabad1dea if it were that old, they would have encountered that problem multiple times already no, they did rewrite that function every friggin time - and every version is slightly broken, but in a different way than the next one. @0xabad1dea Yet EA had no technical issue with announcing they were laying off 5% of their staff even though it's February 29. @0xabad1dea ...only 14 more years until the 2038 Epochalypse, for tons of more fun like this! 😱 @andrs@social.linux.pizza @0xabad1dea@infosec.exchange lol how dod you know i used to use manjaro @0xabad1dea we had an application on our mainframe abend because of the leap year. Programmer's solution? Wait until tomorrow. I've deduced I'm going to have to bite the bullet and learn COBOL on my own to convince my manager to let me fix things myself. @0xabad1dea forgot what day it was and thought it was gonna be "turn back your clock to before the SSL cert expired". This is SO much better. @0xabad1dea AHAAHAHAH oh I love those "We didn't have time to use a real date-time-calendar library" bugs I might be suffering the same bug. Guess I've gotta go home, nap, and reset tomorrow morning. Don't fly today. If you think you may be living in a simulation, adjust your calendar before leaving the house.If there is no universe outside your house, remain indoors. @0xabad1dea people who are born on the 29th of Feb are gonna love it! /s @0xabad1dea I'm pretty sure it won't be fixed or investigated for another 4 years. Not the first maintenance mode message I saw today. "Please come back tomorrow" apparently seems to be easier than fixing a date picker 🤔 @0xabad1dea I long for the days when the worst February 29th bug was Lotus 1-2-3 thinking 1900 was a leap year. @0xabad1dea This happens when a company appeases shareholders and deliver bananas instead of working software. @0xabad1dea It is a leap year, no one could have foreseen that. It will probably fix itself in a day anyway. @0xabad1dea Oh, I've got a note, and it reads HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA gasp HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA HA @madcoder @0xabad1dea you joke, but… https://pandaily.com/hesai-technology-addresses-lidar-products-bug/ "It is expected that the problem will be completely resolved within 24 hours." @0xabad1dea Most of the time folks think about day 29 but rarely do they consider day 366 :( https://github.com/microsoft/cpprestsdk/pull/1550 @0xabad1des So that is the #4 report of a system/item/infrastructure not understanding leap years so far. How does this happen?! How do system designers not know about leap years?! @0xabad1dea isn't leap years one of the first programming examples every programmer has to learn? |
@0xabad1dea
gold star