Top
Best
New

Posted by ltratt 10 hours ago

We should be more ambitious with the software we build(danluu.com)
368 points | 318 comments
apatheticonion 16 minutes ago|
Agreed. I started writing a desktop GUI harness in Rust using native desktop GUI APIs.

Claude, Codex, Opencode, everything is Electron. With agents and solid engineering fundamentals, I set out to prove that we don't need to take that shortcut any more and we can, in fact, ship high quality/performance applications.

It's still early days - but I got something basic working. I've embedded the Goose harness as a back end and am using the UI framework used by the Zed editor.

https://github.com/alshlabs/quill

I'm keeping the source closed for a little while. Also if anyone from the major labs is hiring, hihi, I make quality things.

Also I'm aware that this is a rip off of vscode's design. I like their UI, lends itself well to projects and so on. In a different life I might have ported vscode to Rust - but no one uses IDEs any more haha

neta1337 1 minute ago|
> no one uses IDEs any more This is false. Plenty of people using IDEs every day
bob1029 1 hour ago||
Our processes around software should come first.

A lot of the AI discussion seems to be focused on what these tools mean for an individual developer, but in a team setting any gains are at risk due to coordination tax and ideological friction. In my experience the ideological friction is most of it right now.

Figuring out a way to accelerate the process in light of the code writing bottleneck being removed is essential. I've observed a development team regress back to fully manual development because their daily PR/code review process is too slow. It doesn't matter how fast you write code if you can't actually merge it and ship it to the customer faster too. PR stacks can only take you so far before the conflict monster gets too big to fight.

I don't think AI can fix the process, ideology or people issues. I've seen how long an average PR review actually takes. If these employees were simply doing their jobs at all we'd be 10x better off regardless of AI. A truly skilled developer who makes a genuine attempt should be expected to solve 99% of their tasks within the same business day as of October 2026.

Burning down the backlog to zero doesn't mean the development team will be subsequently laid off. Quite the contrary. It will create a vacuum that the business will fill with new work that may incidentally increase the developers' compensation packages. No one is laying off the development team that just chewed through 50 items per day for 3 straight weeks. Who would support all the potential bugs they just created? That's right. They might hire even more developers. This is called a "win-win" scenario. Not every game must be zero sum, but I understand rejection of this possibility to be part of the aforementioned ideological issues.

logicchains 30 minutes ago|
>I've seen how long an average PR review actually takes

This was a problem well before AI, but it doesn't get talked about enough because so many developers are hooked on the power trip they get from making people waste time on crap that has no relevance to the user.

supriyo-biswas 15 minutes ago||
> power trip they get from making people waste time on crap that has no relevance to the user.

In my experience, this has been senior engineering leaders and project managers more than anything.

kaffekaka 2 minutes ago||
Opposite where i am. PMs would gladly ship good enough while some dev colleagues are more strict so to say.
thepoet 45 minutes ago||
More than ambitious, I can now build things I had no time for but had the idea and architecture in place since long. A cool side project for me recently has been to allow reading more than books on my Kobo reader. I built an SDK and apps that allows e-ink apps with sandboxing and permissions model, auto-updates, shared capabilities etc. to be built for Kobo https://github.com/BandarLabs/Cobalt
fy20 1 hour ago||
I think it's worth remembering that outside of our bubble the quality of software is pretty bad. I had a Hitachi heat pump (not recommended) installed earlier this year, and the software is pretty disappointing. It mostly works, but there are so many undocumented features and hard coded values that should be a configuration option but are not.

For example when the heat pump reaches the target temperature it shuts off, then after 3 minutes switches on again. To prevent short cycling, I'd like to decrease the time between runs (so increase the 3 minutes) but that can't be changed. Somebody decided that 3 minutes is the correct value for everybody and that's it.

I bought a €400 interface box (basically just a serial to IP interface, I guess $20 of hardware tops) to try and improve it. The €8000 heat pump doesn't come with WiFi or ethernet out of the box, you need to buy an accessory for that. It's not made by Hitachi, but it's an officially recommended accessory. One of what feature I wanted it for - which is advertised in their marketing materials - doesn't work.

I emailed them, and they said it's probably because the display I have is a newer revision and doesn't allow access to the setting I need to turn on. And without turning that setting on I can't use the feature as advertised. They said I should email Hitachi and talk to them instead as it's not their part that's the issue.

I look forward to the world where all software is either open source, or at least reverse engineerable to the point where you no longer have nonsense like this.

mgaunard 19 minutes ago||
Technically AI makes it much easier to reverse-engineer software, so long as the guardrails don't randomly kick in.
throwaway63467 46 minutes ago||
Should’ve bought a Panasonic. Everyone knows Hitachi sucks for programmability hardware is good though.
fritzo 2 hours ago||
We should be more diverse with the software we build.

Any prompt jockey can make a faster ripgrep. The spec is "faster ripgrep".

What is the one thing that only you can specify, where your competitive advantage is maximized? Find that thing and pursue it with all your energy!

blueblazin 5 hours ago||
With every new model I've been attempting to build something that takes at least 1 month and really pushes the model. So far I've done:

- Python interpreter in Rust (fail): https://github.com/BlueBlazin/pyrs

- Low-poly Google Earth like engine (success): https://github.com/BlueBlazin/lowpolyearth

- Codebase -> 2d infinite-zoom visualization (success): https://github.com/BlueBlazin/blockviz

I have never understood or liked all the obsession with one-shot builds.

elxr 2 minutes ago||
100% agreed.

There's so many youtube channels getting hundreds of thousands of views on EVERY new major model release just doing essentially zero effort one-shots, and people lap it up as if building things that already exist is somehow the best their imagination allows for.

I do love being able to test a model for 3+ weeks (>1 month is too long personally for my budget) and actually learning how to build scalable software and actually develop your "engineering" skills.

codazoda 3 hours ago|||
I’ve built a retro operating system and programming environment for ESP32 microcontrollers called BASIC32.

I took it to 39% complete, as a language, over 8-weeks. Then, I spent just 50 minutes describing all the missing parts and it finished the language in 1-shot. I didn’t think it would work. It did.

I used Opus 5.5 on a $20 plan and I didn’t even hit my limits.

jwrallie 1 hour ago||
I have a feeling that the 39% served as a good framework for the LLM to work on the remaining part while keeping it consistent with the existing structure and style. So, in a sense, your 8 weeks are a big part of why it succeeded.
fy20 1 hour ago||
Yeah I've experienced that at work. I see a lot of comments on here saying you can't one shot features in real world software, but we do, and yes we still have a human review the code with a high bar.

But we've also spend a lot of effort over the past year and a half to make the codebase and tooling more approachable to LLMs so they know how we like to do things and follow our standards.

genxy 5 hours ago|||
I used Fable 5.1 and Opus 5.5 to build a Python interpreter in Rust. Appears to pass all the 3.12 code I throw at it.

To get a toy version that can run most things takes under 2 hrs. Half of that time is collecting the tests you want to pass, how it should evaluate the code, what your criteria are, etc.

Seattle3503 3 hours ago||
I wouldn't be surprised if "re-write Python" is in the training set.
Amekedl 2 minutes ago|||
This is really what people conflagrate so often with these tasks, it is basically making the model do recall what could also be a "ant_ag_ds_90917_rwpy9_final" git clone
dmantis 2 hours ago||||
You can also consider that open source version of RustPython existed 6 years ago and probably in all LLMs dataset
jameshart 7 minutes ago||
This sort of ‘it’s probably in the dataset’ thinking is a bit of a relic from the ‘stochastic parrot’ era of LLM critique.

Reinforcement learning doesn’t work by training an LLM on a series of inputs like ‘rewrite python in befunge’ paired with a prepared model implementation. It doesn’t matter if an open source implementation was in the dataset that trained the language model. All it got from that was an appreciation for syntax and language idiom; when it is generating code it’s doing so according to the approaches and patterns that it’s been reinforced into following in the context of a coding prompt - regurgitating existing codebases is undesirable so it is a behavior it will have been reinforced against.

genxy 1 hour ago||||
CPython is in the training data, but this was a tree walking interpreter, so it wasn't just regurgitating cpython. I capped it as 1000 lines for the first 20% of the project, it is currently 13.3kloc and 575k in a single file.
baq 2 hours ago|||
Rewrite X in Y is an ideal RL task given you have X as an oracle trivially.
cybertim 55 minutes ago|||
The 'blockviz' is same kind-of project i tried to create as well (c4 level model zoomable etc.) so i was surprised to see same kind-of project popup - but this is I think also an 'issue' with these model-created-software.. when you reach'your' vision its already done: for example I clicked on the github link, expected a clear About Install Faq kind of README.md but all I get is the model-created explaination :) can't just download some app and use it without friction. I see this a lot.
martin-adams 3 hours ago|||
I’ve also been exploring a visual way to understand a code base and have explored turning it into a virtual city.

https://app.preview.craftspec.com/app/city/

This whole thing is just a proof of concept, and needs a mouse to interact with.

It’s incredible what AI has made possible with experimental projects that would require months of coding.

solyin 2 hours ago||
That's a really cool concept! I hit a bug where there were two things labeled "processing" and then it jumped to the wrong one when I clicked it.
martin-adams 41 minutes ago||
Oooh, nice catch, I'll feed that back to get fixed.
infinite_spin 3 hours ago|||
yeah, one-shot (medium-large) builds just don't seem to give me good results yet. I use them now for small examples though, e.g. for visualizing a process. Most recently I used it to visualize neural networks, and how convolution works. That might not be something most people need, but it really helped me.
stelonix 3 hours ago||
Hah, found someone else also using it for visualizations of algos! I've used it to show me how quad-trees[0] work and I'm impressed with the results. One-shotted too so I agree one-shots are best for this kind of very specific scenario.

[0] https://jsfiddle.net/3yLrsem0/

verdverm 5 hours ago|||
> I've been attempting to build something that ... pushes the model ... never understood ... one-shot builds

Same, and I have found some of the failure modes in the realm of eyes free coding and limited auditing. I often see it more as pushing the process than the model, as I tend to bounce around models for the benefits diversity provides.

Have you also found there is a point where they hit code complexity and start churning without progress? (at which point you have to step in to help the bot step back and think big picture, which usually takes a few sessions)

blueblazin 5 hours ago||
Yes! I absolutely have! And I've been thinking a lot lately about how to prevent them from collapsing into this state. It is getting better with newer and better models though. But yes, there comes a point when the codebase size and complexity crosses a threshold and we enter a churn state with very little progress.

I was motivated to make the codebase visualizer linked above to help me understand how the various pieces of the system that is being vibe coded connect with each other.

Now I'm thinking about how I can build something similar for agents. How can we teach "systems thinking" to a model?

XenophileJKO 3 hours ago|||
Have you seen this with Opus 5.5?

I've been mostly working on very large modeling projects (think detailed architeture over 1000 acres) or animation because this really was the "new" capability area that Opus 5.5 "unlocked".

I have been surprised how well it has worked at scale with many sub-agents. However the code base is limited to the rendering engine mostly.

Certainly in the older models they hit a complexity limit, but I haven't really hit it with Opus 5.5. I have had it make data flow designs that I didn't like because they were more complicated than it should have been or the perenial problem of trying to make everything backwards compatible when working on greenfield refactors, but I haven't seen it choke on a code base yet.

toonvanvr 1 hour ago|||
Yes, I've also hit it with Opus 5.5, but on way fewer projects. My long standing projects that I marked as failed/to-soon with 4.8 have entered the grey area of slow-progress-with-handholding like smaller projects did in the past.

To my experience, it's a simple complexity curve where the first bits go fast and the speed goes down very fast once you reach a certain level of complexity. Size doesn't matter as much as complexity: with the right foundations, it keeps zooming through it. Now I do wonder how much my inexperience in the complicated project is a brake on progress vs. it just being a hard to tackle problem.

verdverm 3 hours ago|||
My sense is the limit is more tied to the problem than the code base size. I work in some very large code bases, but it's not an issue because the nature of the problem (think what a standard SaaS would need).

On the other hand, I have a TS only project core is sub-20k LoC (NES harness), where it is struggling (for now, see other comments)

cwnyth 3 hours ago||||
I just have it constantly update real-world analogues for keeping track of everything. I have it create guides, note cards, flowcharts, running to-do lists, etc. with every change.

It helps us keep track of things, why not AI, too?

verdverm 5 hours ago|||
> How can we teach "systems thinking" to a model?

I've been working on process more than model. Similar to having a PR review team, you need multiple teams or processes that run over the code, markdown, assumptions. I still don't think this is enough.

I'm working on an NES harness, and the agent was churning with detecting certain state changes like dialogs, menu navigation, screen change. The bot and I got churning and I put it down for a while. A few days later it occured to me to ask the bot "Does the emulator and game state change with frames? Can we just get the state each frame rather than trying to be clever about it?"

It said yes, but added some nonsense about being performance hindered... (flash model). I haven't worked on it again yet, but my intention was to next have it build a small recorder based on this so it can get frame accurate game state change.

This is just a long way of saying, sometimes you have to step back and help them help themselves. They have a really hard time with recognizing ambiguity or how to determine lack of context that could be filled.

jayashankar_r 57 minutes ago||
[dead]
Supermancho 9 hours ago||
This statement stood out to me.

> I have a similar thought about "there's no reason for software to be slow" BTW; in many cases, if you use AI to speed up some flow, you will add a bunch of messy code that will be overfit for the use case you tested on and will neither generalize, perf-wise, for all the use cases you should care about, nor will be maintainable upon future changes.

LLMs have hardened hundreds of apps where I work.

Maybe it's a language-specific thing. Most of the time, in Java, LLMs take into consideration tradeoffs (especially if they are part of the initial prompt) and actively explains them. It generally won't make messy workarounds, without a lot of extra prompting forcing it to do so.

Ofc, if you have:

- Functional tests - you'll be able to see it in the execution times of specific APIs

- Stress testing - performance profiling is the most important output artifact

majormajor 9 hours ago|
> Maybe it's a language-specific thing. Most of the time, in Java, LLMs take into consideration tradeoffs (especially if they are part of the initial prompt) and actively explains them. It generally won't make messy workarounds, without a lot of extra prompting forcing it to do so.

Claude in its current Opus 5.5 form has made some wild reaches in response to reasonable-seeming prompts. For instance: "this error is getting swallowed, make sure the real termination message exposes the root cause" -> discovering that the issue is actually in a third party library that isn't exposing the original error except so through logs, so doing some hackery to inject a log-capturer that gets the stdout, buffers it, and looks for the message in order to re-throw based on that...

And it can demonstrate that working, but it's added some fragile and/or unintended consequences like (a) string matching on a particular WARN log message of a particular version of the lib, and (b) buffering those logs such that there were now cases where they would never make it to the actual output stream before the program terminating.

It's certainly capable of being used smarter than that, but it's also really easy to end up with messy fragile stuff if you get lazy about reviewing the output.

Supermancho 8 hours ago|||
> "this error is getting swallowed, make sure the real termination message exposes the root cause"

Without judgement, I think this illustrates a fundamental objection the anti-AI crowd raises.

The example prompt requires no understanding of what's happening, before suggesting action. Where I work, process requires that a PR review for a solution, has to have a corresponding explanation of why, or it's marked needs work

majormajor 7 hours ago|||
I don't disagree.

I think there's some nuance here though between "fully anti-AI" and "be careful with that power saw."

That example I mentioned didn't make it to production. It got noticed and fixed more properly by the person who submitted the first prompt before it even went to PR.

But a lot of times things in that same vein can be solved sufficiently with a "dumb" prompt like that, so a one-line prompt to get a PR drafted in the background for the dumb stuff can be a pretty good time saver.

The art is not skimping on your attention to the bigger or more important stuff so much that all the time you save on first getting code written is lost by cleaning up stuff like that...

rerdavies 7 hours ago|||
I think you're misunderstanding where in the process that prompt got made.
Karrot_Kream 7 hours ago|||
I used Opus 5.5 to figure out that a language model we were serving at work for internal use (we don't really serve models, we only use this internally because it processes sensitive data that we can't send to external endpoints) was being bottlenecked by CPU contention on tokenization, by having Opus run in an autoresearch style loop.

Opus's first proposal for a fix was to spawn multiple Python processes and build a load balancer between them in Python. At first I asked it why it wasn't using haproxy and it said that haproxy would be an added dependency and that the overhead for this kind of thing in Python would be negligible. I knew this was idiotic but wanted to test this out, so had Opus run two experiments in parallel. Sure enough an haproxy load balancer was much, much better on HTTP load balancing than Python code was.

This is the kind of thing that if you're unfamiliar with how networking code works, the models can autopilot into bad decisions that are verifiably correct (higher throughput than the original CPU-bottlenecked implementation) but much short of best practice.

__s 8 hours ago||
LLMs are great for being nerdsniped. I started work on walshadow (reading pg wal into clickhouse) to demonstrate the project's infeasibility, but pieces started coming together into something reasonable & order of magnitude faster

The project would've been impossible for me without LLMs. & even with them there's an argument that this project is pushing complexity limits too far. But at least with ETL there's a clear feedback loop to build on

ak39 2 hours ago|
Thank you for introducing me to the word "nerd-sniping"[1].

This is, as you say, exactly the paradox of having ourselves assisted by LLMs. We are no different from our cats. Except imagine the cats start making the laser lights for themselves.

[1] https://xkcd.com/356/

Amekedl 5 minutes ago||
Would love to see the author actually go deeper into details: what did they eval with models implementing zstd?

Many such cases are benign in the sense they in practice are simply the model basically "git clone"-ing the code they need to complete the implementation.

The amount of recall and synthetic data slop makes it imho very hard to actually get the models to really do something more novel (where they fall apart more often)

lubujackson 8 hours ago|
We should be more ambitious, but we need to learn how we can be ambitious with AI, and what value we can create.

AI can take us from 0 to MVP in a prompt. It can fill in gaps of knowledge and allows someone who knows half of the stack to build the whole thing nearly seamlessly. These are superpowers but don't by themselves lead to new products.

What AI cannot do is remove the world of complications that happen after the MVP - product feature tradeoffs and choices, how to handle integrations and customizations, how to serve multiple types of users, how to communicate and market the app, how to handle security and data storage, how to deal with customers and bugs, etc. All of these need to be considered and acted on by a human in some fashion. AI can help with each concern but can't solve them without understanding the concern and determining how to frame it in a prompt.

This is why we have a glut of amazing demos that go nowhere while we figure out how to build software differently. This will take some time and I imagine the result will be software heavily-structured with a bit of AI reasoning woven throughout, not an army of agents and sub-agents burning infinite tokens.

tptacek 8 hours ago||
Right, but this is the most hopeful imaginable prediction: AI accelerates everything, but everything good is still mediated through taste and expertise, so being a (say) skilled systems engineer is important and rewarding, just with all the tedium distilled out of it.

There's a less hopeful outcome, where no skill is needed at all, because every conceivable thing is one-shot-able from a SOTA model. But then, at that point, you're saying something pretty profound about computer science (roughly: that there was no meaningfully more sophisticated and complex place to go from where we are today).

iamnotsureok 3 hours ago|||
My wife is not a developer at all but is highly analytical. I find her a better software architect than most developers I met.

I suspect there are a lot of people really good at “systems” - there are a lot of really clever folks out there - that did not go through the proper CS rituals and are thus shunned but in fact can take over your job in no time especially with AI.

My wife regularly gets pushed away by “IT” at her work and unlike others she pushes back, but they don’t like her. They start talking about db clustering details etc as if that has any bearing on anything. I am a dev, I know she doesn’t know what logical replication is, but I do know she can replace their team. She just needs one technical person to keep an eye on things.

I suspect we will end up with just a handful of building blocks like “this is how data is siloed, secured etc”, “this is how dashboards are made here”, “this is how email is handled”, etc and employees with AI just develop their own stuff on top of these. The “devs” just oversee the building blocks and the overall soundness of the flow. Don’t know how many you need once that is standardized..

besterman23 5 hours ago||||
That’s something that I have been thinking about for a while now. Even prior to LLMs, many large companies have essentially been iterating on the same half a dozen ideas over and over again and there doesn’t seem to be much new coming out even post LLMs.

The most recent new things that LLMs have unlocked (regarding software dev) for us is reverse engineering and combining old games, unearthing decade old vulnerabilities, and helping root and debloat consumer hardware. Which are all cool and useful, but none of it being a “next great thing”.

Perhaps LLMs are really doing is highlighting how the software industry was already nearing its economic maturity and this just shifted the timeline from 2040 back to 2027-2030.

ozim 40 minutes ago|||
Don’t forget we don’t live in a pacifist utopia. Companies don’t work on the same ideas just because they think they can make it better.

Companies work on the same ideas because they want to own IP, data etc. and then charge money.

The other way around they work on the same ideas not to be charged by others and control their business.

“software industry” is not some big happy hippie family. Patent wars, browser wars, OS wars - well we get a lot of open source for free but that’s not the norm.

Cyph0n 4 hours ago||||
I have yet to see LLMs do well “autonomously” on anything that doesn’t fall into any of these 3 buckets:

1. well specified

2. well tested (which is a form of spec)

3. represented in the training set (i.e. not built on a corpus of human developed examples)

For example, a lot of the compiler porting efforts fall into all 3 buckets: compilers are well specified (there is a set of valid inputs and an expected behavior), they are typically well tested, and as a bonus, in a way that is implementation agnostic thanks to the clean interface (think: integration vs unit tests), and are very well represented in the training set.

fock 8 minutes ago|||
and yet some OSS (projects not really known for 1 and 2) multiplied change velocity the last year, implementing features via what is essentially vibecoding.

If you look at that, this approach is producing a pile of slop, where one LLM implements a feature, two weeks later another LLM spots an edge case and without much human review just crams in the code to fix that. Even at 1-2 months of that, those repos have significant changes and the commit messages get weird. I wonder what happens if the LLM won't spit out a fix anymore?

Will the human maintainers who started this process because noone thanked them and noone wanted to work with them on their bright new ideas just reset to the last commit they understand? Will they drop the project? The sunk cost for them is enormous. The time-effort required to fix the mess is gargantuan already. To me it increasingly seems that after the LLM industry robbed most humans of their collective labour output it will now rob them of labour aka time as well. Some people (like you and me) seem to notice that but most just go on and essentially spend away their life on machines now. I guess the problem is that most of these people have been severely cut off from using their own agency.

visarga 3 hours ago||||
You can "solve" 1 and 2 by N-version programming. Have the same code implemented twice, or more times, you get free error testing by fuzzing or running replicas in shadow mode. In order to make replicas maximally different choose a different language, framework, agent harness and LLM.

There remain some nitty details related to tracking randomness and choosing what interfaces to log. But even having your code testable by replicas would help organize it better and expose different assumptions made by the language or library stack.

When you get different outputs from replicas it can be 1. one of them has a bug, or 2. the spec is unclear -> fix the bug or the spec. So this method catches both sides. It also might be faster than traditional code based testing, you can build replicas in parallel. A replica is an open ended test, unlike coded tests it can be tried on open ended input values.

The core idea is that it is easier to implement twice than to imagine bugs. We already solved implementation, but bug finding means running code in your head, it touches the halting problem issues - can we really imagine behavior from code? I don't think we can do it well. That is why we should just make replicas instead, tokens are getting cheaper and cheaper by the month.

besterman23 4 hours ago|||
I had an LLM tell me that I mattered once, which I know for objective fact is not represented in the training data.
rpcope1 5 hours ago||||
Honestly I think you're on to something, as by far the most novel and interesting use cases I've seen for LLMs in general are mostly around reverse engineering things, especially if you can hit it with Ghidra, but honestly anything that can feed some sort of data and control back to a model.
verdverm 4 hours ago|||
> the software industry was already nearing its economic maturity

What I'm sensing is something I might describe as the Oligarchy reaching the point of significant societal pushback, like the labor rights movements that ended 80 work weeks, unsafe conditions, and child labor in factories (i.e. The Jungle).

My hope is that we can use this moment in human history to break the user tracking and targeted advertising industry. It's been so harmful to humans, but in doing so, we will likely break a major revenue source that supports our well above average salaries. I still think it should be done.

azornathogron 48 minutes ago|||
What indications do you see of significant and effective societal pushback?

I would love to believe this but I don't see it yet. I see a lot of anger in some circles, but I also see the machine marching on as normal.

besterman23 4 hours ago|||
What would be funny with LLMs, having been purposefully trained to be the best software creating things on earth, wind up inadvertently making software virtually valueless (because it can be made and copied so easily) and undermining the value of the companies that proliferated their use in the first place.
swiftcoder 1 hour ago|||
> What would be funny with LLMs, having been purposefully trained to be the best software creating things on earth, wind up inadvertently making software virtually valueless

This is the world the accelerationists are trying to create, is it not? Fully automated luxury space communism through AI solving all earthly problems.

We're just unlucky that software is one of the first moats to fall (alongside the humanities), because it doesn't require developing novel ways for the AI to interact with the real world...

verdverm 4 hours ago|||
We'll have to separate the hardware providers from the software providers, which I'm growing more fond of. The US Ai stack is largely a vertically integrated cartel.
verdverm 5 hours ago|||
> but everything good is still mediated through taste and expertise

I'm reminded of https://archive.ph/a9Cli (ns;nt)

iperov 5 hours ago|||
I haven't yet seen any significant products made with AI that are at least used long-term. All these browser demos, from the Adobe killers to Star Citizen, are just bells and whistles that I close after 30 seconds of use.
TehCorwiz 5 hours ago||
I enjoy this quote from Antoine de Saint-Exupéry:

"Perfection is achieved, not when there is nothing more to add, but when there is nothing left to take away."

And I feel that sums up my feelings on AI this and that. Just as the wood and clay contain the sculpture within and it's the artist's duty and privilege to reveal that. So, is elegant software exposed from the conceptual mass, rather than built up.

The AI zeitgeist currently is 'how many features can I add' because we've tied self worth to work output instead of some other more personal or human rubric. AI will happily pile more and more and more code on your plate because it's a buffet. It's gone through reinforcement cycles guiding it to add whatever feature you ask. There is no training for elegance or careful considered design. Nobody is teaching this generation of LLM restraint.

The safest code is that which never runs. The most elegant feature is that which is not necessary.

lukan 3 hours ago|||
"The safest code is that which never runs. The most elegant feature is that which is not necessary."

I assume you run GNU Hurd as your OS? ...

In general I very much agree to the quote of the Little Prince's creator, but I am not sure if we mean the same by it, because you seem to value code elegance more than adding useful features?

Now "useful" does the heavy lifting here, but my point is a useful feature is useful, even if it is achieved by the most ugly unmaintainable code. And what counts as a useful feature will depend on who you ask, but in general you should ask some users. (They don't care how the code looks)

And sure, they do not enjoy a pile of garbage of new features that only work sometimes, but managed to destroy their existing flow. But "Nobody is teaching this generation of LLM restraint" this is hyperbole and up to each developer. There is no need to let the AI run on auto for hours, this is only one way how to use that tool. The other way is, you make the design yourself - and let the AI implement it.

adwn 3 hours ago|||
> The safest code is that which never runs. The most elegant feature is that which is not necessary.

Yes, but the most useless software is that which doesn't exist.

At some point, you actually do have to write some code and add some features, or else the most satisfied client is the one who hired your competitor.

gptgautam1 8 hours ago|||
Agreed. Been experiencing this firsthand with an app I've been building myself. Vibecoded a working prototype ridiculously fast but then came the optimization issues. Since mine is very hardware dependent every different brand, oem stack, processor, video card, and every little thing changes how my app functions and a lot of it isnt even documented properly. Now AI is still very useful here, but you actually need to know what even to ask and fix in the first place
bubblemoth 8 hours ago|||
There have been a few vibecoded projects I've considered hosting on my home server, but it seems as if each of them doesn't understand when to stop adding new features.

They keep adding features that are outside the scope of the original project, without refining or polishing the original concept.

genxy 4 hours ago|||
My interpretation of "be more ambitious" is not only give it harder problems, but be more creative about what you ask. The problem is that most of the MVPs that people ask for a boring and lame. AI can help us make things that blow your mind, things that we would never build because they don't make sense, but the cost models for code generation have changed.
ModernMech 7 hours ago|||
> AI can take us from 0 to MVP in a prompt.

If you're being ambitious enough, you shouldn't be able to there in one prompt. Ambitious work with AI is done 24/7 for months and guiding it continuously, because it's not good enough to work autonomously for that long without going off the rails.

catalogroute 7 hours ago||
[flagged]
More comments...