Is there a term for this?

A really common time-wasting debugging scenario follows this pattern:

  • programmer is working with a new technology or new technique that is somewhat mysterious to them
  • something (something simple) goes wrong that has nothing to do with the new tech
  • programmer assumes the error is in the “mysterious” code part and spends many hours on a wild goose chase

Is there a term for this? It seems to me it deserves a name of its own, if there isn’t one already.

Inexperience (with specific new domain)?

At least quite related is the term XY Problem.

Don’t know about a term for it but those times can sometimes be really good ways to demystify the new tech. As in “I’m damn sure I’m using this right cos I just read the manual cover to cover”!

@BurntPizza, Yes, very similar to XY Problem. That is a good post you linked.

@richierich, Yes, the situation often does lead to learning more about the new tech. But sometimes that is NOT such a good thing. There are a limited number of hours in a day and a seemingly infinite amount of useful tech it would be nice to know about. One would like to prioritize, and maybe leave a few things here and there as “black boxes”.

The situation I’m describing is almost the opposite of the drunk that loses his keys scenario. In this case, the keys are dropped near the lamppost, but the drunk spends hours looking around in the dark, because that’s where it is easiest to lose things.

My most recent run-in with this (where I had committed the bug) involved my first use of a ConcurrentSkipListSet, where I discovered it was occasionally “misbehaving.” I even went to the Concurrency-Interest group to get help. Turned out I had simply made a mistake in writing the Compare function (implementing Comparable) which had nothing to do with the ConcurrentSkipListSet. Very embarrassing.

But I often see problems that others present that are kind of similar in form.

Not sure what one could do to try to catch this when it is happening.

A general term would be “misattribution”, but if you want to give it a more specific name, we can start calling it “the philfrei fallacy”, haha.

We’ve all been there. Just the other day I spent hours debugging a bunch of OpenCV logic just to realize that I was setting one of my variables wrong. Doh.

But at least with the phillfrei fallacy, the person is still actively searching for the cause of the problem. I’ve also seen people go the other way and say, “my code isn’t working, so it must be a bug with Java/the compiler/this library!” This can be pretty frustrating to deal with, since people don’t want to hear that their “bug” is caused by their own misunderstanding of how things work!

[quote][quote]“Ugh this code isn’t working, there must be a bug with how floating point values are stored.”
[/quote]
“Either you’re the first person in history to discover a major bug with how floating point values are stored in every language… or your understanding of how floating point values are supposed to work is slightly off. Which is more likely?”
[/quote]

My life.

LOL! I feel it.

@KevinWorkman – You’ve nailed it. The quotes are perfect. It was a recent question about the mysterious Java Sound library that prompted my post. But yes, I was also thinking about the folks who start to blame Java itself or its compiler, etc., for their own bugs, as I have done, even recently.

How about “black box misattribution error”? Before I read your post, I was mulling calling it “black box error,” but adding the term misattribution does a lot to disambiguate the target concept.

“Black box” is kind of a relative term, depends on one’s knowledge base. True story: listening to a talk radio topic on science of evolution (teaching Darwin or not, debated for CA schools back in the 1980’s, a ballot proposition), and an astrophysicist/astronomer called said that he thought we knew a lot now about how stars form, etc., but that the whole issue of how life started was kind of miraculous. Then I swear within half an hour a biologist came on and said he could see how life could have come about from complex protein chains, etc. (or something along those lines), but the creation of the universe was just too amazing. Each was both ready to ascribe divine intervention in the part that they hadn’t studied. I wish they could have heard each other or that I had recorded this.

AKA argument from incredulity/ignorance or god of the gaps.