People keep assuring me that LLMs writing code is a revolution, that as long as we maintain sound engineering practices and tight code review they're actually extruding code fit for purpose in a fraction of the time it would take a human.

And every damned time, every damned time any of that code surfaces, like Anthropic's flagship offering just did, somehow it's exactly the pile of steaming technical debt and fifteen year old Stack Overflow snippets we were assured your careful oversight made sure it isn't.

Can someone please explain this to me? Is everyone but you simply prompting it wrong?

It's a good thing programmers aren't susceptible to hubris in any way, or this would have been so much worse.

You know, it isn't even that tools like this are useless. There are absolutely things they could be good at. I've personally seen Claude find stupid little bugs you'd spend an hour figuring out and hating yourself for afterwards with great efficiency. I tried the first iteration of Copilot, back when it was just an aggressive autocomplete, and while I had to stop using it because it was overconfidently trying to finish my programs for me without being asked, it was great for filling in boilerplate and maybe even a couple lines of real code for the basic stuff. We have models nowadays that are actually trained to find bugs and security issues in code rather than having the entire internets thrown at them to produce something Altman & Amodei can sell to the gullible as AGI.

But there's the problem. The technology has been around for a while, we have a good idea of what it's good for and, more importantly, what it's not. "Our revolutionary expert system for finding bugs in your code" isn't nearly as marketable to the general public, and the CEO class especially, as "our revolutionary PhD level sentient AI that will solve all the world's problems if you only give us another couple trillion dollars, and also wants to be your girlfriend." And so we get Claude and ChatGPT and RAM shortages and AI psychosis and accelerated climate change instead of smaller, focused models that are actually good at their specialist subjects. Because those don't produce as much shareholder value.

@bodil I liked @mmasnick's take on how mayyyybe there's a silver lining in code-generating that it can help re-democratize personal computing in which it's not the personal computer but also the software can be customized and home-grown.

I like to think that sammy boi is out there, trying to buy up the world's complete silicon wafer production because he spends his sleepless nights dreading gen AI breaking loose of his ilk's corporate capture.

I'm sure many of us won't gleefully march into local-AI boosterism without addressing the (open-weight) elephant in the room, maybe one way truly open & fair models will leave the fairy realm of the Mozilla Foundation "Wouldn't It Be Cool..?!!" list.

Like, waiting for the "AI bubble to pop" is like hoping for an alien invasion: all it will bring is pain and destruction with no clear "ok, what now?" that follows. I like the _hopefulness_ of his perceived trajectory and I truly hope we get there before we split the planet in half. 😶

AI Might Be Our Best Shot At Taking Back The Open Web

I remember, pretty clearly, my excitement over the early World Wide Web. I had been on the internet for a year or two at that point, mostly using IRC, Usenet, and Gopher (along with email, naturall…

Techdirt
@flaki @bodil Note that for one of the notable examples in this article (Fray) the author (Derek) has debunked the analogy.
@janl @bodil ugh, haven't seen his comment before, but honestly not surprised about his reaction :(

@flaki @bodil I've got multiple objections to Mike's framing but one of my bigger ones is that he offers no path to get from point A to point B other than "I hope local models get better."

Mike isn't relying on local models. No one (aside from I guess Cory Doctorow?) is. The local models are not "almost as good", and even if they were, all Mike is demonstrating is that even the advocates for local models will not tolerate using them.

@flaki @bodil Mike isn't saying "local models are the future so I'm boycotting Claude code." Nor is he saying, "local models will catch up, and I'm so confident that I'm willing to wait for that to happen before I use LLMs."

He has a sentiment, but no action. His usage is indistinguishable from the usage of the biggest Claude booster.

He's acting exactly like them, but I'm supposed to give him credit because he hopes the world will be different some day.

@flaki @bodil (I also seriously object to his framing on democratization in a way that almost makes me angry. The early web was great because of *community*, open code was a byproduct. Mike confuses the by-product with the cause, and abandons community to pursue technology, and ultimately paints a much more hopeless picture about where we are and what we can do, and one that is insultingly dismissive to the communities that exist today. But that's a separate issue)
@flaki
Software has always been homegrowable and customizable. Society chose to reject people actually customizing it by mass marketing computers that have increasingly complex requirements for being "useful". (Hell, even the good old C64 is packed with proprietary bits.)
LLMs democratize nothing, local or not. Good docs, relative simplicity and community do.
@bodil @mmasnick

@bodil ā€it was great for filling in boilerplateā€

There’s your problem right there. Computer science should work towards getting rid of the need for boilerplate, not invent ways to write more of it.

Every piece of boilerplate is a failing of the language or library that you’re using, and is technical debt. Editing generated code doubly so.

@ahltorp @bodil :-) I think a good slice of computer science does.

However, ā€œthe marketā€ does not. It operates to extract profits. Not to simplify, reduce barriers, improve access, or clarify.

@benjohn @ahltorp @bodil The logical conclusion then is to regulate that away šŸ™ƒ I would guess we are more than a few Therac-level incidents away from this happening sadly.
@[email protected]

Boilerplate is a side effect of excessive abstraction.
Now think about it for a second. šŸ˜‰

(btw, did you consider an April fool for Anthropic's leak? It would be great PR.. after.)

@[email protected] @[email protected]
@giacomo You would have to explain what you mean there, because it makes absolutely no sense. Boilerplate is used instead of abstraction.
@[email protected]

If you don't abstract your code only need to solve a pretty specific problem.

If you abstract your code can handle a variety of tasks, you need new code to connect your generalized code with the actual problem to solve.

The enormous amount of boilerplate required by "modern" frameworks just makes the tradeoff evident. Unfortunately, marketing and hype hide this obvious fact to most developers.

@giacomo @ahltorp

it's because modern frameworks use bad abstractions like "component" or "model" or "capacitator enabler" that generalize a very narrow subset of the problem domain rather than good old reasonable abstractions like functor or a monad transformer

@ahltorp @bodil I've seen a pretty good argument that basically goes like this:

  • Copilot seems to be good in your org because your org is full of boilerplate

  • Your org is full of boilerplate because most software that solves real problems in the amount of time people are willing to spend money to solve them... Is full of boilerplate.

We can generally only remove the boilerplate once we have the problem domain and solution shape firmly in view, and that usually happens after we get to a working prototype, at which point the money folk immediately cut the budget because the people in the not-in-a-computer world see the problem as solved now.

@ahltorp @bodil Or just have a template source code file that you copy as needed.

@drwho @bodil Yes, if it’s really necessary, and that has been the traditional solution pre-LLM. But I would still call that editing generated code, even though the generation is static.

It’s much better to have language and/or library support that makes the boilerplate go away. We don’t make our IDE generate an assembly subroutine call template and edit that when we want a function call, we just write the function name and parameters with parentheses or whatever the syntax is in our language.

@drwho @bodil When I wrote a 4x4 matrix multiplier in assembly in the beginning of the ’90s, I needed a lot of repetitive code. Did I generate that? No, I wrote a macro.

I did generate some other code, but then that generation became part of the build chain, I didn’t copy-paste the result into a source file.

I don’t expect most people to write advanced macros, compilers or other code generators, but I expect language and advanced library designers to.

@ahltorp @drwho @bodil just wanted to say i think you're 100% right about this. and it would be interesting to see more highly abstract and ergonomic languages that not-super-technical people could use.

@ahltorp @bodil This is exactly it. Programming languages should be working to remove repetitive boilerplate and cut-and-paste activities. Like when we went from assembler to structured programming - instead of writing the same jump patterns over and over again, come up with a language that does it in a few keystrokes and let the compiler expand it

LLMs are just cutting-and-pasting shit all over the place. It's a massive step backwards for software dev and it infuriates me to see it embraced

@bodil unfortunately, it seems that AGI, defined as "human level intelligence", might actually be close due to a movement in the opposite direction: humans getting dumber really fast.
@aurisc4 @bodil Ahh I hadn't considered that strategy. It all makes sense now!
MAD Bugs: Claude Wrote a Full FreeBSD Remote Kernel RCE with Root Shell (CVE-2026-4747)

To our knowledge, this is the first remote kernel exploit both discovered and exploited by an AI.

Calif
@bodil Excellent points. Which are the mentioned bug and security finding models you have in mind and where/how are they available?

@bodil I would be at least *partially* aboard if it were more like an autosuggest that you can turn off based exclusively off things that you've written before in that project. In GDScript, for instance, I'm often writing "get_tree().get_root().get_node(GlobalVariables.<Insert variable name here>"). An autocomplete like that'd be a useful tool, because you can understand it's scope and it's sources, and it's very clear where the buck stops.

But what do we have instead? Utter dogwater. šŸ™„

@bodil the problems here are capitalism not AI. In particular too much capital seeking new areas to extract unreasonable returns from. Very similar to dot com and real estate bubbles but made worse by the increased amount of capital sitting around since Covid bubble. Almost impossible for our economy to resist hype and just develop interesting new techniques for the betterment of humanity.
@bodil im convinced OP is either an april fools joke or a psyop by anthropic to make public perception of slopwranglers a little more centrist a la ā€œit has its usesā€ (to which, lmfao no fuck off) and tbh im probably not gonna give you the benefit of the doubt here, so probably gonna be pathfinding to the block button now, as one does
@bodil i was very pleasantly surprised the other day when I booted up claude on a codebase built with a relatively unknown framework & claude figured out everything almost to a T. Like even figured out I was using the framework's auth but backed by AT Protocol OAuth. The version of that framework has only been out ~2-3 months.
@bodil I'm mostly looking at claude to solve the overtly time consuming tasks like fleshing out test suites whilst checking against a specification document; or assembling together UI code I can iterate on (because I'm much more backend focused and frontend just is very time consuming for me to iterate on)
@bodil Exactly. And because of the vast misrepresentation to, and misunderstanding by, the public, I’m compelled to argue against it wholesale. Few people understand or are capable of the necessary nuance. I just thought of another effective use for LLMs yesterday, but it’s very niche and not massively profitable.