I think at the current state of the art, LLM tools can help you build things very quickly, but they can't help you build something you yourself are incapable of building, at least not in a sustained way. They need hand holding and correction constantly.
I don't think that's true, I've seen examples to the contrary. Here for example a recent article [1] from a non programmer building a tool. The article is long so I pasted the relevant part below. My thoughts go more in the direction, the article author built something that is complicated for non technical people, but in essence simple -- he says it so himself "copy paste". What if what the OP here is building is something novel and Claude doesn't know how to build it?
Relevant excerpt:
I spent a bit of time last month building a site to solve a problem I’ve always found super-annoying about the legislative process. It’s hard to read Federal bills because they don’t map to the underlying code. Anyone who has worked in Congress knows what I mean, you get a bill that says “change this word from ‘may’ to ‘shall’ in section XYZ of Federal law.” To understand what it does, and find possible loopholes they are trying to sneak in, you have to go to that underlying Federal law and look at where it says “may” and then put “shall” in there and read it. It’s basically like a manual version of copy and pasting, except much more complicated and with lawyers trying to trick you.
So I wrote an app that lets you upload legislation, and it automatically shows you how it changes Federal law. There are commercial versions of this software, and some states do it for their proposed legislation. But I haven’t seen anything on the Federal level that is free, so I built it. (The code is here.) It’s not very good. It’ll probably break a lot. There’s no “throat to choke” if you use it and it’s wrong. And my guess is that Anthropic or Gemini ultimately will be able to do this function itself eventually. But the point is that if I can build something like this in my spare time and deploy it without any training at all, then it’s just not that hard for an organization with some capital to get rid of some of its business software tools.
I mean you can just do this with claude code or opencode. I suggest opencode and gemini pro since it has a nice big context window. If you are trying to do something like this on the website version of the models just forget it, stop using those, they are like toys compared to the CLI tools.
Step 1: have it sum up every issue and pr in like 100 words. You can have it do it using subagents working on subsets of the tickets so it doesn't take forever.
Step 1a: concatenate all the summary files to one big file.
Step 2: have it check pairs that seem duplicate from the summary. You may have to force it to read the entire file, for whatever reason models are trained to try to avoid just reading stuff into their context and will try grep and writing scripts and whatever else.
Step 3: repeat the above until it stops finding dupes.
I think this will probably take about 4 hours? 2 hours to get the process working and 2 hours of looping it.
If you don't think the above will work well please just move along, don't bother arguing with me because I've done tasks like this over and over and it works great.
Ways to get better results in general:
- Start by having it write a script to dump all the relevant information you will need up front. It's much faster at reading files than trying to do mcp calls. It's also less likely to pretend to read files and just assume it didn't find anything. (happens more than you think)
- Break the problem down into clear steps for the model, don't just give it a vague project. Just paste the steps above and it should work fine.
- Check what it is doing. Don't assume that because it says it read a file it actually read it, it will very often read the first 1000 bytes, then not read any of the rest of it, then just assume it read everything. In fact ChatGPT will complain that the input is truncated when it is the one that chose to only read the first part.
I asked Copilot (work) to do this with a sheet and the summary it gave each time was so generic I couldn't tell one ticket from another. Feeding it tickets individually was fine, but in a spreadsheet it just seemed to forget.
Would be interested to learn how we can get true foreach loops.
But it's so unreasonably slow. It lacks basic features like syntax highlighting on ``` blocks. It's basically become a super expensive and painful to use while Discord continues to be a joy.
And the 'start a thread' nazis are just too much to bear. Prediction: they will add subthreads within 3 years.
Social issues can't be solved by technical means. Just slightly incentivised in some direction (like discord's "this is the third reply, would you like a thread instead?")
But for the resource usage, ripcord https://cancel.fm/ripcord/ already proved you can have a capable client which is super light and fast if you care. This was made by a single person and in many ways is better than the official client.
This isn't how you use online chat. Somehow people did fine with IRC for decades without threads. I'm sorry you can't manage your own information flow or configure your own client and have to embarrass yourself to make other people to organize it for you.
What else should I do for you? There are hundreds unique snowflakes that think their message is what I should see - I don’t. Stop littering in a public space and behave like a grownup.
I mean the quotes in this article aren't even disagreeing except on vague value judgements with no practical consequences.
Yes you can make better and more perfect solutions with a deep understanding of every consequence of every design decision. Also you can make some real world situation thousands of times better without a deep understanding of things. These two statements don't disagree at all.
The MIPS image rendering example is perfect here. Notice he didn't say "there was some obscure attempt to load images on MIPS and nobody used it because it was so slow so they used the readily available fast one instead". There was some apparently widely used routine to load images that was popular enough it got the attention of one of the few people who deeply understands how the system worked, and they fixed it up.
PHP is an awful trash language and like half the internet was built on it and lots of people had a lot of fun and got a lot more work done because people wrote a lot of websites in PHP. Sure, PHP is still trash, but it's better to have trash than wait around for someone to 'do it right', and maybe nobody ever gets around to it.
It just makes me eat less. I enjoy food every bit as much as I did before, just less often and in lower amounts. I still get hungry eventually and still want to eat and food tastes the same and if anything has a stronger emotional appeal than it did before because I eat so little.
I still enjoy drinking an IPA just as much, and really I enjoy it much more since I have one every few months instead of 5 every night. I could enjoy one every night, but I don't really need to have it, even though it would be delicious and the buzz is enjoyable, I just don't feel compelled to get it and I know it's not good for me. I knew before it wasn't good for me, believe me as the child of an alcoholic I knew it wasn't good to drink every night, but I did anyway because I had something inside pushing me to do it.
So maybe that is what you are describing, that thing that pushes you to do things you know are bad for you, and which you will regret immediately, but yet you feel like you have to do anyway. It's not enjoying something more, it's more like feeding withdrawal.
Overall I feel like there is someone in control now. I can just decide that drinking a beer every night is bad for me and not aligned with my goals and then I don't do it, and when I rarely think about it I'm just not a person who drinks alone anymore and my thoughts quickly move on to figuring out how to make croissant dough or looking for a scene to post to instagram or some work problem that has been bugging me.
Why don't you eat 5 entire pizzas instead of 5 slices? It's like that. One pizza seems like a LOT of food now. Three slices seems like too much. Before I could eat a whole pizza without even thinking twice. I look forward to it just as much, if not more. The first bite is just as good, but honestly seems better since I didn't just have a snack an hour ago. I ate like 5 Takis for a snack the other day and they were delicious and I really enjoyed it, but before I would have eaten the entire bag and not really even taken the time to taste them.
I would say it takes longer to get hungry even though I eat maybe 1/3 to 1/2 as many calories as I did before (that is to say 2/3 less than before). If I ate this little before GLP-1 I would have felt like I was dying and would have been thinking about food and hunger all day and night.
Yes you do fill up faster, and your stomach empties slower, so there is actually a physical 'being full' that happens with less food than previously.
I had an experience similar to the article. Over 18 months, I lost about 85 lbs on Ozempic and Retatrutide. I went from struggling to walk past beer at the at the supermarket - giving in about 50% of the time - to having almost no desire to drink. I only one or two beers every few months. I haven't had a drink alone in two years, and my total alcohol consumption in that entire two year period is less than what I used to drink in a single week.
During this same period, I left an abusive marriage and started exercising extensively. While the causes are complex, I attribute the loss of desire to drink primarily to the GLP-1. Subjectively, I now see drinking as a distraction from programming and other things I enjoy. This feels like my early 20s, when I saw getting drunk as a waste of time, rather than later years when I pushed for another round.
IMO Django is a buggy and poorly designed framework that locks you into bad decisions.
It's a combination of things that all suck: the
- ORM (sqlalchemy is better in every possible way. django's orm is very poor and can't express a lot of sql constructs at all)
- templates (jinja2 is basically identical except performant and debuggable)
- routing (lots of wsgi routers exist and are lightyears ahead of django)
It's not that you need to ask it to be honest, it's that the defaults are kind of stupid and obnoxiously sycophantic. ChatGPT is also prone to getting stuck on particular ideas. If you're using the vanilla personalities without a custom prompt, not aware of and working against its issues, and not starting new chats occasionally you won't get good results. You'll get good-sounding garbage.
Part of my custom prompt is
```When using factual information beyond what I provide, verify it when possible.
When researching factual questions—especially by relying on papers and studies—actively look for null findings, negative results, and contradictory evidence, not just positive or confirmatory findings.```
To me, the most interesting result of that part of my prompt is that in thinking mode, it ends up re-checking it's assumptions and sources fairly often. It's not about honesty, but correctness.
A custom prompt isn't the be-all end-all either. The right kind of questioning is important, and you also need to get a fresh context when you ask new questions or if you want to double check something.
reply