Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

I guess a charitable interpretation is that the compressor manufacturer set an 'expiry date' to ensure replacement of a vital component.

(but it's probably just shady business.)



Also the wrong way to implement an expiry data, since it'd work fine again when the day goes below 21 or month below 11, even if the year is 2021 or greater - which seems to be what happened if they only noticed it in November 2022 rather than 2021.


It might lead to a fault that appears more realistic - it'll go away for a bit in December before coming back again... if the engineers say the compressor's good but the computer fails it intermittently, that seems like a good point to get the manufacturer involved which is what they wanted to force


Very charitable. The "expiry date" was set to the next servicing date and there was no way for competition to fix this hardcoded date and this was not documented in the official documents. Clearly a way to force buyers to use the "official" service.


Reminds me of those work arounds for share ware in the 2000s,when I you had to say the system time back


Yeah, that's not a component expiry date. This reads more like "fire a warning shot in November, and then fuck the operator over during Christmas". It feels like trying to maximize damage, as 21-31 December is exactly where a huge chunk of population travels to visit their family homes, and many of them do so via trains.


Nah... I just bet that this is some dev, that doesn't know how to deal with dates.

I had a recently "senior" dev give me a SQL query with similar where clause, when asked to query data after Sept 1, 2022 (where moy >= 9 and dom => 1 and year => 2022)


In case anyone is confused, the problem is that dates loop, such that moy=1, dom=1, year=2023 will not match despite being greater than Sept 1, 2022. Technically, then, if you wanted this logic to work you would have to add a second “or” clause that handles the edges missed, e.g. (moy >= 9 AND year = 2022) OR (year > 2022) though you would need a different edge case if your dom wasn’t 1. The easier approach, of course, is to just compare dates or timestamps directly.


What good reason is there for hard coding dates that shutdown trains?


That's when the compressor's going to fail, obviously. ;D


Right. How did that famous adage go? "The best way to predict the future is to invent it."


The best way to predict a crime is to commit it.

(with apologies to Alan Kay who coined the original saying)


Orginally, this train was schedulded to go to depot for maintenance on 21.11.2021, but it broke down a few days earlier and was sent to this bigger maintenance until after New Year. But because of this ifs structure, it stopped out of depot a year later, unintentionally.


broke: the lifespan of this moving part is measured in operational hours

woke: this part will be reported as broken during the last week of november and december, 2022 ONLY.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: