# HG changeset patch # User meillo@marmaro.de # Date 1268062312 -3600 # Node ID faff9ea75591fcc43e28a76a630570fb9c454e5e # Parent e8adc3571e8cb318250b2aaa1fbc0238f17c1a1d more rework diff -r e8adc3571e8c -r faff9ea75591 unix-phil-slides.ms --- a/unix-phil-slides.ms Mon Mar 08 12:58:58 2010 +0100 +++ b/unix-phil-slides.ms Mon Mar 08 16:31:52 2010 +0100 @@ -18,7 +18,7 @@ .I Show that most modern software is crap .I -Explain why the Unix Phil leads to better software +Explain why the Unix Phil leads to good/better software .I Convince you that good software is of matter .sp 2 @@ -28,19 +28,24 @@ .S "Roadmap .I -Historical background +Background .I What is the Unix Phil? .I The Unix Phil after Gancarz .I -Discussion on real world examples +Real world examples .I -The Unix Phil is more than software dev guidelines +Final thoughts -.S "How I learned about it + +.P "Background + + + +.S "How I met the Unix Phil .LP First contact through dwm (suckless project) .LP @@ -49,19 +54,11 @@ ``The Unix and the Echo'' .LP ``The Unix Programming Environment'' +.LP .sp 1 -.LP Better understanding through digging in the past - - - -.P "Historical background - - - - .S "Historical background .LP The late 60s and early 70s @@ -88,8 +85,8 @@ It is not covered by the Unix Phil .br The Unix Phil is on a different level +.LP .sp 2 -.LP Unix is mainly two things: .I An operating system (system calls) @@ -213,6 +210,8 @@ .LP Often straight forward to implement .LP +Toolchests +.LP Reusable @@ -225,6 +224,8 @@ The best way to shape a software .LP Users find bugs +.LP +Incremental development .S "Choose portability over efficiency @@ -240,6 +241,8 @@ .S "Store data in flat text files .LP +(originally: ``Store numerical data in flat ASCII files'') +.LP Binary data is machine-dependent .LP Human readable data is: @@ -262,6 +265,8 @@ Make best use of computing power .LP Reduce development effort +.LP +Toolchests and a powerful shell .S "Use shell scripts to increase leverage and portability @@ -273,6 +278,8 @@ Prototyping .LP Quick hacks +.LP +Users are ``programmers'' .S "Avoid captive user interfaces @@ -282,6 +289,10 @@ Exclude the user whenever possible .LP Automate +.LP +How does it scale? +.LP +Bloat .S "Make every program a filter @@ -291,6 +302,8 @@ Combine programs .LP Have one common interface +.LP +Toolchests @@ -301,22 +314,23 @@ .LP How to reformat the output of find(1) to have ``FILENAME PATH'' instead of ``PATH/FILENAME''? - .LP The ``easy'' way: \f(CWfind /dir -printf "%P %h\en"\fP - .LP The ``good'' way: .br .CW "\s-1find /dir | sed 's,\e(.*\e)/\e(.*\e),\e2 \e1,' - .LP The difference shows off when one wants, for instance, the path to be manipulated further. +.LP +.sp 3 +Source (in German): +.CW "\s-1http://debianforum.de/forum/viewtopic.php?t=117683 -.S "various +.S "Various .LP Who uses .CW "grep -R @@ -366,18 +380,18 @@ -.P "Some final thoughts +.P "Final thoughts -.S "Say no! +.S "Say no .LP -In today's computer world, the Unix Phil is often asceticism +In today's computer world, following the Unix Phil means often asceticism .LP One needs to abjure a lot of ``nice'' features .LP -Actually it is abjuring the bad solutions +Actually, it is abjuring the *bad* features .LP -IMO that leads to a valuable attitude +Leads to a valuable attitude, IMO .LP .sp 2 Transfer it to your everyday life @@ -406,21 +420,24 @@ Transfer it to your everyday life -.S "Live it! +.S "Live it .LP -The Unix Phil is not just a few guidelines +The Unix Phil is more than just a few guidelines .LP -You cannot follow just some of the tenets +You cannot follow only some of the tenets .LP -You will not understand the Unix Phil when you don't engage with it -.sp 3 +To understand the Unix Phil, you need to engage with it .LP +.sp 4 .ce +.B It's a philosophy \(en live it! -.P "Appendix + + +.P "References .S Literature @@ -436,9 +453,10 @@ A Bible for Unix-lovers. .I ``\fBThe Mythical Man-Month\fP'' +and ``\fBNo Silver Bullet\fP'' by Fred Brooks .br -The case about complexity. +About complexity in software development. .I ``\fBThe Practice of Programming\fP'' by Kernighan and Pike