I stopped contributing to stackoverflow, but it's not declining
techblog.bozho.net
techblog.bozho.net
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.
They were not good days.
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
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.
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.]
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.
"We make all of your programmers 50% more efficient, kick us a little cash to keep us running smoothly."
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.
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.
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).
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.
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?
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]).
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.
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!
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!)
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
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.
<!-- language: lang-js -->
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).
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
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 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 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.
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)
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.
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)
I find that most older questions have pretty useful answers so I can't really improve upon them.
* ...never posted a question to SO (because I've never found it either necessary or helpful to do so),
* ...only ever "copy-pasted" from SO once (it was a CSS polyfill for iOS having broken "support" for vh/vw)
* ...only attempted to answer questions on SO twice, exclusively out of a feeling of "am I missing something?"
I've been programming for 16 years, and doing so professionally for 7 of those. I've always seen StackOverflow as like a worse version of MDN or something: obscure API-specific stuff that should be in documentation for libXYZ or XYZService but for some reason isn't, with answers supplied by random internet people and "graded" by other, less-knowledgeable random internet people.
For more advanced stuff (like "what are higher-kinded types" or "how do monads help simplify concurrency"), online articles, tutorials, or IRC channels have always been a sufficient supplement to just trying stuff myself.
I must be missing something, given the "reverence" SO seems to get.
I also have never asked anything on SO, and never used SO as a reference. SO only seems to work for factual simple answers that are found in the documentation or manual pages.
For higher level discussion SO is not appropriate; mailing lists and IRC work best for that.
I suspect most people don't like reading reference material so asking random stuff on SO works for them
Instead, you ask the wrong question on SO and end up getting the right answer because you have other humans that are able to interpret it.
As you get better, you begin to understand what the right question is and how to use the actual reference material provided to you.
This is probably true.
I'm not a Windows developer and on a recent project I had to use their IDE (which turns out to quite nice, if you are an IDE person) and a set of their APIs. I read, but did not understand, some pretty fundamental/basic MS-authored documentation. I found a few answers to questions related to other people not understanding it either, and was on my way again.
To be fair to MS, it was documented, completely and accurately. I just wasn't accustomed to some of their calling conventions and was getting yelled at by the linker.
EDIT: Outside of embedded systems, where there are a lot fewer moving parts than on your typical MS OS box, it's been a while (20 years?) since I was thrown at an environment where everything changed from what I am accustomed to. OS. Language. CPU architecture target. IDE. IDE configuration for project build. Build process. SDKs. Calling convention. Oh, and the 2M line code-base that I had just been introduced to (and where none of the MS Visual Studio project files had been checked into version control - so I'm fumbling in the dark there). Googling for the error message and landing on SO at least gets you to the point that you know you have a configuration problem vs a calling convention problem. That tells you where you need to start looking in the documentation.
That's a dismissive way of framing it. There's nothing anti-intellectual or lazy about using the tool that will most efficiently retrieve the information you're looking for. If I'm faced with a non-esoteric problem that I don't immediately know the solution for, I'd much rather spend 5 seconds Googling it and being brought to a highly relevant Stack Overflow answer that addresses my specific problem than having to find my way through a poorly-searchable manual.
I've experienced a massive boost in productivity using StackOverflow to help resolve the sorts of issues that are too big to appear in the docs and too small to have a whole blog post. But perhaps it has something to do with the sort of software I work on that I happen to run into a lot of problems in that sweet spot.
For me, Stack Overflow helps to bridge the gap between crummy official documentation and how tools actually work.
http://stackoverflow.com/questions/6246719/what-is-a-higher-...
http://stackoverflow.com/questions/27190934/implementation-f...
These are only two questions of many on these topics.
You have bit of experience, Stack Overflow's usefulness applies mostly for novices. See the people who said they learned to program with SO in this thread, or otherwise find the material there useful. They're the target userbase, not you.
I suspect the audience is not limited on purpose. The work required to answer questions, and incentive system seems to select for questions that are already google-able but the person asking just doesn't have enough domain knowledge to productively google for that answer.
The only time I get a useful stack overflow google result is when I've jumped headfirst into an area outside my skillset and need to do a common operation but the toolset doesn't make obvious. The kind of questions where I'd be desperate enough to ask SO are either complicated and - at best - get "don't do it like that" answers. Or I'm looking to better understand the technical considerations going into a design decision, which is too opinion-based (or whatever SO calls it) to be asked.
I can understand this belief in that the most prominent content on the site is that which gets the most upvotes, and by statistical necessity the number of novices voting must be greater than the number of experts voting.
But when you get into the niche topics or tags, that's when the expertise really comes through. Try browsing the [scala] or [haskell] tags, they may not have a giant community, but the general level of both questions and answers hardly fits your generalization of "novice".
If we were just talking about the "hot questions" of the month (http://stackoverflow.com/?tab=month) I could understand why it would seem the site is mostly useful for novices, but there is definitely a place for expertise in the community as well.
I don't think you are.
Stack Overflow was an interesting idea, but I find it has a terrible signal/noise ratio today and one of the most unpleasant and unconstructive cultures of any tech discussion site, for basically the same reasons that many other comments here have already given.
The way they chose to co-opt search engines was also a brilliant move by the founders, but has also now become annoying to the point where I'd have the entire SO network removed from my search results pages by default if I could.
And then hope their blog doesn't disappear from the 'Net before you finish digesting or need to refer back to that information. Buy their book if they have one.
The founding goal of Stack Overflow was literally "programmers seem to have stopped reading books"[1]. NOT "programmers shouldn't read books", or "book learnin' is inferior to superficial familiarity", but simply... "they appear to have stopped". There are probably a lot of reasons for the tendency folks seem to have of not investing effort into building a deep understanding of the things they're working with... But ultimately, it doesn't really matter: either you provide information in bit-sized chunks, or someone else will and you lose the ability to influence the quality of that information. Not the choice we'd like, but the choice we have.
Disclaimer: SO user since '08, employee since '11.
In the earlier days of SO, it used to be that a search engine might return an SO link or two but they had a decent chance of being relevant. At that time, SO was smaller, the questions being asked were more common and general, and thus the answers were mostly correct and widely applicable.
Today, unfortunately, my usual experience is that there might be as many as 4-5 SO questions turning up on the first results page for a programming-related search, yet none of them is actually relevant. Some will probably already be closed with some hostile and quite possibly incorrect status. Some are effectively keyword stuffing and not actually relevant to what I was looking for, but don't get penalised as such by the search engines because SO as a whole is so well established. Particularly irritating, it's no longer rare to find that a question shows up that is relevant but either it has no answer or it has nothing but wrong or misleading answers (which may well have been voted up or accepted anyway).
It's not providing information in bite-sized chunks that's the problem, it's providing irrelevant, incorrect or out-of-date information, or attracting attention but then providing no information at all.
There is an insane amount of hostility directed toward anyone trying to minimize the noise Stack Overflow generates, I'm afraid. Folks feel entitled to spam the whole site - indeed, the whole Internet - with their questions, and take umbrage at anyone who might stand in their way.
So a lot of folks are left feeling that their choice is between trying to help and getting blasted with vitriol, or just walking away and letting entropy win. I find it hard to blame those who opt for the latter route.
We do try to combat this to a degree by deleting unanswered or poorly-received questions after some nominal period of time; of course, given search engines' fascination with boosting the rank of recent content, this can only help so much - there are several thousand new questions a day in the most popular (and thus crowded) tags, where you can imagine the inherent motivation on the part of each author is to optimize for views rather than specificity or clarity.
[1] https://www.reddit.com/r/programming/comments/54f62f/the_dec...
As do I. In fact, I empathise with them, because I've been a high profile contributor to discussion/support forums at various points in the past. I've seen firsthand how the culture in each forum makes a huge difference to how motivated you are to continue helping out there.
Unfortunately, while that might explain my original observations about the poor signal/noise ratio and problems with effectively spamming search engines that SO has today, it doesn't make those observations any less accurate.
The only way I see this improving now is if those running the SO network intervene directly, first by encouraging a more constructive approach and being clear with high-ranking contributors on what that involves, and then if necessary by starting to reduce the privileges of those who don't play along regardless of their score in the game and ultimately, if necessary, kicking the bad apples off the system entirely.
I suspect that the part that you are "missing" has to do with the following belief:
> answers supplied by random internet people and "graded" by other, less-knowledgeable random internet people
You've inherently discounted the quality of content on the site, so it's no wonder you find nothing valuable there. The fact is that "crowd sourcing" actually can work, and "random internet people" are able to curate and raise visibility of quality content.
I think Stack Overflow is one of the best examples of this. Despite being inundated with terrible content, the system is able to consistently identify quality and float it to the top while mostly keeping the trash out of sight.
It's great to use as a passive user. It's a great encyclopedia. But all my attempts to ask questions were unsuccessful.
I posted 3 questions where I did not receive any answers or clues at all. The questions seem to have a lot of views, so I tried to answer them myself later (in cases I found one). Which is ok, but makes it like an encyclopedia.
On two other occasions I needed help to figure out which way to attack a problem (which systems to use). I wrote a detailed description of my data, use case, restrictions, etc. Both questions were heavily downvoted as they're too subjective and not specific enough. Apart from downvotes I received some unhelpful spam so that I deleted the questions after a while. Luckily, I got more helpful answers on Reddit.
I understand that SO wants to keep discussions on topic, but why can't I ask questions about how to implement a problem, or which design to use best for a given data set?
So the problem is, I cannot use it for too specific questions (often receive no answer) but also not for too general ones (receive downvotes as being too subjective). Everything in the middle is covered already.
Some communities in the network seem to handle that much better, GIS for example has been a great help to me (as they allow open questions).
Sure. But all the times you had questions that were answered on stackoverflow even before you asked them on Google, you were successful.
And by answering your own questions on SO you're helping out the next guy.
Post your question hoping you'll get an answer, but recognizing that you probably won't, and that you'll probably come back 24 hours later and post an answer to your own question.
You will accumulate karma for these, slowly but steadily. But more importantly, you're helping out those who follow.
On SO, I currently have 11,914 rep, 9 gold badges, 66 silver badges and 73 bronze badges. I’ve posted 492 answers and 6 questions (that haven’t been deleted). I’ve been programming since 1999 and I’ve worked as an IT professional since 2006, and my experience ranges from PHP and JS to SAP and PL/SQL. I also released my own open source frontend framework and several other open source projects on Github. So I know how to program and understand many of SO’s intricate workings!
Those rare times I’m stuck on a programming issue, I find it impossible to find any useful answer on SO. My questions either get no answers at all or downvoted and/or closed (for arbitrary reasons) by people who clearly lack the experience to even remotely understand what I’m talking about.
During my time on SO, I’ve been bullied by 20+k users several times and even got a temporary ban by one of them moderators for no other reason but pointing out that another user was acting like “a little Hitler”… in a private conversation with moderation.
Yes, other communities have similar problems, but never have I been a member of a community where bullying and trolling was so common among the most privileged segments of its membership.
Considering the popularity of my article, I’m considering writing a follow-up and go in greater detail on my experiences with SO and how SO could be improved.
However, I’m quite busy these days, so it may take a while before it actually gets published… if it ever gets published.
Nevertheless, these are my 5 cents I’d like to add here…
I disagree. Many people simply view an article to understand the author's opinion (my case). IMO the "new user" experience on StackOverflow really depends on the topic addressed.
Maybe that's just programmer personality speaking, I wish someone would do a study on the traits of programmers depending on their language / line of work...
I've read the article. It has some legitimate claims, I've even experienced some of them, but I am not so thin-skinned as some people are about internet points, and these issues aren't exclusive to StackOverflow. They are gripes about internet behavior, and human behavior as a whole. It all has to be taken into context, as many point out, the situation was much worse before Stack Overflow.
In the article,
> Quora might seem like an obvious choice, but it shares many of the issues common at Stack Overflow,
Exactly. You can take Stackoverflow and substitute Quora, or reddit in some cases and get the same exact situations described. It's a people problem. Anything led by a curated community of imaginary points will naturally produce elitist behavior. Heck you have this problem in real life (opposed to virtual life) in Academia, a.k.a the "academic elite," what makes you think it is going to be any different on the internet?
Many times I've seen other users link answers from a previously asked question to a newly asked question, so I thought I was allowed to do the same....
Nope! Someone told me I was "plagiarizing" (I had clearly linked the old post and quoted the text containing the answer) and shortly after I had a moderator in the thread talking to me...
Later that day I got a message from a different moderator about the same issue to which I replied, but it's been a few days and still no reply...
Many of the down-votes my answers receive are from users who incorrectly answered the OP's question, but they still negatively impact me considering I only have ~35 rep at this point.
That's... A hard problem. On the one hand, it'd be nice if we could just lower the reputation needed to flag things as duplicates... on the other, there's a real risk of abuse there if folks who aren't yet familiar with how things work go around flagging things and annoying askers: there are a lot of new questions that are similar to existing questions, but have subtle differences that a cursory examination may not pick up.
An idea that's been tossed around for a few years is to enable folks to essentially post "this is a duplicate" answers that do nothing but link and summarize another answer... If they get upvoted / accepted, the question is a duplicate; if they get downvoted, it's not. There are some potential pitfalls there too, of course.
In the meantime, my best advice would be to summarize the answers you're linking to, and spend at least a sentence or two explaining how they relate to the question you're answering... Then include a link as your source. Not only does this avoid problems when the question isn't a duplicate, it doesn't make it look like you're just trying to ride the coattails of someone else (which tends to inspire negative reactions in people even when the answer is helpful).
More advice here: http://stackoverflow.com/help/referencing
This strikes me as a key point that went unaddressed in the reply article. Yes, trolling is a standard feature of the internet. Yes, ignoring it is the right thing to do. But most places, trolling means an anonymous or throwaway account was rude, and will probably be removed/downvoted on any moderated site.
On Stack Overflow, we're frequently talking about reputable power users mocking novices, and being rewarded for that behavior. When a novice programmer shows up and is promptly insulted by someone with a decade more experience, something has gone terribly wrong.
Obviously something has to be done to help control the tide of "fix my voodoo code" posts that come through, but right now the 'cure' is largely insulting non-answers from major users. That's a terrible, antisocial way to address the problem.
Fortunately, many of the questions I've needed help with have already asked and answered by others on S.O. But I've had to find help for my more exotic questions elsewhere.
This is part of the issue with SO though in that so many people ask questions without trying to figure things out for themselves or because it is their first time asking a question on the internet they have a very hard time with it. Veteran users are frustrated by new user's attitude and new user's attitude is often that they are asking a question because they are hitting a wall. They've stalled out on their task and are frustrated and the question they end up posting shows this. It will lack context, enough information to reproduce, be an XY problem or some issue like that. These questions are either difficult or impossible to answer. Making them stop is a very hard problem, unfortunately.
For instance I found a browser bug in the code submitted on a stack overflow answer [1] and I edited it and it got rejected because it wasn't in the spirit of what the original author intended or something like that.
I also had no way of replying to the rejection motivating what my reasoning was and maybe reinstating it luckily the original author got in touch and fixed it himself later on.
At that point I wasn't even able to comment on the reply since I didn't have enough points so I would ague the barrier to entry is quite high if all you want to do is just fix a few mistakes you spot while using the site.
Also there are multiple communities like Ask Ubuntu, Server Fault each with their own points which means I run into the same problem over and over again even though I have proven myself on anther sister community.
[1](http://stackoverflow.com/questions/12131273/twitter-bootstra...)
It occurred several times that moderators rejected valid or helpful edits to some of my answers for the same "spirit" reason. However I still got notifications and edited my answer accordingly so the effort of the original contributors was not wasted (but they did not get any credit / karma for it).
It led me to try and find the mission statement of SO and it only says it wants to be the biggest resource of questions and answers. No word about quality.
I suspect they only care about answer amount as that helps their google rank, and quality doesn't.
That's the root cause of the problem. Once that's fixed, I think commenting is better than editing the answer.
As a mod I often can't know - having no time to verify - whether an edit such as yours actually fixes some bug or not. It has nothing to do with being hostile.
I agree that you should be able to simply leave a comment (new users used to have the right to comment once, if that's no longer the case, I find it quite stupid) that points something out, while keeping it clear who states what.
Then if your fix is helpful, the comment gets upvoted, and everybody's happy.
The author of the answer will typically acknowledge it by editing their answer, or risk getting downvotes otherwise (since now it's apparent that the answer isn't fully correct).
Asking is hard as the admins are quite intolerant of anything that doesn't abide by the rules, in their opinion. That said, small quick queries, those that would get shot down when posted as questions, are best asked in chat rooms and you will get a useful answer. The notification comes in handy when a chat room question is answered after an extended period of time.
Answering is harder, as questions are usually highly problem specific (due to the rules), mostly particular framework or domain related, and only those who have faced similar issues can make meaningful posts. Often times the multi hundred thousand rep kings can get away with non answers (some even get accepted) in spite of a lesser rep king complaining about that in the comments.
That leaves with lurking. Lurking has benefited me immensely. It seems every problem you have is already answered in like 2010.
The programmers.stackexchange is much better as it allows opinion based, discussion oriented posts although the admins seem to be getting intolerant there lately, which is a bit odd.
I'm amused to see programmers.stackexchange get a positive call out, because it used to be the paragon of moderator intolerance. Perhaps that culture has changed for the better.
This is what is troublesome. There are far too many questions with many impassioned comments that suggests they were closed and reopened multiple times. It seems the interpretation of rules is done too stringently and arbitrarily for most people's liking.
> I'm amused to see programmers.stackexchange get a positive call out, because it used to be the paragon of moderator intolerance. Perhaps that culture has changed for the better.
I had a nice run there as a participant compared to stack. Even as a lurker, I don't find that many questions meted out the stack treatment.
The live search for related Q&As has been particularly useful for me for this. Do I sometimes feel bad I did all that typing first? Sure. But that's vastly outweighed by happiness at getting a solution.
If you have a problem which is at all subtle or complicated, it's frequently necessary to open by saying "I know about X and Y, that's not what I'm asking!" Otherwise, the fastest guns in the west will see the header, skim a few lines, and answer "Just do X!" Or, of course, mark as trivial because "X" is in the documentation.
I've found a lot of these questions when trying to grapple with broken APIs. Someone will go "I want to do this thing, but the method call to do it is broken in these specific ways", and get answered with "Just use the method call in the API, dummy!" Often, it comes with a downvote and they never get another answer.
You can work around this, I succeeded with "This method call is broken in this way, so how do I work around that?" But it's far from obvious, and it means learning to not just write good questions but preempt systematically bad answers.
I didn't say either of those things, and I don't think either one is true :)
Asking quality questions is a skill, whether that's on SO or elsewhere. I'm just saying it's not rocket science.
Perhaps a better workflow could improve things. Almost like a wizard.
So by the time it was named "Programmers", the decision was already made to refocus the site on something a bit more useful: a site not about programming but rather dedicated to sharing information relevant to the profession of software development. However, actually communicating that effectively turned out to be a headache and a half.
6 years later, we're looking at just renaming the site again so as to avoid this endlessly painful confusion: http://meta.programmers.stackexchange.com/questions/8204/wha...
And that is often a problem, because in 2016 the answer has changed. ;)
Most of the questions I've found and tried to answer were duplicates, but since I didn't have enough reputation to mark it as duplicate. (or enough rep to comment on a post to ask for more information on a poorly asked question)
It's fairly depressing to attempt to try to be active on a site like SO when it's setup for failure in the beginning. It's irritating when users with 10k+ reputation can more easily gain reputation by commenting, editing, and "moderating" new questions.
The other issue I have is that for new questions it's more about being first to answer a question rather than what is actually correct.
I also dislike providing answers to new questions, and the OP is a brand new user asking a question and never marks an answer as correct...
I wish it was easier and less frustrating to be active, but I suppose I'll keep trying.
For high-profile questions this gets sorted out eventually, but it sometimes persists indefinitely for niche questions, and it's really unfortunate. I know "first mover advantage" is hard to solve (cf. Reddit), but it's a really big deal for SO.
The next few answers are essentially copy/paste of my answers or other answers on the question...but I'm still negatively impacted by the down-votes since I only have ~39 rep and wow has getting started been a pain.
The karma restrictions don't chafe much if you're a novice who mostly asks questions, and occasionally answers a simple topic they recognize. If you're experienced, you want to give more complex answers, and perhaps comment on other answers that you think are suboptimal. Doing that, you feel the new users restrictions (and the sting of uninformed downvotes) constantly.
50 karma is big, because the option to comment on other people's posts is core to giving relevant answers ("Did you want it to do X, or Y?") and using the site properly.
Honestly, I'd just ask a few questions (if your domain is uncommon enough that they won't be duplicates) and let that karma carry you until the site becomes usable.
I try not to ask trivial questions (or things that have already been answered) so, providing answers to things I have a decent grasp of is the next best thing.
I'm still a fairly new programmer (in the industry), so I'm not claiming to know all of the answers, but if the OP didn't take the time to look themselves - then i'll gladly look for them and answer it. Their question just becomes non-unique and will probably be closed by someone with more reputation than me.
Last week I reached I think 52 rep, but the question I answered got closed/deleted so I lost all of that rep.
> ... seeing a top answer with ~150 points that's simply wrong, and then a second or third answer with ~20 points that's actually correct.
It's fairly hard to dispute an incorrect answer with a low amount of reputation. I think?
The example I was specifically thinking of was asking "I want to do X, the API call is producing bad data, any workarounds?" and getting a highly-upvoted answer of "Just use the API, obviously!" This was Android, with devices mis-reporting their valid camera resolutions via 'getSupportedResolutions()'.
I realize that's not wrong to the same level as "Java Hashmaps are synchronized!", but it's a good example of what I mean. I often see this when the top response just reproduces an error the question was addressing.
i can understand the reasoning but i left SO when they broke it into pieces with StackExchange network
i actually enjoyed stuff like code golfs, joke questions (minus endless flow of repetitive xkcd references)
have always been interested in THAT programming part where problem meets consciousness meets technology. spent a lot of time puzzling around questions on design, patterns - more ethereal side of programming
nowadays stuff like that gets quickly eliminated
and more technical questions often gets spammed with shallow bullshit i've already checked couple of times
For me a big part of the problem of SO (as opposed to other SE sites) is that it's too big for the mods to really have much option other than applying blanket rules without exception.
On the smaller sites there seems to be more scope for a more flexible approach to moderation as the question/answer flow is more manageable.
Also I think it lets more people get engaged by feeling to be a key part of a smaller community where on SO their contribution would be very unlikely to be noticed as the site is soo big..
on current trajectory - i suppose it does get cleaner and more focused, better integrated with google and whatnot
but i find contributing unpleasant. and it doesn't attract the greatest minds anymore (<-- ain't talking about me)
when SO appeared - it was like a nuclear explosion in software development field. i remember it was enough to follow some tags i were interested in to easily ride THE bleeding edge without losing all the good legacy bits. blogs, tools, ideas, fun, community sentiment - it had it all
And the moderation is not helpful in migrating your question to the other forum either.
One analogy might be if the US were split into 50 states with their own, strict, immigration policies.
It didn't do that by being a wild-west open-to-anything community. If that's what you want, go to Reddit. But you'll be hard pressed to find quality content that goes beyond "16 Animal Memes That Speed Up Your PHP And Improve Your Sex Life". It's the structure that allows Stack Overflow to succeed.
Cut the string from the kite and it doesn't fly up to the clouds, it comes streaking down to the ground.
A piece of software is only as good as its documentation and compatibility to itself.
Additionally, your answer regarding:
> On the other hand, even the simplest questions are not closed just because they are simple. One of my favourite examples is the question whether you need a null check before calling an instanceof. My answer is number 2, with a sarcastic comment that this could be tested in an IDE for a minute. And a very good comment points out that it takes less than that to get the answer on Stackoverflow.
Is particularly bad. "Test in an IDE" is not a valid response when the question pertains to a JVM implementation. Your Sun JVM may be different than my Apache JVM, different than JoeShmoe JVM. A better answer might be to refer to lines in the official JVM specification, and note if there's an ambiguity, and that most implementations follow X, but not necessarily...
As for editing, editors come in all shape and form, and let's be honest, developers can often be opinionated so and so's who can spend hours debating tabs vs. spaces. I think the moderating reflects what we are as a community, I'm afraid. For example, I always reject any edit that only changes the format of the code because I find it a complete waste of time. I am sure there are other mods who would do the opposite, and actually go and reformat code in as many questions as they can find. Who's to say one approach is right and the other wrong? There aren't actually any guidelines in the modding pages.
It does get annoying sometimes; for example, I was refused the tag vanilla-js because of reasons by someone who didn't even seem to be a js developer. Had a few heated discussions, in the end the mods won. But hey, you know what? Who cares, the site is still useful
What are the realistic alternatives? Quora?
Stackoverflow is a little more boring for contributors now than
it was before (which is why I gradually stopped answering),
simply because most of the general questions have already been
answered.
This sums it up. I'd not find it fun to answer the same questions over and over. Doesn't imply that no-one should answer those; just that it leads one to wonder the value being added.That the referenced article doesn't cover this then undermines the other arguments about its attitude to users (arguments I largely disagree with).
you can’t easily ask a question without having it downvoted,
marked as duplicate, or commented on in a negative way
I wouldn't really agree. If the question is clear and even if it is a FAQ, then you'd not receive answers but also upvotes (for posting a FAQ) especially in popular tags such as python, regex, java.That said, there are several other problems with SO:
- too many poor quality questions
- too many poor quality accepted and highly upvoted answers
- activity in a limited number of tags
- the reputation (apparently virtual bitcoins) cause the overall answer quality to decline (search for "Fastest gun in the west problem" on meta SE)
My answers are generally to quite niche topics, I have never gone out of my way to answer questions, I typically post an answer when I have invested a good chunk of time to find the solution to something and then see a question about the same issue. I sometimes see questions I could answer (or improve existing answers), but do not provide an answer as I find it hard to justify the time, I feel that if I wanted to rack up points on stackoverflow it wouldn't be that hard to post several answers a day.
My reputation has gone up pretty much steadily, for the last three years, with an average of about 3 or 4 posts per year. I am a pretty light user, and being in the top 39%, if anything, surprises me as I could easily imagine being in the top 80%.
I find stackoverflow very useful, I work in games development which is quite a broad subject, in an ideal world I'd have very in depth knowledge about hundreds of topics, but in reality stackoverflow allows me to get quick answers to a huge amount of questions/problems, which in turn gives me more time to devote on area which I feel are most important. I haven't noticed stackoverflow going down hill in the time I have used it.
Answering is way less rewarding than a few years ago, but SO is working fine. From the opposite point of view, I have asked one question on SO to which I never received an answer, probably because it's not possible (it had to do with Flash streaming).
[1] and perhaps Atwood to a lesser degree based on their difference of opinion regarding 'how do I move the turtle in Logo'. https://stackoverflow.com/questions/1003841/how-do-i-move-th...
It's easy to complain about any system, but what do we really have that's better than Stack Exchange? Quora? Yahoo Answers? lol Maybe Experts Exchange, but the userbase hasn't been nearly as large as SE in years. I personally like the fact that SO/SE is so strict because, for all the power of the internet, there is mostly incorrect information on it. I'd much rather some people get dissatisfied with it, and that some of my questions get closed or downvoted easily, than have to wade through a ton of duplicate questions with answers that appear to be written by 12 year olds.
The only thing that I wish SO would implement is mandatory explanations for downvotes. Upvotes help a question get attention so there really isn't a big need for an explanation, but a negative score from a few voters early on can prevent a perfectly valid question from ever being taken seriously. This has happened to me on a couple occasions where I knew that the question was valid and the body properly formatted, but someone just didn't like the question for whatever reason. It's a good thing that a bounty can fix this, but I shouldn't have to spend 100+ of my points just because one or two people didn't like that I was asking a question that supposedly every programmer should know and I'm an idiot for asking it.
I have no clue what people are talking about when it comes to a "signal to noise" ratio; Stack Exchange is one of the least noisy sites I've ever seen.
This is not the case with some other SE sites, which run a "tigher ship". For instance, the moderation review queues on the Electronics SE site are kept small; everything gets processed.
The moderation queue on SO is huge. Currently, 8.8K questions with close votes need review. Hundreds of low-quality posts. In Electronics SE: 6 close votes need review at the moment, 3 First Posts and 1 re-open. That's it.
I clicked on Review in SO just now to start reviewing close votes. The very first question that comes up is from 6 years ago.
For example, the title might be "question about rails" and the body might say something like "Uploads don't work. Here's my controller code."
There are two problems here. First, no actual question is being asked. There may be an implicit question, but that's not what SO is about as it isn't terribly helpful to those searching for answers. Second, the user may be missing so much fundamental knowledge about the subject that a sufficient answer would require more work than is worth anyone's time, and would contain more information than is in the scope of a single specific question. SO is meant for answers to precise problems, and isn't a tutorial site. Sure, some people may post good answers, but the question may be too nebulous if it exists at all.
I really don't see that kind of thing happen often enough to be a big deal, but that's the only sort of case I have seen get the treatment that you describe. As I have said before, I would rather have some of my questions be rejected on some basis than have SO be a complete garbage dump. In contrast to other sites in general, SO/SE is very clean.
it is very easy to stumble upon an answer which answers the question, and is correct in a very wide context, but is actually bad advice (low quality correct answer, which without experience is bad practice).
And now comes the catch-22: if I do not have enough experience to recognize the correct-correct answer, the answer presented will actually propagate some solution, implementation, or practice, which is bad in the long term.
EXAMPLES
Example 1: new user asking a system administration / configuration management question
"how do I change DNS settings on my system?"
"oh, just edit /etc/resolv.conf by hand."
(When the correct-correct answer would be "learn how to create an OS package which delivers the correct /etc/resolv.conf, or create an OS package which configures the system to be a DHCP client, and then keep that under revision control.")
Example 2: a developer asking how to link properly
"I compiled abc and linked with def only to find that abc cannot find the def shared library. How do I fix this?"
"Use ldconfig or set LD_LIBRARY_PATH=/path/to/shared/library." (When the correct-correct answer would be "when compiling abc, set -R'$ORIGIN:$ORIGIN/../lib:/path/to/lib' or -R'$ORIGIN:$ORIGIN/../lib64:/path/to/lib64', depending on whether you're compiling 32- or 64-bit, and always use the compiler's front end to link as well.")
About once every few weeks in reviewing one of my team's code, I see something strange. I ask them about it, and they say they did it that way because of SO. Then, I have to explain why it's not a good idea to do in our code. Then, I have to spend a couple hours showing them why, because clearly 'everything on the Internet is correct.'
Overall though, SO has saved me a TON of time over the years. But, lately I have been more often reading user mailing lists or looking at the source code.
(I do understand where you're coming from, but I'm now firmly in the other camp. There are several small easy home computing projects that have been on my round-tuit list for months because I don't have time for that. I used debian for ages but never quite got round to building debs for things, because make-installing into /opt or /usr/local is good enough)
There are some valid points though for both contributing and not contributing to SO. The fact that you need to be 'really fast' to answer questions does indeed hold mostly for the simple answers. And actually there I found that it's best to write a short, concise answer to the question and post that - more chance of being first - and then alter your question to add additional information that was not crucial, but still nice to have.
Anyway, SO is still a good resource for problems that are not that esoteric. With esoteric questions, the odds of someone finding your question and being able to answer it in reasonable time is smaller, and you're probably better of either looking through the docs yourself or, if possible, looking at the open-source code.
That it's hostile to newbies could be true. But it can also be hostile to people who have been using the site for quite some time. That is, unfortunately, part of the internet these days. Trolls are hard to avoid on websites with a big community.
My questions don't have a SO question, let alone an answer. I get that in general programming, SO is great. Or if you need to know how to generate a N-dimensional array and initialize it for floats -- sure.
But what about: How can the Hololens be used in an Academic sports setting as training hardware? I'm brainstorming rapidly, then digging in what the Hololens can do (by experimentation, no less), and then investigating the API for what's exposed.
The API is the easy part, as it the simple programming.
SO is for questions that have known solutions or quickly knowable solutions.
Sounds like you're actually looking for a collaboration tool.