Illegal combination of beef with black bean sauce
I told my daughters this story from my past, and they insisted I write it here...
A long time ago I used to work for a small company called Softway, that got operating systems to work on newly invented computers. Mostly we ported Unix to new hardware, since Unix was the most popular operating system. The ubiquitous Linux of modern times is based on Unix, so if you think Linux you've got the right idea.
At one time we had a contract to get Unix running on a new line of minicomputers designed and built by a US company called Edge Computing. They've long since gone out of business, but at the time Edge had sold a lot of machines to a US government department called NASA. We just had to get Unix running on these boxes.
Now system programmers tend to work hours normally associated with vampires, and there weren't many restaurants open to feed us late at night. We often ended up at a local Chinese place. One night one of us ordered the beef with black bean sauce. I can't recall, but I think it might have been me.
One of our number fancied himself a culinary expert. He complained loudly that beef with black bean sauce is not a valid Chinese dish. Which is true. Every Chinese restaurant in the world serves beef with black bean sauce, but you'll never find it offered in China where it's supposed to come from.
Later that night, said culinary expert called us all over to his workstation. Unix is written in the C programming language. A very common error message that you get in C is this:
You don't care what it means, but he had changed it on the new computer so that, after 17 instances of the real message, the computer would instead print this:
When printed in system font they were the same length. We all thought this was hilarious, as such things always are at one in the morning, and went back to our work. We duly finished the job, shipped a working operating system to Edge, who in turn shipped loads of computers to NASA.
About 6 months later, we get a phone call from NASA. They're getting a funny error message that says, "Illegal combination of beef with black bean sauce." They want to know what it means.
We explain that beef with black bean sauce is not a valid Chinese dish.
We sheepishly admit that it's a joke we forgot to remove, that slipped through our final tests.
We are not popular, because it also slipped past the acceptance tests of Edge Computing, who signed it off and whose QA people now look like idiots. NASA is not amused. The wrong error message is clearly no danger to anyone, but among other things they're using these systems to design bits that fly in the space shuttle. If this got through, then what other problems could be lurking in there?
So we had to test the thing all over again! And luckily for us, though we did pick up some minor problems, there was nothing serious. This incident inspired me in later years, when I was running projects, to deliberately insert errors into systems to determine how well the testers had done their job. By measuring how many deliberate errors were found, you could get a statistical measure for how many real errors remained.
A long time ago I used to work for a small company called Softway, that got operating systems to work on newly invented computers. Mostly we ported Unix to new hardware, since Unix was the most popular operating system. The ubiquitous Linux of modern times is based on Unix, so if you think Linux you've got the right idea.
At one time we had a contract to get Unix running on a new line of minicomputers designed and built by a US company called Edge Computing. They've long since gone out of business, but at the time Edge had sold a lot of machines to a US government department called NASA. We just had to get Unix running on these boxes.
Now system programmers tend to work hours normally associated with vampires, and there weren't many restaurants open to feed us late at night. We often ended up at a local Chinese place. One night one of us ordered the beef with black bean sauce. I can't recall, but I think it might have been me.
One of our number fancied himself a culinary expert. He complained loudly that beef with black bean sauce is not a valid Chinese dish. Which is true. Every Chinese restaurant in the world serves beef with black bean sauce, but you'll never find it offered in China where it's supposed to come from.
Later that night, said culinary expert called us all over to his workstation. Unix is written in the C programming language. A very common error message that you get in C is this:
Illegal combination of pointer and integer types
You don't care what it means, but he had changed it on the new computer so that, after 17 instances of the real message, the computer would instead print this:
Illegal combination of beef with black bean sauce
When printed in system font they were the same length. We all thought this was hilarious, as such things always are at one in the morning, and went back to our work. We duly finished the job, shipped a working operating system to Edge, who in turn shipped loads of computers to NASA.
About 6 months later, we get a phone call from NASA. They're getting a funny error message that says, "Illegal combination of beef with black bean sauce." They want to know what it means.
We sheepishly admit that it's a joke we forgot to remove, that slipped through our final tests.
We are not popular, because it also slipped past the acceptance tests of Edge Computing, who signed it off and whose QA people now look like idiots. NASA is not amused. The wrong error message is clearly no danger to anyone, but among other things they're using these systems to design bits that fly in the space shuttle. If this got through, then what other problems could be lurking in there?
So we had to test the thing all over again! And luckily for us, though we did pick up some minor problems, there was nothing serious. This incident inspired me in later years, when I was running projects, to deliberately insert errors into systems to determine how well the testers had done their job. By measuring how many deliberate errors were found, you could get a statistical measure for how many real errors remained.