I love hitting these things in the real world. Not the big, but the comment. You just know someone spent a fortune in time and company resources to never solve the problem and their frustration level was ragequit. But then something stupid like adding
while (0){};
Suddenly made it work and they were like, fuckit.
Usually it’s a bug somewhere in a compiler trying to over optimize or something and putting the line in there caused the optimization not to happen or something. Black magic.
The downside is that the compiler bug probably gets fixed, and then decades later the comment and line are still there…
The real world case I remember also included a TODO to return and fix the code later. In a published scientific software.
I wonder how many paper were messed up by this buggy software. As I looked at the code due to the amount of bugs I encountered.
It’s been many years from publication, and to the surprise of no one, they did not return to fix it.
The digital manifestation of the ghost in the machine. It likes playing with the bits that line occupies when you aren’t looking. Don’t touch its line.
// This line does nothing, however removing it causes production to crash. DO NOT REMOVE
I love hitting these things in the real world. Not the big, but the comment. You just know someone spent a fortune in time and company resources to never solve the problem and their frustration level was ragequit. But then something stupid like adding
while (0){};
Suddenly made it work and they were like, fuckit.
Usually it’s a bug somewhere in a compiler trying to over optimize or something and putting the line in there caused the optimization not to happen or something. Black magic.
The downside is that the compiler bug probably gets fixed, and then decades later the comment and line are still there…
The real world case I remember also included a TODO to return and fix the code later. In a published scientific software. I wonder how many paper were messed up by this buggy software. As I looked at the code due to the amount of bugs I encountered.
It’s been many years from publication, and to the surprise of no one, they did not return to fix it.
And then the compiler updates to get better at spotting optimization opportunities and it blows up again
I used to work on an old DOS product and we didn’t have a debugger so we used to have a DEBUG command line argument with
if (DEBUG) printf(“debugging”);
to try to see what was happening and the number of times that code alone fixed the problem was scary.
I mean . . . I still do this on my own stuff. If I’m interested in optimizing for speed I’ll do it as #ifdef instead of if ()
The digital manifestation of the ghost in the machine. It likes playing with the bits that line occupies when you aren’t looking. Don’t touch its line.