Monday, December 10, 2007

Murphy's laws of Computer Science

Recently my uncle (newly introduced to the world of programming) sent me a link with murphy's laws of computer science.

  • Any given program, when running, is obsolete.
  • Any given program costs more and takes longer each time it is run.
  • If a program is useful, it will have to be changed.
  • If a program is useless, it will have to be documented.
  • Any given program will expand to fill all the available memory.
  • The value of a program is inversely proportional to the weight of its output.
  • Program complexity grows until it exceeds the capability of the programmer who must maintain it.
  • Every non- trivial program has at least one bug
    Corollary 1 - A sufficient condition for program triviality is that it have no bugs.
    Corollary 2 - At least one bug will be observed after the author leaves the organization.
  • Bugs will appear in one part of a working program when another 'unrelated' part is modified.
  • The subtlest bugs cause the greatest damage and problems.
    Corollary - A subtle bug will modify storage thereby masquerading as some other problem.
  • Lulled into Security Law
    A 'debugged' program that crashes will wipe out source files on storage devices when there is the least available backup.
  • A hardware failure will cause system software to crash, and the customer engineer will blame the programmer.
  • A system software crash will cause hardware to act strangely and the programmers will blame the customer engineer.
  • Undetectable errors are infinite in variety, in contrast to detectable errors, which by definition are limited.
  • Adding manpower to a late software project makes it later.
  • Make it possible for programmers to write programs in English, and you will find that programmers can not write in English.
  • The documented interfaces between standard software modules will have undocumented quirks.
  • The probability of a hardware failure disappearing is inversely proportional to the distance between the computer and the customer engineer.
  • A working program is one that has only unobserved bugs.
  • No matter how many resources you have, it is never enough.
  • Any cool program always requires more memory than you have.
  • When you finally buy enough memory, you will not have enough disk space.
  • Disks are always full. It is futile to try to get more disk space. Data expands to fill any void.
  • If a program actually fits in memory and has enough disk space, it is guaranteed to crash.
  • If such a program has not crashed yet, it is waiting for a critical moment before it crashes.
  • No matter how good of a deal you get on computer components, the price will always drop immediately after the purchase.
  • All components become obsolete.
  • The speed with which components become obsolete is directly proportional to the price of the component.
  • Software bugs are impossible to detect by anybody except the end user.
  • The maintenance engineer will never have seen a model quite like yours before.
  • It is axiomatic that any spares required will have just been discontinued and will be no longer in stock.
  • Any VDU, from the cheapest to the most expensive, will protect a twenty cent fuse by blowing first.
  • Any manufacturer making his warranties dependent upon the device being earthed will only supply power cabling with two wires.
  • If a circuit requires n components, then there will be only n - 1 components in locally-held stocks.
  • A failure in a device will never appear until it has passed final inspection.
  • Adding manpower to a late software project makes it later.
  • A program generator creates programs that are more buggy than the program generator.
  • All Constants are Variables.
    Sent by Risto Matikainen
  • Constants aren't
  • Variables won't
    The last two laws were sent by Hnathoo
  • A part dropped from the workbench will roll to a degree of un-reachability proportional to its importance.
    Sent by Neal Buddenberg
  • In a transistor circuit protected by a fuse, the transistor will always blow to protect the fuse.
    Sent by Neal Buddenberg
  • The best way to see your boss is to access the internet.
    Or...
    No matter how hard you work, the boss will only appear when you access the internet.
  • The hard drive on your computer will only crash when it contains vital information that has not been backed up.
    The last two laws were sent by Charles L. Mays
  • Computers don't make errors-What they do they do on purpose.
    Sent by Terry Jaster
  • If Murphy's laws are so true then how come I can log onto this site and submi............
    [connection reset - error message 928 ]
    Sent by Paul Breen
  • Gumption's Law (?)
    Any problem, no matter how complex, can be found by simple inspection.
    Corollary: A nagging intruder with unsought advice will spot it immediately.
    Sent by Ray Geist who found it handy when he was debugging computer code.
  • Each computer code has five bugs, and tis number does not depend on how many bugs have been already found (it is conservative).
    Sent by Andrew
  • Profanity is one language all computer users know.
    Sent by Jeff Webb
  • The number of bugs always exceeds the number of lines found in a program.
    Sent by Yaron Budowski
  • The most ominous words for those using computers: "Daddy, what does 'Now formatting Drive C mean'?"
    Sent by Yael Dragwyla
  • When putting something into memory, always remember where you put it.
    Sent by Paul Pigott
  • Every non-trivial program contains at least one bug.
  • Every non-trivial program can be simplified by at least one line of code.
    The conclusion of the last two laws: Every non trivial program can be simplified to one line of code, and it will contain a bug.
    Sent by Brandon Aiken
  • An expert is someone brought in at the last minute to share the blame.
    Sent by Bassey Essien.
  • Debugging is at least twice as hard as writing the program in the first place.
    So if your code is as clever as you can possibly make it, then by definition you're not smart enough to debug it.
    Sent by Brian Kernighan
  • Bahaman's Law:
    for any given software, the moment you manage to master it, a new version appears.
    Sent by Bahaman.
    Yakko's addition:
    The new version always manages to change the one feature you need most.
    Sent by Yakko
  • Patches - don't.
    Sent by Doru Tasca
  • Most computer errors can be attributed to a similar problem - a screw loose behind the keyboard.
  • Whenever you need a crucial file from the server, the network will be down.
  • Whenever you need a crucial file from your hard drive, your computer will crash.
  • E-mailed tasking will always come just before you log off.
  • A quarantined virus - will be opened.
  • A chain letter - will be sent. To global. A dozen times.
  • The chance of a virus infecting your network is directly proportional to the amount of damage it does.
  • The chances of getting off work on time is inversely proportional to how much e-mail the boss leaves for until end of the day.
  • The faster you need a hardcopy, the more people will be using the only office printer.
  • General Fault Errors are the "Check Engine" light of computers. If it can be fixed, chances are it's not by you.
  • A patch is a piece of software which replaces old bugs with new bugs.
  • The chances of a program doing what it's supposed to do is inversely proportional to the number of lines of code used to write it.
    The last twelve laws were sent by Ryan Sylvester
  • The probability of forgetting your password is directly proportional to the frequency of changing it.
  • No matter how fantastic your latest and greatest PC is, you will be able to buy it for half the price in 12 months.
    The last two laws were sent by Zain
  • The longer it takes to download a program the more likely it won't run.
    Sent by Skwirl
  • Failure is not an option, it's included with the software.
    Sent by Paul
  • A program is good when it's bug free - which is impossible.
    Sent by Hans van Rijsse
  • If you forget to save you're work every 5 minutes, it will break down after you've been at it for an hour.
    Sent by Eric Guilbault
  • It's not a bug, it's an undocumented feature.
  • The amount of time taken to successfully complete a software project is in direct proportion to the amount of Marketing input.
    Corollary: Marketing should not be located in the same city - much less on the same campus - as Engineering and/or Programming.
  • The only thing worse than an end-user without a clue is an end-user who has a clue - usually the wrong one.
  • According to most Tech Support people, the most common user error message (regardless of Operating System) is ID 10T.
    End-users' Corollary 1: most application failures occur between the hours of 2 and 4 am on a Sunday night - with a 6 am Monday deadline for the project.
    End-users' Corollary 2: On the graveyard shift, there's no Tech Support to hear you scream!
    The last four laws and corollaries were sent by Jim Kirk
  • Bugs mysteriously appear when you say, "Watch this!"
    corollary: If you call another programmer over to see if he knows what's wrong the bug disappears.
    The corollary was sent by S. Bussell.
  • The probability of bugs appearing is directly proportional to the number and importance of people watching.
    The last two laws were sent by Bill Smith.
  • An employee rank is in inverse proportion to his use of a computer, and in proportion to its performance.
    Sent by Dan Wasson
  • The only program that runs perfectly every time, is a virus
    Sent by DaRk_jAcKaL
  • If a project is completed on schedule, it wasn't debugged properly.
  • Non Crash Operating System aren't.
  • The worst bugs in your program will show up only during the final review.
    The last three laws were sent by Kiran
  • The people who say that computers are simple to use are the same people who tell you how to build a watch when you ask what time it is.
    Sent by Jack Betz
  • Philington's First Law
    If it works, it's production. If it doesn't, it's a test.
  • Philington's Second Law
    Real programmers don't comment their code. If it was hard to write, it should be hard to understand.
    The last two laws were sent by Philip Partington
  • Format C: fixes all
    Sent by Ron Westby
  • Law of Computer Generated Aerodynamics
    Computers suck.
  • Law of Recycling
    A computer that has been on the market for 6 weeks is still usable as a boat anchor.
  • Law of Anti-security
    The best way past a pesky security feature is a 13-year-old.
  • Law of Acceleration
    A computer that has surpassed its user's frustration capacity (FC) will accelerate downwards at 9.8 meters per second squared.
    The last four laws were sent by Timothy Boilard
  • Computers let you waste time efficiently
    Sent by Jim F.
  • Make a system even a moron can use and a moron will use it.
  • Make one that requires training or intelligence and only a moron will use it, but there will be more help desk calls.
    Sent by S. Bussell
  • The likelihood of problems occurring is inversely proportional to the amount of time remaining before the deadline.
  • You will always discover errors in your work after you have printed/submitted it.
    The last two laws were sent by Niels Hageman
  • 90% of a programmer errors come from data from other programmers.
    Sent by Emanuel
  • 'Illegal Error' messages only happen when you forget to save your work
    Sent by Abdul Mohsin
  • If you make the letters in your Word document bigger and then you print it out, you'll have everything on the first page and only one line on the second.
    Sent by Nadine
  • the OEM did not actually manufacture the part you need to replace
    Sent by Bryan Lord
  • By the time you learn your new computer you'll need a new one.
    Sent by romanaround
  • After a software is released, the first bug found will be by a person who normally does not use that portion of the program but was wondering why he can't do something he normally would not do.
    Sent by Rick G.
  • When the Downloading Window says "99%complete", there will be a fluctuation in the voltage and you'll have to start all over again.
    Sent by Sagar Kalantre
  • Millions of people believe they are animals, but I have yet to meet one that believe in Windows' stability. Even human stupidity has limits ;-)
    Sent by Sylvain Galibert
  • The troubleshooting guide contains the answer to every problem except yours.
    Sent by Jesse Janowiak
  • Plugins Law
    Whenever you install a group of plugins one by one just to find out which one can make your software work, you either haven't gotten the right one, or have accidentally skipped the right one or it has become the last one installed.
    Sent by Laudney Ren
  • No matter what problem you have with your computer - Its Always Microsoft's fault
    Corollary: If its not their fault - Blame them anyway :-)
    Sent by Andrei Keren
  • You will get disconnected from the Internet or experience a computer crash when you are downloading. If you don't experience one within 80% completion, then it will happen at 99%. If you do manage to get the file, then it will turn out to be completely useless and/or invalid.
    Sent by Hyung Jin Lee
  • You'll always receive an e-mail from a web site that you never visit before.
  • 75% of the bugs laws in this page can be applied to MS Windows (Any version).
    The last two laws were sent by Christian C
  • Auto Correct - isn't
  • Microsoft excel- doesn't
    the last two laws were sent by Alegna
  • If you need to shutdown your PC ASAP, It will restart.
  • The quickest way to shutdown a PC is to unplug it.
    Corollary: ACPI shutdown (sometimes faster to get to than the plug) does not always work.
    Corollary: ACPI shutdown will fail most frequently when you run the risk of being caught doing something.
    Corollaries were sent by Stravag
  • No matter how big a hard drive you buy, you'll need to double it in a year.
    the last three laws were sent by Pliaskos
  • Complete computer breakdown will happen shortly after the maintenance person has left.
    Sent by Jan Wenall
  • A virus will be erased when the hard drive crashes, making it useless for antivirus program to fix it.
    Sent by mitch
  • The problem always exists between one keyboard and it's respective chair.
    (On submission problem was insomnia... zzzzzz)
    Sent by Cpt_Anderson
  • A program that compile on the first run has an error in the algorithm
    Sent by Iavor Dimitrov
  • Edward V. Berard Law
    Walking on water and developing software to specification are easy as long as both are frozen.
    Sent by Andre Van Dun
  • The smaller the size of your email account, the more junk mail you will get
  • The boss will always come to your workspace when you accidentally open an adult link
  • The more pop-up screens you have, the more likely the boss will come by
    The last three laws were sent by Mark
  • A computer is only as smart as the person using it
  • If it ain't broke, Overclock it!
    The last two laws were sent by Michael Horvath
  • If you're in a hurry, your computer will crash, a hard drive will become corrupted, or your files will be erased. Any way, you're screwed if you have a deadline.
    Sent by Logan
  • Software Reliability:
    Investment in software reliability will increase until it exceeds the probable cost of errors.
    Sent by Bill Pramik
  • Computer sadism: When the computer causes physical or mental damage to a person and can't receive such a return favor (due to management rules).
  • Computer masochism: When a computer takes all the abuse you think you can give it and continues working as it should.
  • The sound of grinding metal or the sight of smoke coming from a case is a warning that you are trying to do too much with too little.
  • The survivability of a system is directly proportional to the price of the cooling system applied to it and inversely proportional to the amount of use it sees.
  • Antivirus systems only effectively work on a virus after given virus has passed its prime.
  • The most frightening of viruses is the virus you do not know is already there.
    The last six laws were sent by Stravag
  • The amount of damage that a string of code can do is inversely proportional to the length of the string
    Sent by Kit Balmer
  • You only receive instant messaging, when working on a project that's due instantly
    Sent by Keith
  • When designing a program to handle all possible dumb errors, nature creates a dumber user
    Sent by Rich Spejcher

No comments: