docs/unix-phil

changeset 28:faff9ea75591 cs talk version

more rework
author meillo@marmaro.de
date Mon, 08 Mar 2010 16:31:52 +0100
parents e8adc3571e8c
children 302daab2e8ee
files unix-phil-slides.ms
diffstat 1 files changed, 49 insertions(+), 31 deletions(-) [+]
line diff
     1.1 --- a/unix-phil-slides.ms	Mon Mar 08 12:58:58 2010 +0100
     1.2 +++ b/unix-phil-slides.ms	Mon Mar 08 16:31:52 2010 +0100
     1.3 @@ -18,7 +18,7 @@
     1.4  .I
     1.5  Show that most modern software is crap
     1.6  .I
     1.7 -Explain why the Unix Phil leads to better software
     1.8 +Explain why the Unix Phil leads to good/better software
     1.9  .I
    1.10  Convince you that good software is of matter
    1.11  .sp 2
    1.12 @@ -28,19 +28,24 @@
    1.13  
    1.14  .S "Roadmap
    1.15  .I
    1.16 -Historical background
    1.17 +Background
    1.18  .I
    1.19  What is the Unix Phil?
    1.20  .I
    1.21  The Unix Phil after Gancarz
    1.22  .I
    1.23 -Discussion on real world examples
    1.24 +Real world examples
    1.25  .I
    1.26 -The Unix Phil is more than software dev guidelines
    1.27 +Final thoughts
    1.28  
    1.29  
    1.30  
    1.31 -.S "How I learned about it
    1.32 +
    1.33 +.P "Background
    1.34 +
    1.35 +
    1.36 +
    1.37 +.S "How I met the Unix Phil
    1.38  .LP
    1.39  First contact through dwm (suckless project)
    1.40  .LP
    1.41 @@ -49,19 +54,11 @@
    1.42  ``The Unix and the Echo''
    1.43  .LP
    1.44  ``The Unix Programming Environment''
    1.45 +.LP
    1.46  .sp 1
    1.47 -.LP
    1.48  Better understanding through digging in the past
    1.49  
    1.50  
    1.51 -
    1.52 -
    1.53 -
    1.54 -.P "Historical background
    1.55 -
    1.56 -
    1.57 -
    1.58 -
    1.59  .S "Historical background
    1.60  .LP
    1.61  The late 60s and early 70s
    1.62 @@ -88,8 +85,8 @@
    1.63  It is not covered by the Unix Phil
    1.64  .br
    1.65  The Unix Phil is on a different level
    1.66 +.LP
    1.67  .sp 2
    1.68 -.LP
    1.69  Unix is mainly two things:
    1.70  .I
    1.71  An operating system (system calls)
    1.72 @@ -213,6 +210,8 @@
    1.73  .LP
    1.74  Often straight forward to implement
    1.75  .LP
    1.76 +Toolchests
    1.77 +.LP
    1.78  Reusable
    1.79  
    1.80  
    1.81 @@ -225,6 +224,8 @@
    1.82  The best way to shape a software
    1.83  .LP
    1.84  Users find bugs
    1.85 +.LP
    1.86 +Incremental development
    1.87  
    1.88  
    1.89  .S "Choose portability over efficiency
    1.90 @@ -240,6 +241,8 @@
    1.91  
    1.92  .S "Store data in flat text files
    1.93  .LP
    1.94 +(originally: ``Store numerical data in flat ASCII files'')
    1.95 +.LP
    1.96  Binary data is machine-dependent
    1.97  .LP
    1.98  Human readable data is:
    1.99 @@ -262,6 +265,8 @@
   1.100  Make best use of computing power
   1.101  .LP
   1.102  Reduce development effort
   1.103 +.LP
   1.104 +Toolchests and a powerful shell
   1.105  
   1.106  
   1.107  .S "Use shell scripts to increase leverage and portability
   1.108 @@ -273,6 +278,8 @@
   1.109  Prototyping
   1.110  .LP
   1.111  Quick hacks
   1.112 +.LP
   1.113 +Users are ``programmers''
   1.114  
   1.115  
   1.116  .S "Avoid captive user interfaces
   1.117 @@ -282,6 +289,10 @@
   1.118  Exclude the user whenever possible
   1.119  .LP
   1.120  Automate
   1.121 +.LP
   1.122 +How does it scale?
   1.123 +.LP
   1.124 +Bloat
   1.125  
   1.126  
   1.127  .S "Make every program a filter
   1.128 @@ -291,6 +302,8 @@
   1.129  Combine programs
   1.130  .LP
   1.131  Have one common interface
   1.132 +.LP
   1.133 +Toolchests
   1.134  
   1.135  
   1.136  
   1.137 @@ -301,22 +314,23 @@
   1.138  .LP
   1.139  How to reformat the output of find(1) to have ``FILENAME PATH''
   1.140  instead of ``PATH/FILENAME''?
   1.141 -
   1.142  .LP
   1.143  The ``easy'' way:
   1.144  \f(CWfind /dir -printf "%P %h\en"\fP
   1.145 -
   1.146  .LP
   1.147  The ``good'' way:
   1.148  .br
   1.149  .CW "\s-1find /dir | sed 's,\e(.*\e)/\e(.*\e),\e2 \e1,'
   1.150 -
   1.151  .LP
   1.152  The difference shows off when one wants, for instance,
   1.153  the path to be manipulated further.
   1.154 +.LP
   1.155 +.sp 3
   1.156 +Source (in German):
   1.157 +.CW "\s-1http://debianforum.de/forum/viewtopic.php?t=117683
   1.158  
   1.159  
   1.160 -.S "various
   1.161 +.S "Various
   1.162  .LP
   1.163  Who uses
   1.164  .CW "grep -R
   1.165 @@ -366,18 +380,18 @@
   1.166  
   1.167  
   1.168  
   1.169 -.P "Some final thoughts
   1.170 +.P "Final thoughts
   1.171  
   1.172  
   1.173 -.S "Say no!
   1.174 +.S "Say no
   1.175  .LP
   1.176 -In today's computer world, the Unix Phil is often asceticism
   1.177 +In today's computer world, following the Unix Phil means often asceticism
   1.178  .LP
   1.179  One needs to abjure a lot of ``nice'' features
   1.180  .LP
   1.181 -Actually it is abjuring the bad solutions
   1.182 +Actually, it is abjuring the *bad* features
   1.183  .LP
   1.184 -IMO that leads to a valuable attitude
   1.185 +Leads to a valuable attitude, IMO
   1.186  .LP
   1.187  .sp 2
   1.188  Transfer it to your everyday life
   1.189 @@ -406,21 +420,24 @@
   1.190  Transfer it to your everyday life
   1.191  
   1.192  
   1.193 -.S "Live it!
   1.194 +.S "Live it
   1.195  .LP
   1.196 -The Unix Phil is not just a few guidelines
   1.197 +The Unix Phil is more than just a few guidelines
   1.198  .LP
   1.199 -You cannot follow just some of the tenets
   1.200 +You cannot follow only some of the tenets
   1.201  .LP
   1.202 -You will not understand the Unix Phil when you don't engage with it
   1.203 -.sp 3
   1.204 +To understand the Unix Phil, you need to engage with it
   1.205  .LP
   1.206 +.sp 4
   1.207  .ce
   1.208 +.B
   1.209  It's a philosophy \(en live it!
   1.210  
   1.211  
   1.212  
   1.213 -.P "Appendix
   1.214 +
   1.215 +
   1.216 +.P "References
   1.217  
   1.218  
   1.219  .S Literature
   1.220 @@ -436,9 +453,10 @@
   1.221  A Bible for Unix-lovers.
   1.222  .I
   1.223  ``\fBThe Mythical Man-Month\fP''
   1.224 +and ``\fBNo Silver Bullet\fP''
   1.225  by Fred Brooks
   1.226  .br
   1.227 -The case about complexity.
   1.228 +About complexity in software development.
   1.229  .I
   1.230  ``\fBThe Practice of Programming\fP''
   1.231  by Kernighan and Pike