If I were to guess, the one of these that has by far the most impact is the Google featured snippets. There's constantly a tension between Google and online publishers about Google wanting to serve people answers quickly (with "on the search page" being the fastest version of that), but that not actually helping the publishers.
I couldn't agree more about the toxicity, though. I don't pretend to know much about who's right in the Stack Overflow vs. moderators debate, but every time I visit an answer on Stack Overflow and glance at the right sidebar I feel like a kid who's just walked in on his parents fighting. The tension between the company and the community is palpable and it makes the site feel like an icky place to be.
It could have been a community, like Quora, but focused towards CS/IT.
But it absolutely missed the mark on that one. It is a high pressure, toxic, unwelcoming place.
I contributed a lot of Math and CS content to Quora where I had ~1.5m views on answers. I really liked engaging there. OTOH, SO felt like a toxic exam hall on a bad day.
Every year SO asked in the survey if I felt I belonged to the community or something similar, I chose the most negative response from the list- every year.
If SO behaved like a community, then it could have had organic growth, and organic visitors, not depending so largely on Google.
It’s worth reading right to the end, for the joke about Overflow AI. Enjoyable article. I don’t know enough about the subject matter to form an opinion on the accuracy, but it’s well written.
A big take away for anyone reading this, if you have a massive digital asset that relies on google you should probably be planning and leveraging yourself for a 50% drop in traffic and revenue over the weekend at random.
> Regardless of how you feel about Stack Overflow’s users and moderators, running a site like that is not cheap.
StackOverflow runs on less than 25 servers, its infrastructure is incredibly cheap considering just how much traffic they serve. And their UI, thankfully, hasn't changed much over the last decades either.
Yeah it's very aggressively cached for read purposes. You could write most Q&A pages to static html files if you felt like it. Stack has a similar age-toward-zero outcome that Wikipedia has (the % of new content as a total share of all content on the service chases toward zero over time); the more you fill out the site, the balance of aged content to new content inverts to an extreme, so mostly what you end up doing is serving up cached reads on older content.
They're fairly well over-provisioned on server capacity. It's so relatively light to operate on the infrastructure side that they could safely further reduce the server count. There's no need in their case however, since infrastructure cost isn't one of their big problems.
I think this article (and other online discourse) overestimates the value of StackOverflow to ChatGPT's training data.
Sure, it's in there - but so is all the library documentation ever written, billions of lines of code, and millions of tutorials. StackOverflow is just one small part.
Stack Overflow has tons and tons of things which aren’t in the documentation and almost all of them are questions from people who couldn’t find the answer in the documentation – exactly what ChatGPT needs since it also doesn’t understand anything about how a given program works, only what patterns are common in public examples.
Probably "unpopular opinion™" but I feel like the ban on "opinion-based" or recommendation questions also didn't help. Not everything can be answered purely objectively, there are many situations where people just want to ask "what are the options for generating a PDF in python" or something. Stackoverflow removed itself from that process which has driven people elsewhere.
Answers are also often more focused on the cosmetic aspects than actually answering a question. Just see the example in the article. The questioner asked about a lambda reference to a public field, and they got told "just don't use public fields lol". That's not help, that's just being a condescending asshole and not actually answering the question.
Combined with the toxicity and elitism rampant, I am not surprised.
Oh, it can explain a sudden and significant change. Just because something changes slowly, it doesn't mean that the effect will appear slowly too.
The article points at two causes that coincide in timing with the change. But even if it's correct, it doesn't mean that those are the two only causes or even the most important ones.
> there are many situations where people just want to ask "what are the options for generating a PDF in python"
You know what I'd love? Framework or language authors publishing a curated set of FAQs and "best practices". It can't be that hard to get a list of the most common tasks people google for, and provide links to the commonly used libraries as well as code examples.
AWS for example puts out very high quality documentation - it's rare to find an AWS help page that has outdated commands these days, although I would love to see them publish some curated Terraform examples as well given how better IaC is compared to manual actions.
My $0.02 is use boto3 if you're working in Python. It's gross, but stable. When I built my CD service I went with boto3 because CDK had 10x the issues on GitHub. Not an exact comparison since the CDK repo seems to include more than one language, but still. Skipped Terraform because it took three months to merge a two line bugfix I submitted, has a similarly massive number of issues, and to this day it still doesn't seem to support some critical API endpoints.
boto3 is an SDK for the AWS API, CDK is an SDK for CloudFormation. boto3 is imperative, CDK is declarative. You can do CDK-like things _in_ boto3, but past a certain level of complexity you'll end up reimplementing so much functionality that you would have done better to just learn enough to use the CDK.
Comparing issues is particularly irrelevant in this case since (as you say) the boto3 API is pretty much stable (since it is "just" a language-specific client to an established API), whereas there are regularly requests for higher-level Constructs in CDK.
Terraform is also declarative but I don't see how that negates the issues. I learned first-hand that the Terraform plugin and CDK being riddled with more than 3.7k and 1.7k bugs/tasks respectively was highly relevant. That's a mountain of work to be done for what are both essentially API wrappers! A lot of operations also don't fit nicely into the declarative model, so Terraform in particular doesn't even support a lot of operations. boto3 being procedural does mean an added step for checking existing state when updating resources, but that's a minor tradeoff for stability in mission-critical code. I would love to see CDK become less buggy though!
> That's a mountain of work to be done for what are both essentially API wrappers!
You are once again assuming that the existence of feature requests implies that the existing tool is not fit for purpose. This simply isn't the case. The boto3 SDK "only" attempts to provide a client for the AWS API - feature requests are essentially meaningless until/unless a new AWS Service is launched. The nature of CDK (or Terraform), however, is that "higher-level" constructs can be created - Constructs defining patterns, rather than just one-to-one mappings with AWS Resources. These can be imagined and requested essentially infinitely; but those requests doesn't mean that the existing L1/2 Constructs are incomplete or flawed.
Candidly, to describe CDK/Terraform as "essentially API wrappers" betrays the fact that you didn't really try to use them seriously. Yes, they call AWS APIs under the hood; but if you're only using them as a drop-in replacement for boto3 calls, you are missing out on a lot of the power they provide.
> A lot of operations also don't fit nicely into the declarative model
Cool, in which case, boto3 is indeed the correct choice. But that's because it's the right tool for the job, not because CDK or Terraform are inherently flawed.
> I would love to see CDK become less buggy though!
I've been using it professionally for over 5 years and have encountered a single bug, which arose due to version mismatches in different libraries (and so was easily resolved). I certainly won't claim that _no_ bugs exist - though, skimming the Issues page, the considerable majority appear to be Feature Requests. Either way, I feel extremely confident claiming that a bug in CDK code is significantly less likely than making a mistake when attempting to reimplement-in-boto3 all the wiring and dependencies of a complex stack.
Hand waving away a more than 10x increase in issues won't make them go away. That's a pretty clear indication things are wrong. CDK/cloudformation is objectively buggy compared to boto3/the standard API. Terraform is unusable for all but the most basic tasks, with issues like not being able to get private IPs for certain resources, and seemingly no plans to support the many inherently procedural operations that one may need to perform on AWS.
> Candidly, to describe CDK/Terraform as "essentially API wrappers" betrays the fact that you didn't really try to use them seriously. Yes, they call AWS APIs under the hood; but if you're only using them as a drop-in replacement for boto3 calls, you are missing out on a lot of the power they provide.
Well I actually reviewed the code as part of my evaluation, and even made the initial version with terraform that I contributed a patch for, so it's an accurate description. CDK is a wrapper for cloudformation...
> Either way, I feel extremely confident claiming that a bug in CDK code is significantly less likely than making a mistake when attempting to reimplement-in-boto3 all the wiring and dependencies of a complex stack.
If you were to actually compare CDK and boto3 examples, you would find they are very close in practice with the major difference being that you _may_ need to diff existing resources before performing updates with boto3. Not hard to do in practice and gives you the opportunity to choose exactly how to handle different scenarios, which I see as a plus. You still need to learn AWS concepts and have a strategy for error handling.
I'm glad CDK it works for your use case! I'm provisioning entire build and runtime environments as a service, and chose the API wrapper that is clearly given first priority at AWS.
> Not hard to do in practice and gives you the opportunity to choose exactly how to handle different scenarios, which I see as a plus. You still need to learn AWS concepts and have a strategy for error handling.
These are certainly fair points.
Thank you for your civility - I re-read my previous comment and am not proud of the tone that I struck.
I think it's a genuinely tough problem. Keeping documentation up to date is a Sisyphean task - it's great that Amazon has managed to to some extent, but it's hella difficult for small teams.
There's some amount that can be answered by providing a 'beaten path' for people to walk, but a) discoverability is a problem - people often don't know the right keyword to search for to find what they need, and b) people are often subtly off the beaten path, and need some adaptive guidance to their particular situation.
I would contest that claim, honestly. If you mean the Terraform AWS provider, that has very good documentation, as do all the Terraform Hashicorp providers, but AWS itself is all over the place. They have way too much. Run into nearly anything I can't figure out and have to go their solutions architect for and I get links to 15 different blogs that aren't even part of the main documentation. Been fighting to figure out how to authenticate a AWS VPN throug Azure AD for weeks, though to be fair there, the defect is mostly on Microsoft's side, not Amazon's. I just spent the entire day today getting rsql to finally work for querying Redshift on a M1 Mac and their documentation seems to just be flat-out wrong. All the paths they think Homebrew installs stuff into are not the right paths. They offer a arm ODBC adapter, but rsql itself only comes in x86 for some reason, so they fail if you try to use them together and you have to get the x86 ODBC instead.
Also, not Amazon's fault, but I consistently get annoyed that when you web search the documentation for awscli, the top links always take you to the awscli v1, not v2.
To be fair again, I don't even know that it's a solvable problem. AWS offers too many services, too many ways to access them, and makes changes too frequently. They can't just unpublish anything because someone out there is still using some combination of each version of server and client side services. But it makes it very hard to find exactly what I'm looking for. Probably made all the worse by some of the subtle differences in GovCloud, but having very little GovCloud-specific documentation.
StackOverflow set out to be a place for Q&A without "debate", to varying success. It's a fundamental part of its mission that questions that are really prompts for debate ("what is your favorite...?", "what do you recommend for...?") are not accepted.
I agree with this decision. It's not as if there's any shortage of other places to ask for opinions and debate.
StackOverflow tries to be the site where "the answer to X is Y". Again, with varying success and not always consistently, but it'd be even harder to accomplish if it accepted "what are the best things about X?".
edit: example, from the article:
> If you try to post a comment.. wait, you can’t! Because you don’t have enough karma.
This is by design. Comments in SO are meant for correcting minor details or asking for clarification. They are not a form of "engagement" or debate; extended discussions are a symptom of impending flamewars and usually get promptly moved to the chat section of SO, where they belong. If you lack karma to comment, focus on asking & answering questions instead -- the primary active use of SO (other than just looking for answers, that is).
> StackOverflow tries to be the site where "the answer to X is Y"
StackOverflow is widely known as the place to get insulted for asking how to do X with Y. It doesn't matter what X or Y is, the answer is always "you shouldn't be doing it that way, why would you even ask that?"
Sometimes. Not always. I do know I almost always find the answer I need, and someone has already asked it, so no need for me to write anything. I also don't care if it's closed as a dupe, since all I care about is whether it answers my question, not about reputation or status. I even contributed some useful answers!
Did I get into pointless back and forths with aggressive users (and of course, sometimes I was the one in the wrong)? Sure! But so have I here on HN. I'd say of the last 5 years or so, the worst, most aggressive, and draining flamewars I've been involved in were here, in HN. Much worse than StackOverflow.
Would you say HN is useless or failing because of this? I wouldn't!
>StackOverflow is widely known as the place to get insulted for asking how to do X with Y. It doesn't matter what X or Y is, the answer is always "you shouldn't be doing it that way, why would you even ask that?"
I think that's true, but lateral to the point being made above. Stack Overflow banning opinion based questions was done for good reason and not part of the reason for its loss in traffic.
The problem is, by removing humane parts of interpersonal communication (remember, even thanking or greeting was forbidden on SO), you essentially encourage inhumane communication. When you treat users as Q&A bots, people will treat them as bots too, forgetting that they're people. I observe this on Wikipedia too. Your contributions are merely regarded as automatically materialized prose instead of work of a human because Wikipedia's format also forbids "staining" the content with your individuality.
> you essentially encourage inhumane communication
Yes, because StackOverflow—like Wikipedia—is not about interpersonal communication. Neither is intended to be a forum. They're intended to be repositories of reference information. Nobody wants their encyclopedia or dictionary to engage in idle chit chat with them.
This kind of perspective ("but <web site whose content is created by humans> isn't about <essential notion of humanity>") is the bane of such platforms. I think it stems from an engineer mindset that considers users as abstract entities rather than people. Almost as if people are like sun's rays that energize your web site, rather than actual beings who experience it, have emotions and all kinds of complexities and individual differences.
Any web site that relies on humans for its content must accept humanity, and commit to serve the needs of the humane sides of its users. Otherwise, you'll end up with all kinds of toxicity, abuse, and finally abandonment that is observed with SO.
I think you're just being narrow-minded, and much of what you consider "essential" to "humane" communication is what many other people consider distracting bullshit. Impersonal technical writing is hardly a new phenomenon, and it has been widely accepted within academia for centuries, so clearly what you consider essential is not at all essential.
Stop and imagine if the search results you get for programming were as polluted with "personal touches" as the results you get when searching for recipes.
Your content contains opinions. Please rephrase your comment in a neutral tone directly addressing the arguments instead of the person without polluting it with your opinions. Your personal assessments on a person or a topic have zero value and considered a BS (baseless statement™). We only expect you to respond to the arguments in a logical, netural, unopinionated language to achieve purest form of information in JSON format so it can easily be digested by AI training machinae. This is your final warning. Otherwise, your account will be replaced with a more logical, analytical, objective user in the waitlist according to the terms of the license you agreed during the registration.
> Any web site that relies on humans for its content must accept humanity, and commit to serve the needs of the humane sides of its users. Otherwise, you'll end up with all kinds of toxicity, abuse, and finally abandonment that is observed with SO.
And with Wikipedia, for what it's worth. The amount of behind-the-scenes bullshit there is amazing - and on top of that come all sorts of "external" bad agents, anything from hired ghostwriters to whitewash a company's or a person's Wikipedia article to enemy nations' troll crews.
But they have a Meta tab that mostly hides it from the average viewer. It can’t handle debates like Israel vs. Palestine or Donald Trump, but nothing can.
There's a difference between "I am appalled that they edited my perfectly poetic prose in this article about nematodes" and "the revert comment said 'I'm taking a machete to this bloated garbage. This is wikipedia, not Weird Tales', when a simple 'section is not succinct' would get the point across"
The question is not "should wikipedia/stackoverflow be a cold reference?", but rather, "do the editors of wikipedia/stackoverflow have to be such jerks about accomplishing that goal?"
>The problem is, by removing humane parts of interpersonal communication (remember, even thanking or greeting was forbidden on SO), you essentially encourage inhumane communication.
I think I more or less agree, but once again, this is lateral to the point above about causes for loss in traffic.
As for the substance of what you are saying, I think I partly agree and disagree. I think it is very true that the SO culture has broadly been felt to be pretty poisonous and bad in non-trivial proportion of interactions there experienced by many. My personal anecdote is about tetration, a kind of mathematical exercise that you could consider to be next in the progression from addition, to multiplation to exponentiation. Tetration is "next" after those.
In response to a question about tetration, someone responded with the most spellbindingly obtuse answer, not validating the intellectual curiosity of the asker, not answering any questions about the nature of a "tetration" operation, not identifying any of its peculiar, curiosity inspiring features, not discussing any circumstances where it has been researched, used, discussed previously, not surveying where it lies in the educational landscape relative to other fields of math. Instead, the answer was to opine about how one does not "need" tetration, which, again, I find so offensively against the spirit of asking questions that I genuinely become upset when thinking about it.
I make that point just to emphasize that I do agree, to some extent, as to the pervasive negative atmosphere on SO. Everyone has their anecdote, and there's mine. However, I think I partly disagree, because your criticism appears to be about the normal goings on, of SO even as it would function in its ideal state. I am not so sure I believe that people should need that kind of vague, generalized recognition of humaneness, as something understood to be at cross purposes with building a reference guide on subjects. It is fair, in service of that mission, to expect and request activity that serves that purpose, and not concede everything, and allow an inundation of low effort memes, lists, jokes, and off topic responses.
Those are the default state of internet comments, and one degree removed from those are the demands to amend standards to welcome such behavior, from people who would engage in such behavior if they could, who in fact probably were trying to engage in such behavior, but, upon realizing it was not allowed, switched to advocating for it. Every such internet-based project centered on accumulating information will experience pressure to lower standards, accept memes, anecdotes, trolling, which are either just produced, or advocated for, with both stemming from the same impulse, and rejecting those demands in favor of a real mission or purpose you can articulate is a legitimate response to those demands.
It does appear to be incredibly unfriendly to a lot of people, but honestly when I look at some of the questions that get downvoted, it seems that a lot of the questions that do get downvoted are "help me, I've done no research!"
That said, it's pretty hard to get a good answer on the site these days.
And, as a volunteer, most of the questions on the site, I don't have the inclination to answer. Most of the rest I don't have the requisite skills to answer. Which ends up meaning that I don't spend much time answering questions anymore either.
In my experience, if the question is really old the original author won't respond even if you comment (or they'll say something like "yes, things are different now, this was written in 2015"). And if it's really outdated you'll sometimes see someone else replying with the more up to date answer anyway. Commenting on old answers is seldom helpful, in my experience.
About the only use I see for comments is asking for clarifications or pointing out an obvious mistake in relatively recent answers.
> It's not as if there's any shortage of other places to ask for opinions and debate.
Clearly I'm becoming a dinosaur. Back in the days there were newsgroups and IRC. What do the non-dinos use these days?
Like, not long ago I was looking for a library to X in language Y. Most of my questions are like that, so SO is almost never a fit for me. And I'd love to get some input from people who have tried the alternatives.
So yeah, where's the plethora of places to ask for such things?
I guess there's Reddit, but I've generally found poor results (ie, few responses) for such questions.
These days I'd generally start with "awesome" lists on GitHub, use number of stars as a coarse filter to exclude obscure stuff, then dig into the documentation of each of the alternatives.
It works ok, but I really would like to have a better way of finding opinions about libraries or whatever.
I have not, because most often I don't have the experience to evaluate the response. That is, I don't trust it to know what's what, so I'd have to do an in-depth evaluation anyway.
For discovering the options it's probably ok, but the value I got from newsgroups and IRC were the experiences behind the opinions, potentially saving me from doing in-depth evaluations.
Sure, but it's still surprisingly good for most programming type questions. Even if the answer isn't exactly right or ideal it often gives you enough to go on to figure it out yourself.
Every useful question I have as I became more experienced doesn't have a clear answer and should be a discussion.
Yes I use stackoverflow at times as documentation, which is good. The other situation where it's good is when there are enough different answers to a question that help you attempt different approaches.
I never ask a question on Stackoverflow like I did before, anything useful I'd ask can't be asked.
The ban on opinion based and recommendation questions grew out of the inability for people to make sure that they didn't overrun the entire site and crowding out the information / goal that Jeff and Joel wanted the site to be about.
It is so easy to post a "{background}, what do you think?" which is more of a discussion than a Q&A format... or "I'm looking for XYZ" and getting a page of recommendations... and then people keep adding them without checking for duplicates.
The administrative / curation time requirements of such content then grows faster than the number of people willing to do it.
There are other, smaller, SE sites where such questions are allowed because with the slower amount of daily activity they are able to handle every question every day and a post suddenly getting an abnormal amount of time isn't that much more time.
The result of that is that the question types that are most time consuming for doing curation and moderation get cast out and it becomes the easier, more objective ones that remain.
As to answers... gamification hurt it there. While its part of the onboarding / understanding the site, people went after the numbers and so any answer, no mater how poor was ok. The culture became one of "don't remove an answer if it is any attempt to answer a question (not the question)" and getting 10 points for an upvote and only losing 2 points, unless you've written something awful, as long as you get one up vote its typically a positive point gain.
The example question that is in the article is from 10 years ago.
The current attribution of the comment is:
a -> a.id. Why are you using public fields in the first place? - JB Nizet Dec 14 '14 at 9:27
@JBNizet, I like public final fields in classes which are data structures. They don't implement interfaces or have deep hierarchies. - Daneel S. Yaitskov Dec 14 '14 at 9:31
You're making your own life (and the life of your coworkers) difficult (as shown by your question). This is anti-OO (encapsulation), doesn't respect standard practices, makes your code inconsistent, and unusable by all the standard frameworks and libraries which expect standard Java Beans conventions to be respected. I'd really not do that if I were you. If generating getters is what bothers you, then use a decent IDE, or use Lombok to generate them for you. - JB Nizet Dec 14 '14 at 9:42
> For a community that is so gate-kept through imaginary Internet points, there is an incredible amount of disrespect on the forums not through just voting, but also through people commenting, such as people passive-aggressively calling you dumb.
I don't see this as a passive aggressive calling the poster dumb, but rather an attempt at understanding the shape of the problem.
The "7% of comments are unwelcoming" - if there's a problem, flag them. If a pattern of unwelcoming comments from a person, they can get suspended. Not taking action on unwelcomeing comments perpetuates them.
I would call out that calling someone a condescending asshole for asking about why public fields are being used is more unwelcoming than asking why public fields are being used.
>> For a community that is so gate-kept through imaginary Internet points, there is an incredible amount of disrespect on the forums not through just voting, but also through people commenting, such as people passive-aggressively calling you dumb.
>I don't see this as a passive aggressive calling the poster dumb, but rather an attempt at understanding the shape of the problem.
If you are asking a question on SO, you probably lack the knowledge to understand why a person wouldn't want to use $whatever. So adding a simple contextual clarification ("Public fields are generally frowned upon, as they violate the OO encapsulation principle. So, why are your using public fields here?").
Because there is so much nuance lost in text, some people have (and I think rightly) come to understand that when statements or questions are directed at an individual, the more concise you are, the less respectful the statement or question is. Something like "I don't care enough about you to clarify my intent at all"
The followup, where they say "use a decent IDE" presupposes that the person asking the question isn't. Indeed, this sentence here
>You're making your own life (and the life of your coworkers) difficult (as shown by your question).
reveals that we really shouldn't give this person the benefit of the doubt. If I was an e.g. wikipedia editor removing too much personal flair, the only sentence I'd keep is
>This is anti-OO (encapsulation), doesn't respect standard practices, makes your code inconsistent, and unusable by all the standard frameworks and libraries which expect standard Java Beans conventions to be respected.
It is worth noting that this article only uses one of the four graphs in the original articles to fit the narrative it is ChatGPT that is responsible for the decline. Other metrics show that the decline set in earlier.
In Mathematics SE, you can ask the community which are the best books on Point Set Topology or Linear Algebra. But you can't ask about the best Algorithms book in SO.
This was a bummer.
You got a bunch of smart people with proven expertise in topics, and yet, I cannot ask about their opinion. This is stupid.
Math SE is a much nicer community and I have enjoyed contributing there and also got a ton of help there.
It is able to handle the wider scope more easily. The fewer questions per day and the more people there to help guide a not-quite-right question to become more useful the more that variation in scope can be handled.
Stack Overflow has the difficulty that as they scaled up in activity, the number of people willing to spend the time to curate and the corresponding tooling didn't scale with it. This resulted in a reduction of time that can be spent on a question to help it be a good question and so people do the least friction fastest action as they can.
You keep saying that about effect of moderation on fact- vs opinion-based questions. You haven’t proven it, though. Let’s look at an alternative.
They could’ve created different categories of questions where some are fact-based and some are opinion-based. Then, focused moderation on the precise questions that need higher quality. Their search engines can also put them ahead of opinion-based questions.
In that way, they keep the questions they prefer at a high, quality level while others are hit and miss. The latter are still there to benefit people. Users will then go where they prefer to go. StackOverflow would have both types of traffic.
They tried that. Stack Overflow, when it was much smaller, allowed such questions.
Once they realized that it was going poorly, Jeff and Joel created "Not Programming Related" and had all of those questions asked there instead... and it went poorly.
In order to support the opinion based questions, a more active curator group is needed than Stack Overflow users seem to be able to support... and the Q&A format that Stack Overflow is designed around is poorly designed to handle these questions.
While I was active there I saw half a dozen attempts to create that site for "primary opinion" that all failed - No one wanted to spend the time to manage it. https://news.ycombinator.com/item?id=6062876 is one such example.
Yes, the other type of questions are useful... it's just that Stack Overflow isn't necessarily the best place to ask those questions. It was designed with a very specific type of format in mind and in doing so makes it difficult to handle other types of questions.
The way to have those other questions be admitted is to reduce the individual burden on the people who are maintaining the site or make it easier for people to moderate the site so that less time is needed in order to help people use the site well (this requires improvements of tooling from corporate).
But Stack Overflow... it doesn't need to be able to handle every type of question. It wasn't designed to be able to handle every type of question.
If you believe that the discussions are useful... create the site. Honestly, when you get done with it, it will look a lot like Reddit or Discourse. They are better able to handle questions of that nature. The Q&A format for SO and the comments were designed to make discussions difficult and impractical - which are the exact things those discussion style questions need.
---
(from GP)
> You got a bunch of smart people with proven expertise in topics, and yet, I cannot ask about their opinion. This is stupid.
You should go to the place where those people with proven expertise answer those questions instead.
Eric Lippert answers questions on Reddit from time to time - https://www.reddit.com/r/programmerchat/comments/37qwmm/i_am... - and he's there because wants to answer those questions then. But he's on SO because he doesn't always want to answer reddit type questions.
Thank you for the links. I agree with the one about memes. I don't know that the first one went poorly so much as had disagreement from the community.
"If you believe that the discussions are useful... create the site."
That's a poor counter right there. It ignores both the rate of success/failures of new sites, network effects of old sites, and switching costs. Almost all projects to do site X with improvement Y fail for these reasons even when people on site X think Y is a good idea. A large number of people almost never move to the new platform. Knowing that, wiser people try to go where the people are already at and make improvements there.
It was the lead in to the "when you think about how you'd design it, you'd end up with Reddit or Discourse". I have seen dozens of them attempt to be "we're going to be Stack Overflow, but for those other questions" - get an enthusiastic start, and then peter out as lack of activity and disproportionate moderation requirements started to become evident.
For the network effect, try Reddit and consider why /r/AskProgramming doesn't have the mix of people that you're after. Or consider using AskHN here... but note also that this site (which has similarly smart people) isn't the right spot for such questions on a regular basis... why do we want to make Stack Overflow into something that both the software and the established community resist? ... and consider that it was designed that way to make it difficult and awkward to support those types of questions.
The collection of smart people answering questions on StackOverflow are doing so because it is StackOverflow and they can answer a question and then continue on. Eric Lippert and John Skeet don't want to be getting in discussions or they'd be more active in other places. If you ask "what is the best X" on Stack Overflow you'd still not be getting their answers.
I keep saying that Stack Overflow was designed a certain way. It was. Jeff was strongly influenced by Clay Shirky who wrote A Group is its Own Worst Enemy ( https://news.ycombinator.com/item?id=27706413 ). Clay was on the original board of directors for Stack Overflow. The "poorly designed" comments are in response to:
> 4.) And, finally, you have to find a way to spare the group from scale. Scale alone kills conversations, because conversations require dense two-way conversations. In conversational contexts, Metcalfe's law is a drag. The fact that the amount of two-way connections you have to support goes up with the square of the users means that the density of conversation falls off very fast as the system scales even a little bit. You have to have some way to let users hang onto the less is more pattern, in order to keep associated with one another.
Atwood: Maybe. But the cool thing about this is this is not just me, because that would be boring. It is actually me and Clay Shirky. You know, Clay Shirky is one of my heroes.
Spolsky: Oh...
Atwood: Yeah I know, it's awesome. So we get to talk about like building communities online and I get to talk about StackOverflow, you know, and all the lessons we've learned and, get to present with Clay. Obviously he's an expert so. That's one of the people that I have emailed actually, because I thought that would be good, because he is from New-York city as well. So we could A) show him the site and B) talk about the thing we are going to do together in March, because he needs to see the site to have some context. I mean I did meet him and talk to him about this earlier a few months ago, I think I mentioned it on the podcasts. But that was before we had sort of even going to beta, so there's really not a lot to show him. But I would love to show him in person. So we'll see if I'll hear back from him, I do not know.
---
Just as Star Wars is a manifestation of Campbell's Hero's Journey (lots of Lucas Campbell links), Stack Overflow is an implementation of "A Group...". There are things that worked well, there are things that worked poorly.
The sites that compete with Stack Overflow for the other questions already exist. That they don't attract the experts or that they don't allow such questions is a statement about what would happen on Stack Overflow if you were try to make it so those questions were allowed.
Remember that https://news.ycombinator.com/ask exists and has those less well formed discussions that clearly doesn't match Stack Overflow's Q&A format.
> You got a bunch of smart people with proven expertise in topics, and yet, I cannot ask about their opinion. This is stupid.
That's the best way I've seen it worded. Any rationalizing about policies and manpower is a distraction from the fact that it's a stupid situation. None of that changes the fact that for a while you'd search "recommendations for x" and the first thing you'd get in your Google search results was a closed SO thread from someone asking for that thing.
Fortunately the recommendation part is often ignored.
I am an amateur developer and I am so glad that some people say "use X" instead of a block of code which is "native" and pure.
In Python this was requests and arrow, in Go it was resty (despite the Go community being extremely toxic in SO). These are fantastic for casual coders.
Answers with expensive code instead of a simple lib are useful too, but only when you gain expertise in the language.
> Instead, you head over to Reddit where the programming community is much nicer.
Lol. I always feel the "toxicity" claimed of SO is way overblown. It's always "closed as dupe but not really a dupe and I got downvoted for asking a legitimate question". But 99% of the times it was really a dupe, or a poorly worded question, or something strictly off topic. Getting told that isn't toxicity. It's what keeps the community somewhat sane. If you try to look through the review queues, you'll see all the low effort posting the community has to deal with.
What I feel is killing SO isn't the community, but the leadership. They've ostracized their own moderators and reviewers for a long time. And with no stewards, it will become toxic. And a wasteland of low effort duplicate questions.
> It's always "closed as dupe but not really a dupe and I got downvoted for asking a legitimate question". But 99% of the times it was really a dupe, or a poorly worded question, or something strictly off topic.
Exactly. Multiple times on HN, someone has said something along the lines of that myself. Whenever I've seen it, I've asked for a link to the question that it happened to so I can confirm it myself. Nobody has ever provided such a link.
I agree that sometimes it was really a dupe. Or even that most of the time it's a dupe. But when the answer was written in 2011 with the latest update in 2017, maybe it's worth reopening the question because there's probably a better answer in the last 6 years.
> But when the answer was written in 2011 with the latest update in 2017, maybe it's worth reopening the question because there's probably a better answer in the last 6 years.
Even in that case, you don't need a new question. You should instead just edit and/or post a new answer to the old question.
Why? Why not just answer the damn question and link it in the old question if you're the mod? There's now countless ways to center a div in 2023. It's unreasonable to link to a 15 year old post. I guess SO will find out the hard way that people like updated answers on updated pages.
That doesn't help if you're a person trying to get an answer rather than a person trying to provide one.
Though SO has made some small progress on this problem recently by changing the default sorting algorithm to no longer prefer old, entrenched answers over new, better ones.
That doesn't satisfy the use case. How do you edit a question that isn't yours? If you are looking for an answer and don't have one, how do you trigger the question to be re-answered? How does the new answerer get the points?
How would that work? If I just comment on some 8 year old question that the answer does not apply to $LATEST version of $FRAMEWORK, how would anyone with the know-how discover my question?
This truly is a new question because what is really being asked is what was the breaking change that occurred in $FRAMEWORK between the original question was answered and this latest version.
How does that work for a question asker? Can I revive an old question that I want a modern answer to?
As far as I know the original asker owns the question, so I, modern asker, can't edit it asking for a modern answer or de-select the selected answer for being now wrong or out of date.
Nah, SO is really toxic. There are plenty of examples and probably dozens of blog posts illustrating it. It took two seconds to find two of MANY meta posts [0][1]. In fact one answer to the posts here illustrates what looks like at least a dozen similar posts. ChatGPT is just hastening an already well deserved death. I have not heard a positive opinion about SO in my professional network in years. Everyone passively consumes SO but a community built on contribution can't live on passive consumption. If the community is so high huffing it's own farts it drives away the exact thing it needs there's no good end for it.
Did you read your own links? I feel they explain it well. Strict moderation isn't toxic. It can feel harsh, but it isn't toxic. The rudeness is people joining a forum, spending zero effort to understand the rules or etiquette, and then demanding others helping them for free without putting any effort in.
The rudeness stems not from moderation but drive-by insults in comments and rapid dupe marking. That's covered in one of the several answers to the topics.
It is when the comment wasn't actually a dupe because of a subtle difference that was missed or because the 'original' question was years ago and all the answers would be different today.
I don't think strict moderation is inherently nontoxic, it's really quite toxic in a format like SO where no one knows how much effort may have gone in and what level people are at. Strict moderation usually works in conjunction with exclusivity to not just traumatize random members of the public.
When someone reaches expertise are they going to participate in your forum? For many people, I think SO is understandably something they will never participate in after their early experiences being told off over things they couldn't yet distinguish.
This view is exactly why SO is dying. It's elitist and exclusionary. It's the same as the grognards who autoreply RTFM to everyone.
SO could have been a place where someone could post a question, and a decent search algorithm could offer answers from previously answered questions; if it was a unique question then it could be opened to answers. Instead, SO decided you needed to earn the privilege of posting a question by answering questions posed by others. That right off the bat excludes a ton of people who don't have the time to wait for a question in their domain, and answer it before 1000 other people.
Sure, it's the Eternal September for tech sites. Comes with the territory. If you don't want people to visit your site (and contribute moderation and content for free), be hostile to new users. Reward aggressive closing of questions. Sure is a good way to drive away anyone but the most pedantic control freaks.
I used to refer people to SO when they would come to me with a question I couldn't answer, (I even have an SO t-shirt hanging in my closet) but now I'd only do that to my worst enemies.
Oh I'm wrong. You get all of ONE karma point to use for either a question (that will get closed) or one answer. Earning karma is fundamentally impossible for anyone who isn't living on SO.
I'm sorry, when did I ask you for tone-policing? You seem to be taking any criticism of SO as overblown, and your comments are dismissive of how many user's post of how they felt they were treated on SO.
strict
/str?kt/
adjective
demanding that rules concerning behaviour are obeyed and observed.
Proper moderation for rules can be no more strict than are the rules themselves, and SO's are appallingly slack.
E.g. try and find the rule prohibiting duplicates. Mods have fabricated their own definition: "Questions may be duplicates if they have the same (potential) answers" (verbatim). By which 1+1 is a duplicate of how many does it take to tango.
Using that bogus grounds to close a question that fully follows the delared rules is, yes, toxic.
Probably by doing the thing that can be used to answer 95% of all questions programmers ask each other: reading the manual.
Over time I've got used to it, but my colleagues tend to use me as a personal StackOverflow because I actually read the manuals for things we use/depend on. I regularly "amaze" them by answering obscure questions and when they ask how did you know that, the answer is always some variant on "by reading".
Now I just accept that most programmers hate reading and will prefer either just splashing around until they stumble on the answer by accident, or asking other people. It's frustrating but just how it is. I've had a senior programmer at a well known tech company tell me that now LLMs exist they+their team suddenly feel like writing documentation is worth it, because something will actually read it, and he was serious! They work on the assumption that if they write docs, zero programmers will read them! I don't think that's literally true but it might be directionally true.
I don't quite understand the assumption that LLMs are learning to code by reading StackOverflow anyway. Sure, it sounds plausible but we don't know how ChatGPT was trained. But it seems irrelevant now. GPT-4 has clearly learned programming to the level that it could generate self-training material just by reading the docs, writing experimental programs to try things out, and then summarizing its own findings which can be fed back into the next training round. At the moment it's not wired up to programming environments closely enough to do this, but it could be.
I think this is unnecessarily reductive. When your day job is programming and you have strict sprint deadlines you don't have the hour or two it might take to leisurely stroll through manpages. Quickness is a result of industry demand not because it's correct. But that also doesn't make the programmers "hate reading". I have never had a PM/manager/TL/etc budget "documentation reading" into sprint points. I will hazard a guess and say you haven't either. So if you're not reading manpages in your free time Google/ChatGPT/SO/whatever is usually the best option.
> I have never had a PM/manager/TL/etc budget "documentation reading" into sprint points.
When working with new software components, usually we're able to either work into our sprints an experimentation/PoC task, that'd include reading the doc or we just include into the estimation of the development task some time to read
I think reading documentation along with many other tasks is meant to be just budgeted into a task when planning it. You probably wouldn't write buggy code that doesn't work then say the sprint didn't have an explicit line item for debugging?
It's a bit of a circular problem. If programmers don't enjoy reading, they assume nobody else does either, so they don't bother writing proper docs, so the people who do read find there's no good docs and learn not to bother next time.
> If ChatGPT kills Stack Overflow and Reddit/Twitter block API access, where will it gets its answers from?
nowhere, they are cannibalizing their own source of data. They own Github so that's helpful, but still mostly just code, not a whole lot of discussion.
I think this shows that people need a place to talk about the same topics even when there is an answer somehere on the site. SO is not that place, but we need it. Like the old IRC days (in some channels, at least).
I don't think it's in dispute that SO has to deal with a lot of identical low effort questions. What people don't like is that the moderators and power users are entrenched against duplicates in particular in a way that makes the site hostile by default to questions that are not outstandingly original, but are nevertheless legitimately different.
Subreddits deal with the same issue (tons of identical basic questions) but have better processes to divert them and educate the user while still letting legitimate mid-level questions live by default.
There are bad subreddits where moderators make it hard to get help, but since redditors can move to better communities on the same topic (and duplicate all the content!) users don't feel stuck with the current moderation in the same way they do on SO, which doesn't let competing Q&A communities exist for the same topic.
I understand that SO has done some work to address these issues in the last few years and want to credit that too. That work is another indicator that there is a problem.
I also agree that leadership-moderation relations are a problem on SO.
> I always feel the "toxicity" claimed of SO is way overblown.
It's toxic enough that neither I nor any of the programmers that I personally know would ever dare to ask a question there. We see how other questioners get treated.
Shame that you are focusing on a single detail rather than the point of my comment. No not everyone in the world, it should have been in quote marks. Glad to have cleared that up to you.
Don't mind me, in every thread about SO in here there are lots of comments mentioning the same, and I agree. Your experience may not be the same and that is ok.
If every thread also have someone claiming it not to be as toxic, shouldn't that also count the same? Aka you should then "consider the thought it is not toxic".
So are you getting paid by SO or something? Are you one of these moderators everyone hates? Why are you so all over this?
SO has built up a toxic reputation over many years. And yet somehow, according to you it's false? Why don't you just let this one die? You can collect your paycheck from SO now; you've done your bit.
> Please don't post insinuations about astroturfing, shilling, brigading, foreign agents, and the like. It degrades discussion and is usually mistaken. If you're worried about abuse, email hn@ycombinator.com and we'll look at the data.
> I always feel the "toxicity" claimed of SO is way overblown
"overblown" == "who ya going to believe, me or your lying eyes?"
At Google I interviewed a refugee from Theranos, when they were still around. (It was just lunch, so I wasn't expected to ask him anything.) Still, I mentioned the bad press, and he said the news was "exaggerated."
When people mention something again and again, it's usually not "overblown" -- it's real.
No, you can't know without knowing the ratio of good to bad. With more popularity comes more negative experiences as well. And as with everything in life those with an axe to grind keep harping on forever and everywhere, making it more visible than the silent enjoyers.
"Give up"? I'm just poking holes in your argument, not sure why I got anything to give up? Is me doing that worse than you not "giving up" somehow?
It's not irrelevant. I didn't even mention yelp so that's a straw man. You said the ratio didn't matter. I claimed it does, as looking at absolute numbers of complaints makes no sense. That's it.
Why are you just dismissing people with an other viewpoint than you as "those with an axe to grind" that "keep on harping forever and everywhere"? Your complete disregard of others experience and viewpoint is extremely in line with the elements that people dont like about SO.
"So that is your opinion, experience and thoughts? WRONG!". Add in some offhand slights, that will teach them!
Well, well. If we go to SO we see that a "matsemann" has been a member for 11 years, had 20,000+ reputation points, and is a "publicist" and a "steward".
Usually writers do "full disclosure" when their objectivity is open to question.
Especially when they have 15 comments on one post. One does suspect they have an axe to grind.
As for "knowing about it" -- when hordes of people try it once or twice and get instantly repulsed (an experience we see in the other comments here), you could certainly claim they don't "know about it." However, that doesn't disqualify them.
Otherwise, Survivor Bias only lets in the people who like it.
Wow, what damning evidence! Someone commenting about a forum is a member of said forum! What a scoop, Pulitzer incoming!
Even in my very first post in this discussion, I mentioned review queues and what I feel is wrong with SO recently. It's pretty clear to everyone with reading skills that I'm therefore an active member there. And no sane person would think my "objectivity is open to question" based on me commenting a few lines about an article. I'm not a "writer", I'm just commenting on an article. What a weird thing to demand "full disclosure" of.
(And if you knew anything about SO (which I think one should do when discussing it..), you'd know that the badges you mention is just things normal members can do. I have no extra privileges or responsibility, as you seem to imply)
Edit: the comment I'm replying to has been massively edited since I wrote this.
As for my 15 comments: it's me in the root of the discussion. I'm not all over the comments, I'm just responding to comments in the tree of comments I've started. I don't think that should be discouraged.
Almost 10 years ago, I asked a question about PHP. I wanted to know if `$_SERVER["REMOTE_ADDR"]` always contained a _valid_ IP address. I specifically wrote down in my question that I knew it wasn't always the IP of the client, that it could be spoofed, but I wanted to know if it contained a valid IP, even it's a fake IP.
Without surprise I god closed as duped and redirected to the question asking if `$_SERVER["REMOTE_ADDR"]` was reliable to get the IP of the client, which is specifically what I didn't ask. And I wrote down that this wasn't what I asked, because I knew some rando would close it as dupe.
This is just one example, from almost 10 years ago, but it's only gotten worse. I routinely search for a specific question in Google and find a "marked as dupe" StackOverflow answer, which is not a duped, and I'm left with no answer. I almost don't click on StackOverflow links anymore because of this, I consider them as clickbait
> Instead, you head over to Reddit where the programming community is much nicer
Is this true? Wondering if there's a more objective way to know than endless anecdotes. I think programming communities stereotypically are pretty mean. I don't really see reddit as a "safe place". But maybe there are smaller subreddits where being wrong doesn't make you feel awful?
> You can even go to ChatGPT, where it’ll give you a confidently wrong answer that looks so correct that you’ll spend another 7 hours debugging
I'm quite perplexed by this same talking point being regurgitated. These LLMs do indeed hallucinate. But I've found, with coding problems, that it's very easy to see it's wrong if you're working in a domain you're familiar with. I am doing a lot of react development with chatgpt(gpt4) as a kind of intern-on-steroids and it's working really well. I can usually identify when it's being silly as I've worked with react for a few years. Ofc without that it's hard. But even if I'm in unfamiliar territory I can ask it to write tests to confirm its code works. I can also hand it stack-traces and it'll usually be very helpful at debugging its own code.
An e.g. I am not competent at shell stuff but it's been such a boon at helping me hack and pipe stuff together. Actually two days ago I wanted to generate a big bird's eye grid of a huge PDF document. I had no idea how to and asked it point-blank to write some code. Within a couple messages it generated a python script w/ PIL and a pdf2image imports and shell commands to get things installed and $PATH properly configured. One cycle of debugging because I was missing a dependency, and boom, done. Took me 5 mins. Would have taken 30mins or more otherwise (and a tonne of pointless cognition/research/rabbit-holes).
GPT-4 is my one-stop-shop for 80% of programming-related questions, and I get much more useful feedback as I am able to have a live conversation and drill into anything and everything.
Every interaction with GPT-4 makes me a better programmer. It's also obvious when things aren't right: The problem isn't solved. So I also become a better mentor as I try to coax the right answers out of GPT-4. I ask it to explain its reasoning, I ask it to go over pros/cons of different approaches, I ask it to give me security reviews of provided code. GPT-4 really shines in filling in the gaps for old/new APIs where I haven't RTFM.
But I don't rely on it for correctness. That is my job as an engineer. I am just seeing the same stupid arguments play out that got played out over IDEs, higher-level languages, etc.
Anything that makes me a faster and better programmer is worth it, even if it comes with caveats.
For what it’s worth, I actually laughed out loud at the idea of Reddit programming being nice at all, let alone nicer than SO. My wife has plenty of horror stories when she was learning to program.
The few times I've tried using ChatGPT or another LLM as a coding assist, the "confidently wrong answer that looks correct" was the entirety of my experience. (Mostly the failure mode was mixing up incompatible instructions from various versions of the framework or toolchain: even if I specify a version number it'll still often want to use syntax or functions that don't exist in that version.) I did not find it to be a time saver.
Hmm fair. It's strange that our experiences are so different. Can I ask what types of problems you ask it to solve? FWIW I've had to take quite a lot of time figuring out how to talk to it in a way that gets good results.
The one where I struggled the longest was trying to put together the right webpack configuration to generate multiple static files based on input in markdown format. It kept switching which plugins it wanted me to use, or mixed up functions from conflicting plugins, and often mixed up syntax from different versions of webpack itself.
I finally gave up on that one when it got caught in a loop somehow where it apologized for giving me the wrong line of code for an import, gave an obviously wrong explanation for why it didn't work, then "corrected" it to the exact same line of code.
Another attempt I was asking it to compare different ways for measuring the amount of difference between data trees -- it did give me the names of a couple of different algorithms, and very wordy, plausible-looking descriptions of how each of them worked... neither of which was terribly helpful, because they both boiled down to "recursively examine the tree and tally up the differences."
Asked for an implementation example, it gave me code that expected input arrays of pre-calculated edit costs, and suggested I write my own function to convert the tree data into that array format.
So that one was extra weird, in that it wasn't wrong, just unhelpful, like here I'll do the easy part for you and leave the thing you asked about as an exercise for the reader.
I dunno, maybe with practice I could learn how to drag it towards helpfulness, but for now RTFM still seems easier.
My first interaction with LLMs for programming was asking ChatGPT about one of our interview questions: sending a request in tcp, sending an udp packet, and an icmp request. It confidently wrote code using TcpSocket (correct), UdpSocket (correct) and IcmpSocket (hallucination). Further attempts to tell it that it was incorrect ended up with more and more incorrect code. Guess that Rust is not common enough for it to know it well.
Personally I go back and forth on whether the hostile, aggressive gatekeeping is part of why stack overflow is failing, or is part of what kept it functioning as long as it did. Probably both. Both is good.
But this one terribly accurate line included in the alternatives to SO is worth the whole price of admission:
> ...you can even go to ChatGPT, where it’ll give you a confidently wrong answer that looks so correct that you’ll spend another 7 hours debugging why your code doesn’t work.
This hasn’t been my experience at all and I’ve found that chatgpt saves a ton of time over filtering SO.
I loved SO when it first started, but it got frustrating over time as moderators seemed to be too strict around removing “duplicate” answers.
It’s hard to know for sure, but I always felt SO would be better with a more Wikipedia approach that didn’t rely as much on opinionated mods.
It’s a tough place to be and I don’t think it’s possible to make a ton of money, I think it went downhill when the original founders sold a few years ago.
The mods of Wikipedia operate very differently than the mods at SO. I think there are more rigorous rules with SO than Wikipedia and they also have their tiers of users who upvote messages. Wikipedia has nothing like this.
When I've tried using it I've generally found that it leads me in circles between incompatible versions of a framework or tool -- it'll give me syntax that's correct for one version, but wants to use it to call a function that only exists in a different version, that sort of thing. They're not even hallucinations, each step is technically correct, but can't be used successfully with the other steps.
Another thing I found is that it can have "obvious omissions". As in: the answer is correct, and it works, but it's a bad solution and there's a much more obvious and better way to solve it.
I think StackOverflow has always suffered from a deep tension over the fundamental purpose of the website. I was a very heavy user and contributor to the sibling site SuperUser years ago, and connections from that era are the reason I still have the "Jeff Atwood GPU" on a shelf in my closet (I bought it off him in like 2009!). I sometimes think about framing it as a lark. I really liked StackExchange early on, but I think it was very much a victim of its own success in that huge user counts highlighted the basic problem with the Q&A website concept. StackOverflow seems to have hit the same problem even harder.
Here's the contradiction: is StackOverflow a place where you ask a question to get an answer, or a repository of information?
There's a huge desire among a lot of social-adjacent products to be A Repository of Information right now. I'm sure we all remember Slack marketing's insistence that having conversations in Slack ("Discord for Business") somehow becomes documentation because you can search for things. I'm sure we've also discovered that that's utter bullshit in practice, but the "zero effort repository of knowledge" thing clearly sells‚ and now we see posts complaining about people approaching Discord ("Slack for Business") this way.
StackOverflow might actually be the first prominent version? At least an early one. I think before StackOverflow the same kinds of conversations were around "enterprise knowledge bases" which were very much curated and written to an audience of people who want reference material. But those kinds of KBs were a lot of work to keep up, tended to require dedicated technical writers, etc. The most prominent public resources for programming, websites like W3Schools, were known for terrible quality. The equivalent books were expensive. So StackOverflow came along with this promise that a gamified, social Q&A experience, like Yahoo Answers if it was better organized, could become a knowledgebase in a Wiki-like way.
And, well, the experiment failed. The thing is, Q&A users (especially on the Q side) have radically different behaviors and expectations than Wiki editors. People coming to a Q&A site want to ask a question and get an answer. This will naturally lead to the same question getting asked over and over again, anyone who ever used a PHPbb community with a Q&A subforum knows this. It's not so bad on a forum where threads are understood to be somewhat ephemeral and community approaches to the issue varied by topic and community, perhaps better handling some of the nuance around the problem of repeat questions. But StackExchange isn't a forum, it's a resource, and that means the "questions" are supposed to be evergreen, curated references.
Sometime in the very late '00s or very early '10s, StackExchange headquarters settled on their answer: aggressive removal of duplicate and low-value questions. They introduced a new moderation tool that gamified closing questions, sending moderators through a whirlwind queue of allow/destroy decisions that seemed designed to minimize original thought and maximize wrote application of the restrictive policy---with a bias in the direction of "if in doubt, close the question."
From that point it felt like it really became the culture of the websites that the best way to maintain a high-quality information resource is to close as many questions as possible. A good decision from the perspective of creating a curated reference website? Probably so. A good decision from the perspective of running a Q&A website? absolutely not! StackExchange communities became this remarkable phenomenon, Q&A websites that were openly hostile to people asking questions.
I think the contradiction was apparent by 2010, but these things can run on momentum for a very long time. Hell, look at Quora, which has made basically the same mistakes but often in the other direction and is still a fairly major website today despite being just extremely weird and frankly right on par with Yahoo Answers for quality.
Atwood went on to found Discourse, which is extremely popular as a community support/Q&A forum for open source projects but seems to have most of the same problems as SE, just at a smaller scale. But now that it's community specific, you have to make an account on each individual Discourse, and you bet every one of them is going to send you a weekly summary email. Thanks, just what I always wanted.
My employer recently sprung for StackOverflow for Teams, their private offering for businesses. I think everyone's noticed that it hasn't really taken off internally... and I think it's pretty obvious why. No one knows what it's for exactly. If you want to ask a question and get an answer, you post in a team's Slack channel. If you want to record some curated, best-practice information for people to look up later, you put it in the documentation. StackOverflow falls into this uncomfortable in-between that's ostensibly "more curated than Slack, less curated than the docs," and I'm not sure anyone really wanted that? And frankly, it's just another piece of evidence that "It's Searchable" is not a replacement for any information organization at all, just an excuse to keep not hiring anyone to maintain documentation.
> What kind of questions are appropriate? Well, thanks to the tagging system, we can be rather broad with that. As long as questions are appropriately tagged, I think it’s okay to be off topic as long as what you’re asking about is of interest to people who make software. But it does have to be a question. Stack Overflow isn’t a good place for imponderables, or public service announcements, or vague complaints, or storytelling.
> Stackoverflow is sort of like the anti-experts-exchange (minus the nausea-inducing sleaze and quasi-legal search engine gaming) meets wikipedia meets programming reddit. It is by programmers, for programmers, with the ultimate intent of collectively increasing the sum total of good programming knowledge in the world. No matter what programming language you use, or what operating system you call home. Better programming is our goal.
(note: good is italicized in the original text too)
> having conversations in Slack somehow becomes documentation because you can search for things
It was probably oversold like that, but in my daily life, the old threads i find in slack people troubleshooting similar things from way back when, that can be life-saving. Totally not a replacement for proper docs, but still an improvement to have those past threads around.
Quite. It seems like more often than not, when I answer or ask a question, a moderator comes along who only half understands what I'm talking about and starts harassing me for not making the most perfect, ideal, gold-plated contribution possible. Didn't say what I've already tried (usually irrelevant); sounds like a homework problem (please); looks like a duplicate (it's not); didn't include examples, too much code, too little code, not enough links, too few links, ... Infurating. If someone wants to answer it, let them, otherwise fuck off.
Imo Stack Overflow has absolutely been destroyed by the moderators. I was (and still am) in the top ~%0.80 of users[1] but no longer contribute to the site (I stopped ~6 years ago) because of the moderators. It has been an absolute shitshow of closing questions that shouldn't be closed, anally-retentive nitpicks which intimidate new users, the essential nuking of the community wiki (even prior to the official deprecation), bad answers being upvoted, good answers being deleted, and so on.
The whole "community moderator" thing ended up being a popularity contest where typical nitwitted social climbers ended up injecting themselves in every single minor conflict on the site just to score visibility points come community voting time.
On top of this, SO is also dying as it has no real viable way of cleaning up or deprecating old answers, and if new ones are asked, they are closed in favor of the old (outdated) ones. Slowly, reddit and language forums/mailing lists are becoming more and more valuable as Stack Overflow becomes more and more of a trash heap. It sucks because I really really loved Stack Overflow, but it just broke my heart one too many times.
> it has no real viable way of cleaning up or deprecating old answers
This is one of the things that baffled me the most.
Until very recently you could not even sort by "newest answers first" (I just checked and it seems it has been added now, but it looks like it was added this year?), which seems a pretty strange decision considering technology changes so fast.
As years went by, it became more and more difficult to look for answers as you would need to search through piles of old answers to find the most recent one (which was not necessarily the accepted answer or even the one with the most votes).
I mean, most places I've seen, that show data with a sortable Date field, let you sort by olders or newest, but not SO, no.
I could never find an answer fot this, but always seemed like a big obvious oversight.
I quickly rose to the a top contributor role of a non-programming stack exchange site. I had more technical subject matter expertise (including formal training) than seemingly anyone else there, was friendly, thorough, empathic, upbeat, technically competent, and prolific. Not too long after getting involved, I just got too sick of unhelpful, pedantic, self-important moderators nitpicking at my posts and making passive-aggressive edits, so I just left. That was years ago and I still regularly collect points in upvotes and get positive comments from people.
Many people in those roles claim they're uptight because they want to maintain the quality of the posts. Well, I assure you that particular SE, at least, is much worse off for it.
>Often, if you try to ask a question on Stack Overflow, it’ll get marked as a duplicate with a link to a question that is absolutely not a duplicate. Or the duplicate will be to a question that was never answered.
I experienced this just last week. I answered a question that was never asked before, and one of the "powermods" closed it as a duplicate while pointing to a question that was similar but vastly different.
Since I have enough karma there I was able to start a reopen vote, but it took a week before it was opened again. The user who asked the question was justifiably upset, and probably not going to come back. At the same time the community lost access to an actually useful question without any real reason.
When technology can solve a problem equivalently well in so many ways discussion and debate is the way to learn from the experiences of others to help navigate your own course.
When it comes to adult learning, some people with some topics prefer to only know the answer of what they’re after or other times want a bigger picture.
Last but not least learning to read the code and system design decisions of others are both required for competent software development.
The part that stack avoided is maximum value comes from is understanding that decision making is the key in a lot of the underlying intent of users coming there … not just a snippet of code in system design.
Not know what you should be looking for or if there’s other ways to do things is a big lose in the development of software engineers.
How do I know this beyond my subjective interpretation and preference?
I was an early user of stack overflow.
It was a heavy time of software development, and I could easily spent 4-6 hours a day on it. So I decided to write. I learned so much, and shared anything I could. It really was a great early community.
I really disliked Experts Exchange and it was one of the major inspirations for SO to happen.
Little by little, I noticed some of my posts of hard earned lessons attached to a solution, started getting locked down.
People deciding how things should be interpreted one way. Correcting answers they don’t understand.
Answers started getting rejected. Context had no value. That’s not a great recipe for success.
The strange thing is I still sit in the top X percent of stack users for not having answered anything in a while, and still get upvotes and comments.
How to schedule multiple parties to ensure eveyrone has dace tkme?
Sorry, explaining steps in English is not code or acceptable. It apparently can’t be translated to different programming languages.
Software is for people in the real world, not strictly a technical pursuit.
SO started their network of other sites but the bar to entry was too high. There’s lots of extremely valuable but esoteric design knowledge that remotely being aware of or having access to can be tremendously helpful.
Stack overflow didn’t understand or care it was helping system design to be better.
Architecture goes bad in hand with code and I don’t know how you can talk about either effectively on the whole with the ability to refer to the other. With out it the trees don’t always become a forest.
I used to be mad at SO but after some time now (haven't been there in years) I understand is just another instance of an Eternal September.
At the beginning, SO used to be great because its community was mostly comprised of curious developers, hackers and whatnot; people who, in general, loved technology. Anyone who really enjoys what they're doing usually enjoy helping others who know less and enjoy having curious and intellectually rewarding conversations. SO (ten years ago) put you in the company of those people. Ask anything and you would get back a thoughtful reply from one of the most knowledgeable people in that particular topic, for free. The first time I experienced this my mind was completely blown, that is the kind of thing that made me feel the internet is an amazing place.
With time, as SO started to accrue users, people started to join and use SO motivated by entirely different things. For instance, there was the one group of people who used SO as some sort of "do my homework because I'm too lazy to figure out trivial things for myself", I don't think these people were actually toxic to the SO community, perhaps they were just a nuisance, but that paved the way for ... another group of people (who I think had actual mental and social problems IRL) who decided to start policing on others all over the site, just because they were after some imaginary internet points and/or because they needed to fill some emotional void in their real lives with brief periods of menial amounts of power over others. This isn't unique to SO, it is something that happens to all online communities that need moderators, at some point.
At some point, gradually or whatever, there was a switch from SO being run de facto by knowledgeable and passionate people to being run de facto by these kind of moderators who completely missed what was the soul of the site they came to leech on (most of them joined way after SO was up and running). A lot of people sensed that and slowly became uninterested in the site, since the initial experience that SO provided to them was now replaced by an entirely different thing (even thought, in the surface, it was still a Q&A site). Whenever this happened, SO started to die and it wasn't around April 2022 (as TFA says); I'd say it was around 2014, maybe a bit earlier.
To this day, I still don't know why the people running SO (not the dumb moderators, but the actual owners of the site) let this happen and actually encouraged the exact kind of behavior that led to the site's demise. I guess because the numbers were looking good anyway? I also think they thought of themselves "too big to fail" in a sense. I like Jeff and Joel and I'm sure they saw this coming years ahead, I have no idea why they didn't do anything to prevent this. Perhaps they just couldn't? SO fell into the VC trap and now had investors to please and milestones to reach and whatnot (I had a good laugh when they announced their series E [1]). I guess that's why they both stepped down from SO at some point and went to much more entertaining ventures.
Their current CEO is completely oblivious of all this. Here's him talking nonsense for about an hour [2], he really missed the point as to why SO was dying. Did he ever use SO?. Compared to Jeff and Joel I think of him of someone with a complete opposite personality, I'd be surprised if he has ever wrote an actual line of code (aside from the usual "Hello World" stuff). At least he made some money out of this, put some bread on his table or whatever.
Sad to see the site go, but excited to see what will take its place in the future (which, btw, I don't think it is ChatGPT).
I never really got stack overflow. When I look for something I know, I find all the most upvoted answers kinda bad and/or suboptimal. Sometimes look like written by experienced beginners.
The principle reason I've stopped using Stack Overflow much, which I haven't seen mentioned elsewhere, is that its content has become too dated.
Most of my questions relate to web development — how to do something in HTML/CSS/JS. When I Google, I can almost always find a related questions on Stack Overflow, but both the question and the answers are usually from a decade ago. The techniques they recommend are totally anachronistic by modern standards.
For example, search "how to vertically center a div". The top Stack Overflow result is a question from _14 years ago_, wanting to know how to do it in all browsers "including Internet Explorer 6". And the the accepted answer is a horribly convoluted hack that could be replaced with a couple of line of CSS nowadays.
That's why SO has shot itself in the foot with its attitude towards duplicate content. Duplication would have allowed modern answers to bubble up. It's impossible to do that on SO.
No, imagine this: you have a 14 year old question with 50 answers, all have tens of upvotes, an accepted answer from when the question was asked, many other answers similar to the accepted answer but with questionable validity from different times, and you add a new answer with zero upvotes under that pile. See the problem? No way that someone could find that without huge effort, it'll stay buried under the fold. That dynamic would discourage you from contributing that answer. The design is simply not suitable for living content.
> The design is simply not suitable for living content.
So, hypothetically, things like recommendations would be a bad fit for Stack Overflow as the "what is the best library to use for developing Java applications" has moved from Apache Struts to other things.
And "what is the best blog to read to get an understanding of Python" would change every year and the new posts would get buried at the bottom...
Unless you're appending "... in July of 2023" to all the questions this month.
If you want something that is more ephemeral in its nature... wouldn't Reddit or Lemmy or Discord be a better choice for that type of question?
This is especially true when you're working with popular frameworks that been around for awhile, e.g. rails or even django at this point.
Most accepted answers I come across for questions I have with rails are a mix of:
* Use this niche gem I created, which btw has no license and hasn't been updated in 5 years
* Use this approach which depends on rails internals from 4+ major versions ago
* Use this rails helper which has been long-deprecated and removed in modern rails
At this point I just use Phind [1] -- it's quite good at niche rails questions and I can specify that I want "Rails 7.0 or Edge" answers only so it won't give me an answer from 2011 or 2013.
people are trying to modify the answers to keep them up to date with modern best practices. and the result is pages of debate on whether or not it should be allowed. and at the same time, duplicates where modern answers might be allowed are being closed and kept off the site. StackOverflow is essentially a museum for any topic relating to a technology that wasn't invented this year.
One point I'm surprised this article didn't include was hostility towards users and mods from SO staff. I wander into Meta stackexchange on occasion and it's shocking how often the top threads are full of well reasoned posts from established users being ignored or bulldozed by SO employees.
Maybe I've just happened to look on bad days but I have the strong impression that SO is a platform that I absolutely don't want to get more invested in, despite a lot of interesting and knowledgable posters. It reminds me to the disdain Reddit has been showing towards its power users lately.
An established platform can get away with that sort behavior for a while, but is utterly toxic to its longterm quality and growth.
I saw a related aspect of this years ago trying to incubate a professional sub-community. It wasn’t a huge group (thousands of people, not millions) but important and long-lived, and the SE community was active, but it was closed for not being active enough.
Years later, that conversation still happens but not on SE since everyone got the message that mods only care about advertising metrics. That’s a common business decision but it seems short-sighted for what SE wants to do.
I rarely ask questions on stack overflow anymore. When I do, the question is usually closed for being similar to something else or off topic or whatever. Whenever I forget why I don’t use it, I’m quickly reminded. I find the moderation and some of the comments very unwelcoming.
It’s still great for finding information though. It’s likely the most visited site for me from Google search.
Edit: you guys are not too welcoming either sometimes… I don’t know why someone feels this is worth a downvote.
It's unfortunate because the people who most want to answer SO questions often are completely obsoleted by LLMs because they just don't have unique skills. Usually, they try to bucket into questions they know the answer to. Sadly, this means that an actually hard question will just result in their not knowing the answer and confusing it for an easy question they know the answer to.
The "why don't you use a getter?" question is an example of this at a trivial point.
I'm not sure why the community became like this. Perhaps a natural consequence of Goodhart's Law applied to someone else. You can make someone else's thing awful by making a measure based on their thing into a target for your guys. Hacktober / SO / everything.
Still, I have always liked SO because they set out to do things right:
- prioritize questions which have clear answers
- gated functionality
- CC licensing
- data dumps
I don't know how to fix it, but I hope they manage something.
Point #1 (May 2022 Google analytics changes) completely undoes the argument that this isn't caused primarily by ChatGPT. With a 15% drop in traffic from the cookie change, the new school year baseline should go down from 20mil to 17mil, and the summer trough should go from about 17mil to 14mil.
In 2022 we see the trough stabilize at 14mil, then climb back to 16mil before plummeting again in November with the advent of ChatGPT. That looks very much like the initial decline was the combination of the cookie change with the regular summer drop, and ChatGPT killed traffic before it could quite get back up to the new baseline.
The perceived unfriendliness of Stack Exchange comes from a simple conflict: It's meant to be a knowledge base, a collection of "authoritative" answers to "general-purpose" questions. For better or worse, it's not a forum by design. In fact, forum-like behaviors are effectively banned. Stack Exchange wants the site to be an FAQ database, "there's no chit-chat."
This mode of operation, to my knowledge, is unprecedented in the history of the Web, unlike most things that came before or after it. A question must be asked and answered in a very particular way. For example, one is expected to do the following:
1. Show one's knowledge. Whenever a question is asked, one should write an introduction to present the background of the question to fit inside the knowledge base format. One should also write down all the previous solutions one has already attempted and why one has failed so far.
2. Case minimization. If one has a question from a large system, one must extract the core part via minimal reproducible example and present the problem in isolation (but also introduce just enough background to show a clear motivation and that it's not an X-Y problem). Ideally, the question must have a laser focus on an extremely narrow technical point. Come up with a proper minimized case may take an hour, just like when one's submitting bug reports to Bugzilla or mailing lists.
3. Encyclopedic tone. Ideally, each answer must be written as if it's a Wikipedia article on the matter of the question.
If anyone's asking for clarification, it means this question is probably not properly asked. A question must be as "non-specific" and "objective" as possible. Similarly, the answer must also be as "authoritative" and "objective" as possible.
I found Stack Exchange is a great site and the knowledge base model works extremely well if you have a suitable question, or if you have the writing skill to frame the question into the proper form, as I've received helpful answers from multiple experts in the fields.
However, the fact that Stack Exchange is not a fourm is completely alien to most visitors, and there's an strong and serious need of forums. The large amount of negative feedback from new users is hardly a surprise.
Another problem is that it's only suitable for a particular kind of question, the kind of question with a clear and authoritative answer. If the question is opinion-based, it's out of scope. If a question is extremely specific for your setup, the question is out of scope. If the question needs discussions for clarifications and conversations, it means the question is probably out of scope. It's also extremely difficult, by design, to debate on anything should a disagreement arise, since the site intentionally does not support replies or threads (comments are only usable for quick remarks) - anything that can't be answered with hard facts is out of scope.
No, it's possible to ask rather difficult questions and receive deep answers. To make an analogy, one can ask the programming equivalent of "why can alternative current flow without a closed loop" and receive a summary of classical electromagnetism and Maxwell's equations. For some actual examples, I've read some questions and answers on how to interleave x86-64 instructions in a way to maximize instruction-level parallelism, some of the answers are comprehensive enough that they can easily be expanded into a conference talk or research report (or rather, these answers often summarize them).
So if a question can be answered with a braindump, either from facts or from (highly agreeable) experience, and doesn't look like homework, it's probably a good fit of the site's model. But if the question requires many rounds of conversations like many threads you see in a forum, it's definitely not going to end well.
> if a question can be answered with a braindump, either from facts or from (highly agreeable) experience, and doesn't look like homework, it's probably a good fit of the site's model.
Hmm. It's probably my fault and not yours, but this clarified little for me. At least, it doesn't make me feel confident that if I have a question, I'd be able to tell if it's one that would get a reasonable response on SO.
Perhaps So would be better served if they separated out the "Q&A" from whatever entries they feel are worth being preserved, rather than combining the two.
Doing that might make interacting with SO less unpleasant or more helpful, and then the particular ones that fit SO's model can be copied to a separate reference section.
What I do know is that SO as it is puts an awful lot of people off, including experienced devs who might otherwise be willing to help answer questions.
"ChatGPT is actually notoriously good for coding. I don’t even use it for anything else at this point."
I can't take a coder who says this seriously. Come on. It doesn't take a rocket scientist to expose the fact that ChatGPT is actually a pretty shitty coder once you get beyond the most dirt damn simple shit.
"Post hoc, propter hoc" - or "After this, so must be because of this." fallacy.
Stack Overflow has always been a disaster. When it started, I used to add a lot of answers. But I got disillusioned quickly because of the Smart-Alec Culture that has always existed at Stack Overflow. I have refused to go to the site of my own accord since about 2010. (Or thereabouts. I can't remember quite back that far.) I do sometimes go via Google when an answer is relevant to my needs at the time, but otherwise no.
I don't think any sort of AI is responsible, though AI is the fad 'catch-all' for everything right now. I think it's just that the tipping point that was always going to happen to Stack Overflow, finally did.
That sort of explains why I started going to irc to ask.
But yes, interacting with pedantic or toxic people often makes things difficult, and I even met toxic people on IRC. Of course it's my job to do my research before I ask since I'm using somebody else's time, but there are limits.
I often spent an afternoon to prepare a question to thoroughly explain a problem I had, to make sure an autistic user could not criticize how I did things or have anything to say. I have nothing against autism, but sometimes it explains why some people are just toxic for no reason.
I do remember having a question closed for being opinion based. That was funny.
Setting up a bounty helps, but last time I used one, nobody answered.
the site is really toxic especially to a new comer I always try to avoid asking question to that site because the cesspool of elitist self entitled moderator
I contribute by answering though
and also I think the site have bloated reputation system. I mean some guy with 100k reputation is not a legend anymore because after I check their profile the contribution that they have done is basically just asking or answeing basic shits kn JavaScript/git/python/pandas question that is already on the doc or manual
I couldn't agree more about the toxicity, though. I don't pretend to know much about who's right in the Stack Overflow vs. moderators debate, but every time I visit an answer on Stack Overflow and glance at the right sidebar I feel like a kid who's just walked in on his parents fighting. The tension between the company and the community is palpable and it makes the site feel like an icky place to be.
reply