News for hackers. Stuff that matters.
Re:Genoa Bridge Collapse: The Road to Tragedy by jandrese on Thursday September 06, 2018 @04:09PM (#17929164)
Generally programmers try to avoid redundancy.

I guess you could talk in abstract terms about overbuilding a program by including a large amount of self-checking and possibly even error correction, but that's a bit of a stretch.

Re:Genoa Bridge Collapse: The Road to Tragedy by stcredzero on Thursday September 06, 2018 @04:39PM (#17929364)
Generally programmers try to avoid redundancy.

There is the whole "Don't Repeat Yourself" mantra.

I guess you could talk in abstract terms about overbuilding a program by including a large amount of self-checking and possibly even error correction, but that's a bit of a stretch.

That's a "bit of a stretch!?" That's how you should build anything that needs to be fault tolerant and robust. Maybe not a "large" amount, but enough, such that one error doesn't strand the user in a highly inconvenient situation. A key example: text messages that can crash Messages and leave the iPhone in a state where the user has to reboot. This has happened several times over the years! Apple programmers here on HN will shrug their shoulders and tell you that you have to let the process crash to ensure memory isn't corrupted. So why not have one process which can crash, working off a file acting as a queue, with another process monitoring attempts to process each element, and limiting the number of tries for each item on the queue? Apparently, that's too much trouble, and it's easier to just pooh-pooh people on social media.

Is it "redundant" to overbuild that part of the system? Yes. It's also much better for the user and for the company long term.

Re:Genoa Bridge Collapse: The Road to Tragedy by Aloha on Thursday September 06, 2018 @06:14PM (#17930103)
You should at least build something with the assumption that it will break, and be able to reset and normal itself without loss.

A good watchdog can be more valuable than bug free software.

Re:Genoa Bridge Collapse: The Road to Tragedy by stcredzero on Thursday September 06, 2018 @07:56PM (#17930720)
You should at least build something with the assumption that it will break, and be able to reset and normal itself without loss.

Too much to ask of this generation of young programmers for something like messages on the iPhone. That's not a central feature of a smartphone anyways, right? Just let the user reboot.

Re:Genoa Bridge Collapse: The Road to Tragedy by jandrese on Thursday September 06, 2018 @09:18PM (#17931177)
I meant it was a bit of a stretch to call error checking redundancy.
Re:Genoa Bridge Collapse: The Road to Tragedy by djmips on Friday September 07, 2018 @08:27AM (#17933701)
It's not like redundancy we are talking about in a bridge means having superfluous pillars but that it can fail gracefully that can be handled and fixed without catastrophe. Error checking can achieve a similar goal in software.
Re:Genoa Bridge Collapse: The Road to Tragedy by jandrese on Friday September 07, 2018 @09:22AM (#17933998)
That's exactly what we are talking about with bridge design: Overbuilding it so you can lose an element without the bridge collapsing.

There really isn't a concept of a bridge "failing gracefully". Any failure is a disaster. You can talk about a bridge being functional even after it becomes weakened by the elements or overloading or poor maintenance or some other condition, but that is another case of overbuilding.

I guess what I'm saying is that software and bridges are not very similar.

Re:Genoa Bridge Collapse: The Road to Tragedy by nradov on Friday September 07, 2018 @09:58AM (#17934247)
Real redundancy in software development would be to do something like having three independent teams implement each module, and then use voting logic to compare the outputs. Obviously that's not practical in most real world cases due to labor costs, limited hardware resources, and excess power consumption.