Friday 20 July 2012 — This is more than 12 years old. Be careful.
I answer questions on Stack Overflow a lot, and also in the #python IRC channel. There’s a common dynamic in both environments, I’ll describe it by giving aliases to three participants:
- BaffledNewb asks a simple question, but the question itself strongly hints at a misunderstanding of his problem, or of the best possible solution.
- HelpfulNewb answers the question literally, giving BaffledNewb what amounts to bad advice, and missing an opportunity to help him understand the big picture.
- GrizzledExpert chides HelpfulNewb for answering the question “wrong,” and tries hard to get to the bottom of BaffledNewb’s real problem, or makes an assumption about what he really wants, and gives that answer instead.
At this point, the conversation can go a few different ways, sometimes all at once. Popular next steps are:
- HelpfulNewb insists he was merely answering the question, and wonders out loud why GrizzledExpert has to be so obnoxious.
- BaffledNewb is outraged that his motives would be questioned, gripes about not being able to get a simple answer, and wonders out loud why GrizzledExpert has to be so obnoxious.
- HelpfulNewb points out that of course his answer is usually a bad idea, but perhaps BaffledNewb has unusual, valid, but undisclosed circumstances that makes it a reasonable answer.
- HelpfulNewb claims that he never said his answer was a good idea, just a technically correct answer.
All this came to mind again a few days ago when three questions and answers fitting this description appeared on Stack Overflow in quick succession:
- Using a string variable as a variable name? With vars()!
- Python ASCII and UNICODE decode error? Throw away all the Unicode!
- Make all variables in a Python function global? globals().update(locals())!
There’s really no excuse for giving simplisitic, bad, but technically correct answers to mis-guided questions. I understand the desire to give an answer, to be the helpful knowledgeable one. And Stack Overflow in particular inadvertently rewards speed.
But answers like these only cause damage. At the very least, wrap them well with a thick layer of bubble-wrap in the form of cautions, caveats, pointers to likely better ways to solve the problem, and so on.
If the questioner really had one of the unusual circumstances that meant they needed a literal answer to their oddball question, they tend to mention it up front. In my experience, doubting questions like these pays off much more often than it turns out to have falsely accused a curious expert of being a newb, though of course that sometimes happens.
The #python IRC channel on freenode has a bit of a reputation for being full of grizzled experts who can’t answer any question no matter how straightforward without grilling the questioner about their motives and needs. I myself have argued for less of this, and being more trusting of the questioner. (Actually, as I’m editing this, I just answered a question in #python in a way that other grizzleds didn’t like!)
But if you do this kind of answering long enough, you will learn to recognize the misguided question, and push back on it. I don’t feel at all bad about downvoting the answers and calling people on it.
A common failing among GrizzledExperts, though, is being too blunt. When a beginner asks a question, it’s almost never useful for them to get this in response:
Why?
That’s too short, too blunt, and is interpreted (perhaps correctly!) as, “you are wrong,” setting up a conflict right from the start. More words always help:
That’s an interesting question, it sounds like having more context would help us answer it well. Can you tell us more about what you are building?
Helping intelligent but lost beginners is not easy, it requires a healthy mix of technical know-how and interpersonal skills. The GrizzledExpert definitely has the first, but often not enough of the second.
My advice:
- Use more words to fully express what you mean to say.
- Resist the urge to give the simple but dangerous answer.
- If the forum allows it, ask questions to get a deeper understanding of the questioner’s need.
- Don’t be shy about calling a bad answer bad.
Comments
The other issue I ran into were the 'quickest gun in the west' answerers. They would answer first with a vague answer, then, slowly paraphrase other answers through edits on their answer, later earning the correct answer bounty and then the other answers appear to be duplicates of a portion of the 'correct' answer. This gets worse when someone notices an answer gaining upvotes and converts it to a community wiki to prevent someone from gaining karma.
I uncovered two voting rings - one involving some of the moderators and asked that they take action or delete my account. When my account was deleted, I stopped participating.
The neverending quest for karma and social validation leads people to do whatever it takes, even if it isn't in the overall best interest of the site.
@Chris2048: you sound like one of the experts who gets lumped in with the newbs. I'm sorry about that. Perhaps understanding the answerers' mindsets will help you endure that line of questioning better in the future. It isn't personal. IRC is a very difficult medium. As I mentioned in the post, I think the tradeoff is a good one, I'm sorry you have to wait for a quick answer because of it. But when it comes to helping people do things "the wrong way," yes, the experts have opinions about the right way to do things, and they have the right to express those opinions.
@Moab: questions and answers can be edited on Stack Overflow, but there's only so much you can do to correct a bad answer before you are simply rewriting the entire thing. I won't edit a post so that it is no longer the original author's words, for example.
@Tobias: "tell us more" is not a stalling tactic. If you think it is, it sounds like you don't trust the "experts" in the channel in the first place. The people I've seen answering questions in #python genuinely want to help people write better software. Please understand if they don't want to be treated like a google-replacement.
@Graham There is nothing preventing the grizzled from voting to re-open the question or, if the question is irredeemable, creating a new question based on the original and answering the new question. They can then link back to the original question and probably get up-votes both for the new question and its answer.
@guest Quickest gun gets even better if you have high rep. You have the ability to answer, delete the answer, edit it, and then re-submit it. Since the "created date" does not change, you can have the "earliest answer" and still do the borgification process. (There are legit use cases: I did this once when an answer was getting a lot of down-votes pretty quickly. After an hour of work benchmarking my answer against the others, I undeleted and appended the benchmarks).
Also there's a post on meta, where the problem is titled "XY problem" or something; pretty much exactly about this.
On another note: I can't agree with people that say they get thrown into the "newby who doesn't know better" basket when asking for non-obvious answers. Generally I'll explain the problem I have and why the simple, obvious solutions won't work in this case (who knows I could be wrong, has happened ;) ).
Perhaps the way to treat it is as if they said "Isn't [bad advice] the obvious answer?"
GrizzledExpert: "While it may seem that [bad advice] is a good idea, it is bad because [...], here is [good advice]"
However brilliant the designers of LaTeX are, there are perfectly good reasons why one might want to change the fonts that it uses, such as to fit in with a corporate style guide. So this is not exactly a case like Ned's, where a direct answer would be "wrong". There are some cases where it would be, and some where it's entirely reasonable.
This GrizzledExpert's answer is highly unhelpful, negative, and offputting to BaffledNewb. Its only saving grace is that he explains the reasons why not to change the fonts, thus allowing the OP to decide for themselves whether to take or ignore the advice.
I agree that a helpful answer that included these caveats would be better than one that didn't. So perhaps it would make sense for SO to allow more than one "correct" answer to a question, splitting the karma.
You guys couldn't be more right about the anal-retentive nature of SO "moderators" and their Fascist mentality. Read my profile here (http://stackoverflow.com/users/463053/chuongpham?tab=profile) and the first comment by a poster to my question here (http://stackoverflow.com/questions/26539445/the-setmobiledataenabled-method-is-no-longer-callable-as-of-android-l-and-later)
and you'll know why I have just about had enough of SO retards. For the latter URL, this guy (http://stackoverflow.com/users/115145/commonsware) didn't even give me the chance to finish my question before downvoting it (plus a few others) and rate it as a rant. Eh? As it turned out, my question was one of the most viewed for a thorny topic that has plagued Android since the beginning: How to bloody turn off the mobile network function in an Android device.
The final insult to injury is when I received a private SO moderator message sent to me today containing unwarranted accusations. I have had enough of SO and quit.
Most of the time the "bestness" of them can't even be measured in any meaningful way, yet GrizzledExpert will still insist that the "best practice" is "the best".
More often than not these "best practices" are actually quite bad when used in the context of the question-asker's scenario!
The GrizzledExpert being smug and cocksure about the absolutely correctness of his answer, especially when it's actually wrong, is far more harmful than the possible solution that the HelpfulNewb has presented but not claimed to be a "best practice".
- Charles
1. Asks "Why do you want to do X?", and
2. Doesn't contain "Here's how to do X: ..."
gets a downvote from me.
"That's an interesting question, it sounds like having more context would help us answer it well. Can you tell us more about what you are building?" This is a good and useful comment, but would be a despicable answer.
"Can you tell us more?" is good both as a comment and as a supplement to an answer which shows how to do X. It is not an answer by itself.
I can tell you from experience, I have fielded this question a dozen times in the #python IRC channel, and every time, once the questioner learns how dictionaries work, they agree that they are a better solution.
It's not arrogance to recognize common mis-steps. It's experience.
I understand the idea of giving people the benefit of the doubt. Even better is working with them to find the best solution. There's a middle ground between 1) just answering the literal question, and 2) being an obnoxious know-it-all that berates beginners for doing it wrong.
Programmrs should know that if they truly want to learn, just stay away from SO. It is really not a good place to learn and most of the answers are outdated. Not to mention that negative community that is growing day by day.
Some incidents on SO (if blog's author allows me): https://expertflow.wordpress.com/
And to this blogger's keeper's feedback. (This kind of English won't make friend to you either)
ChuongPham came here to share his thought with detailed investigation on the issue. Although his English is not perfect, his idea could be fully undertandable.
And Ned Batchelder's feedback was "You aren't going to win friends with me by using the word "retard" like that though..." (This kind of comment is just another "retards")
P/S: @Ned Batchelder: you may remove, hide, attack again my comment for many reason
May because I don't publish my email, or my name
But the fact is that, your comment is just as ignorance as other moderator's behavior at Stackoverflow.com
Nitpicking everything, except answering the question of the poster.
If you want to ignore all SO results from your Google search, append "-site:stackoverflow.com" to the end of your search queries, minus the quotes.
Otherwise, you need to close your business blog if you're sensitive about people mentioning the word "retard" in their commentary.
Sure, that word may have some private meaning to you, but to the rest of us, it's just a form of expression, implicitly, explicitly, or otherwise.
Do the Stackoverlord deserved their reputation of being "retard" due to their behaviour on Stackoverflow?! Of course, they do! Hence, the commentary from various posters here.
Enough said.
I think you take the term "retard" to heart and too literally because of your own private reasons, and forgot the fact that communication in any society evolves over time and words and terminologies can be used interchangeably without direct correlation or interaction to one another.
Case in point: I recall the word "gay" used to mean "lively", "light-hearted", "carefree" or "swell" (as the Americans would say it) back in the early 20th century. But now the same word "gay" has been hijacked by homosexuals to further their own agenda. Do you see anyone object to the word "gay" being hijacked by homosexuals? I haven't. It seems everyone is fine with it.
So, the same can be said with the word "retard". People are not disrepecting anyone's personal mental well-being when the word is referenced in speeches or commentaries. Instead, they are referring to that person's action as being "dumb", "dimwitted", or even "tomfoolery".
If you object so much to the word "retard", then you should also object vigorously against homosexuals using the word "gay". Right?! Otherwise, you're just nitpicking - much like StackOverflow's moderators!
I don't like to use the words 'master & slave' for my brakes or if you have satellite tv it used to be called master box & you know what else box.
Hard to teach an old dog new tricks, but must we try! IMHO
In Australia, when we see a "bloke" (it's a term for a male friend, for Americans who don't know the term) we know, we might say: "How are you going, you old cunt?!" Does this mean we're are referring to our male friends as the female reproductive organ when we say such word. Of course, not. The word "cunt" for us means many things, literally, non-literally, or as an endearing term. We don't care in the slightest sense how we use it in informal speeches or commentaries. It's part of the Australian culture! Like the word "mate".
So, if the word "cunt" is sensitive to someone, does it mean we have to change our culture to suit these people's sense of political correctnesss. Of course, not. Why should we?! It's our culture, after all!
So, please, just relax and enjoy the commentaries provided here and stop deviating from our original goal of expressing our discontentment with Stackoverflow and how that site is becoming decandent due to it being overran with braindead trolls and egotistical stackoverlords.
I'm not telling you you can't use certain words. I don't have that power. I'm trying to help you understand how you are being heard.
The whole point of using words is to communicate. You are trying to get a message to another person. Words are powerful. Choose wisely.
I'm British. I have many British, European and Asian friends that don't care in the slightest how English so-called "offensive" words are used in everyday's informal forms of communication. That's not to say that we would use such offensive words like "retard" in front of physically-disabled kids and/or adults. We do know our boundaries - even in communication! For us (i.e. non-Americans), using words depend on the context and the environment - as it should be - so we know when it's appropriate to use such words. So, I don't feel the word "retard" is being used inappropriately here, at all! For one thing, this site is not a personal medical or health website; so, posters here aren't even using the word "retard" in its medical and/or physiological literal sense.
I think personally Americans are far too sensitive and tried so hard to be politically-correct to everything. It's probably part of your culture, I think , but that's you! For the rest of us (i.e. the rest of the world), we are casual, light-hearted, comfortable even, when using so-called "offensive" words in specific context and informal environment - like this blog.
Also, it's quite ironic though since Youtube and other online video sites are flooded with videos made by Americans who literally don't care about sensitivity at all! Being selective, then, are we?!
Anyway, like others said above, this site is about expressing our criticisms, discontentment and frustration we have with Stackoverflow. And yet, many posts here are anything but that! Quite disheartening really!
Add a comment: