docs/unix-phil
diff unix-phil-slides.ms @ 25:e6ac51dc18bf
work on the slides
author | meillo@marmaro.de |
---|---|
date | Sun, 07 Mar 2010 18:13:30 +0100 |
parents | 2335f5658fca |
children | b368ff5cdb5f |
line diff
1.1 --- a/unix-phil-slides.ms Fri Mar 05 23:56:48 2010 +0100 1.2 +++ b/unix-phil-slides.ms Sun Mar 07 18:13:30 2010 +0100 1.3 @@ -192,51 +192,119 @@ 1.4 1.5 .P "The Unix Phil after Gancarz 1.6 1.7 -.S "Small is beautiful. 1.8 + 1.9 + 1.10 +.S "Small is beautiful 1.11 +.I 1.12 +small software is easier to understand, write, maintain 1.13 +.I 1.14 +less lines of code contain less bugs 1.15 +.I 1.16 +monsters are large 1.17 + 1.18 + 1.19 +.S "Make each program do one thing well 1.20 +.I 1.21 +programs with many functions are large 1.22 +.I 1.23 +one thing is easier to understand 1.24 +.I 1.25 +often straight forward to implement 1.26 +.I 1.27 +reusable 1.28 + 1.29 + 1.30 +.S "Build a prototype as soon as possible 1.31 +.I 1.32 +shows the quality of the design 1.33 +.I 1.34 +shows the problems of the software 1.35 +.I 1.36 +the best way to shape a software 1.37 +.I 1.38 +users find bugs 1.39 + 1.40 + 1.41 +.S "Choose portability over efficiency 1.42 +.I 1.43 +(comes from incompatible hardware in history) 1.44 +.I 1.45 +use is most important 1.46 +.I 1.47 +availability 1.48 +.I 1.49 +only needs to be fast enough 1.50 + 1.51 + 1.52 +.S "Store data in flat text files 1.53 .LP 1.54 -foo 1.55 +binary data is machine dependent 1.56 +.LP 1.57 +human readable data is: 1.58 +.I 1.59 +is very likely supported 1.60 +.I 1.61 +good to port 1.62 +.I 1.63 +many tools work on it (Unix toolchest) 1.64 +.I 1.65 +as generic as possible 1.66 +.LP 1.67 +processing needs only to be fast enough 1.68 1.69 1.70 -.S "Make each program do one thing well. 1.71 +.S "Use software leverage to your advantage 1.72 .LP 1.73 -foo 1.74 +what do we have computers for? 1.75 +.LP 1.76 +make best use of computing power 1.77 +.LP 1.78 +reduce development effort 1.79 1.80 1.81 -.S "Build a prototype as soon as possible. 1.82 +.S "Use shell scripts to increase leverage and portability 1.83 .LP 1.84 -foo 1.85 +was very important in history 1.86 +.LP 1.87 +high level languages 1.88 +.LP 1.89 +prototyping 1.90 +.LP 1.91 +quick hacks 1.92 1.93 1.94 -.S "Choose portability over efficiency. 1.95 +.S "Avoid captive user interfaces 1.96 .LP 1.97 -foo 1.98 +don't assume the user to be human 1.99 +.LP 1.100 +exclude the user whenever possible 1.101 +.LP 1.102 +automate 1.103 1.104 1.105 -.S "Store data in flat text files. 1.106 +.S "Make every program a filter 1.107 .LP 1.108 -foo 1.109 +programs transform data 1.110 +.LP 1.111 +combine programs 1.112 +.LP 1.113 +have one common interface 1.114 1.115 1.116 -.S "Use software leverage to your advantage. 1.117 -.LP 1.118 -foo 1.119 1.120 - 1.121 -.S "Use shell scripts to increase leverage and portability. 1.122 -.LP 1.123 -foo 1.124 - 1.125 - 1.126 -.S "Avoid captive user interfaces. 1.127 -.LP 1.128 -foo 1.129 - 1.130 - 1.131 -.S "Make every program a filter. 1.132 -.LP 1.133 -foo 1.134 - 1.135 - 1.136 +.S "a different POV 1.137 +.I 1.138 +pipes 1.139 +.I 1.140 +interface design 1.141 +.I 1.142 +the toolchest approach 1.143 +.I 1.144 +a powerful shell 1.145 +.I 1.146 +worse is better 1.147 +.I 1.148 +upgrowth and survival 1.149 1.150 1.151 1.152 @@ -285,11 +353,27 @@ 1.153 .S "MH / nmh 1.154 .LP 1.155 a Mail User Agent (MUA) 1.156 +.LP 1.157 +is a toolchest 1.158 +.LP 1.159 +work with mails like with generic files 1.160 +.LP 1.161 +the only(?) MUA that follows the Unix Phil 1.162 +.LP 1.163 +has a very special feeling 1.164 1.165 1.166 .S "uzbl 1.167 .LP 1.168 a web browser that adheres to the Unix Phil 1.169 +.LP 1.170 +a young project (about 1 year) 1.171 +.LP 1.172 +central question: what is the one task a web browser covers? 1.173 +.LP 1.174 +makes very visible use of software leverage 1.175 +.LP 1.176 +suffers hard from our broken web 1.177 1.178 1.179 1.180 @@ -298,6 +382,43 @@ 1.181 .P "more than software dev guidelines 1.182 1.183 1.184 +.S "say no 1.185 +.LP 1.186 +in today's computer world, the Unix Phil is much of asceticism 1.187 +.LP 1.188 +one needs to abjure a lot of ``nice'' features 1.189 +.LP 1.190 +IMO that leads to a valuable attitude 1.191 + 1.192 + 1.193 +.S "avoid complexity 1.194 +.LP 1.195 +avoid complexity first and foremost 1.196 +.LP 1.197 +complexity is the ``boss enemy'' software developers fight against 1.198 +.LP 1.199 +strive for simplicity, clarity, generality 1.200 + 1.201 + 1.202 +.S "good solutions 1.203 +.LP 1.204 +we don't need just solutions, we need good ones 1.205 +.LP 1.206 +today, we can make things possible, 1.207 +but we still cannot make them good 1.208 + 1.209 + 1.210 +.S "live it 1.211 +.LP 1.212 +the Unix Phil is not just a few guidelines 1.213 +.LP 1.214 +you cannot follow just some of the tenets 1.215 +.LP 1.216 +you will not understand the Unix Phil when you don't engage with it 1.217 +.sp 3 1.218 +.LP 1.219 +.ce 1.220 +it's a philosophy \(en live it! 1.221 1.222 1.223