Tired of Stack Overflow
arp242.net
arp242.net
But time and again when I search for a question online if there's an SO version of it it has the best answer. And when I can't find an answer anywhere and I ask on SO I usually get a good answer quickly. (And when I don't I'm probably completely out of luck.)
Stack Overflow provides clear guidance on how to ask a good question. (https://stackoverflow.com/help/how-to-ask) As someone who occasionally answers questions there, I do feel annoyed when someone clearly didn't take any time or effort.
The first example from the article sounds reasonable at first, but are they asking for a shell command or some Go code or what? If they just said what they tried ("I expected it in `go help list` but didn't find it"), I think it would have been fine.
The second question I don't see why anyone would want that on the site. There's 1001 Github pages of common interview questions and answers that are more interesting and better written. Who could this be useful for other than the rest of that particular CS class? Why do I want to help someone I've never met cheat at a class I don't know about for free?
But even Stack Overflow agrees, which is why they keep having projects to improve the site for new users.
Lately I've seen less abuse and I've even seen people corrected when they tried to abuse people who answered questions in good faith or similar.
> ...which is why they keep having projects to improve the site for new users.
I've noticed that. Unfortunately, there's a sizeable contingent that actively rejects any attempt at softening the hard edges for new users (or effectively anyone that dares ask a question, really).They're so tightly wound-up about what they perceive as "the rules" that they can't bring themselves to have any empathy for anyone who violates the rules, as they inflexibly interpret them. You can sometimes see them take it out on meta with harsh rhetoric.
SO as resource is so huge and influential. I expect its community dynamics to someday be researched at length by social scientists. There's a lot of interesting things going on in there. Maybe we can learn something from it.
I'm sure both SO and Wikipedia have their own dysfunction even within the constraints of their stated policies, which I'm sure is a constant struggle to deal with. But that's inevitable, communities always have issues to deal with. Those are different issues than users wishing a site had different goals. I'm all in favor of sites like SO or Wikipedia (or Reddit, or HN) having all sorts of constraints on what types of content they want and how they operate. Maybe it's frustrating sometimes for people who are set on relying on one of those sites for everything (and therefore want them to be all things to all people), but overall I think those types of self-imposed constraints are exactly what makes them useful and interesting, and allows them to grow in ways that are unique to the mission of the site.
Problem is those sites used to be better.
A number of us where fighting to keep good resources good.
It feels we were steamrolled by people who enjoyed playing admins instead of actually asking or answering questions.
If you look into S.O. you'll find a abandoned accounts with a large number of points. People who made tbe site work.
I think a number of them gave up after trying to fight the bureaucracy.
[0] - https://meta.stackoverflow.com/questions/252756/are-high-rep...
[1] - https://meta.stackoverflow.com/questions/324072/how-to-lure-...
[2] - https://meta.stackoverflow.com/questions/324243/the-life-of-...
My guess is if the bar to posting was increased slightly it would help a lot.
That is most certainly NOT what I argued. This is really frustrating in all these discussions because every time you try to make any argument that even vaguely smells of "hey, let's be a bit nicer?" the massive "zomg you want to allow all the shitty questions from the idiots who can't sit the right way on the toilet!!11!"-strawman gets pulled out. I've been trying to make this argument for years and it's the same strawman every single time.
As I already said in the article, on the Vi Stack Exchange we're nice and have good quality. I'm sure there are other sites where this is the case, too. It's proof that it's possible.
The puzzle is: how do you sustain a site with unpaid "user contributed" content while you actively discourage the most prolific (and also likely most problematic) users?
This is a straightforward downside of gameification. You've attached badges to being assholes to people who are part of your content creation process, what you get is people who are assholes. Then you end up in a spiral where your community is so toxic that everyone normal leaves, and the only people you are left with are the toxic assholes.
The problem is that Wikipedia and SO are both classic examples of Sayre's Law in action: "In any dispute the intensity of feeling is inversely proportional to the value of the issues at stake". It's such a meaningless argument that any reasonable person comes to the conclusion that it's not worth the trouble and leaves, so you are left with only the unreasonable people.
In reality, the type of person who takes pleasure in being a Wikipedia moderator or Stack Overflow badgeguy is the last person in the world who you would actually want to be a moderator. But everyone who's not toxic has left.
This kind of commentary exposes why SO becomes so hostile. The exact question was: "Is there a way to list all standard Go packages? I have a list of packages and I want to figure out if this is a standard package."
From this, it's rather obvious what they're trying to do and why they want to get a list of packages. So yes, the question is perfectly reasonable, and you're jumping on the least likely interpretation in order to have something negative to say. And you're not alone; this is a very common behavior on SO.
"There's 1001 Github pages of common interview questions and answers that are more interesting and better written. Who could this be useful for other than the rest of that particular CS class? Why do I want to help someone I've never met cheat at a class I don't know about for free?"
More needless negativity. Once again, it's easier to attack, and makes one feel important to do so.
We're unfortunately dealing with human nature, and people really do seem blind to their own abuse. Without proper guidance and moderation, we see the worst come to light on public forums.
What happens if the same question gets asked 10,000 times? Absolutely nothing. Search engines will filter them for us. 5 more megabytes of text in SO's database. Pointless gatekeeping.
And in a Q&A site, the answerers are far more important than the questioners — if the questions will be answered, the questioners will flock there out of need, regardless of want. Answerers are however not so constrained.
People complain about SO because, I think, it does the correct thing (unlike most Q&A sites) — it tries to optimize usage and rules for those who answer questions. Most people, however, only ask questions, or search for answers.
If a question is really hard few other people can answer it, so no matter what there is a level exclusively for very smart people.
Nobody needs to take offense a question was asked or be hurt their question was removed. It's totally superfluous.
There are no such problems on /r/nostupidquestions.
Me included. I was a regular answerer for interesting tags in which I have at least sort of moderate knowledge, but after just a few months I lost interest in it, since it is just a never-ending stream of the same basic low quality beggings. It is like '00s inbox with one precious email in fifteen pages of spam junk. I don’t really have too much time for that. With that in mind, it’s still unclear if my contribution was really unique and helpful, because out of many pages of answers only few see one upvote a year^. I helped mostly specific people, not the common knowledge. Statistics-wise it’s not worth it.
It is no doubt that SO may be toxic or pushing ego. But being on constructive side is a burden. ‘They’ always outweigh you even with draconian regulation. Relax a little and you’ll drown at the same instant.
I suggest every complaining guy to answer a couple of questions a day first, for some time. Not just random two, but find two really worth their time to see real costs. SO is social, and in a society every participant should play nice and take their part on a problem. We help each other, but no one has spare change for hordes.
^ not an upvote junkie, I’m mostly indifferent to community scores
I regularly come across helpful answers on SO with 0 or 1 upvotes, so I wouldn't judge your contributions' impact solely on that. You've likely helped many people with your answers, even if there's no proof of it.
But I see what you mean. Maybe I’m self-biased since I’m usually logged in and do upvote low-voted answers when they obviously help me. Majority may simply not do that for old answers and/or others questions. Still, lack of feedback makes things foggy.
This is incorrect and a misunderstanding (and underestimation) of the unpaid volunteer answerers who scan the queue of questions to look for interesting things to answer. The valuable high-rep SO users do not like wading through bad and duplicate questions. It's a waste of their time.[1][2]
>Search engines will filter them for us.
The volunteer answerers don't interface with the list of new SO questions queue via de-duped Google search results.
An analogy with this site (HN) is applicable: Yes Google searches will return some old archived HN threads and filter out some dupes but we (the HN participants) don't look for new & interesting HN threads to add our comments via Google. Instead, we interact directly on this website and rely on moderators (dang/sctb) to mark posts as [dupe] and filter them out.
(When I started typing this comment, the sibling comment by setr was grayed out. That downvote was unwarranted because he was correct about unpaid volunteer answerers being more valuable to a Q&A site than questioners. I made a previous comment explaining this same concept: https://news.ycombinator.com/item?id=20318621)
[1] https://meta.stackexchange.com/questions/56817/can-we-preven...
[2] https://meta.stackoverflow.com/questions/252756/are-high-rep...
yep. The answerers are definitly more valuable, because it's hard to actually answer questions in the first place, and there's only the reward of intellectual stimulation for doing so.
The questioner are not as valuable, because asking questions is easy. Asking a good question is hard, but the majority of questions aren't hard to ask.
By making the site completely biased towards the answerer, stackoverflow gets good answers, at the cost of turning away some questioners. I believe the site maintainers have chosen correctly, because questioners are more desperate to ask their question than answerers are to answer.
Only if it's a hard question, and answered correctly.
There is negative value in, say, closing a question as a dupe, that is not a dupe.
Reducing false positives (closed for dupe, but not actually a dupe) favors the answerers; reducing false negatives (open, but in fact a dupe) favors the questioners.
The filter should likely favor the former — an emotionally injured questioner must go where the answerers are, and will come back. An emotionally injured answerer is more fragile — he has no commitment to this place.
Of course, to a limit, but “inclusivity” of questioners, at the cost of all else, is a game that has been played before, and has failed many times before (pretty much every online Q&A before SO)
Perhaps SO has gone too far, but its goals seem to me much more reasonable than the commonly suggested alternatives. Beginners have places to go — SO need not be their haven, and need not optimize for them.
I disagree.
I’m relatively high-rep. I don’t have any issues with stupid or duplicate questions, they don’t waste my time. Nobody forces me to answer every question asked on SO.
You know what is a waste of my time? When I wrote a good answer to a question which I think is fine, which then goes to oblivion because some other people, who often have absolutely no clue what’s asked, decide the question is not good enough.
Examples: https://stackoverflow.com/questions/56843086 https://stackoverflow.com/questions/57064879 https://stackoverflow.com/questions/57323981
First of all, there's often a subtle difference in the questions despite being flagged as duplicate. And pretty much as soon as it's flagged, other people are all to eager to use their vote close power, taking a disproportionate amount of energy to try to convince them otherwise. Frankly, the few times I've tried it feels like trying to argue with someone that thinks the earth is flat or the moon landings were faked.
Secondly, sometimes I like answering questions. It's a form of teaching, which is really a form of learning, and writing a good answer gives me a chance to learn something in more depth in order to be able to explain it. I don't really care that a similar question has been answered before, I'm happy to focus on the subtle differences and specifics of this question and try to make a good answer.
However, too often your reward for this is a closed and then deleted question, which is kind of like a punch to the gut.
https://old.reddit.com/r/AskHistorians/ has over a million subscribers and they get repetitive questions all the time without making anybody feel bad about it.
https://old.reddit.com/r/legaladvice/ has almost a million subscribers and have no problem answering the same question again and again.
https://old.reddit.com/r/personalfinance/ has almost 14 million users and a mandate to respect each other.
It would be pretty weird if a small group really "need" the "right" to suppress a larger group of their co-users just because the questions are programming-related. It makes sense they'd defend such a right vigorously to keep it though.
I see why those 4 subreddits influence your thinking in how StackOverflow should work so it seems like it could adopt the same (social) mechanisms and it would only improve the site and not degrade it.
However, notice that there is no reddit.com/r/ProgrammersAskAnyQuestion/ comparable subreddit that has more traffic and/or better answers than StackOverflow even though Reddit is older (2005) than StackOverflow (2008). Why is that?
Here's my pet theory on why I think technical programmers' Q&A won't have the same dynamics as your 4 example sites based on observations of programmers asking questions for decades on USENET, Experts-Exchange, etc:
- the questions on the 4 non-tech sites you mention are often "entertainment" in and of themselves. Whether it's the compelling drama of a girlfriend asking LegalAdvice about a boyfriend emptying her bank account or somebody on AskHistorians asking about Hitler (for the 100th time), the tolerance for dupes or silly questions is much more relaxed.
- In contrast, programmers have less patience for answering someone else's "homework questions", or doing free consulting work for incompetent developers, or encountering poorly researched questions, etc. Programmers (in general) definitely have more of a smartass "lmgtfy"[0] type of defense against people wasting their time on a question forum. Yes, developers do want to help but they also have a lower threshold for annoying questions than the 4 sites you listed. (If you haven't read through the 2 meta stackexchange threads I cited in my comment you replied to, please do so to get a glimpse of this collective psychology. Also a recent 3rd thread to read to understand how some SO veterans feel.[1])
- Since a tech question like "What's the regex to extract an email address?" doesn't have the same entertainment value as "Do sighted people really look at the toilet paper after they wipe?"[2] ... the programmers volunteering their efforts don't want to see that duplicate regex question 10000 times.
I might be wrong with my analysis. Perhaps somebody can start a new subreddit dedicated to answering any programmers questions. Specifically advertise the subreddit as having no moderation, no deletion of dupe questions, no closing of questions, no downvote buttons[3] to prevent anyone's feelings from getting hurt, etc. Basically, take all the social dynamic complaints about SO and make that subreddit do the opposite. We can then see if it attracts questioners (and good answers) like your 4 example subreddits.
(I'm serious about that subreddit suggestion; it would be a fascinating experiment.)
[0] https://www.urbandictionary.com/define.php?term=lmgtfy
[1] https://meta.stackoverflow.com/questions/386584/why-is-the-p...
[2] https://old.reddit.com/r/NoStupidQuestions/comments/cxurmr/d...
[3] https://old.reddit.com/r/OutOfTheLoop/comments/4ir1qg/why_ha...
Are you talking about the JSON api? (https://api.stackexchange.com/docs)
If so, there's no obvious API call where one can put a "not boring" filter as a parameter. Do you have source code examples of what you're suggesting?
>The power to ruin someone else's experience is a heavy-handed
Right but there are 2 groups ... not just 1 group representing the question askers. There's also the other group of desirable experts providing answers.
If you tune the site's rules to avoid ruining the experience of the question askers', you've now ruined the experience for the answerers. (Again, refer to the cited threads of answerers' complaining about their experience being ruined because of bad quality questions.)
These solutions probably have their own flaws, but if there was an appetite to be more beginner friendly geberally you could probably road test them a bit more.
With the tag enforcement means who can triage new posts to tag them appropriately when a co-user does not. They're not the same problems and I think objectively this is a better problem to have.
Not brand new users who don't appreciate how the site works and without moderation will make more work for users who are capable of answering question.
It is always so frustrating to me when I find exactly the question I need an answer to on SO, but it's closed as a dupe of a question it's clearly not a duplicate of.
Not IME. It depends on whether the Q is a XY problem or if the asker is acquainted with the problem-domain. I engage with Qs on the use of a specific set of tools, and I see users pose the same problem (with incidental variation) with imprecise/vague terms or phrasing.
Also, there are a couple of novice pain points for which I regularly see duplicates with similar description and terminology. I tend to think the users just didn't spend a lot of time looking through search results, if at all.
Yes, I know there are already programming help subreddits. E.g. I regularly visit /r/cpp/ but the Q&A there isn't as big as the StackOverflow questions tagged [cpp]. (Even though that C++ subreddit started May 2008 is older than StackOverflow.)
What am I on about?! Please carefully note that I was talking about a _comparable_ subreddit that has similar-or-higher traffic and equal-or-higher quality of answers than StackOverflow. (I know such a subreddit doesn't exist because if it did, all the complainers about SO could simply go to that superior subreddit to get their questions answered.)
>, besides insisting that we need the toxicity of StackOverflow due to "reasons".
Nobody has to insist. For anyone who is convinced that the users with bad questions should have higher priority than the experts with answers, you can put that philosophy to a real world test.
Since StackOverflow is "toxic", I suggested making a programming help subreddit (or even make a whole new Q&A website) that removes all toxic mechanisms (no downvotes, etc, etc). You can then see if the subreddit questions attracts the quality experts -- and therefore builds up a repository of quality answers.
It's not an empty suggestion for people who think StackOverflow's social mechanisms are fundamentally wrong. Back in 2008, Joel Spolsky & Jeff Atwood though the old Q&A website Experts-Exchange was fundamentally flawed. Therefore, they made StackOverflow with different mechanisms. Users were disgusted with experts-exchange.com and everybody migrated en masse to StackOverflow.
So, make a new Q&A website that allows 10000 duplicates and see what happens. Maybe the new website will flourish and you will be proven correct. StackOverflow will be fade away because of the superior competition.
I got a good amount of points by answering the actual questions.
Since hitting moderator status based on the number of points many years ago I've stopped using it though. It gets tiring fighting against people like this who often have >50-100k points.
Occasionally I'll land on the website again after googling a question, but it seems like Quora is starting to weaken Stack Overflow's google rankings.
At that point, one is being extra helpful by adding context. Which is in stark contrast to 'that is probably the wrong question, and here is why'. Which is hard to distinguish from being willfully obtuse.
That's the problem.
I’ve never had the need to ask a question on SO, I have found a few answers on it of course.
Luckily, I’ve had plenty of complicated questions about AWS, but for those, our AWS Business support plan where we can talk to live support who can look at your environment has been invaluable.
It's a little like the difference between an idealist and a pragmatist, except not.
Friend having a coding problem? Give 'em the SO special: "Have you tried using vectors?"
"Hey, here is this task/problem I'm solving. Is this solution okay or is there a better solution?" is a very different question than "I'm trying to cast this pointer back to this slice of types but I'm seeing this error; what am I missing?".
A somewhat related pet-peeve of mine is when software authors bake assumptions about how somebody "should" be doing something into their projects at a low level causing it to become unnecessarily inflexible and often time inconsistent with what you would expect. I've run into this with a lot of Gradle and gradle plugins.. My first big experience was perhaps trying to convince NTFS3G to allow the user to clear or override the dirty bit for certain resize operations. It can take a lot of convincing to get people to expand their concept of a "valid use case" and create escape hatches and flexibility for those atypical situations.
Opinionated frameworks are much, much easier to write. Abstraction and generalization are hard, and a lot to ask of people who are likely creating something for free. The fact that a framework doesn't make the choices you would have made doesn't make it wrong, or unnecessarily inflexible. They're necessarily inflexible to keep the burden on maintainers and new contributors as low as possible. Just because one person has an edge case isn't a good reason to write a bunch of new code.
See also, yagni.
One of the most important things that is needed for finding a solution to any problem is a sense of what a good solution would look like, and a certainty that it exists even before you have seen it, and even if you can't invent it yourself. Not knowing when to settle is the reason people usually go with terrible approaches to a problem.
I try hard to avoid turning it into an interrogation, but answering the question as asked is often either impossible or a disservice to the person asking.
So this page is at the top of the google search results for the query and it can never be updated with new info or given a better answer. I don't know anything about how the SO community works, but I suspect they resent the site's status as a kind of reference to be accessed through search engine results, and would rather all it's users to be active members of the community.
I also think (and have seen) that the community dislikes questions that are answered in documentation or elsewhere on the internet. I often see comments on questions I arrive at through google saying 'just google it, here's the first google result it answers your question'. The source given is always inferior, and the SO question, with a much clearer and more concise format, has become the first google result. This seems like a good thing to me, but look, the question's locked. What exactly is the problem with SO being a more comprehensive knowledge store?
Removing it would remove thebonly good answer to that question from the Internet.
Again and again we found that Stack Overflow would try to get rid of some of the most helpful ages I had found.
For a while, more often than not it seemed, if you found a helpful answer it was locked or somehow on its way to destruction.
I don't see this as often anymore but I also don't see that many good results in my search engine anymore and I don't know if it is because search engines has become more and more useless or if it is because Stack Overflow deleted a good chunk of the most useful questions they had.
Possibly a combination if I had to guess :-/
> I wish SO had the courage of its convictions and stopped all locked pages from being seen by search engines. That way unhelpful links wouldn't waste people's time when searching for answers.
Something completely different in my opinion.
While there are many possibly helpful questions that could be asked, not all of them are a fit for the format. That was a design choice made on day 1 and is backed deeply into how the software works and the way people interact with it.
Still, people asked those questions. The problem is that while they are interesting questions, and everyone wants to answer them - that reduces their value while at the same time putting more work on the community to try to keep it useful. Look at https://stackoverflow.com/questions/9033/hidden-features-of-... and consider the challenge of keeping it useful and relevant. If you were to try to add an answer to that post (if it weren't locked and closed), would you read through all 296 answers to make sure you weren't repeating someone else?
Some of these questions were recognized as taking more time of the people trying to maintain the site and focus on the questions that it handles well and were locked. The other option would have been to delete them, but stack overflow tends to have a "we don't delete useful content or break the web" philosophy.
There are other sites that handle the types of questions that Stack Overflow doesn't handle well quite well themselves. Quora does anecdotes well. Slant.co does comparisons. And so on.
The issue I and I guess many of us here is talking about is that it seems the Stack Overflow community - or rather a vocal minority in the community I guess - are downvoting and flagging questions that where ok for the format.
Consider the original question: https://stackoverflow.com/revisions/57323981/1 which... really is "design an entire system for me" type question.
The refinement, while better is still getting into discussions in the comments.
While its from a different site on the SE network, consider:
Green fields, blue skies, and the white board - what is too broad? -- https://softwareengineering.meta.stackexchange.com/questions...
The structure of Stack Overflow wants a question that has a problem that has some code that isn't behaving correctly and can be solved.
The list of "any better ways" is without bound or qualification as to what "better" is.
That type of question would probably be better suited to a higher density communication medium such as chat or a true forum (with threads). Stack Overflow was intentionally designed to make that type of question hard to answer.
Its not that it isn't a good question - just that it isn't a question that fits well into the SO format. That should be ok, there are many other places where such questions can be asked.
That’s the point. The site automatically deletes question with negative score. They disappear for most users, they even disappear from “my answers” section of my profile, despite I have enough reputation to view them if I have a link.
> which... really is "design an entire system for me" type question.
For a professional working with multimedia stack on Windows, the original question is clear. The question received two good answers before these edits. The 4 web developers who closevoted the question are obviously incompetent in the domain, but for some reason unclear to me they decided to closevote.
> is still getting into discussions in the comments.
No it’s not. All the comments were written before I’ve edited the question.
> The structure of Stack Overflow wants a question that has a problem that has some code that isn't behaving correctly and can be solved.
Only a minority of the highest voted questions have some code: https://stackoverflow.com/questions?sort=votes
Won't say "citation needed", but I will say that outside of reddit I do not frequently visit any such places.
And reddit has its own problems and also hardly counts as "many".
There are lots of them out there. They're not as big as Stack Overflow, but that's part of what allows them to have a less focused mission... and many of the other formats support the interesting questions better than Stack Overflow can.
Maybe it would help if Stack Overflow would explicitely link to alternatives, at leadt when they rejected a question?
I used to be active on another part of the SE network... and we could easily get overwhelmed when people on SO tried to be helpful and point people with questions that weren't quite right for SO in our direction. Without that person being active on our site too, they often failed to realize that it wasn't a good question there either... and we'd have to try to explain that they were misdirected and no, we're not being elitist but the question needs to be closed here too. For a small site, we could easily get half of daily questions being from "helpful" misdirections. ( https://softwareengineering.meta.stackexchange.com/questions... and https://codereview.meta.stackexchange.com/questions/5777/ )
I believe that HN really wants people in the ask question who want to be on HN... not just the 'herp derp oh look a textbox' syndrome ( https://softwareengineering.meta.stackexchange.com/questions... ). This goes for other online communities too. Trying to be too helpful does all of them a disservice. Consider the advice from ESR in ask questions the smart way: http://www.catb.org/~esr/faqs/smart-questions.html#forum
> Choose your forum carefully
> cross-post to too many different newsgroups
> Hackers blow off questions that are inappropriately targeted in order to try to protect their communications channels from being drowned in irrelevance. You don't want this to happen to you.
> The first step, therefore, is to find the right forum. Again, Google and other Web-searching methods are your friend. Use them to find the project webpage most closely associated with the hardware or software giving you difficulties. Usually it will have links to a FAQ (Frequently Asked Questions) list, and to project mailing lists and their archives. These mailing lists are the final places to go for help, if your own efforts (including reading those FAQs you found) do not find you a solution. The project page may also describe a bug-reporting procedure, or have a link to one; if so, follow it.
---
(edit)
To the "It's too big" - yes it is. I believe that that is really at the core of the problem. The avenues where I go for help now tend to be small to the point where on some of them I know every single person by first (real) name.
Having a small enough stream where I can read the entire day's stuff that interests me easily along with being in an environment where the "we are professionals, don't be a jerk" is enough of a moderation pressure that it isn't even an issue.
I believe that a variation on activity pub ( https://www.w3.org/TR/activitypub/ ) is the right way to go in the long term, with small sites that moderate and the ability to programmatically screen posts. Not sure how... but something in that nature. And if some other site keeps pushing your site crap, blacklist it and stop accepting it. And to an extent, I'd even be willing to pay for it (for someone else to keep the quality standards that I want).
The way I look at it is this: if I have a question about something, and do a search, and end up on a SO page, and the contents of that page usefully answer my question, then by definition, the question was fit for the format.
Too often I run into a "locked as off topic" question that fits the above description, and I worry that someday someone is going to go through and delete all the supposedly off-topic questions. Or, just as bad, discourage people from asking questions like that in the future and make the site overall less useful.
And yet this is what the creators of the site explicitly wanted it to become.
Once I was really motivated to reopen a question. It was an interesting question, it had 2 well written answers, one of them mine. Also it was from a new user account.
I’ve spent hours trying to get or reopened, wrote questions on meta, wrote many more messages in chats, edited the question so I’m 100% sure it fits the site.
It got reopened, then closed within days, with the exact same reason “too broad”. https://stackoverflow.com/q/57323981
This discouraged me from answering questions on that site. I don’t do web development, I don’t program Java, JS or Python. But the majority of SO community are web developers. The questions I find good and interesting, they find too broad and unclear what’s asked.
Actually, that's _exactly_ how you change the attitude of the community, by making your voice heard. Sure you as an individual aren't going to override everyone else, but if you don't voice your opinion then your complaint about other folks loses some of its ground.
Unfortunately, over the last couple of years consensus, policies, and/or something else has changed. The questions that I find interesting to answer (hard ones, and related to my area of expertise which is desktop development, 3D graphics, SIMD, CAD/CAM and a few others) are now either too broad, or unclear what’s asking. A few times the close voters closed the question even before I’m able to write an answer.
I’m probably too old and too lazy to make my voice heard. Apparently, web site owners now want SO to specialize on web development, and on deadly boring questions about it, like “how do I format date and time in PHP”, where an answer can be found within 2 minutes of using a search engine. SO is not my personal web site. If that’s what owners want, so be it.
I suspect the "too broad" closers wanted it to ask re a specific programming language. But of course in this case the asker didn't care what language they'd have to write it in (although they helpfully tagged the most likely C++ and C#).
I happen to have experience DLL injecting into dwm.exe’s swap chains. AFAIK it’s the only way to get frames in VRAM for hardware encoding of desktop video on Win7. Desktop duplication which provides same data through officially supported API was only introduced in Win8, while desktop compositor runs on GPU since Vista (usually, i.e. when Aero is enabled). I didn’t need to process frames, just copy to another texture in VRAM shared with my capture process, which encodes them with media foundation. But the same DLL injection approach can be used to process frames in real time like OP wanted, by rendering extra pass[es] before each IDXGISwapChain::Present().
Why do you think that? I guess I'm a member of that community and really don't care how people reach SO. The site is also saturated to some extent now... There's a good chance that your question's already been asked, so I don't expect the site will get many new active users really. Maybe with some new languages/frameworks becoming popular - but if you're writing C for example, you're very unlikely to get actively involved in SO at all. It's still a good reference place for C.
> the community dislikes questions that are answered in documentation or elsewhere on the internet
"the community" is not an uniform blob. On one hand side it's tiring - if someone didn't bother to do a single obvious search, why should I spend time writing the answer. On the other, if you do answer that, the are rules about including actual answer and not just linking to a document which may disappear in the future.
> the question has been locked for being unconstructive, off-topic, (wrongly) a duplicate, whatever
You can vote to reopen. Or if you can't, you can flag for moderator attention and say why it should be reopened.
There's a world of difference between über (rare and awesome) active users ignoring "tiring" questions and actively downvoting and closing them, which is what the parent comment is complaining about.
This is the false dichotomy the article is referring to. Having good answers is not necessarily the result of the users being hostile.
And in your last 2 paragraphs you're being condescending and dismissive in the exact same way the author is describing. You're making a lot of baseless assumptions about the person who asked the question even though they have adhered to the posting guidelines. Just because they don't fit your personal criteria of effort or importance doesn't mean that the question is invalid in some way.
If people dislike answering basic questions so much maybe they shouldn't hang out at a Q&A forum.
My experience is very different. I'd guess 50% of the time if I get a Stack Overflow result I click it and it is closed as off-topic or dup or whatever. If it's a dup, there's a 10% chance the link to the question it dups actually answers the question. If I'm very lucky, someone answered the question before the closure.
It's very frustrating for me. When it's good, it's soooo good.
I have an error text about a popular tool - I would say about 50% of the time SO is the best, the rest of the time is either some blog post or more likely an issues thread on github for the tool.
I really know a lot about the subject I am asking about so I know exactly how to ask to get a really good example bit of code doing what I want to do. - about 90% of the time SO gives the best answer. Of course it probably also gives a couple crap answers, almost always the answer I consider best in the response is not the one that is up highest. Actually maybe it does not give the best answer, but it definitely gives an adequate enough answer that I don't try to look any further.
The question is really pretty simple - on the level of how do you concatenate strings in Language X - this happens when I need to ask something simple about something I don't know or again when I just want a simple syntax lookup.
The problem is very complicated and it takes a lot of code even to provide a simple example of what you are trying to do - generally in such a case your problem is somewhat unique and anyway you are not going to provide an example code because doing so will be too much work to put up with SO. Instead you just keep on going trying to fix it yourself.
The question is very complicated and I know very little about the subject or problem domain. In such a case one is unlikely to produce an example code and as such SO is the wrong place to get help.
So as a general rule SO is really useful for something that you pretty much know how to do but you need a little refresher or help with some of the trickier bits, so sort of like reading the documentation but quicker. If you really need help with something however SO is pretty much useless because when you really need help you need something like a forum where you can ask some high level no code questions on the issue to get some guidance and SO by design does not do that. Maybe you might even need to ask for that SO hobgoblin, an opinion as to which methods are best to use when trying to achieve your goal!
but then again not every problem I have involves Python, in which case I do feel I'm out of luck...
(For those that don't know, #python used to have a bot that would sternly warn you if your messages contained "lol". Ten years later I still think it's unintentionally funny.)
> The first example from the article sounds reasonable at first, but are they asking for a shell command or some Go code or what? If they just said what they tried ("I expected it in `go help list` but didn't find it"), I think it would have been fine.
You can poke holes in any question like this, and for most practical purposes all of this is pretty darn pedantic. either way, no one actually asked for these clarifications, so the OP is left with nothing but a bunch of downvotes and a feeling of frustration.
> The second question I don't see why anyone would want that on the site.
Whether or not it's a good question is besides the point; the point is that piling on downvotes like that is just a dick move, regardless of how off-topic or "stupid" the question may be.
Which is actually contrary to SO guidelines. You are urged to leave explanatory comments when downvoting. It makes me wonder if adding some kind of free-form or multiple choice "Why did you downvote?" questionnaire would be productive.
SO does a good job of getting people to collaborate and produce useful results. There is no system that will be perfect and not be subject to the whims of emotive humans. I notice a lot of people saying what might work better with conviction about what results they'd get. Sorry, but I'm very skeptical of your convictions of the results you will get by changing the dynamics of collaboration. From what I've seen a lot of the complaints stem from confirmation bias, a few questions where it seemed to go wrong (which will happen). But if you looked across the many many questions on SO it mostly just works as intended. However its not without problems and the dynamics change over time, SO trys to adapt to these shifts, but it has to be careful on what levers it pulls.
I like collaboration I find I learn better asking people questions.
That gets shut down immediately on Stack Exchange sites. Often by an unprofessional, terse, personal reply by a mod "This isn't your own IRC channel" or something to that effect.
If you don't want to help - just don't help, nobody forces you to do anything.
The other end of things, the users sitting on SO, weeding through the influx of questions, looking to grab bounties, etc. that is where working with SO is really rough. That is where we deal with a huge amount of garbage coming in.
Also as someone that has written answers for esoteric questions before, it can be hugely frustrating when the moderation-by-community ends up causing you grief because they don't understand the subject material enough to do anything other than to rule-lawyer your post to death (I started ripping my answers off the site and posting them to my own instead, which yay, I guess nice traffic boost?).
I stopped answering questions long ago unless it was referenced in a Github issue.
---
On the more esoteric side of things, the duplicates can be really rough, if you have an error that is caused by something non-trivial but the same error can be caused by a trivial mistake you'll be fishing through hundreds of posts trying to find alternative answers and underlying causes, this is pretty much the only time that you find the trash heap bubbling up on the consumer side of things.
You are not searching for questions that may not be answered by reading documentation, then.
I can maybe see an argument for answers to questions being down vote-able, since people may sometimes give answers that are wrong/misleading but maybe not to such a degree that they deserve to be expunged by moderators.
Edit: wow I’m tired. I read this whole thread thinking of HN instead of SO. Time to go home and rest..
With this 1% rule, however, it breaks down. For example, if you downvote someone when you have 1000 reputation points, and then undo the downvote and downvote him again when you have 10,000, it means that you'll lose 9 points for nothing.
So, not only do high-rank users have lots of rep, they also gain rep at an accelerated pace (on average).
Roughly, it seems downvotes are used by people to indicate not enough effort has gone into the question (easily researched, duplicate question, confusing/poor english, etc).
So either all unflagged questions is valid and should be nurtured into clear, well-written queries or pointed to existing questions, or questions are to be judged* "good-faith" or "lazy" by users and the latter receive downvotes.
*This judgement is fixed in time; the question is not necessarily re-judged if improvements are made.
If I have a list of good, honestly-asked questions, I'm willing to look for a few that I know how to answer and answer them. If I have a vast pile of "plz do this homework for me [transcribed question with errors or link to a private PDF]" then I just won't use Stack Overflow.
The case you described is easy to identify and you can just leave a comment, which will be useful to both: other people answering questions and the person asking. Different from the down vote.
I think such a system could work for stackoverflow too: provide reasons like [off-topic, hostile, spam, ...], but don't provide others ([stupid-question, too-easy, ...]).
1. "This isn't welcome here." Should be flagged instead, and often is.
2. "This is factually incorrect but I won't comment as to why." I view this as lazy at best, and giving cover to #3 at worst.
3. "I disagree with this." Frankly this is the worst use of the downvote. If you disagree, say why (respectfully)!
Tags in Stack Overflow are pretty common (while they're not here) so I'd expect this approach to work better over there (first).
Downvoting to show disagreement is endorsed by the primary directing mind of HN (pg).
I agree that I'd like to see disagreement and quality indicators separated. Personally I like the Slashdot voting system: multiple dimensions with meta-moderation, and ability to boost certain types of material so you see more of it (so for example if you're really anti-humour then you can hide it all by giving comments ranked as humorous a large negative "bonus" in your personal scheme).
This issue you raise is one I, and others, raised several times and basically got told "the owners like it that way, put up and shut up".
I think I saw this done on TripleByte's website during the sign-up process where they filter applications outside of the US (and a few other criteria) with an explanation and a promise that they were trying to fix this.
That form of UI is unusual but very friendly.
Maybe a reason could be attached to the down vote button, such as [Unclear, Off-topic, Spam, Whatever, ...] as some form of lightweight flagging system. Lobste.rs uses this on comments. Users that can't select a 'Not interesting' option are probably less likely to vote down.
On StackOverflow, I've wondered if I should upvote answers on topics where I can't really verify if the answer is correct, even if it looks really informative, well formatted, has pictures, is to the point, etc. I mean, what if it's wrong? and there I am upvoting it because it looks credible. I have seen highly upvoted answers with information I know to be wrong, too.
Part of the issue is that there are no guidelines on how to upvote or downvote in neither StackExchange or HN. The platforms just leave it to the users to determine their own criteria.
( ) I don't agree with this comment
( ) This comment is factually incorrect
( ) This comment is offtopic
( ) This comment is rude or inappropriate
(Add and replace verbiage to taste, of course)
Then people's downvotes would be imbued with some semblance of nuance.
And get rid of the score, and make downvote categories have hidden negative values (so people are truthful in their answer).
Downvotes or not for nuance or dialog, that's what comments are for.
Downvotes are solely to demote content that is viewed, in the subjective opinion of the voter, as not contributing to productive discussion. If it deserves a nuanced response then it doesn't deserve a downvote.
Says who? It's not in the guidelines, so really when to use the feature is determined by its effects. Downvoting obscures comments and hurts a user's karma. So in reality, downvoting is to demote content you don't want yourself or others to see for whatever reason and/or to "hurt" (for lack of a better word) other users.
Your criteria of doing it based on whether it contributes to productive discussion fits in that, but it's not the only possible criteria users may determine for themselves.
mceachen's suggestion is to modify the effects to make the possible criteria space more narrow and more similar to the criteria you shared. When they see such a popdown, they'd have a better idea of what the downvote is meant to be used for. It would provide some guidance on the "proper" use of the feature.
I'm mentioning lobste.rs for the second time in this discussion, but lobste.rs has this and it works kind of well IMO, both to think twice when I downvote and also to try to figure out why someone was downvoted.
Then again, lobste.rs is a different community and there is a reason or maybe several why I hang both here and there :-)
HN's approach is to stick with something simple, accept that it has downsides as well as upsides, and resist the temptation to fiddle with the downsides by sacrificing simplicity. It's a strong temptation for a technical person to want to do that, of course, but there's a strong story why the downsides of downvoting are mostly intrinsic: disapproval stings. Most of what people say when they complain about the downvote system seems to boil down to that. That's not a technical problem. If there's something we can do to mitigate it, it would more likely come from helping the culture to evolve. I do think that's happened, and is happening, a little; it's just very slow.
You can't draw conclusions from how downvoting works on smaller sites to what HN should do. With online communities, size is the dominant variable. When there are order-of-magnitude size differences between communities, that is what explains why things work differently there—not subtle software design choices. Similarly, one can't draw conclusions from how HN works to larger sites like Reddit. One of the nice things about HN not having to try to grow ambitiously (it has grown linearly at more or less the same slope for many years) is that we can focus on being the best HN-sized-thing we can be. That leads to subtler, more qualitative kinds of growth.
A couple more points that bang around in my head when issues like this come up...
One form of complexity that's particularly important to resist is adding metadata and creating metasystems in order to compensate for things in the core system. The magical charm of all things meta gives that step a perennial allure. But it's often a mistake. If you go meta to handle something that isn't truly orthogonal to the core system, you end up with more of a mess. I think we have a case of this here. For example, when a comment is wrong, the way to address that is to reply with correct information. Why do we need a popup with a "wrong" selection? The core system—discussion threads—can already accommodate this function; we don't need a metasystem for it. Of course it doesn't accommodate it perfectly, but the imperfection is not for technical reasons, it's because people don't always agree about what's right vs. wrong, and so on. A metasystem doesn't fix those things, it just recreates them on another level. And now, as they say, you have two problems, plus the problem of how the two interfere with each other.
It gets worse. With any system, there are only so many complexity cards you get to play. Each time you play one, you lose the chance to use that card for something else. In the software world, often people don't know this and because they're under pressure, a system blows through its complexity budget—plays all its cards—near the beginning of its lifecycle, depriving it forever of the chance to be coherent or tractable as it grows. This is the root of the fatalistic complaints about software bloat that commonly come up in HN discussions, as well as the constant yearning to create new systems rather than be stuck, as most of us are, fiddling with a couple screws in some rusty component of a massive machine that nobody understands. It happens that, from a technical point of view, HN is a rare exception to this pattern. For a bunch of reasons, two of which were pg's minimalism and Lisp sensibility, and another of which was perhaps that the project has always been resource-constrained, HN escaped the fate of becoming more complex than it needed to be. Preserving that quality is a priority, because it allows us to work with the system in rich ways that are impossible on most production software projects.
Less tongue-in-cheek, I do think flag/downvote reasons are worth the added complexity for us, but as there's a cultural component to these design issues it's probably a non-starter for HN to adopt. A change in such a fundamental interaction on the site would be an upheaval that's not justified by probability and size of an expected benefit.
+1 on basically your entire message, especially recognizing the limits of mods and size as dominant variable on roughly everything to do with communities. Best of luck.
For answers, I would also do away with the downvote button, and offer multiple options instead, like: "does not answer the question", "misleading information", "off topic", "outdated", "i don't like the solution", ... .
That would still give SO the capability to sort answers based on some quality ranking algorithm and hopefully reduce the unwarranted downvoting.
PS, this line from the article perfectly captures how I perceive much of Stackoverflow over the past few years:
> “look how stupid that guy is, and look how clever I am pointing that out with my downvote!”
Let’s remember that score is not money, and many people actually do not care if reputation is reduced by automated means (as opposed to someone’s view on their acting). Score is just a raw signal to a participant on whether they did good or not. It never was a “win all the score non-decreasingly” game. If you spend 30% of your 10k on downvotes, it is still credible 7k. And if you gain 10k and see 3k problems, then these are community problems indeed.
My guess is that downvoting costs score only to weed out low-score inexperienced accounts from emotional voting or manipulation. No effort no score. No score no downvotes. –> no effortless misbehavior. That’s it.
What you want is a communal Socratic method. Where everyone goes round and round till the community produces a good solid answer.
The site appears to be down right now, but here's an example page on Archive.org [2]
[1] https://en.wikipedia.org/wiki/WikiWikiWeb
[2] https://web.archive.org/web/20190828124025/https://wiki.c2.c...
The Accepted Answer from 2009 is stuck to the top and you have to scroll while simultaneously scanning comments and weighing the Submit Date and Up votes.
lobste.rs does this: https://en.m.wikipedia.org/wiki/Lobsters_(website)#Downvote_...
Just remember that if you don't give users a built-in and formal downvote button, they will rebel against that UI and invent an informal downvote mechanism to express their disapproval. E.g. a bunch of stackoverflow users would type "-1 downvote" in the comments. If you think a downvote button is bad, a UI that encourages a pollution of "-1" meta comments may be even worse.
(Similar examples of users bypassing web UI limitations would be Github users typing "+1" into issues threads because there's no upvote button.)
Let's say you have 3 rough categories when judging a question such as :
(1) agree / approve --> upvote
(2) apathy / don't know answer --> no vote, do nothing
(3) disagree / disapprove of low-effort question --> downvote
If you architect the web UI to collapse categories (2) and (3) into "no vote" to minimize "hurt feelings" and thus give voters no outlet to express a "downvote", don't be surprised if users rebel and invent adhoc ways to do it anyway.
If you read through the meta thread mentioned in the sibling comment by vasili111, you'll see the well-respected high-karma SO users like John Skeet, etc use the downvote button as a feedback mechanism for bad questions.
### EDIT reply to those (galaxyLogic, randcraw, etc) suggesting forcing downvotes into the comments area:
On the surface, it sounds logical and reasonable to force explanation of downvotes but that doesn't work for high-traffic sites like StackOverflow. (In 2011, Jeff Atwood tried to explain this.[1][2][3][4])
The issue is the asymmetry of work between bad questions and good questions. It's easy to ask bad questions. It's harder to ask well-researched and high-effort questions. This asymmetry inevitably results in the SO site being flooded with bad questions.
Therefore, forcing a "downvote explanation" just adds friction to the goal of filtering out the massive volume of bad questions. This was the rationale why downvotes on questions don't cost any karma. I.e. forcing downvote-commentary works better for low-traffic sites and small communities but not for high-traffic sites.
[1] https://stackoverflow.blog/2011/06/13/optimizing-for-pearls-...
[2] https://meta.stackexchange.com/questions/56817/can-we-preven...
[3] https://meta.stackexchange.com/questions/135/encouraging-peo...
[4] https://meta.stackoverflow.com/questions/250177/require-a-co...
In a decent community you don't get punched in the face for asking an ignorant or lazy question. Instead, you do not get any reward or positive feedback for it (upvotes, attention to the question). The default of decency is a neutral, respectful treatment to others; a floor of dignity. People can learn how to better contribute without being either subtly or overtly attacked or bullied.
I also give downvotes an expense, they cost points (they subtract from your account score), and I increase the cost as it makes sense. So a user must earn the ability to downvote through contribution. If the system has too much downvoting, you can gently alter that behavior by ramping the cost overall and individually (if a given user is prone to downvoting heavily, you increase their cost beyond the base system cost).
If the system knows the item is rated zero, then why even give the option of downvoting at all? Conditionally remove the control and you remove the need to display an error message.
Thought experiment: You say that reaching below 0 is punishing and getting more than 0 shows that your question is good. You get feedback that you've done great work writing the question. How would it look like when the site relates to your feeling when writing and contributing to the site? Would it work even if you remove score all together?
Giving rewards result in people seeking awards. Which may seem like a wise thing but aiming for self confidence is way better. Which is obvious but may be good to point out anyhow.
In other words, give them a placebo button: https://en.wikipedia.org/wiki/Placebo_button
An SO down-vote is not simply an "opinion", it affects your karma-score, perhaps even your chances of getting hired.
It's lose/lose. Don't tell them why and they get frustrated, tell them why and they get defensive. It takes a rare user to take the feedback and use it to improve their question.
That is so true, even people giving negative feedback have trouble when they get negative feedback from someone else. Therefore I think the system, the site, should make it easier to give positive feedback, than negative.
To you know bring about a positive community feeling. The purpose of the site should be to help its users not to make oneself the over-arbiter of what is correct what is not.
Facebook has its share of problems but excessive unexplained down-votes is not one of them.
This will spread and people will cling on. Soon you will reach self moderation due to the positive nature of the community.
Learning to accept feedback is much about learning that you may actually receive positive feedback and that your self worth is enough.
So I was listening to l to this guy Jim Thuresson which is a mental coach. His life is basically breathing positiviness, and his take on it is, it works, you shoukd do it too. If you fill your head space with 100% positive thoughts there's no room for anything negative. Maybe going on strong here, but it's such an important message. I just winder how we bring that thought onto the Internet.
Neither stack overflow nor your fellow users are obliged to you beyond the standards set by the site and general human decency.
It takes 1 second to downvote a low value comment. It might take 5-20 minutes of conversing with a stranger who is likely to respond rudely to criticism. Less voting means less curation means wading through more lower quality materials. I don't want to use worse websites so you can have more imaginary internet points.
Don't like it use a different website.
Agreed, except I think that is the problem.
It takes ZERO seconds to not give points at all to a low-quality comment. And the site should take care readers see the comments with more points before those with fewer points.
> Don't like it use a different website.
I think you are saying nobody can or should criticize Stack Overflow and its cadre of super-super-users because nobody is forced to use it.
It's a bit like saying hey you asylum seeker we put you in a cell with standing-room only for weeks and separated you from your children and put your baby in a cage without anybody changing their diapers ever, but if you don't like that, seek asylum in a different country. You can't criticize us because it is you who came here.
All that's left to discuss is strategies for maximizing the quality of votes and voters. Ex minimizing the impact of low quality voters by requiring rep to vote.
I think highly paid professionals whose wages mostly put them in the top 10% of the world have an easier time changing tech support forums, perhaps by opening a new tab, than the refugees fleeing murder and mayhem with nothing but the clothes on their backs have of picking a different country to land in.
Perhaps pick a less disgusting comparison.
Surely. I was just saying it is a "little bit like" that. The principle seems to be the same: You can't criticize because ... you chose to use Stack Overflow for help. Go elsewhere if you don't like it.
Surely that is what people who don't like it do. But that doesn't mean they shouldn't express their opinions about it.
And it's very effective to provide "feedback" in the form of a drive-by downvote, isn't it?
A large portion of the people posting stupid low effort crap on internet forums are impossible to educate. If you spent your time trying you wouldn't do anything productive.
The internet being what it is someone will surely tell them what is wrong with their posts. If they get 17 downvotes and one person tells them why is that not sufficient?
I understand your confusion and frustration but folks like Jon Skeet are also providing feedback to their fellow answerers who don't want to see bad questions.
For some people, this signaling mechanism to reduce wasted effort for peers is even higher priority than feedback to the person asking the question.
Yes, you're absolutely correct. However, you're not realizing that the truth you stated (free-will volunteer vs conscript/slave) is actually the reason why users are not getting mandatory comments from downvoters.
Because StackOverflow can't force desirable expert answerers like Jon Skeet to look at SO questions, they have to keep some social mechanisms in place to keep the site attractive and tolerable for him and his peers. (E.g. Jon Skeet doesn't want to leave mandatory comments for every downvote and many of his expert peers agree with him. So far, StackOverflow & Jeff Atwood also agrees with them: make downvotes easier not harder.)
>Optimizing the site to maximize the probability that users feel stupid is not IMO the best choice.
It's certainly possible to believe SO's philosophy is fundamentally flawed and the rules need to be changed to favor the question asker over the answerers and if Jon Skeet doesn't like it he can fuck off. Well, I don't think SO has determined that the "brain drain" is worth it.
Look at the Skeet's profile[1]. He's probably the top C# and Java expert on that site. One of his most-upvoted answers is to the question, "Why is subtracting these two times (in 1927) giving a strange result?" The very tiny number of C# programmers with the expert skills to answer that question are outnumbered by the masses of people that ask stupid questions.
It doesn't seem like your suggested changes take into account the asymmetry of the bad overwhelming the good. The resource constraints of Q&A site are the minority of experts capable of answering the questions with quality answers. SO noticed that resource constraint in 2010 and that's why it prioritizes highly valuable contributors like Jon Skeet over random people who can ask any bad question.
This question does not show any research effort This question is unclear This question is not useful
that is (almost) literally the title text of the downvote button. I think people just don't like the shape of the button and the idea of negative numbers.
A few ideas to make it harder to ask dumb questions:
https://news.ycombinator.com/item?id=20861911
In short: when accounts are free, activate instantly and can ask questions immediately, don't be surprised that people ask stupid questions.
But, it seems the company that owns Stack Overflow SAVES MONEY by not hiring people to filter out improper questions. Rather they rely on the free "help" of the community.
Which also means they can hide behind the community. It is not Stack Overflow that is rude to you, it is some users, some bad apples. SO takes no responsibility. And saves money.
I cited some meta SE threads about that idea in my other comment but I forgot to add this thread as well:
https://meta.stackoverflow.com/questions/357436/why-isnt-pro...
Forcing comments on downvotes looks reasonable but it doesn't work at the high-traffic scale of StackOverflow.
[To downvoters, (1) are there any other discussion websites with comparable high traffic to StackOverflow that have forced-downvote-explanations so we can see if they work ... and (2) are you aware of the degraded-signal-noise-ratio reason in 2011 that Jeff Atwood made downvotes easier (free) instead of harder?]
I honestly can't tell if your comment is snark or some type of realistic actionable advice.
If you intended actionable, what exactly do you propose SO to do to not be "high-traffic"? One of the meta threads say they got ~12k questions a day. (Most of them bad.) Should SO set a limit of 500 questions and after that, each person gets an error on the webform saying "Sorry, we've reached our max question limit today. We want to stay a low-traffic site so hope you'll understand!"
To recap some SO history from Atwood's posts...
2008 - StackOverflow is opened
2010 - Atwood and others notice they're getting inundated with too many bad questions. At this time downvoting questions cost karma.
2011 - To counteract the high volume of low-quality questions, they made downvoting questions free to remove friction.[1] Atwood noticed that users were too restrained in downvoting the questions and didn't exercise that power enough to clean up the site. Therefore, forcing the downvotes to have comments (add friction) is the opposite of what they were trying to solve in 2010 which was quickly suppressing the bad questions. SO has more traffic now in 2019 than back in 2011.
Perhaps some that are suggesting the idea of forced downvote explanations (I admit that it sounds like a wonderful feedback mechanism) -- don't know of SO's scale and the problems they had in 2010? I dunno.
[1] Jeff Atwood announced change of policy -- "Downvotes on questions no longer cost the casting user 1 reputation, so they are effectively “free”. [...] So, it’s imperative the question list have a high signal-to-noise ratio, and removing the penalty for those users who do take the time to read a question and later find it to be useless so they can down-vote is conducive to that." -- excerpt from : https://stackoverflow.blog/2011/06/13/optimizing-for-pearls-...
But then again there's a fine line that both side seem to constantly walk over. 30% of question consists of "how to do this on my homework, please submit a full solution", while the other 30% that are legitimate question being over zealously patrolled.
I've suggested a few times already that part of this problem might be that asking questions is the first privilege you get and you get it for free.
If it costs something people would be more careful.
The cost can be anything:
- Classify 5 answers correctly
- Pick answers from a multiple choice
- Pay a dollar
- Wait a few days to activate
- etc
Ideally the user should be able to choose a method that suits them but make the account worth something.
As long as accounts are free, activate instantly and comes with a free right to ask questions, stop being surprised that new accounts pop up to ask silly questions.
By voting I'm referring to things like whether or not a question is a duplicate of another etc.
- first: multiple choice. You get 5 good questions and 5 good or bad answers. For each of the questions you have to answer if the answer is good or bad.
- Next: 5 known questions, that might be good or bad. You have to answer if it is good or bad.
- Finally: the moderation queue where the answer is only used as an weak signal to the actual moderators.
Success rate of 100% required for stage 1, 60% for stage 2 and just completion for stage 3.
This would leave a new user with a good understanding of what the site is for before they can spam.
It will also make their account seem somewhat valuable.
And if someone wants to pay someone to take their test, fine with me, at least the account isn't free anymore.
It's a hard problem, because it's about patterns. Everyone has a bad day and posts a badly worded comment every once in a while; I certainly have. That's okay, it's human nature. The problems start when a small group of people do it all the time, and turns out it's rather hard to actually detect those kind of patterns.
Obviously the system didn't work for Stack Overflow, otherwise they wouldn't have abandoned it, I don't remember why.
EDIT:
Seems the system is still in place. Down-voting an answer costs one reputation point, down-voting a question is free.[1] For reasons for the asymmetry see [2].
[1] https://meta.stackexchange.com/questions/7237/how-does-reput...
[2] https://meta.stackoverflow.com/questions/251610/why-does-dow...
Still does.
Better filtering options would be helpful. I'd love to review unanswered recent questions by reputable users. I don't care about seeing questions with 0 upvotes, older than 30 minutes and more than 20 views. There is currently no good way to list these. You either end up with questions from years ago that had lots of upvotes but no answer or an endless list of low quality crap that was recently modified or asked.
I've pretty much disengaged from even looking at the Stackoverflow feed of new questions because the signal to noise ratio just went out of the window in recent years. There's a lot of signal dropping out of these feeds because of all the freshly signed up users wasting people's time.
Stackoverflow has plenty of ways to earn reputation but no good ways to filter on that. IMHO fixing that is the answer. The site needs a more efficient way to get rid of the obviously crappy questions (and the people asking them) because the volume of both is just killing engagement currently.
For answers, I think the existing up/downvote mechanism works fine though the site could maybe do with a bit less passive aggressive style moderation/commenting. The way answer sorting works, the good stuff ends up on top anyway. So there's less of a need to intimidate people that are trying to be helpful but failing for whatever reason because their impact is less high. I tend to bias to being grateful somebody took the time to read and answer my questions even if it ultimately is not that helpful.
I feel people try to categorize too much for no good reasons. Oh this question shouldn't be asked here? As if it's the 1980s and people browse the web using categories.
I get it for people answering. They follow a tag and answer questions and ideally they don't want to see questions about things they can't answer. So seeing unrelated questions can be seen as spam from that angle. But there has to be a better way.
That might be why I find Quora has more potential. You can just tag whatever. Wrong tag. Just tag it with an appropriate tag done. Maybe we don't need to segregate Q/A sites. That said, I don't like Quoras layout and UXquite as much for code.
This is a way for regular users to immediately eliminate inappropriate content, such as porn or advertisements. I've seeing it go off many many times in my years at the SciFi stackexchange.
Their creators should be canonized. You don't remember the pre SO times. You couldn't find anything to fix your problems and must read the source code or pay zillions for some sh*tty support. In the pre-internet times, you just would hit a wall and have to quit. I really love Jeff and Joel.
SO is on Wikipedia level of blessings to humanity. I wish every profession out there could have a resource like this.
People often share negative experiences asking question in SO but really, I can't fathom how that could happen. Just follow the composition rules, take a few minutes to write and research your question and you will be fine. Don't be so lazy.
If you have a question that hasn't already been asked, its worth it to take the time, follow the rules and do it properly. Don't think of it as YOUR question, its the community's question.
I think it's time to pick up my toys and go home. And never return here.
I'm just trying to point out there's a difference between SO being a super useful resource when programming, and the voices in this thread that seem to literally say "I can't program without SO" -- to which I kinda want to say, maybe then you shouldn't write code for other people.
That may sound a bit arrogant but there's a real question behind it: Is it really true that SO allows large numbers of people to write code that they would otherwise be completely unable to write or finish? I mean, are the people who say they would get hopelessly stuck without SO, just not very good at reading docs, doing research and understanding systems? Or did they just never really try, because SO is right there on page one of the results?
So there are people who believe there are programming gods who live on SO, that are the only ones with the knowledge to answer certain questions ...
Nothing is perfect and SO has its warts — but it’s far better than anything we’ve ever had.
I have a hard time getting into a flow state when I'm looking something up, but when I know the language inside and out it's easy for me to get into a flow state.
So much so, when I learn a language I try to know it well enough to never have to google for help. Of course, I still google around at times, but I find the less I have to the happier my day is.
SO is a blessing, but it's also a curse. Younger devs have no idea what they're missing out on.
Is this because this Web programming innately needs lots of tools, etc. to work, or because the modern programming ecosystem (including stack overflow) has allowed it to grow to be this way?
Just to nitpick a bit, I would say that complexity grows quadratically - proportionally to the number of potential interactions between subcomponents.
Yes, I still have to look up libraries for, eg pip, and I haven't gotten to the level of knowing every compiler error yet.
But it is very much a doable goal. Especially given that knowledge transfers between languages and libraries. Once you learn the thought process of the dev who wrote it, you can guess how they did or are going to do everything after that, creating a short cut where you can guess and usually always guess the right answer. It's much quicker than using SO.
This meant you could keep scrolling and what do you see - a few pages after the blurred out answers were the real answers!
Sounds like you couldn't program before SO.
Companies who developed libraries and frameworks had to do proper technical writing, otherwise people wouldn’t be able to use their technology. Microsoft did amazing job writing their MSDN, but others did well, too. Linux man pages, Java JDK docs, and similar sources contained more than enough information for a motivated reader to start using their tech, get stuff done, and be productive.
A bit later, many of the vendors created their own Q&A forums, in addition to writing documentation. Such forums are focused on a single tech, so web developers don’t come to game dev forums to close other people questions they don’t understand due to lack of background. Happens every day on modern SO.
But even with pristine MSDN documentation and lots of (pre-SO) googling some problems were just very hard (or I was just inexperienced).
I think tools also evolved and it's not surprising that "HTML" won, even QT looks like cutting a tree with a kitchen knife sometimes
Modern SO doesn’t help with hard problems either, such questions often closed as “too broad”.
> even QT looks like cutting a tree with a kitchen knife sometimes
C++ is just too low level for GUI. Look at WPF or UWP, both are miles ahead of HTML even with modern webdev stuff like react, but they work fast.
I think the main reason why HTML won is Apple, and modern mobiles. Building multiple rich GUI applications for Windows, iOS, Android is too expensive for many people, the platforms are too different. Even before HTML5 arrived, it was possible to build a single web app: JS workarounds for cross-browser compatibility, and different styles/layouts to support both mobile and desktop browsers.
Oh my questions were very specific usually
(the hardest one I remember was how to put a borderless window inside another window (because it could change) and making it all work. Think some good amount of win32 quirkiness was needed for that to work the way I wanted)
What is the best way in C++ to calculate the coordinate of a rectangle (hyper-rectangle) in n-dimension? I have dimensions of the rectangle in a 1d vector like {1d_min , 1d_max ,2d_min,2d_max, ...., nd_min,nd_max}. For example, in 2d the dimensions are {1d_min,1d_max ,2d_min,2d_max}. And the coordinates will be {1d_min,2d_min},{1d_min,2d_max},{1d_max,2d_min},{1d_max,2d_max}. However, I want it for n-dimension.
For people with even minimal background in geometry, it’s obvious the OP wants coordinates of all vertices of an axis aligned hyper-rectangle. A good question in my book, and it has very simple and elegant answer which I wrote there (using bits from an integer vertex index to select min or max coordinates).
I found MSDN so filled with unexplained parameters and fields, hyper-linked to other unexplained classes, that I gave up and haven’t tried again.
Where did you find the well written documentation?
Wow, I must have been a natural talent or something /s
But seriously, programming isn't that hard. Finding the answer on SO is just a shortcut, saving some time, but it's not like the information magically grows on SO. It came from reading the docs and having a good understanding of the subject matter.
I mean yes, SO is a blessing. Super useful. But it's not as if these things were impossible to figure out by yourself.
Now, programming in the pre Internet times ... you would borrow a book from the library that was an old software version or the wrong OS, but there might be some keywords in the book's index that you could blindly try out and type to see if they do anything with your version. Then I remember getting stuck.
So what if SO helped someone to get to the resume phase who perhaps shouldn’t be there? There’s only one way for them to figure that out, and it’s experience. Give them some constructive criticism and move on.
My opinion is that "Stack Overflow" vastly exacerbated the eternal September effect -- people went there for instant gratification (of both the question and the answer variety), instead of focusing writing better manual pages. Yes, manual pages. The ones written in nroff. Those.
"I like Linux because I can find an answer to anything within seconds on Stack Overflow" (a "UNIX systems administrator" once told me that to my face) is not a good reason to adopt any technology, any programming language, or anything at all.
From my point of view, "Stack Overflow" is one of the great evils of the information technology industry: nobody bothers to think about the problem and research it any more. It's all about instant gratification and non-existent or shitty documentation nowadays. Great evil befell us all.
Then Perlmonks was like a Perl specific version of Stack overflow, with the difference that they encouraged discussion, leading you to a far deeper understanding of the language. I miss that.
(It still going, its pretty ugly but the content is better than SO). https://perlmonks.org/
And let's not forget the fact that SO came to life in the time when web started to grow and improve a lot. It's not THE improvement; it's just one of the development improvements we grew to like.
Today it's a standard practice that 3rd party code (tools, libraries, frameworks) come with decently written docs. Specific for web development, MDN improved a lot, and it's a good summary of the full spec. Also finding data on these pages is easier than it used to be thanks to improved search engines. All of this is, in my opinion, is a reason why SO is not as important as it used to be.
The author has a good point. A great platform doesn't excuse the behaviour of its users. The least one could do is explain the downvote, to give some guidance for the future questions. They exercise their right (power) to "moderate", but not their duty to make it a better place.
There’s been many cases where a high score user answers, gets a lot of upvotes cos people are like “oh his score is 30k so he must be right” yet the answer is not good or incorrect. And there is a better more correct answer by someone with a Low score who get few votes.
Voting should be unbiased and be based on the answer. Not the person who answered.
How long would you keep it anonymized? most questions don't get almost any traffic at all when they are first asked. They only get exposure over time.
It just seems like a posing proposition because it's so easily circumvented in which case it's not worth the effort at all.
It's like if you have a health-related question and get answers from two people: A trained surgeon and your mate from the pub (Edit: who's obviously not trained or knowledgeable on the topic, jeez). A priori whose answer is the more insightful?
If you're not knowledgeable and get a number of anonymous answers it may be difficult to get an idea of their relative 'values'.
But put it this way. Trained surgeon A who has 5 years experience and has been on the site for 3 years has 4000 reputation. Answers a question.
A trained surgeon with 26 years experience who joined the site last week and has a reputation of 200 supplies a far better answer with added explanation of why and how etc.
You look at it and say oh wow 4000 reputation he must know more than the other guy. I’ll take his advice over the 200 reputation guy.
If you don't understand how comparisons work, you have a bigger problem to worry about.
> put it this way
The question then becomes... the 26 year veteran surgeon does boob jobs and tummy tucks. The 5 year veteran does emergency room and brain surgery.
Given how complicated something as simple as "surgery" is... how do you plan on registering and ranking something with multiple levels of "experience" for "easy" viewing by users who want to ask questions?
New to site, surgeon, decades of experience, plastic surgery
Been on site, surgeon, years of experience, "real" surgeon
I'm not aware of any discussion forum that has yet come up with an effective way to balance those competing effects. I suspect it would need a more complicated moderation/voting system that grades a comment on multiple scales independently, with credibility/correctness being one of them. But then you have a new problem of how to keep the system manageable so that users can still operate it with negligible effort and without the scoring system becoming confusing and more trouble than it's worth.
But practically forcing users to select an answer as "good" should probably not be the only way to do this.
That's a fundamental tension in the purpose of the site. If the particular problem of the asker is the end goal, then duplicates would not be closed. All other site criteria institute a strong demand for general interest of questions.
Part of its success may be deftly balancing those two conflicting interests. On one hand is the role of helping people, and the other hand is a non-repeating and immediately useful knowledge base. Both of these demands bring human attention, and satisfying either requires real work by a human. The challenge is to keep the relevant human around just long enough to do enough work so that you have plausibly usable content.
Accepted answers are a site design tailored for one use, but it is fantasy to pretend that it harmoniously exists along side the other use. They are not separated. Design elements oriented toward one way of use degrades the other use.
I know because I write those kinds of answers.
I wish they would unpin those answers from the top - leave the green checkmark, just let me sort by whatever has the most votes recently - say in the past year. Then we'd get more up-to-date answers more attention, and more readers would find them.
In the common case, the accepted and best answers will probably be the same, so keep the classic green checkmark there.
When the accepted and best answers don't match, have two checkmarks (or whatever) - one that explicitly says "user XXX accepted this answer" and the other that says "this is the best answer".
1. If you're asking for help on a topic, then--by definition-- you are in an information asymmetric situation. You don't know what the right answer is. There's a decent chance that you, as the asker of the question, are not in a position to evaluate the answer on its merits.
2. Therefore you have to choose the answer based on other factors. On SO you can do something like see if the proposed answer makes sense to you, and check if the answer produces the results you want. Those are pretty okay metrics. But, obviously, they aren't perfect. Whether it makes sense to you doesn't fully track the truth of the situation, and whether it works or not doesn't address whether it's a good idea for other reasons, like being grossly inefficient, or deprecated, or unmaintainable, or whatever. So there's a decent chance that you can't evaluate the answer on its own merits, AND that sensible heuristics will fail you because you don't know what you don't know about the full context of the question, and might choose a wrong answer as a result.
3. Therefore, an additional useful signal you can track is the reputation and apparent expertise of the person who is answering. Of course, exactly as you say, it's not a perfect metric. But I think it's a meaningful signal that is generally useful to consider. Eg. If Jon Skeet answers my C# question, I just have a strong prior that it's correct in a robust way.
It's an empirical question whether removing that signal would somehow improve the overall outcome (eg. removing that signal forces people use only use the heuristics that are based on the question itself instead of short circuiting that process in favor of an easier social signal).
But I would bet that the empirical test would show that including the reputation signal improves outcomes, on the general prior that more information is better than less information.
Edit: One thing that would change my bet: one feature of really high quality answers is that they are often long and made of parts, like they explain what to do, and what to avoid, and have details about why that is. You could track the length and detail of an answer as one of your heuristics for choosing a correct answer. If it turned out that people who have the correct answer were more likely to write answers with that sort of detail if their identity was hidden, AND it turned out that people use that sort of detail to decide if an answer were correct or not, then I could imagine better answers existing on the site overall, and those answers being more consistently upvoted.
SO seems to reward "technically correct" fast on the submit / answers compared to more thoughtful answers.
This also is reflected in what gets answered and what does't. If it requires nuance or thought it doesn't get answered.
I asked something like "How would you render a bazillion things in react under X conditions and manage performance?"
The responses were all "show me your code" or "here is how you render them" Like guies no, I know how to just render them... I'm asking about keeping the DOM from going bonkers.
But their responses "work" and so that's all I got.
I'm a reasonably senior engineer, I've been lucky to experience an extraordinary breadth of technology in my career, and I love helping people learn to program... but I just don't have the time or emotional energy for SO's top posters to pick apart the minutia of every word I say in an answer. The ROI for me is nil.
Posted a week later with a friend's account and it stayed but my friend panicked at loss of points and inability to do their job without them and removed it themselves (tho gave me answers firtst).
If the person who answers actually needs the points, I'll give that some consideration, but it seems like a lot of the time the solution is offered in the comments anyway. I don't know why that is.
Every once in a while I'll swoop in on a basic question and try to answer it before anyone else notices.
I've been yelled at for doing that on Stack Exchange sites other than SO.
The intended outcome here is that you post your own answer, and leave a comment on the most upvoted one summarising your concern with it.
And that readers don't just pick the most upvoted one, (even though it's obviously the site's design that they should be able to do that).
The answers have a sort order, controllable by tabs below and to the right of the question. These go to the same page with a GET arg to change the order. The trick is that these are sticky - browsing to one saves it as your preference. So if you post a comment to a question and include that arg, it'll switch the whole site for whoever clicks it, without telling them.
One of the options is "newest first".
Last I contributed anything on there I was being told by a single poster that my question was 'wrong', and descending into an argument - and started throwing SO convention at me. I just deleted the question. There's a sociopathic nature about those looking for ratings and authority that's totally at odds with simple sharing of knowledge and learning.
This is how Stack Overflow is designed to work. One single user is not supposed to be able to edit a top answer and change it into a different answer.
The Stack Overflow Way™ is to post a new answer that tells the correct answer and why the other answer is wrong. Then the community has two separate answers and they can vote on which one is more correct.
Confusing? Yes. Arcane? Yes. Did the system fail in this specific circumstance? Absolutely yes.
But they can't just let people edit highly voted answers into fundamentally different answers. That's why your edit was not approved.
I appreciate SO and use it many times a year. I remember the world before SO (experts exchange was very bad), so I’m happy it exists. And it’s obviously getting along without my comments and moderation.
I always wished it would pair well with something like HN so the reputation effect from a daily activity would carry over to an infrequent activity.
I also really respected Joel Spoelsky so didn’t really have a constructive criticism as the site worked pretty well.
I don't really have an answer to the problem, SO has some very smart people working for them who, I'm sure, think about this issue. For some reason technical discussions held by competent people on the internet seem to trend towards dumpster fire. I've also noticed this phenomenon on photography discussion groups.
I've seen moderators of small communities hold off the effect by setting a good example, using a deft touch, and not letting the community get too big.
My suspicion is that once the number of commenters gets much past Dunbar's number [1], the universal fall into "default jerk" happens. Once that's taken place, you're stuck in an Eternal September.
Communities in the real world don't scale well. I'm not sure why programmers expect them to on the Internet, with its well-known capacity for dehumanization.
And perhaps make it so that DOWNVOTES CAN BE DOWNVOTED (provided a written reason is given for that as well).
I think they don't have enough (or any?) moderators working for them. They rely too much on making profits with the free help of trolls.
I understand it would be hard for them to change the power of the troll-users by now. Perhaps we simply need a new Stack Overflow, some competition.
Has it changed a few years ago? When I started 3 years ago, I could answer right from the start and I got the ability to vote quickly enough, after a pair of vote on an answer, without having to do menial tasks every day. Reputation can also be gained with edits, is that what you are talking about?
For instance "how do you concat strings" for various languages is highly upvoted. Senior advice about general code structure and maintainability doesn't really have a title.
(Also, if many people read your answer and approve of it, then eventually you'll get some votes too.)
Having said that - there is some merit to sticking by the (nastily-enforced) standards. It does get people to improve their answers. Not saying that I approve of people's conduct on SO - it can be quite terrible.
No, Stack Overflow high-rank users certainly do not. (A current community moderator literally said "Voting is not a friendly or unfriendly activity.") I've too suggested that the UI should be changed to be less abrasive and that high-rank people should be more accountable for their actions and been downvoted for that.
It's worth noting that this phenomenon of lack of empathy exists mostly in Stack Overflow, much less so in smaller communities where people don't generally have that much rank. At least that's what I saw with my personal empirical observation of Arduino SE. Not to mention the high-rank users loathe the welcoming initiative SO made, because god forbid they can't be snarky asses without getting flagged any more.
Doesn't make it good for the site or it's users. It's a very poor excuse.
> rant calling people unwelcoming snarky abrasive asses, is amusingly hatey.
Are you a high-rank SO user? Also, what I stated is not a "rant" it's an empirical observation.
Excuse for what? SO has the UI instruction that you /should/, as a user who agreed to follow the rules, downvote low effort questions which show no research. Agreeing to follow the site rules, then not following the site rules and deciding it should be run the way you want it to be run instead, isn't good for the site either.
> Are you a high-rank SO user?
I've never thought so, but looking at the data[1] everyone with >500 rep is in the top 5%, so by that standard, yes.
> Also, what I stated is not a "rant" it's an empirical observation.
No, it's not. Saying that people "should be held accountable" for their downvotes on an internet site is not "provable by means of experiment", it's "people I disagree with should be punished". Calling people "snarky asses" is not experimental, it's subjective interpretation. Describing downvoting as lacking empathy, on a site where downvotes are intended to describe the question not the author, is subjective interpretation.
[1] https://stackexchange.com/leagues/1/alltime/stackoverflow/20... tables on the right hand side
How many questions that get downvoted actually haven't done any research? I've seen a ton of those that have done their research and have gotten downvoted. In addition to those I have personal experience where I list what I've tried and found, and still get downvoted. I have to say, not listing any research has ended up better for me.
It's an excuse for just downvoting without really a good, constructive reason. It's absolutely fallacious to keep iterating over the same "it's a feature, not a bug" argument, the existence of a guideline is not a good reason for the guideline to exist, same applies to the Stack Overflow Meta as well.
> Saying that people "should be held accountable" for their downvotes on an internet site is not "provable by means of experiment", it's "people I disagree with should be punished".
How is "explain why you are downvoting" a punishment if what you're doing is actually reasonable? If you feel you are punished when you have to explain why then you shouldn't downvote.
> Calling people "snarky asses" is not experimental, it's subjective interpretation.
It's your interpretation of "snarky ass" you can't detect by observation of comments. I myself can verify by observation that such comments exist.
> Describing downvoting as lacking empathy, on a site where downvotes are intended to describe the question not the author, is subjective interpretation.
You're definitely lacking empathy right now if you don not see that downvotes will never have the "intention" you said, at least for most people.
Oh, and let's not forget, it's not a subjective interpretation that people get negative emotions towards random downvotes being thrown at them, it's very visibly observable one, might even say it's empirical.
True. And I would say "random unjustified" down-votes. Because if they are not required to explain their down-vote the simplest Occam's Razor explanation for such down-votes is that they just wanted to be a jerk.
This is a system-problem with Stack Overflow. They could easily require that every down-vote is given a verbal justification AND also that down-votes can be down-voted (with a similar verbal justification).
Down-vote without explanation is like a punch in the face in the dark you can not counter-punch, and you know they know you can not, and therefore you know that is one factor on why they are doing it. That is the reason why it feels hostile. Now of course somebody who punches you can SAY they don't mean it as a hostile action, but do you believe them?
The guidelines say "shows research" - hover over the downvote arrow on StackOverflow and read the tooltip - so who knows how many? That said, you're discussing it for you writing a well researched question, but the META arguments are usually for the thousands of "give me the codez pls" homework dumps which get filtered out before most people see them, because the downvotes put them into the review queues and effectively cause them to be filtered.
> the existence of a guideline is not a good reason for the guideline to exist
SO have not changed this policy, despite lots of feedback, for years and years. Shouldn't we assume they have good reasons even if we don't know what they are?
"we're working together to build a library of detailed answers to every question about programming."
The users of a library are not the book authors. The feeling of the book authors about the reviews on their books doesn't come into the design of a library, for one example. So maybe we do know what their reasons are - their actions say they bring in a 'welcoming' policy before they change the downvotes.
> How is "explain why you are downvoting" a punishment if what you're doing is actually reasonable?
You said "high-rank users will be more accountable for their behaviour [which is] being snarky asses", that is very different from "every downvote should be explained".
> You're definitely lacking empathy right now if you don not see that downvotes will never have the "intention" you said, at least for most people.
I have argued the same thing on HN before, downvotes is a terrible UI design for SO. But they are the design, and here I'm arguing that should be respected.
I think this interpretation is colored by your own bias. Downvotes only show a lack of empathy if downvotes are a social mechanism to comment on the asker, not the question. Particularly given that the SO guidelines explicitly say that downvotes are for the question, not the asker...
I'm reminded of every stop sign I've ever stopped at in my life. Some asshole is always waving me ahead of them, even though the rules of the road say it is their turn. They probably think they are being considerate. But I don't think they are being considerate - I think they are making traffic flow less well, an inconsiderate act.
Interpreting downvotes as a lack of empathy is the same sort of wrong reasoning as thinking that letting somebody go in front of you at a stop sign is considerate. It disregards the well documented and publicly posted rules for something you made up.
Interpreting downvotes as a considerate act is like stabbing tires on someone's car who just had a light go out. Saying nothing because downvotes don't give any useful signal at all, they don't even know you stabbed because a light doesn't work. And seeing stabbed tires doesn't really give people seeing the car an useful signal either, only maybe a sense of being in danger.
But it isn't done correctly. It's done rather arbitrarily, because who could have predicted that accurate rating of questions is hard and that in the end what matters is having a quality knowledge base on various subjects not only the ones some specific people think are useful.
I'd also not ignore that pretty much noone except the asker care about questions' votes when primary traffic to questions is from search engines.
Oh, and I almost forgot, your claims of how downvotes are not meant as a signal for the asker, then why are they displayed the votes? Why should they lose rep if it's not meant as a signal to them?
In SO's specific case, the problem it's ostensibly trying to solve is indicating that the question, as asked, needs work, or should have been asked elsewhere. But there's nothing in the mechanism to ensure that it's solving that problem. So, where what they needed was a constructive feedback mechanism, what they built was a ruler for whacking knuckles.
I think that SO would be greatly improved if they simply took away the downvote, and replaced it with a more structured mechanism for giving the question asker feedback on how to improve their question. It would make the place more friendly, and it would replace a mechanism for brusquely chasing newcomers away with a mechanism for teaching them the community guidelines in a positive way.
In my view, if you think a question needs work your first option should be to leave a comment, and your second should be to edit it yourself to improve it. If there isn't time in your busy schedule of bludging at work for either of those then maybe consider just ignoring it?
And the obsolescence, things are moving so fast in JavaScript, Android, even in QT, Clojure etc, many answers including accepted ones are obsolete, and misleading.
This is the absolute worst aspect of the site to me. Some answers are version specific, some stop working overnight one day, some used to be good practice in 2011 and still work but really aren't any more and there is no sane mechanism for stack overflow to handle any of these things.
This is quite apart from the multitude of answers which are voted to the top which are wrong, only partially right or bad answers.
Example: How to check for Invalid Date in JS?
```js
function invalidDate (date){return isNaN(date.valueOf())}
console.assert(invalidDate(new Date("foo")) === true)
console.assert(invalidDate(new Date()) === false)
```
But I'd expect if someone noticed an out-of-date answer they'd just comment and it'd get fixed that way.
Then I see someone asking a homework question who clearly has tried anything themselves, or a question that should have been googled first.
But I think from a performance perspective it is impossible not to want to have several different databases each one with better performance than a single big one.
And they have the traffic to have to worry about such things.
In particular, and even on HN, the good old mantra "don't downvote if you disagree, downvote if the comment doesn't contribute to the discussion" is, from personal experience, not really followed by a significant chunk of the userbase. I try not to care about karma but it's always frustrating when you spend a few minutes of your time carefully composing a comment only to see it grayed out because people didn't like it. It's really toxic too because you don't feel welcome to express your point of view, even if it's in a completely respectful manner. When unchecked this tendency ends up with what you see on most of Reddit: dumb, content-free comments that go with the popular opinion raise to the top while insightful but controversial positions are buried under downvotes. Then you end up with echo chambers.
I wonder how different HN wouldn't be if there were no downvotes at all and only the "flag" button to tag non-constructive comments. Basically the way it works for submissions.
Personally I very rarely downvote comments on HN, if I find a comment that I don't find very insightful but is still technically contributing to the discussion I prefer to find a sibling comment that I deem more interesting and upvote that instead. I turn a negative interaction into a positive one. Instead of focusing on pushing people down you help those you find more interesting.
In my experience, on here people downvote when the answer is either off topic/spam or false with regards to the topic. Sometimes some good comments are greyed out because the profile has been (wrongly) shadowbanned, but the "vouch" feature is great for that.
EDIT: is HN so good compared to the rest because of its moderation tools/upvote system, or because it attracts only a specific niche of people? Would a Reddit/SO with HN features work better than the current sites?
(just never mention init systems)
Downvotes should be reserved for trolls and low effort posts.
I agree that HN is much nicer than SO or Reddit, but that is largely due to the moderators here.
What I've found really helpful when I need to learn a new language / paradigm is to use IRC (freenode). I more or less learned Kotlin and Elixir just by reading some online articles and asking things on the corresponding IRC channels. The people there are helpful and the most important thing is that asking a question will start a discussion about being idiomatic, other ways to solve a problem etc, things that are not possible in a Q/A site like SO.
Also I had asked some very difficult questions about mysql and postgresql in the corresponding channels (that I expected to get no answer) and they were answered almost immediately.
I urge you to try it: No walled gardens, no people selling/advertising through your data, no point system, complete freedom to ask (and answer) whatever you wish.
Absolutely, for example my experience with PostgreSQL people there has been amazing.
If you described IRC to me, I wouldn’t think it would work. But almost 30 years later, I’m still using it. I think it’s another example of how protocols are better than apps for sustainability and true “value,” as opposed to fundraising.
The underlying issue I see here, is the geek desire to answer a question once and for all, and have beginners just fuck off and read the damn faq and stop asking. (Everybody is a beginner in a task they don't know how to do, for all it matters, but experienced people will not stay that way as long as inexperienced people).
Whereas beginners want to chat, have someone help/mentor/guide through which bits are relevant, current, idiomatic, easy, hard, tailored to their problem. Beginners don't know what to read, and can't spot it or make sense of it when they see it. (Again, everyone is a beginner, for if the seasoned expert knew what to read to answer their question, they'd be off reading it instead of posting a question on StackOverflow).
People on realtime chat services are the kind of people who don't mind (or people in a state of mind where they don't mind) answering the same kinds of questions, and talking the same things, over and over and over.
StackOverflow mixes people who want "one answer forever" nitpicking question and answers as if they were encyclopaedia editors to make them 'perfect' to be a forever-answer, with people who want "realtime help" asking, who don't care about exactly the right wording and terms and formatting and stuff. NB. that the people who would be asking, but are on the "one and done" side of things, are the people off studying the FAQ and documentation and code, and buying books and courses where they expect to find answers already existing, so they don't so often show up on the questions side of SO.
What is the harm in having multiple similar questions on the site? As the passive reader, it's no big deal to look through two or three similar pages. A massive academic field, Information Retrieval, gives us many sophisticated tools to rank similar chunks of information by relevance.
As the number of duplicates increases, all possible ways of asking the question will be covered. When someone new comes to ask the same question, they'll see at least one duplicate in the real time results for "possible duplicates" as they type. So I don't think we need to worry about hundreds of duplicates.
For example I've recently been looking at a problem with /boot on the AskUbuntu SO site. There are multiple answers for the question of what to do when one has a lot of old kernels filling up your /boot (not the actual problem I had); one question is relatively well handled and has several "answers" including good answers (IMO). But other questions that aren't linked up to this particular one have some of the poorer answers, or lack the breadth of the canonical question page and so might lead people to do things that aren't optimal or leave them unable to boot their system.
The problem with that is that often questions fall in to a looser grouping where the same answers apply, or very nearly to a group of questions but the questions aren't really identical.
SO's current system is maybe a least worst approach? I'm not sure one can tell with out trying alternatives.
Possibly the types of questions I need answered has changed, but I think it's more that everything on stackoverflow is out of date or off topic. Or the people who could answer are also the people who are too busy and/or don't care enough to play the karma game.
If there are a lot of messages, I scroll straight to the bottom of the page, then slowly scroll up until I find a message with lots of thumb up or checkmark emoji reactions.
So it’s like a slightly less efficient StackOverflow!
Nonetheless I absolutely agree, lately I remove the open/close filter and just type a keyword and there’s almost always a perfectly healthy discussion from others experiencing the same thing, sometimes you can even just skim read for the post with tons of thumbs up emoji’s on it
No, I think it's the former. I use SO to find out how to do equivalent tasks in new languages. For example, I use Python a lot; JavaScript, not so much. So when I do use JavaScript, I'm always searching for things like "js iterate over object" or "js string slicing", etc. SO is great for that. GitHub issues would be completely useless for that. I think you underestimate how many students/novices are reliant on SO for this type of searching.
GitHub issues are more for if you are having a specific problem with a specific library.
Also, if two or three other people have already told someone (in "real life") that they don't like something, we tend to regard somebody else who jumps in to say it, negatively. It seems not too hard to implement on SO that downvoting a question that is already negative, should either be disabled or else weighted less.
Lastly, in "real life" we are more tolerant of piling on, when the same person has been given modest negative feedback before, and keeps doing it. If a person has several questions with negative score, it might make sense to allow more downvotes. For example, with only one question with negative score (e.g. a newbie), it cannot go below -1. If you have two questions with negative score, it can go to -2, etc.
All seems totally doable, but everything turns out to be more complicated than it looks from the outside, so I suppose they have reasons for not doing it.
That contempt and disregard for the actual day-to-day tediousness of writing commercial code is an attitude I can do without.
This is my pet peeve: WHY ... DO ... YOU ... CARE.
Also, duplicates that not only are a completely different question but THIS question is ranked #1 by both DDG and Google.
Because of X/Y problems. People want to make sure the person asking the question is asking the right question (often, they are not). You see newbies a lot asking suspicious questions like "How do I extract the string between the carets in '>I want this string<'?".
Of course, you could just answer it at face value. Or... you could ask why they are doing this. They might respond "I'm trying to extract a string from a webpage HTML". In which case you would give a completely different answer.
I've seen suspicious questions before where the asker didn't know what they really wanted was "JSON parsing" and were basically asking how to extract JSON fields using regex (but it wasn't completely obvious because they only pasted a small snippet of the JSON). You are saying I should've just given them what they wanted and not even questioned why they was doing it this way?
Well, I'm sorry. I asked "is there a particular reason you need regex to extract these fields? Because this data looks very similar to JSON and there are better ways of extracting JSON fields"
They replied that if there was a better way than regex, they were open to it, and I introduced the concept of JSON parsing.
I personally think it's kind of conceited to believe that you know exactly what you are doing at all times and that it is an insult for people to question your methods. I only ask questions on SO extremely rarely, but when I do, I'm always open to such "why are you do it this way" questions because it indicates they believe there is a better way I could be doing it.
Also, if you suspect that the user is doing something wrong or there is a better approach, a better way to do this is to ask "are you parsing JSON? because Python has a builtin JSON library" instead of "Why would you even want to do this?".
I guess what I really want is for people to update the question if it no longer applies because a different question was answered and accepted.
And pretty much every time I find a good answer on Stack Overflow, it's heaped with derision from Stack Overflow users and the system. I can't remember the last time I landed on a question that wasn't "closed" for "low quality" or whatever the various negative treatments are there, and piled with negative comments and possibly a snarky answer.
This doesn't give me a good impression of Stack Overflow, a site I've never signed up for or felt interested in signing up for.
Some of my best SO experiences have been answering questions that got ridiculous downvotes (more -1 and -3 than -75, but still). If SO has already answered this particular question, then great—do a better job of leading questioners to it. If not, get out of the way and let's answer the question here.
I have a weekend Meetup that I have been running for 5 years. I've had to ban three people. The first two were three years ago, after a spat of incidents. The last one was a month ago, and it was an easy and quick decision with little impact on the group. The activity in the group now conveys what sort of behavior is acceptable, so it takes a real, honest to goodness troll before we get any trouble.
Being nice is a component of the quality of a community. If "quality" is so important to defend, being nice is important to defend.
Whatever, SO is a waste of time.
I think SO and Wikipedia have both suffered the same fate: they started with everyone on the same footing but now there is a core of 'professional' or at least habitual editors who enforce their own narrow view of what is right. I gave up editing Wikibooks after one too many deletes of perfectly valid graphics for nit picking reasons.
These days, at least half of my questions get closed as off topic or marked as duplicate - and I always do a lot of research first - but sometimes I just do not know the right keyword to search for - or do not understand the deeply obscure limitations to what is considered on or off topic...
I will ask my question, hope to get an answer before it is closed.
The OP might just be getting burned out on stack overflow -maybe time to take a break, scale back, or just do something new.
I think stack overflow is a great resource and has a lot of life left in it. Long ago when I first started out there was no resource like Google, Stack Overflow, Experts Exchange, or Wikis. When I had a question I usually had to find a more knowledgeable peer, explain in excruciating detail exactly what I was doing, and then only if they agreed with me one hundred percent would they answer my question. If I deviated from the way they would do something then my question would go unanswered. Real PITA. But it was a great motivator to develop deep knowledge so that I wasn’t limited to replicating what my peers had done.
Today when I have questions it’s all too easy to get an answer without all of the overhead I mentioned. Though I’ve noticed my younger peers often lack deep knowledge and instead have various aptitudes for finding relevant information and deriving a solution from similiar circumstances.
However, I didn't understand this:
[...]
There is no pass by reference, so I’m not sure where you got that. You’re simply passing the value, which is a copy and not going to change the original.
...is parading that they’re stupid and wrong, while beating your chest about how much smarter you are.
[...]
It sounds neutrally worded to me. Can somebody here point out what part of it is considered hostile and how it can be improved?
Yes, that comment could just be trying to be helpful / clarifying.
I think it's not much of a stretch to say the upvotes incentivise the "popularity seeking" behaviour over "information sharing" behaviour.
It also means everything(tm) is there. It's been ages since I've needed to ask anything at all there. Someone has had the problem before, and gotten the answer.
Individual reputation might not matter much in this context. If the answer to your question has 100 upvotes, why does it matter who they fell to? If someone answers a question, does it matter how many other upvotes they got? Does it make them more authoritative?
You'll find loads of simple answers with loads of upvotes, and deep dives with just a few.
My own account is just as odd. The most upvoted answer by far is a one-liner that says "untick this box". That time I found an actual error in a Swift lib, I spent ages detailing it, and got barely any votes.
That's absolutely not the case:
* Not for the most upvoted questions. * Not for which questions get upvoted nowadays. * Not for what influential/highly-active users expect.
> Individual reputation might not matter much in this context.
It shouldn't matter all that much anyway. People tend to assign to much merit to these gamifications.
> My own account is just as odd. The most upvoted answer by far is a one-liner that says "untick this box".
Yes, that's one of the anomalies. The most interesting and imaginative questions, and their answers, rarely get upvoted much because people don't look for them or find them.
There is no “quality control” in downvoting a question to double-digits. The simple truth is that you’re just being a gigantic twat if you keep piling on votes like that.
Not sure if there's an official name for this phenomenon in psychology but whenever it becomes "safe" to bash on someone or someone's opinion you can bet that more people are going to do it, even though the "marginal utiliy" diminishes very quickly.
I think it's a variation of deriving some kind of satisfaction by "pushing yourself up by pushing others down". Personally, when I see people do this I know it's someone I definitely do not want to hang out or be friends with.
It's still miles better than expertsexchange.com (the hyphen site), but is very biased towards first answers for doing kids homework.
The majority of questions I've asked there are when I seriously can't get to the bottom of a bug, and generally the answers aren't helpful like "you need to restructure your application".
Its value is really in simple, dumb answers, which as the author points out, is very useful when you have to jump between languages and don't quite remember the right idiom for pushing something onto an "array" in PHP vs using a stack elsewhere.
Like a lot of other web2.0 sites from the era, the incentive with reputation and badges is very effective at creating a community of people who want those points, but also offers a perverse incentive of racing to answer the easiest questions quickly.
Unless that question has been determined by the community to be low quality (in the case of the infinite loop homework question referenced in the article).
Like a lot of community sites where engagement gives you more privileges, there ends up being a meta-community of people with power dictating the tone and direction of the site, even if that is orthogonal to the actual goal of the site.
The other issue is that for a software dev Q&A site, it can be very hard to find / suss out current info. If I'm looking for an issue migrating to Hibernate 5, and the most popular answers are something using the XML configs and migrating to hibernate 3 from 2012, that's not really helpful, and I don't think the tagging/search combo from 2008 can filter for that.
I will say this, it seems to have avoided the tech forum pitfall of:
"I'm getting this error, can anyone help?
Edit: nm, figured it out."
The reason for fatigue is not because of downvotes, but because it is no longer "fun". It's done. There is nothing left to add unless you want to jump on new technologies.
https://github.com/debiki/talkyard (I'm developing it)
There're no downvotes. Instead: Like, and Disagree votes, and it's fine to both Like and Disagree with something at the same time (they work in separate "dimensions"). (You have any thoughts or feedback?)
In short, the question here: https://stackoverflow.com/questions/1732348/regex-match-open... is complete legitimately and answerable, but nevertheless have dozens of answers ridiculing the question for trying to do something "impossible".
In general I do like SO quite a lot and find it very useful. But this is one example where SO spread wrong and misleading information. But when I wrote a post on meta.stackoverflow to point out this particular problem, it was quickly downvoted to -25 before getting deleted.
Most of the time I've actually seen people asking about regex's and HTML are asking for a very small subset of both, they generally just want to parse a bunch of pages generated by a small number of tools, and yet they get told it's impossible to use Regex to do it.
The second answer is spot on, actually answers the question, yet the first one is the one that gets treated as gospel.
On the Internet you don't exist unless you act, there are no points just for showing up. Thus the plethora of useless votes and comments (such as my comment here :) ).
I have lots of points to give away though
I see a similar pathology here, though far less extreme. I read HN both for the links and the commentary. Over the past couple of years I've noticed an increase in downvotes appearing to be used as "I disagree" which is a shame. I've disagreed with commentators whose comments have made me think, or even change my mind.
Downvotes also get used on trivial or off topic comments, which seems what they are intended for. And I hardly consider it any sort of cesspool of social pathology (as seemed be be described in the recent article about HN moderating). But downvote use does seem to be trending the wrong way IMO.
The result, of course, would be as described by the OP: self-deporting.
The social behavior of Stack Overflow is just an extension of tech culture. You can change message board formats, add community guidelines, add moderators, etc., not going to change anything until the capricious (& often socially harmful) cultures of tech are forced to change through significant legal accountability and through candidates simply saying “no” to touted jobs to punish the malignant culture.
For elixir we have a public forum specific to Elixir.
For crystal, there's a crystal forum as well.
For react, I'm still looking for one that's good.
- If I spend an hour writing and rewriting a question or answer, there shouldn’t be any “2-second torpedo” option where someone can ruin all that effort. Instead, they should have to spend some similar invested time, e.g. minimum length reasoning, peer review before posting or other hurdle.
- Exactly the same problem with other sites, even online product searches. The “1 star” people seem to have infinite power, which has always been ridiculous. All this does is discourage actually useful contributions from appearing in the future, toward lowest common denominator.
This experience really caught me off guard. My experience with online communities has never been so hostile before. At the time I was taking a conscious effort and try to contribute back to SO, however this experience pushed me back. I’ve made a few contributions since then, but they probably would have been far more if people wouldn’t have been so hostile towards me in that meta thread.
[1]: https://meta.stackoverflow.com/questions/385061/retaliatory-...
PS. I suspect the first downvote on my answer was because my answer was posted with a modern CSS, and I feel like (without having any evidence for) there are some people that actively downvote good HTML/CSS/JavaScript answers that use new syntax and features, while never explaining why the answer is “bad” in any way.
Also as a stack overflow mod my group doesn't have such issues. Nor have I experienced these issues. Worst I've had was a few extremely technical questions require a bounty the get an answer. However my group spends a lot of time helping new users. The ones on the main group might have issues as there are more posts and less mods.
If you try to answer a question there is a good chance someone will come along and invalidate your effort somehow. Either pointing out a subtle issue that isn't really important, or copying your answer into a comment and voting the original question closed, or they will write a long-winded answer with a bunch of custom code that technically does what the original poster asked but is actually an outdated approach. Or any way to make your answer less important so they can get the points.
The other problem I have with Stack Overflow is that a lot of times the answer to a question is to use an existing module or library but if you write that someone will come after you reinventing the wheel with some custom code they are supposed to copy paste and then nail you to the wall for not including code. I mean part of the concept of Stack Overflow is actually outdated because it is based on the idea that we should reuse a ton of code by copying and pasting snippets. And I know people love to hate on dependencies but copying and pasting a hundred functions is not a better solution.
> Hiding downvotes slightly increases the vote score of comments and substantially reduces the percentage of comments that receive a negative vote score, on average
(from https://civilservant.io/do_downvotes_cause_bad_behavior_jan_...)
I wonder if moving to a velocity based ranking system (like HN and Reddit) instead of pure sorting by net votes would help with that. That way answers with more velocity (attracted more upvotes recently) would be ranked higher.
Whenever I Google up some difficult question (which is often), SO has a good answer almost right away. Ah, the kindness of strangers!
As for the downvoting, IMHO Hacker News suffers from this. It seem good comments are regularly downvoted if they don't adhere to other's social views. I think we should operate at a level higher than that.
So congrats, SO. You finally got your community. I'm honestly disappointed myself because I remember, fondly, how difficult it was for me to figure this stuff out on my own before SO even existed.
This is the behavior I quickly learned to expect and brace myself against whenever I asked a question on IRC in the 2000's. I'd be mocked, the reasons behind my questions would be probed, and eventually I'd get an answer. I realized that If I asked an extremely specific question and, if someone probed, immediately provided full background, the mocking and probing would end, and I'd either get a shrug, or an answer.
This is not intended to excuse the behavior. I have just stopped being surprised when I see it.
The pattern I see nowadays is that someone asks a reasonable (albeit basic) question and, even if it's not downvoted, people start immediately attempting to undermine it in the comments. Many people's goal seems not to be to answer the question (whatever the question may be) but to explain why the question is invalid and shouldn't have been asked in the first place. In my experience the top reputation users are not the problem either -- they are actually more likely to answer the question as asked and not simply try to undermine the questioners.
However! Remember that the primary goal of SO is not to answer your individual question, but to curate a collection of publicly-useful Q&A. That's why it's reasonable to "undermine" many newbie question. The trick is to do it in a way that's positive, friendly, and condusive to the asker getting an answer to what they want to know.
That said, the reputation model also encourages low quality answers [1].
Overall, I found the site to be somewhat toxic and stopped visiting it several years back.
[0] https://meta.stackoverflow.com/questions/252677/when-is-it-j...
[1] https://meta.stackexchange.com/questions/9731/fastest-gun-in...
I think that thick skin is something to be cultivated. Sure the other guy is mean, but if you feel so bad about it, then you should work on where your self-worth comes from. I'm not saying it's easy. From personal experience, I would say that it may very well be the case that you spend too much time focused on just this one thing (let's say computers) and so lack distance. Perhaps something else. Find out. Work on it.
The problem that others have pointed out, if reasonable people fatigue out and leave, it self-sorts for the people that love to show how smart they are, or what big angry egos they have, and it spirals down from there.
On one of your points, I have had the grand blessing of working with a number of people way smarter than me. And the nearly universal quality of really smart people is that they never point out how smart they are. Oh there are outliers that will constantly remind people of that fact, but by and large, the really (really) smart people never bring that up.
SE is a worldwide profession and the internet makes this true. For some people English is a second or even third language. Not always constructing the right sentences, not understanding subtleness all the time.
As long as SO is useful for me I will use it. I want to solve problems. I'm not there for the warm community. If SO fails because there is no warm community and this is needed to succeed. I assume another site will get popular where people will contribute to answers that are useful for they community in general.
I asked a question a couple times on SO and quickly determined I don't need that kind of toxicity in my life.
Maybe you can't. Being nice does not scale: being nice mean you take more time to answer and try to make people not offended. With an internationnal audience, good luck not finding something which won't offend someone (hint: not everyone shares the USA values).
You can be nice in the PR and issue and wiki of your small projects with limited number of people around. If you want quality on a site serving millions of people? You'll have to cut to the chase. And some people (the author being one) will take it as being a dick. Some other people would take offense to the use of the expression "being a dick" for something negative.
There is a difference between being concise (cut to the chase) and being rude. And yea, language differences can blur that line. But it is a spectrum. Just 'cuz not everybody will think you are being NICE doesn't mean it is fine to be a jerk.
[1] Due to the distributed nature of these platforms you can end up with a small multiple of simultaneous responses. Fine, most people get this is a possibility. One good way some people deal with this is to not knee jerk response to everything. Sadly that has a the effect of having the jerks do more of the responding.
If you haven't I encourage you doing that for some "low skill" tags on SO 1 or 2 hours per day. Php, js, css, java should be good examples.
The exact duration that's best would be unique per site and question. It should depend on how many active users the stack exchange has, the length of the posters account exists, and how many "quick downvoters" attack the question within the first X minutes.
Quick downvoters could be defined as users that downvote more than X questions that have appeared on the site for less than X minutes.
And if you look at the 3rd answers, it mentions a bounty fraud ring. Woa! Is that a thing? If it is, this is a hard problem to tackle. Relax the rules, increase fraud, strengthen the rules, impact normal users. Good luck SO
https://dev.to/stackoverflow/what-s-in-the-works-at-stack-ov...
I think the criticisms of Stack Overflow in general capture real problems, but I think people underestimate how difficult it is to enact solutions to these problems at scale, and they also underestimate the magnitude of the problems that led Stack Overflow to this place to begin with.
> “Is there a way to list all standard Go packages? I have a list of packages and I want to figure out if this is a standard package”
‘A list of packages ... if this is a standard package’, is ambiguous. What ‘this’? The list? Are you asking if there are standard ‘package lists’? And if I search ‘list standard go packages stackoverflow’ on duckduckgo I get answers with 25 and 50 upvotes already. In this situation I think Stackoverflow works.
I've been on SO more-or-less since the beginning. I rarely log in, probably haven't in over a year, but I know that, every time I do, my karma's taken another big jump. I was lucky enough to get in early on and get in a few good questions and answers on some thorny technical issues, and now I just keep on getting karma for free because some fixed percentage of people who run into these problems will get sent to my SO answer on Google, and some fixed percentage of those will upvote. Sometimes I even get double points when I answered my own question.
So, insofar as I'm getting my karma for free, I don't value it much, and downvoting costs me basically nothing. I probably wouldn't start noticing the price unless the cost of a single downvote were at least 1% of my current karma.
I spent time double checking my answer and answered a question on difference between 2 different web architectures only to see it closed for being too "broad" and the "right" answer being already on Google #1.
The person who closed the question had a top rated SO answer for a trivial C# declaration which already had a perfect #2 answer on MSDN.
https://biblehub.com/matthew/7-3.htm comes to mind here
Another problem is their aggressive pruning of questions. There have been dozens of times where I've found something relevant via google and found the question was locked for being off-topic or opinion based.
Just recently I posted a question in meta for why one of my questions was being downvoted. That question in meta got a flurry of downvotes! Stupid moronic downvoters. It is a hostile place but I will use it as long as I get answers.
This is exactly what went through their mind. This is group think. You get people who have to follow the heard and the next thing you know programmers are getting pulled out into the streets and beat because they use JavaScript.
This is why you see posters being badgered to change or recast their question so much.
Sure many questions are ill posed, but there is a lot of pedantic meta discussion¹ on the site centred on the precise form of the question.
1: The word pettifogging comes to mind.
Imagine every user would only see the relevant questions rather than all of them.
I guess this would remove the need for administration to a certain degree and perhaps then the frustrations and maybe in the long run the hostility.
Of course this is a bit of a unicorn wish. Heading towards that could safe the community a bit.
And it's even more frustrating when people downvote answers.
Come on, someone made an effort, came up with a solution and tried to help out. This deserves some recognition even if the solution is not 100% right. Definitely not dowvoting.
It's no harder to say 'this question is closed. You will find that the best answer can be found at <Stack Overflow link>'
Let's take for example the Java Infinite Loop question from the article. The asker was an introductory user to Java who made it clear, and asked multiple questions with relation to how to make the program ask the question in an infinite loop. The duplicate marked was purely a "how to do infinite loops in java" question. While for a more comfortable software engineer this suffices since they can use the method for accomplishing the larger concept of an infinite loop in their specific use case, the user was clearly so new that the question should have been approached from a beginner's perspective, i.e. "You'll need to wrap your main question asking code in an infinite while loop like this so that it continues forever." Besides, the secondary question the user asked wasn't answered in the duplicate.
While it makes sense to mark a question that was just "How to do infinite loops in Java" at a high level as a duplicate, this more specific question also requires the answer to identify where the loop should be placed and why it should be placed there. For a site that's supposed to be about helping the community, most of its high reputation users seem to be awfully focused on removing questions, discouraging askers, and the most minor of revisions (i.e. why so many questions I see on SO have been edited by a high rep user to add a line break or the most minor of cosmetic changes).
Moreover, the actual mission they're supposed to accomplish by being a trusted member of the community goes largely unfulfilled. In most SO threads I browse now, the accepted answer is just plainly incorrect or outdated. There's no enforcement at all here, and often times it's been edited in the last couple months as just a cosmetic change instead of actually fixing the glaringly wrong issue. The correct answer usually lies further down below, ironically posted by low rep users who struggle with the incorrect answer, find a better working solution, and then post it with the pure intention of helping others who came across the issue.
An obvious example is in many JS questions nowadays. The OP asks something very simple and direct, and most of the answers either:
- solve the question using jQuery, which is usually unnecessary nowadays and adds bloat to a relatively simple task - use some random library or module, i.e. "simple, just learn the API for this open source lib instead and use it!" - contain a solution that doesn't work or works in a very small number of cases (i.e. with most regex questions where there are 10 competing regex answers and you've got to find the right one) - contain a correct solution but use extremely outdated methods to get there; i.e. using a giant XMLHttpRequest with a callback instead of just using async/await and Fetch, or lacking any sort of ES6 convention (using `var` everywhere) - contain an almost correct solution except for a few typos, but no one who has spotted the typo and has the right answer also has enough reputation to edit the answer, and so the resolution of the mistake is a buried comment
----
In my honest but probably worthless opinion, Stack Overflow is a Q&A forum with the extremely strict and overbearing rules of a high quality expert's forum, and just encourages this sort of behaviour on the platform to the point that it really just fails to serve its core purpose on many occasions.
It's been countless times i derived value from closed questions, luckily too late for moderators to do their own power round tantrum trip to disable it.
Maybe it's actually just a much harder problem than people realize.
But the idea is to have more good people than evil trolls, and that's how it works, questions that are good get more upvotes than down, eventually.
I didn't see any mention of a way forward, just commentary on past changes and past articles citing a dislike of SO.
> I have a list of packages and I want to figure out if this is a standard package.
He wants to figure out if his list of packages is a standard package? Doesn't sound logical.
I don't like to downvote. I know what it's like to harvest 80 downvotes on reddit. But in this case, yeah. I approve downvoting nonsense.
So he's had it, he picked up his toys and he's going home. Good on him. I cannot think of a better thing to do, because this is the eternal September.
Stack Overflow could easily be exchanged with HN for some of the OP’s points.
I posted my first HN comment ever this morning after years of reading. I saw an interesting Show HN and decided to chip in my two cents. Suffice it to say that the content of the comment was on-topic and conscientious (if the tone of this post may serve as any indication).
Checking back within minutes, I had a karma of -1. Seeing as how new members start with a karma of 1, and posting gives you 1, this means I had been downvoted three times within those few minutes. This affected me much deeper than I could have imagined.
Having lurked on HN threads for a matter of years now upvoting insightful or illuminating comments, I found it jarring for my thoughts to be disqualified so quickly and thoroughly. My karma was not just rendered inert, but actively negative, draining.
This activated in me all manner of imposter syndrome and shame. Worse, though, was this total sense of helplessness, this feeling that as even a noob I have to be in on the secret handshake lest I be branded as someone who doesn’t get it.
I later combed through HN looking for general patterns in downvoting, and for every off-topic, non-contributory post was one like “depression is just the natural response to oppression” or any of the variations of “me too” that were spared a downvote. This helped me shift my thinking on this. I realized it was less about being on the outside of the exclusive club, and more about having been caught in the gears of the machinery that allows beginners to have experiences like this. It doesn’t make me feel better having reached a conclusion like this, and only makes me less likely to try again, but for the hope that the smattering of comments in this thread forming a connection between OP’s SO experience with HN starts a real conversation about this.
<!--
If large amounts of people find you hostile and abrasive then you almost
certainly are.
-->Meanwhile, the moderation tools (downvotes, close votes, etc.) have not scaled well and are now woefully inadequate and inefficient. Requests for improved tooling have been silently ignored for years (see [2]) -- for example, an absolutely trivial request to re-word one sentence in the review queue guidance ([3]) was unimplemented for several years (and its eventual implementation was really just a token effort from the staff when tensions between the staff and the community were at an all-time high).
Believe me: SO users know the site is not functioning well, and we've been doing everything we can to try to fix it (some users even create bots and userscripts to work around the site's deficiecies). However, there's only so much we can do without the cooperation of the staff. Tensions have been escalating over the past few years, and there's a lot of mistrust and cynicism on all sides between the company, the site's "power users," and new users. At this point, many of the power users are tired of fighting an uphill battle and have reached the point of giving up ([4]).
Fortunately, there have been some encouraging signs recently: over the past few months, the company has finally started to implement some of the much-needed features we've been requesting for years ([5]). Hopefully these efforts will continue -- we'll just have to wait and see.
If you're interested in reading some more of the history behind this, there's an excellent analysis at https://meta.stackexchange.com/q/331513/258777.
[0]: https://meta.stackoverflow.com/q/349118/3476191 [1]: https://meta.stackoverflow.com/q/386505/3476191
[2]: https://meta.stackexchange.com/q/285889/258777 [3]: https://meta.stackoverflow.com/q/332546/3476191
[4]: https://meta.stackoverflow.com/q/386324/3476191
[5]: https://stackoverflow.blog/2019/08/20/upcoming-on-stack-over...
This and many others comprise examples of precisely how downvotes aren't useful for much of anything.
“How do I do X?”. Often, X is quite a simple thing, like “append to a list”, or “merge two dictionaries”. I find that the longer I program with all sorts of different languages, the more I struggle remembering all that sort of stuff.
You don't know a programming language if you need Stack Overflow to recall trivial things. I'd go as far to state that you're barely a programmer if you must have an Internet connection to program.
I'm of the opinion that Stack Overflow is primarily good for those who don't know and don't want to learn. That is, I've never used it for an APL question or an Ada question and not so for Common Lisp, either; note that these are all real languages, that are standardized, have books written about them, and have real documentation. So, if you want to play with JavaScript, then Stack Overflow seems like a good place, as that's a disgusting and poorly documented language, but real languages don't need this manner of thing.
The author fails to recognize that having a stupid little voting system and stupid Internet points is precisely the cause of the issue. I'm accustomed to anonymous communications and people get along just fine, in part because the only thing you can do to voice disagreement is to write an actual reply instead of clicking a stupid little button and, since you're not vying for stupid Internet points, you only write a response if you actually want to help someone, with no expectation of receiving anything except perhaps a Thank You. out of it.
The Vi & Vim Stack Exchange is much better in my opinion (I am a moderator there, so I may be biased). We actually had one user being a condescending prick for a while, so we kicked him off. The site has been much better ever since.
That's another issue with this garbage. You get cases of Oh, you're not violating any rules, but you're being mean by my own idea and since we have accounts and lasting reputations and I've been observing you, I've decided you're banned just because.; I'm accustomed to the old-fashioned notion of having real rules that are enforced consistently; you can't moderate anonymous messages by any other means.
So, in closing, you're likely only asking a question on Stack Overflow if you don't know what you're doing. Read a book or check the standards, instead. If your language doesn't have a standard or good books, learn a real language. If your standard is a pile of garbage, as the WWW is, then this would actually be a decent use of this tribal knowledge sharing, but the better solution is to avoid the garbage standard to start with.
I could refine this message, but I'm not particularly concerned. Surely I'm not the only one here who thinks similarly.
Anyway, sure, I could've made the message a tad nicer, and I really shouldn't have bothered commenting in the overcrowded discussion anyway, but some of the points in the discussion, from this author I've read before, compelled me to write it as I did. There was value, I think, in countering this faux-niceness presented in the submitted writing with a more genuine and plainly-phrased critique of the ideas.
I’d suggest that any point whose initial premise defines your opposition out of the room is in bad taste. Having led by essentially saying “people who use StackOverflow in this way are not real programmers”, you’ve constructed an arbitrary high-ground from which to base the remainder of your case.
The fact that the comment is also not nice doesn’t help, but the discussion of what is and isn’t “real” programming by your personal definition is what made it inflammatory to me.
Would you please review the site guidelines and follow them from now on? They explain many things, including what I meant by calling names above.
Archive.org link to the original question here: https://web.archive.org/web/20120210110752/https://stackover...
And he does link each term to the StackOverflow user who posted it.
But can we, in practice? Where can I find all the answers to that question, including the comments?
Whenever you encounter a question that has been unfairly downvoted, you, in turn, should have an option to "downvote the downvoters" .
By clicking on a button, Stack Overflow will flag all the downvoters as "persona non grata" to yourself. When you view other questions, these people's downvotes will be subtracted or eliminated from your view of the question.
Complicated? Yes, but SO's long-term viability may be at stake.