Email or username:

Password:

Forgot your password?
112 comments
bapt :smug:

@0xabad1dea I like how they don't directly acknowledge it's a leap year issue

saua

@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.

alfora

@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.
😉

Bill

@0xabad1dea Date math. It's not just for breakfast anymore.

HellPie

@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

Delta Wye

@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.

Bernd Herd

@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.

Dan Neuman

@DeltaWye @hellpie @0xabad1dea Original programmer in 1970: "nobody will be alive in 2020..."

Clifton Royston

@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.

Alexander The 1st

@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.
That,and you can test it on any given day much easier.Leap years you have to check for specific years it's being set for (Generally) every four years, that sounds like the easy check...except for the exceptions when within 4 years it's not a leap year.
It's a harder version of DST checking...

Alexander The 1st

@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.

thompsonize

@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

@luana @0xabad1dea I'm american, and so is the brain that was thinking about the date.

lp0 on fire :unverified:

@thompsonize, you do realise that that “12/31” implies that 1969 was extended by at least 19 months…

thompsonize

@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.

hotkey (Zoé)

@0xabad1dea to quote that awful manager I used to have: "programming is just a bunch of IFs."

They just missed a few here.

@malcircuit

Josh

@hotkey Imagine if it *was* a bunch of IFs. It would be so gd difficult 😳

wakame

@krnlg @hotkey

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?"

Alexander The 1st

@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?"

Alexander The 1st

@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.'"

Dan Neuman

@krnlg @hotkey And GOTOs. Or your code would be billions of lines long to handle repetitions.

Josh

@dan613 That's what we have reset buttons for - to start again 🙂

Joël de Bruijn
@0xabad1dea
Don't roll your own leap year but at least roll something.... 🤪
Chris Bohn

@0xabad1dea Let's roll our own Date library. What could possibly go rwong?

Cal Alaera

@0xabad1dea I predict this bug will be mysteriously fixed tomorrow morning

Chris Bohn

@Mossop @0xabad1dea If I may add to the falsehoods:

1. DST doesn't exist
2. DST always exists
3. The dates that DST changes happen are the same everywhere
4. The dates that DST changes don't change
5. A person lives and works in the same time zone
6. A person's house is in a single time zone
7. A stationary object doesn't change timezones

I'm going to throw this one in just for good measure (though, to be fair, the story that goes with it wasn't about a programmer):
2.5: UTC experiences DST if the locale experiences DST.

@Mossop @0xabad1dea If I may add to the falsehoods:

1. DST doesn't exist
2. DST always exists
3. The dates that DST changes happen are the same everywhere
4. The dates that DST changes don't change
5. A person lives and works in the same time zone
6. A person's house is in a single time zone
7. A stationary object doesn't change timezones

silmaril

@0xabad1dea
If only there were libraries for date calculations that programmers could use!

Dick Telder

@silmaril @0xabad1dea
yeah, I tried Python today.
(No, I have not dug deeper into what went wrong)

silmaril

@dtelder @0xabad1dea

This is a programming error. The library behaves exactly as documented:
docs.python.org/3/library/date

"For the datetime.strptime() class method, the default value is 1900-01-01T00:00:00.000: any components not specified in the format string will be pulled from the default value."

If you want your software to handle leap years correctly, you have to give it a chance to know which year we are talking about 😉

@dtelder @0xabad1dea

This is a programming error. The library behaves exactly as documented:
docs.python.org/3/library/date

"For the datetime.strptime() class method, the default value is 1900-01-01T00:00:00.000: any components not specified in the format string will be pulled from the default value."

silmaril

@dtelder
You're welcome!
Because you successfully triggered my curiosity 😁

@0xabad1dea

phi1997

@0xabad1dea
* Releases games with a leap year in the title
* Does not check if they work on leap day

mav :happy_blob:

@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

I wonder if there's a big list of rules like those.

Samantaz Fox

@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!

MeerderWörter

@0xabad1dea Hahahaha, hat da jemand vergessen dass 2024 ein Schaltjahr is?

Tom Walker

@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?

Cegorach

@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.

The Other Brook

@0xabad1dea Yet EA had no technical issue with announcing they were laying off 5% of their staff even though it's February 29.

Karsten Schmidt

@0xabad1dea ...only 14 more years until the 2038 Epochalypse, for tons of more fun like this! 😱

Lumina Basu

@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.

Christmas Tree

@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.

jonathankoren

@0xabad1dea
✋🏿Eliminating leap seconds
👉🏿Eliminating leap days

Steady State Sounds (Brian)

@0xabad1dea AHAAHAHAH oh I love those "We didn't have time to use a real date-time-calendar library" bugs

Carson Hill

@0xabad1dea

I might be suffering the same bug. Guess I've gotta go home, nap, and reset tomorrow morning.

Andrew Lilley Brinker

@0xabad1dea EA said "do not let your console observe the illegal day"

Tech Chap

@0xabad1dea wow, what were the odds of that happening maybe 1 in 1460?

GLC

@0xabad1dea

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.

NekoMimi

@0xabad1dea people who are born on the 29th of Feb are gonna love it! /s
Edit/More stuff: I just wanted to add that the first thing we were taught when we learned java in uni was date validation especially for leap years, iirc it was year%5 == 0 I think
But I like to think that the code was all if statements or perhaps a huge switch with tens of cases, and that's why you always use libraries and never do things yourself, but I'll fricking do it anyways kekw :btr_bocchi_panic:

feld
@0xabad1dea but won't that break anything your console needs TLS for?
Chris 👾

@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 🤔

Dr. D'nar

@0xabad1dea I long for the days when the worst February 29th bug was Lotus 1-2-3 thinking 1900 was a leap year.

/dev/urandom

@0xabad1dea it's called a leap day because you're supposed to manually leap over it

_L4NyrlfL1I0

@0xabad1dea wait... this is a leap year thing, is it?

canleaf08 ⌘ ✅

@0xabad1dea This happens when a company appeases shareholders and deliver bananas instead of working software.

SQLAllFather

@0xabad1dea

"This is currently being investigated"

🤣 🤣 🤣 🤣 🤣

railmeat

@0xabad1dea It is a leap year, no one could have foreseen that. It will probably fix itself in a day anyway.

Patrick Johanneson 🚀

@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

C.Suthorn :prn:

@0xabad1dea

All japanese made Software will cease to work when the Zenno dies.

Pierre H.

@0xabad1dea @siguza "we will have a patch ready tomorrow” would have been way more fun

colen

@madcoder @0xabad1dea you joke, but… pandaily.com/hesai-technology- "It is expected that the problem will be completely resolved within 24 hours."

Billy O'Neal

@0xabad1dea Most of the time folks think about day 29 but rarely do they consider day 366 :( github.com/microsoft/cpprestsd

Simon Zerafa :donor: :verified:

@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?!

pavo

@0xabad1dea from here on out i would like to propose birdcite

CaptainMalu

@0xabad1dea isn't leap years one of the first programming examples every programmer has to learn?

Go Up