Mercurial > docs > unix-phil
comparison 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 |
comparison
equal
deleted
inserted
replaced
24:2335f5658fca | 25:e6ac51dc18bf |
---|---|
190 | 190 |
191 | 191 |
192 | 192 |
193 .P "The Unix Phil after Gancarz | 193 .P "The Unix Phil after Gancarz |
194 | 194 |
195 .S "Small is beautiful. | 195 |
196 .LP | 196 |
197 foo | 197 .S "Small is beautiful |
198 | 198 .I |
199 | 199 small software is easier to understand, write, maintain |
200 .S "Make each program do one thing well. | 200 .I |
201 .LP | 201 less lines of code contain less bugs |
202 foo | 202 .I |
203 | 203 monsters are large |
204 | 204 |
205 .S "Build a prototype as soon as possible. | 205 |
206 .LP | 206 .S "Make each program do one thing well |
207 foo | 207 .I |
208 | 208 programs with many functions are large |
209 | 209 .I |
210 .S "Choose portability over efficiency. | 210 one thing is easier to understand |
211 .LP | 211 .I |
212 foo | 212 often straight forward to implement |
213 | 213 .I |
214 | 214 reusable |
215 .S "Store data in flat text files. | 215 |
216 .LP | 216 |
217 foo | 217 .S "Build a prototype as soon as possible |
218 | 218 .I |
219 | 219 shows the quality of the design |
220 .S "Use software leverage to your advantage. | 220 .I |
221 .LP | 221 shows the problems of the software |
222 foo | 222 .I |
223 | 223 the best way to shape a software |
224 | 224 .I |
225 .S "Use shell scripts to increase leverage and portability. | 225 users find bugs |
226 .LP | 226 |
227 foo | 227 |
228 | 228 .S "Choose portability over efficiency |
229 | 229 .I |
230 .S "Avoid captive user interfaces. | 230 (comes from incompatible hardware in history) |
231 .LP | 231 .I |
232 foo | 232 use is most important |
233 | 233 .I |
234 | 234 availability |
235 .S "Make every program a filter. | 235 .I |
236 .LP | 236 only needs to be fast enough |
237 foo | 237 |
238 | 238 |
239 | 239 .S "Store data in flat text files |
240 .LP | |
241 binary data is machine dependent | |
242 .LP | |
243 human readable data is: | |
244 .I | |
245 is very likely supported | |
246 .I | |
247 good to port | |
248 .I | |
249 many tools work on it (Unix toolchest) | |
250 .I | |
251 as generic as possible | |
252 .LP | |
253 processing needs only to be fast enough | |
254 | |
255 | |
256 .S "Use software leverage to your advantage | |
257 .LP | |
258 what do we have computers for? | |
259 .LP | |
260 make best use of computing power | |
261 .LP | |
262 reduce development effort | |
263 | |
264 | |
265 .S "Use shell scripts to increase leverage and portability | |
266 .LP | |
267 was very important in history | |
268 .LP | |
269 high level languages | |
270 .LP | |
271 prototyping | |
272 .LP | |
273 quick hacks | |
274 | |
275 | |
276 .S "Avoid captive user interfaces | |
277 .LP | |
278 don't assume the user to be human | |
279 .LP | |
280 exclude the user whenever possible | |
281 .LP | |
282 automate | |
283 | |
284 | |
285 .S "Make every program a filter | |
286 .LP | |
287 programs transform data | |
288 .LP | |
289 combine programs | |
290 .LP | |
291 have one common interface | |
292 | |
293 | |
294 | |
295 .S "a different POV | |
296 .I | |
297 pipes | |
298 .I | |
299 interface design | |
300 .I | |
301 the toolchest approach | |
302 .I | |
303 a powerful shell | |
304 .I | |
305 worse is better | |
306 .I | |
307 upgrowth and survival | |
240 | 308 |
241 | 309 |
242 | 310 |
243 .P "real world examples | 311 .P "real world examples |
244 | 312 |
283 | 351 |
284 | 352 |
285 .S "MH / nmh | 353 .S "MH / nmh |
286 .LP | 354 .LP |
287 a Mail User Agent (MUA) | 355 a Mail User Agent (MUA) |
356 .LP | |
357 is a toolchest | |
358 .LP | |
359 work with mails like with generic files | |
360 .LP | |
361 the only(?) MUA that follows the Unix Phil | |
362 .LP | |
363 has a very special feeling | |
288 | 364 |
289 | 365 |
290 .S "uzbl | 366 .S "uzbl |
291 .LP | 367 .LP |
292 a web browser that adheres to the Unix Phil | 368 a web browser that adheres to the Unix Phil |
369 .LP | |
370 a young project (about 1 year) | |
371 .LP | |
372 central question: what is the one task a web browser covers? | |
373 .LP | |
374 makes very visible use of software leverage | |
375 .LP | |
376 suffers hard from our broken web | |
293 | 377 |
294 | 378 |
295 | 379 |
296 | 380 |
297 | 381 |
298 .P "more than software dev guidelines | 382 .P "more than software dev guidelines |
299 | 383 |
300 | 384 |
385 .S "say no | |
386 .LP | |
387 in today's computer world, the Unix Phil is much of asceticism | |
388 .LP | |
389 one needs to abjure a lot of ``nice'' features | |
390 .LP | |
391 IMO that leads to a valuable attitude | |
392 | |
393 | |
394 .S "avoid complexity | |
395 .LP | |
396 avoid complexity first and foremost | |
397 .LP | |
398 complexity is the ``boss enemy'' software developers fight against | |
399 .LP | |
400 strive for simplicity, clarity, generality | |
401 | |
402 | |
403 .S "good solutions | |
404 .LP | |
405 we don't need just solutions, we need good ones | |
406 .LP | |
407 today, we can make things possible, | |
408 but we still cannot make them good | |
409 | |
410 | |
411 .S "live it | |
412 .LP | |
413 the Unix Phil is not just a few guidelines | |
414 .LP | |
415 you cannot follow just some of the tenets | |
416 .LP | |
417 you will not understand the Unix Phil when you don't engage with it | |
418 .sp 3 | |
419 .LP | |
420 .ce | |
421 it's a philosophy \(en live it! | |
301 | 422 |
302 | 423 |
303 | 424 |
304 .P "literature | 425 .P "literature |
305 | 426 |