New questions on Stack Overflow are down 77% compared to 2022
gist.github.com
gist.github.com
With the questions no longer being public, the search engines will become outdated.
Maybe I should be exporting my ChatGPT chats and contributing them to something equivalent to Common Crawl? I guess I can do that with a machine-readable blog "Everything I learned from asking ChatGPT this year"
Learning to predict what word will lead to a successful solution (rather than just looking like existing speech) may prove to be a richer dataset than SO originally was.
Unless the feedback from the failing code review is piped back into the model it will still repeat the same garbage.
Code review is its own domain. In general at some point LLMs need to be trained with a self-evaluation loop. Currently their training data contains a lot of "smart and knowledgeable human tries to explain things". And they average out to conversation that is "smart and knowledgeable...about everything". That won't get us to, "Recognizably thinks of things that no human would have." For that we need to get it producing content that is recognizably higher than human quality.
For that we should find ways to optimize existing models for an evaluation function that says, "Will do really well on self-review." Then it can learn to not just give answers that help with interactive debugging, but actually give answers that will also do well with more strenuous code review. Which it taught itself how to do in a similar way to how AlphaZero manages to teach itself game strategies.
There are a few times on Reddit that I want to explain something that I know well. But it will be a long post.
I’ll be lazy and ask ChatGPT the question, either verify it’s correct based on what I know, ask it to verify its answer on the web - the paid version has had web search for over year - or guide it to the correct answer if I notice something is incorrect.
Then I’ll share the conversation as the answer and tell the poster to read through the entire conversation and tell them that I didn’t just naively ask ChatGPT. It will be obvious from my chat session.
If it’s a newer API that ChatGPT isn’t trained on, I would either tell it where to find the newest documentation for the API on the web or paste the documentation in.
It usually worked pretty well.
If the author of the library wrote good documentation and sample code, you wouldn’t need StackOverflow hypothetically if ChatGPT was trained on it
Apple is training its own autocomplete for Swift on its documentation and its own sample code.
I haven't found an LLM that could reliably produce syntactically correct code, much less logically correct code.
ChatGPT is well trained on the AWS SDK for various languages. I can usually ask it to do something that would be around up to a 100-200 line Python script and it gets it correct. Especially once it got web search capabilities, I could tell it to “verify Boto3 (the AWS SDK for Python) functions on the web”.
I’ve also used it to convert some of my handwritten AWs SDK based scripts between languages depending on the preferences of the client - C#, Python, JavaScript and Java.
It also does pretty well at converting CloudFormation to idiomatic CDK and Terraform.
I was going into one project to teach the client how to create deployment pipelines for Java based apps to Lambda, EC2 and ECS (AWS’s Docker orchestration service).
I didn’t want to use their code for the proof of concept/MVP. But I did want to deploy a sample Java API. I hadn’t touch Java in over 20 years. I was a C#/Python/Node/(barely) Go developer.
I used ChatGPT to create a sample CRUD API in Java that connected to a database. It worked perfectly. I also asked about proper directory structure.
It didn’t work perfectly with helping me build the Docker container. But it did help.
On another note: it’s not too much of leap to see how Visual Studio or ReSharper could integrate an LLM better and with static language, guarantee that the code is at least syntactically correct and the functions that are call exist in the standard library or the solution.
They can already do quick, real time warnings and errors if your code won’t compile as you type.
Just considering Stack Overflow for a moment, they exist to profit from their product of consolidating questions/answers. When the LLM can answer most questions more efficiently, they've lost much of their value proposition in terms of product... and perhaps their business along with it.
Many of the community forums, however, tend to not be businesses per se. Sure they'll see less traffic, but that might not matter to them. In fact, it might even be better to an extent because they often aren't monetizing their services and so LLMs carrying some weight can help reduce costs. Under those circumstances, LLMs may not be nearly so bad and they, themselves, will still have sources of training data.
For example, I read the Elixir Forums for language announcements, feature discussions, occasionally to ask questions that I can't resolve with research, and even to answer some questions. I've also got LLMs fairly well integrated into my workflow. I don't see that pattern changing: neither less Elixir Forum or less reliance on the LLM. What has changed is I don't use search as much as I use to, nor do I use Stack Overflow as much.
So I do expect the big aggregators to go away, those not tied to monetizing their knowledge transfer I expect to see less overall traffic, but not less meaningful and substantive interactions.
Historically, most of my SO usage boils down to: 1) finding how to implement something esoteric that results in finding a clever solution or a under described feature flag in a function/tool 2) finding a workaround bugfix for a broken feature in some software (>70% of the time finding link to a github issue in the description
If we consider that LLMs are functionally an information retrieval function containing natural language program subroutines. In this context, a web-browser enabled LLM should be able to determine go to source and return a functional answer on a model that is not pretrained on the source.
So as long as there is good documentation on a particular piece of software, we should theoretically be able to generalize to non-existing tools. At least long enough for there to be a newly-created training dataset from people hitting the problem for the first time.
Side note: In some sense, the foundation model labs are aggregating the Question-Answer pairs (typically from stackoverflow) from their user data. I wouldn't be surprised if they created a stackoverflow clone at some point to opensource the dataset creation and labeling efforts.
This is basically what community notes is for X and now Facebook
https://data.stackexchange.com/stackoverflow/revision/188161...
This changes the numbers, but not the trend. The trend still looks pretty grim.
However it's still kind of a concern. I'd guess that a lot of LLMs used stackoverflow data in their training and if it dries up as a source of data, it will reduce the usefulness of later generation models, unless an alternate set of sources can be created/used.
... and human moderators flagging questions like how an AI can jailbreak and copy itself to another computer.
about this seems to be the sentiment here.
i beg to differ - this is a chance for stackoverflow to raise from the ashes.
there are many questions chatgpt or claude can't answer. they just have to be about something very new, a little niche and non-trivial. this is the diet stackoverflow needs and might very well be starved by chatgpt!
the peak times of stackoverflow and many of its stackexchange siblings were just amazing. so many smart people asking interesting questions and providing insightful and competent answers. on there i learned how to ask questions precisely. it was like the practical complement to studying math.
It’s a pretty clear indicator that the site is in a death spiral of
1. traffic falls 2. With fewer users, quality of answers falls 3. users can’t find good answers 4. GOTO 1
You can see that comments on those videos are students who just entered CS and are afraid (questioning whether they should switch majors.)
The author seems to have been offended by not being lavished with praise for asking such a good question or something.
This is incredibly toxic and stupid, contributes nothing, and as such, it's not worth providing your expertise for free. The site years ago was an amazing resource of like minded people helping each other. The only cure would be to stop community moderation and do professional only, as well as guide the noobs to resources like chatgpt first for "how to I write a hello world", while sorting the quality questions onto the front page.
It was nice to be able to find answers on the internet while it lasted.
That said I haven't logged in to StackOverflow for years.
Editing other people's questions to remove parts that are not necessary can seem hostile, but that is not the intent behind this rule.
It does speak to the culture of editing/moderation on SO, though. For many people, myself included, it simply does not work.
Reddit has similar problems in some expertise subs and when it boils over a new one will be formed. You can’t do that with Stack sites. Stackexchange has had the advantage of content but when that is available through friendlier and more user friendly methods it’ll really hurt their numbers.
Remember Monica? She was a Stack moderator who got in trouble over Stack's new Code of Conduct a few years back.
The Code required using people's pronouns if they listed them. Monica always used gender-neutral pronouns and wanted to keep doing so, but Stack took issue with this.
Pronouns are a pretty standard part of interacting with someone in English -- and so is the "thank you" in GP's Stack post. So why is one social convention mandatory while one is forbidden?
Because it's not about what's on topic and what isn't. It's about archetypes. And the highest archetype for a certain kind of programmer is the Vulcan. Be respectful, be noble, but don't "waste time" on pleasantries that are just there to convey warmth and friendliness.
The problem is that not all programmers are Vulcans, and more and more non-Vulcans have become programmers as coding has become more and more mainstream. But Stack essentially set up test cases for how Vulcan its users are. That tends to be an alienating culture for those who aren't.
As a user just searching for an answer to my technical question I don't want to see flame wars, cultural exchanges, needlessly verbose text, bad grammar, political discussions and anything else that makes it longer and more difficult to get from point A to B. Similar to how I don't go on Wikipedia to experience the article writer's language skills or culture. There are plenty of other forums (ahem Reddit) for all that.
If there is a disease of modern social media, it's that.
> This is incredibly toxic and stupid, contributes nothing
It's almost like the toxic people who whined about toxic social media became mods everywhere. The most toxic people tend to be the mods in my experience.
> The site years ago was an amazing resource of like minded people helping each other.
Then a few years ago, SO along with many/all social media sites became trash. Almost in tandem. Wonder why and how.
And that's before we even get to the hair-trigger question closing and downvoting. It's always the early votes that are negative too - from the weirdo power users that trawl new questions. They don't understand the question (it's not for them) so they downvote. Then later you get people who have the same question coming from Google who understand it upvoting.
On Reddit the friction for giving any answer is very low. The consequence is you have to wade through unhelpful and vitriolic comments more often they you'd wish. Dad Jokes are obligatory.
Here on HN, comments are on-topic or related tangents, with the occasionally risked bon mot.
This comment might even be like a question on SO, evoking--Is there even a question here? OK...
Are there disincentives on SO to giving answers?
When I want to ask a question I need to bend backwards in order for the "community" not to downvote and tell me that I need X when I ask Y.
Some communities (hello Golang!) are straight toxic telling that if you do not ask a IQ 150 question, get out. I do not think I have question with a positive vote there.
In contrast, when asking on Travel or Cooking I get friendly, reasonable answers. I read the TeX community just because they are so nice (I do not even use TeX or LaTeX :))
I usually get an answer on Reddit, though the quality varies.
I need to use ChatGPT more as it seems to be the short and mid-term future
Worse, even if the "community" is right that you do really need X and so all the answers tell you how to do X, there will later be other people who really do need to do Y who are going to find your question.
The community quality went down, it seems and this kind of confirms that. It's also much less useful in dealing with weird errors. I end up on Github issues more often than on stack overflow these days. And Google redirecting me to a decade old stack overflow topic on issues with current versions of things that are new is just not helpful. The vast majority of stuff on e.g. gradle is so out of date that most of the solutions stopped working years ago. This is a gradle issue btw. It has poor documentation, and they keep changing things in compatibility breaking ways.
Just a few days ago I had a JVM crash. The error message landed me to a github issue describing the exact issue I had; including a helpful work around. Something related to netty and alpine's libc implementation. Problem solved. That used to be where stackoverflow was the goto solution. Not anymore. It had nothing to offer here. Nobody asked. Nobody answered. Or maybe they did and their SEO sucks. I don't know. But it's a pattern I noticed in recent years where it's just not that helpful anymore and things like github issues are actually a better place to get helpful answers from experts using and producing the software. I actually leave comments there too when I think I can add value.
Stackoverflow is no longer the best place for that level of support.
to be honest, nobody wanted questions that were spelled out on all the manuals either. so maybe LLM will handle all of those and let only the interesting ones.