Saturday, December 30, 2006

I found these interesting Murphy's Laws about Computing while doing vella surfing.Just read them and have a laugh :D...

  • 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.