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