docs/unix-phil
diff unix-phil.ms @ 42:303e8f449e77
added TOC and improved visual appearance
author | meillo@marmaro.de |
---|---|
date | Fri, 09 Apr 2010 13:31:51 +0200 |
parents | 13ef7042fa28 |
children | 46e34e433231 |
line diff
1.1 --- a/unix-phil.ms Fri Apr 09 12:44:08 2010 +0200 1.2 +++ b/unix-phil.ms Fri Apr 09 13:31:51 2010 +0200 1.3 @@ -13,8 +13,19 @@ 1.4 .. 1.5 .ds [. \ [ 1.6 .ds .] ] 1.7 + 1.8 +.rn NH _N 1.9 +.de NH 1.10 +.if '\\$1'1' .sp 2v 1.11 +.if '\\$1'1' .nr PS +2 1.12 +._N \\$1 1.13 +.if '\\$1'1' .nr PS -2 1.14 +.. 1.15 + 1.16 .\"---------------------------------------- 1.17 + 1.18 .TL 1.19 +.ps +4 1.20 Why the Unix Philosophy still matters 1.21 .AU 1.22 markus schnalke <meillo@marmaro.de> 1.23 @@ -38,6 +49,9 @@ 1.24 1.25 .NH 1 1.26 Introduction 1.27 +.XS 1.28 +\*(SN Introduction 1.29 +.XE 1.30 .LP 1.31 The Unix Philosophy is the essence of how the Unix operating system, 1.32 especially its toolchest, was designed. 1.33 @@ -129,6 +143,10 @@ 1.34 1.35 .NH 1 1.36 Importance of software design in general 1.37 +.XS 1.38 +.sp .5v 1.39 +\*(SN Importance of software design in general 1.40 +.XE 1.41 .LP 1.42 Software design is the planning of how the internal structure 1.43 and external interfaces of a software should look like. 1.44 @@ -243,6 +261,10 @@ 1.45 1.46 .NH 1 1.47 The Unix Philosophy 1.48 +.XS 1.49 +.sp .5v 1.50 +\*(SN The Unix Philosophy 1.51 +.XE 1.52 .LP 1.53 The origins of the Unix Philosophy were already introduced. 1.54 This chapter explains the philosophy, oriented on Gancarz, 1.55 @@ -250,6 +272,9 @@ 1.56 1.57 .NH 2 1.58 Pipes 1.59 +.XS 1.60 + \*(SN Pipes 1.61 +.XE 1.62 .LP 1.63 Following are some examples to demonstrate how applied Unix Philosophy feels like. 1.64 Knowledge of using the Unix shell is assumed. 1.65 @@ -323,6 +348,9 @@ 1.66 1.67 .NH 2 1.68 Interface design 1.69 +.XS 1.70 + \*(SN Interface design 1.71 +.XE 1.72 .LP 1.73 Unix is, first of all, simple \(en Everything is a file. 1.74 Files are sequences of bytes, without any special structure. 1.75 @@ -376,6 +404,9 @@ 1.76 1.77 .NH 2 1.78 The toolchest approach 1.79 +.XS 1.80 + \*(SN The toolchest approach 1.81 +.XE 1.82 .LP 1.83 A toolchest is a set of tools. 1.84 Instead of having one big tool for all tasks, one has many small tools, 1.85 @@ -454,6 +485,9 @@ 1.86 1.87 .NH 2 1.88 A powerful shell 1.89 +.XS 1.90 + \*(SN A powerful shell 1.91 +.XE 1.92 .LP 1.93 It was already said, that the Unix shell provides the possibility to 1.94 combine small programs into large ones easily. 1.95 @@ -519,6 +553,9 @@ 1.96 1.97 .NH 2 1.98 Worse is better 1.99 +.XS 1.100 + \*(SN Worse is better 1.101 +.XE 1.102 .LP 1.103 The Unix Philosophy aims for the 80% solution; 1.104 others call it the ``Worse is better'' approach. 1.105 @@ -559,6 +596,9 @@ 1.106 1.107 .NH 2 1.108 Upgrowth and survival of software 1.109 +.XS 1.110 + \*(SN Upgrowth and survival of software 1.111 +.XE 1.112 .LP 1.113 So far it was talked about \fIwriting\fP or \fIbuilding\fP software. 1.114 Although these are just verbs, they do imply a specific view on the work process 1.115 @@ -668,6 +708,9 @@ 1.116 1.117 .NH 2 1.118 Summary 1.119 +.XS 1.120 + \*(SN Summary 1.121 +.XE 1.122 .LP 1.123 This chapter explained the central ideas of the Unix Philosophy. 1.124 For each of the ideas, it was exposed what advantages they introduce. 1.125 @@ -687,6 +730,10 @@ 1.126 1.127 .NH 1 1.128 Case study: \s-1MH\s0 1.129 +.XS 1.130 +.sp .5v 1.131 +\*(SN Case study: \s-1MH\s0 1.132 +.XE 1.133 .LP 1.134 The previous chapter introduced and explained the Unix Philosophy 1.135 from a general point of view. 1.136 @@ -707,6 +754,9 @@ 1.137 1.138 .NH 2 1.139 Historical background 1.140 +.XS 1.141 + \*(SN Historical background 1.142 +.XE 1.143 .LP 1.144 Electronic mail was available in Unix very early. 1.145 The first \s-1MUA\s0 on Unix was \f(CWmail\fP, 1.146 @@ -782,6 +832,9 @@ 1.147 1.148 .NH 2 1.149 Contrasts to monolithic mail systems 1.150 +.XS 1.151 + \*(SN Contrasts to monolithic mail systems 1.152 +.XE 1.153 .LP 1.154 All \s-1MUA\s0s are monolithic, except \s-1MH\s0. 1.155 Although there might actually exist further, very little known, 1.156 @@ -837,6 +890,9 @@ 1.157 1.158 .NH 2 1.159 Data storage 1.160 +.XS 1.161 + \*(SN Data storage 1.162 +.XE 1.163 .LP 1.164 \s-1MH\s0's mail storage is a directory tree under the user's 1.165 \s-1MH\s0 directory (usually \f(CW$HOME/Mail\fP), 1.166 @@ -898,6 +954,9 @@ 1.167 1.168 .NH 2 1.169 Discussion of the design 1.170 +.XS 1.171 + \*(SN Discussion of the design 1.172 +.XE 1.173 .LP 1.174 The following paragraphs discuss \s-1MH\s0 in regard to the tenets 1.175 of the Unix Philosophy which Gancarz identified. 1.176 @@ -1088,6 +1147,9 @@ 1.177 1.178 .NH 2 1.179 Problems 1.180 +.XS 1.181 + \*(SN Problems 1.182 +.XE 1.183 .LP 1.184 \s-1MH\s0, for sure is not without problems. 1.185 There are two main problems: one is technical, the other is about human behavior. 1.186 @@ -1119,6 +1181,9 @@ 1.187 1.188 .NH 2 1.189 Summary \s-1MH\s0 1.190 +.XS 1.191 + \*(SN Summary \s-1MH\s0 1.192 +.XE 1.193 .LP 1.194 \s-1MH\s0 is an \s-1MUA\s0 that follows the Unix Philosophy in its design 1.195 and implementation. 1.196 @@ -1148,6 +1213,10 @@ 1.197 1.198 .NH 1 1.199 Case study: uzbl 1.200 +.XS 1.201 +.sp .5v 1.202 +\*(SN Case study: uzbl 1.203 +.XE 1.204 .LP 1.205 The last chapter took a look on the \s-1MUA\s0 \s-1MH\s0, 1.206 this chapter is about uzbl, a web browser that adheres to the Unix Philosophy. 1.207 @@ -1156,6 +1225,9 @@ 1.208 1.209 .NH 2 1.210 Historical background 1.211 +.XS 1.212 + \*(SN Historical background 1.213 +.XE 1.214 .LP 1.215 Uzbl was started by Dieter Plaetinck in April 2009. 1.216 The idea was born in a thread in the Arch Linux forum. 1.217 @@ -1189,6 +1261,9 @@ 1.218 1.219 .NH 2 1.220 Contrasts to other web browsers 1.221 +.XS 1.222 + \*(SN Contrasts to other web browsers 1.223 +.XE 1.224 .LP 1.225 Like most \s-1MUA\s0s are monolithic, but \s-1MH\s0 is a toolchest, 1.226 most web browsers are monolithic, but uzbl is a frontend to a toolchest. 1.227 @@ -1230,6 +1305,9 @@ 1.228 1.229 .NH 2 1.230 Discussion of the design 1.231 +.XS 1.232 + \*(SN Discussion of the design 1.233 +.XE 1.234 .LP 1.235 This section discusses uzbl in regard of the Unix Philosophy, 1.236 as identified by Gancarz. 1.237 @@ -1400,6 +1478,9 @@ 1.238 1.239 .NH 2 1.240 Problems 1.241 +.XS 1.242 + \*(SN Problems 1.243 +.XE 1.244 .LP 1.245 Similar to \s-1MH\s0, uzbl, too suffers from being different. 1.246 It is sad, but people use what they know. 1.247 @@ -1428,6 +1509,9 @@ 1.248 1.249 .NH 2 1.250 Summary uzbl 1.251 +.XS 1.252 + \*(SN Summary uzbl 1.253 +.XE 1.254 .LP 1.255 ``Uzbl is a browser that adheres to the Unix Philosophy'', 1.256 that is how uzbl is seen by its authors. 1.257 @@ -1454,9 +1538,16 @@ 1.258 1.259 .NH 1 1.260 Final thoughts 1.261 +.XS 1.262 +.sp .5v 1.263 +\*(SN Final thoughts 1.264 +.XE 1.265 1.266 .NH 2 1.267 Quick summary 1.268 +.XS 1.269 + \*(SN Quick summary 1.270 +.XE 1.271 .LP 1.272 good design 1.273 .LP 1.274 @@ -1466,10 +1557,13 @@ 1.275 1.276 .NH 2 1.277 Why people should choose 1.278 +.XS 1.279 + \*(SN Why people should choose 1.280 +.XE 1.281 .LP 1.282 Make the right choice! 1.283 1.284 -.nr PI .5i 1.285 +.nr PI .3i 1.286 .rm ]< 1.287 .de ]< 1.288 .LP 1.289 @@ -1478,9 +1572,23 @@ 1.290 \\.. 1.291 .rm FS FE 1.292 .. 1.293 -.SH 1.294 +.ds CH " 1.295 +.bp 1.296 +.rs 1.297 +.sp .3i 1.298 +.TL 1.299 References 1.300 +.LP 1.301 +.XS 1.302 +.sp .5v 1.303 +References 1.304 +.XE 1.305 +.sp 2v 1.306 +.nr PS -1 1.307 +.nr VS -1 1.308 .[ 1.309 $LIST$ 1.310 .] 1.311 -.wh -1p 1.312 +.\".wh -1p 1.313 +.bp 1.314 +.PX