Other rules and notes Always split mechanisms and policies Examples: X11, IPV4 Silence is golden Don't make your output dirty with unneeded information Always (always) check error conditions It will save you hours or days of grief Code repetition is __BAD__ Never use cut-and-paste as a programming technique You'll replicate your bugs, and will make them unfixable The design of your code will be hidden Use tables and data structures to avoid repetition http://en.wikipedia.org/wiki/Unix_philosophy The three virtues of the programmer, according to Larry Wall Laziness, impatience, hubris.