Every year I see a post complaining about how unfriendly Stack Overflow is, how their pet question got downvoted so unfairly, and how Stack Overflow is dying. Everyone agrees: Stack Overflow is too mean and is dying.
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?
"The first example from the article sounds reasonable at first, but are they asking for a shell command or some Go code or what?"
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.
My favorite are the interrogations. Because surely the poster doesn't really want to list the standard packages; they must be needing something else and getting distracted by listing standard packages so if we press them hard enough they will spill the beans.. /s
I think they should employ a "no stupid questions" policy, like the /r/nostupidquestions subreddit, where the point is to share knowledge without discriminating against anyone.
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.
>What happens if the same question gets asked 10,000 times? Absolutely nothing.
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)
> The valuable high-rep SO users do not like wading through bad and duplicate questions.
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.
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.
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.
Regarding your 4 examples: /r/NoStupidQuestions/, /r/AskHistorians/, /r/legaladvice/, /r/personalfinance/
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.)
I tend to think the person who can truly identify that the question is a dupe is the questioner. The moderators who are insufficiently annoyed by a duplicate question that they want to link it can surely propose a link, but just like answers are accepted, a duplicate closure should be accepted.
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.
I tend to think the person who can truly identify that the question is a dupe is the questioner.
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.
There are most definitely programming-help subreddits on Reddit so I'm not sure what you're on about, besides insisting that we need the toxicity of StackOverflow due to "reasons".
>There are most definitely programming-help subreddits on Reddit so I'm not sure what you're on about,
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.
If the problem is just repetitive, boring questions how about the power users just use the API to filter them out? Or improve the UI. The power to ruin someone else's experience is a heavy-handed alternative to some basic filtering.
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.)
Create a "beginner" tag and then let people annoyed by beginner questions filter them out. Or allow people to filter out questions from askers with less than N reputation.
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.
Without the tag "enforcement" means censoring a co-user and the problem manifests as "who can wield this authority fairly and justly against their co-users"?
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.
> who can wield this authority fairly and justly against their co-users
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.
I don't have a code example but I think even if the API is inadequate it doesn't really matter - filtering content can be solved in many ways. The browser extension "Reddit Enhancement Suite" I think literally just parses the page you're on to remove undesired content. Reddit's /r/worldnews has content filtering I think might be done with CSS. SO could obviously make a minimal effort to empower such functionality too or build it into their UI. There's search services like the one HN uses that make the content a flexible API.
> correct about unpaid volunteer answerers being more valuable to a Q&A site than questioners.
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.
Sure, but it should be measured against the impact of greater redundant questions. The filter is not perfect, and no perfect filter is known — reducing false negatives increases false positives, and vice versa.
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.
For people answering questions, they’d see the same question 10,000 times, and likely miss the questions that are actually worth answering.
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.
>For people answering questions, they’d see the same question 10,000 times, and likely miss the questions that are actually worth answering.
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
> out of many pages of answers only few see one upvote a year^. I helped mostly specific people, not the common knowledge.
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.
My answers usually did have some upvotes, and I’m only speaking of up-per-year here (passive accumulation after “hot” period, which kind of must show the real usefulness against initial “hey okay cool +5” phase), i.e. not 0->1->2 transitions.
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.
But doesn't that just mean the closure of duplicates is irrelevant? You're already getting a never-ending stream of the same basic low quality beggings. So the two possibilities are - filter them or go away.
I'm not necessarily agreeing with your "ergo", but I wouldn't be surprised if Yahoo answers told you to throw water on a grease fire(as the selected answer).
When i was taking freshman CS classes, this was a running joke with my classmates. Wed take to google for helping fixing an error, and 90-95% of C++ 101 questions have at least one answer in the form: "why are you trying to do this? Unless you know what you're doing (which by your question you probably dont), you should by using different methods entirely."
Friend having a coding problem? Give 'em the SO special:
"Have you tried using vectors?"
My favorite anecdote, and the one I trot out every time this comes up, was the time I was asking for help in golang-nuts and on the IRC figuring out a few things about unsafe/uintptr. I was participating in a code competition with performance as a primary metric and learning Go at the same time. Trying to get somebody to answer very straightforward questions about casting was worse than pulling teeth; everyone wanted to work their way into a back-seat architect role on my "real goal".
"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.
Never mind the people who think you shouldn't do something, it seems like most of the time when I look up something on SO these days, the solution is terrible or everybody agrees there is no solution, and after spending maybe 20 minutes more searching, it turns out that, yes, there is a way to do it that is infinitely better.
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.
That is certainly one of my pet peeves about that site. It is also a behavior frequently seen on IRC as well.
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.
It might even be the XY problem, but even if it is. Answer their question, and explain why maybe they should be considering something else after you answered the question.
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.
As a question answerer, that’s why I prefer Reddit. It’s much less formal, more conversational and you can actually have a discussion.
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.
Maybe after working some time and helping juniors people tend to develop this reflex: if you're trying to do something really crazy with your tool you may have fucked up 2 or 3 steps before that. It's like if someone asks how to use their screwdriver to nail something: you'll ask some questions back.
Arrghh, this one drives me absolutely nuts sometimes! It's like someone doesn't know the answer to your question, but does know the answer to some alternative (that is unlikely to work for your situation) and just wants SO points.
Sometimes I think it's more that they don't understand trying to understand something. They see someone trying to do something and genuinely want to help. They don't realise that for the one who is asking the question, their goal is not necessarily simply to do something, but to understand something.
It's a little like the difference between an idealist and a pragmatist, except not.
As someone who's spent a lot of time answering questions both on stackoverflow and in similar environments, often you really do need to get more context on what the person is actually trying to do in order to give the best answer.
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.
I agree that when I search for a question online I very often find a SO question with my exact problem. But it seems like almost EVERY SINGLE TIME, the question has been locked for being unconstructive, off-topic, (wrongly) a duplicate, whatever. Despite having hundreds of upvotes and tens of thousands of views.
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?
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.
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.
> 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.
The problem is that I often land on a locked SO question, and it's actually incredibly helpful, leading me to wonder why it was locked in the first place.
The stack overflow model works well for a certain type of question. Part of this is the reaction to the resources of 2008 - trying to find things on page 15 of the a thread in the Java community forums.
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.
> 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.
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.
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.
Consider then having people ask the questions that are 'interesting' here, on HN. There's Metafilter. There is IRC, slack and discord channels, twitter, GitHub issues, mailing lists. People have fairly consistently tried to do spin offs of Stack Overflow (https://news.ycombinator.com/item?id=6062876 is one such example - it didn't work, it is rather challenging to get enough people active to keep it active - see https://www.askquestions.tech as another). There are even people still posting on usenet ( https://groups.google.com/forum/#!forum/comp.lang.javascript )
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.
Consider the impact on HN if every time someone asked an opinion question or recommendation for resources, the people pointed here. Hundreds of posts a day fall into this bucket... would HN be able to moderate it? Would people stop looking there when the top 30 were within the past 30 minutes and all by green names?
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/ )
> 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).
> While there are many possibly helpful questions that could be asked, not all of them are a fit for the format.
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.
Love it when you find someone who asked the same question you have, it was locked as a duplicate so no-one could help, and the question it's a "duplicate" of isn't the same.
I can flag, I can appeal, but it doesn’t change the attitude of the community. Apparently, SO community is trained for years to close vote every question they don’t understand.
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.
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.
Man, that's a super interesting and very specific question! Wish I had enough rep to apply to reopen 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#).
Indeed, very interesting question. That’s why I spent some time trying to reopen.
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().
> I can flag, I can appeal, but it doesn’t change the attitude of the community.
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.
I answer questions on SO mostly for fun. I find it entertaining to answer hard questions. Sometimes I learn interesting things while I write an answer. Other times people post interesting comments to my answers. Flagging, appealing closes, and other BS politics is not fun at all.
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 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.
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.
I mostly hit this locked question thing with recommendations like 'what graph database should I use'. I've found that for simpler straight up programming questions, there is much less locked questions.
Yes, Stack Overflow is a success, but that's in spite of all of this, and not because of it. And "Stack Overflow is successful, therefore your complaints are invalid" doesn't strike me as a great argument to start with to be honest.
> 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.
> either way, no one actually asked for these clarifications
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.
Agreed 100%. Wikipedia is similar, in that both SO and Wikipedia have clearly defined goals, and policies based on achieving those goals. But for as long as they've been around there have always been people who get worked up over those sites not being quite what they want them to be. And what they want want them to be is usually a place where anything goes, and/or a place where they can more effectively earn some form of imaginary internet points, or at least not have meanies downvote them or reject their contributions.
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.
> And what they want want them to be is usually a place where anything goes, and/or a place where they can more effectively earn some form of imaginary internet points, or at least not have meanies downvote them or reject their contributions.
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.
I think the kind of people who take forums/SE/wikis very seriously and have a strong belief in the Platonic ideal of their respective forum are exactly the kind of people who should be completely excluded from having any kind of status on that site. There is such a thing as taking something too seriously.
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?
> But for as long as they've been around there have always been people who get worked up over those sites not being quite what they want them to be. And what they want want them to be is usually a place where anything goes, and/or a place where they can more effectively earn some form of imaginary internet points, or at least not have meanies downvote them or reject their contributions.
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.
The opposite is true - the most common complaint from high-rep users, by far[0][1][2], is that there are too many garbage questions and not enough moderation.
As I tried to point out elsewhere: when everyone on the Internet can make accounts instantly and gain the privilege to post instantly then it isn't a moderation problem but a deeper problem in how the site is run.
My guess is if the bar to posting was increased slightly it would help a lot.
> 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.)
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.
You say that you search for info and Stack Overflow usually gets you the best answer. That's fair. That's your legit experience.
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 agree, so many people complain about SO. But the complainers are actually a percentage of the small percentage of askers/answerers. A huge amount of SO is the silent consumers. I started in the beginning of SO, have good rep, with a reach in the millions. I still contribute these days.
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.
#python on freenode is my go-to alternative if I can't find an answer on SO or if I'm more interested in a brainstorming session and can't really ask for one in SO
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.)
time and again when I search for an answer online the stack overflow is the best answer when -
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!
Two different perspectives: on the search engine end being a consumer... that's a pretty easy-going experience, Google filters out the large amount of noise because it's a good search engine, you get your answer, you're on your way.
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.
> ...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.
There have been times when I've commented on someone's question but more to interact.
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.
I agree. It's got it's warts, but it's still the best out there. I think a lot of people get their feelings hurt there though, especially younger coders and coders with thin skins and big egos. It's a service, no one is forcing them to use it. They should just RTFM.
I really think it's better to just have an up vote arrow and no down vote option, for questions at least. The only reason on a site like that to really vote something down should be if something is off topic or against the rules, in which case you have a report button. If a question just straight up doesn't interest you or you don't want to answer it, then ignoring it rather than voting it down seems like the reasonable response. I also know that since visibility is based on how your score matches up to others, some people will just go and vote down every other recent question so theirs stands out more (unless stack overflow has protection against such things, I know it happens on similar sites)
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.
If I remember correctly in early Stack Overflow down-voting did cost your own reputation points, so every down-vote reduced your own reputation. I liked this and I claim it socialized me in a way that I rarely down-vote even today and even on other platforms like HN. I like to imagine that every down-vote lowers my own reputation even if that isn't expressed in points and even if no one knows. Every down-vote is a trade-off where I feel the benefit of expressing my own negative opinion outweighs my own reputation loss.
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].
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!”
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.
The problem. Stack Overflows commenting system is like a lawyers idea of fact finding. Everyone gives an answer and votes like a jury would with the mods acting as harsh judges. This is why SO just gets more and more toxic over time.
What you want is a communal Socratic method. Where everyone goes round and round till the community produces a good solid answer.
That site is so good for finding in-depth discussion of topics. Just a lot of people throwing ideas around, way more useful for finding leads and inspiration compared to the fairly bland Wikipedia articles many of the topics have.
Or downvote until the score is zero. I.e. don’t allow negative scores. Then take reputation away from people who actively attempt to downvote beyond zero. In addition, you use reputation to 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.
> 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", ... .
Make downvotes require a comment. Let other users vote on the reasoning. If it's a BS reason like "Duplicate! Duplicate!" that's wrong, let others erase that vandalism from the site. One of the stupidest things on the internet is when someone comments that it's a duplicate question and then posts something that makes it obvious they read neither the question nor the supposed duplicate. Most downvotes are never explained. After too much vandalism, suspend the user.
I agree that we should make downvotes only ok with a comment.
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.
> 30% of question consists of "how to do this on my homework, please submit a full solution"
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.
It'd be interesting if the cost were something like "vote on these items in the moderation queue", and they'd only get through if they voted in line with existing votes (with a few new items mixed in).
The idea being to help cut down on work for mods by getting some prioritization based on new/young user votes. By mixing in topics that have been voted on, the user can be convinced that they have to vote honestly, and by gathering a large number of votes on actual posts mixed in, things can be roughly classified reliably.
By voting I'm referring to things like whether or not a question is a duplicate of another etc.
You could also have a gradual onboarding process, this should help a bit but might be over the top :
- 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.
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-...
Then they're breaking the code of conduct, and should have their accounts suspended. That's a lot better than letting them keep their reasoning silent.
It's not so simple, you can post snappy/disrespectful comments that skim the line and create an unfriendly atmosphere for a very long time.
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.
I haven't used SO in a while, and one of the reasons I abandoned it was because all it took was for one malfeasant to tick the downvote button on my questions without providing a reason why and nobody would take my question seriously. It seems like everyone just assumed that a question with a -1 vote wasn't worth addressing.
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.
What's the problem with being lazy? If you are even lazier, just don't answer. If it's a duplicate, just link it to the delicate question. Having useless questions shouldn't be a problem while searching for answers.
The problem is that just looking through the queue of unanswered questions takes effort.
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.
All SO tags I've ever followed the number of people answering is greater than the people asking, so that's not really an issue, I think. Although, maybe, it felt that way due to down voting.
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.
Which is kind of a perfect example of how downvotes are a bad interface - what they mean is context-sensitive, and needs to be explained. If meta had an explicit "disagree" flag, instead of an obtuse "downvote" that users have to intuit the meaning of, it wouldn't have to be explained in a HN comment.
I'd love a filter to reduce the number of questions with 0 upvotes in the 'interesting' feed. Most stuff in that feed is obviously not interesting (0 upvotes, plenty of views, no answers, older than 30 minutes, reputation < 10). This is easily 70 percent of that feed. The 'hot' feed is even more ridiculous. It's 90% obvious crap. Hot by definition should not have any posts with low numbers of upvotes/views or worse, negative scores.
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.
It happens here too. I imagine some people only downvote stuff that's against the site guidelines and simply doesn't upvote stuff they disagree with. Then, there are others that do downvote those with opinions different from theirs.
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 can see the appeal of the idea but I don't think it would be a source of good information in practice. Most people won't say "I don't agree" when they can say a comment is wrong or bad instead. My instinct is that it would just lead to even more bickering about downvoting, the exact opposite of what we want.
Then we (and in extreme cases, you) could at least review it and point out if the reasons where nuts (i.e. if an answer has 5 downvotes for wrong then we can factcheck it and point it out)
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 :-)
The counterargument is that, just as with downvote-reason-giving, downvote-reason-reviewing would be dominated by the same forces as downvoting in the first place. You wouldn't get more signal, just more complexity, plus a lot more work—both because of the reviewing itself, and because of meta-quarrels about reasons and reason-reviews.
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.
Selfishly, I would appreciate it if HN would adopt downvote reasons because Lobsters has to acculturate people used to how HN does things. Occasionally they're outraged that we do not have downvote-to-disagree when a mod contacts them to ask that they stop picking random reasons to do so. If HN would be so kind as to train several million programmers in the UI and norms I'd appreciate it.
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.
> Then people's downvotes would be imbued with some semblance of nuance.
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.
> Downvotes are solely to demote content that is viewed, in the subjective opinion of the voter, as not contributing to productive discussion.
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.
So the person asking the question is supposed to understand what each individual was thinking based on a single click? I don't see how this is possible.
Slashdot worked a bit like that. So does Lobste.rs. IMO that ends up worse - users are better at figuring out what kind of comments are bad for the site than a mod having to define it all up front.
If you punish moderation, you end up with an unmoderated site. You don't want a million "help. please write this code for me. thanks" posts, as any legitimate question will be lost in the noise and nobody will waste time "answering" (aka working for free) those questions. SO works because it discourages super-low-effort questions and has a lot of moderation (both by official moderators and high-rep users).
As for now at least, all operations on reputation are addition-based and therefore commutative: their order doesn't matter, and undoing an operation returns your reputation to the previous state.
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.
>If a question just straight up doesn't interest you or you don't want to answer it, then ignoring it rather than voting it down seems like the reasonable response.
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.
I use this approach on a service of mine that is built around a community. It works, I recommend it. When you hit 0 and someone tries to downvote further, it informs you that that action is impossible (no user supplied content can be voted into negative territory). I regard negative point voting to be an unnecessary form of community punishment. If something is spam, abusive, or otherwise breaks the rules, then it needs removed. If a user persists in posting that type of content, they get removed.
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).
Good point and here is some nueance from a book I read right now regarding parenting and their main point is to neither punish or rate performance (good nor bad). What you should aim for albeit hard, is to relate to the childrens feelings instead. This translates well into adults. Rather than saying, "this report was super good, well done!" say "What a great feeling I get when I read the report" or "Feels good with the report being complete?"
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.
When you hit 0 and someone tries to downvote further, it informs you that that action is impossible
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.
Even simpler solution: present a downvote button, make it show a "downvoted" label on the item to the user who pressed it, don't have it change the actual score at all.
An alternative form of downvote is to reply with a negative comment. This makes a lot of sense since upvotes imply that you agree with all or most of the post while a downvote reveals nothing about what part of the post you dislike or why.
I've now for a couple years suggested that tweak to Hacker News, with the modification that either a refutation or an upvote on a refutation would qualify you to downvote.
>And it's very effective to provide "feedback" in the form of a drive-by downvote, isn't it?
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.
Nobody's forced to read SO questions. Optimizing the site to maximize the probability that users feel stupid is not IMO the best choice. It doesn't take much time to add a comment. You could even let the downvoter select a reason from a menu.
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.
I think downvoting in most places is partially a service to others who can sort by score and thus avoid reading crap.
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?
It would be much better if users added their down-votes in the comments because then they would feel some need to explain why they down-vote something. In fact I think IT SHOULD BE REQUIRED to give a reason for your down-vote (if down-votes are allowed in general)
An SO down-vote is not simply an "opinion", it affects your karma-score, perhaps even your chances of getting hired.
FWIW, I've done this before ("I downvoted you because...") and the question asker, instead of trying to improve their question, got combative/defensive which is not necessarily desirable either.
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.
It's easier than you think. And I've thought that I was doing the right thing for a long time except I wasn't. Any time you explain something you first need to establish that you are on the same level as the submitter, then you can give advice. Like, "I see that you really tried with this question and you almost made it, if we rephrase it a bit it would improve even further!" It's true that most people have a problem with listening on feedback, but maybe it's a chicken and egg problem and you may be the solution to just that individual. We need to have a major postitive uplift on the forums of the Internet and you may be just that :)
> most people have a problem with listening on feedback
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.
Make it possible to only be positive and you will reach a better goal. Rather than moderate the users, moderate the mods such every response they give is purely positive.
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.
Why do you think that their obligation derives from how you imagine their downvote will effect your life instead of the rules of the site?
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.
> It takes 1 second to downvote a low value comment.
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.
I think allowing users to subtract points leads to a larger delta between good and bad content leading to a better differentiation and ranking of content insofar as voters are good judges. I think this is mathematically unassailable.
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.
> top 10% of the world have an easier time changing tech support forums
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.
> 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.
A few ideas to make it harder to ask dumb questions:
I believe that rebellious '-1 downvote' comments will be far fewer than the actual downvote so original idea seems better. In fact such rebellious comments should be deleted/flagged in case they don't provide any additional reasoning behind downvotes similar to what happens on HN.
https://lobste.rs has downvote explanations[1]: when you want to vote a post/comment down, you're required to state why (pick from a list). Since the user can see why they're downvoted, misuse hardly an issue.
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, ...]).
>3. "I disagree with this." Frankly this is the worst use of the downvote. //
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".
Instead of not providing reasons you don't agree with, it would be better UI to provide them but if selected deny the action with an explanation.
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.
There's an additional rarely-noticed feature tied to downvotes, that no one considers when they propose this: If a post gets a huge number in a tiny duration (like, -10 in under a minute after being posted), a bot will close and delete the post.
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.
Yes I think "report" -button would be a much better solution.
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 think the voting system is fine. But why close down a question!! What's the harm in answering more questions even if not quite apropos?
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.
I sometimes come across badly formatted or unclear questions when reviewing new posts. I usually flag those, but not all flags are accepted possibly because they aren't bad enough. That's why I use the down vote button as well. Note that I never down vote because some question is not interesting or not up my league. So, in some sense I find this button useful.
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.
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.
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.
> some problems were just very hard (or I was just inexperienced).
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.
(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).
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.
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.
It's not a blessing. It bred an entire class of programmers who are unable to write anything without copypasting chunks of code from the Internet, and unable to understand any of that code. This is where all the interview candidates who can't solve FizzBuzz come from. They never had to solve a problem, Google basically did all the work for them.
While of course this problem exists, SO didn’t create them, but maybe enabled them at most. What created them was a big cycle starting with the internet leading to digital transformation and new business creation, which led to demand for new programmers, which led to college enrollment demand, and parents pushing their kids into a lucrative field. Lots of variables of course, but some (or many) of those recent college grads only passed due to rote memorization despite their inability to grasp basic concepts like abstraction.
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.
In those days I used to do Perl.
The Perl cookbook and the camel book were pretty good.
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/
I enjoyed the pre-internet times when it came to programming far more than I do today. This is because of flow states.
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.
That's a lofty goal, which I don't think is achievable anymore, at least not in modern web development. The amount of languages, libraries and APIs we have to regularly deal with makes offline development entirely infeasible. I too try to avoid googling for language features, but for the rest of my questions, SO is invaluable.
It is a lofty goal. I've been told by coworkers, "No one can remember the entire language." and then went and did it anyways.
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.
> The amount of languages, libraries and APIs we have to regularly deal with
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?
I would say a little bit of both. Since modern networked programming is much more complex than before (having to care about security, distributed storage, systems, worldwide connectivity over vast range of devices etc.) it has more moving parts and thus more combinations of various systems possible. Naturally complexity grows exponentially.
There can be interactions among more than 2 components as well that cannot be explained just by the pairwise interactions. The number of all subsets grows exponentially.
Do you really believe that? Sure it takes more effort, and finding the answer on SO can really help you speed through bumps that you would otherwise have to consult the docs about. But if you believe that it is impossible to do otherwise, then you must think the people who write answers on SO are like gods, or something.
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?
I agree that SO makes life much better. But what you're describing is a practice that is not sustainable, so of course, something replaced it. In an alternate universe where SO never happened, something has its place.
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.
> 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.
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.
Actually, you could perfectly well find answers in the pre-Internet times; you just had to dig deeper, grub through more books, talk to more colleagues, and experiment more.
Well yeah, but you could also travel from England to Australia in the pre-aeroplane days. Today, you can do it in about 24-36 hours. Back then it took months. Isn't that an improvement?
There's a LOT of people here saying they would literally get stuck without SO. I also think that sounds a little bit more helpless than they think they are.
Ridiculous analogy. It didn't take weeks or months to figure out answers in the 1980s. It just took a little more thinking. I would go so far as to say, programmers were smarter in those days because they had to be.
One thing that always bothered me about SO was that it shows who answered and their score. It should display answers without the user until an answer is accepted.
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.
Marked as answered is a fundamentally horrible idea and that feature should be removed. The problem is that the person asking the question isn't capable of determining a correct answer. Far, far to often they pick something that appears to solve their problem but actually is a terrible idea.
Well, the accepted answer means that the solution proposed worked for the asker, then there are the votes and comments to evaluate whether or not this is a good answer.
> the accepted answer means that the solution proposed worked for the asker
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.
That's the theory, but it's amazing how often I click on a search result leading to SO and find an accepted answer that's either wrong or doesn't even answer the question.
A lot of the times, "right" and "wrong" depends on context. An answer that works for me may be the wrong answer for you. But the "accepted answer" mechanic is useful as a way for the asker to communicate to the site as a whole that the question is no longer in pending status, and that others who are browsing around to see what needs to be answered can move on to other questions.
And right below it is the answer that goes on far too long. So long that it requires headings, an introduction, an abstract, a recommendation, caveats for the recommendation, a discussion of alternatives, some performance comparisons, critiques of a few other answers (including the accepted one), a conclusion, and a table of references.
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.
Even worse is when the accepted solution is either deprecated or no longer works in future versions of the language/framework used. This is where Stack Overflow's "archival" nature seems to stop working, and where answers based on upvotes would work better.
I think they should support both the "accepted" and "best" answer use cases. Have separate indicators in the UI for 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".
They have this in the form of upvotes. If the community disagrees with the selected answer, they can use upvotes and downvotes to reflect their opinion. Then, a user who is reading the question can sort answers by vote count.
Marked-as-answered shows their original vision of the site (with a homogeneous work queue), and that they didn't want "What are the best ways to organize state in your app?" But I think the lack of sites providing for more open-ended questions means people wanted Stack Overflow to do both.
Fully agree. There are lots of instances where highest voted answer aren't the best answer or even wrong. Usually I look for the comments to a given answer to assess the quality of answer.
I often find the third or lower rank answers more insightful.
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.
This is a feature. The person who answered is specifically indicated with their reputation to help sort among answers.
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'.
If you’re using a public forum for health questions then you have bigger problems to worry about.
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
lol what neurologist is taking shifts in the ER. last hospital visit I had I was extremely grateful to get a consult from a plastic surgeon (who was not a cosmetic surgeon)
Stackoverflow's answer evaluation is not based on expertise, but rather on the opinion of those interested in the subject. Answer scores are targeted _public opinion polls_, nothing else.
It's a feature up to a point, but it also introduces the problem of "compound reputation", where comments by those who have previously been heavily upvoted tend to attract upvotes regardless of merit. In particular, they tend to attract upvotes more than other comments by people who haven't yet established the same level of reputation on that forum, even if the latter comments are actually more helpful in that particular discussion.
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.
Except if you have a similar question (and you're better trained to select an answer) your question is marked as a dupe. Which is in conflict with the system as described by you and GP.
To continue your analogy. Your mate from the pub can also be a trained surgeon. Just because they are in a pub, drinking cheap beer, and don’t have a surgeon badge/uniform with them doesn’t mean that their answer is less valid.
I get the desire for answers to be evaluated on their own merits, but here is an argument for the system staying the same as it currently is:
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.
Really Good points. Maybe show reputation to the question asker then. But not to the people voting. I would like to think that when you vote an answer it’s because you agree with the answer and not just the person who answered.
The parenting comment suggest something different than what Reddit does. Reddit hides the comment's score, the comment suggest hiding the commenter's profile altogether so you can't see the commenter's reputation on the site.
It just doesn't seem possible to hide the answerer's profile though. It's possible they commented on the question asking for clarification or on another answer. In which case you need to be able to respond to them so who do you "@"? If they get some fake username during this anonymous period I supposes maybe that could work but then what if they question is discussed in chat or meta or the anonymous answerer posts a link to another question they answered where their username is no longer anonymized? Then they are exposed for who they are.
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.
This culture is why I've never contributed to Stack Overflow.
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.
I have a small number of answers, and the most successful / least criticized ones were always on niche languages or topics. C/C++/Java? No chance. I corrected a wrong answer on a question in C++ once, which was immediately reverted with “nope, your answer is too different from the original, make a new answer”. Great, so now there’s an answer that is fundamentally wrong with 26 upvotes that apparently can’t be corrected because the correct version of the algorithm is too different from the original. I just stay away from answers in those languages now, they’re more effort than they are worth
> I corrected a wrong answer on a question in C++ once, which was immediately reverted with “nope, your answer is too different from the original, make a new answer”.
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.
That's apparently the intended design; SO bills itself as "questions and correct answers", but they've made it clear in the Meta site or in blog posts, I don't remember where, that the accepted answer and upvotes are not "this is correct" but "people found this helpful", and people can find "wrong" answers helpful, so they stay.
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).
So on your last point, I found something sneaky you can do to people:
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.
That kind of behaviour is what's most annoying about their site, their conventions sometimes overrule common sense or intelligent queries/dialogue.
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.
Same here, I’ve been a reader for 10 years or however long, but their rules were too difficult for me to follow in order to vote. I had to visit every day and do menial, non-useful things just to be able to vote or answer. This didn’t work for me because SO wasn’t something I typically visited every day. So I just couldn’t get into the habit of being enough of a user to browse and vote so it was a vicious cycle of apathy.
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.
> their rules were too difficult for me to follow in order to vote. I had to visit every day and do menial, non-useful things just to be able to vote or answer
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?
Answering questions doesn't help unless those answers get upvotes. As a newbie, your answers are less likely to get upvotes, especially if you're slower than the old timers.
It's true. For my part, I started (and continued to) answer on a tag with not a lot of questions and answers, so most/some of the time I'd write the only answer. Though I had a professional interest into the tag at the time, I didn't choose it because it was easy to write the single answer on a question.
And that's an example of the system working at its best. You were incented to answer questions nobody else could or would answer. In my experience it doesn't work out that way often.
I definitely learned a lot of my attitudes about software engineering from "Joel on Software". It's weird to think that those works are "ancient" now.
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 expect to burn a few karma points on this, and be ignored, but all evidence I have says that this is human nature at work, and that at scale it cannot be prevented.
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.
I think there's something to this. Not sure if it's Dunbar's Number specifically, but something. It seems like there's a pattern where a community is nice and small, with people joining at a trickle. Things change when a jerk joins and starts doing jerk stuff. This tends to drive away the nice and helpful people, attract more jerks, and pushes people still there to be more jerk-ish themselves. Sometimes deft management can prevent it with some well-timed bannings, but I think this gets increasingly difficult as the community gets larger, and may be effectively impossible in internet-scale communities.
They could start by simply making it just a little more difficult to give negative feedback. For instance: Require that every down-vote is given a written reason for it.
And perhaps make it so that DOWNVOTES CAN BE DOWNVOTED (provided a written reason is given for that as well).
You don't even have to have an account to post an answer, nor any points to post a question. You need only 15 points to upvote (2 upvotes on an answer, or three on a question).
At this point I just ask a question, get an answer, and if I don't like the commentary, I just delete it. I post there under my real name, which means I either have to address or accept dumb/nit-picking criticism, which is a no-win situation.
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.
People deleting questions after they have been answered is one of the reasons I stopped contributing. It's so energy draining to take the time and explain something to somebody and do it in a way that others with the same problem can understand & apply it as well only for them to delete the question for some reason.
You and the reply below have BOTH deleted questions from SO because of social overhead. That's a surprising outcome that's never occurred to me. I can imagine that many interesting questions have disappeared this way.
I have noticed answers in comments a lot too. It seems like some aspect of the gamification. One theory is that people don't want to put any straightforward answers in actual answers because they seem anything straightforward to be unworthy of an actual answer.
Agreed. Similar experience. Asked a question about architecture and dependency injection in .net. it was immediately removed as irrelavant because .net is better than Java.
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).
I thought dependency injection in Java was mainly a way to emulate modules (as in Python or JS), so how is .NET different here since it doesn't have modules either?
It just turns into a "ACTUALLY!" contest, of who can pee higher. No matter how right you are, some guy will link a blog post detailing why in some obscure scenario that might not be valid, and proceed to downvote your obviously wrong answer.
That's strange, in all the time I've spent on SO sites, I can remember only one instance where that happened. Maybe it's community related and happens with certain topics more than with others?
Happens a lot in questions related to C. Most answers are followed by a discussion why the code provided in the answer is not portable. Oftentimes answers are more concerned with being technically correct than helpful.
In the particular case of C, it's often important to be pretty precise. If an answer is offering a non-portable solution, or worse still, relying on undefined behaviour, it should get called out. It's not like, say, Java, where you're generally unlikely to get bitten by dark corners of the language.
You're thinking about it all wrong. Don't get lost in the gamification. SO is intended to create a repository of useful answers to useful questions. If you provide a useful answer to a question which gets views, people will read your answer. Over time, many people will read your answer - and that is your "return on investment".
(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.
On the tags with less question (<5 per days), it has never happened to me, I even managed to be among the top poster for one of them. And the few times I got corrections from more experienced posters, they were pretty cool about it. But then it's really tag-dependent.
This is the same for me, although I contributed for a while almost 10 years ago, and managed to earn just enough reputation points (that still increase a bit here and there) that I can get some ROI by asking questions and adding bounties. Two or three times they have saved me an immense amount of work trying to figure something out that otherwise might have taken weeks or I would have just given up on.
Another thing that is a problem is a senior guy like you contributes with much higher level, less specific advice than the kind of thing that gets points.
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.
I tried contributing regularly on Stack Overflow a while back, and it just wasn't fulfilling to me. These days I just post follow-up comments mostly on topics which generally have light coverage anyways.
Same with me. I do sometimes answer questions if they fit into a niche I have some particular knowledge about, but on the whole I've found it to be a mostly negative experience contributing on SO.
> Can people truly not comprehend how downvoting a post to -20 (or more) is perceived by the author of that post?
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.
This high-rank user does comprehend the impact of downvotes, and I cringe when I see people advocating for their use. The lack of empathy is truly incomprehensible.
The SO guidelines are that voting is about the question, not about the author. Everyone who has a rant about SO shows that is not universally agreed on, to say the least. But for you to say "people should be kinder and more empathic", for downvoting within the rules of the site, while you go on a rant calling people unwelcoming snarky abrasive asses, is amusingly hatey.
> Doesn't make it good for the site or it's users. It's a very poor excuse.
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.
> 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.
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.
> How many questions that get downvoted actually haven't done any research?
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.
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?
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 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.
The signals aren't for the person who asked the question. Downvoting signals to other stack overflow users that this question probably doesn't contain the information they are looking for. When done correctly, this is considerate because it reduces the amount of time users spend searching for an answer. The goal of SO isn't to answer your question, it's to build up a massive high quality FAQ, and you should interpret the social cues in this context.
> When done correctly, this is considerate because it reduces the amount of time users spend searching for an answer.
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?
Do you believe that downvoters have no empathy or that they have empathy, they are just bad at downvoting well because the problem is hard? Your comments seem to contradict on this point.
Neither answer to your question is not entirely what I mean. Yes, the problem is hard, but the lack of understanding of the askers' side is a problem of people arguing against any changes to the system.
Downvotes are a useful signal - they let you tell the difference between no-one looking at your question and you asking a bad question, which is huge. 99.9% of the time the alternative to a downvote isn't a thorough and considered explanation, it's no response at all.
I think that the fundamental problem with the downvote, pretty much anywhere that has it, is that it's physically structured as being the inverse of an upvote, and then there are some community guidelines saying, "This isn't actually the inverse, it has some additional semantics associated with it."
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.
Yeah - I mean, there is even a mechanism for giving feedback on how the question can be improved: the comments.
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?
Both downvotes and close votes should open a discussion, not be presented as a verdict. It should always be phrased as a question, e. g. "Have you seen this question over there, does the provided answer help you?" And the default assumption should be that no, the other question is significantly different, and the asker has good reason to post another question.
I'm tired with their fragmenting their site into airtight topic specific QA sites, now with many questions one isn't sure where to post it to get max eyeballs. I feel that is something that could have avoided by design. Topics could have been managed through tags, instead of walling them off into separate sites.
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.
>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.
My biggest pain point with that is needing to register to each one. There's many times I've seen questions I'd love to answer, but then realize I'm no longer on stack overflow and I'm on some sys admin stack exchange that I can't comment on unless I sign up, in which case I just close the tab.
I've been programming for 20-ish years, working for 13, and I google first, so when I have questions, they tend to be at boundaries of things where they don't fit neatly into one of their sites or near-duplicate questions with a subtle, but meaningful difference (that still gets tagged as a duplicate).
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.
Sometimes I think that downvoting, including on websites like Hacker News, is a bad idea. It's easy to see the symmetry with upvotes and think that if you have one, you should probably have the other but psychologically speaking it's a very different type of interaction.
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.
I feel like HN is turning a bit in this direction too. I feel like I’m seeing more downvoted comments, and they are more often than not perfectly good comments, and no one replies explaining why they don’t like the comment. Of course you can’t talk about it because it’s against the rules.
It happens, people are a little trigger happy on the Internet, but HN is a forum utopia compared to StackOverflow or Reddit.
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?
People in this thread downvoted comments that express unpopular opinions. Even factually wrong posts should not be suppressed but corrected/challenged in a reply. As the rules state, assume good faith.
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.
I think it's mostly the community and its culture. As another example, lwn.net attracts a somewhat similar crowd, has no moderation tools at all (it's extremely rare for a comment to be removed) and has generally interesting comments.
I don't know if it's a new phenomenon. There has always been a big difference between popularity and merit. That's what voting is, a popularity contest. It's not uncommon for a good idea to be downvoted or ignored just because its coming from a different perspective.
dang's niceness rules make it too hard to explain what's wrong with a comment. A few years ago, when someone was wrong I would've explained why and how. But that's difficult enough to do without having to also make the correction sound kind. Nowadays, if I make a correction in reply, I'll get downvoted myself. So I silently downvote and move on instead.
I was a heavy SO user before some years however I have stopped posting questions nowadays (mainly because of the reasons presented in the article) and I find answering too time consuming.
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.
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.
I like this method. I think there’s something about IRC that’s just hard enough to use that it filters out a lot of people.
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.
I think a big cause of SO's unpleasantness is the directive to eliminate duplicate questions. Judging whether two questions are duplicate has a lot of gray area, and most people seem too eager to hit the button. It's frustrating when someone marks your question as duplicate based on their own flawed understanding of what you asked.
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.
The problem, as I see it, with duplicates is it leaves questions with poor answers when better answers already exist for the same question.
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.
Anecdotal: Searching github issues has long since surpassed the usefulness of stackoverflow for me.
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.
> 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.
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.
I wonder if it has anything to do with people using the account and site combination that they use in their jobs and don’t want to be seen for being toxic.
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
Yep, the time dimension is seriously overlooked by people flagging questions closed. IMO the duplicate close reason shouldn't accept questions older than a year.
I’m the same and it’s a lot better since they added reactions to messages.
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!
So, in "real life", we tend to automatically calibrate our response to somebody saying "I don't like that", depending on how often we've heard the same person say they don't like stuff. If they say it a lot, we don't give it much weight. If they rarely if ever say it, we give it more weight.
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.
I remember posting an answer to a CGI question with some grody, idiomatic solution, and getting scolded/downvoted by a high-rep dev (who montiored the subject tags) who responded with... a solution that didin't work! When the original asker responded, they directed them to file a bug.
That contempt and disregard for the actual day-to-day tediousness of writing commercial code is an attitude I can do without.
Wow! That screenshot is unbelievable. I’ve never seen his book before, but I went and looked it up so that I can be sure to never buy it and to recommend against it, due to the author, if it comes up in conversation.
I'm glad to see that HN as a whole sees flaws in SO. I've avoided using SO as much as possible for years now and it seems like other people are coming to the same conclusions as I did. Between the "why would you want to do this?" answers and the downvoting beginner's questions and the "THIS IS A DUPLICATE" answers when the "duplicate" question is totally different and the "deleted as off-topic" on every interesting question, I find it really painful to support the site at all. The site has so much potential, but I find it less and less useful these days to the point where I can't justify ever checking the site out.
> This is my pet peeve: WHY ... DO ... YOU ... CARE.
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.
But the other half of the time the question descends into chaos. I'm there because the question is the same as I asked, 9/10 the digression is not useful.
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.
Pretty much every time I search for Stack Overflow type questions online I find a good answer on Stack Overflow.
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've found the only way to maintain a nice, helpful community is to be liberal with the ban hammer. If you are early and consistent with it, you don't have to use it that often. But people in general fear conflict, fear taking a position of authority, and exercising that authority.
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.
Minus blog post I came to a similar conclusion; asking on StackOverflow is a waste of time. I asked a question about how to do X - which turned out wasn't possible or I misunderstood how the system worked, and rather get an answer, I was told to reformulate the question or have it closed. Then eventually I was told in the comments of the question that this question doesn't make much sense. It was still a valid question, deserved a simple response, at least to add to the knowledge base.
I don't ask many questions, well almost never any more, partly because very often when I search I find almost exactly the question I want answered only to find closed as off topic yet it has a half a dozen well reasoned answers and three dozen well reasoned comments.
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.
I think you can argue the psychology and the merits of various ranking systems all day every day. I don’t think there is one correct answer and might work one moment on one population might not work for another population for even the same population at a later date.
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.
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?
Sometimes 'explaining what you said was wrong' is interpreted as showing you're a smarter/better person, rather than information sharing.
I liked this blog post about it.
https://status451.com/2016/01/06/splain-it-to-me/
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.
As a non-native speaker, I have to admit I find it very very subtle, the kind of sentence I might speak / write / hear without even realizing something is off. Thank you for the link - the author's done a great job explaining it.
At this stage SO is a reference work. The kind of things it's useful for are things like "what's the syntax for [algo] in [language]". There's specific answers people are looking for, and they stay that way.
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.
* 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.
I find the described phenomena not only apply to SO but also to other internet forums, sometimes even to real life (e.g. work place) situations
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.
Stack Overflow did a competent job at a community Q&A site, and marketed it well. I think the downside of it was that it was developed in the age of 'gamification', so it has a ton of badges and incentives for participating, but it incentivizes the wrong things.
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 joined Stack Overflow on day 1 and I've found it very useful. You could argue that despite its flaws it has successfully achieved its goals. Stack Overflow is a great example of gamification.
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.
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 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 mentally substituted HN for SO when reading these comments.
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.
Stack Overflow started going downhill when they stopped allowing "fun" questions. used to be that I'd go there, ask a question and browse through the questions, seeing which I could answer and also fun ones I could just read for interest and pick up sometimes useful sometimes not bits of information which would lead to other topics and so on. Since then it's just a constant stream of "noob" questions with basically no answers. There's nothing wrong with "noob" questions, the questions I've asked on there are pretty much all "noob" questions as I was first learning about programming. The problem is only having those types of questions and nothing to attract people capable of answering to the site.
What kind of culture do you expect for a subject matter that is heavily tied to Google-style whiteboard algorithm trivia / Wall Street brainteasers as ways in which freshly minted Ivy brogrammer grads are made to feel more valuable or important than people with diverse perspectives & years of actual experience.
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.
Online activities shouldn’t have such a huge effort imbalance:
- 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.
I had this meta effect happen to me on one of my answer[1]. I mistakenly accused a downvote on my answer as retaliatory and asked on meta if there were any actions available. The meta effect came in full swing, the meta tread quickly became quite toxic (I suggested closing it for that reason but was refused) and my answer got even more downvotes.
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.
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.
This author should avoid Reddit at all costs. I got time -40 karma for saying I personally didn't care about screen refresh rates this week.
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.
A student reporter once left a mic with my ma. She posted on Reddit hoping to find them. She still talks about the horrible replies she got. I really cannot fathom what's wrong with those people.
I just usually try to avoid participating in Stack Overflow now because it's not worth it. If there is any way for people to abuse you passive aggressively, they will.
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.
The basic problem is that downvotes attract downvotes.
> Hiding downvotes slightly increases the vote score of comments and substantially reduces the percentage of comments that receive a negative vote score, on average
This isn't directly related to the article, but I've noticed lots of Stack Overflow answers now contain outdated information in the highest voted answer.
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.
If I was just starting out and I asked a question about how to loop a greeting message and it got downvoted almost 50 times, I'd feel like a piece of crap.
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.
From my experience, this behavior is common when volunteers answer questions. Personally, I think this behavior that the author is seeing is because volunteer work is thankless and tiring (even with karma) and when you've seen a hundred questions and answered 20 of them the same way, it's easy to fall into the trap of feeling lazy or angry, and get aggressive either way.
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.
Now that I have a few hundred reputation points the site is much more usable, but the privilege system drove me crazy for a while. If you are an expert in something, you cannot even comment (50 pts) to explain why an answer is wrong. And there are editing minimums so fixing bugs in broken code can be tedious sometimes.
It's kind of baffling to me that SO hasn't made further significant attempts at improving the site's culture after identifying and documenting the problems over a year ago in their blog posts. I agree that nothing much has changed on the site since then.
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.
Over a year ago? It's been this way for at least 5 years and probably more. And it was a well-known fact.
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.
As per this meta question [0], the one you've linked to doesn't appear worthy of downvotes. However, when I was active on the site, it appeared that (some) users active in a tag tend to downvote questions when they didn't have an answer to it.
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.
I get that people can take being downvoted personally. (I sometimes do.) And sure, downvoting something that already has -10 points is mean and doesn't serve anything. But being so protective of others in this regard, trying to protect them from receiving negative evaluations from people (random people from the internet you don't care about, no less!) is too much.
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.
This rant reminds me of how I felt at the end times of usenet in the mid-late 90s'. Usenet groups were awesome, until they were overrun by spammers and angry egos. Then I had to go.
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.
Sometimes I just have a feeling it's about language. I see it a lot in the software community (and Agile). You should say it that way because the other way is too (passive) aggressive or not PC.
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 can't imagine a worse place to be than a site that encourages the tedious (and most times irrelevant) nitpicking engineers are already usually guilty of.
I asked a question a couple times on SO and quickly determined I don't need that kind of toxicity in my life.
> As if you need to be a dick to maintain “quality”.
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.
You have this backwards. Being mean doesn't scale. A small number of mean people can poison a large part of the community. That drives off future contributors at a high rate. Being reasonable does scale. When somebody isn't following reasonable guidelines it takes one person to point them at the FAQ, help them understand what they did wrong and why it could be done better next time, etc. One response[1] to point back in the right direction. Low investment for a good outcome. If more people decide to add like reasoning for why the question/comment/answer was off then more energy was spent to convince the original person that this is a hostile forum to use. Now you end up with more energy being spent to achieve a lesser effect. That is a lower ROI.
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.
> When somebody isn't following reasonable guidelines it takes one person to point them at the FAQ, help them understand what they did wrong and why it could be done better next time, etc.
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.
FYI: Some (most?) sites on the StackExchange network don't have this culture of violent downvoting and put-downs. Instead, the veterans use comments which are mostly constructive, and are much more likely to reward newbie efforts with upvotes.
Maybe hide downvotes and effects thereof of new questions for a certain limited duration, unless the downvoter comments. The downvoter would see a warning, possibly an encouragement to post and be friendly, and the downvote would eventually count.
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.
Slashdot’s moderation with reasons / meta moderation worked pretty well for me. Despite it coping pretty well with the fully spectrum of posts that site solicited it doesn’t seem to have ever been copied - I’m not sure why.
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
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.
On Stackoverflow it costs you to downvote. Ask an ill-formed question with more than one easy to find good response, then you get downvoted at those users’ own expense.
> “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.
Downvoting costs newcomers. For old timers, it's basically free.
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.
What's worse is the hypocrisy of these active SO moderators.
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.
Their reputation system is the worst. I'm by no means a power user, but I've asked and answered some questions on the main overflow site. If I go to any of the subforums I have to start over with a reputation of zero and "re-earn" privileges. No thanks.
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.
Stackoverflow is an awesome place to get help for programming questions. Except for the morons who roam in it downvoting all kinds of questions and they never leave a comment to as why they are downvoting. Even when requested to.
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.
I agree 1000%. I'd even donate money to support an initiative to fight this bullshit. Valid questions downvoted, interesting questions with very useful and highly-upvoted answers closed and deleted (thanks to my karma I can see them an I'm amazed) for stupid reasons. I never donwvote anything but spam and offence, I don't care about what do the rules say when reason says the opposite and I usually upvote just to oppose downvotes.
> I’m also wondering what went through the head of the person who saw the question at a score of -3 and just had to add their own downvote, because “fuck this question just a bit more”.
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.
Because SO rewards you for answering questions, there is an incentive to convince the person to change the question to something that is easier to answer.
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.
SO is great as long as the answers aren't some form of "Why are you even trying to solve this problem?" Or "Just use this library instead of doing it yourself" without any actual answer included.
They should atleast be something like "this is what you can do/look into, BUT ...".
One thing I can't stand on SO are the people who do everything to write up an answer to a question according to the rules and standards, and want upvotes, while refusing to upvote the question they are answering because "it's not up to standard", basically not good enough.
One thing I can't stand on SO are the people who ask low effort questions, get upvotes and high quality answers, and don't reciprocate. They say "thanks" as a comment and disappear without upvoting or accepting any of the answers.
I've been a SO moderator for years, but I'm 100% with the OP :(
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.
I understand closing questions as duplicates from a quality POV, but SO doesn't function as a high quality forum of expert users. The plain use case and majority perception of it is as a Q&A site where you can ask questions you're confused about and get the answer; in this case, closing questions as duplicates because they share a premise with another question is purely counter-intuitive.
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.
My concern is more about moderators nazis closing relevant and interesting questions for their own reasons.
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.
Was an avid contributor to the site way back (I even won there contest back then with tumbler and shirt swag) but the site is very hostile now. SO took a very long time to address this one but now it is too little too late. Very arrogant of them.
I think it's interesting that a lot of people are complaining about SO and saying how other systems would be more effective, yet nobody is trying to create a better SO.
Maybe it's actually just a much harder problem than people realize.
Why does there need to be a downvote system at all? Why not just flag a question if you think it's a poor fit for SO? I don't get why anyone would want to pile onto a poorly expressed question.
I love SO. Believe I have been using it my entire career (10+ years). But even after all these years and all this experience I am hesitant to ask questions at SO. It can be quite terrifying.
Can confirm such issues, but I noticed it's the problem of some particular users/moderators who sit on Go channel. I haven't seen so many negative questions on other channels.
I stopped attempting to post questions to stack overflow after the first couple years of attempts. It is a strictly read only site for me. Don’t waste time asking questions there.
Quit posting to stackoverflow perhaps a decade ago. Same is true with github. I'll use information from both sources but no way will I ever contribute anything to them.
So has a snob problem. People elevate themselves by over zealous downvoting. It's toxic. The site is 50% of what it could be but the a-hole factor sucks so much value.
Throwaway for reasons that will become obvious in this comment.
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.
Many of the culture problems with SO are a result of poor or outdated site design and moderation tooling -- and the high-rep users are aware of this and have been pushing for better tools for years. Unfortunately, the company has been neglecting the Q&A site and focusing instead on money-making products like Jobs and Teams. Over the past few years, Stack Overflow has launched several new products (Documentation, Developer Stories, Teams, etc.) and UI redesigns (which were often usability disasters, see [0] and [1]).
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.
Downvotes are useful for quality control, but there is no real difference between -3 and -4.
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.
That message may have been inflammatory, based on my opinions concerning Stack Overflow, but I don't see where I called names; I called some systems stupid, but I can't name call a system as I would an individual.
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.
It was a flamewar-style comment. Those are not allowed here because of the degrading effect they have on discussion, and we ban accounts that persist in posting them. Edit: it looks like you've done it before as well, e.g. https://news.ycombinator.com/item?id=20827595 and https://news.ycombinator.com/item?id=20660007. That's definitely not what we're going for here.
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.
Your comment above makes the sweeping claim that broad chunks of the software engineering field aren’t “real” programmers, by your personal definition of “real” and “programmer”.
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.
You sound like one of the most toxic people on the face of the planet. I just thought someone should tell you that in-case you're unaware of how horrific you are.
Personal attacks will get you banned here, regardless of how bad another comment was. Would you mind reviewing https://news.ycombinator.com/newsguidelines.html and sticking to the rules when posting to HN? Note that they ask you to flag egregious comments instead of replying to them, a.k.a. please don't feed the trolls.
The Creative Commons license disagrees with your characterization. Plus Jeff founded Stack Overflow, so it's odd to single him out if republishing works legally is stealing.
Exactly. Atwood's post says "Unfortunately, we don't have a good designated place for deleted "too fun" questions to live, but all Stack Exchange content is licensed under Creative Commons in perpetuity. Which means, with proper attribution, we can give it a permanent home on our own blogs.
And he does link each term to the StackOverflow user who posted it.
> all Stack Exchange content is licensed under Creative Commons in perpetuity. Which means, with proper attribution, we can give it a permanent home on our own blogs.
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.
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?