Do you find joy in using LLMs to write software? I tried using Claude/Cursor/CodeX/etc. for personal projects and experimentation, and I found no joy in it. I learned nothing, and when my MVPs were complete, I only had a shallow understanding of how the code that powered them worked.
I do, but I also use LLMs in a manner that seems drastically different, from most folks here.
I use the standard $20/ChatGPT Pro sub, and run Thinking 5.5 as a chat interface.
I use it like a "trusted personal advisor," as opposed to a "black box employee."
I'm intimately involved in almost every step of the development process. Most of what I ask from the LLM, is function-length snippets.
It's made a huge difference in the velocity and scope of my work.
I have learned that I need to be very careful, though. The LLM sometimes really borks things, and I have to rip out the garbage, and rewrite the code, myself. I can't even imagine the quality of "vibe-coded" software.
Interesting, why do you think it's an attack? I was skeptical, and I felt there is a common theme. if I'm wrong, I sincerely apologize, but I can't brush off the feeling.
But hey, maybe I'm really over-thinking, so I'll go off.
I'm not advertising jack. Everyone else mentions the LLM they use, along with all kinds of details, like token costs, etc. I mention it to frame the context. I don't think that using ChatGPT impresses anyone, around here.
It is not a common theme. However, when I do post something like this, I find a lot of kindred spirits, so I guess we are the "quiet ones."
Most people -the vast majority- use agents and IDE integrations; sometimes, in amazing ways. It's a very different way of using LLMs from the way that I do. Maybe the way I use it is considered "quaint," and people don't want to admit it, because they are afraid folks will make fun of them. I don't really give a rat's buttocks. I'm retired, and long past the need to feed my insecurity by accepting the judgment of others.
I am big on checking out people's profiles, when I am interacting with them. Sometimes, it makes a big difference in the way that I approach them. That's why my own profile is packed full of information. I'm not showing off -many folks here, are a lot more impressive than I am- I just want people to know who I am.
But that doesn't prevent the usual Internet Ready, Fire, Aim approach.
And one habit that I deliberately foster, is not engaging folks that want to attack me, beyond one or two mild responses. Once I say "Have a Great Day!", we're done. You can add whatever last word gives you good feelz. I won't respond.
I also don't attack. I respect this community, and engaging in troll-battles, just makes it ugly. And I could be really good at trolling; I just feel as if you can't shovel shit, without getting it on you.
We're good, here. I checked out your profile (and GH profile).
We probably have a lot more in common, than differences. I'm always glad to find people to interact with.
I know that my HN persona is a bit "stuffy," because I'm going out of my way, not to be abrasive, and to contribute to the community, but there are folks that absolutely hate me -in a Commissioner Dreyfus kind of way-, and I'm not really sure why. Maybe it's the Apple thing.
Eh, whatevs. I'm "on the spectrum," and got used to people disliking me for no reason that they can even articulate. It used to really bother me, but these days, it's just background noise. I'm actually a fairly decent chap, and probably worth getting to know.
Glad to hear! And I understand, yeah there are weird people who just want to make things difficult for everyone else.
And, I really believe you are, and glad for having this conversation, This is something, I believe we all fell in love with the internet heh. As I'm going through a bad patch of life, this made me smile. Thank you.
ChrisMarshallNY has consistently posted like this about their work/hobby post-retirement for some time, and often with a bent on 'I do things my own way'. Didn't seem like advertising to me. Including a version number is hardly unnatural extreme effort in a comment, surely?
I like building stuff. I don't care about the code. I convinced myself over 20 years that I liked coding to get myself through the drudgery of corporate work but the reality is the building was the important thing to me. I'm able to build things quickly with AI.
A carpenter can build a house with commercially produced dimensional lumber without having to harvest the trees, cut them into boards of standard dimensions, kiln-dry it, and transport it to the building site. We still say he "built" the house.
At some point, though, it's fair to ask "what did I add?"
If you are directing other people (or maybe robots, someday) to do the actual building, you can't really claim to have "built a house" even though it all happened under your direction.
I guess bottom line for me to feel I had a real part in "building" a thing would be whether I added anything I am specifically qualified or skilled at doing, or did I do what anyone could have done?
I plant a seed, a human being carries it to fruition for 9 months through her determination, love and literal life blood, and I can claim I brought the seed to life.
He plants an idea and patiently coaxes a machine to spit out the code that matches it, you're giving the machine the credit.
If he was constraining the AI's output, his input was meaningful.
Did you ever bring anything to life? Whatever it is, you are also relying on the work others have done before you and standing on the shoulders of giants.
I guess some people only enjoy the destination and don't care how they got there. These people seem to enjoy AI more than the people who want to enjoy the journey along the way.
What? For the record, I am not saying that you shouldn't ever use AI. Plenty of good programmers use it as a tool to boost their productivity or to validate things.
But if you are using AI to write all your code, I think you are missing a lot. It is like when you use LLMs to write your whole paper for you, rather than to check your grammar or offer critique of something you actually wrote.
I'm curious of the places you've found joy while writing software traditionally. For me, it has been in reasoning about the system, debugging issues, and discovering what works. The iterative process of eventually coming to a more complete understanding, as you stand on and build off of your prior understanding.
All of those elements are present for me while using AI to augment my output. I have started using voice to interact with my coding harness though and I think that has maybe influenced my opinion. I also don't let things go fully autonomously and look at the diffs along the way.
Depends on how you use them. I'm a detail-obsessed perfectionist. I believe these qualities are what have enabled me to produce better software than most people. I use LLMs the way I can without violating these principles.
LLMs have gotten so good at coding I often find it exhilarating. I'm mostly doing experiments in accelerating machine learning in hardware. I can do way more experiments now. As an example: Just this afternoon working with claude to experiment with using a GA to learn a non-uniform 1D CA rules to calculate the popcount function where the GA is running in an FPGA to speed it up. It's non-uniform in that each cell gets it's own 8-bit rule.
I asked the LLM to explain, rephrase, or rewrite things until I was happy. Some examples :
I asked for examples of how the algorithm worked. I asked for examples of how to call the code. I asked for a happy-path unit test and a simple error-handling unit test. I asked it to rewrite something as a pure function. I pointed out an obvious race condition and told it to guard against that issue. I asked it to rewrite a function in the style of this other function. I told it to separate one function into two separate functions that handle the first step and the second step separately.
Etc etc.
If you don't understand it, ask for more or better comments, or better variable names, or cut down the scope into a smaller section, or more examples.
Edit: also I almost entirely leave the LLM in read only mode... I tell it to make the smallest change possible, and tell it I will only copy paste it in its proposed change when I understand the change and where it needs to be made. That way it's my hands on the keyboard, interacting with the code by making recommended changes... 80% of the code is touched by me (via copy-paste) most-of-the-way before I will 'git commit'.
Sure, there was one recursive folder descent function that found the most recent file modification time that I didn't fully understand, but it's self-contained in a function, I don't care to learn every corner of file modification times, and it appears to work, so I left it as is for my static site generator.