# HG changeset patch # User meillo@marmaro.de # Date 1267982010 -3600 # Node ID e6ac51dc18bf271613cbfeccfa109518a2be3797 # Parent 2335f5658fca1a44825e483f1486d984e81f383b work on the slides diff -r 2335f5658fca -r e6ac51dc18bf unix-phil-slides.ms --- a/unix-phil-slides.ms Fri Mar 05 23:56:48 2010 +0100 +++ b/unix-phil-slides.ms Sun Mar 07 18:13:30 2010 +0100 @@ -192,51 +192,119 @@ .P "The Unix Phil after Gancarz -.S "Small is beautiful. + + +.S "Small is beautiful +.I +small software is easier to understand, write, maintain +.I +less lines of code contain less bugs +.I +monsters are large + + +.S "Make each program do one thing well +.I +programs with many functions are large +.I +one thing is easier to understand +.I +often straight forward to implement +.I +reusable + + +.S "Build a prototype as soon as possible +.I +shows the quality of the design +.I +shows the problems of the software +.I +the best way to shape a software +.I +users find bugs + + +.S "Choose portability over efficiency +.I +(comes from incompatible hardware in history) +.I +use is most important +.I +availability +.I +only needs to be fast enough + + +.S "Store data in flat text files .LP -foo +binary data is machine dependent +.LP +human readable data is: +.I +is very likely supported +.I +good to port +.I +many tools work on it (Unix toolchest) +.I +as generic as possible +.LP +processing needs only to be fast enough -.S "Make each program do one thing well. +.S "Use software leverage to your advantage .LP -foo +what do we have computers for? +.LP +make best use of computing power +.LP +reduce development effort -.S "Build a prototype as soon as possible. +.S "Use shell scripts to increase leverage and portability .LP -foo +was very important in history +.LP +high level languages +.LP +prototyping +.LP +quick hacks -.S "Choose portability over efficiency. +.S "Avoid captive user interfaces .LP -foo +don't assume the user to be human +.LP +exclude the user whenever possible +.LP +automate -.S "Store data in flat text files. +.S "Make every program a filter .LP -foo +programs transform data +.LP +combine programs +.LP +have one common interface -.S "Use software leverage to your advantage. -.LP -foo - -.S "Use shell scripts to increase leverage and portability. -.LP -foo - - -.S "Avoid captive user interfaces. -.LP -foo - - -.S "Make every program a filter. -.LP -foo - - +.S "a different POV +.I +pipes +.I +interface design +.I +the toolchest approach +.I +a powerful shell +.I +worse is better +.I +upgrowth and survival @@ -285,11 +353,27 @@ .S "MH / nmh .LP a Mail User Agent (MUA) +.LP +is a toolchest +.LP +work with mails like with generic files +.LP +the only(?) MUA that follows the Unix Phil +.LP +has a very special feeling .S "uzbl .LP a web browser that adheres to the Unix Phil +.LP +a young project (about 1 year) +.LP +central question: what is the one task a web browser covers? +.LP +makes very visible use of software leverage +.LP +suffers hard from our broken web @@ -298,6 +382,43 @@ .P "more than software dev guidelines +.S "say no +.LP +in today's computer world, the Unix Phil is much of asceticism +.LP +one needs to abjure a lot of ``nice'' features +.LP +IMO that leads to a valuable attitude + + +.S "avoid complexity +.LP +avoid complexity first and foremost +.LP +complexity is the ``boss enemy'' software developers fight against +.LP +strive for simplicity, clarity, generality + + +.S "good solutions +.LP +we don't need just solutions, we need good ones +.LP +today, we can make things possible, +but we still cannot make them good + + +.S "live it +.LP +the Unix Phil is not just a few guidelines +.LP +you cannot follow just some of the tenets +.LP +you will not understand the Unix Phil when you don't engage with it +.sp 3 +.LP +.ce +it's a philosophy \(en live it!