THE LAWS OF COMPUTING GROSS'S POSTULATE Facts are not all equal. There are good facts and bad facts. Science consists of using good facts. UTZ'S LAWS OF COMPUTER PROGRAMMING 1. Any given program, when running, is obsolete. 2. Any given program costs more and takes longer. 3. If a program is useful, it will have to be changed. 4. Any given program will expand to fill all available memory. 5. If a program is useless, it will be documented. 6. The value of a program is proportional to the weight of its output. 7. Program complexity grows until it exceeds the capability of the programmer who must maintain it. 8. Make it possible for programmers to write programs in English, and you will find that programmers cannot write English. FLAP'S LAW Any inanimate object, regardless of its position or configuration, may be expected to perform at any time in a totally unexpected manner for reasons that are either entirely obscure or else completely mysterious. MURPHY'S FIRST LAW Nothing is as easy as it looks. MURPHY'S SECOND LAW Everything takes longer than you think. MURPHY'S THIRD LAW In any field of scientific endeavor, anything that can go wrong will go wrong. MURPHY'S FORTH LAW If there is a possibility of several things going wrong, the one that will cause the most damage will be the one to go wrong. MURPHY'S FIFTH LAW If anything just cannot go wrong, it will anyway. MURPHY'S SIXTH LAW If you perceive that there are four possible ways in which a procedure can go wrong and circumvent these, then a fifth way, unprepared for, will promptly develop. MURPHY'S SEVENTH LAW Left to themselves, things tend to go from bad to worse. MURPHY'S EIGHT LAW If everything seems to be going well, you have obviously overlooked something. MURPHY'S NINTH LAW Nature always sides with the hidden flaw. MURPHY'S TENTH LAW Mother Nature is a bitch. MURPHY'S ELEVENTH LAW It is impossible to make anything foolproof, because fools are so ingenious. MURPHY'S LAW OF THERMODYNAMICS Things get worse under pressure. TURNAUCKAS' OBSERVATION To err is human; to really foul things up takes a computer. FINAGLE'S RULES Ever since the first scientific experiment, man has been plagued by the increasing antagonism of nature. It seems only right that nature should be logical and neat, but experience has shown that this is not the case. A further series of rules has been formulated, designed to help the man accept the pigheadedness of nature: 1. To study a subject best, understand it thoroughly before you start. 2. Always keep a record of data. It indicates you've been working. 3. Always draw your curves, then plot the reading. 4. In case of doubt, make it sound convincing. 5. Experiments should be reproducible. They should all fail in the same way. 6. Do not believe in miracles. Rely on them. 7. If an experiment works, somthing has gone wrong. 8. No matter what result is anticipated, there will always be someone eager to (a) misinterpret it, (b) fake it, or (c) believe it happened to his own pet theory. 9. In any collection of data, the figure most obviously correct, beyond all need of checking, is the mistake. Corollary 1. No one whom you ask for help will see it. Corollary 2. Everyone who stops by with outsought advice will see it immediately. 10. Once a job is fouled up, anything done to improve it only makes it worse. 11. Science is truth -- don't be misled by facts. CHARLEY'S OBSERVATION Computers were invented by Murphy. LANDAU'S PROGRAMMING PARADOXES 1. The world's best programmer has to be someone. 2. The more humanlike a computer becomes, the less it spends time computing and the more it spends time doing more humanlike work. 3. A software committee of one is limited by its own horizon and will specify software only that far. 4. When the system programmers declare the system works, it has worked and will work again some day. TURNAUCKAS' LAW The attention span of a computer is only as long as its electrical cord. THE LAW OF COMPUTERDOM ACCORDING TO GOLUB 1. Fuzzy project objectives are used to avoid the embarrassment of estimating the corresponding cost. 2. A carelessly planned project will take only twice as long. 3. The effort required to correct course increases geometrically with time. 4. Project teams detest weekly progress reporting because it so vividly manifests their lack of progress. BLAUW'S LAW Established technology tends to persist in spite of new technology. BROOK'S LAW Adding manpower to a late software project makes it later. HOARE'S LAW OF LARGE PROGRAMS Inside every large program is a small program struggling to get out. THE NINETY-NINETY RULE OF PROJECT SCHEDULES The first 90 percent of the tasks takes 10 percent of the time and the last 10 percent takes the other 90 percent. THE LAW OF COMPUTABILITY APPLIED TO SOCIAL SCIENCES If at first you don't succeed, transform your data. BERNETIC'S LAW A doggone computer is man's best friend THE PROGRAMMERS NEMESIS Experts theorize that, through evolution and inbreeding, programmers may become a distinct subspecies of the human race. THE SYSTEM DESIGNER'S TROUBLE All systems designed to be wonderfully efficient are hell for the people who supply the input and use the output WAIN'S CONCLUSION 1. He who gets too big for his britches, gets exposed in the end. 2. Staying afloat in management is easier if you don't make big waves. 3. The only people making money these days are the ones who sell computer paper. 4. If you didn't have problems, you wouldn't need people around to help solve them. Conversely, if you didn't have people around, maybe you wouldn't have problems. 5. Nothing motivates a man more than to see his boss putting in an honest day's work. 6. Bosses are so busy delegating jobs, thay have no time to do any work. 7. When someone blows your horn, it sounds like a Cadillac. When you toot, it sounds like a Volkswagon. 8. You can tell some people aren't afraid of work by the way they fight it. 9. People who mind their own business succeed because they have so little competition. GIB'S LAWS OF COMPUTER UNRELIABILITY 1. Computers are unreliable, but humans are even more unreliable. 2. Any system which depends on human reliability is an unreliable system. 3. The only difference between the fool and the criminal who attack a system is that the fool attacks unpredictably and on a broader front. 4. Self-checking systems tend to have an inherent lack of reliability of the system in which they are used. 5. The error-detection and correction capabilities of any system will serve the key to understanding the type of error which thay can not handle. 6. Undetectable errors are infinite in variety, in contrast to detectable errors, which by definitionare limited. 7. Investment in reliability will increase until it exceeds the probable cost of the errors or until somebody insists on getting some useful work done. GROSCH'S LAW Computing power increases as the square of the cost. If you want to do it twice as cheaply, you have to do it four times as fast. ISAAC ASIMOV'S THREE LAWS OF ROBOTICS 1. A robot may not injure a human being or, through inaction, allow a human being to come to harm. 2. A robot must obey orders given to it by a human being except where such orders would conflict with the first law. 3. A robot must protect its own existance as long as such protection does not conflict with the first or second law. HOROWITZ'S SONG FOR IN-HOUSE COMPUTER PROGRAMS "I/O, I/O, it's off to work we go ..." HOROWITZ'S RULES 1. Wisdom consists of knowing when to avoid perfection. 2. A computer makes as many mistakes in two seconds as twenty men working twenty years make. 3. There exist unthinkable thoughts. GALEF'S DEDUCTIONS 1. Microminiaturazation just makes the problem harder to get at. 2. Flaws found in the program will usually turn out to be flaws in the system, but never vice versa. 3. Fallible men design fallible computers. HUNT'S LAW OF SUSPENSE If any work has a suspense date on it, that work will be completed as close to the suspense date as possible regardless of how far in advance the work was programmed. A LAW FOR THE FUTURE If it's not in a computer, it doesn't exist. MC AULEY'S AXIOM If a system is of sufficient complexity, it will be built before it is designed, implemented before it is tested, and outdated before it is debugged. MAIER'S LAWS 1. If the facts do not conform to the theory, they must be disposed of. 2. The bigger the theory the better. ANOTHER ONE OF MURPHY'S LAWS If mathematically you end up with the incorrect answer, try multiplying by the page number. SNAFU EQUATIONS 1. Given any problem containing n equations, there will be n+1 unknowns. 2. An object or bit of information most needed will be least available. 3. Any device requiring service or adjustment will be least accessible. 4. Interchangeable devices won't. 5. Badness comes in waves. BRADLEY'S BROMIDE If computers get too powerful, we can organize them into committee. That'll do them in!!! THE ENGINEER'S LAW If it can't be done with jumpers, it isn't worth doing. ARTHUR C. CLARK'S LAW It has yet to be proven that intelligence has any survival value. THE FAIL-SAFE THEOREM When a fail-safe system fails, it fails by failing to be fail-safe. LAUNEGAYER'S MAXIM All the world's an analog stage, and digital circuits play only bit parts. FEATHERSTONE'S ACCURATE STEPS TO SYSTEMS DEVELOPMENT 1. Wild enthusiasm 2. Disillusionment 3. Total confusion 4. Search for the guilty 5. Punishment of the innocent 6. Promotion of nonparticipants WEINBERG'S LAW If builders built buildings the way the programmers wrote programs, the first woodpecker that came along would destroy civilization.