Live data from Hacker News

The presumption that computers are working correctly

emptycity.substack.com

31–40 of 171 posts

Re: The presumption that computers are working correctly

#31
post #18

This is the first I've heard of this scandal. I'm curious what the major problems were with the software that caused the discrepancies. Dropped connections? Wikipedia didn't go into much detail with that. Ok I found this: https://www.benthamsgaze.org/2021/07/15/what-went-wrong-with...

It is one of the biggest scandal of our time related to software. I ... want to recommend learning more about it but only do so with a strong stomach. Numerous people that rabbithole into this case end up running to a nearby bucket. It is... not pretty.

I agree, I find it hard to read about because it makes me so angry. Four people driven to suicide, hundreds of lives ruined. It took them so long to hold all the inquiries and decide on compensation that dozens have died before being acquitted or receiving compensation.

Re: The presumption that computers are working correctly

#32
post #29

Earlier quoted context omitted.

Your experience is quite limited. Too limited to have a meaningful opinion on this subject frankly.

Enlighten us then.

No one else but you can provide you with experience. Hardware has both bugs (defects) and it fails, sometimes in ways not gracefully. An experienced multidisciplinary developer is certain to encounter them at some point. Depending on the discipline this may be a very common occurrence or it may be rare. Devs working at either extremes of scale are more likely to encounter these problems. Defects may go unnoticed due to software workarounds of all things

Here is just one example to get you started: https://nakedsecurity.sophos.com/2011/08/10/bh-2011-bit-squa...

https://edc.intel.com/content/www/us/en/secure/design/confid...

Re: The presumption that computers are working correctly

#33
post #7

As a programmer, it's my experience that the computer itself usually works correctly. It's almost never a hardware bug. But software.... software gets things wrong all the time and the computer hardware just blindly does what the software told it to.

As a programmer that works on drivers, it's my experience that hardware almost never works correctly. "We'll fix it in software" might as well be the official motto of the hardware industry.

As a firmware engineer I’m horrified at the presumption that hardware is always operating correctly. Many times I’ve been told “your new firmware is broken” and the real problem is something as mundane as an improper capacitor or resistor value.

Also just look at the errata sheet for any microcontroller. Hardware bugs are so prevalent we have a special term and semi standardized document to describe them.

Re: The presumption that computers are working correctly

#34
post #22

Earlier quoted context omitted.

In the US at least it is hard to bring source code into the trial, even though you technically have a right. I remember one case where the FBI installed malware via a browser exploit on thousands of computers to get their IPs and one defendant tried to get the source code but the government managed to keep it secret.

That sounds like one of the "Playpen" cases, for which the EFF has a writeup on the hacking tool. [0] Perhaps also relevant would be United States v. Lafon Ellis [1], where the defendant sought access to the source-code of a DNA fuzzy-matching service. [0] https://www.eff.org/pages/playpen-cases-frequently-asked-que... [1] https://www.eff.org/deeplinks/2021/02/federal-court-agrees-p...

>Perhaps also relevant would be United States v. Lafon Ellis [1], where the defendant sought access to the source-code of a DNA fuzzy-matching service.

I'm glad at least in this instance the defendant got access to the source code. He was being helped in pursuing this by EFF so I assume there were volunteers that helped with the analysis. But what if your case is lower profile? What if you can't afford to hire 10 programmers for 3 months to write test cases?

Also I wonder how such a request would go down in a UK court.

Re: The presumption that computers are working correctly

#35

While this is a question of what the court should presume, should we ask what does a software developer presume or doesn’t: A software developer would presume proper working of software if it is being used widely. I would presume JavaSDK or pandas library to be working properly, inspite of the fact that pandas that 3.5K bugs file on GitHub issues. But if I am thinking about integration a less known library or using a…

Given enough eyeballs, all bugs are shallow. As such, they are complained about by thousands of people, for years.

Less ironically, one can expect widely used features of widely used software to have been tested in realistic conditions so whatever bugs there might be are at least known. But it takes an insane amount of testing to cover the phase space even of a moderately complex piece of software: look how large is the test suite of SQLite.

Apparently the only working approach to less buggy software is to compose software from small, self-contained,isolated, well-understood parts, so that you can reason about the whole more easily. This is the philosophy behind the original Unix. This is the philosophy behind functional programming. This is partly the philosophy behind actor systems (even though reasoning about async interactions is harder). I expect to see more and more of these in practice.

Re: The presumption that computers are working correctly

#36
post #7

As a programmer, it's my experience that the computer itself usually works correctly. It's almost never a hardware bug. But software.... software gets things wrong all the time and the computer hardware just blindly does what the software told it to.

> As a programmer, it's my experience that the computer itself usually works correctly. It's almost never a hardware bug.

Wow there are some patronising people responding to your comment.

I think this is mostly true for 95% of software and the experience of software developers. But CPUs are full of bugs that only manifest when certain code is run - perhaps the order of instructions or when in certain states. Often these are hidden/fixed in software - compilers/drivers/microcode etc.

Re: The presumption that computers are working correctly

#37
post #35

While this is a question of what the court should presume, should we ask what does a software developer presume or doesn’t: A software developer would presume proper working of software if it is being used widely. I would presume JavaSDK or pandas library to be working properly, inspite of the fact that pandas that 3.5K bugs file on GitHub issues. But if I am thinking about integration a less known library or using a…

Given enough eyeballs, all bugs are shallow. As such, they are complained about by thousands of people, for years. Less ironically, one can expect widely used features of widely used software to have been tested in realistic conditions so whatever bugs there might be are at least known. But it takes an insane amount of testing to cover the phase space even of a moderately complex piece of software: look how large is…

Yes. Bugs are there, but either they're shallow, well known and worked around, or have low impact for the majority of people using them.

The epitome of that was utf-8 support for a long time: there were a huge number of bugs, but alaphabet based languages would be mostly ok, and most devs would know it was a mess and work around that as much as they can.

To me one should expect any software to be broken in numerous ways, and take the time to check what happens around the area that are critical to them.

> compose software from small, self-contained,isolated, well-understood parts, so that you can reason about the whole more easily.

That looks awfully close to the micro-service approach as well. The approach can be good, but it still gives me pause.

Re: The presumption that computers are working correctly

#38
post #26

After a lifetime of fixing bugs I’m often surprised that computer systems work at all. I had something similar to the failed post office system affect me personally, and everyone just rejects that the computer system could be at fault, even when presented with evidence, as it too too much work for them to try to understand.

Occam's razor can be double-edged sometimes.

Re: The presumption that computers are working correctly

#39
post #26

After a lifetime of fixing bugs I’m often surprised that computer systems work at all. I had something similar to the failed post office system affect me personally, and everyone just rejects that the computer system could be at fault, even when presented with evidence, as it too too much work for them to try to understand.

It is too much work. It’s way too complex.

Re: The presumption that computers are working correctly

#40
post #26

After a lifetime of fixing bugs I’m often surprised that computer systems work at all. I had something similar to the failed post office system affect me personally, and everyone just rejects that the computer system could be at fault, even when presented with evidence, as it too too much work for them to try to understand.

> I’m often surprised that computer systems work at all.

I also remain contunually amazed that anything works. It boggles my mind, because I have seen how software gets built. How can it possibly all work?

I think my answer to this conundrum and seeming paradox is that it doesn't all work. We have trained ourselves and been trained to accept things that aren't working as something else.

And like you say, people treat the computer system either as all knowing and infallible or as a scapegoat.

Post reply on HN