Live data from Hacker News

The zero-cost fallacy: open-source software in the agentic era

thoughtworks.com

141–150 of 152 posts

Re: The zero-cost fallacy: open-source software in the agentic era

#141

Earlier quoted context omitted.

From that link:- "With that said, permacomputing is an anti-capitalist political project. It is driven by several strands of anarchism, decoloniality, intersectional feminism, post-marxism, degrowth, ecologism." They are post-modernist, collectivist, marxist. I couldn't get behind that. That ideology is arguably the most destructive in human history.

Nothing in this list implies "post-modernist", and post-marxism does not imply "marxist".

The Venn diagram has a fat middle

Re: The zero-cost fallacy: open-source software in the agentic era

#143
post #54

Earlier quoted context omitted.

> Anthropic's entire goal is to extinguish software development as a profession They’re killing “programmer”, not “code”. > I don't see how they wouldn't take out open source with it as a consequence An analogy: the automobile industry sought to make working horses redundant, not to go door-to-door and kill horses. Horses getting chopped was an indirect economic consequence. > If nobody even looks at code why would a…

> While I don’t read the implementation of anything any more unless there’s a hard algorithmic problem, I do make an effort to read and document APIs thoroughly. I have some questions. Are you doing this for client-facing production code? It seems you believe painting over APIs with some amount of documentation will guarantee the implementation is correct and well designed. Am I misreading that? You say you still rea…

> Are you doing this for client-facing production code?

What's "this"? We're talking about multiple things here.

But presumably yes: I'm working through agents, and all I do is read and prompt. I don't manually write code except Markdown and occasionally Nix code because it's sufficiently high-level, and I rarely read the Rust code. The Nix code is based on templates I wrote by hand, and the Rust code is based on crate selection and some loose principles I've derived from years of programming Rust by hand.

> It seems you believe painting over APIs with some amount of documentation will guarantee the implementation is correct and well designed. Am I misreading that?

I don't believe that, you're misreading.

I'm saying:

  - Making and documenting APIs well is just as necessary as before I wrote to files.
  - Correctness is achieved through strong types and extensive testing of all kinds.
> Do you have tests? How do you know they’re correct if you don’t read the code? Moreover, how do know if their coverage is sufficient if you don’t read the code?

There are different tests, and I know they work for different reasons.

I'll list a few kinds that I've found actually valuable in the recent past:

Manual user tests: While expensive, they're most truthful in revealing bugs and confirming if they still exist. We do this by dogfooding our own product, and by running manual user tests before major deployments. User tests help uncover problems like delays that don't appear as errors, but can be major UX bugs (like waiting ten seconds for the effect of a button press).

TDD regression tests: A user experiences an error in the application, this gets reported, the agent analyses the code and writes one or more unit tests to confirm the problem, and writes a fix to see the light go green. I know this test works because it fails first. There's an odd chance the agent either uncovered a different bug, or wrote a test that fails synthetically. I haven't tried the latter, but I've tried many times that it wrote "a test" that passes but the app still crashes. So TDD order matters. And I've tried that it found several more bugs by analysing the code. (Most recent example: https://github.com/atuinsh/atuin/issues/3603 ) Another example of a TDD regression test is: Some async code prematurely exited, I scanned for the class of bugs and found one other case and fixed it, TDD. There's a very simple consideration to make that could be expressed as a linter rule, but is more easily expressed as a single sentence in CLAUDE.md, since it will appear again (it's a pattern I and former colleagues have made several times).

End-to-end integration tests: Wire up all parts of the system in either a semi-authentic (say, docker compose-based with some mocks) or in a fully authentic staging environment (say, Kubernetes); I do both, and it catches both bugs and performance regressions by simulating real workloads. I haven't automated the performance regression testing, only workload simulation, and then I assess the metrics myself.

Algorithmic pareto-optimality: I have an algorithm that can be measured in number of steps by measure of API calls, and number of successful calls; correctness would be "the algorithm gives the same result", and pareto-optimality would be "it doesn't use more steps in the refactored version". Computing time isn't really the cost here, the cumulative size of API payloads are. The API part can actually be mocked, or "made golden" (I've just now learned that it's called a "characterization test", https://en.wikipedia.org/wiki/Characterization_test, but I always called it a golden test from having read that.)

"Full coverage unit tests": I don't actually know how valuable these are. But for example, I went with "Find all functions that return Result or Option and test all their edge cases." Some ~87 functions, some ~150 tests. No failures. But I'd be surprised, because the type of mistake these tests generally fix for me, as a human, are typos and copy-paste errors, and big models generally don't make those.

> You say you still read code when code is « algorithmically hard ». How do you define that?

I don't have a good definition. I recently deployed a service that runs something my colleagues call "the algorithm". It's some progressive audio transcription thing. My colleagues feel uncomfortable going live with something that appears to work that nobody read, so I read what was made.

I think the value of reading algorithmically hard code is not to assess correctness, but to regain cognitive debt in case something breaks and you don't know how it's made. I've consulted for people whose main programmer left and they were stuck with a machine they couldn't comprehend, start, or start to comprehend.

Point being: Code review isn't ideal for catching hard logical bugs, it's for understanding code so that you may eventually understand hard logical bugs when they surface.

> Do you refactor code or is that not needed anymore?

The need for software architecting and refactoring are exactly the same.

Only maybe more and sooner because the amount of code increases.

> I don’t understand your answer to the question of why anyone would publish a library if no one reads code anymore. « For the exact same reasons as before ». How so? This isn’t making sense.

I don't understand why it doesn't make sense.

Agents will read code. Humans do occasionally read some code.

But the value of a well-polished, tested library is not just for humans to read.

A good library will make your code better, because vibing on the spot delivers less guarantee that it's good. You'll miss some effort spent on proper data modelling and edge case and error handling. Sometimes that's the right call.

Say you build a parser for a small language. Using a parser combinator library, you get nice error messages and some very non-trivial thoughts on resuming parsing from a failed state. A vibed parser will give you neither of those.

There are some points related to supply-chain minimization.

But it's the exact same tradeoff, where the choice-points are pushed around.

Re: The zero-cost fallacy: open-source software in the agentic era

#144

I feel like the AI labs have an embrace-extend-extinguish model here like Microsoft of the 90s. Train your models on all the open source code, then extinguish the ecosystem since open source libraries are essentially a competitor. (If there were no libraries you'd have to ask the AI to do everything!) Like, personally I think the reason why AI works as well as it does for typescript is because it's essentially gluing…

You are correct, AI is sold as a self-fullfilling prophecy

People are thinking that AI will become better than human. It is easier to make humans worse than AI.

Re: The zero-cost fallacy: open-source software in the agentic era

#145

I had to flag this article for violating HN's policy against submitting things written by AI. Which is a shame, because the premise is intriguing. But it's pretty rude to expect every one of us to sift through ten pages of AI tells to reverse engineer the prompts that hold the information the author wanted to convey. As the saying goes, "if you couldn't be bothered to write it, why should I bother to read it?" So I a…

I’m not sure which is worse, content written by AI or people complaining about content being written by AI.

The former

Re: The zero-cost fallacy: open-source software in the agentic era

#146
post #73

Earlier quoted context omitted.

It's an underrated point that providing LLM output to someone else is worthless because if they wanted it, they could put in the same input.

Forming the prompt is still a skill, tokens aren't free, and it all takes some time and attention, which also has a price. So someone else doing that for you isn't exactly worthless , if they do a good job of it.

Forming prompts is not a noteworthy skill. This is just a PM fantasy.

Re: The zero-cost fallacy: open-source software in the agentic era

#147
post #121

I feel like the AI labs have an embrace-extend-extinguish model here like Microsoft of the 90s. Train your models on all the open source code, then extinguish the ecosystem since open source libraries are essentially a competitor. (If there were no libraries you'd have to ask the AI to do everything!) Like, personally I think the reason why AI works as well as it does for typescript is because it's essentially gluing…

Nowadays reading HN comments I imagine what it was like watching a buggy whip manufacturers meeting around the time of Henry Ford. The world is changing and many previous assumptions are being exposed as not widely held. Most people in the world don’t care how software comes into existence or what the source code looks like, and never did. Just like most people never cared how most anything else was made. We are seei…

I don't think this analogy holds. I'll give you an example of why.

One of my skills is graphics programming. A decade ago, a huge part of my job was writing special effect shaders for videogames -- kind of as a technical artist (although that wasn't my exact title). One of the things I saw coming was that shaders were being created by shader graphs, which allowed non-technical artists to do a lot of the same things. This was fine though! You know why? Because I could reskill into new things, and a lot of my old knowledge was still useful.

If these oligarchs get what they want, "the nerd reich" is I think we should start calling them (these people are insanely far right), there would be nothing to reskill into. It's not "buggy whips are gone so I should work on cars", it's "I guess I'm just living off disability checks now?" I don't know why anyone not directly affiliated with an AI company is ok with that! It's not "progress" to destroy the entire economy. I don't think they can ACCOMPLISH that, because frankly they're mostly incredibly stupid, but that's absolutely what they want.

Re: The zero-cost fallacy: open-source software in the agentic era

#148
post #108

Earlier quoted context omitted.

There always have been. As a practicing vegan of over 20 years, I made the change consciously for ethical and moral reasons with no interest in "setting myself apart" or "feeling better for not 'being like those others'" by this decision. I do not proselytize, and try hard to not discuss this aspect of my lifestyle unless it becomes awkward to avoid it. Equating veganism to faith movements is superficial. Stating tha…

> I made the change consciously for ethical and moral reasons with no interest in "setting myself apart" or "feeling better for not 'being like those others'" by this decision We all believe we do what we do for good reasons, yet we are wrong most of the times. So, when I hear you saying that you are motivated by pure moral reasons, but not stating those reasons, I can't help but think "this guy is lying to himself",…

  > So, when I hear you saying that you are motivated by pure moral reasons, but not stating those reasons, I can't help but think "this guy is lying to himself", sorry.
???

I didn't say more about these things because I felt my comment was long enough already on a tangent to the HN submission itself, and that I'd made the intended point.

Not that I owe you or anyone else any convincing that I'm not delusional, but since you appear to be asking, this will both try to answer you and also illustrate why I didn't bloat my previous comment.

I am striving to keep to an acceptable minimum the harm I cause to other sentient creatures. My moral framework includes the following:

1. I reject speciesism^.

2. I take as axiomatic there is no "elimination" of harm to other creatures - no existence as a human has zero external harm.

3. I observe that accounting within any sufficiently complicated system, whether economic, physical, or moral, admits no entirely black and white disposition.

4. I discard as a largely useless question whether or not it is "natural" for humans to consume animal products.

5. I don't think "what our ancestors did" justifies what we should or shouldn't do today in our presently-evolved state.

Consistent with these ideas, I conclude veganism minimizes the harm I cause to other sentient creatures subject to the constraints that I do not make it impossible for myself to live among other people in a western society, and I do not degrade my health. #2 implies one can always strive further toward an asymptote of zero. At some point, one has to decide for themselves if they've done "enough". #3 implies reasonable people will not always agree as to whether a specific action or choice is reducing harm. For example, you speak of going somewhere else and not asking for "a vegetarian alternative" because "it doesn't matter." I contend that it very well could matter. If restaurants offer more vegan options because people ask for them, patrons potentially reduce the amount of animal products they consume, or potentially convince fellow diners that not consuming animal products doesn't preclude the convenience and pleasure of shared meals eaten at restaurants.

A choice of veganism is analogous to a choice of voting in a democracy. Your single vote is probably not going to make the difference in an election, but everybody thinking their votes matter is how we achieve collective action that unequivocally matters.

I don't really respect the choice of vegetarianism being observed wholly out religious obligations, but I appreciate that there are so many vegetarians who, regardless of their motivations, reduce their harm and make it more economically viable for me to live more comfortably in a manner consistent with my principles.

Many people who don't answer "why" when asked about their vegetarianism do so because they don't want to invite mockery or debate. I know people like this, and having experienced this kind of mockery, I understand it. Avoiding mockery or challenges to justify one's postions doesn't equate to a lack of convictions. Sure, someone could be doing it because it "sets them apart" and then they don't answer because they don't want to get called out on this stupidity. But why is that the correct default assumption in the absence of a fulsome answer? As for me, if you sincerely ask me "why" to my face, I'll certainly tell you and not play coy.

^ [1] https://plato.stanford.edu/entries/moral-animal/ [2] https://www.jstor.org/stable/26165687

Re: The zero-cost fallacy: open-source software in the agentic era

#149

> For years, the software engineering industry has operated on a comfortable, perhaps lazy, myth: that open source software is an infinite, self-renewing public good that costs nothing to consume and requires nothing to sustain. This is provably false and wish that sentiment would die Microsoft spends at least $600-$800 million on open source The make VS Code, .NET/C#, Edge, TypeScript. They provide free hosting, fre…

I'm not sure if you just missed that the OP said "myth" because you seem to be in complete agreement with them.

The OP is saying companies are operating on the myth that open source is free. No, they are not operating in my myth its free. Spending hundreds of millions a year is not "operating on the myth that open source is free". Spending 0 would be

Re: The zero-cost fallacy: open-source software in the agentic era

#150

> For years, the software engineering industry has operated on a comfortable, perhaps lazy, myth: that open source software is an infinite, self-renewing public good that costs nothing to consume and requires nothing to sustain. This is provably false and wish that sentiment would die Microsoft spends at least $600-$800 million on open source The make VS Code, .NET/C#, Edge, TypeScript. They provide free hosting, fre…

All of those companies have very compelling reasons to provide those tools for free, as in (most importantly dor adoption) no money asked and (less importantly) open source. They make money because of the number of people using those tools. They are a bridge head into controlling their own share of the market. So: investment, not good will.

irrelevant
Post reply on HN