Self-pay gas station pumps break across NZ as software can’t handle Leap Day

L4sBot@lemmy.worldmod to Technology@lemmy.world – 206 points –
Self-pay gas station pumps break across NZ as software can’t handle Leap Day
arstechnica.com

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

25

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)

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

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.

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

Someone forgot a case in their test suite.

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.

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.

Did they not have automatic pumps 4 years ago?

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.

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.

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.

1 more...

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!