Subject: Re: OT: Crowdstrike
Here are so many former or still privately active programmers. Would that have happened to us old guys? Super-important code without proper error handling?

Speaking as an old programmer, it's safest to assume there were always (and will always be) bugs, many of them harsh enough to cause a crash.

But at the very least you can have a process that tries to test the software before sending it out, which seems to have been (ahem) lacking here. Testing processes definitely won't catch all the bugs or create reliable systems, but hey, it helps. You have a good chance of detecting bugs that cause fatal crashes almost immediately.

Jim


Fun with bugs:
Run this on a Motorola 68000 processor.

int a,b,sum;
a = 0x2fdedab8;
b = 0x000cd925;
sum = a + b;
printf("%d (%x) + %d (%x) = %d (%x)",a,a,b,b,sum,sum);


Depending on the date range of your CPU chip, it gives the wrong answer every time because of a bug in the silicon. There are certain numbers it just can't add. If your hardware can't reliably add two integers, you are NOT going to be able to ship bug free code.

Incidentally, you'd be amazed at how long it took to find this bug and create a minimal program to duplicate it. It was a very large and complex communications system using checksums which strangely mismatched for no reason once in a while: sometimes the two systems communicating had different shipping dates of CPU, and one in each gazillion packets the checksum calculation would need to do this addition.