As an open source project maintainer I can always tell whenever a pull request is AI assisted because no human would ever write full tests for all their pull requests.
Uh oh, I pretty much always do this. Especially for new-to-me projects. The less confident I am about how the whole thing works, the more I write tests for my change. Should I stop pushing them so people don’t think I’m Claude?
I mean, the thing with LLMs is that they tend to overdo it. They test completely unnecessary details. Your idea of having tests for all features is probably still way less tests than the typical LLM-generated commit…
And they’ll miss important test cases such that their change will pass all of their tests (they keep iterating until it does) but then will still fail on some common edge cases.
Look if someone thinks you’re Claude because you bothered to test your code that’s kind of sucky. But then again the fuck do I know, I don’t contribute or maintain anything so that’s just an off the cuff take.
At some point we’ll have to acknowledge that AI doesn’t mean inherently awful and bad IF it’s used responsibly and in a helpful manner. I don’t think LLMs are intrinsically bad but the way these companies have been marketing them and trying to make them some technological panacea that’ll replace all the people and fix everything is utterly deranged and divorced from reality.
At the end of the day they’re large language models, their job is to come up with what the model “thinks” a person would write as an answer to whatever the prompt is. They’re not magic and I’m tired of people anthropomorphizing the shit out of LLM / “AI” and acting like AI output is being delivered by the machine with some sort of logic and knowledge and oversight. It is not.
it does when it’s actively destroying the planet. There’s no good use of AI. There’s less bad uses since we’re now in an era of AI generated cyber attacks, so people are using it to defend. But there’s no good use. It’s a horrendous technology that is destroying humanity with every use.
It’s the same as a nuclear bomb. If the bomb was never used and we just knew how to make it, it wouldn’t be that bad. But it was used, it killed hundreds of thousands of people, and no matter what happens in the future it’s still horrific technology.
I do think there are responsible ways to build data centers, they have been around for a long time now - just the scale and speed and cutting corners happening now is something awful.
There is no modernity without data centers, this message between us could not exist without data centers - but what is going on now with these large AI companies and hyperscalers and the giant market speculation and spectre of the looming pop of this huge economic bubble … That all is madness to the highest degree.
I’m not really disagreeing with you completely but I do think there are good use cases if the technology is applied well and the infrastructure is built responsibly in the way that causes the least environmental impact. That’s not happening though.
To be clear, this isn’t about data centers. It’s about unrestricted AI data centers. The difference between a normal scale data center and a hyperscale AI data center from a water use perspective is 6 million gallons a year vs over 2 billion gallons a year. Like, they’re not even close. We had responsible data centers and life was fine. Now it’s not.
I’m aligned with you on that. Also speaking as someone in the USA … We desperately need electrical infrastructure overhauled, invested in and nationalized. The state needs to intervene and help support the American people. Really all of our public infrastructure desperately needs help. So do a lot of people who are looking for work. We spend billions of dollars on killing kids but we can’t fucking spend some to employ folks in massive green energy grid public works projects and kill two birds with one stone?
It’s embarrassing. FDR, our most popular president, literally implemented all of these kind of policies - it’s insane the Democratic party keeps shying away from them.
The important part is that the tests track regressions and they’re helpful for that. After that, it’s okay if tests are mostly write-only.
I’ve noticed that AI commentary tends to describe what the code is doing verbatim which is better for naming tests and functions rather than writing code comments, docstrings, or change notes. I usually have to fix this public-facing documentation to not talk about library internals which no user of the library would ever care about.
So far I feel that AI assists are good when you have the time and effort to push back on them, but that isn’t an option for all projects, it works well for my own projects which have very few contributors in the first place. For the most part I can treat them with the same scrutiny as human written code. When the person submitting the code is obviously not checking their own code then that’s a problem.
From what I’ve seen and heard, AI seems to do well for test-driven development. That doesn’t necessarily translate into good code, but it does translate into tested code.
At the very least it can translate the documentation of an API into the appropriate tests to verify the documentation is correct, and I’m being quite humbled by that.
One problem I could see with the aggressive testing (which also happens in human-written codebases) is that it becomes hard to tell essential behaviour apart from details. If you nail everything down with a unit/integration test, nothing can be changed anymore.
I could imagine that this is part of the reason why LLMs love to duplicate code rather than adjusting existing code.
Well… That’s why you test the public API and not the internals. And if you need to change the API you should have a good enough reason that changing the tests is okay too.
As an open source project maintainer I can always tell whenever a pull request is AI assisted because no human would ever write full tests for all their pull requests.
Uh oh, I pretty much always do this. Especially for new-to-me projects. The less confident I am about how the whole thing works, the more I write tests for my change. Should I stop pushing them so people don’t think I’m Claude?
I mean, the thing with LLMs is that they tend to overdo it. They test completely unnecessary details. Your idea of having tests for all features is probably still way less tests than the typical LLM-generated commit…
And they’ll miss important test cases such that their change will pass all of their tests (they keep iterating until it does) but then will still fail on some common edge cases.
Removed by mod
Nice try bot. The Terminators are already trying to blend in.
Is your name Claude?
Look if someone thinks you’re Claude because you bothered to test your code that’s kind of sucky. But then again the fuck do I know, I don’t contribute or maintain anything so that’s just an off the cuff take.
At some point we’ll have to acknowledge that AI doesn’t mean inherently awful and bad IF it’s used responsibly and in a helpful manner. I don’t think LLMs are intrinsically bad but the way these companies have been marketing them and trying to make them some technological panacea that’ll replace all the people and fix everything is utterly deranged and divorced from reality.
At the end of the day they’re large language models, their job is to come up with what the model “thinks” a person would write as an answer to whatever the prompt is. They’re not magic and I’m tired of people anthropomorphizing the shit out of LLM / “AI” and acting like AI output is being delivered by the machine with some sort of logic and knowledge and oversight. It is not.
it does when it’s actively destroying the planet. There’s no good use of AI. There’s less bad uses since we’re now in an era of AI generated cyber attacks, so people are using it to defend. But there’s no good use. It’s a horrendous technology that is destroying humanity with every use.
It’s the same as a nuclear bomb. If the bomb was never used and we just knew how to make it, it wouldn’t be that bad. But it was used, it killed hundreds of thousands of people, and no matter what happens in the future it’s still horrific technology.
I do think there are responsible ways to build data centers, they have been around for a long time now - just the scale and speed and cutting corners happening now is something awful.
There is no modernity without data centers, this message between us could not exist without data centers - but what is going on now with these large AI companies and hyperscalers and the giant market speculation and spectre of the looming pop of this huge economic bubble … That all is madness to the highest degree.
I’m not really disagreeing with you completely but I do think there are good use cases if the technology is applied well and the infrastructure is built responsibly in the way that causes the least environmental impact. That’s not happening though.
To be clear, this isn’t about data centers. It’s about unrestricted AI data centers. The difference between a normal scale data center and a hyperscale AI data center from a water use perspective is 6 million gallons a year vs over 2 billion gallons a year. Like, they’re not even close. We had responsible data centers and life was fine. Now it’s not.
I’m aligned with you on that. Also speaking as someone in the USA … We desperately need electrical infrastructure overhauled, invested in and nationalized. The state needs to intervene and help support the American people. Really all of our public infrastructure desperately needs help. So do a lot of people who are looking for work. We spend billions of dollars on killing kids but we can’t fucking spend some to employ folks in massive green energy grid public works projects and kill two birds with one stone?
It’s embarrassing. FDR, our most popular president, literally implemented all of these kind of policies - it’s insane the Democratic party keeps shying away from them.
Libtcod? Cool project. Btw do those generated tests tend to be helpful or confusing?
The important part is that the tests track regressions and they’re helpful for that. After that, it’s okay if tests are mostly write-only.
I’ve noticed that AI commentary tends to describe what the code is doing verbatim which is better for naming tests and functions rather than writing code comments, docstrings, or change notes. I usually have to fix this public-facing documentation to not talk about library internals which no user of the library would ever care about.
So far I feel that AI assists are good when you have the time and effort to push back on them, but that isn’t an option for all projects, it works well for my own projects which have very few contributors in the first place. For the most part I can treat them with the same scrutiny as human written code. When the person submitting the code is obviously not checking their own code then that’s a problem.
If you’re getting a high volume of those, it’s time to just ban those users and move on.
Removed by mod
From what I’ve seen and heard, AI seems to do well for test-driven development. That doesn’t necessarily translate into good code, but it does translate into tested code.
At the very least it can translate the documentation of an API into the appropriate tests to verify the documentation is correct, and I’m being quite humbled by that.
Removed by mod
One problem I could see with the aggressive testing (which also happens in human-written codebases) is that it becomes hard to tell essential behaviour apart from details. If you nail everything down with a unit/integration test, nothing can be changed anymore.
I could imagine that this is part of the reason why LLMs love to duplicate code rather than adjusting existing code.
Well… That’s why you test the public API and not the internals. And if you need to change the API you should have a good enough reason that changing the tests is okay too.
Removed by mod