I recently got several downvotes on an answer I provided (the link is for 10k users). I think the answer was spot on and I'd like to get some feedback/discuss why. What's wrong with my answer?

  • 2
    Maybe it was good advice - I can't judge on that - but it should have been a comment. – Pekka Sep 9 '11 at 18:32
  • Ok so why is this question downvoted? – Ram Sep 9 '11 at 18:34
  • 4
    Downvotes work differently on Meta see the faq – Some Helpful Commenter Sep 9 '11 at 18:37
  • Got it - thanks conrad – Ram Sep 9 '11 at 18:46
  • 8
    I don't agree with the downvotes. Its great that 1) you wish to learn and 2) you asked this in the right place. I upvote in retaliation to downvoters. – user1228 Sep 9 '11 at 19:05
  • I guess the down-votes are for the fact this question is about an answer that has been already deleted. – kiamlaluno Sep 10 '11 at 11:51

A downvote is a signal. You can choose to ignore or complain, but normally that won't help anybody.

If I get a downvote, I reread my contribution. Sometimes, I did make a mistake and I correct it. Sometimes the question is changed and the answer is not suitable anymore. In that case you can either edit or delete (if it is hopeless).

But remember, a downvote does not mean "we don't like you", it does mean "we don't like your post." Unfortunately this also goes for upvotes.

  • 2
    Fair enough. I'm pretty new to SE and was surprised at the response there (and the initial response here frankly). When he changed the nature of the question I guess I could've (and next time might take the time) to either update or delete my answer. Thanks all. – Ram Sep 9 '11 at 18:55

DaveBall's comment is spot on:

@Ram (-1): You should think about the algorithm and their complexity long before coding, profiling and code optimization. Because improving your code by some percentage is vanishing if the algorithm is O(n^2) instead of O(n log n), for instance.

Your answer is also pretty short for a complex topic and generally useless. You don't provide anything to help the user get started doing what you suggest.

I'm also not entirely sure it actually answers the question. You don't address whether brute force algorithms can scale or how to scale them.

"Go do this" is rarely an answer, and certainly not for a complex topic. If you can provide a solution to the problem, great, but it should be explained; if a "solution" wouldn't make sense per se, like in this case, then you still need to explain what's involved. You want to help the user understand so that they don't come back tomorrow and post a similar question, having learned nothing.

  • 2
    @Ram This. Optimization is the last thing you should worry about. – Chris Frederick Sep 9 '11 at 18:38
  • I think you are misreading the thread. The edit history makes a difference. The original question included no specifics it read something like "I am new to programming and my code is slow, should I use hadoop". When someone new to programming asks if they should investigate hadoop to address a perf. problem I think it's reasonable to steer them back to the middle of the road. If they used a brute force approach and are going to move to hadoop rather than look at their implementation I think they are on the wrong path. – Ram Sep 9 '11 at 18:42
  • @Ram No, all he did was add the code. Either way, the right path is most definitely not to do profiling and simple optimizations. Refer to DaveBall's comment. Doing it right at the design stage saves you an immense amount of time and effort. – Matthew Read Sep 9 '11 at 18:48
  • @Matthew I agree with you that design is the right time. As I read it the asker had already implemented and was asking of hadoop was the right next step. – Ram Sep 9 '11 at 18:53
  • This is a bit tangential, but how can you see the answer and comments on it? You're neither a mod nor a 10k on SO. Do mod powers carry over to other sites? – John Sep 10 '11 at 11:57
  • @John It was deleted well after I posted this :) – Matthew Read Sep 10 '11 at 17:11
  • Ah ok. :) just wondering if maybe you had found a workaround for us non-10ks... ;) – John Sep 10 '11 at 20:39
  1. It doesn't really matter what the original question was; this is and always will be a comment. An answer must actually attempt to answer the user's question (or provide an acceptable alternate if the user is doing it wrong).
  2. A user with 1 rep should be very careful about giving the appearance of condescension. I don't know you; you might be a developer with twenty years under your belt who has made millions in this game. Here, you've got 1 rep. Its easy to misinterpret what someone types, and to downvote. Add them together and you're cruising for a downvote bruising.
  3. I cannot stress enough that this is a comment and not an answer. New users often leave answers as they don't have enough rep to leave comments. This turns our user base into Bruce Banner. And since I haven't gotten a patent on my device to punch people in the face through the innertubes yet, the only recourse for their smash-energy is to downvote.
  4. Lists should always be three items long. Yes, this is meant to explain #3 and to be ironic.

It's not an answer to the current question, therefore it should be a comment. When your answer DOES NOT solve a certain question, don't post it as an answer; post it as a comment!

Currently flagged as "not an answer" http://phpcode.eu/images/1315593816.php

  • It was an answer to the question at the time the question was posed. When the question was changed that made the answer look useless. – Ram Sep 9 '11 at 18:45
  • @Michael yawn, thanks for edit – genesis Sep 9 '11 at 18:48
  • 2
    @Ram "I have no idea" is never a good basis for an answer even if it's the asker's fault that you have no idea. A comment asking him to explain is the right thing to do there. – Matthew Read Sep 9 '11 at 18:50
  • 2
    @Ram: if the question has been edited and your answer no longer applies, you'd better edit or delete it. – user1228 Sep 9 '11 at 18:52

Not the answer you're looking for? Browse other questions tagged .