My thoughts on AI-assisted programming.
“AI-assisted programming?
No, I have a rat under my hat”
These days, the discourse around AI-assisted programming, vibe coding and LLMs is getting a little overwhelming and sometimes we subject ourselves to it, whether we like it or not.
The irony is, “not talking about AI” is still “talking about AI”, so we might as well talk about it.
Wait, what? I can “not talk about AI” a lot. I mean, I don’t do vibe coding. But I see more vibe-coded projects coming out and I sometimes see cool stuff. People seem to use Claude these days, probably because-
You’re talking about AI now!
You got me! Well, with this blog post you become a part of this whole AI about exposure anyway.
Probably. But recently I realized that I might have some opinions to share while chatting with my friends on this podcast. Also, I should mention, these thoughts probably have a 6 month expiration date as things change quickly!
Accept the change 💊
It can still be fun! Just because the tools have changed and you can now one-shot a SaaS project that would take 3 months to build in 2018, doesn’t mean the joy of creating something is gone. It’s just that the process might be different, but you is still
I’m in the basket of developers who think that AI has forced us to change and adapt, in the sense of using AI-assisted programming tools. For a while I already used GitHub Copilot for better completions and code generation, but I first experimented with proper AI-assisted development with Codexduring this live series. Long story short, I was working on a terminal user interface for mails tree command (load-boom-tui), which required me to design a tree data model and a compatible rendering layer with cache, without sacrificing performance.
At first I gave Codex full power. Then I felt lost, confused and illiterate. I quickly realized this was a mistake, so I switched to a “commit-by-commit quality-checked AI-assisted” approach, where I solve a certain problem with AI, then read everything down to the last semicolon and verify that I fully understand it. It made everything a lot better and I felt less stupid, but after a while I got bored. I was no longer writing code, but was constantly doing code reviews.
Ok I feel depressed listening to it. Maybe it would take the same or less time and it would be more fun if you just didn’t use AI and wrote everything yourself?
Yes, but I’m lazy. Even if I do, I’ll probably use Codex for the other boring tasks…
I think the key is to find a
⚠️ I think it’s important to experiment and find what works for you, and not feel guilty about it. I skipped doing some live streams because of this exact reason (since the process will probably involve AI and I don’t want to stream an incentive session), but I think it was a mistake. From now on I want to be more open about my use of AI and not treat it like a bad habit.
As a bonus, see this interview in which I further talked about how I use AI and other related things.
quality problem 💯
I post about the cool stuff i found every day on my social media. This process involves following certain sources and actively maintaining a list of materials. What I realized recently is that I can’t keep up with the new tools anymore and my list is getting bigger and bigger every day. My guess is that this is due to the influx of vibe-coded apps, as it now generally takes less time and effort to build things.
So you are saying that the quality of the projects is decreasing?
Not necessarily, but I think there is a risk of that. It is also related to the rm -rf and wipe my system.
Can we blame the developers for that?
It’s an ethical thing that I don’t know the answer to. In my case, it was the guy’s first ever open source project and he understandably went for the fastest way to create an app. While I appreciate their contribution to open source, they should be responsible for the quality of what they put out there.
I think it applies to everyone though. These days, many people push AI-assisted code, some of them in a responsible way, some of them not. So… what do we do?
Like I said, I don’t know. The only thing I can do is to be responsible myself and advise others to be responsible too.
License question ⚖️
Of course, there are also licensing issues. Can we use AI-generated code in an X-licensed project? What will be the license of the generated code? How ethical is it to use AI-generated code in the open source context?
I recently saw someone call the LLM industry toxic to the FOSS movement.
Well, I don’t know about that. In my internet experience, licensing disputes mostly go nowhere and I don’t think this will be an exception. However, I would still be interested in hearing different opinions on this topic, so I’m putting it out there.
Look, I’m not a lawyer either. I’m just a rat.
Rounding off 📝
I assumed “grind” a while ago as my motto and beginning a community around it last year. I think that applies to this situation as well.
We must hold
Be responsible. Do not drink and drive / do not code and commit.
🧀
