Remix.run Logo
stavros 20 hours ago

If you think programs are predictable, I have a bridge to sell you.

The only relevant metric here is how often each thing makes mistakes. Programs are the most reliable, though far from 100%, humans are much less than that, and LLMs are around the level of humans, depending on the humans and the LLM.

watwut 20 hours ago | parent | next [-]

When human makes a mistake, we call it a mistake. When human lies, we call it a lie. In both cases, we blame the human.

When LLM does the same, we call it hallucination and blame the human.

raincole 16 hours ago | parent [-]

Which is the correct reaction, because LLM isn't a human and can't be held accountable.

wat10000 19 hours ago | parent | prev [-]

Programs can be very close to 100% reliable when made well.

In my life, I've never seen `sort` produce output that wasn't properly sorted. I've never seen a calculator come up with the wrong answer when adding two numbers. I have seen filesystems fail to produce the exact same data that was previously written, but this is something that happens once in a blue moon, and the process is done probably millions of times a day on my computers.

There are bugs, but bugs can be reduced to a very low level with time, effort, and motivation. And technically, most bugs are predictable in theory, they just aren't known ahead of time. There are hardware issues, but those are usually extremely rare.

Nothing is 100% predictable, but software can get to a point that's almost indistinguishable.

stavros 19 hours ago | parent | next [-]

> Programs can be very close to 100% reliable when made well.

This is a tautology.

> I've never seen a calculator come up with the wrong answer when adding two numbers.

https://imgz.org/i6XLg7Fz.png

> And technically, most bugs are predictable in theory, they just aren't known ahead of time.

When we're talking about reliability, it doesn't matter whether a thing can be reliable in theory, it matters whether it's reliable in practice. Software is unreliable, humans are unreliable, LLMs are unreliable. To claim otherwise is just wishful thinking.

jakelazaroff 18 hours ago | parent | next [-]

That's not a tautology. You said "programs are the most reliable, though far from 100%"; they're just telling you that your upper bound for well-made programs is too low.

faeyanpiraat 18 hours ago | parent | prev | next [-]

You mixed up correctness and reliability.

The ios calculator will make the same incorrect calculation, but reliably, every time.

stavros 18 hours ago | parent [-]

Don't move the goalposts. The claim was:

> I've never seen a calculator come up with the wrong answer when adding two numbers.

1.00000001 + 1 doesn't equal 2, therefore the claim is false.

17 hours ago | parent | next [-]
[deleted]
samus 17 hours ago | parent | prev | next [-]

That's a known limitation of floating point numbers. Nothing buggy about that.

Muskwalker 14 hours ago | parent [-]

In fact in this case, it's not the known limitation of floating point numbers to blame: this Calculator application gives you the ability (submenu under View > Decimal Places) to choose a precision between 0 to 15 decimal places, and it will do rounding beyond that point. I think the default is 8.

The original screenshot shows a number with 13 decimal places, and if you set it at or above 13, then the calculation will come out correct.

The application doesn't really go out of its way to communicate this to the user. For the most part maybe it doesn't matter, but "user entering more decimal places than they'll get back" might be one thing an application might usefully highlight.

1718627440 15 hours ago | parent | prev | next [-]

1.00000001f + 1u does equal 2f.

wat10000 17 hours ago | parent | prev [-]

Sorry, but this annoys me. The claim might be false if I had made it after seeing your screenshot. But you don't know what I've seen in my life up to that point. The claim that all calculators are infallible would be false, but that's not the claim I made.

When a personal experience is cited, a valid counterargument would be "your experience is not representative," not "you are incorrect about your own experience."

stavros 14 hours ago | parent [-]

Well if you haven't seen enough calculators to see one that can't add, a very common issue with floating point arithmetic on computers, you shouldn't offer your experience as an argument for anything other than that you haven't seen enough calculators.

wat10000 12 hours ago | parent [-]

How many calculators do I need to have seen in order to make the claim that there are many calculators which are essentially 100% reliable?

Note that I am referring to actual physical calculators, not calculator apps on computers.

stavros 11 hours ago | parent [-]

Well, to make the claim you actually made, which is that you haven't seen a single calculator that was wrong, anywhere from zero to all of them. It's just that the "zero" end of that spectrum doesn't really tell us anything about calculators.

sjsdaiuasgdia 18 hours ago | parent | prev | next [-]

RE: the calculator screenshot - it's still reliable because the same answer will be produced for the same inputs every time. And the behavior, though possibly confusing to the end user at times, is based on choices made in the design of the system (floating point vs integer representations, rounding/truncating behavior, etc). It's reliable deterministic logic all the way down.

stavros 18 hours ago | parent [-]

> I've never seen a calculator come up with the wrong answer when adding two numbers.

1.00000001 + 1 doesn't equal 2, therefore the claim is false.

sjsdaiuasgdia 17 hours ago | parent [-]

Sure it does, if you have made a system design decision about the precision of the outputs.

At the precision the system is designed to operate at, the answer is 2.

wat10000 17 hours ago | parent | prev [-]

> > Programs can be very close to 100% reliable when made well. > This is a tautology.

No it's not. There are plenty of things that can't be 100% reliable no matter how well they're made. A perfect bridge is still going to break down and eventually fall apart. The best possible motion-activated light is going to have false positives and false negatives because the real world is messy. Light bulbs will burn out no matter how much care and effort goes into them.

In any case, unless you assert that programs are never made well, then your own statement disproves your previous statement that the reliability of programs is "far from 100%."

Plenty of software is extremely reliable in practice. It's just easy to forget about it because good, reliable software tends to be invisible.

samus 16 hours ago | parent [-]

> No it's not. There are plenty of things that can't be 100% reliable no matter how well they're made. A perfect bridge is still going to break down and eventually fall apart. The best possible motion-activated light is going to have false positives and false negatives because the real world is messy. Light bulbs will burn out no matter how much care and effort goes into them.

All these failure modes are known and predicable, at least statistically

wat10000 12 hours ago | parent [-]

If you're willing to consider things in aggregate then software is perfectly predictable too.

mrguyorama 14 hours ago | parent | prev [-]

>I've never seen a calculator come up with the wrong answer when adding two numbers.

Intel once made a CPU that barely got some math wrong that probably would not affect the vast majority of users. The backlash from the industry was so strong that intel spent half a billion (1994) dollars replacing all of them.

Our entire industry avoids floating point numbers for some types of calculations because, even though they are mostly deterministic with minimal constraints, that mental model is so hard to manage that you are better off avoiding it entirely and removing an entire class of errors from your work

But now we are just supposed to do everything with a slot machine that WILL randomly just do the wrong thing some unknowable percentage of the time, and that wrong thing has no logic?

No, fuck that. I don't even call myself an engineer and such frivolity is still beyond the pale. I didn't take 4 years of college and ten years of hard earned experience to build systems that will randomly fuck over people with no explanation or rhyme or reason.

I DO use systems that are probabilistic in nature, but we use rather simple versions of those because when I tell management "We can't explain why the model got that output", they rightly refuse to accept that answer. Some percentage of orders getting mispredicted is fine. Orders getting mispredicted that cannot be explained entirely from their data is NOT. When a customer calls us, we cannot tell them "Oh, that's just how Neural networks are, you were unlucky".

Notably, those in the industry that HAVE jumped on the neural net/"AI" bandwagon for this exact problem domain have not demonstrated anything close to seriously better results. In fact, one of our most DRAMATICALLY effective signals is a third party service that has been around for decades, and we were using a legacy integration that hadn't been updated in a decade. Meanwhile, Google's equivalent product/service couldn't even match the results of internally developed random forest models from data science teams that were.... not good. It didn't even match the service Microsoft has recently killed, which was similarly bragadocious about "AI" and similarly trash.

All that panopticon's worth of data, all that computing power, all that supposed talent, all that lack of privacy and tracking, and it was almost as bad as a coin flip.