> If cats are autistic, “what cat window box would Temple Grandin design?”
There's a book called All Cats Are On The Autism Spectrum, and I was reminded of it while reading this post. (I found myself relating to the description of cat psychology.)
Several of my friends who don't know any programming are creating video games and music software with AI agents.
Much of what they are doing is incomprehensible to me. I often find that being a programmer is actually holding me back in this regard, because I feel the need to understand everything the code is doing, as well as the specialized knowledge (e.g. the math involved in audio processing and sound effects). Whereas my friends can just say... yeah add a phaser effect to the synth and it just does it.
Have they shipped anything that people are using? The concerns are different and creating something usable by people is why software engineering exists.
I think that’s where software engineering is not quite getting what’s happening right now. People keep asking where are the apps?where all this great code? And the answer is becoming that people aren’t building apps to sell to other people. They’re building the apps that they themselves want to use. I’ve made dozens of apps that I have no interest in distributing or using outside of friends and family. The AI coding revolution is already here and it’s not in production software so much as it is in bespoke small group applications.
Only technically-minded people will do that. Most people won’t (almost no one in my extended family I can think of would), but those still need software.
The only way this will go pervasively mainstream is if AI gets so good that it can autonomously recognize what tools a user would find useful, and would create it for them without specific prompting. That will pretty much be AGI.
I'm an early-mid career SDET/SRE. Currently building a full web app with rest AP integrations, looks great and works great. Lots of functionality, useful and being hardened all b/c of AI. It's going to be live with customers soon I hope.
AI is not a feature of the product. GTM will be interesting, have some good ideas.
It's really up to you to be clever. I've never used Js/Ts/node/these apis etc. I started programming as a non-cs engineer to automate stuff and then got into SWE. This is truly an amazing time.
> Several of my friends who don't know any programming are creating video games and music software with AI agents.
I've seen a few live streams vibecoding video games on Twitch, and it was so hilariously bad and cringe-inducing I am back working on (hobby) game dev, my hopes restored, at least for the immediate future.
I also like how that entire field, gamers and devs, compared to regular software engineering, is so set against AI it can provide some pushback to the starry-eyed comments you read on here all the time. The only people using LLMs in gamedev are grifters and the dreaded idea people with not a single bone of talent or love for the craft in their body.
It's the same way with writing as with video. There are some videos now where it's actually hard to tell. You can only tell it's AI when it's bad. When it's done well, you don't even know it's AI.
So it creates this selection effect where people only associate AI with fake and bad. The good stuff, they don't associate with AI at all.
But there is also the case where you see polished apps but are ai generated.
It's like those ai websites they look "sleek" but all look the same, versus a crappy same that it doesn't look as pretty but looks very human. I don't know quite how to put it
You have to realise every single UI up to that point was solid white or grey and unable to access alpha channels. And the fact that they expanded upon this design “language” with the transparent Imac cases made it all cohesive and 2YK hip.
It looks both more convenient and slightly more secure than my solution, which is that I just give them a separate user.
Agents can nuke the "agent" homedir but cannot read or write mine.
I did put my own user in the agent group, so that I can read and write the agent homedir.
It's a little fiddly though (sometimes the wrong permissions get set, so I have a script that fixes it), and keeping track of which user a terminal is running as is a bit annoying and error prone.
---
But the best solution I found is "just give it a laptop." Completely forget OS and software solutions, and just get a separate machine!
That's more convenient than switching users, and also "physically on another machine" is hard to beat in terms of security :)
It's analogous to the mac mini thing, except that old ThinkPads are pretty cheap. (I got this one for $50!)
Where this falls down is that for the agents to interact with anything external, you have to give them keys. Without a proxy handling real keys between your agent and external services, those keys are at risk of compromise.
Also. Agents are very good at hacking “security penetration testing”, so “separate user” would not give me enough confidence against malicious context.
So don't let them interact with anything external. You can push and pull to their git project folders over the local filesystem or network, they don't even need access to a remote.
Obviously if you're running Claude Code you need a token for that and an internet connection, that's kind of a given. What I'm talking about is permission (OS level, not a leaky sandbox) to access the user's files, environment variables, project credentials for git remotes, signing keys, etc etc.
The user thing is what I currently do too. I've thought about containers but then it's confusing for everyone when I ask it to create and use containers itself.
This worked, (took 6 weeks I believe), but then I had to travel to another country (which had an Estonian embassy) to collect it.
Then I would have had to travel to Estonia itself to register the actual business and bank account (something like that -- it was a while ago).
(There are "done for you" business services, but from what I recall they were quite expensive, and I think would have still required the travel.)
It was theoretically doable, but due to life circumstances I wasn't able to travel at the time, so it didn't work out.
Meanwhile a few days ago, finally worked up the courage, and registered a business in the UK via a formation agent.
It took 25 minutes and $150. (Business was registered within 2 business days.) From the comfort of sitting on mine own ass, on the other side of the sea. So... yeah xD I like this way a bit better so far.
I can't speak to how things were in 2023 but today you do not need to visit Estonia.
Registering a company in the U.K. is very easy but the tax treatment is less favourable compared to Estonia. The U.K. leaving the European Union is also disadvantageous (although the full consequence of that is yet to be seen). All company filings in the U.K. are public, much more information about your company is public compared to Estonia.
Creating a company is the easy part in the UK. Need to do HMRC and house of company reports. And now his Majesty revenue and custom requires purchasing "approved" tax software and submit expenses adhering to new regulations. And to verify your identity
and if you like access the online service you've got to wait 2 to 3 weeks for them to send a code in a physical post letter (no other way). And part of those services are mysteriously unaccessible from an IP outside the UK.
And it costs double to dissolve the entity than it did to create it. VAT is 20%, put someone on Payee: employee pays 20% to 45% (over 50k per year starts to fall into the high tax rate) + 9% insurance and as a company you also pay roughly 30% on top for taxes and insurance. Of course there is corporate tax on any profit. If with all of those taxes you somehow manage to be profitable.
I realized I had been putting it off for years due to hating paperwork, then realized the whole point of a business is that you can pay people to do stuff you don't like. So for me, the first order of business was to outsource the formation itself :)
I get it for things that are a hassle. But the process to register a business in the UK is really straightforward. I haven't used the process for many years now, but the last time I did I was impressed at how they'd made it as simple as possible whilst collecting all the necessary information.
I can't imagine how a formation agent would make the process any simpler or easier for you.
Reposting a comment (and one of the replies) since it's relevant:
---
It occurred to me on my walk today that a program is not the only output of programming.
The other, arguably far more important output, is the programmer.
The mental model that you, the programmer, build by writing the program.
And -- here's the million dollar question -- can we get away with removing our hands from the equation? You may know that knowledge lives deeper than "thought-level" -- much of it lives in muscle memory. You can't glance at a paragraph of a textbook, say "yeah that makes sense" and expect to do well on the exam. You need to be able to produce it.
(Many of you will remember the experience of having forgotten a phone number, i.e. not being able to speak or write it, but finding that you are able to punch it into the dialpad, because the muscle memory was still there!)
The recent trend is to increase the output called programs, but decrease the output called programmers. That doesn't exactly bode well.
See also: Preventing the Collapse of Civilization / Jonathan Blow (Thekla, Inc)
The open question is to what degree the actual typing is necessary. I see it as proof that the mental model is sound.
The thinking produces the mental model, the mental model produces the program. In the absence of that final step, what validates the model? (Complaints from users and colleagues? ;)
Another great thread to pull on: the overlap between "moving up levels of abstraction", i.e. AI assisted programming merely continues and accelerates a trend that has been there for the entire history of programming.
I haven't thought about it this way but I have been feeling that something is off. I think you got it right. There is a HUGE difference between "I understand the concept" and "I can write down the concept on paper".
Everyone fools themselves into thinking that they understand but the illusion immediately falls apart when they try to write it down. The problem with LLM is that it is actually able to produce something that "works". But more often that not, what it produces is usually beyond what the author actually understand.
Arguably, one could ask "Why does it matter?" If there are enough tests and monitoring to capture the behavior of the program, who cares how it is implemented? To me this is extremely disappointing. I have always wanted to write software that lasts for a century but if software becomes a commodity, I see software quality mattering less and less.
If something is broken, just ask the LLM to patch it. Unlike a human, there is no limit to this. The LLM will happily fix that 50 years old Fortran code that no one understand. There is a lot less pressure to rethink at the fundamental principles.
Not illegal, but much harder to find than the sliced, cured belly meat (often from the side of the belly) usually meant when we just say “bacon” without qualification. One can get Canadian bacon, cured side bacon, cured back bacon, uncured pork belly, uncured side meat, uncured back meat, turkey bacon, beef bacon, and several other things in bacon-like categories. If you just say “bacon”, though, you’re probably going to get pork belly meat cured with salt and/or some form of sugar, and possibly smoked.
There's a book called All Cats Are On The Autism Spectrum, and I was reminded of it while reading this post. (I found myself relating to the description of cat psychology.)
reply