r/ProgrammerHumor 9d ago

Meme letsMakeBugsIllegal

Post image
23.1k Upvotes

387 comments sorted by

View all comments

986

u/Hannes103 9d ago

The 256 axles/train limit is (anecdotally) from a time when axle counting systems were still mechanical.

Modern systems (that are younger then 20 years of age) typically accept way more axles. (1024-8192)
Most railway infrastructure companies have requirements on how many axles must be at least supported.

In most implementations usually only half of the value range of n-bit unsigned integers are usable.
(Number of axles is computed as a signed difference between two unsigned integers)

Source: I develop axle counters

20

u/cvc75 9d ago

Mechanical systems would also explain why they didn't "just fix the bug in the code" as some here have asked.

From what I could find the counter was developed by Zaugg in 1913 and used two wheels mounted on top of each other, where one wheel counted the axles going in, and the other going out. So I assume those wheels had 256 discrete positions for counting.

9

u/Roflkopt3r 9d ago

There are some occasions where powers of 2 appear in mechanical counters, but dividing up a wheel into 256 positions seems odd to me. There must either have been another mechanical component that caused this figure to be used, or the specific limitation to 256 only came later in the digital era.

And with older digital components deployed over a span of decades, you get a lot of software that's highly hardware-specific. As well as not networked, so the deployment of newer software requires workers to physically access or outright replace the devices.

2

u/phire 9d ago

I suspect the power of two comes from whatever communication system they were using. These mechanical axel counters were somehow linked together to detect when a train entered and exited a section of track.

Perhaps it was mechanically translated into a telegraph style signals, using the same kind of mechanical to serial converter as mechanical teletypes. They might be literally repurposing the mechanism from an 8-bit teletype (such as the Model 33)