When I was 9, long ago in the dial-up age, I dialed into a long distance number within our area code and we got a $100 charge for my using Active Worlds.
My internet provider in the early 90s maintained a Unix system with pine and lynx; it only allowed access to WWW a few months after we subscribed to their dial-up. I didn't know what to do with that remote system, but I knew `cd` and `ls`, so I looked around. Somewhere on the filesystem, I found a Hexen (IIRC) demo, and decided to download it via Kermit (the only tool/protocol I knew how to use). It took almost a day to finish, but in the end it ran - I was overjoyed. I somehow even found a cheat code for all weapons, and spent a few weeks playing the first 2 levels, while occasionally poking around in the remote system. Then the phone bill came - for 7x more than normal, on top of the ISP subscription - and I lost access to both the Internet and the computer for more than a month. Needless to say, I learned to watch that connection timer like a hawk, and it served me well for the next 10 years before broadband connection was available.
Implementation became cheaper but it’s still not cheap. I’m working on an implementation for a runtime that’s been going on for 4 months of 24/7 constant Sol and now Astra work. When things go wrong it costs my time, which is my most valuable commodity. A week spent going in the wrong direction is still a week. If I can avoid that by planning better I will.
This one shot thing I just don’t understand. The way I’m using it, it takes weeks of constant prompts because it never does exactly what I ask no matter how well I specify. I just don’t see how it’s possible to one shot anything unless you don’t have strong requirements on the output.
I had pretty good success with a language learning app. Initial prompt below, about an hour to get it working very close to how I imagined, then extended to Japanese, French, and audio generation.
======================================
Hi! I'd like to create an app for interactively learning Chinese using AI. My current idea is:
- The AI generates a Chinese sentence at a specified vocabulary level (e.g. HSK2)
- The user translates the sentence into English, and the AI evaluates the response. If the answer is wrong or is partially correct but could be improved, the AI offers a hint. If correct, the AI confirms and explains any particularly important vocabulary or grammar points that the sentence demonstrates.
- The user should be able to click on an individual character once to see the pinyin, and again to see its definition and any helpful techniques to remember it (radicals, similarity to other characters, visual meaning)
- The app should also be able to go the other way, giving the user an English sentence and having them translate to Chinese.
App details:
- UI is a web app
- The AI should be pluggable. We'll start with a local Ollama install running gemma4, but it should be easily possible to add support for Claude/OpenAI/Gemini or other models (may need to provide an API key).
- Not actually sure if we need a backend. It might be useful to keep track of characters or concepts that the user has difficulty with, or to keep track of what sentences the AI has previously generated so it doesn't become repetitive.
- Build everything in a Docker container (or multiple if needed with docker compose)
I can see this being a one-shot thing because the brief is pretty light; beyond broad strokes, you haven't specified much for it to actually do. Any UI that's also a webapp would satisfy this brief, but that's exactly what I mean; e.g. if you want a specific UI, there's a lot more back-and-forth that's involved. It'll one shot a UI, but it's very rarely the UI you want down to all the interactions and placement of buttons.
Yeah, that's fair. I didn't have an exact UI planned so I gave it flexibility, and it made reasonable choices that only needed a bit of tweaking to be quite usable.
This kind of shaming is getting tired. At the end of the day, the people claiming their code quality is better without ai, while everyone else has low standards, aren’t providing any evidence of their supposed superiority.
I think the burden of proof is on the new technology. It's been almost a year since the supposed death of manual coding, depending on how you count, but I haven't seen the efficiency benefits of AI trickle down to the programs I'm an end-user of. I _have_ seen the bugs, however (rsync 3.4.3 for example.)
Depends what you mean by end-user. Power users of AI aren't using these things to build applications for users, they're using them to do all the things they couldn't do as mere mortal programmers. Like the other poster detailing how they got a game running in web assembly. That's not for end-users, and even if it was they wouldn't be able to look at that and say "Wow, this is an example of AI benefitting me as an end-user" they'd just say "Wow cool, a game".
Yes you can ask the agent anything about it and interrogate it until you understand.
- is it maintainable
Yes it’s easy to ask the ai to add new features or to refactor it entirely.
- how much work is adding new features
Depends, it could just be one prompt, it’s usually many prompts. If the refactor is large it can take weeks. But before AI something g equivalent would take months.
- is it written in a way that adding new features means rewriting a lot of it
Usually no, but that depends on how well the agent is being directed and what the features are. If you come up with a feature that requires a new architecture, ai makes it doable rather than saying “would be nice but we’d also have to implement this whole new architecture and that’s a lot of work”
- is it written in a consistent style
Styles can be applied mechanically with linters and formatters, so as much as any codebase written by multiple people.
I've seen AI be wrong about things often enough to know that none of what you said is particularly true. Rather, most of it holds true most of the time. But not enough.
> Styles can be applied mechanically with linters and formatters, so as much as any codebase written by multiple people.
I'm talking more of a higher level than this - more of coding/design patterns that are common for the team.
> Rather, most of it holds true most of the time. But not enough.
I see it be wrong about things all day every day. And yet, IME it's correct enough for it to be controllable. It doesn't have to hold up all of the time, it just has to respond to corrections when they're issued in a loop so that it converges to a correct solution. And it does, despite the mistakes.
In one of my other posts in this thread I detail some of the the ways it's confounded me, but those issues have caused me to harden validation mechanisms rather than say "this thing makes mistakes so I can't use it to write software".
> I'm talking more of a higher level than this - more of coding/design patterns that are common for the team.
What people don't understand that programming is very much an art. You iteratively work on it ripping parts out, rewriting and rewriting and rewriting, while also rewriting and then rewriting every time a new feature, bug fix or scaling changes are needed.
The AI machine can write better code. It can also write an interpreter which implements function calls by instantiating a new interpreter + entire standard library per function call. Or it will build a 300kloc cathedral of scaffolding and maintain that forever, never writing actual code. Or it will create a CI system that takes 2 hours to run and constantly fails, and the agent loops there all day, fixing a small bug and waiting 2 hours. (All things I’ve experienced latest frontier models do)
Agentic engineering faces all kinds of new problems that couldn’t exist before, and need experienced engineers to solve them.
No matter how much code it has “seen” during training, it still makes mistakes during inference. Therefore AI is most well-suited to write in languages with feedback loops that catch mistakes earlier.
Moreover, no matter how good it is at writing Python, Python is not a language you want to use everywhere. “The right tool for the job” still applies in the age of ai.
Suddenly, I don't feel so bad about that anymore.
reply