this post was submitted on 01 Mar 2024
306 points (98.4% liked)

Technology

59593 readers
6512 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
 

Self-pay gas station pumps break across NZ as software can’t handle Leap Day::"We'll add it to our Outlook reminders..."

all 27 comments
sorted by: hot top controversial new old
[–] [email protected] 55 points 8 months ago (2 children)

It was millennia ago when I first read "don't ship your own date/time library". Guess these fellas somehow missed it.

(I did this thing a while ago, but hopefully it doesn't count since it's a joke library)

[–] fenwickrysen 34 points 8 months ago (2 children)

A decade ago Tom Scott was recorded for Computerphile with this hilarious an enlightening cautionary tale. Never, ever, write your own calendar code.

https://youtu.be/-5wpm-gesOY

[–] eattext 4 points 8 months ago

That was excellent, thank you.

[–] [email protected] 1 points 8 months ago

Here is an alternative Piped link(s):

https://piped.video/-5wpm-gesOY

Piped is a privacy-respecting open-source alternative frontend to YouTube.

I'm open-source; check me out at GitHub.

[–] LazaroFilm 4 points 8 months ago (1 children)

Does your September library break on leap Septembers?

[–] [email protected] 3 points 8 months ago

I honestly have no idea, it's been a while since I wrote it.

[–] Randelung 37 points 8 months ago

And THAT'S why you don't roll your own datetime class/column format. It's a solved problem, people!

[–] Kyrgizion 37 points 8 months ago

Hahah, this reminds me of that time (long ago) when a very old version of our software would also simply crash when attempting to use it on a leap day. When customers called in, all we could do was tell them to wait until tomorrow, and that the problem wouldn't return for at least another four years.

[–] [email protected] 27 points 8 months ago (1 children)
[–] finnie 10 points 8 months ago
[–] [email protected] 17 points 8 months ago (1 children)

Someone forgot a case in their test suite.

[–] BrianTheeBiscuiteer 33 points 8 months ago (1 children)

I can't imagine what logic would've hinged on February having 28 days. It's not like 29 exceeds some maximum value for days in a month. Probably someone thought it was a good idea to write their own date-time library.

[–] [email protected] 5 points 8 months ago

Next = (year+1, month, day)

[–] [email protected] 16 points 8 months ago (1 children)

Days you should book off as a developer:

Feb 29th. Clocks go forward day. Clocks go back day.

If you've done anything with dates or scheduling, these days will fuck it.

[–] [email protected] 3 points 8 months ago

Jokes on you if you wrote the timeoff system

[–] Tolstoshev 11 points 8 months ago (2 children)

Did they not have automatic pumps 4 years ago?

[–] [email protected] 13 points 8 months ago (2 children)

This was one company, with only their NZ code affected. It'd be astonishing if all the pumps in NZ were still using the same code as four years ago. And not at all astonishing that coders are still making careless errors to do with dates.

[–] Epzillon 5 points 8 months ago

As a new programmer who actively treads carefully in date-data-dabbling territories it is amusing to see how shit commercially available code is, especially in the e-commerce world.

I started my first programming job 2 years ago working with building Magento 2 sites. I already knew Magento was a horrible mess to begin with, but I took whatever I could get. After witnessing the publishers, developers and code of 99% of the plugins available (which is btw quality certified on Adobes marketplace) I can safely say that there is so much shit code squirted out every second be self-taught developers working in shitty small companies with CEOs trying to earn a quick buck.

It is actually insane how bad the code was, I can not with words describe how bad it was. Every time I felt impostor syndrome i would just open up vendor and look at a random plugin to confirm that I am at least not a Magento plugin developer.

If you're running Magento, change, preferably 10 years ago, but change.

[–] [email protected] 4 points 8 months ago

It’d be astonishing if all the pumps in NZ were still using the same code as four years ago.

You put far too much confidence in software teams.

[–] [email protected] 8 points 8 months ago (1 children)
[–] [email protected] 13 points 8 months ago
[–] [email protected] 5 points 8 months ago

That's one ticket they won't need to mark as urgent

[–] [email protected] 4 points 8 months ago
[–] [email protected] 2 points 8 months ago

The same happened at a grocery chain in my country. Not all of their stores stopped working but a lot of them.

The pay new terminals apparently didn't like leap days.

You could apparently still pay by app at the stores that supported it though.

[–] eager_eagle 2 points 8 months ago
[–] [email protected] 1 points 8 months ago

This is the best summary I could come up with:


The outage affected suppliers, including Allied Petroleum, BP, Gull, Waitomo, and Z Energy, and has reportedly been fixed.

The gas pump breakdown sent stakeholders into a frenzy as they tried to resolve the problem caused by software being unequipped to process the bonus day.

John Scott, the CEO of Invenco Group, the provider of the self-payment terminals that malfunctioned, confirmed to Reuters that a "leap year glitch" caused the problem.

Worldline claimed that all non-Invenco terminals using its technology continued to work during the outage, per Otago Daily Times.

While some gas stations were still able to accept other forms of payments, those that relied on the broken terminals found themselves missing out on business.

As the companies involved work to issue apologies—and, in some cases, discounts—to make up for the inconvenience, there's hope that the scale and embarrassment associated with the outage will help prevent similar events.


The original article contains 410 words, the summary contains 148 words. Saved 64%. I'm a bot and I'm open source!