There may be some duplication (make that, there is lost of duplication) in this file, since I have yet to do the final edit. ACTION'S LAW Power tends to corrupt; absolute power corrupts absolutely. ALBRECHT'S LAW Social innovations tend to the level of minimum tolerable well-being. ALLEN'S (or CANN'S) AXIOM When all else fails, read the instructions. BOREN'S FIRST LAW When in doubt, mumble. BO DIDDELEY'S OBSERVATION ON THE LAW: Always take a lawyer with you, and bring another lawyer to watch him. BOVE'S THEOREM The remaining work to finish in order to reach your goal increases as the deadline approaches. BOWIE'S THEOREM If an experiment works, you must be using the wrong equipment. BRILLIANT'S OBSERVATION ON MODERN ART: Not all our artists are playing a joke on the public. Some are genuinely mad. BRILLIANT'S LAW OF LIMITED AMBITION: If you can't learn how to do it well learn how to enjoy doing it poorly. BROOK'S LAW Adding manpower to a late software project makes it later. CANADA BILL JONES' MOTTO It's morally wrong to allow naive end users to keep their money. CANN'S (or ALLEN'S) AXIOM When all else fails, read the instructions. CARLSON'S CONSOLATION Nothing is ever a complete failure; it can always serve as a bad example. CLARKE'S THIRD LAW Any sufficiently advanced technology is indistinguishable from magic. COHN'S LAW The more time you spend in reporting on what you are doing, the less time you have to do anything. Stability is achieved when you spend all your time reporting on the nothing you are doing. CONWAY'S LAW In any organization there will always be one person who knows what is going on. This person must be fired. LAW OF CONTINUITY Experiments should be reproducible. They should all fail in the same way. CORRESPONDENCE COROLLARY An experiment may be considered a success if no more than half of your data must be discarded to obtain correspondence with your theory. CROPP'S LAW The amount of work done varies inversely with the amount of time spent in the office. CUTLER WEBSTER'S LAW There are two sides to every argument, unless a person is personally involved, in which case there is only one. DEADLINE-DAN'S DEMO DEMONSTRATION The higher the "higher-ups" are who've come to see your demo, the lower your chances are of giving a successful one. DEMIAN'S OBSERVATION There is always one item on the screen menu that is mislabeled and should read "ABANDON HOPE ALL YE WHO ENTER HERE". DENNISTON'S LAW Virtue is its own punishment. DOW'S LAW In a hierarchical organization, the higher the level, the greater the confusion. DR. CALIGARI'S COME-BACK A bad sector disk error occurs only after you've done several hours of work without performing a backup. ESTRIDGE'S LAW No matter how large and standardized the marketplace is, IBM can redefine it. FINAGLE'S LAWS 1) Once a job is fouled up, anything done to improve it makes it worse. 2) No matter what results are expected, someone is always willing to fake it. 3) No matter what the result, someone is always eager to misinterpret it. 4) No matter what occurs, someone believes it happened according to his pet theory. FINAGLE'S RULES: 1) To study an application 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) Program results should always be reproducible. They should all fail in the same way. 6) Do not believe in miracles. Rely on them. FINAGLE'S LAW OF GOVERNMENT CONTRACTING: Dealing with the government is like kicking a 300-pound sponge. FINAGLE'S LAW OF MILITARY SUPERIORITY: The bigger they are The harder they hit. FINSTER'S LAW A closed mouth gathers no feet. FIRST RULE OF HISTORY History doesn't repeat itself -- historians merely repeat each other. FLO CAPP'S OBSERVATION: The next best thing to doing something smart is not doing something stupid. FRANKLIN'S RULE Blessed is the end user who expects nothing, for he/she will not be disappointed. GILB'S LAWS OF UNRELIABILITY 1) At the source of every error which is blamed on the computer you will find at least two human errors, including the error of blaming it on the computer. 2) Any system which depends on human reliability is unreliable. 3) Udetectable errors are infinite in variety, in contrast to detectable errors, which by definition are limited. 4) Investment in reliability will increase until it exceeds the probable cost of errors, or until someone insists on getting some useful work done. GINSBERG'S THEOREM 1) You can't win. 2) You can't break even. 3) You can't even quit the game. GLYME'S FORMULA FOR SUCCESS The secret of success is sincerity. Once you can fake that, you've got it made. GOEBEL'S LAW OF USELESS DIFFICULTY: Just because it's hard Doesn't mean it's worth the effort. GOEBEL'S SECOND LAW OF USELESS DIFFICULTY: The fastest way to get something done is to determine that it isn't worth doing. GOEBEL'S LAW OF COMPUTER SUPPORT: Troubleshooting a computer over the telephone is like having sex through a hole in a board fence. It can be done but it is neither EASY nor PLEASANT. GOEBEL'S LAW OF SOFTWARE COMPATIBILITY: A statement of absolute functional equivalence made in bold print followed by several pages of qualifications in fine. GOEBEL'S THEOREM OF SOFTWARE SCHEDULES: Always multiply a software schedule by pi. This is because you think you're going in a straight line but always end up going full circle. GOEBEL'S LAW OF PRODUCT INTRODUCTIONS: A future product release date does NOT say when a product will be introduced. All it says it that you don't have a chance in HELL of seeing it before that time. GOEBEL'S OBSERVATION ON UTOPIA: If everyone believed in Peace They would immediately begin fighting over the best way to achieve it. GOEBEL'S LAW OF INTELLECTUAL OBSCURITY: WHAT FUN IS IT TO BE AN EXPERT IF YOU MAKE YOURSELF EASY TO UNDERSTAND? THE GOLDEN RULE OF ARTS AND SCIENCES Whoever has the gold makes the rules. GOLD'S LAW If the shoe fits, it's ugly. GORDON'S FIRST LAW If a research project is not worth doing at all, it is not worth doing well. GOVERNMENT'S LAW There is an exception to all laws. GREEN'S LAW OF DEBATE Anything is possible if you don't know what you're talking about. GUMMIDGES'S LAW The amount of expertise varies in inverse proportion to the number of statements understood by the general public. GUMPERSON'S LAW The probability of a given event occurring is inversely proportional to its desirability. HANLON'S RAZOR Never attribute to malice that which is adequately explained by stupidity. HARP'S COROLLARY TO ESTRIDGE'S LAW Your "IBM PC-compatible" computer grows more incompatible with every passing moment. HARRISON'S POSTULATE For every action, there is an equal and opposite criticism. HELLER'S LAW The first myth of management is that it exists. HINDS' LAW OF COMPUTER PROGRAMMING 1) Any given program, when running, is obsolete. 2) If a program is useful, it will have to be changed. 3) If a program is useless, it will have to be documented. 4) Any given program will expand to fill all available memory. 5) The value of a program is proportional to the weight of its output. 6) Program complexity grows until it exceeds the capability of the programmer who must maintain it. 7) Make it possible for programmers to write programs in English, and you will find that programmers cannot write in English. HOARE'S LAW OF LARGE PROGRAMS Inside every large program is a small program struggling to get out. HUBBARD'S LAW Don't take life too seriously; you won't get out of it alive. JENKINSON'S LAW It won't work. JOHNSON-LAIRD'S LAW Toothache tends to start on Saturday night. LARKINSON'S LAW All laws are basically false. THE LAST ONE'S LAW OF PROGRAM GENERATORS A program generator creates programs that are more "buggy" than the program generator. LIEBERMAN'S LAW Everybody lies; but it doesn't matter, since nobody listens. LYNCH'S LAW When the going gets tough, everyone leaves. MASON'S FIRST LAW OF SYNERGISM The one day you'd sell you soul for something, souls are a glut. MAY'S LAW The quality of correlation is inverely proportional to the density of control. (The fewer the data points, the smoother the curves.) MENCKEN'S LAW There is always an easy answer to every human problem -- neat, plausible, and wrong. MESKIMEN'S LAW There's never time to do it right, but always time to do it over. MUIR'S LAW When we try to pick out anything by itself, we find it hitched to everything else in the universe. MURPHY'S LAWS 1) If anything can go wrong, it will (and at the worst possible moment). 2) Nothing is as easy as it looks. 3) Everything takes longer than you think it will. MURPHY'S FOURTH 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 LAW OF THERMODYNAMICS Things get worse under pressure. NINETY-NINETY RULE OF PROJECT SCHEDULES The first ninety percent of the task takes ninety percent of the time, and the last ten percent takes the other ninety percent. NIXON'S THEOREM The man who can smile when things go wrong has thought of someone he can blame it on. NOLAN'S PLACEBO An ounce of image is worth a pound of performance. OLIVER'S LAW OF LOCATION No matter where you are, there you are. O'REILLY'S LAW OF THE KITCHEN Cleanliness is next to impossible. OSBORN'S LAW Variables won't, constants aren't. O'TOOLE'S COMMENTARY ON MURPHY'S LAW Murphy was an optimist. PARKINSON'S LAW Work expands to fill the time available for its completion. PARKINSON'S LAW, MODIFIED The components you have will expand to fill the available space. PEER'S LAW The solution to a problem changes the problem. PETER'S PRINCIPLE In every hierarchy, each employee tends to rise to the level of his incompetence. THE LAW OF THE PERVERSITY OF NATURE You cannot determine beforehand which side of the bread to butter. PUDDER'S LAW Anything that begins well will end badly. (Note: The converse of Pudder's law is not true.) RHODE'S COROLLARY TO HOARE'S LAW Inside every complex and unworkable program is a useful routine struggling to be free. ROBERT E. LEE'S TRUCE Judgement comes from experience; experience comes from poor judgement. RUDIN'S LAW In a crisis that forces a choice to be made among alternative courses of action, people tend to choose the worst possible course. RULE OF ACCURACY When working toward the solution of a problem it always helps you to know the answer. RYAN'S LAW Make three correct guesses consecutively and you will establish yourself as an expert. SATTINGER'S LAW It works better if you plug it in. SAUSAGE PRINCIPLE People who love sausage and respect the law should never watch either one being made. SHAW'S PRINCIPLE Build a system that even a fool can use, and only a fool will want to use it. 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) In any human endeavor, once you have exhausted all possibilities and fail, there will be one solution, simple and obvious, highly visible to everyone else. 6) Badness comes in waves. STEWART'S LAW OF RETROACTION It is easier to get forgiveness than permission. THOREAU'S THEORIES OF ADAPTATION 1) After months of training and you finally understand all of a program's commands, a revised version of the program arrives with an all-new command structure. 2) After designing a useful routine that gets around a familiar "bug" in the system, the system is revised, the "bug" taken away, and you're left with a useless routine. 3) Efforts in improving a program's "user friendliness" invariable lead to work in improving user's "computer literacy". 4) That's not a "bug", that's a feature! THYME'S LAW Everything goes wrong at once. THE LAW OF THE TOO SOLID GOOF In any collection of data, the figures that are obviously correct beyond all need of checking contain the errors. Corollary 1: No one you ask for help will see the error either. Corollary 2: Any nagging intruder, who stops by with unsought advice, will spot it immediately. UNNAMED LAW If it happens, it must be possible. WEILER'S LAW Nothing is impossible for the man who doesn't have to do the work. WEINBERG'S COROLLARY An expert is a person who avoids the small errors while sweeping on to the grand fallacy. WEINBERG'S LAW If builders built buildings the way programmers write programs, then the first woodpecker that came along would destroy civilization. WHITEHEAD'S LAW The obvious answer is always overlooked. WILCOX'S LAW A pat on the back is only a few centimeters from a kick in the pants. WOOD'S AXIOM As soon as a still-to-be-finished computer task becomes a life-or-death situation, the power fails. WOODWARD'S LAW A theory is better than its explanation. ZYMURGY'S FIRST LAW OF EVOLVING SYSTEM DYNAMICS Once you open a can of worms, the only way to recan them is to use a larger can. LAWS OF PROJECT MANAGEMENT 1. No major project is ever installed on time, within budgets, with the staff that started it. Yours will not be the first. 2. Projects progress quickly until they become 90 percent complete, then they remain at 90 percent complete forever. 3. One advantage of fuzzy project objectives is that they let you avoid the embarrassment of estimating the corresponding costs. 4. When things are going well, something will go wrong. When things just can't get any worse, they will. When things appear to be going better you have overlooked something. 5. If project content is allowed to change freely, the rate of change will exceed the rate of progress. 6. No system is ever completely debugged. Attempts to debug a system inevitably introduce new bugs that are even harder to find. 7. A carelessly planned project will take three times longer to complete than expected; a carefully planned project will take only twice as long. 8. Project teams detest progress reporting because it vividly manifests their lack of progress. LAWS OF COMPUTER PROGRAMMING 1. Any given program, if 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. If a program is useless, it will have to be documented. 5. Any program will expand and fill all of available memory -- plus one byte. 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. TROUTMAN'S PROGRAMMING POSTULATES 1. If the test installation functions perfectly, all subsequent systems will malfunction. 2. The most harmful error of any program will not be discovered until the program has been in production for at least six months. 3. A Batch Stream that can not be arranged in improper order will be. 4. Constants aren't. 5. Variables won't. 6. Interchangeable Tapes won't. 7. Profanity is the one language that all programmers know the syntax of. GILB'S LAWS OF UNRELIABILITY 1. Computers are unreliable. Humans are worse. 2. Any system which depends on human reliability is unreliable. 3. Undetectable error are infinite in variety. Detectable errors do not exist, unless deadline is less than three hours away. 4. Investment in reliability will increase until it exceeds the probable cost of errors, or until someone insists on getting some real work done. BROOK'S LAW Any manpower added to a late project makes it later. LAWS OF COMPUTERDUM ACCORDING TO GOLUB 1. Fuzzy project objectives are used to avoid the embarrasment of estimating the corresponding costs. 2. Carelessy planned projects take three times longer to complete than expected. Carefully planned projects take only three times longer to complete than expected. 3. Programmers detest weekly status reporting because it so vividly manifests their lack of progress. LUBARSKY'S LAW OF CYBERNETIC ENTOMOLOGY There is always one more bug. SHAW'S PRINCIPLE Build a system that even a fool can use, and only a fool will use it. IBM POLLYANNA PRINCIPLE Machines should work. People should think. GRAY'S LAW OF PROGRAMMING "n+1" trivial tasks are expected to be accomplished in tha same time as "n" trivial tasks. LOGG'S REBUTTAL TO GRAY'S LAW "n+1" trivial tasks take twice as long as "n" trivial tasks. WEINBERG'S SECOND LAW If builders built building the way that programmers program programs, the first woodpecker to come along would destroy civiliization. ------------------------------------------------------------------------- Thanx to : Ross M. Greenberg @ NYU ----> allegra!cmcl2!acf4!greenber <---- ------------------------------------------------------------------------- Murphys Computer Laws, Part I. Observations: Murphy Never Would have used computers, but would have loved them. Bove's Theorem: The remaining work required in order to finish a project increases as the deadline approaches. Brook's Law: Adding manpower to a late software project makes it later. Canada Bill Jones' Motto: It's morally wrong to allow naive end users to keep their money. Cann's Axiom: When all else fails, read the instructions. Clarke's Third Law: Any sufficiently advanced technology is indistingushable from Magic. Deadline Dan's Demo Demonstration: Every task takes twice as long as you think it will take. If you double the time you think it will take, it will actually take four times as long. Murphy's Computer Laws, Part II. Demian's Observation: There is always one item on the screen menu that is misslabeled and should read "ABANDON HOPE ALL YE WHO ENTER HERE." Dr. Caligari's Comeback: Disk errors occur only after you've done several hours of work without making a backup. Estridge's Law: No matter how large and standardized the marketplace, IBM can re-define it. Programming is the art of debugging a blank sheet of paper. When all else fails, read the instructions. The solution to a problem changes the problem. It works better if you plug it in. At the source of every mistake blamed on the computer is at least 2 human errors, including the mistake of blaming it on the computer. The higher the 'higher-ups' are who've come to see your demo, the lower the chances are of giving a successful one. Thats not a bug, but a feature. Remember, any given program, when running is obsolete. Any given program will expand to fill all available memory. Any system which depends on human reliability is unreliable. The man who can smile when things go wrong has thought of someone he can blame it on. Judgement comes from experience. Experience comes from poor judgement. As soon as a still to be finished computer task becomes crucial, the power fails. Poster 1: -------- Murphy's Computer Law 1. Murphy Never Would Have Used One 2. Murphy Would Have Loved Them Bove's Theorem The remaining work to finish in order to reach your goal increases as the deadline approaches. Brooks' Law Adding manpower to a late software project makes it later. Canada Bill Jones' Motto It's morally wrong to allow naive end users to keep their money. Cann's Axiom When all else fails, read the instructions. Clarke's Third Law Any sufficiently advanced technology is indistinguishable from magic. Deadline-Dan's Demo Demonstration The higher the "higher-ups" are who've come to see your demo, the lower your chances are of giving a successful one. Deadline-Dan's Demon Every task takes twice as long as you think it will take. If you double the time you think it will take, it will actually take four times as long. Demian's Observation There is always one item on the screen menu that is mislabeled and should read "ABANDON HOPE ALL YE WHO ENTER HERE". Dr. Caligari's Come-back A bad sector disk error occurs only after you've done several hours of work without performing a backup. Estridge's Law No matter how large and standardized the marketplace is, IBM can redefine it. Finagle's Rules: 1. To study an application 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. Program results should always be reproducible. They should all fail in the same way. 6. Do not believe in miracles. Rely on them. Franklin's Rule Blessed is the end user who expects nothing, for he/she will not be disappointed. Gilb's Laws of Unreliability 1. At the source of every error which is blamed on the computer you will find at least two human errors, including the error of blaming it on the computer. 2. Any system which depends on human reliability is unreliable. 3. Undetectable errors are infinite in variety, in contrast to detectable errors, which by definition are limited. 4. Investment in reliability will increase until it exceeds the probable cost of errors, or until someone insists on getting some useful work done. Gummidge's Law The amount of expertise varies in inverse proportion to the number of statements understood by the general public. Harp's Corollary to Estridge's Law Your "IBM PC-compatible" computer grows more incompatible with every passing moment. Heller's Law The first myth of management is that it exists. Hinds' Law of Computer Programming 1. Any given program, when running, is obsolete. 2. If a program is useful, it will have to be changed. 3. If a program is useless, it will have to be documented. 4. Any given program will expand to fill all available memory. 5. The value of a program is proportional to the weight of its output. 6. Program complexity grows until it exceeds the capability of the programmer who must maintain it. 7. Make it possible for programmers to write programs in English, and you will find that programmers cannot write in English. Hoare's Law of Large Programs Inside every large program is a small program struggling to get out. The Last One's Law of Program Generators A program generator creates programs that are more "buggy" than the program generator. Meskimen's Law There's never time to do it right, but always time to do it over. Murphy's Fourth 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 Law of Thermodynamics Things get worse under pressure. Ninety-Ninety Rule of Program Schedules The first ninety percent of the task takes ninety percent of the time, and the last ten percent take the other ninety percent. Nixon's Theorem The man who can smile when things go wrong has thought of someone he can blame it on. Nolan's Placebo An ounce of image is worth a pound of performance. Osborn's Law Variables won't, constants aren't. O'Toole's Commentary on Murphy's Law Murphy was an optimist. Peer's Law The solution to a problem changes the problem. Rhodes' Corollary to Hoare's Law Inside every complex and unworkable program is a useful routine struggling to be free. Robert E. Lee's Truce Judgement comes from experience; experience comes from poor judgement. Sattinger's Law It works better if you plug it in. Shaw's Principle Build a system that even a fool can use, and only a fool will want to use it. 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. In any human endeavor, once you have exhausted all possibilities and fail, thee will be one solution, simple and obvious, highly visible to everyone else. 6. Badness comes in waves. Thoreau's Theories of Adaptation 1. After months of training and you finally understand all of a program's commands, a revised version of the program arrives with an all-new command structure. 2. After designing a useful routine that gets around a familiar "bug" in the system, the system is revised, the "bug" is taken away, and you're left with a useless routine. 3. Efforts in improving a program's "user friendliness" invariable lead to work in improving user's "computer literacy." 4. That's not a "bug", that's a feature! Weinberg's Corollary An expert is a person who avoids the small errors while sweeping on to the grand fallacy. Weinberg's Law If builders built buildings the way programmers write programs, then the first woodpecker that came along would destroy civilization. Zymurgy's First Law of Evolving System Dynamics Once you open a can or worms, the only way to recan them is to use a larger can. Wood's Axiom As soon as a still-to-be-finished computer task becomes a life-or-death situation, the power fails. Poster 2: -------- Laws of Computer Programming (see Hinds' Law of Computer Programming in poster 1) Rules of Pratt * If a severe problem manifests itself, no solution is acceptable unless it is involved, expensive, and time consuming. * Sufficient monies to do the job correctly the first time are not available; however, ample funds are much more easily obtained for repeated revisions. Grosch's Law * Computing power increases as the square of the cost increases. If you want to do it twice as cheaply you have to do it four times as fast. * Twenty per cent of the components account for eighty percent of the cost, and so forth. Weinberg's Law (see poster 1) Hare's Law of Large Programs (see Hoare's Law of Large Programs in poster 1) Turnaucka's Law * The attention span of a computer is only as long as its electrical cord. Fallible Men Design Fallible Computers A computer program does what you tell it to do, not what you want it to do. Troutman's Programming Laws * If a test installation functions perfectly, all subsequent systems will malfunction. * Not until a program has been in production for at least six months will the most harmful error then be discovered. * Job control cards that cannot be arranged in improper order will be. * Interchangeable tapes won't. * If the input editor has been designed to reject all bad input, an ingenious idiot will discover a method to get bad data past it. * Machines work, people should think. Golub's Laws of Computerdom * A carelessly planned project takes three times longer to complete tan expected; a carefully planned project will take only twice as long. * The effort required to correct the error increases geometrically with time. * Project teams detest weekly progress reporting because it so vividly manifests their lack of progress. 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 it was programmed. -Unnamed- Civilization Advances by extending the number of important operations which we can do without thinking of them. -Unnamed- One good reason why computers can do more work than people is that they never have to stop and answer the phone. Gilb's Law of Reliability (A little different than in poster 1) * Computers are unreliable but humans are even more unreliable. * At the source of every error which is blamed on the computer you will find at least two human errors including the error of blaming it on the computer. * Any system which depends on human reliability is unreliable * A system tends to grow in complexity rather than simplification, until the resulting unreliability becomes intolerable. * Fuzzy project objectives are used to avoid the embarrassment of estimating the corresponding costs. Landau's Programming Paradox * The best programmer has to be someone. * The more humanlike a computer becomes the less time it spends computing and the more time it spends doing more humanlike work. * A software committee of one is limited by its own horizon and will on specify that far. Extended Epstein-Heisenberge Principle In a program atmosphere, only two of the three existing measurements can be measured simulatneously. The measurements are program, time, and resources ($): * If one knows what the task is, and there is a time limit allows for the completion of the task, then one cannot guess how much it will cost. * If the time and resources ($) are clearly defined, then it is impossible to know what part of the program will be performed. * If you are given a clearly defined program goal and a definite amount of money which has been calculated to be necessary for the completion of the task, one cannot predict if and when the goal will be reached. * If one is lucky enough and can accurately define all three measurements, then what one deals with is not in the realms of programming. Gallaois' Revelation If you put tomfollery in a computer nothing comes out but tomfollery. But this tomfoolery, having passed through a very expensive machine, is somehow enobled and none dare criticize it. Bradley's Bromoide If computers get to powerful, we can organize them into a committee - that will do them in. Along this vein, while a physicist (Paul FInk) and I were working on a project on a very tight schedule, management asked how long it would take to debug our work. To which Paul replied, "Bugs? We don't have time to put in bugs. If you want some bugs, it will take at least another six months." Ever since then, I can't keep a straight face when debugging my own code. A few laws of computer programming: 1. Any given program, when running, is obsolete. 2. Any given program costs more and takes longer. 3. If any program is useful, it will have to be changed. 4. If a program is useless, it will have to be documented. 5. Any given program will expand to fill all available memory. 6. The value of a program is proportional to the weight of its output. 7. Program complexity always grows until it exceeds the capability of the programmer who must maintain it. 8. If a test installation functions perfectly, all subsequent systems will malfunction. 9. Job control cards that positively cannot be arranged in improper order will be. 10. If the input editor has been designed to reject all bad input, an ingenious idiot will discover a method to get bad data past it. 11. Profanity is the one language all programmers know best. 12. Adding manpower to a late software project makes it later. 13. A carelessly planned project takes three times longer to complete than expected; a carefully planned project takes only twice as long. 14. (Lubarsky's Law of Cybernetic Entomology) There is always one more bug. 15. It is impossible to make any program foolproof because fools are so ingenious. 16. When things are going well, something will go wrong. 17. When things just can't get any worse, they will. 18. Anytime things appear to be going well, you have overlooked something. 19. Test functions and their tests should be reproducible -- they should all fail in the same way. 20. If it looks easy, it's tough. 21. If it looks tough, it's damn near impossible. 22. You always find any bug in the last place you look. 23. Anything can be made to work if you fiddle with it long enough. 24. A terminal usually works better if you plug it in. 25. If all else fails, read the documentation. 26. If you do not understand a particular word in a piece of technical writing, ignore it. The piece will make perfect sense without it. 27. No matter how much you do, you'll never do enough. 28. What you don't do is always more important than what you do do. 29. Procrastination avoids boredom; one never has the feeling that there is nothing important to do. 30. Always leave room to add an explanation if it doesn't work out. 31. No amount of genius can overcome a preoccupation with detail. 32. Nothing is impossible for a man who doesn't have to do it himself. 33. If builders built buildings the way programmers write programs, then the first woodpecker than came along would destroy civilization. 34. Programmers will act rational when all other possibilities have been exhausted.