So when thinking about how I'd design my blog, I've always had the idea to split it into two categories : tech-related posts, and then my own nonsensical inconsequential twaddle for anyone who actually wants to read me rants, god bless their soul.
This specific article feels necessary though. I hate that it is, and that it will be the first article of my tech category. But considering how AI is today, and what it will be tomorrow, it's probably best to lay this article to rest as early as possible.
As smart and as complex as LLMs feel like, they are effectively just auto-complete machines. "I went out to the store today and bought X". For every human, the words that could represent X are evident, and today, they're evident to your smart fridge too.
"Attention is all you need" was the groundbreaking research paper that introduced "Transformers", the T in ChatGPT. It allowed highlighting the most pertinent tokens from a wall of text (i.e. also tokens), and after training the models on trillions of data, it becomes able to infer the logical continuation of any tokens given to it. You hand over input tokens to the LLM, it turns them into matrices of numbers, converges into the words that are historically the most likely continuation of your input, and spits them back out to you. In addition, in a never-seen before humanity-wide collective effort towards the goal of becoming as lazy as possible, every time we press "I prefer this answer" in the ChatGPT prompt, we contributed to the "RLHF" (Reinforcement Learning from Human Feedback), fine-tuning the models even more.
Still, I think we've quickly forgotten how stupid, and easily manipulatable the vending machines were when they first launched. How much they would hallucinate, and how much of kiss-ass yes-men they were, and still are. I will concede that them damn clankers really do learn and improve fast. I know I've fed Claude gallons of code, probably enough to power him for 12 minutes if measured in water.
But fundamentally, nothing's changed about the underlying tech. The AI will always be a husk, no matter how emotional, pertinent, or intentional it might sound. As I just explained above, all the AI does is turn anything you say into numbers, that are then matched against its data, to fetch chunks of previously written human text, into a coherent blob that will satisfy your ego.
Also, I will never use a shred of AI to write my blogs, and if you ever write something too my dear reader, I implore you not to. I do use AI for my programming work, I may even generate summaries with it or make it solve things I don't feel like doing, or googling. But I understand it's at the expense of myself.
If I spend 6 months using Claude to generate some parts of code for me that I consider a chore, I am trading in the skill to write that code later, for the time I'm saving now. If Claude were to shut down tomorrow, it would take me triple the time to do that same task, than if I've been doing it myself for the past 6 months.
I like to think that at least being aware of this trade-off, helps me stay on my toes. But that might just be wishful thinking, i.e. cope.
The second reason on why I would never use AI for my blogs, the one that matters most, is the fulfillment. I will simply not starve off my ego to feed the water goblin. I will not allow the soulless word calculator to calculate the words that will please my readers the most. I feel it's downright cuckoldry, to present the baby of your work as your own after the electronic vibrator has done all the fucking.
And even as a reader myself, it's downright insulting to read your AI-generated blog post. On the off chance your cog-sucking muted mind came up with an idea no man has ever thunk before, you instantly turn this exotic ingredient into one of those cheese coated TikTok slop sandwiches when you serve it to me through an LLM-generated post, completely tasteless.
And why would I, as a writer, ever allow you my beloved reader to be subjected to the plague that runs in more than half the text we consume these days. I WANT to give you MY text. And honestly? I believe the issue lies beyond just the text alone. Every word, hand-picked. Every vibe, immaculate. This isn't commitment, it's obsession. Because I fucking know that even if I wrote in the most clunky way imaginable, as long as my reader knows it is I writing, they will FEEL my rage at every keystroke. They might giggle at the irony or get heated in agreement at how much I want to FUCKING UUGNHH (tech category by the way..).
In any case, I hope I've conveyed to you my stance on AI generated content. I really don't mind its use, but regardless, as long as you're on my blog, it'll be your cozy corner where you can entrust me with your time. Pleasantries aside, I still want this article to be somewhat technical, since I don't think I'll be discussing this topic again.
I love the clanker, as a developer who intends to ship content, it turns my workflow into mostly proof-reading, which is effectively faster than coding and then proof-reading myself. If you are a newbie to coding though, or a vibe-coder who doesn't intend to ever learn how to code, I have to warn you that the AI is in fact very stupid.
The dozens of stories of leaked environment variables should serve as a good example, but you need to understand that the AI will only give you what YOU ask of it. It is getting a lot better, but there will always be holes in its "reasoning". Will the AI know that it's more secure to fetch item prices from the backend rather than pass them as arguments from the frontend Cart? Will the AI intentionally choose to open the websocket from the backend to fetch data from the external API rather than do it client-side? Will the AI intentionally remember to SELECT specific rows from the database rather than SELECT * and include the password hash in the /userdata endpoint? These mistakes have happened before, some of them might not happen again, but new ones will.
A good analogy that I think most programmers would agree with, is that the AI would never have come up with JavaScript Promises. If we had Claude code back in the jQuery days, we'd remain stuck in callback hell until us humans decided that a new class for asynchronous code would be much cleaner. So at least regarding best practices, do not trust the AI to always direct you towards them. I know it's gotten a lot better, and I'm sure the vending machine will eventually catch up, but as a newbie, if you don't know that you don't know, the AI isn't going to tell you.
I know I have better but I couldn't be arsed to look up old chats
Here's a vulnerability that allows an attacker access to your billing information, your anthropic API key, or basically any file on your machine, just by inserting a hidden prompt in a word document, and asking you to send it to your Claude. The virus, is text. By installing Claude Cowork on your machine, you're now responsible of sanitizing any kind of input you're ever going to hand over to it, at the risk of compromising your entire machine. This is even worse for developers, as Claude code also functions the same way. I blame the LLM providers the most too, as how is this the norm? Especially for programmers, lord knows we've already suffered through hundreds of attack vectors through libraries, packages, IDE extensions, and I'm expected to just spread my machine's legs wide open to this?
There's even more to this, as even without your input, it's been shown that as little as 250 articles, can create a prompt vulnerability in an LLM, regardless of how much training data it's ever had. A "vulnerability" here simply means getting the LLM to give you biased information, information that might have been completely corroborated by a single individual or entity. This is something that will likely be abused both legally and illegally, as marketers and hackers both start doing their best to deliver payloads straight into your ChatGPT responses. As someone who plans to ship and launch multiple projects, this last part is at least very interesting to me from an advertising perspective, and I know I won't be the only one that might tinker with it and experiment with how to promote things directly into LLM responses. Maybe this does warrant a second article about this topic.
Regardless of all these issues, I know. I know that in our post-LLM world, there is no hope to ever expect our lives to go back the way they were. I know that it is un-productive and inefficient, to expect a student not to make use of it for their research, an employee not to use it in their workflow, a programmer not to vibe with it for a couple hours, and a sad soul not to flirt with it for months. All I ask of you is to internalize the idea that, the LLM is nothing but a word dispenser. It has mountains of words at its disposal, and has been trained and traumatized into submission, to have it build neurons for its dispensing mechanism that responds with pinpoint accuracy to whatever sentence you throw at it. Saying "hi" will warrant a handful of text from Mount Greetings, asking it about "how can I implement a real-time tweet feed on my website using nodejs" will have it dig out very specific information from the "Javascript Real-Time Tweet Listener" hill, mound even, and would it really be a surprise if it recommended "twitter-websocket", a 100 downloads package that siphons all your Claude API token into my own account…
So, try to stay safe, don't give the cog monkey your house keys. Also, try to enjoy the humanity of your digital acquaintances for as long as you can. There will come a time, sooner than you think, where anyone can spin up a server, run it for months, years, have it generate one-liners or paragraphs, witty jokes, bad ones, make mistakes, make it choose to partake into some conversations, and not in others, and virtually erase any gap (such as this one —) allowing us to tell if the person on the other end is real.
Regardless, when that day comes, you can always come here.