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