an entire section on race conditions I see
Ahh, the C pointer debugging section.
There are perfectly good reasons to sacrifice a goat to your USB drivers. Don’t let Reddit Atheists tell you otherwise.
Undefined Phenomena
fify
oooo cake 🎂
“Oh come on, why the fuck, there’s no possible reason this code should-- wrong variable.”
Mmm yes. Unexplained issues that have a single mention in StackOverflow five years ago, have a single reply by the author just saying “nvm I figured it out” and doesn’t explain the resolution.
Or marked as duplicate and closed but when you click the duplicate it’s a different issue.
And there’s a comment after closure, also from a decade ago, mentioning that this should not have been closed as a duplicate.
I’ve found that that comic alone has reduced the instances of this sort of thing happening. Not completely, of course, but when people figure it out, they seem much more likely to post the solution. Randall may have single-handedly improved the Internet a few points with that one comic.
// 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.
arbitrary npm package:
- last updated 4 years ago
- sole developer legit dead and buried
- 47 dependencies
- 608 critical vulnerabilities
- condemned by the United Nations
Still has 7 million weekly downloads
Please mark this as NSFL.
Seriously, who the fuck starts a conversation like this, I just sat down!!
Like the horror of this code is wrong but the program works.
I have too many comments reading “… how did this ever work?”
Doesn’t work anymore. It stops working as soon as you notice the code has always been wrong.
Schrodinger’s Bug
Universe: whoops let me fix that.