3 ms·
This just reminded me again how different software is from any physical world artifact... It's mind boggling how for lots of software the cost of failure can b
by nnq 14y ago
This just reminded me again how different software is from any physical world artifact... It's mind boggling how for lots of software the cost of failure can be reduced to almost ZERO by having the faulty component restart/reload/reboot or just pushing an automatic upgrade to millions of customers that didn't even knew they had a huge security hole...
And the ugly part is realizing how this "almost zero" cost of failure makes people behave:
1. we release software with security whole upon security whole to customers (think Oracle, Ms, Apple... and probably everybody else too...), knowing the fix will only be one upgrade away anyway, or
2. we just code ugly hacks that "just restart the goddam service" when it fails to respond or fails a sanity check, but leave the app otherwise running and just dump everything to a log that nobody will ever care about until performance really starts to degrade, or even then
3. just throw more hardware at the problem and keep restarting stuff that leaks memory or starts to fail some empirical sanity checks
...on the other hand I wished the plane I flew in could just restart/reload/reboot after a failure before it smashed into the ground :) ...so maybe reducing the costs of failure and caring less about it is the way to go.
--
EDIT: realized that the plane/software analogy leaks badly: if the plane I was in were the software, then I would be the data that get corrupted when it fails :|
- deleted 14y ago[deleted]
- mrich 14y agoIn comparison to relatively simple mechanical devices it is also mindboggling in how many more ways software can fail. - failures from the underlying hardware - out of memory may occur in many places - handle each corner case that may be reachable correctly - concurrency - malicous user input - running the program on future hardware
- nnq 14y agoI don't thin "physical" devices have fewer points of failure than software... it's just that our intuition is used to lumping thinks together (like zillions of types of cracks are all "just cracks" unless you're a specialist in the field...), maybe we have less well formed intuitions about software failure. ...but do you really think an analog device doesn't have MUCH MORE ways in which it can fail than a piece of software? ...I mean, just think that software has a "limited" number of states it can be in ...whereas for a "lump of atoms" you need an overly simplified model just to start counting some sort of states for the smallest components