32 comments

[ 4.3 ms ] story [ 97.0 ms ] thread
> A .claude/settings.local.json

We'll at least it's easy to find the root cause of the problem :/

Initial reaction—haven’t read through the code yet, but I expect to see 100% AI slop. Also, I love the comments saying LGTM

———

Quickly glancing through the code. 20 commits with the message, “Update documentation and project organization.”

How much do we think was spent on claude code for this?
Holy slop.

This does reflect my experience with Claude Code too. It just writes TOO MUCH damn code. It's never able to understand the tiny change that would make the software actually be better without guidance, and at that point I'd rather write it myself.

It's fine for gruntwork though.

It was trained on the code the finest leet coders wrote. I do wish it would look at my existing code base and write more shit code like I write.
This isn't directed at you, but rather the general "A!", "No, A is no good. B!" thing that HN does. Lots of people swear by Claude Code on HN; nearly any post that could shoehorn an AI discussion has someone saying "But I just use Claude Code and it works fine!", with others saying that gemini is better if you pay, etc.

The issue is, very few actually publish the AI code. I have, at least three times on HN. I don't pay for AI - well, i put $10 on deepseek to check it out and have spent less than a penny. I mostly use local or copilot. I've never used chatgpt to write code, nor claude, gemini, grok, or meta.

So, the result is, this comes off as:

  "My football team is best because A,B,C!"
  "No, A & B aren't important, C,X,Y are, and my football team has those!"
  "So you agree C is important?"
Anyhow, in support of my point, here's some of my AI output:

https://news.ycombinator.com/item?id=44652138 I used copilot to add static, and fix the digits spoken to singular digits instead of groups, "7, 3, 4" instead of "seven hundred and thirty four." Done with copilot.exe; final version without pops, clicks, and crash at: https://github.com/genewitch/opensource/blob/master/numbers-...

https://github.com/genewitch/opensource/blob/master/specific... and https://github.com/genewitch/opensource/blob/master/markov%3... to convert n-gate to json and then put the json into a markov chain. Done with copilot.exe

https://github.com/genewitch/aider2048clone A local 70b LLM model oneshot with Aider (a tool to write codebases with AI); oneshot means i typed a prompt and then published the output, i didn't edit or change anything or re-prompt.

and the oldest, and my favorite example so far; https://github.com/genewitch/emd A full react app stack - including the node.js 'server.js', done in copilot.exe over the course of ~20 hours. I didn't manually edit the code except for one tiny part where the only math in the code is, and i worked it out on a piece of paper with a pencil, then coded it in myself. i couldn't explain it well enough to copilot for it to produce the code i wanted. Luckily the nuts and bolts of jscript is easy enough, it's all the const and "{}" that i don't "get".

I've linked all of these on HN before, usually in protest to someone else not linking their code and/or complaining that no one links their code.

none of these were "thinking" mode.

This is egregious, but I’ve straight up had coworkers pull this sort of clown work in actual workplaces.
This is a fork.

We are going to have to learn some new etiquette with this new tech, but that’s always how it’s been.

kill it with fire before it lays eggs
Also can we get rid of “Someone” in the headline?

It’s very clickbaity as the identity of the “Someone” is one of the first things you see by clicking the link.

The title on this PR "Try to help but need some help" LMAO
The fact that this wasn't immediately rejected with a stern "GTFO" tells me the project maintainers have way more patience than me.
That begs the question: how big of a codebase can these tools generate that works?

(loop unrolling doesn't count)

Like anyone, it can always keep adding new code that “works”. The problem is that it’s causing other code not to work at the same time, and it doesn’t see that.
Coderabbit’s estimate of review time is interesting:

Estimated code review effort

5 (Critical) | ~90 minutes

The discussion here is amusing to read, but this is obviously a submission to instant-reject. No need for waste your time reading the PR, and I’m sure the maintainer won’t.

This is like spam making the front page of HN. Why?

I mean... At the end of the day, this is easy to handle.

Reject: please break into digestible features, probably no more than 1500 lines each. Our team is responsible for hand-verifying all changes and this cannot be hand-verified practically.

... And if they disagree they can fork.

I wonder, based on the start of the thread:

> I do not think this can be directly merged into the project. I think it requires some manual reviewing if something (I mean some part of code) is useful for the project development.

It seems like maybe his idea was to make a bunch of code, and then see if the maintainers want to pluck anything out of it. This is, of course, not how things are done and not very helpful. Projects don’t need a bunch of AI generated brainstorming. But, I guess, at least it seems well-intentioned? Over-enthusiastic.

Low signal, high noise. Why waste time looking for the needle in the haystack?
I had a pull request like this on my project somewhat recently, thousands of files changed, the author seemed unsure of what exactly they added, and names suggested use of AI tools.

I think it's a cool use case for AI, for non-programmers to be able to customize open source software for themselves with AI tools (just hope it doesn't introduce a data loss bug or security vulnerability...) But obviously these tools as of today will make an absolute mess over time without a lot of guidance, and being a non-programmer makes it impossible to give it that guidance. I guess it's fine if the only user is the non-programmer and they're never gonna maintain it themselves, but sometimes they assume some of the code somewhere will somehow be useful for the project and so they open a pull request like this without realizing the insanity they're doing

wow, BS at scale. Love the LGTMs and the ship its. A few of these merged PRs and the project gets into the shitter.

meta/amazon manager be like - productivity through the roof.

I don't think we should be dunking on someone for saying, "I have no idea what I'm doing and I need help." This isn't hubris. They didn't think that this 100k line change would be accepted. They were just asking for guidance.

I don't think this belongs on HN.

The PR author seems clueless.

But, it's at least a little remarkable that the cluelessness was able to then pester someone in an unusual way.

This PR has no purpose whatsoever that benefits the project. No open source maintainer should have to put up being spammed with 128k line AI slop made without any concrete purpose. It's mind blowing that AI zealots are now demanding people to be supportive of such spam with an air of moral superiority. Won't somebody please think of the spammers!

If someone wants that green Github contribution graph, they should at least take the time and effort to learn software engineering. They shouldn't steal open source maintainers' time with AI slop and expect them to clean it up. It's beyond offensive. It's telling the maintainers that is what their projects are worth.

The attitude of "I will do only the fun part. I'll create some barely workable code and expect others to fix it" existed long before AI code generation. Vibe coding is really enabling it to be taken to another level.
I always looked forward to the day spammers would invade my free software projects with mountains of generated "contributions"
This shouldn't be flagged. This is a new type of spam that will have serious consequences for open source.

LLMs have made it possible to effortlessly produce plausible looking garbage at scale and open source maintainers will soon have to deal with a high volume of these PRs going forward.

Just look at how much spammers it attracted when Digital Ocean offered free T-shirts to open source contributors [1]. Now, imagine what will happen when job prospects are involved and anyone can mass produce plausible looking garbage PRs in one single click.

LLMs will accelerate maintainer burnouts in the open source world and there's no good solution for that right now.

[1]: https://news.ycombinator.com/item?id=24643894

There is actually a really simple solution to this: auto reject PRs from people you dont know.

If someone is new to the project, ask them to write an issue explaining the bug/feature and how they plan to address/implement it. Make them demonstrate a human understanding of the code first.

This is not a purely technical problem but a social one too.

How will that help? LLM are more coherent and better at communicating than a lot of developer.
This is a perfect example of a PR that makes GitHub's react client run like shit.

Click on the Files changed tab and start scrolling if you want to see for yourself. It wasn't always this way. There was a time when you could review PRs containing 500+ modified files without any jank.

I think enforcing test coverage monitoring and metrics like existing code change will make sure those change doesn't get to PR stage. The goal should be constructing a sophisticated signal pipeline which runs on every PR which, and the goal is as long as the signal passes, it is safe to claim that landing the PR will cause no issue and will not structurally damage the system.