I love tech. It’s challenge and my brain loves soaking up new things. Currently writing my first ever game engine in my 50s in c with my kid based on books and include files. Better late than never.
The technology was never the problem. It’s the money people. Always was. The Marxists got that bit right. Some of the tech bros are from a tech background but their culture and motivations aren’t like mine.
The money person these days follows the drug pusher/pimp model. They want to control you and have you on a hook. Everything has gaming machine mechanisms built in to keep you coming back. You can’t walk away. They have all your data, all your connections. You are helpless. A victim, but you walked right into it. Final victory for them is to lobotomise all your higher order thinking skills. Your just a body to lie there and be fucked.
Sounds fun! Any plans to release something on itch/steam?
Final victory for them is to lobotomise all your higher order thinking skills. Your just a body to lie there and be fucked.
Sounds fun! Any plans to release something on itch/steam?
Reading this then your reply made me smile.
I mean they’re not too wrong. We’ll probably be screwed over in some time and period
The “correct” way to use AI for coding (and anything really) is to ask for explanations / tutorials when you can’t find one online, then learn from that.
Never let it do something for you. That’s how you lose. If you’re not actively learning, you’re actively rotting, and that goes for life in general too.
What you said is fine for people learning, but there’s nothing wrong with having AI do something for you when you’ve done it a hundred times and don’t want to do it again. Some of us are actually out here working, not just learning.
I have started using LLM tools recently after taking a new job where a lot of people do it. I’ve discovered that it’s actually fairly helpful not only for explanations, but in two other respects
- Sifting through immense amounts of documentation. I have to deal with some datasheets that are hundreds of pages, where there will be info scattered throughout. It’s very helpful sifting through those.
- Doing boiler plate “plumbing work” in my code. I’m mostly drawing a line where I don’t want it doing the “core” work in that which I’m an expert, since I agree that if I stop doing that, I’ll atrophy. However it can help accelerate my process if I pass off some of the minutiae that I don’t feel the need to do.
However all that said, I am honestly pretty impressed how well it works. I’ve mostly been using Claude, and damn, it’s honestly pretty competent. I had it make me a helper Python GUI program for me to test some stuff (I’m not a UI/high level engineer like that, I’m an FPGA Engineer), and it did a decent job. It definitely needed a good amount of massaging and guidance. However I can definitely see the appeal, and I think it’s a slippery slope, and I need to make sure I remain disciplined in not letting it do everything
One trap is to trust it as a means to accomodate unreasonable schedule pressure.
Sure - this thing looks like it works, hell it probably does work, do you really want to launch a probably works product? If your management does - consider shopping around for a raise/promotion under different management. It’s never easy to move, but if you’re moving on your own terms you can often make the effort worth your while.
Another note: I find the LLMs to be wickedly detail oriented code reviewers - like, they’ll point out the tiniest little discrepancies and edge cases, and what they (Claude, at least) report is usually “real.” Now, that doesn’t mean they find everything that’s wrong on the first pass, but once you’ve addressed everything in the first pass, you can make a second pass, and a third, etc. each time with different focus: documentation complete? implementation functions as intended? technical debt? test coverage? security issues? issues with maintainability? documentation in sync with implementation? specific aspect of implementation functions as intended? etc. - if you address all the findings after each review cycle (and addressing a finding can be clarifying a requirement to relax about certain unimportant aspects…) eventually the findings slow down / only find ridiculously unimportant things.
A thing I found quite amusing about the AI agents I’ve toyed with is that they have a step where they do a code review of their changelist, usually switching to a different “persona” when they write it so that they’re not seeing it as “their own” code. It’s funny reading at the critiques and compliments it gives the “other agent” it’s checking the changes for.
I haven’t seen this feature yet, but it might be a good future enhancement to ensure that the harness literally uses a different model for the code review from the one that wrote the code in the first place. If Claude wrote the code have GPT do the review, and vice versa, for example. Wouldn’t be surprised if the feature exists and I just haven’t spotted it yet though, things change fast.
I use Cursor for work (Claude Code at home), and Cursor gives the option to select your model. I’ve dabbled a bit with GPT for the review of Claude code - haven’t found anything dramatically better doing that than just Claude prompted to “wear the reviewer hat now.”
Yeah, I wouldn’t use a framework that didn’t let you select the basic model. I’m just thinking about having it automatically switch to a different one during the review “phase”. It’s not as popular a coding agent these days but I like using Google’s Antigravity and it’s capable of being told to go through the sequence of steps “plan - > write documentation -> implement the plan -> run unit tests -> do a code review” automatically without needing to be prompted at each step. That’s where it would be nice to have it automatically switch for the review.
“Wear the reviewer hat now” does seem to work quite well with the same model, but if more models from different lineages are available it just seems like the right thing to do to switch to another one.
So Using it as my emotional dumbing machine is wrong ?
The “correct” way to use AI for coding (and anything really) is to ask for explanations / tutorials when you can’t find one online, then learn from that.
except the “explanation” frequently will be 100% “hallucinated” bullshit
For what it’s worth, I’ve been working on (yet another) ActivityPub based micro blogging application and LLMs have been enormously helpful and so far as I can tell, correct. Often it cites the AP specs and its extensions, as well as specific implementations from existing major AP apps. It can show me expected outputs, what responses from my app should look like in response to different requests from other servers, and quickly give context for features like Mastodon’s shared inbox. I’m not having it simply generate code, but I think I’m still moving way faster than I otherwise could. I don’t recall it ever giving me incorrect information.
It’s the first time I’ve used an LLM as a tool this way, and I’m pretty impressed with it. I’m using the assistant made available through Kagi.
Often it cites the AP specs and its extensions
Tip: check those citations yourself before publishing with your name on the product. Yeah, they’re usually correct - do you only usually not want to be perceived as a lazy idiot?
And that’s why you have to check everything.
People say the best way to see this is asking AI about subject you’re expert of.
This is not always possible, I had people who said “but I’m not expert at anything”. Another way is to ask them about yourselves. For example if you have reddit account that is has some age, Gemini has deal with reddit and feeds them everything that’s posted. First response might even look good, but continue talking (as it is getting more ridiculous), don’t try correct, you can see how it is making shit up.
Since they are feeding it with everything lemmy might also work.
I’ve seen very mixed results depending on which model I’m using. The newer ones, since about November of 2025, have been getting significantly better - but some of the “free class” tools are still using older ones today.
Free Gemini gave me extremely ridiculously bad advice about how to get through a traffic jam today. Free Gemini also drew the crudest sketch imaginable for a prompt, same prompt fed to ChatGPT yielded a really nice quality cartoon panel of basically exactly everything in the prompt, with some nice/appropriate embellishments.
I’ve become rather disillusioned with Gemini’s use of search tools lately. It’s odd given that it’s a Google model, you’d think Google would be at the top of the search engine game. But honestly, Deepseek’s been my go-to lately when I want an answer that’s likely to be synthesized from a lot of web searches. I’ve had it search over a hundred different pages for a generic “how does this work?” Sort of query. It didn’t read them all, but it’s casting a wide net and it’s letting me actually see the details. Gemini seems more willing to just tell me what it “thinks” the answer to a question is based off of its training data, which is not a particularly reliable thing for an LLM to do.
Gemini seems more willing to just tell me what it “thinks” the answer to a question is based off of its training data, which is not a particularly reliable thing for an LLM to do.
Yeah. I pay for Claude, my company pays even more for Cursor, so comparing them to free Gemini probably isn’t fair.
Gemini is very useful for offhand queries while Claude is chewing on a bigger problem, but if it’s something that needs complex analysis and/or extensive research… the tools that let you build up a folder full of files related to the task are vastly superior to chatbots. Gemini does have a Claude Code command line tool that does that kind of development in a folder, I didn’t install it until last week. Gave it a coding problem to work on (lookup realtime weather radar data from NOAA, present recent data on a map on a webpage)… it sort of succeeded, but with poor user experience. Again, I’m in “Free mode” which can do quite a bit on a day’s allowance of tokens, but… I don’t feel like their paid modes would be particularly higher quality. If they are, they’re doing themselves a tremendous disservice by demoing such substandard performance in free mode.
That’s why I always ask it to cite sources. Basically googld ATP since google is turning to shit and all other search engines still aren’t quite as good
Then why not ask just for the sources and read them yourself?
It could very easily use a completely different or hallucinated source.
But a lot of LLM products are now providing source links right in the response. I’ve found them useful, and hopefully they aren’t produced just by feeding the text back in and asking for a link.
That’s exactly how those links are produced.
I don’t think that’s a good idea, if you can’t find an explanation online that means that there’s not much info available in which case the best thing would be to ask on a forum, that way other people that look for that info will find it.
Usually, the LLM’s response will be incomplete or partially incorrect, but it’s often good enough to get un-stuck.
Usually it will have some keywords you can look up, some bits that bring up further questions for you to answer (and for which the LLM should also not be your first choice).
There’s also the aspect of giving the LLM another prompt, and another, and another - have it build up a local documentation set based on its internet research, continue to research and refine the local documentation set keeping the things you trust, filtering out the sketchy stuff…
Ultimately, the LLM is a tool you are using. If you use it like a 4th grader copying a paragraph out of the Encyclopedia - you’re probably not going to get great results; especially because today’s reference materials aren’t highly edited / vetted material like encyclopedias were, today’s reference materials are internet forums full of self-confident idiots blathering on about whatever they think they know something about (like me, here…) So, back to the tool thing: if you use it well, you can make nice things. If you use it lazily, don’t be surprised when your boss decides he doesn’t need you at your salary to push that button.
Not really, google results have been just that bad for the last 10 years. I can spend 10min looking for a piece of documentation on something and not find it. Or I can prompt an internet-connected AI and have it spit out links to relevant docs. It’s gotten THAT bad.
I like how no liability is even spoken about until after something goes wrong.
The main problem here are the software developers who don’t notice their brain rot.
Self awareness is all too rare.
Developers who are told to use AI whether they like it or not, however, tell a different story.
Well there’s the problem.
I’m a software developer and I say that AI is the greatest force-multiplier that’s been introduced into the field since the compiler. I love using it, it handles the most tedious and annoying parts of the process. But there are situations I don’t want to use it in, and of course being forced to use would give me a more negative opinion of it. Obviously.
In the late 1980s there was a time where we seriously weighed the option of hand assembly vs using compilers and hand assembly didn’t always lose. In the early 1990s I wanted to use C++ but the available compiler for IBM compatible PCs was too buggy to be of value.
By the mid 1990s that had changed, good C compilers were exceeding all but the highest effort human assembly code - if you didn’t like how it looked in assembly, you could much more easily “fix it” with a tweak to the C code instead of the assembly. I feel like we’re sort of getting there with AI agent LLMs today - if you don’t like what it provided, tell it why and let it try again - it’s usually faster and easier and gets a better product for the time invested to use the tool instead of calling it a slop box and doing it yourself.
I didn’t read this as “people who like it in some situations being forced to use it in other situations,” but rather people who are against it as a whole being forced to use it at all. And yeah those folks are going to have a bad time, and won’t be in their jobs long. Just facts.
people shit down your throat and you celebrate and beg for more. Absolute clownshow.
I’m a software developer and I say that AI is the greatest force-multiplier that’s been introduced into the field since the compiler.
As a person who works with coworkers who fully embraced it, it doesn’t look like they are any faster. There is one group that is faster, but they don’t verify their code and provide burden of it on another person who reviews PR to go through their shit code (sorry, but it is unnecessarily complex, does things in weird ways, I’ve seen it had bugs that even canceled each other (I guess this is probably due to re-running until things work))
There isn’t any credible evidence out there that actually shows LLMs are a “force multiplier.” That is almost certainly just a made up marketing term for unprofitable chatbot companies.
‘Your personal experience is wrong because it goes against the circlejerk’
Did you miss the part about no credible evidence? Feeling like something is a certain way doesn’t make it true.
If it’s a tool you can use yourself and it makes you more efficient, you don’t need a study to recognize its efficiency.
If you’re a software engineer, just try it yourself. Your own experience is the best proof you can find to judge if a tool is useful to you or not.
I am a software engineer, and trying it is exactly how I know it is not a “force multiplier.”
Outside of my personal experience—there’s also zero actual evidence it provides anywhere near the benefits it’s marketed as.
Then we have a different experience, and that’s fine
There are way too many ways to use LLMs for programming to make a blanket statement
In this case the evidence is literally first-hand experience. There is nothing that will change my mind on this because it’s my direct personal experience from actual use.
I honestly don’t care what marketing says, and if other people have different experiences then that’s just them. In my personal actual real-world experience I found that they let me get tons more done and their quality of work is perfectly fine as long as you’re using the right tools and giving them the right instructions.
The article says that developers are disagreeing with that in situations where they are “forced” to use AI, and that’s fair, it doesn’t make sense to force a tool to be used for something it’s not good at. They might be using it wrong. I use it whenever it’s better than not using it, and that ends up being quite often in my workflow.
using the right tools and giving them the right instructions.
The right tools is definitely key. Back an eternity ago, like October 2025, there was only Claude IMO if you wanted anything bigger than about a page of code. The others have come a long way - better than Claude was then, and I still feel like Claude is out in front, though by a less dramatic margin now.
As for “the right instructions” - I’d say it’s more of “use the right process” which basically involves applying all those best practices that have developed over the past decades for human development, but we old farts from back before their time “don’t need all that, it’s a waste of time” because, basically, we internally practice most of the discipline without doing the documentation. With the AI tools: document your requirements, your architecture, tool choice selection process, designs, development plan, comment the code with traceability to why the code is being written, unit and integration tests, reviews, lessons learned, etc. etc. Having all that documentation kept with the project, well organized, is key to “bringing the AI agent up to speed” which you may be doing often. They really do demonstrate the eternal sunshine of the spotless mind, so if you have them take the time to write everything relevant down as they go (not just the code), then when a new one comes online it can jump into the middle of a development plan without repeating (as many) mistakes / making (as many) bad assumptions.
To be brutally honest, working with AI coding agents reminds me a LOT of working with overseas programmer consultants - if you don’t get everything in writing you’re gonna have a bad time.
Indeed. My usual analogy is “it’s a team of junior devs at your beck and call, who will do a huge amount of work quickly when you tell them to so make sure you told them to do the right work.”
As for the documentation, commenting, unit tests, and so forth - AI is very handy for getting that stuff written too, just make sure to check up on it. For large pieces of work I will often tell the AI to write up an architecture document first, as a separate step, both to make sure it understands what I asked for and to store as future reference for the AI to make sure it doesn’t “forget” how the code is supposed to work or why it exists.
There was a fun Python application I worked with an AI on a few months back where most of the code ran as a conventional Python program in a conventional Python environment, but one particular file was being “injected” into an entirely separate and very locked-down Python sandbox to use as a bridge between that sandbox and the rest of the application out in the outside world. That particular file would be the only one that was able to import key modules and access key data, and it couldn’t import any other modules that the “outside” application might have access to. Two very different execution environments bundled together in the same repository. But I made sure the file had comments explaining this strange setup and that there were system architecture documents explaining how it worked, and I only recall having to remind the AI once or twice that the change it wanted to make would run afoul of that. It otherwise managed the separation of functionality just fine. And that was with the previous generation of models, the current ones are even better.
Unfortunately your being downvoted by the echo chamber participants that have to make sure you know that your opinion is wrong and theirs is better. AI is a tool, just like my impact gun. Yea there are times where you absolutely should not use an impact gun on something, but it’s THE tool for some situations. And yea, using an impact gun where you should t will get you in trouble just like using AI in situations you shouldn’t will get you in trouble. There is nothing new on that front!
I don’t disagree with the post you are responding to, almost all of that is reasonable.
Your overall argument would be more convincing if it wasn’t you doing the exact same thing you are complaining about.
As for specifics , the “Just a tool” argument is meh, not all tools are equal in potential benefit and harm.
Asbestos (while it is a material) was a “tool” used to insulate from heat.
Was it good at that, sure, it probably saved many lives, was it also harmful as fuck in the medium to long term, yes it was.
It can be a useful tool and also be a detriment, those things aren’t mutually exclusive.
The danger of a tool can also be mitigated with adequate safeguards that come from experience gained over time.
The argument then becomes risk vs reward, which is an entirely different conversation.
I kind of agree it’s a multiplier. But so far every time I’ve had it do something its written such an ugly turd I have to rewire it all taking more time than if I’d just solved the problem to start with. Maybe someday but it’s not up to the quality I expect of development.
I got a lot of garbage when I didn’t know what I was doing and just tried AI once or twice a week with lazy prompts, expecting perfection without iterations. I’d huff and crow about how I had to fix things, whereas now I just tell it what to fix, or even better how to get it right the first time. I’ve built up my library of skills and prompts and refined them quite a bit. The models keep getting smarter. You should really look at your tools and methods - sounds like you’re stuck in 2024.
I kind of agree it’s a multiplier.
It’s definitely a force multiplier, it’s just that the factor after the X can be less than 1.0.
Have you tried giving it coding standards and other such preferences about how you like your code to be organized? I’ve found that coding agents can be quite adaptable to various styles, you can put stuff like “try to keep functions less than 100 lines long” or “include assertions validating all function inputs” into your coding agent’s general instructions and it’ll follow them.
For me, one of the things that’s a huge fundamental improvement is telling the agent to create and run unit tests for everything. That way when it does mess up accidentally it can immediately catch the problem and usually fixes it in the same session without further intervention. Unit tests used to be more trouble than they were worth most of the time, now I love them.
After I worked with AI agents a little, I dove in with a big set of coding standards and practices and… I overdid it. I find I get better results by starting off with a “light touch” and letting it do what it wants, then correcting where it gets off track (like using python for something that needs efficient performance…)
I’ll say that during a recent week where I was forced to use an LLM, I found Claude Opus to be extremely poor at referencing this guide: https://mywiki.wooledge.org/BashPitfalls
it took almost an hour to get Claude to write me a shell script which I considered to be of acceptable quality. It completely hallucinated about several of the points in that guide, requiring me to just go read the guide myself to verify that the language model was falsifying information. That same task would have taken me about 5 minutes.
I believe that GIGO applies here. 99% of shell scripts on the internet are unsafe and terrible (looking at you,
set -euo pipefail), and Claude is much more likely to generate god awful garbage because of the inherent bias present in the training data.And as for unit tests? Imo, anything other than property-based testing is irrelevant. If you’re using something like Pydantic, you can auto-generate a LOT of your tests using the rich type annotations available in that library along with hypothesis. I tend to write a testing framework once, and then special case property tests for things that fall outside of my models. None of this is super helpful for big ugly codebases with a lot of inertia around practices, but that’s not been my environment, thankfully.
WTF are you expecting Claude to code in bash?
I have found Sonnet and Opus to both be very capable in bash, but then, I don’t usually ask bash to do super-complex things - its syntax is just too screwy to think about big applications in it.
I will say, you might be misguiding the LLM by filling it full of bad examples before starting. Kind of like the advice about not staring at a tree downslope while skiing, if you’re fixated on it you’re MORE likely to hit it.
Why not just give it shellcheck and have it run that on every script it creates?
Shellcheck, while good, doesn’t capture all best practices in my opinion. There are many items in that doc which shellcheck would happily allow, worst of all being
set -euo pipefail.
Unit tests used to be more trouble than they were worth most of the time, now I love them.
Sounds like you were writing bad unit tests and AI showed you how to do it right.
If so, it was project-wide across hundreds of devs.
There was a time when nobody wrote unit tests, not so long ago, really.
You… just started writing unit tests?
No, I’ve used them plenty before. I just found them to generally be a huge hassle of minimal benefit. They became much more useful in the context of agentic coding, where you want the agent to be able to immediately realize “oh, this change I made causes these specific problems when it’s run.” The hassle is all on the agent, not on me.
The hassle is all on the agent, not on me.
So much this. That hassle on the agent, a few minutes of me waiting for it to crunch out the unit tests, saves me tons of hassle later - not going in circles re-fixing problems that were fixed before.
Same for keeping implementation code and documentation in sync - I’ve got hundreds of out-of-date wiki pages that simply aren’t worth my time to fix. But when it’s the agent keeping the docs in sync, just tell it to do it and wait a few minutes - totally worth the effort.
I think we do very different development.
Could be. I’m a professional programmer whose usage runs the whole gamut - large applications with hundreds of programmers working on them for years, smaller apps that I make for my own use, and one-off scripts to do some particular task and then generally throw away afterwards.
I don’t do unit tests for that last category, of course. I don’t even use coding agents for those, generally speaking - a bit of back-and-forth in a chat interface is usually enough there.
Is this like a who’s got a bigger portfolio situation? I’m not sure how to respond
I guess I’ve been developing for decades including consulting for Page 6, a stint in RD at Sony Music. One of my open source contributions was used as part of the backend for one of Obama’s State of the Unions. I spend my time these days writing and maintaining multiple software stacks integrating across multiple platforms.
It lets me focus on the software architecture, not the minutiae. It feels exactly like when I ran a team of brand new interns. They require a lot of hand holding but with the right direction they get good at their jobs very fast.
I think the problem is that for now, it will always continue to require that hand-holding, whereas interns/new programmers will need less and less over time and become more independent over time
I find that I get the best results when I develop a suite of documents in parallel with the code: requirements, architecture, designs, lessons learned, indexes into those documents, traceable ID tags on atomic, testable item descriptions. Development plans. When a new agent is introduced to the project, it can “get up to speed quickly” by jumping to the current working point on the development plan and indexing into all the relevant details in the other documents before even starting to read the existing code.
That working method itself is evolving, and each new LLM driven project builds on the previous successful projects’ processes…
Some programmers do get more independent. Some do not.
I guess prepare for potential kernel rot: https://www.neowin.net/news/linus-torvalds-declares-massive-ai-fueled-code-surges-as-the-new-normal-for-linux/
isn’t it fun how every major operating system is vibe coded now
windows is an unstable mess, macos’s new ui is the most broken it’s been in decades, and linux is getting one new vulnerability per day. the future is exciting!
I agree with the sentiment, but to be fair, the two latest major Linux vulnerabilities have been present in the kernel since around 2017, which predates vibe coding by a couple of years.
Perhaps I’ll follow LTS 🫤
Yeah… well Arch’s LTS kernel is on 6.18 not too bad. I can definitely live with that.









