Serious Software Glitches

  • Comments posted to this topic are about the item Serious Software Glitches

  • The article cited "This also coincided with a (an unrelated) law that changed saying computer systems were presumed correct and anyone accused of a crime had to prove the computer was wrong."

    I think that it's absolutely criminal that anyone would make a law against humans stating that they are guilty until a computer is proven guilty.  Many humans stand no chance in being able to prove that a computer is guilty especially because of all the paths taken by data nowadays.

    From the article..."While application developers have gotten very good at unit testing, that same habit hasn't gotten as widely deployed among database developers. "

    That's a load of hooie.  Developers from both sides suck.  Remember that "perfection is the enemy of done" and all that sissy crap that's used as an excuse for crap code?  Yeah... anyone that says that is a part of the problem and it's not limited to either side.  And, no... I am NOT saying that all Developers suck.  There are actually some that believe in doing the job correctly.

    From the article "Much of the software I've worked on isn't directly related to affecting human lives. That's probably true for most of you unless you write software that controls some sort of vehicle movement or medical device that dispenses care or drugs. "

    That's absolute pure unmitigated rubbish and I wish that people would stop saying stuff like that.  I work with data for mortgages and mortgage insurance.  It's directly related to human lives.  If you don't believe so, ask one of the people trying to find a place to live after a hurricane wiped their house off the face of the planet or a fire burned it into the ground.  The crap code written by Fujitsu (which will not fug jus u) directly affected human lives.  Anyone that writes any finance software affects human lives.  Even people that write gaming software affect human lives.  The real fact is that almost all software has some direct effect on human lives and whether death is a by product or not doesn't change the fact that it can have a powerful effect on human lives and the quality of the lives.

    And anyone that thinks that software is correct until it's proven that it's not based on someone's word is nuts.  If the software works correctly, it should be easy to prove it does even in exceptional circumstances.  There's no psychology here... given a set of gazintas, either the code works correctly or it does not. It's an easy proof.

    Even the changes in the forum software has affected human lives.  Many fine people have quit this fine community because of the changes years ago that have not yet been fixed.

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • HMRC (tax office) has the guilty until proven innocent perversion too.  I didn't know a similar law was used for the Post Office.

    Everything about this story stinks.  People were prosecuted and convicted on a known falsehood, which is unforgivable.  It's worth restating... PEOPLE DIED!

    As to "Can we do better"?  I've worked for managers who would have fought tooth and nail to get this resolved correctly ASAP.  But I've also worked for bonus chasers and people who will condone anything that won't come back to bite them during the time they are responsible and accountable.  Holding yourself and those underneath you to a high standard is hard work and you get there with loads of tiny victories.

    Allowing lapse standards simply requires you to look the other way and gravity drags the whole mess downwards very quickly.  This is why leaders have to hold themselves to the highest standards, why they have to insist that the safety mechanisms be in place, tested and enforced and that there be a robust "who watches the watchers" regime.

  • I have related before that years ago I discovered a common coding error in a set of 10-12 internal/external dealer reports which I repaired/verified/released to our QA (Quality Assurance!) group.  The timid folks in QA would not release the set to production for dealer's systems across the country and several foreign as well.

    My old boss told me that to the day the system was retired the fixes were never implemented.  While there was nothing financial involved, the invalid data was allowed to be produced for a number of years without being corrected.

    In this situation, could I have been involved in a legal battle that I had in fact corrected.  And if I had informed users, could I still possibly be held responsible for unauthorized release of information?

    Rick
    Disaster Recovery = Backup ( Backup ( Your Backup ) )

  • When I left my previous job, I'd only heard a little about unit testing. I'd no idea what it really was. I've learned since then and use it in my current job.

    I agree with both Jeff and David that having a law punishing humans first, and apparently presuming the algorithms used in software are without error, is wrong! In my previous job I had written a report which used a wrong calculation. It was my fault. External users called me out on it, demonstrating that I had made a mistake in my calculations. Boy, I wish I'd known about unit testing at that point. After that it took a long time before those users trusted anything I put out. Thank God that no lives and property was at stake.

    I'm a developer so using a unit testing suite like MSTest or xUnit is easy. I have never used a database unit testing framework, so I cannot add to that part of this discussion other than to point to tSQLt for those here who might not have seen it before.

    Kindest Regards, Rod Connect with me on LinkedIn.

  • Just another small tidbit for you all.  I have found that one of the characteristics that may plague us all for the rest of our lives is that we notice tiny defects and discrepancies in everything, we obsess over inconsistencies that may not matter, and will tend to maybe over-analyze everything to the distraction of our families and friends.

    For instance, a few minutes ago I was watching about 15 birds at the feeders outside my home office.  So what did I notice in the flock?  One of the birds had a small feather sticking out from his wing that was not in line with the others.

    My wife recently sent me link to this article:

    https://www.vox.com/even-better/24055564/catastrophizing-stop-assuming-the-worst-negative-thoughts

    Wait a sec while I move her coffee cup back from the edge of her desk...

     

     

    Rick
    Disaster Recovery = Backup ( Backup ( Your Backup ) )

  • Never assign to malice that which can be assigned to incompetence.  But in the case of the Post Office it is hard to brush it off as mere incompetence.

  • BTW... thank you for the heads up on the UK postal thing and the really incorrect premise that the computer is right until you can prove it's not.  Both are absolute horror stories that we all need to be a part of preventing in our own computational "neighborhoods".

     

    --Jeff Moden


    RBAR is pronounced "ree-bar" and is a "Modenism" for Row-By-Agonizing-Row.
    First step towards the paradigm shift of writing Set Based code:
    ________Stop thinking about what you want to do to a ROW... think, instead, of what you want to do to a COLUMN.

    Change is inevitable... Change for the better is not.


    Helpful Links:
    How to post code problems
    How to Post Performance Problems
    Create a Tally Function (fnTally)

  • When I started coding COBOL and assembler, unit testing was hard coding record selection and counts in  a compile, printing the report, then using a utility to print the same  records from the flat file in character and hex, then using a calculator to verify the program output.

    Rick
    Disaster Recovery = Backup ( Backup ( Your Backup ) )

Viewing 9 posts - 1 through 8 (of 8 total)

You must be logged in to reply to this topic. Login to reply