Another issue I've run into is the minimum numbers of characters needed to edit an answer. Once I found the answer that was chosen and upvoted had code that didn't make any sense. It was something like an instance of a point object "point1" and an instance "newpoint" and they wrote "point1 = newpoint;" but actually meant "point1 = new point();". When I realized the problem I tried to change it but wasn't able to because I wasn't changing the answer enough (I think there's a minimum 6 character limit). I didn't want to make random changes elsewhere just to make the minimum needed to fix it, so I let it be.
I find Stack Overflow useful, but I don't try to participate in it anymore and don't stay signed in.
I think this is a great reflection of one of the largest problems that Stack Overflow has to solve, and that is user education. The definition of what is on topic for Stack Overflow is much more specific than just being "technical", but most users don't even know that.
This results in many new questions being closed. The community is constantly trying to reword these "closed" messages to be as friendly and helpful as possible, but to the newcomer it just feels like rejection.
In many ways, Stack Overflow has solved all it's "technology" problems, and now is left with a lot of psychology and communication problems. The site could definitely use a professional communications specialist.
(FWIW, for those curious, "on topic" is defined here: http://stackoverflow.com/help/on-topic)
I agree 100%. If you were to claim that the "on topic" policy for Stack Overflow is too narrow, I would respectfully disagree.
I personally think the Stack Exchange network is effective because it creates communities that specialize rather than a single generalized community. But new arriving users have a preconceived conception that all content is welcome.
I think a lot of that could be alleviated by binding together the "Stack Exchange Network" into a more cohesive single site though. Kind of how each subreddit can have its own rules, culture, and community, but it's still very clearly part of Reddit TM.
It would be neat if there was a single entry point into the Stack Exchange Network where you could post a question, with a dropdown for selecting which "network" you think is most appropriate.
They do appear to slowly be increasing this sort of cross-syndication between network sites, but it definitely has room for improvement.
This is, unfortunately, an unsolvable problem. They're asking the question precisely because they don't understand what they're asking enough to get a meaningful answer.
And I do! With lots of swearing! :)
The only time I'm on SO is from a Google search result. They should at least make the danged site noindex itself for that page if it's the question has been closed. You wouldn't believe the amount of times I've been searching for a solution and found a SO link and thought I had the answer coming my way only to see the thing was closed before anyone could answer the question.
In all honesty, I don't give a rats why a question was closed. It was either closed and is now useless or open and has answers.
The solution is to make the closed question not appear in Google search results. If the same question keeps appearing the solution is to let someone answer it.
This is a great idea. Have you considered discussing it on the Meta site?
The solution would definitely have to be more nuanced - sometimes "closed" questions have useful answers on them so you wouldn't want to remove those from Google. But removing "closed" questions that provide no value would probably be an improvement.
I generally consider myself a dumbass and not smart enough to figure out the rules to avoid getting topics closed, so I stick to reddit and HN (and it took years of lurking here before I started posting too!)
So maybe, just maybe a slightly broad question with a couple answers may be better that an theoretically ideal set of a thousand (question, answer) tuples each trying to fit a very restricted case. Unfortunately some mods seem hell-bent on promoting the latter, possibly in hope of writing bots that solve-by-Google (see stacksort[0]).
I think there are two kinds of "broad":
1. There are multiple ways to solve a specific problem with a specific expected outcome. "How do I sort an array?", for example, is a broad question in that it can be solved in many ways, but you can definitively say whether any given solution is correct or not.
2. The problem is not specific, and there is no clear way to determine whether any given answer is actually a "solution". For example, a single question with only the text, "How do you write a game?"
Most "broad" questions fall on some spectrum between these two, but the closer a question is to the latter category, the less likely it is to generate any sort of helpful feedback. The community does sometimes label the former as "too broad", but 95% of the time the given close reasons are correct, and when they are wrong the site provides documentation on how to get your question re-opened.
It's hard to maintain a proper balance between moderating the inundation of terrible questions and avoiding the false-negative closing of legitimate questions.
But hey, it's their site, and I'm just some rando on the internet - they get to make whatever policies they want.
Allowing such questions effectively lowers the percentage of questions that get good answers, thereby training users NOT to expect an answer to a posted question, and leading to decreased engagement.
On the other hand, by disallowing such questions, the questions that do get asked are more likely to be answered, and this encourages repeat visits and increased engagement.
Just thought I'd let you know you haven't been shouting into the wind!
The scenario you describe is somewhat different, in which the asker is well aware they have a broad question. Such people are advised to make clear that they know full well it is a broad question and are seeking broad comment on multiple viable approaches.
So, you're absolutely correct. Demonstrations of the many ways to do so are extremely useful to many people! It is, however, highly likely that few - if any - will be useful to the person asking the question.
You're very right - this is a personality test. Do you try to jump directly to trying to answer an apparently-simple question, or do you cautiously consider if the simple question hides complex depths (deeply nested structures, arrays of variable length, etc.) that make a simple and straightforward answer difficult?
I think the last 3 times I've gone to SO to write a question I spend an hour finding the right code samples, explaining what the problem is and why I need to solve it. Why I've chosen this route and after all that has been put down on the page I see what the real issue is and solve it before its even submitted.
It's almost become another tool to use, "How would I structure this problem if I needed help from the community?" It forces you to think through the problem into the route cause, almost like debugging your thoughts and removing the bloat
Plus some of the best, most interesting questions on there are "community wikis" which often tell you they should have been flagged as opinion based but are preserved for historical significance.
Because of that I really don't see the point in being so dogmatic about closing opinion based questions. Even something like "emacs or vim" I can imaging being a useful question, with a highly upvoted, thought provoking answer arguing each side.
The accepted tick on the answer says that "here's how" might have worked for the question author.
The most upvoted/popular answer works as a rule (there are exceptions). Popularity contest is not the best way to get the truth on a technical subject but it works more often than not (you can read the answer in the chronological order if you like).
The problem with this is that there are opinions and preferences and biases (and so on) hiding all throughout even the most (seemingly) objective questions and answers. The SO folks think they're making a more meaningful distinction here than they actually are.
Things like "lib A requires excessive boilerplate compared to lib B, see example", or "lib A can't be installed under the following platforms", etc. What should be voted down on those types of questions isn't the question, but poor answers.
It's really frustrating, because getting the opinion of experts who have tried a bunch of alternatives, and know the pros and cons that matter, is exactly why I go to SO frequently.
Did you take advantage of this opportunity to comment or flag the answer for moderation? If a question has been inappropriately marked as duplicate, that's something that the community should be aware of, and SO has methods for doing so.
If you want to helps others; post an answer, a comment (if it is a minor correction to an existing answer).
If you can't post an answer or if the question is not the exact duplicate; ask a new question:
- describe your specific problem
- link to the duplicate (the back link is created automatically but you can also add a comment under the duplicate question explicitly if you'd like)
- describe how it is different, how exactly existing answers have failed for you (what behaviour did you expect; what did you get instead, step by step)
If you follow https://stackoverflow.com/help/mcve then your question will be better than most questions already (and even if it might be closed as a duplicate; it would attract additional attention—if the question is the exact duplicate you could also create a bounty: it is unlikely to help with difficult questions but it would also attract some attention).
<!-- language: lang-js -->
Instead of just adding "I fixed a small code bug but SO has a minimum edit length, so here it is" to the end of the answer?
s/newpoint/new point()/g may not be obvious to the next person.
Some niche frameworks have great helpful communities
While the general Javascript community there hates questions that aren't formatted a very particular way
"We make all of your programmers 50% more efficient, kick us a little cash to keep us running smoothly."
I've posted very rarely on the software stackexchange, but I've been very active on the electronics stackexchange to the extent that I'm in the top 2% and rank #28. It has very aggressive moderation of 'bad' questions, and I sometimes wish there was somewhere chattier and less fussy we could gently steer the less well formed questions to. It does feel bad when someone asks a question and gets the door slammed in their face. But on the other hand there are a lot of repetitive 'bad' questions from people who've not yet understood what a resistor is.
Remember it's been gamified, so we might as well treat it as a game. Consider the motivation of the question-answerers.
(I also opportunistically karma-snipe the "hot network questions", so I have 1.4k rep on math.stackexchange from only two answers)
As much as I like (and heavily use) SO, it has a real problem with making people feel like shit when asking, answering and commenting.
There are people who are exemplary in their politeness and helpfulness like the top-contributor, John Skeet. There are also quite "mean" people like Hans Passant (also super-high score). I wish more people would use the really fantastic users like Skeet as an example of how to behave.
"Game-ification" strategies in social networks like SO tends to attract uncharitable, persnickety rule-zealots and this seems to have been re-enforced over the years.
While expressing thanks is definitely an admirable human quality and should be lauded, it frankly does not provide value to the other people viewing the page. Part of the problem, I think, is because "comments" on Stack Overflow have a different meaning and context than 99% of the web. They don't exist for some sort of "social" experience, but as a means of coordinating improvement to the content.
Maybe SO could do better to communicate that difference. Educating new users is one of the biggest challenges in the face of the eternal September that SO receives.
I agree that a comment consisting of nothing more than "thank you" isn't particularly helpful, but a "thank you" + some twist or application tip is interesting and valuable. Sadly, some SO-cops just see the words "thank you", ignore the rest of comment and then immediately recite the rules and/or delete the comment.
As for SO communicating the difference, I think they already do. Their problem is that people like me _deliberately_ ignore "the rules" and post whatever we think is appropriate-- the mods just can't keep up.
If that happens, then the mod is out of line. But what can SO do to prevent that behaviour? If you have ideas I'm sure the community on Meta would be more than happy to entertain suggestions, that's how the platform evolves and grows.
Those comments might get removed later, but saying "trolls are everywhere" is too pat when the people abusing new users are very visibly established, popular members of the community. Getting attacked by a random throwaway account is a very different feeling than getting attacked by someone up near the top of the totem pole.
"You should expect comments to get deleted.
If they are oh-so-important, they should get rolled into the post they are commenting on. At which point they are obsolete."
http://meta.stackoverflow.com/a/255140/592746
So, your problem, clearly, is that you think your "thank you" is "oh so important." If your ego wasn't so big, you'd get that.
I don't have "a problem".
I use stackoverflow quite productively, appreciate its utility, and help folks out with answers when I can. I've gotten acclimated to the rudeness but I wish it were a nicer place.... more skeet less passant.
[Edited for snarkiness.]
One of my favorite parts I think is the fact that the correct answer changed over time, so I continued to update the question.
At first the answer to "how to read a file one line at a time" was to use a module, later, a better module came along, eventually nodejs finally added native support for file reading.
I had an "annual update" going for a while since the correct answer changed to often.
Eventually someone came along and completely rewrote my question. Wiped all the history, evolution, etc... And boiled it down to "use native"
I was saddened a little, but understood.
I find a number of stack overflow rules/guidelines to be odd. For example: 'do not say "thanks" or "hello" people reading your question do not have time for that's [sic]
It's definitely a community which has been usurped by the aspie side of programming
That said, I still get thanks on it and it makes me smile when I do
They were not good days.
If most of the common questions have been answered, then there will obviously be a correlated decline in the number of questions posted and subsequently answers posted. Esoteric questions aren't abundant, especially over a constant time frame.
Declining question/answer activity shows that the website is healthy. I've opened S/O a few times over the past year with the intention to answer questions, only to find duplicate/off-topic/low-effort/etc. questions.
I find that most older questions have pretty useful answers so I can't really improve upon them.
I was tempted to qualify this more, but honestly, if you can't see why "works for me" is one of the worst kinds of answers you can give in tech, then i doubt i can convince you.
How else can you respond, other than saying "the code seems to be correct, and there's not enough to reproduce the problem here. can you provide more information?"
The difference between your phrasing, and a blunt "works for me" is that you actually bother to inquire further and don't desire to just shut things down so you can move on to the next question and make more points.
Often the real problem for novices is that they don't know enough to ask the right question; good questions require that you already be pretty close to the answer. So the real process of helping somebody with technology often begins by turning a bad question into a good question.
So basically, I think "works for me" is disrespectful. Mostly I see it used defensively; the goal is to make the querent go away again. If somebody doesn't want to help, fine, I respect that. But in that case, they should not put themselves into a position where they are answering questions from novices.
What a bizarre interpretation. When someone says, "It works for me," they're saying "I tried your example because I want to help, but was unable to reproduce your problem. Maybe there's some information you didn't provide that can explain the difference between what I'm seeing and what you're seeing? Please add more information so I can understand what's different and help you."
(Jokes on HN fail about 90% of the time, which is a shame because yours is subtle and has been missed)
1) When you've got a problem, Google it. 98% of the time the answer will be in top 5 links to stackoverflow or documentation. You upvote the answer and question.
2) 1.5% of the time, stackoverflow will have a related question, but either it doesn't have an answer, or the answer has issues.
You figure it out yourself, so you post a comment or answer or just the crappy workaround you used because you ran out of time to figure it out completely.
3) The remaining 0.5% of the time, you get nothing. You post a question, but of course nobody answers because it's an esoteric, hard question. 24 hours later you post an answer to your own question, or more likely a crappy workaround.
And eventually somebody posts a great answer to your question. (Once this happened to me >3 years after I posted it!) It's way too late for you, but it will help the next person with the same problem.
You don't get a lot of karma quickly this way since you're posting esoteric stuff, but you do tend to pick up some badges that are designed to reward this sort of behaviour, like "Populist" and "Necromancer". You do pick up karma slowly and steadily, though. What's satisfying is seeing an answer tick over from zero to one ~12 months after you posted it, realising that you saved somebody hours of frustration.
If you answer an easy question, you've saved somebody a few minutes. When you answer a hard one, you've saved hours or days.