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