I've got a lot of friends who would like me to change my position, and for good reason, but I am neither an "AI hater" nor an "AI lover".
There is a lot to dislike about these LLM tools:
Resource usage and environmental impact
Employment destruction
IP theft
Slop
Lobbying
There are likely things I have missed off that list that definitely should be on there.
AI-maximilists don't all fall into the camp of "so what" with these things, but they are willing to overlook them because the ends jutifies the means or some other reason.
I got interested in AI when it meant something a bit different, though the hardcore (to me at least) math involved meant unless there was a comfy and well documented SDK or API I had to observe from the sidelines. That usually meant using Python.
This is why I often put "AI" to reference things like ChatGPT. It's nerd pedantry but being both a technology and word nerd these things matter to me more than they should.
So when I say I love the things that machine learning can do (and I still see it close to magic when it works well), that is something very different to generative AI and people on Twitter declothing celebrities or giving their puppet political influencer bots three boobs for some reason.
A place where I am increasingly finding LLMs actually handy on a regular basis is in programming, but not "vibe coding" as people are being trained (or coerced by employers) to adopt. I don't only code for the outcome any more than I paint because I want a picture in my hands, I enjoy the process.
I'm a paid user of Cursor, and as an IDE it is Visual Studio code with some differences. All decent stuff and familiar and useful enough that I didn't skip a beat by switching to it. I'm not an evangelist, by any means. In the most part I don't slurp the full glass of oddly-flavoured juice, but I have taken a fair sip.
For me it is an excellent "code completion" tool. Think of it like when you are typing a text message and your phone guesses the next word. A lot of the time Cursor guesses correctly, and that is handy. I can also tell it to do grunt tasks such as replace all occurances of _something_ with _something-else_ else in ways that regular search and replace can't quite do.
What I have found spectacularly helpful, however, is something I find so difficult and tediuous, up until recently I didn't even consider it for my own projects. Automated integration tests and Github workflows.
On my CBM-BASIC project I knew I would need increasingly more complex and granular tests because it is a programming language interpreter.
As well as writing code for the thing, I was also writing code that ran in the thing. If I had a bug, was it in my interpreter or was it in the code the interpreter was executing? You can see how that might get worryingly brain-achey.
Cursor is helping me make everything continually tested and has automated compilation and builds for Windows, Mac, and Linux. It creates a nightly release and any time I tag a new version, all without me doing a thing:
I hit a problem, though. The nice and friendly IDE can't see interactive or rendered output, and even the built-in browser stuff is limited.
Enter "Cloud Agents".
This is an area I had been avoiding because of so many stories I hear of people setting "agents" loose and coming back to destroyed data and massive credit card charges because these things hoover up your token budget like our cocker spaniel and a plate of bacon.
Cursor's implementation has the ability to offer a kind of browser UI over a VM workspace, with terminal, git, and visual views. You can even take over the graphical interface and click and drag and stuff just like you are using VNC or Remote Desktop.
As someone who likes to create gui apps and bitmap-driven stuff like games, it is, pardon me, a game changer.
So, yeah, I can hardly say I am "against AI", even though I do not like the ecological, economic, political, and otherwise damage these companies are clearly causing.
I hope for a future where people still have jobs, we can buy ram for our computers, etc and we get useful tools.