It’s no secret that the overlap between “geek” and “pedant” is pretty big. Not all pedants are geeks, but a high percentage of geeks are unapologetic pedants. It makes sense, really. Science and engineering are precise disciplines, where attention to detail and the ability to follow directions exactly are rewarded. So people with a natural proclivity for exactness are often drawn to these subjects. Naturally, if a little of something is good, a whole lot of it must be better! At least, that’s what some geeky pedants seem to think.
The other day I was having a problem. It’s a problem I’m sure we’ve all had at one time or another. Â I needed a recursive list of a directory tree, printed out one file per line, with the full path included. OK, I realize I just lost some of you. I promise you though, you won’t need to understand the jargon to get the punchline for this one. Anywho, I couldn’t for the life of me figure out how to make ‘ls’ spit this out. It seemed really simple, but everything I tried wasn’t producing acceptable results.
So I took to Google. I very quickly came across this page at Stack Overflow. This person was asking my exact question. And the second answer made me slap my forehead. It helpfully points out that ‘ls’ is the wrong tool for the job at hand. What I really wanted was ‘find.’ Specifically, this is all I needed to do:
find .
Duh, I knew that. Huge brain cramp there! I was about to close my browser tab and head on my way when I noticed the first answer. Â I’m going to quote it here so you can enjoy its craziness:
@OP, if you really want to use ls, then format its output using awkls -R /path | awk ' /:$/&&f{s=$0;f=0} /:$/&&!f{sub(/:$/,"");s=$0;f=1;next} NF&&f{ print s"/"$0 }'
Let me assure you non-technical people out there that even most technical people can’t parse that garbage. What looks like a long string of nonsense characters is in fact part of the ‘awk’ programming language, and while I’m sure there exist plenty of people who can tell at a glance what exactly that is doing, I am not one of them. And I don’t think I’m in the minority here, even among tech professionals.
But the person replying to the question stubbornly stuck to the question asked, which was “How can I get ls to spit out a flat list of recursive one-per-line paths?” Now, to be sure, this could be geek humor here. Geeks often poke fun at their own predilection for pedantry by providing overly-exact answers to simple questions. I have no issues with that at all. But of course that’s not the actual problem here.
The questioner originally marked the “find” answer as correct.  But a later comment insisted that he change it, and mark the gobbledy-gook answer as correct.  Why? Well, if you guessed “pedantry,” you’re paying attention! He complained that the answer marked correct was only the most useful answer, not the objectively correct answer.
In defense of his insanity, he wrote this gem:
this is, objectively speaking, the right answer to the question that you wrote, intentionally or not. Yes, possibly it wasn’t the right answer to the question that you hoped to have written. And while i agree with your bigger point: “when the wise points to the moon, the fool looks at the finger” it is only fair that we minimize the impact of subjectiveness to evaluate correctness, specially when the criteria does not have any possible ambiguity
We gotta minimize that pesky subjectivity dammit! It’s your own fault for asking the wrong question, you deserve to be punished with overly-complex nonsense answers even when there’s a simple answer to the problem you’re experiencing. That’ll teach you to fucking ask imprecise questions! Never mind that if the person asking the question knew about (or remembered, as in my case) the function of the ‘find’ command, he never would have asked this question in the first place!
No, much better to simply pedantically stick to the actual question asked, rather than solve the problem in the most efficient manner. This is akin to a person asking “How do I chop down a tree with a rifle?” and telling him in painstaking detail the best way to do so, rather than simply saying “Actually, what you really want isn’t a rifle, it’s an ax. Or maybe a chainsaw.”
And the hell of it is, the questioner was geekily pedantic enough to actually change the answer marked as “correct.”  Which is why it appears as the first response to the question, and the actual useful answer is second.
In short, fuck both those dudes.
Recent Comments