Conversation

in switzerland you aren't allowed to have a train with exactly 256 axles because of an integer overflow in the axle counting machine

i wish i could fix my software bugs by making it illegal to cause them

6
28
2

the source everyone reports for this PDF is gone, and it's not exactly easy to find swiss train law documentation when you don't even speak german

but here's a current link: https://www.hech.ch/wp-content/uploads/2018/07/I-30111_09122018_Anhoerung.pdf

page 123, section 4.8.4 "Zugbildung"

1
0
0

die züge können keine 256 achsen haben! wie lächerlich!

"gnädige frau, das ist ein mcdonalds."

0
0
0
@lynnesbian that explains why the RISC-V people like trains so much!
0
0
0

@lynnesbian @ireneista every time I’m reminded of this I am again really bothered that they don’t ban all _multiples_ of 256

1
0
0

@lynnesbian we've done that at work
"it does not work"
"dont do it, we just call it unsupported"

0
0
0
Long Text
Show content

@lynnesbian
At first this really sounds ridiculous. But looking at the larger context, it makes absolutely sense.

TL;DR
It's perfectly possible that axle counters designed in the 60th were an additional byte was expensive (and 256 axle trains were unthinkable), installed in the 90th, are still active today.

Longish explanation

As implied the axle counter is a combination of hardware and software. As such it has a long lifetime (40+ years) and as the physical functionality doesn't change, also a long development lifecycle.
Additionally we are not speaking about a single system but 100s of thousands or even million instances. But that's not all, axle counters don't work in isolation. Together with other components like switches, signals, ..., and the control systems, they form a system. As these systems are safety critical, they typically require an approval process before commissioning. And this process needs to be repeated to some extent if you switch out or update components.

That means, it's possibly that there are still active axle counters which were designed in the 60th, were an additional byte was expensive, which were installed in the 90th or early 2000nds still active today.

But it gets even worse. The axle counter communicates the count to other systems.
If the 1 byte axel count is part of an communication protocol, change of even harder

1
1
0

@realn2s
that's fair. working with massive, ancient, piecemeal, hodgepodge systems like this sounds like a nightmare.

then again, it'd probably be worse if all the axle counters were running on a kubernetes cluster that ends up shutting down the swiss train network for two days when someone pushes a non-semver-compatible update to a transitive dependency of one of your transitive dependency's transitive dependencies, which is automatically pulled in by a cron job that runs npm update every 24 hours, which should have been caught by your test environment, but your test environment has been silently failing for the last two months because someone mixed tabs and spaces in the proprietary YAML flavour your custom CI solution uses, which you use because one of the government contractors had the bright idea to introduce control flow into a configuration file in a flagrant violation of greenspun's tenth rule, and you can't restore from backup because your backups consist of a single file called ROOT.TAR.GZ that, rather than containing a functional backup, consists only of the text bash: gizp: command not found that you are paying amazon S3 $8,000 per annum in egress charges to host

0
0
0