HN in RSCserver-reason-react
top.mdnew.mdbest.mdask.mdshow.mdjobs.md
← Back to stories

The Slow Formation of Durable Software

181 pointsby benbreen 2 days ago62 comments

Discussion

Loading discussion
  • ghoshbishakh · 5 hours ago

    A very very strong point. I have personally detailed entire projects because adding a feature seemed easy with AI. It is very difficult to vibe code and not add a bunch of useless crap features.

    • adamddev1 · 5 hours ago

      Do you mean "derailed?"

    • huijzer · 5 hours ago

      You can also remove features with AI faster than before. During the initial development phase, that's the most important part IMO

      • josephg · 4 hours ago

        Really? I find LLMs quite bad at deleting code. If you ask them to add a feature, then later take it out again, the codebase still grows. It always grows. Every time I've tried it, llms have failed to simplify code via refactoring. Even fable is incredibly bad at this for some reason. LLMs are excellent at making prototypes though. And prototypes can be an excellent way to stop yourself from implementing the wrong features in the first place.

        • lelanthran · 2 hours ago

          > the codebase still grows. It always grows. Well, yes. I mean, it's in the name Generative Pre-trained Transformer: they're text generators! To delete text using a text generator, you have to emit the original thing taking care to omit the deleted stuff during emission. It's more work.

          • iamnothere · 1 hour ago

            We need ChatDPT

  • adamddev1 · 5 hours ago

    > But that slow formation led to software that was durable rather than ephemeral, with a strong foundation that could be built upon. People say that agentic development is great because you can churn out so much so fast. But that doesn't mean that any of it will be truly good and reliable. The things that are truly insightful and solid end up being used exponentially more, which makes the linear cost of extra development time (asymptotically) insignificant in the cost/benefit equation.

    • lmz · 3 hours ago

      It may be so but the article does not claim that the strong foundation is the code, rather it seems to be product design, and design of other products, at that (the two predecessors, webapp and desktop app). No reason why you couldn't study existing products now and tell your agent to build something based on that.

      • scruple · 3 hours ago

        This feels like a sleight of hand to me. The hard part of evolving Scribe and Web Scrapbook was discovering that a browser extension manipulating a local SQLite database was _the only_ architecture that could reconcile local offline persistence with live DOM scraping across arbitrary catalogs of academic data. An agent can synthesize existing solutions but (because I see this failure mode at work constantly) it can't synthesize an architecture to resolve the sorts of tensions that the person prompting it doesn't yet understand (not that that is stopping anyone). You can't prompt it to build something if the operational primitives required to solve the problem haven't been mapped. "Build a tool based on Scribe and Web Scrapbook" in 2003 would've made a fragile PHP wrapper because that's what the existing landscape looked like.

        • adamddev1 · 2 hours ago

          Yes, exactly. And this is why I don't think that the LLMs can make significant process beyond what humans have done and published. "But the math proofs," people will say. A lot of those seem to be spam-solving things with a huge swath of existing lemmas, and a some of these are being debunked and retracted. Just today I was quizzing ChatGPT about a basic grammar question for a language that has huge training data but for which the grammar was not well documented. It kept giving me confidently wrong answers until I drilled and drilled it and then finally it found/gave back an explanation that perfectly fit a pattern given in one particular grammar, citing that as a source. It doesn't appear to have been able to figure out the inner structure on it's own. It appears only able to pattern match and put things together from what humans have already discovered and written.

          • scruple · 2 hours ago

            Right, there's a difference between statistical interpolation and semantic induction. The whole point is that LLMs can't reason from first principles to drive missing rules. It keeps confidently feeding you approximations until it collides with some source that already mapped it.

            • TeMPOraL · 26 minutes ago

              Interesting take, given that the whole reason LLMs are interesting is that they're the first system we have that can work in semantic space . Statistical interpolation, that we've solved long ago.

    • RunSet · 3 hours ago

      The emphasis on quantity while neglecting quality calls to mind a passage from EWD1175[0]: > My second warning remark is that I shall refuse to discuss the academic enterprise in financial terms. The first reason is that the habit of trying to understand, explain, or justify in financial terms is unhealthy: it creates the ethics of the best-seller society in which saleability is confused with quality. The other day we had to discuss the professional quality of one of our colleagues, in whose favour it was then mentioned that one of his Ph.D.s had earned lots and lots of money in the computer business, and few people seemed to notice how ridiculous a recommendation this was. We also know that the financial success of a product can be totally independent of its quality (as everyone who remembers for instance the commercially successful IBM360 should know). The second reason for my refusal is that the value of money is a very fuzzy notion, so fuzzy in fact, that efforts to understand in financial terms always lead to greater confusion. [Remember this, for it is quite likely that this afternoon will give you the opportunity to observe the phenomenon. Note that money need not be mentioned explicitly for the nonsense to emerge, a reference to "the taxpayer" can do the job. The role of "the taxpayer" then invariably leads to the conclusion that of State Universities at least the undergraduate curriculum has to be second- or third-rate.] The final reason for my refusal is that the habit appeals to the quantitative mind and I come from a culture in which the primarily quantitative mind does not evoke admiration. [A major reason that we considered Roman Catholics to belong to a lower class was precisely their quantitative bent: they always counted, number of faithful, number of days in purgatory, you name it.....] [0] https://www.cs.utexas.edu/~EWD/transcriptions/EWD11xx/EWD117...

      • senderista · 2 hours ago

        The aside at the end seems a bit odd given the certainly "quantitative" bent of the Dutch Calvinist merchant class...

    • danmaz74 · 2 hours ago

      The trade-off between quality and speed of development has always been a tenet of software engineering. Agentic coding changes the equation a lot, but the equation is still there.

      • hylaride · 35 minutes ago

        > The trade-off between quality and speed of development has always been a tenet of software engineering. Agentic coding changes the equation a lot, but the equation is still there. The quality and speed tradeoff doesn't matter if other incentives aren't aligned. In today's product-driven world, where usage stats are compiled in real-time, features are added and then pop-ups, nudges, etc are added to software to get product usage up. These features may or may not add quality, relevance, etc. But the "success" is measured in usage, forced or not. This is essentially Microsoft today (especially with copilot), but even after every major apple OS update, I get "what's new" pop ups for every Apple app (notes, reminders, mail, etc) on every platform (iPad/iPhone/Mac) that I own. I opened the email app to check my email, don't get in my way!

      • Foobar8568 · 10 minutes ago

        Agile and/or web based app killed software quality. /change my mind.

  • jeanpah · 5 hours ago

    I don't think this is possible in this day and age, everyone expects the development to be instant.

    • cseleborg · 4 hours ago

      I guess we'll only be able to verify this 10-15 years after coding agents arrived. Personally, I think there will always be a market for apps created with care and great attention to detail.

    • nwhnwh · 4 hours ago

      Do it in your own projects.

  • olafmol · 5 hours ago

    In the Netherlands we have this saying: “Without friction, no shine”

  • ORDINAND_PIZZA · 4 hours ago

    good things take time because they grow from something like seed. as that seed grows, it figures out its local and global context. a curious and patient caretaker of this seed will spend a lot of time looking at it, understanding it, trying to figure out the right way to give the small plant a steady foundation. with care and attention, it could grow into a tree and attract all sorts of other insects, animals, and all sorts of life. speed kills quality. it’s literally impossible to make anything good fast. we know this, and it still applies to software. while we may be able to make things faster, they will never become good (or great) without an incredible amount of care, patience, and joy from its maker. there are no shortcuts to quality. it will always take a lot of time to make anything good.

    • _fw · 3 hours ago

      I am not sure it IS impossible to make anything good fast. Look at how many incredible songs have been made in a single afternoon, or fantastic ideas for a simple product came to somebody in an instant. Your comment made me think two things: • Sometimes constraints make things better, and ‘speed’ can occasionally make you prioritise the things that actually matter so you deliver stuff that counts • Sometimes, thinking longer about something doesn’t get you closer to the correct answer. You can rearrange and refactor and rewrite and redesign, but you won’t always get something objectively better than what you originally came up with. It’s still your thoughts, your brain and your ways of working that shape the output (and they haven’t changed). Investing more time to make something better should be a conscious decision. Perhaps it’s one people decide against for the wrong reasons. But sometimes things need something other than time and effort spent to make them better.

      • bradleykingz · 2 hours ago

        Regarding the song example, it may take an hour to write, but weeks, maybe years of material build up in the subconscious.

      • jklwermklnds · 1 hour ago

        > Look at how many incredible songs have been made in a single afternoon Ideas for songs. Good ideas for songs can come in an instant. And in the hands of an experienced songwriter, you can take that idea to a polished product very quickly. But that's because they spend years developing taste. > fantastic ideas for a simple product came to somebody in an instant What's the saying around here? Ideas are cheap. It's execution that matters? And the execution part often comes about through trial and error. > But sometimes things need something other than time and effort spent to make them better. I don't think anyone would disagree with this.

      • TeMPOraL · 9 minutes ago

        Most good things are made fast, because once you slow down below certain degree, things won't get made at all . Over the two decades of writing software professionally, I learned to appreciate the perspective of software companies: most software is crap, and without pressure to ship, smart programmers will forever keep polishing the turd, way beyond the point the software stops being relevant or useful . The best, high quality, slow-developed software isn't the best because programmers knew when to stop. It's because the scope and timeline were bounded up front .

  • nickledave · 4 hours ago

    For folks who are wondering: This post is about Zotero. https://www.zotero.org/ If you are not an academic, you might not know Zotero. It is such a pleasure to use. Every app should be like this. I read everything in it, including books I'm going through right now from https://teachyourselfcs.com/ It also does an amazing job of taking snapshots of posts. I use it all the time to grab posts from HackerNews so I can mark them up. And it automagically syncs everywhere across devices and lets me store way too many files on the web like the ADD packrat I am, without breaking a sweat. In short, this software just works, and it works well. So when somebody behind Zotero talks about how to develop software, I listen. And it's a fun post with some history. You should save this post to Zotero, and then read it.

    • TripleTree · 2 hours ago

      I could dig into their documentation but I'd rather ask an enthusiast. Is it still possible to get your own data out in a nice and easy format? I was once all-in on a note-taking app that slowly got worse and worse and it was a hassle to escape, so now I always consider it before starting. If Zotero ever enshittifies or just disappears would I still be able to access my data and transfer it to something else?

      • freeone3000 · 2 hours ago

        User data exports are available as csv, xml, and latex, with original documents available in original input and also pdf.

        • pajamasam · 2 hours ago

          It's also all open source and local-first. You can also add your own self-hosted WebDAV server for syncing across clients. Also, it's developed by a nonprofit organization.

      • 283a · 2 hours ago

        I have Zotero set up with some plugins that create a .bib file I create notes for in Emacs. I enjoy this setup because it allows me the convenience of saving files quickly using Zotero, but saves all the data it extracts to an open format with an auto export. If Zotero were to disappear tomorrow, I’d still have all my notes in org files and my citations in their bib file.

        • iainctduncan · 1 hour ago

          Don't suppose you have blogged about this? Or have recos for resources on combining Zotero with emacs? this sounds very intriguing!

    • Almondsetat · 2 hours ago

      What I dislike about Zotero is that it's a pain in the ass to self host. In my department I could spin up a local Zotero server for our PhD students and give them basically unlimited sync, but it's really finnicky

      • pajamasam · 2 hours ago

        I've been wanting to try it. In what way is it finnicky?

        • Almondsetat · 1 hour ago

          It is not supported natively (you can use a webdav server but it doesn't sync everything) and the third party options don't have the level of stability I'd need

      • chompychop · 1 hour ago

        In this day and age, I'd say this is hardly an excuse. Spin up your favorite harness and let the agents sort it out. :)

      • epihelix · 49 minutes ago

        What difficulties are you having? All you need is WebDAV. I use a nextcloud server for mine and my partner's zotero storage, and its entirely trivial to set up. I have many issues with Zotero (which has been dumbing down at the expense of power users for some time) – but easy private sync is definitely not one of them.

      • sureglymop · 7 minutes ago

        I agree. It's "open source" but I would put a huge asterisk on that label. It really reminds me most of AI models that are only open weights.

    • NichoPaolucci · 1 hour ago

      Unrelated, but I love when people describe software with the phrase "just works". It suggests a certain... simplicity that I chase in all of my developments. The amount of EFFORT to get software from "works but..." is interesting. You can get something that works 99% of the time, but that never quite fits the "just works" level of quality that we love to see. Really, there's an immediate feeling of joy I get when I interact with software that "just works" knowing how much effort it takes to get something to that point.

    • nater5000 · 47 minutes ago

      The guerilla advertising on HN is probably the most transparent lol

  • kstenerud · 4 hours ago

    > If AI had existed in the early aughts, we could not have accelerated Zotero’s conception, because we did not know exactly what we wanted, and so could not have written coherent prompts for an LLM. Instead, it took a great deal of time and collaboration to develop a clear vision for what Zotero should be. AI doesn't preclude this. In fact, it can help accelerate parts of it. He's describing the typical big project lifecycle: - Examine the landscape - User research (how they use existing software, what their frustrations are, etc) - Brainstorming - Early ideas and prototypes - Refinement, user feedback - Solidify the vision and high level process design - Choose technologies - Design & architecture - Plan out phases - Build phases, then test them with users LLMs are great at research, and great at prototypes. Once you have your design, they're good at coding as well. They're also good at distilling user feedback.

    • mmarian · 4 hours ago

      > AI doesn't preclude this. In fact, it can help accelerate parts of it. It can also slow it down as people get distracted experimenting with features they can build quickly.

      • kstenerud · 1 hour ago

        That's a discipline and hubris failure, and has bitten many people even before LLMs were a thing. Most V2 rewrites fall under a similar category.

    • vouaobrasil · 2 hours ago

      The problem is that in the future, LLMs will change society so much that we won't even want to go after these things any more because the world will live and die on cheap prototypes and trends. It's like all the food being replaced by MacDonalds food that is served from a replicator (from Star Trek). Sure, we can survive on it, sort of, but if all we ever know is this food and we're too busy to cook (or no one knows how to manufacture a stove) then we'll never know anything else. Maybe someone will learn how to tweak the recipe a little but our minds will be conditioned to context-switch so much that we'll never even think of learning to cook great meals. That's what LLMs do. They're shit.

      • kstenerud · 1 hour ago

        We've already gone through that many times with COBOL, Excel, Visual Basic, PHP, Javascript, etc. Whenever a new technology makes what used to be hard easy, all the non-experts pile in and produce shit for awhile, until they're finally forced to admit that software engineering is hard (or die trying). The same will happen with LLMs in a couple of years.

      • TeMPOraL · 13 minutes ago

        Star Trek isn't the best example, because many characters on the show like to whine about replicator food having bland taste, and treating cooking as important skill to have (though I'd argue it's for social reason).

  • piker · 4 hours ago

    So pleasant to remember a world where this photo: https://assets.buttondown.email/images/93382906-4996-445c-81... is just of some passionate academics working on a project with no real economic or social media incentives driving it.

  • redwood · 4 hours ago

    Durable as in having a durable place in the human lived experience rather than durable as in durability of state or workflows

  • _fw · 4 hours ago

    As somebody responsible for the acquisition of users and growth of a company in terms of customer and revenue, this is a VERY salient point: > “… we could not have accelerated Zotero’s conception, because we did not know exactly what we wanted, and so could not have written coherent prompts for an LLM.” A surprising proportion of software products, maybe even businesses today, are solutions in search of a problem. Sometimes that’s okay, but only sometimes. And being a solution in search of a problem requires you to get everything /else/ pretty much perfect if you want to succeed. The fact Zotero paid attention to what people wanted, and gave it to them, and were market oriented, is demonstrably a big part of their success. It is MUCH easier to make something people want, than to make them want something you made.

    • hodder · 3 hours ago

      Agreed, but it is also much easier to get something made in the first place. LLMs enable rapid prototyping and rapid shifting to solve real problems. My applications are morphing from mediocre to highly useful problem solving machines much more rapidly now.

      • _fw · 3 hours ago

        That’s a really good point! But I am always surprised by how often people will avoid putting their prototypes out there and let the market shape their product. Rapid prototyping is an amazing opportunity afforded to us by AI. But some people use that potential to spend even longer on a more developed prototype that they are too attached to to get feedback on!

        • rrr_oh_man · 59 minutes ago

          > But I am always surprised by how often people will avoid putting their prototypes out there and let the market shape their product I see the opposite. I see thousands and thousands of quickly produced apps that have been put out there, but have 0 users that could shape it. Not so much because of their quality, but rather distribution in a very crowded and shouty marketplace.

  • Krei-se · 3 hours ago

    The reason great artists spend so much time developing their skills is that the result no one knew they wanted comes from skill and the new possibilities emerging from that. So as a software developer now might be the best time to throw system design on it's head and develop without a direction but make sure everything is as good as one can forge it. Surprising functionality and stuff not found elsewhere then more or less simply emerges from that. Granted - that has a certain freedom and no pressure to make money as a prerequisite but so do the 5 years noted here.

  • peterbell_nyc · 2 hours ago

    I love great software and agree that great software is evolved - not built. The whole point of building v0.1 is to figure out what's wrong and should be fixed in v0.2 At the same time, there are broadly three motions in the loop: - thinking/discussing (what should it do) - building (Make it do that) - using (Seeing whether that is actually what it SHOULD do) And then of course you repeat until you run out of time, money, patience, volition, etc. For some software there is a terminal state - it truly does exactly what it should. For most you're always reaching for it. LLMs definitely accelerate 2 and potentially can help accelerate 1 and 3. As such cycle time can be reduced. It still may take 100 turns to get what you want, but I'd be surprised if the clock time for the 100 turns would be unchanged using AI.

    • skydhash · 2 hours ago

      > LLMs definitely accelerate 2 and potentially can help accelerate 1 and 3. People that do think of using LLMs to accelerate 2 usually don’t think enough about 1. And from what I’ve seen, they quickly get tired of 3. Most quality software I’ve seen usually starts from a small subset for the cycle and then incrementally add to it. LLM projects usually rush the building part and do too big of a job and it’s become cumbersome to design (sunken cost) and evaluate (too many variables). If you want to build shelters, you start with a small hut, not with a cathedral.

  • shieldagent · 2 hours ago

    Durability is mostly boring decisions compounded: open formats, exportable data, and no dependency on a vendor mood. Speed wins users, but those choices are what keep them.

  • johnobrien1010 · 2 hours ago

    I’m developing a software solution that integrates w/ Zotero (sortcite.com). Their API is very easy to work with. Some of their competitors (Endnote) don’t even have an API.

  • antonyragleap · 1 hour ago

    Slow software that works for 10 years beats fast software that breaks in 10 months. Choosing boring tech is underrated.

  • anon7725 · 1 hour ago

    A small footnote regarding the intersection of this fascinating article and current(ish) events. > That winter, with Roy as the principal investigator and Josh and me as co-directors, we applied for a grant from the Institute of Museum and Library Services. Per https://en.wikipedia.org/wiki/Institute_of_Museum_and_Librar... : > The Institute of Museum and Library Services (IMLS) is an independent agency of the United States federal government established in 1996. It is the main source of federal support for libraries and museums within the United States, having the mission to "advance, support, and empower America's museums, libraries, and related organizations through grantmaking, research, and policy development" You can guess the next part, I’m sure: > On March 14, 2025, President Trump issued an executive order virtually eliminating IMLS that directed that "the non-statutory components and functions ... shall be eliminated to the maximum extent consistent with applicable law, and such entities shall reduce the performance of their statutory functions and associated personnel to the minimum presence and function required by law", along with minimizing several other agencies. The entire 70 person staff was put on leave on March 31, 2025. > On May 1, 2025, a lawsuit brought by the American Library Association and the American Federation of State, County and Municipal Employees resulted in the U.S. District Court for the District of Columbia granting a limited temporary restraining order to block any further actions to dissolve IMLS.

    • warkdarrior · 32 minutes ago

      Couldn't this whole Institute of Museum and Library Services be replaced by an LLM?