Mercurial > docs > unix-phil
changeset 25:e6ac51dc18bf
work on the slides
author | meillo@marmaro.de |
---|---|
date | Sun, 07 Mar 2010 18:13:30 +0100 (2010-03-07) |
parents | 2335f5658fca |
children | b368ff5cdb5f |
files | unix-phil-slides.ms |
diffstat | 1 files changed, 146 insertions(+), 25 deletions(-) [+] |
line wrap: on
line diff
--- 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. -.LP -foo + + +.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. -.LP -foo +.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. -.LP -foo +.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. -.LP -foo +.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. +.S "Store data in flat text files +.LP +binary data is machine dependent .LP -foo +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 "Use software leverage to your advantage. +.S "Use software leverage to your advantage +.LP +what do we have computers for? .LP -foo +make best use of computing power +.LP +reduce development effort -.S "Use shell scripts to increase leverage and portability. +.S "Use shell scripts to increase leverage and portability +.LP +was very important in history +.LP +high level languages +.LP +prototyping .LP -foo +quick hacks + + +.S "Avoid captive user interfaces +.LP +don't assume the user to be human +.LP +exclude the user whenever possible +.LP +automate -.S "Avoid captive user interfaces. +.S "Make every program a filter +.LP +programs transform data .LP -foo +combine programs +.LP +have one common interface + -.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!