Hacker News

New stories

Live mirror
30 storiesupdated just nowView source snapshot
  1. Bookmarks, done right: Give your bookmarks a shape worth keeping (chromewebstore.google.com)
    —discuss
  2. Being a Doctor Will Never Be the Same After A.I (nytimes.com)
    1comments
  3. OpenAI to Halt Training of Some Models (gizmodo.com)
    —discuss
  4. US power companies scramble to secure equipment (reuters.com)
    —discuss
  5. A Quick Guide on Creating a Design System (andrewcoyle.com)
    —discuss
  6. Free Space Bunny Model playground, no signup (spacebunnymodel.com)
    1comments
  7. Locked out: Why young Europeans can't afford to buy homes (euronews.com)
    —discuss
  8. Washington Challenges Brussels' Authority over X (reclaimthenet.org)
    —discuss
  9. Five Million Robots Now Operate in Factories Globally (ifr.org)
    —discuss
  10. Advice to a Beginning Software Engineer (seangoedecke.com)
    —discuss
  11. SpaceX Pivots Away from Space (ft.com)
    2comments
  12. Diagnosing and Mitigating Tool-Call Repetition in MiMo-v2.6 (xiaomi.com)
    1comments
  13. 3D necroprinting: Leveraging biotic material as the nozzle for 3D printing (science.org)
    —discuss
  14. How many strings can you create per second? (lemire.me)
    —discuss
  15. VevDB (vevdb.com)
    1comments
  16. Show HN: Vanish moves heavy computation off your laptop (vanishcompute.com)
    2comments
  17. Machine Learning Systems (mlsysbook.ai)
    —discuss
  18. Eyes on Asteroids (NASA) (nasa.gov)
    —discuss
  19. My Ansible Plugin Had a Jail Escape: CVE-2026-55074 (hofstede.it)
    —discuss
  20. Why Retail Stores are closing across America in 2026 (youtube.com)
    —discuss
  21. George Hotz’s opinion on AI coding (twitter.com/__tinygrad__)
    2comments
  22. Save Your Time with These Agentic RAG Patterns (medium.com/zikozero011)
    1comments
  23. Thieves steal Nvidia-labeled trailers – yields 20 tons of sand (tomshardware.com)
    1comments
  24. AI Has Cracked the Most Diabolical Problems in Math. Why Can't It Solve Chess? (wsj.com)
    2comments
  25. Show HN: ShotCandy – Turn any screenshot into a beautiful share-ready image (github.com/btahir)
    —discuss
  26. Latency reduction for consumer facing AI applications
    —discuss
  27. Show HN: InkVec Studio – In-browser, SOTA, WASM based (rust) vectorizer (hf.space)
    —discuss
  28. Fundamentals still worth learning when AI writes the code (flaviocopes.com)
    —discuss
  29. A thesis isn't enough for a PhD (lemire.me)
    —discuss
  30. How fast can you fix a UTF-16 string in C#? (lemire.me)
    —discuss

The Normalization of Inexplicable Failures

224 pointsby 7h agoihatethefuture.com
90 comments
6h agoHN ↗

If you spend more time with a product, you’re more likely to choose to do it again, even if it’s because of failure or annoyance. You’d justify it somehow (I have a leg up now or something). This actually applies to looking at things as well; a brightly colored box on the supermarket shelf is simply more likely to be chosen because you look at it first and longer.

Wasting your time and resources is a power signifier, but getting you to waste your own time and your own resources is hegemony.

6h agoHN ↗

There is no way intentionally increasing failure rates improves user retention... right? Please tell me it doesn't.

6h agoHN ↗

This is the problem building "it does everything" machines.

If you are pitching that your service can do potentially "whatever the client wants" you have such a thin basis on which to provide contracts and guarantees as a provider. The narrower the function, the clearer you can be about what's supposed to happen and why things might have gone wrong.

When you're using probabilities as the fundamental approach to computation, all of that goes out the window. Nondeterminism is powerful because it's insanely flexible, but the cost of that flexibility is predictability and expectation. Determinism was humanity's primary choice for formalisms and technology precisely because it reduces complex problems and situations to repeatable mechanics that are easy to understand. Deterministic tools can't do a lot in the grand scheme of things, but it is precisely these limitations that make them work well in concert and keep them comprehensible.

5h agoHN ↗

What happens when non deterministic machines become better than humans at translating requirements to deterministic machines?

6h agoHN ↗

Another of the ways that software "engineering" is drifting even further away from traditional engineering. Failure mode analysis? Root cause analysis? I have no idea, I just talk to this magic box.

5h agoHN ↗

When a button breaks on a website, I have a model about what should have happened. Somewhere a contract got broken. [...] I might not have access to debug just an HTTP status 500, but I expect there to be somebody whose job is to understand why the endpoint is 500ing. The ownership is well-defined albeit opaque³.

For many users, however, the actual experience is roughly just "stupid thing sucks." Software already feels capricious; more failures just change the rate of frustration.

I am betting author does not use cloud services much. It is not just "users", it's developers as well. Github is returning 5xx? AWS service does not work? Your email did not get delivered? Nothing we (developers) can do, "stupid thing sucks".

5h agoHN ↗

It is not just "users", it's developers as well.

One can be simultaneously a developer and a user. Distributed systems [0] weren't invented five years ago, after all. ;)

"Github owns this part that we rely on for correct operation and we can do fuckall about it when it fails." is a well-defined ownership model.

[0] ...implying the existence of distinct parts that can be independently developed and independently fail...

4h agoHN ↗

We see this fatalistic attitude all the time in software. "Bugs are inevitable." No, they aren't! Bugs are a choice. Almost all companies choose bugs because "no bugs" is too expensive. It's sometimes the right choice but we need to acknowledge that it's a choice and not some natural property of software. Imagine if people who built bridges or airplanes thought "bridge collapses and airplane crashes are inevitable, no way to solve it."

4h agoHN ↗

I’ve had several occasions where I would build a feature “properly” with defensive guardrails and handling of edge cases “that will never happen (but are technically possible)” and then you run into the coworker that says “it’s overengineered. YAGNI. Just do the one-line fix”

3h agoHN ↗

But...were they wrong? There is a difference between "edge case" and "cannot ever happen". I've seen this trend a lot lately where Claude suggests a lot of extra code to handle things that cannot possibly happen. Unless you ask it to, it won't trace the flow of data through the app to confirm the edge case actually exists, if local conditions appear to allow it. Then the developer lets it implement this crap without asking that one question, and I have to say YAGNI in the review.

2h agoHN ↗

I've seen so many software bugs in my career where when you traced execution, you'd find the code crashing in a block with the comment //this can never happen

42m agoHN ↗

Whether they were wrong is a matter of perspective.

I think they were against over engineering because they were constantly firefighting bugs and didn’t have time to thoughtfully review.

5h agoHN ↗

Why is the author pretending that it is only now that inexplicable failures are "being normalized"? They've been normal(ized) ever since this industry has existed.

Literally go no further than the age old advice of "have you tried turning it off and then back on again?", and then that actually working.

Did this person never experience the effects of rocking the boat just a little too much? Daring to do a little too good of a job? How?

5h agoHN ↗

Are you referring to "move fast and break things"?

If so, it's definitely newish for those of us who started programming twenty+ years ago. Back then waterfall was the way to develop applications. Once it was burned to CDs or DVDs, that was it. We could not afford shipping broken things.

Ever since internet became ubiquitous we moved to on-the-fly patching for installed software and fast deployment cycles on cloud.

That said, the lack of forethought in design and backward compatibility is nowadays definitely on the rise and occurs likely on an order of magnitude more often.

4h agoHN ↗

No, I'm referring to the "we're a massive enterprise and we don't make money by actually figuring out issues, so if service XYZ has troubles after 30 hours of uptime, then we'll restart it every 20 hours and problem solved" phenomenon.

Or the phenomenon where I piss blood explaining why having a p99 that is 30x worse than our p95 is maybe possibly a problem that should be looked at.

Or the phenomenon where concurrency exists, and so issues are no longer reliably reproducible, meaning everyone just throws their hands up and tries to ignore and downplay them as much as humanly possible. That is until a dickhead like me comes around, and does something like a scripted 300 restart cycle test overnight until a clustering resiliency defect finally reproduces, and i can capture enough debugging data that would never be possible on a live environment. All the while the product vendor is twiddling their thumbs, waiting for us to provide said data on a silver platter, because for some reason this completely stock issue doesn't reproduce on their end in a pretty much identical environment, or so they say.

5h agoHN ↗

The "normalization of inexplicability" is indeed infuriating. It has always been bad when it comes to computer software, and it's increasingly creeping into other consumer products that depend on embedded software.

I bought a new electric car recently. For the most part I've been quite happy with it. Shortly after I bought it, it started popping up a warning message saying "check EV system" every time I started it. By the time I brought it into the dealership, the warning had gone away, and the technician just told me something to the effect of "eh, I guess it just does that sometimes, let us know if it happens again." Hardware fault? Software bug? Who can say?

Like most modern cars, it has connectivity and Google Maps built into the infotainment system. The vast majority of the time, it works fine. Sometimes it says it has no connectivity (meaning no traffic data and suboptimal routes) for the duration of a drive, even in areas with a strong cell signal where it normally works fine. Sometimes the car says it has connectivity, but Google Maps still thinks it's offline. Sometimes Maps will actually load and display a route, but the "start navigation" button just spins forever as though it's still waiting for something. Are these related issues? Is there a common cause that might be fixable? Who can say?

(Conveniently enough, the warranty specifically does not cover any failures of software or firmware to operate correctly.)

5h agoHN ↗

My Kia Niro EV, which I'm otherwise quite happy with, has an occasional failure mode where it locks out the ignition for an arbitrary amount of time (generally 15 minutes). It's sometimes, but not exclusively, triggered by scheduled departure turning on the AC. Kia's response is a big shrug...

5h agoHN ↗

I think some of it is an unintended consequence of the backlash against bad or puzzling error dialog boxes in '80s and '90s software. A lot of people seem to have concluded that the easy solution to the challenges of error reporting was just to fail silently instead roll_safe.jpg .

5h agoHN ↗

a warning message saying "check EV system"

These are some of the most annoying messages a piece of software can possibly display, and I hate them with a passion!

It's like this with a lot of commercial software, where designers don't want to scare users with complicated (useful) error messages, so you just get a "whoopsie! Something went wrong".

I'd much rather have an error message that I _don't_ understand over an error message I _can't_ understand.

In the case of cars, it used to be that a generic "Check engine" light showed up on your dash, and you needed an external tool to ask the computer what caused it to light up, but why would that be nessecary in a modern vehicle? You've got a large, high resolution display (or more!) on the CAN bus, why can't it show the full problem so you could take a picture right as it happens and send it to your dealer for instant diagnosis?

4h agoHN ↗

Even if the user error is opaque, why not log a short internal error to flash or the cloud?

4h agoHN ↗

I remember twenty years ago trouble-shooting my father's Internet connections and not being able to discover the misconfiguration. Once I called the technician and they knew nothing but "wade down to this dialogue and choose 'reset'". That didn't work either - but it was a distinct moment in me noticing the Internet and software becoming opaque. And it was only gotten - sometimes those moments of opaque failure are transitory but sometimes they stay indefinitely. Currently, my android phone can't see group texts created by iphones. I'm thankfully semi-retired enough for this to be a blessing but it could a crisis for someone else (I know a couple that fixes the problem temporarily but a text isn't something you want to spend hours debugging to get if you need it).

But my point - this has been increasing for quite a while and it's something like the evil twin of the "it just works" school of design. Because when the default expectation is "just working", the failure mode is "it just doesn't work". I mean, the default assumption that users are morons has de facto made us all morons since we can only deal with the "interface made for morons" and makes failure into opaque failure.

It's world the developers know "all abstractions are leaky abstraction" but where developers still won't give users (or even downstream developers) tools to deal with the leaks 'cause a simplistic interface matters more.

"When there's no emergency exit, there can't be an emergency, can there?"

4h agoHN ↗

Late Douglas Adams noticed this phenomenon decades ago:

The major difference between a thing that might go wrong and a thing that cannot possibly go wrong is that when a thing that cannot possibly go wrong goes wrong it usually turns out to be impossible to get at or repair.

4h agoHN ↗

There's that, but even he didn't note "now, soon nearly everything is going to be in that category of things that can't possibly go wrong"

5h agoHN ↗

It frustrates me quite a bit that the best solution to many issues is "Just try again tomorrow", trusting that the problem occurring on Azure is caused by some obscure backend service being down six timezones from our office, and the thing™ will start working again in a few days when Microsoft fixes said backend service.

5h agoHN ↗

This leads to a normalization of inexplicability.

It’s also tightly connected to a normalization of lack of accountability.

This isn't "getting an FTP account, mounting it locally with curlftpfs, and then using SVN or CVS on the mounted filesystem" -- you still have to do the hard part.

This is probably losing the younger portion of the audience by now. ;)

4h agoHN ↗

The people accountable are those hosting & writing the algorithms, e.g. Therac-25.

5h agoHN ↗

Excellent post. People always defend agentic/LLM-driven development by saying, "Well it's good enough", or "It works most of the time."

That may be tolerable for some user-facing app. But what if we start normalizing failures in the libraries, the infrastructure, and the compilers? Everything descends into a mess of unreliability, and that slows EVERYTHING and EVERYONE down.

5h agoHN ↗

Exactly. Reliable abstractions are more important than ever. They're the dues the rest of us must pay to support vibe coding.

5h agoHN ↗

Banking/Finance is the one industry I've seen push back against this type of thinking. Transactions must be handled in a perfect and repeatable way, or the system is unusable as far as the company is concerned.

There's definitely still AI/LLM integration happening, but is kept out of specific areas of the business.

4h agoHN ↗

I've been seeing the very opposite. Fintech companies treating design of financial systems with the casualness of a frontend aesthetic change. And tons of business people integrating their vibecoded POCs with financially sensitive data sources.

6m agoHN ↗

Fintech != banking/finance, at least not necessarily.

4h agoHN ↗

Same with aviation and safety. I honestly believe all programmers should, early in their careers, do a brief "tour of duty" in an industry where the stakes are high and "good enough" isn't good enough. You might not choose to make it your entire career, but at least you're exposed to the discipline, however briefly. Most software developers today have never in their lives worked on a project where defects were taken seriously and where there was process and documentation designed to reduce their occurrence.

4h agoHN ↗

To be fair, I'm inclined to believe that most of this pressure to lean (if not rely) on LLMs is not coming from programmers, but rather from middle and upper management: banks are resisting this not because their programmers are holding some kind of line, but because management is not giving-in to the LLM siren call. So that tour of duty, while a good idea, would be more about teaching management skills than anything else.

The normalisation of inexplicable failures is, in my opinion, the consequence of programmers being unable to refuse their managers who have fallen for the LLM siren call, lest they lose their jobs.

4h agoHN ↗

I think the failures matter in non-sensitive environments as well albeit with a different threshold.

If you randomly screw up customer orders (think of DoorDash or an online shop or Airbnb). They lose trust in you and you lose your business to the competition. Going happy go lucky and being irresponsible in the business can bankrupt most* businesses.

* well, of course except the criminal empires which are bailed out by our tax money.

3h agoHN ↗

I’ve had banking transactions fail a number of times for unknowable or ill-defined reasons. One just last week in fact.

So that is a strange choice for repeatable, understandable operations. Might as well use Jev.

7m agoHN ↗

From a consumer perspective there's an unknown number of layers between your actions or instructions and what the backbone tech of the bank is doing, but having worked in the space I can point to a few things.

Firstly, the transaction failed and notified you about the error - that's certainly intentional.

Second, there's failures that would be invisible to you as the customer, such as "instead moving $100 from account A to account B it credited account B but didn't debit account A, without generating an error". Those are mostly the systems I'm talking about being insulated from AI development. Without more detail about the exact problem you had it's hard to tell if it's a failure in customer facing systems or backend infra.

Third, I'm assuming you were able to reach out to the bank directly and resolve the issue by talking to a person (if the issue was really outside the norm), which isn't something you can assume will be possible with a lot of customer service ops these days (or you're going to be waiting hours/days for that callback).

Fourth, you can't really know the error rate of the bank's systems, or how common a given particular error is. It may be a known issue, or it may be a completely unreported one. Assuming it's an error with something on the backend/backbone of the bank's operations, it's running code that can be inspected, reviewed, understood, and fixed - sometimes by a very expensive COBOL consultant.

5h agoHN ↗

Counterpoint: software has always had bugs. People are fallible.

Perhaps designing with assumptions that the entire stack is imperfect is the route to higher quality, along the lines of chaos monkey, which randomly kills processes on production boxes… which ensures resilience is real.

Even without AI our tech stack is so deep it’s hard to imagine every feature at every layer being provably correct.

4h agoHN ↗

And when people have the LLM do the whole design?

5h agoHN ↗

Write tests first. Have agent iterate until they are satisfied.

The point is that it boils down to writing the tests correctly, regardless of who is implementing the actual code. Hand-written code without test coverage has the same problems as AI generated code.

3h agoHN ↗

Have agent iterate until they are satisfied.

Or have them rig the tests so that they always pass.

4h agoHN ↗

However, we are not (yet) building probabilistic libraries right? Even if AI is used, the code it builds is still deterministic and will fail in a way that can be fixed.

Not unlike legacy code, where the original developers are long gone and no one knows when that system breaking bug is about to wake up.

Even in the best of cases tho, fully human written and reviewed code will still fail eventually.

So I would say we are not normalizing failures (yet) but rather normalizing legacy.

4h agoHN ↗

It's also worth noting that LLM are fairly well suited to finding and documenting "load bearing" legacy bugs (when set out to do exactly that.)

I know because I've spent the better part of a year having them do exactly this as a precursor to rewrites in more perfomant tech stacks. Once this research is done, it's a fairly safe and mechanical translation job.

4h agoHN ↗

Even if AI is used, the code it builds is still deterministic and will fail in a way that can be fixed.

Say that with confidence now. You'll say with shock and incredulity later, "It can be fix? Right?!?!" (Cue some meme). Reproducing bugs is often hard for well designed systems. For randomly designed systems, it's a nightmare.

Fixing software is hard and fixing bad software is harder and fixing software where you didn't even think at the time how to make it maintainable is hardest.

Legacy systems are usually systems that were well designed at the time. That's why it's worth fixing them now.

--> And none of this is saying AI designed systems are bad. But if the only criteria is "code is deterministic by default, it works and we can fix problems later" then AI seems likely a terribleness accelerator.

3h agoHN ↗

"Well designed systems" are the key words.

Code written with AI can be fixed, if well designed, they are not mutually exclusive.

Also legacy systems were absolutely not always well designed, I've picked up a fair share of systems that were absolutely not well thought out, usually due to time pressure, or any other context specific reasons.

I do believe we are creating legacy systems faster now, and it's because teams are unable to keep up with the speed of changes, not because their system is not meant to be maintainable.

My point remains tho, using AI doesn't have to mean normalizing failures.

3h agoHN ↗

So I would say we are not normalizing failures (yet) but rather normalizing legacy.

Nice way of putting it.

3h agoHN ↗

We've been using probabilistic algorithms a long time now, also known as randomised algorithms. You probably won't find a program that is not using a hash table.

Compilers actually actively try to stay deterministic in their output.

3h agoHN ↗

People always defend agentic/LLM-driven development by saying, "Well it's good enough", or "It works most of the time."

The main argument for LLM-driven development is much simpler: "It will get better".

The current state of LLM coding is about a year old. Imagine if we dismissed human coding efforts after a year. Rust, Python2 -> Python3 transition, Python type checking, Windows, C++, … nothing of that was done in a year and emerged in perfection in the first year. Everything takes ages to mature into a usable product. LLM coding is still in the "throw mud at the wall and see what sticks" stage, give it some more years and see how it will develop and what approaches actually work at. For the time being, LLMs are just the most useful development tool in the history of development tools, that's a pretty solid start in such a short time.

1h agoHN ↗

No one moved everything to Rust on the first year the language was released either, and you can get analogies for all of your examples. But it does look like the majority of people have jumped into agentic coding

1h agoHN ↗

If it matters then people will have to start building their own libraries/vendoring etc. I don't see any change in the dilemma to the times before widely available well tested OSS. There is still no legal agreements between OSS and their users so I'm sure people running businesses on OSS we're prepared for this.

1h agoHN ↗

This is the difference between engineering and knowledge work.

Manufacturing lines have tight tolerances. Science has 95% confidence intervals (or greater). HFT has fractional pennies to steamroll up. But “business” (broadly), leadership, macro decisions 3+ steps removed from the coal face can safely operate at wider tolerances.

I cringe whenever I see “xx.xx% growth” on a report as if the value in that hundredth of a percent place is going to sway anyone’s opinion one way or the other. It’s superfluous, wasteful and I would argue, harmful.

The U.S. Marines teach the “70% solution” which says that making a decision that is 70% correct now is better than making a 100% correct decision later.

The speed of your OODA loops is critically important, and cannot be overlooked or expensed in favor of determinism, predictability etc for its own sake. (After all “no plan survives first contact”)

5h agoHN ↗

See also "normal accidents" [1], which are an even bigger worst case scenario, which we already struggle with, and will only get worse.

"Normal accidents, or system accidents, are... inevitable in extremely complex systems. Given the characteristic of the system involved, multiple failures that interact with each other will occur, despite efforts to avoid them... while operator error is a very common problem, many failures relate to organizations rather than technology, and major accidents almost always have very small beginnings. Such events appear trivial to begin with before unpredictably cascading through the system to create a large event with severe consequences." [1]

[1] https://en.wikipedia.org/wiki/Normal_Accidents

5h agoHN ↗

I am big on reproducibility (nix aficionado) and determinism (flagging test failures are a red-alert, all-hands-on-deck situation in my world) and correctness.

I am also big on testing (the correct things). And nine-nines (big on Elixir).

And... I'm also big on agent-assisted dev. Which requires pretty much every check in the book to stay productive in. And that's fine to me. I've seen bugs that I wouldn't have made myself. And I've also seen my own bugs fixed. They've all gotten fixed in short order. I don't see why this is a problem.

Raise your personal standards.

Thing is, the unreliable-software situation was already untenable before agents (in poor hands) made it worse.

4h agoHN ↗

This, 100% I've seen far far worse produced by humans.

1h agoHN ↗

If the anti-AI people have skill issues because they're holding it wrong then when the output is crap it's the fault of the person with no skill issues who is using It correctly. It can't be both ways.

4h agoHN ↗

I don’t think the author (or many people) doubt that one can (and some will) find a way that does not “suck”

But it’s pretty clear that most people are not. For whatever reasons (mgmt pressure, trying to get ahead, skill issues, etc) they half ass it, accept the 10% (silent) fail rate and blame the bad outcomes on the AI as if that absolves them. Or, adopt the attitude that 10% fail is fine, and people who say otherwise are being picky, or are anti-ai luddites or whatever. You should accept that things will suck.

4h agoHN ↗

Yeah, a good reason to be touchy about AI is that it tips the balance of power to lazy people who don't want to work or think. On the scale of our whole society. Imagining the ideal responsible use by most others is folly. No matter how responsible and conscientious you, the reader, are with your use of it.

4h agoHN ↗

If you took a bad but functional AI generated service and transported it back to 2018 it would have been at worst just mediocre. People do seem forget how dreadful devslop was in the past. I'd take an AI generated mess to disentangle every time over a spaghetti codebase that grew organically in the hands of careless managers.

3h agoHN ↗

That’s true. But there were also places with very high standards and good design. And the LLM slop is pushing in there as well.

3h agoHN ↗

Are the managers of these hypothetical places still interested in keeping the high standards and good design? Enshitification isn't inherent to the technology, if this is what you are deriving from the counterexample, it's a business strategy my dude.

3h agoHN ↗

It’s a combination of technical capabilities and human nature / incentives in big companies.

Concepts like good design, security, quality are abstract and hard to measure.

Time, cost, revenue etc are easy to measure. The “quality” people eventually get push aside by the money people.

This is not new, but LLMs further tilt the balance

2h agoHN ↗

This is not new, but LLMs further tilt the balance

You speak as if llms had their own minds. Every time anyone talks about AI doing this or that they further reinforce this idea that there isn't a person behind all this. There's always someone watching.

With that said, when you say that llms tilt the balance, who specifically do you say that's driving llms to do that?

3h agoHN ↗

People do seem forget how dreadful devslop was in the past.

It was dreadful, but the volume was a single-digit percentage of what you see now.

Even those develoeprs who made a living opying from SO *still needed to make that code work for their system!"

3h agoHN ↗

Volume has nothing to do with it, this is discussing code quality. But if you mind me saying so, blame this ridiculous amount of codeslop volume on greedy managers and corpocrats. Developers are artists, they usually ship shitcode when they're under pressure

2h agoHN ↗

As far a I can tell, most didn’t bother to see if it worked for the system,p. They just needed to have it compile in their system and then they’d call it done.

1h agoHN ↗

If someone was a crappy developer it was also a coin flip if anything actually got shipped. AI will shove it out the door in whatever state it can.

2h agoHN ↗

But as more and more things depend on increasingly deep software stacks, everything goes to utter shit if the individual systems don't become more reliable.

2h agoHN ↗

If you asked management they'd say that's "business risk"

1h agoHN ↗

That's a problem of customers stop paying for the product. If the don't then it's a philosophical discussion. I don't like the dilemma because I've been in a company that went bust from years of bungling it couldn't recover from and I wouldn't want to repeat the experience.

4h agoHN ↗

Thing is, the unreliable-software situation was already untenable before agents (in poor hands) made it worse.

Yes but that's the big thing, now isn't it? These are nice tools, used wisely. But their unwise use, oh boy...

The problem is one needs to be in a situation where the incentive is towards quality rather than speed. But that situation rather rare now - thirty years ago, Microsoft won the office wars with crap that had features. And nothing has fundamentally changed in web development since the LPad crisis.

The problem is those companies whose incentive is to allow bugs where it's the involuntary users who suffer will bite you no matter what quality you make your own software.

4h agoHN ↗

Thing is, the unreliable-software situation was already untenable before agents (in poor hands) made it worse.

I have definitely seen more bafflingly-poor OSS software that just plain doesn't work frequently now than before.

But it's mostly software that wouldn't have existed before because it's trying to do super-niche things. So on the "hobby" side of things, whatever.

But from a "trying to develop software as a business that you want to be a going concern," quality from people who should know better is less tenable than it used to be.

5h agoHN ↗

"Confidence scores" have always implied an anthopocentric meaning that doesn't exist. An algorithm doesn't have "confidence" in the way that a person has confidence, but as soon you put something with that name in front of a business person they assume the number is always a meaningful "letter grade curve" or "universal percentage". I still believe so much that the old quote to "there's lies, damned lies, and then statistics" remains a key to understanding so much why ML is leading to dumb outcomes versus hype. People don't understand statistics, so machines that produce nothing but statistics especially confuse people. (I feel this applies to LLMs as well.)

5h agoHN ↗

Inexplicable has a range from “I can’t explain that” to “that is not in the realm of possibility”. Windows failures especially have been steadily moving from A (already pretty sad) to B in the past years and I’ve been thinking about how utterly unempowering that is. Tools stop being tools if they have a secret life of their own.

Excellent post!

5h agoHN ↗

That’s not even an attempt to be charitable to jev. It can make decisions from unstructured data. Nobody uses anything just because it is cheap…

4h agoHN ↗

Yeah I think the Jev hype is weird... But this blog post is complete nonsense.

Of course you aren't going to use Jev where you can easily make a decision deterministically with old-school programming. It's going to be used for stuff that might have previously been done by a person, e.g. reviewing app updates in app stores, reviewing CVs, labelling bugs, etc. Obviously that can already have inexplicable failures.

4h agoHN ↗

I’ve validated Jev’s confidence score. Accuracy scales linearly with confidence for the 3 use cases I tested. >.9 it matched a human labeler. I immediately discovered a user behavior I didn’t expect for ~$3. I can now mitigate in real-time due to low cost and latency. This may have a major positive financial impact for all our customers.

Not sure why anyone would feel the need to dunk on this thing without showing a real failure example.

4h agoHN ↗

TBF OP makes a good point: skipping out on the whole fine-tune sing and dance and diving directly into a good general classifier is a barrier to developing actual, deep intuition for the problem space (a pretty prevalant anti-AI argument).

3h agoHN ↗

If you’ve validated the Jev scores, then it means you’ve built and run the evals. The exact thing the author is arguing needs to be done if you’re using Jev.

So they’re not dunking on that, they’re dunking on the idea that you can just trust Jev confidence scores without actually doing any validation.

4h agoHN ↗

I build ai systems for ops automation and don’t understand the author’s pessimism.

I agree with that Evals are a scarce commodity rn. A business needs to define what good looks like. This is a laborious, and sometimes politically controversial, process.

Given good Evals, frontier llms are a magical tool that can automate tasks and do them more accurately than human ops teams.

Exactly which llm to use depends on the mixture of speed, cost and quality of the output.

Jev makes a claim to expand some regions of the Pareto frontier. I look forward to testing if this is true.

There are many areas of work we can’t automate rn. We cannot create good Evals either because time horizons are too long, or it’s too difficult to create good Evals.

That doesn’t mean there’s anything wrong with building good ai engineering systems in areas where it works magically.

3h agoHN ↗

That doesn’t mean there’s anything wrong with building good ai engineering systems in areas where it works magically.

Without the evals, how do you know it works magically? I think that’s the entire point of the authors article, people are using AI tools, and trusting the AI own evaluation of its performance, without making any attempt to validate if the AIs confidence actually correlates to anything meaningful.

From what I’ve seen, the result tends to be very exciting demos, followed by incredibly mediocre results when deployed into a real environment. The lack of critical evaluation then provides a double whammy, because it takes longer than it should to realise the system isn’t actually working correctly, and then the team lacks the skills and understanding needed to improve the system they’ve built. You just kinda have to hope that the next model release is going to magically result in better performance for your particular scenario, which won’t be able to measure due to the lack of evals.

3h agoHN ↗

You need a set of Evals, which catch enough of the mistakes your llm makes following your baseline prompt, so you have an equal or lower error rate than humans.

This can be determined by offline benchmarks if you build a system that takes small sequences of actions, and requires live ab test for long sequences of actions.

The more your human ops team work from documented standard operating procedure, rather than tacit knowledge, the less you need Evals except to capture edge cases

2h agoHN ↗

That can't be gold, must be movie props. Gold is stored in reverse pyramid, not upright pyramid, as to be movable at all. And it is not usually stored that high without shelves, since the floor below should not be indented by half a metre and picking up the last gold at floor level would be more cumbersome.

(Yes, storing gold on a what the room door claims is a toilet is a best practice, as thieves won't look for it there. But now the security through obscurity got leaked /s )

2h agoHN ↗

"Appeal to adult animated show" is lame enough on Reddit but it's particularly odious blogspam here.

1h agoHN ↗

That was awfully specific. Apple has managed to normalize inexplicable failures of things that had been working before for over a decade, across all of their apps and the OS. And they didn't even need AI for that. But AI will definitely speed up the rate of blunder everywhere.

1h agoHN ↗

I've been saying this for years – it's a huge societal problem that most people, including powerful people, view technology in general and software in particular as something slightly magical, something that cannot be truly understood. We're seemingly forever doomed to accept that technical things are a bit shitty and that we'll have to do a rain dance every now and then to appease them. Instead of, you know, throwing out the shitty products and making or buying good ones.

Lovely post, and lovely phrase (normalizing of inexplicable failures).

38m agoHN ↗

I've seen people opt to refactor their entire codebase from one lang to another just because AI made it so much easier. Sure there were problems before, but now the new code with the better language is not readable and needs another refactor once this entire thing is done.

32m agoHN ↗

Amount of APIs failing for no reason and the answer is just retry these days is insane

I don't mind doing it but why is this the norm