Happy Test Your Leap Year Handling In Production Day to all the software that was written in the last 1460 days.
@futzle pfft I did a manual prod release on top of that today. Nothin' will go wrong in the overnight runs........no sir-ee
@futzle man, I hope no one changes the time zone layout of their country while we’re all dealing with that, that would be so annoying
@halcy @futzle Kazakhstan...
Daylight Saving Time 2024 in Kazakhstan

When do the clocks spring forward or fall back in Kazakhstan? Daylight Saving Time for 2024 and other years.

@futzle Oh. My. Glob. That is diabolical.
@futzle @kw217 @halcy
Kirk (yelling): Kazakhstaaaaaan
@futzle lol, today the "Memories" page on my website is displaying everything from the 28th instead of the 29th.
@futzle Actually, I just did some more poking and the stuff that's coming up from the 28th is what's being pulled from my Wordpress blog and from Flickr, not my own code! That photo I posted of Beanie earlier shows correctly as being today, but the externally-sourced stuff is wrong.
@futzle What could possibly go wrong?! 🤞
@futzle fuck off, my code survived Y2K and earned me the easiest 40 hours of overtime I ever knew.
@futzle Fixed a leap year parsing bug in some of our newer software just yesterday. Feeling seen.
@futzle Days Since Last DateTime Issue: -1
@futzle i fixed a test today that hard coded the number of seconds per year
@futzle The largest grocery store chain in Sweden, Ica, can't handle card payments today because the software doesn't handle leap days.
@violanders @futzle It is a leap year, no could have expected that.
@violanders @futzle …because it was never tested, to protect against the fundamentally simplistic and frighteningly stunted world view of computer programmers who fell into their jobs still thinking with all the maturity of school children that to move past some immediate problem “all you have to do is…” or “simply do…” or “that’s easy, just…” and you’ll never have to return to this problem again because they spent 15 seconds thinking the whole scenario through and did the first thing they thought of
@violanders @futzle ditto some EFTPOS terminals in New Zealand - self service petrol station ones I believe.
@violanders @futzle Does that mean the stuff I just bought using a credit card in my local ICA will be free? If only I'd known, I would have bought the extortionately priced olive oil I actually went in for.
@Janeishly @futzle I think they have fixed it now.
@futzle I couldn't schedule a dentist's appointment today, need to call again tomorrow.

@futzle This was from a UK rail service operator yesterday:

https://mastodon.online/@keefmarshall/112009469098993395

I mean.. it *might* not be related to the date. Might not.

keef (@[email protected])

Attached: 1 image Tell me your system can't handle leap years without telling me your system can't handle leap years...

Mastodon

@futzle I'm actually testing software today. I couldn't have planned it better.

#LeapYear

@futzle Ours already failed…
@futzle Just spent some time this morning fixing "ValueError: day is out of range for month"
Andrew Feeney (@[email protected])

Is the test failing because it's a leap day? #ObliqueDebuggingStrategies

PHP Community on Mastodon
@andrewfeeney @futzle The best thing was that I even fixed a similar date math issue yesterday but didn't audit the code base to see what would fail today. :)
@spi @futzle The test I fixed chose an arbitrary future date using the hardcoded year 3000 and today’s date. It would have been fine if 3000 was a leap year, which it appears to be at first glance being divisible by 4 but is not because it’s divisible by 100 but not 400.

@spi @futzle Nobody's life depends on this code, and the idea that it will still be running in almost 1000 years is laughable, but this got me wondering.

What terrifying date-based bugs are lurking in code which lives depend on, that's running beyond the careers (or lifespans) of the original developers?

"This will break in 50 years, but they'll have rewritten this by then."

There's obvious ones like unix epoch stuff etc, but there must be so many more individual cases.

@andrewfeeney @futzle My fix was in product code, it was calculating a 3 year processing window but didn't account for leap years.

It does make one ponder about really horrible date-based bugs that are lurking, I can only hope that such systems have more extensive testing.