In steps Reddit. Someone made this post linking to an image of the "offending" comment (image at http://i.imgur.com/lKr4L.jpg, comment has been deleted in what I assume was an attempt to end the onslaught of downvotes).

This reddit is the top post on /r/programming, which is read by quite a few people. Hans got -70 votes (he just deleted his answer), a mediocre question got 26 upvotes, and a mediocre answer got 41 upvotes.

Is this fair? Is there anything we can do to restore some of Hans's lost rep, or right the balance of the SO universe? It seems like the users who engaged in mob behavior abused their ability to vote down.

This question appears to be off-topic. The users who voted to close gave this specific reason:

"This question pertains only to a specific site in the Stack Exchange Network. Questions on Meta Stack Exchange should pertain to our network or software that drives it as a whole, within the guidelines defined in the help center. You should ask this question on the meta site where your concern originated." – Normal Human, Martijn Pieters, Al E., Mark Hurd, Aziz Shaikh

Hum. A trite answer to a question where the user obviously has no idea what he's doing. Encouraging the user to ask a question that's been asked before on SO isn't all that great an idea either. Yeah, good riddance. However, proper respect to Mr. Passant for refraining from posting a "why the downvotes?" comment.
–
Shog9♦Jan 24 '11 at 4:35

17

Hans can get his rep back easily enough; it's much more ridiculous that a post has the second-highest score of all posts over the last week because somebody complained on Reddit. People focus on posts with too many downvotes, but having a disparate number of upvotes causes problems too
–
Michael MrozekJan 24 '11 at 5:05

13

good trick to get a "peer pressure" badge
–
systempuntooutJan 24 '11 at 9:34

2

You know, until now I automatically assumed that Hans was asking for his answer to be marked. However, in rereading what he said, "this one" could be interpreted to mean "this answer" or "this question."
–
RobaticusJan 24 '11 at 13:28

@Michael: I'd say that it's even worse that an answer that uses a function (DoEvents) that Microsoft cautions you to avoid (msdn.microsoft.com/en-us/library/…) has a score of 73. The answer might be fine for this situation, but a score that high might imply to future readers that it's a really great answer.
–
ho1Jan 24 '11 at 16:19

@ho1 Sure, but just leave a comment about it on the answer
–
Michael MrozekJan 24 '11 at 16:21

@Michael - For another example of too-high voting, see the top question in the [iphone] tag: stackoverflow.com/questions/209170/… , which was propelled there by one mention by John Gruber. I'm not even sure that it's ontopic.
–
Brad LarsonJan 24 '11 at 18:25

8 Answers
8

IMHO, he should not bug the OP to accept the answer. SO is a place where knowledgeable and experienced people help out others in need. If you answer it in a way that it creates another question, then the answer is not good enough. So, if the answerer does not want to give more detail to his answer, no problem, it's all voluntary.

BUT, he should not bug OP to accept answer. There is a line between being politely asking to accept the answer and rudeness, which the answerer somehow crossed. It can be asked politely but not in the way "You have to pay the piper. Your loss, good luck sorting this out by yourself."

And yes, once you are on Reddit for wrong reasons, expect the s**t to hit the fan.

This is not about getting the mark to improve some score. This is about some basic respect for getting free professional help, and the check mark is a symbol for that. If it turns out that the OP has an entirely separate question, it is fair to ask them to start a new one. SO users don't have an obligation to make the asker a happy customer. If the asker denies that basic courtesy - remember, it is them who want something! - it is fair, in polite words of course, to tell them to go screw themselves. Now the style in which this was done was not a good one, but the basic point still stands.
–
PëkkaJan 24 '11 at 12:02

14

I don't think Hans's "That's a very different question, don't hesitate to ask it after marking this one answered" really asked for accepting his answer (even though there was only a single answer at the time of that comment).
–
ArjanJan 24 '11 at 12:12

1

@Pekka, I completely agree with you on the basic point. Also, being polite always saves the trouble.
–
shamittomarJan 24 '11 at 12:13

@Arjan, it was the next comment, "You have to pay the piper though. Your loss, good luck sorting this out by yourself." which went over the edge.
–
shamittomarJan 24 '11 at 12:15

4

Even the "You have to pay the piper though", to me, does not sound like "Give me the reputation" if that is what it sounds like to you? To me, it still refers to changing the question after someone answered the previous one. But I cannot look inside Hans's head of course. (And surely I am not a .Net expert, so don't even know if Hans's answer did answer the first question. A comment by the OP to the accepted answer kind of tells me it did though: "I was originally asking if [...] but it sounds like this isn't possible." But again, I'm not a .Net expert.)
–
ArjanJan 24 '11 at 12:59

20

Look, you don't have to re-iterate that it was a dumb comment. It's clear to everybody, including me. I already concluded that posting to SO after killing a 6-pack while making the pancakes isn't a smart thing to do. But please, at least quote the comment in full. Leaving out the last part makes it unnecessarily sound more inflammatory. It makes this a popular post but not a very balanced one. It makes it a reddit post.
–
Uphill LugeJan 24 '11 at 13:00

1

I don't see why it's wrong to answer a question in a way that creates another question, that's often the best way of teaching someone something rather than giving them a finished solution that they might not even understand and just implement blindly.
–
ho1Jan 24 '11 at 16:15

1

@ho1: The answer itself was worded in a way which sounded superior.
–
Andrew MooreJan 24 '11 at 20:41

@Andrew: I was disagreeing with a bit of shamittomar's answer that seems to be generic rather than specific to Hans' answer. Regarding Hans' actual answer, I can't say that I find it superior or derogatory, but this might be because I'm not a native English speaker. Though I agree that the answer is terse and I wouldn't have voted it up.
–
ho1Jan 25 '11 at 6:16

4

Not that it's going to make any difference at this point, but I've downvoted this answer because it makes an entirely false assumption. He never bugged the OP to accept his answer. That is a major misinterpretation/misrepresentation of his statements. He was tactless, and that's worthy of criticism, but this particular answer is criticizing something that never occurred.
–
AarobotJan 25 '11 at 18:30

1

Since what you're complaining about never happened, your entire post is useless and counterproductive. You and your upvoters need to make sure you have a clue what you're talking about before joining in the dogpile.
–
Brad MaceSep 18 '12 at 22:03

I'm not going to defend the overall hostility of the comments, which Hans has already apologized for, but one thing bears mentioning, and that is that several people here seem to have thoroughly misunderstood the meaning of one his comments.

People, please, if you don't know what an idiom means, look it up instead of guessing:

pay the piper

to accept the unpleasant results of something you have done | pay the priceAfter fooling around for most of the semester, now he has to pay the piper and study over vacation

There is no way, no how, that he actually meant "accept my answer" by "pay the piper". It just doesn't make idiomatic sense. And considering that the top-voted answer in this question thread uses precisely such an interpretation, it's indicative of the fact that several people got the wrong idea.

It's plain as day to me what he actually meant. The comment meant, "If you insist on doing this the wrong way (using DoEvents to mimic an asynchronous task) then you have to deal with the negative consequences (requiring extra code to stop the task or else having the application hang). That's it. And speaking as a Winforms developer of... many years, I can attest to that being completely, 100% correct.

Again, I'm not defending the overall tone of those comments or the answer itself, but the assumption people seem to be making here - that he was demanding his answer be accepted before he would offer any more help - is completely and unequivocally wrong.

Pretty sure that a lot of the reddit folks weren't familiar with the expression either and downvoted on the same wild and false assumption.

A good illustration of why using English idioms on an International site can come back and bite you. (See what I did there?)
–
Al E.Jan 24 '11 at 23:23

1

No doubt about that, @AlE. A few times I've received confused comments because I used an expression that somebody on the other side of the globe wasn't familiar with. Never downvotes, though, and especially not mass downvotes; the timing and placement of that particular idiom was rather unfortunate - but not malicious or self-serving, IMO.
–
AarobotJan 24 '11 at 23:26

23

Thank you for this post. I assumed Hans was the piper, and he threatens to steal the OP's children.
–
KobiJan 25 '11 at 9:30

1

@AlEverett So just because you disagree with the answer you think it's OK to bite the author? Disappointing. Wait till Reddit hears about this.
–
AsadAug 26 '13 at 21:59

The comment was out of order, but I'm a bit astonished by your lack of support for your #5 user who has been attacked by a random mob looking for some cheap self-righteous entertainment.
–
PëkkaJan 24 '11 at 11:55

2

@Pekka, SO mods have deleted the answer and he will get back the lost reputation points. I think it's pretty fair.
–
shamittomarJan 24 '11 at 12:11

@Pekka: The comment AND the answer was out of order... "Remove the DoEvents() call from your code. That will make the UI freeze, now you start thinking about BackgroundWorker."... While it points in the proper direction, it really comes out as an insult.
–
Andrew MooreJan 24 '11 at 19:18

8

@AndrewMoore with all the crying here over a mildly snippy remark, I'm tempted to demonstrate what an actual offensive comment looks like. Grow up a little.
–
Brad MaceSep 13 '12 at 22:36

Developer Art thinks I should apologize and I agree. I am deeply sorry for posting such a horrible and insensitive comment. This is not something I normally do, I almost always try to work with the questioner to get to a resolution, often through a long comment trail. Yesterday was not a great day, I'd like to forget it soon and hope everybody will let me.

Having one of the lowest downvote rates of the top users at SO is something I hold dear and I will remember to not again put that in jeopardy. Kindly focus on my achievements at SO instead of the one-time stupid slip-up of a crabby and tired contributor. And my personal apology to Phil. In the end he got an answer that was helpful to him, I trust that this restores his confidence in SO as a place to get help, my regrettable behavior not withstanding.

Glad to see you've come to your senses. It's a right thing to do. Though I'm not sure your appeal reaches the OP. Might go an extra mile of writing him directly or as an alternative responding in public directly on Reddit.
–
user136634Jan 25 '11 at 15:50

15

Hmya, I'll never live this down. Humbly asking isn't enough. I'm going to nurture that bad boy image for a while, trying to be a reputable hard-working SO contributor hasn't done much for me. I'll start with you: go find somebody else's chain to jerk.
–
Uphill LugeJan 25 '11 at 16:57

4

You definitely do have an attitude problem and an ego high as the sky.
–
user136634Jan 25 '11 at 18:27

10

@Developer: No, no... Only a proper pilgrimage will do. On his knees. In the snow. hands Hans a black leather jacket
–
Shog9♦Jan 25 '11 at 18:38

I’m a bit late to the game but let me just say that your answer was 100% appropriate even if the comments weren’t (but they weren’t too bad either). I find it infuriating that a technologically sound answer got first downvoted into oblivion and then deleted because some morons decide that they disagree, despite being ignorant about the subject matter. The current state of the question is disappointing. The OP was given a fish, rather than being taught how to fish. SO bows to Reddit. How very uplifting.
–
Konrad RudolphJan 30 '11 at 18:58

11

I agree with Konrad; it's disappointing the reactions of many SO users posting answers/comments here. Nothing to do with Reddit. As a native English speaker, I struggle to find anything arrogant, insulting, offensive, or inappropriate in either Hans's answer or comments. Terse and not as helpful as they could have been, perhaps. Showing signs of frustration that the OP didn't necessarily deserve, perhaps. But nothing justifying the interpretation of many SO users posting here, nor the onslaught of downvotes for a technically accurate and insightful answer.
–
Cody GrayFeb 1 '11 at 4:05

Could not fit them all, 25 total. Well, Jeff thought there was some validity to it, can't complain I guess.
–
Uphill LugeJan 24 '11 at 10:11

7

I'd hope you agree there was some validity to downvoting your original answer. What you post here is "serial downvoting", it will be corrected by a nightly script, or you can contact the moderators and they will remove the downvotes.
–
AndomarJan 24 '11 at 10:16

26

@Andomar - There was not, it was a good answer. There was no hint whatsoever in the OP that DoEvents was the cause, I figured it out without it. The comment was dumb, it should have been flagged as offensive. Judging an answer by whomever posted it instead of its merit is fundamentally wrong.
–
Uphill LugeJan 24 '11 at 10:27

3

@Hans Passant: You had a bad day. Serial downvoting is seriously wrong. But, everyone of us knows how Reddit works.
–
shamittomarJan 24 '11 at 11:10

I don't think there was any validity to downvoting the original answer. I get angry when people leverage their "check mark power" to milk follow-up answers that weren't part of the original question, too. That doesn't mean the comment was okay, but there wasn't anything remotely in it to justify this kind of random mob violence.
–
PëkkaJan 24 '11 at 11:35

@Andomar - re-read the answer. I quite explicitly recommended commenting out DoEvents. And merely suggested to "start thinking". On what planet is that not good advice to a beginning developer? Attack me for the offensive comment, but please leave me a shred of dignity on my expertise.
–
Uphill LugeJan 24 '11 at 13:24

16

There's some serious irony behind this. All these downvotes were for old answers, it pushed them back to the home page. Where they got upvoted 8 times already. Even got a Nice Answer badge for one of them. It pays to be notorious.
–
Uphill LugeJan 24 '11 at 14:15

2

IMO, the combination of the answer/comment was decidedly "not useful".
–
GregJan 24 '11 at 14:42

@Hans Passant: The suggestion for multi-threading might have been in the comment. I'm really just having a break from work with coffee, a waffle, and some Stack Overflow. If that is "shredding dignity", that must be a good thing ;)
–
AndomarJan 24 '11 at 14:47

How do downvotes push answers back to home page?
–
BalusCJan 24 '11 at 15:58

10

if you are still seeing random downvote patterns in 24-36 hours email me and I will fix it.
–
Jeff Atwood♦Jan 24 '11 at 21:08

There is value in the learning process. Saying, "Take this out, then try and understand what's happening" is not a bad thing, but it's not an answer. At best that was a comment posted as an answer.

There is value in posting a quick almost-answer/hint to a question to help the person get started, even if one knows one won't be able to elaborate further later. Getting a clue within 2 minutes of posting a question is just awesome.

Demanding that one vote and/or accept a particular way with the implication that the person making the demands has the answer, and will not provide further help until their demands are met is deserving of at least a few thousand downvotes due to poor behavior.

Being able to retract what one says due to community disapproval, and knowing that the downvotes ultimately won't count, is obviously very nice.

The first two steps are ok. The third was wrong, and the fourth is the community's existing solution to the problem of mob downvoting.

@BradMace - did too. OP asked "how do I do this". He was told how to do "this", using approach X. (in a very poor way, but that's beside the point). OP decided "Oh, I actually SHOULD have asked 'how do I do this without approach X'". Which was NOT the original question. Changing OQ in a way that invalidates an existing answer is discouraged on SO, and a CORRECT approach is to ask a new version in a new Q. Instead, OP stated "I won't accept to reward your effort till you answer my new separate question asked via a comment". That's #3
–
DVKJan 20 '14 at 21:22

I took the liberty of correcting the quote back to what was actually said. Your rewrite of it was not at all accurate and in no way representative for how I tried to help the OP to start thinking about his problem. I'm sorry if you think this is arrogant, it's just something I've learned to do after helping VB.NET programmers for the past 6 years. Small steps are important.
–
Uphill LugeJan 24 '11 at 20:03

1

@Hans Passant: Your answer pointed in the right direction yes, but the way it was written really sounded derogatory. It might of been a cultural issue, but that's really how your message came out. I wrote my post to include the original answer, and more distinctly add my interpretation of it...
–
Andrew MooreJan 24 '11 at 20:32

4

IMHO, the answer was a good start - but a bit like telling a fat person that they need to stop eating Supersized BigMac meals and start eating healthier; if he knew how to [eat right|use BackgroundWorker] he wouldn't be in the mess he was in to begin with. IMHO, simply linking to one of the existing SO questions on replacing DoEvents with BackgroundWorker would have gone a long way... That being said, it's hardly unusual to answer DoEvents questions with a terse, "Use BackgroundWorker" - as Hans admits, it was the comments that really caused problems here. And, of course, Reddit.
–
Shog9♦Jan 24 '11 at 20:59

2

@Shog9: Wait, so we are placing the blame now on a external website now? I'm sorry, but I don't agree with that. The problem was caused by a rude and offensive comment (and in my POV, answer). PERIOD. The fact that this got exposure on a third party really isn't an issue. A bad action committed in public or a bad action committed in private is still a bad action. The public has nothing to do with it.
–
Andrew MooreJan 24 '11 at 21:19

1

Also, saying that "if he knew how to [eat right|use BackgroundWorker] he wouldn't be in the mess he was in to begin with" is elitism in my point of view... Everyone starts somewhere. Doing work in the UI thread is a mistake a lot of people do when starting to work with UIs in general, especially with .NET. You don't have to be insulting to them. Yes, doing work in the UI thread is bad, but for their sake, show them gently why it is and teach them how to do processing properly. Don't just tell them "YOU ARE DOING IT WRONG".
–
Andrew MooreJan 24 '11 at 21:22

2

@Hans Pessant: I didn't misquote you, you don't like the way I interpreted your posts. Stop editing... The quotes are EXACTLY how they appear in the screenshot above. Not only you put yourself in that crisis, now you try to silence people with a different view of the events...
–
Andrew MooreJan 24 '11 at 21:26

2

Of course I don't like it, it makes me look like a homicidal maniac that uses swords to hurt people. You can leave it, everybody can make their own interpretation or your characterization. But do at least quote me correctly, not everybody that reads this might have seen it.
–
Uphill LugeJan 24 '11 at 21:35

4

@Andrew: this isn't about doing work in the UI thread, it's about expecting an endless loop to magically end. No one with any understanding of how the Windows event model works would ask such a question... You can take that as elitism if you want, but it's the truth; the fact that vast numbers of people jump into programming without ever reading a decent introductory book is the reason why Stack Overflow exists! I honestly don't know what your beef is - you want to knock Hans for not holding this guy's hand, and knock me for acknowledging that, yes, he needed some hand-holding.
–
Shog9♦Jan 24 '11 at 21:49

@Shog9: Same way an event gets more exposure after a news report. I don't see what's wrong with that. As for my problem, it's the tone lately people have been employing answering those common, easy questions. It's been getting worst and worst. Went from "here, let me help you" to "do your own goddamn research".
–
Andrew MooreJan 24 '11 at 21:54

4

@Andrew: I hate those too. However, that's not what Hans wrote. The answer was terse, and less-than-comprehensive - criticize it for that. But he did correctly identify at least part of the problem - that's a far cry from "Learn 2 Search!!"
–
Shog9♦Jan 24 '11 at 22:07

2

One point you've missed that's rather important here is that the OP never responded with "How do I use a BackgroundWorker?" - a follow-up question that I myself have encountered a number of times and (semi-)cheerfully explained in more detail. Instead the OP grunted back with "No, I don't want to do that, that way is too complicated, I want to do it my way, just tell me how to fix it!" I can kind of see myself at least being tempted to respond the same way he did to that, especially if I were in a bad mood. It takes two to tango.
–
AarobotJan 25 '11 at 1:16

1

When you've answered as many questions as Hans or even myself have, you start to recognize these little cues very quickly. When somebody says "that would add too much complexity" it invariably means "I don't understand it and I don't want to learn". For me, that is the cue to exit stage left; Hans exited less than gracefully and should have been more tactful but I do identify with his frustration.
–
AarobotJan 25 '11 at 2:13

4

I'm not bragging, and you seem awfully defensive. You can assume whatever you want; I'm telling you, I've been through this routine dozens of times already and it always turns out the same way. I don't participate on these types of sites to convince people who would rather argue with those more knowledgeable. Nobody needs that kind of headache. If you enjoy teaching people who don't want to learn, then all the power to ya, but you will burn out eventually like everybody else does.
–
AarobotJan 25 '11 at 2:57

2

Actually, I was making no assumptions about your level of activity. I did not check that before I commented. For all I knew, you had answered 10 times more questions than I had. I was simply pointing out that it took a certain amount of experience for me to notice what is definitely a pattern. Maybe you've had less experience, maybe you've had more, maybe yours was just different; it doesn't really matter since I was only talking about my own.
–
AarobotJan 25 '11 at 18:26

I just looked at the screenshot at reddit and what... people I'm just shocked.

A user with 130K reputation did this???

Clearly that large figure got into his head. You just don't do things like this.

That's not just arrogant and rude, it's offensive and insulting. That probably touched the OP deeply. How deep is shown through this reddit post - not a light wound. And that I can understand.

While I'm earning much reputation I question it even more every day: "Do I really deserve it?". The more I get the more humble I learn to be for I learn more of how much I don't know.

That's the thing Hans could also try - being humble.

The comments were extremely arrogant and unbecoming of a user with that much reputation. Clearly it shows that those numbers mean nothing. As the primer says, reputation is a reflection of one's communication skills - hardly in this case.

The attitude is a reason enough not to hire that guy - even with 130K worth of reputation.

And what bugs me most in the whole story, is that after all Hans didn't even come to the idea of... apologizing to the guy. Saying something like "Sorry it was a bad call on my side, don't know what came up on me, I'm truly sorry, please come back to SO and I will help you and provide assistance to the best of my abilities". That would be the right thing to do. But it never happened. And that not doing alone says more of the person than those initial comments.

As to restoring the reputation lost in the mob action - I would recommend to Jeff to cut that rep in half - 50% off for the improper behavior and for the loss of SO reputation out there. A lesson needs to be taught.

UPDATE:

After Hans had made a populist move to sort of apologize, here's a fresh word from our "Most tactful":

Hans, you do need professional help. Stop wasting time on SO and use time to take some basic social skills lessons. You sure need them.

Meh...Everyone has a bad day. I imagine Hans will think twice about it the next time.
–
Robert HarveyJan 24 '11 at 21:09

12

Imho you are exaggerating a little bit (ok, a lot), everyone could have a crappy day c'mon and nobody deserves to be crucified in such way.
–
systempuntooutJan 24 '11 at 21:15

2

But that everyone could also apologize.
–
user136634Jan 24 '11 at 21:35

4

People on reddit expressing their protest -- they seemed very deeply hurt.
–
Rafe KettlerJan 24 '11 at 23:11

12

I'll never understand why people think good information is insulting. He didn't say "your mother is ugly and dresses you funny". He told him what he was doing wrong, and gave him an avenue of approach to take to fix it. The OP was just too lazy to want to do any research and work based on that.
–
Lance RobertsJan 25 '11 at 17:49

15

Do you seriously think that telling a stranger he "need[s] professional help" and "basic social skills" is more polite, civilized or mature than the one line that caused all this?
–
Josh CaswellJun 24 '11 at 3:30