ai-skeptics 2026-06-22

That's beautiful terminology, Anders. Where can I find the monastery of solemn handcoding monks? I am among them. Is it time to register a non-profit religious organization for this?

❤️ 2

I think this was mostly very good. It's basically a formalized version of how I think about these tools as well: use them as a tool to help you when necessary, never show people output from an LLM and do not allow the chatbot to drive the work. Personally, I do think their approach to allowing experimental PRs is a little too permissive. But I like the overall approach and the level of detail they've chosen.

Yeah, I quite like it. I go back and forth between the value of LLMs for learning and exploration. With references it can be ok (you can check). But, I've seen too many bold responses that are completely wrong. "LinkedBlockingQueue acquires a lock on the head and tail when using drainTo..." No I don't think so "oh you're absolutely right, let me check the source again..." etc etc

❗ 1

I think the "experimental PRs" section is particularly interesting. I'm assuming there were people on the project both for and against, and this is basically saying "ok, we'll give it a chance, but the bar will be very high, and you need to get an ok before you submit from the person who will be in charge of reviewing it"

Yeah, it did read a little torn 😅

I also like that they completely ban any AI comments or docs. Basically if it's prose it has to be written by humans.

👍 2
💯 3

I'm eyeing this with particular interest because I feel before long I am going to have to formulate something similar that I can refer to for my own projects

Seems reasonable, but I probably have a minor quibble with: > No amount of editing can change how it was originally created; the origin sets the initial style, and that style is very hard to change once it's set. Dunno if Rust is verbose enough for this to be truer, but I like starting with something and then repeatedly molding it. By the end, it's often completely transformed. Basically coding-by-criticism: read/criticize/fix loop. But clearly they can accommodate this, so no biggie

I think writing human communication by hand is the most important part for me. I've seen people with a lot of discipline and constraints produce useful things with LLMs mainly capitalising on what they believe is a short golden age of heavily subsidised pricing (and global public access) that will never happen again. So the goal is ultimately for the code to be maintained by hand in the long run. But, to consider a project like that without a high degree of existing trust there needs to be some human time spent on the reasoning and docs.

👍 1

> No amount of editing can change how it was originally created; the origin sets the initial style, and that style is very hard to change once it's set. I think this is fundamentally untrue of writing code though. People do get a little haughty about the "expressiveness" of their favored programming language. At the end of the day, there are only so many ways you can arrange the constructs or tokens of your language and produce a valid/correct/debuggable program. By contrast, most human languages I am aware of are hugely more flexible, besides having orders of magnitude more vocabulary. AI prose writing has this accretive and conservative effect, but I think that's because literacy was already in a deplorable state before people could "write" whole essays or code wikis in a matter of seconds. Whether it's a README or an essay or even a whole AI-generated novel, many people look at it and don't have the experience or the inclination to think, "I could rewrite this and do it better."

It's too long, who's going to read that

Overall it makes sense though. Don't shove your raw LLM output into PRs. If you've reviewed and iterated on it and you yourself would personally vouch, feels like it meets the quality bar that you'd produce yourself and you'd want approved and committed, than ok, but you have to disclose it. The no AI generated prose, for me, that's the part I hate doing lol. For a project like Rust it makes sense. But for many smaller lib I wonder, if the alternative is bare bones docs? Or the person never published their project because they get stuck at writing the readme?

If you can't be bothered to present your library in a Readme, it's hardly a valuable contribution. I personally hate reading LLM generated prose.

a life of quiet contemplation (of code) sounds appealing in this hectic day and age

So I was thinking about this. Do LLMs fundamentally introduced behaviours that were not already there? - A company with lots of of engineers can write more lines of code than you. - A company with lots of of engineers can write larger more complex projects than you. - A company can copy your work and/or beat you to market. - React/typescript frameworks can churn out apps that look polished and match the current popular UI themes. - Management has often valued larger teams that churn out more features and more lines of code. - People already wrote/copy pasted code they didn't understand. - Slop/copycat PRs and Projects were already a thing. LLMs might have reduced the barriers/costs (real price remains to be seen) for these behaviour. But, they were always there.

👍 1
💯 2

I would like to add to that list that most of the crap code written is still written by humans.

They were there, but it's been supercharged. And people are being mandated to convert to producing slop.

how many AI generated crap PRs have you encountered in your project?

It's like saying that people behaved poorly online even before social media. True, but building a platform that encourages poor behavior has made things a whole lot worse.

💯 7

if anything for me the number of AI improved PRs has exploded

One thing I noticed sometimes that LLMs make it easier to not talk to other people. Causing solutions to be engineered for the wrong problem. Also an existing behavior of a sufficiently large enterprise.

☝️ 6

> I would like to add to that list that most of the crap code written is still written by humans. > Yeah but obviously crap is easier to deal with than deceptively crap. The better models get the more insidious and alien the crap is.

LLMs come across as cheat codes sometimes. It was always possible to create heaps of badly understood code. Just, would have been noticed by someone and steered.

(Smart cheating is allowed btw, but lazy cheating is not)

“I would like to add to that list that most of the crap code written is still written by humans.” Whataboutism is used a lot lately to grind humans down. Funny that singularity is around the corner, but business dynamism is declining.

I’m unsure whether my point was to grid humans down, it was more a retort to “OMG, AI just generates slop code”

What is your point then? Can AI generate superior code? or are you saying that it writes equal crap code faster?

My point would be that we’ve had crap code since forever. It's not a new thing that suddenly occurs with agentic coding.

Before LLMs we uses to make fun of people copy pasting from Stack Overflow, I used to joke TDD stands for tab driven development, yeah, seems right

I think @christian767 makes a good point. All of the enshitifaction we see with agents were possible and present before agents, but they're now amplified.

👍 4

> Force multiplier > <negative number

Were do you see it being amplified?

I’m not claiming it is, but I have been inconsiderate of my co-workers in putting up agent written PRs which were not up to the standards that we expect. I have since corrected my ways. I can easily see how if you maintain a popular OSS project, you do not want to be on the receiving end of such. Just as you don’t want to be on the receiving end of non-agentic PRs where the author has done nothing to ensure that the code and the docs they’re submitting are up to par. It’s not without reason that a lot of such projects have a shit tonne of checkboxes to ensure that the contributor has done this, that and the other thing.

you were likely doing that before llms as well, so yeah then I agree in that regard llms amplifies bad behaviors. on the other hand because it is amplified it becomes more visible, so instead the reaction is quicker and the desire to address the root cause increases .(lack of clear guidlines and rules regarding PRs, as well as some level of enforcement) if anything llms allow more controls on these guidelines. when the guidelines say no LLM, i respect the close-mindness of the author and keep the fork for myself. if the guidelines request tests, documentation, split commits and whatnot I follow it to the letter

I wouldn’t even characterize it as closed-mindess. It’s their project, I’m not one to judge them.

i see it more as a fact than a judgement call, but again I respect it since they are generous enough to open source the code, I'm just not going to bother arguing with them, but I'm not going to start writing code again just for them.

One person's "closed-minded" is another's taste. Taste matters. If anything LLMs make that more apparent not less.

👍 1

I think scale and dosing matters. That crap code existed before didn't matter as much, because it was produced much more slowly and the ratio of crap/quality was smaller. So the system could better deal with it. If you change the ratio and the speed at which it builds up, that changes the entire equation.

💯 1

That said to OP, I think what's different is that a single person or a smaller team can possibly produce more high quality code (or good enough code) than they could before. So what a very good small team can produce might actually now be superior to what an average or below average larger team can produce. Well, at least it's a hypotheses. Not sure if it will hold true.

Yeah I agree that a small team if disciplined is likely to use LLM much more effectively than a large org. I actually think it makes large orgs less effective (as it's far easier to generate noise and extra work).

I enjoyed this interview https://youtu.be/SPQNPJ0CEPo with Cory Doctorow (the enshittification guy).

❤️ 2

@seancorfield the point that @andersmurphy seems to make is true in general. Garbage in is garbage out. I run a small company and we have found a few good uses for Claude. One is that we have automated that any PR that is created is not just reviewed by colleagues but also by claude with specific criteria to look for. It enables us to find potential errors in the code (logic) that we might have missed. It's fast and lightweight. We see that as a benefit.

On the subject of PRs, I'm curious about the experiences here of project maintainers who have started to receive PRs that were AI-generated. How variable has the quality been? How much has it increased your workload (i.e., are you receiving noticeably more PRs now than before, are they bigger than human-generated PRs, are they "different" -- more tests, more documentation, less)?? I'll add my experience in a 🧵

I have received slightly more PRs than I used to, but those PRs are more likely to include tests and documentation updates, without me having to go back and forth with the submitter to ask them to add them. The code quality is slightly worse: the code is more verbose than I would like, more like a junior developer who is fairly new to Clojure (so it's mostly worse in idiom rather than actual design/implementation). So far, the AI-generated PRs have been "good enough" to merge, and then I can wordsmith the docs and tweak bits of the code to be more idiomatic. Also, so far, they've been useful additions that either address an existing issue or that add a feature I wasn't aware was missing (e.g., specific, more esoteric SQL support for HoneySQL). Overall, my experience has been neutral-to-good with this -- I haven't received any "slop" PRs. I'm interested in actual, first person experience, not what has been reported by projects that you do not maintain yourself -- those are "in the news" and of course we always hear about the worst excesses.

I drink very little, I don’t smoke, I exercise regularly, I live in a valley surrounded by mountains and I’ve been reading a poet’s biography (Juan Luis Panero) this weekend. I have wonderful teammates (we are 20) and we make (small) profits (we invest a lot in R&D) every year (fingers crossed!) with our Clojure based products. Our clients are happy. So why has my temper turned sour then? Been through 2008’s financial crash, the subsequent crisis, then covid, the recent wars, 40 degrees’s Junes and now AI. Due to the hype clients are wondering why we don’t use AI to develop their solutions (all their friends and their friends' friends use AI apparently). I have prepared some compelling arguments, because better dead than do that. Cheating is something people do and brag about, and I’ve been told that you are not intellectually superior if you achieve better results without the help of AI. Nothing matters, everything and everyone will be replaced by AI, they say. Programming languages will be irrelevant soon. We are a nostalgic business, I was told a few days ago when I mentioned that our current bet was a product built by hand with Datomic + Kafka + Datastar + Clojure. I have a board meeting on Wednesday and I will try to protect our nostalgic ways to do things at all cost.

❤️ 15
🫂 4

It has always been the case, as far as I can tell, and it has always baffled me - way too much time is spent by clients worrying about how something was built. I can see the arguments one might have when it comes to languages, platforms, ecosystems. I doubt anyone would be happy if they learned that the project they paid for is written in COBOL. But why some clients worry about the process is beyond me. "Yes, your offer seems reasonable. But tell me, do you use Agile? No? Oh, sorry then, we can't work with companies like that." "All-the-rage way or the highway." If I were you I'd probably try very hard to shut down any such inquiries as early as possible. "We use AI wherever we deem it useful, but I can't disclose any specifics."

I mean this was kinda true of using clojure. Hell, it's true for using the JVM instead of next.js + vercel in some contexts.

But with AI it is way more intense.

Sqlite is AI (Hipp did a talk about query planners recently), and so is lisp. So 😅

Everyone will be replaced by a product that can't be sold at a loss forever? Programming languages don't matter anymore so people write languages specifically for LLMs?

😂 2

Regarding client AI queries, tell them you can deliver a solution in 4 weeks with AI or one month the old fashioned way

🧠 3

Everyone will be replaced by a product that can't be sold at a loss forever?
> I mean the plan is to use your pension to fund making you unemployed.

🎯 1

Three years into six months until we're all unemployed

🤣 4

It's all a red herring to cover: • Economic decline • Capacity building • Regulatory capture

I've got friends who are already worried they won't have access to Claude bwcauese they are not based in the US.

Oh for sure. It's classic economic downturn masked as a productivity revolution

They will, this is all smoke and mirrors (and marketing)

The economic downturn happened in 2019, the layoffs etc are wrongly attributed to AI etc, partially on purpose

💯 3

> They will, this is all smoke and mirrors (and marketing) > Yeah it's convenient for masking lack of compute to deliver the best models

And or hide the plateau of development. Maybe?

Wrt smoke and mirrors the primagen has an interesting theory https://www.youtube.com/watch?v=jJbelC85zic

👀 2

It's a way to nationalize themselves and shoulder out the competition, also increases their valuation

> But why some clients worry about the process is beyond me @p-himik I've never been on clients side, but I guess we do it all the time when we go to the doctor, lawyer or whatever, even if it is not our area of expertise we do our google searches, etc, and try to be informed, because we know not everybody selling solutions to our problems are equally effective, and we worry about trying to optimize on that.

Right, but when it comes to other people I worry about the expertise and about their methods that affect me. Not about their methods that resulted in that expertise.