Version 3 of Murphy Software Engineering

Updated 2004-10-12 06:11:09 by suchenwi

FPX: If there are two or more ways to do something, and one of those ways can result in a catastrophe, someone will do it. Therefore, Murphy concluded, things should be engineered in a way so that there are not two or more ways to do something.

This page is intended to collect advice on good engineering practice for building software with Murphy's advice in mind, and, as negative examples and for entertainment, anecdotes of catastrophes caused by accidental misuse of software.


  • Tcl and octal numbers: Interpreting a string as a number may have unexpected results.
  • switch $var {...} will make a runtime syntax error if $var starts with a dash - so always write: switch -- $var {...}