docs/unix-phil

diff unix-phil.ms @ 44:46e34e433231

moved bibliography to external file
author meillo@marmaro.de
date Sat, 10 Apr 2010 15:00:38 +0200
parents 303e8f449e77
children ade392f024aa
line diff
     1.1 --- a/unix-phil.ms	Sat Apr 10 11:10:38 2010 +0200
     1.2 +++ b/unix-phil.ms	Sat Apr 10 15:00:38 2010 +0200
     1.3 @@ -61,11 +61,8 @@
     1.4  Actually, the Unix Philosophy describes what is common to typical Unix software.
     1.5  The Wikipedia has an accurate definition:
     1.6  .[
     1.7 -%A Wikipedia
     1.8 -%T Unix philosophy
     1.9 -%P Wikipedia, The Free Encyclopedia
    1.10 -%D 2010-03-21 17:20 UTC
    1.11 -%O .CW \s-1http://en.wikipedia.org/w/index.php?title=Unix_philosophy&oldid=351189719
    1.12 +wikipedia
    1.13 +unix philosophy
    1.14  .]
    1.15  .QP
    1.16  .ps -1
    1.17 @@ -79,32 +76,20 @@
    1.18  .IP \(bu
    1.19  Doug McIlroy's summary: ``Write programs that do one thing and do it well.''
    1.20  .[
    1.21 -%A M. D. McIlroy
    1.22 -%A E. N. Pinson
    1.23 -%A B. A. Taque
    1.24 -%T UNIX Time-Sharing System Forward
    1.25 -%J The Bell System Technical Journal
    1.26 -%D 1978
    1.27 -%V 57
    1.28 -%N 6
    1.29 -%P 1902
    1.30 +mahoney
    1.31 +oral history
    1.32  .]
    1.33  .IP \(bu
    1.34  Mike Gancarz' book ``The UNIX Philosophy''.
    1.35  .[
    1.36 -%A Mike Gancarz
    1.37 -%T The UNIX Philosophy
    1.38 -%D 1995
    1.39 -%I Digital Press
    1.40 +gancarz
    1.41 +unix philosophy
    1.42  .]
    1.43  .IP \(bu
    1.44  Eric S. Raymond's book ``The Art of UNIX Programming''.
    1.45  .[
    1.46 -%A Eric S. Raymond
    1.47 -%T The Art of UNIX Programming
    1.48 -%D 2003
    1.49 -%I Addison-Wesley
    1.50 -%O .CW \s-1http://www.faqs.org/docs/artu/
    1.51 +raymond
    1.52 +art of unix programming
    1.53  .]
    1.54  .LP
    1.55  These different views on the Unix Philosophy have much in common.
    1.56 @@ -132,11 +117,8 @@
    1.57  like internally, are out of focus here.
    1.58  ``The Practice of Programming'' by Kernighan and Pike,
    1.59  .[
    1.60 -%A Brian W. Kernighan
    1.61 -%A Rob Pike
    1.62 -%T The Practice of Programming
    1.63 -%I Addison-Wesley
    1.64 -%D 1999
    1.65 +kernighan pike
    1.66 +practice of programming
    1.67  .]
    1.68  is a good book that covers this topic.
    1.69  Its point of view matches to the one of this paper.
    1.70 @@ -217,10 +199,7 @@
    1.71  .PP
    1.72  The ISO/IEC 9126-1 standard, part 1,
    1.73  .[
    1.74 -%I International Organization for Standardization
    1.75 -%T ISO Standard 9126: Software Engineering \(en Product Quality, part 1
    1.76 -%C Geneve
    1.77 -%D 2001
    1.78 +iso product quality
    1.79  .]
    1.80  defines the quality model as consisting out of:
    1.81  .IP \(bu
    1.82 @@ -336,8 +315,8 @@
    1.83  ``it was this concept and notation for linking several programs together
    1.84  that transformed Unix from a basic file-sharing system to an entirely new way of computing.''
    1.85  .[
    1.86 -%T Unix: An Oral History
    1.87 -%O .CW \s-1http://www.princeton.edu/~hos/frs122/unixhist/finalhis.htm
    1.88 +aughenbaugh
    1.89 +unix oral history
    1.90  .] 
    1.91  .PP
    1.92  Being able to specify pipelines in an easy way is,
    1.93 @@ -391,12 +370,10 @@
    1.94  This is done by specifying arguments (``command line switches'') to the program call.
    1.95  Gancarz discusses this topic as ``avoid captive user interfaces''.
    1.96  .[
    1.97 -%A Mike Gancarz
    1.98 -%T The UNIX Philosophy
    1.99 -%I Digital Press
   1.100 -%D 1995
   1.101 +gancarz unix philosophy
   1.102  %P 88 ff.
   1.103  .]
   1.104 +.ds _p ", p. 88 ff.
   1.105  .PP
   1.106  Non-interactive use is, during development, also an advantage for testing.
   1.107  Testing of interactive programs is much more complicated,
   1.108 @@ -519,14 +496,8 @@
   1.109  in application development.
   1.110  Fred Brooks writes in ``No Silver Bullet'':
   1.111  .[
   1.112 -%A Frederick P. Brooks, Jr.
   1.113 -%T No Silver Bullet: Essence and Accidents of Software Engineering
   1.114 -%B Information Processing 1986, the Proceedings of the IFIP Tenth World Computing Conference
   1.115 -%E H.-J. Kugler
   1.116 -%D 1986
   1.117 -%P 1069\(en1076
   1.118 -%I Elsevier Science B.V.
   1.119 -%C Amsterdam, The Netherlands
   1.120 +brooks
   1.121 +no silver bullet
   1.122  .]
   1.123  .QP
   1.124  .ps -1
   1.125 @@ -613,9 +584,8 @@
   1.126  While being alive it will get extended, rearranged, rebuilt (from scratch).
   1.127  Growing software matches the view that ``software is never finished. It is only released.''
   1.128  .[
   1.129 -%O FIXME
   1.130 -%A Mike Gancarz
   1.131 -%T The UNIX Philosophy
   1.132 +gancarz
   1.133 +unix philosophy
   1.134  %P 26
   1.135  .]
   1.136  .PP
   1.137 @@ -624,8 +594,8 @@
   1.138  This implies that the software is needed, useful, and better than alternatives.
   1.139  Darwin talks about: ``The survival of the fittest.''
   1.140  .[
   1.141 -%O FIXME
   1.142 -%A Charles Darwin
   1.143 +darwin
   1.144 +origin of species
   1.145  .]
   1.146  Transferred to software: The most successful software, is the fittest,
   1.147  is the one that survives.
   1.148 @@ -680,9 +650,8 @@
   1.149  A good example in this point is Allman's sendmail.
   1.150  Allman identifies flexibility to be one major reason for sendmail's success:
   1.151  .[
   1.152 -%O FIXME
   1.153 -%A Allman
   1.154 -%T sendmail
   1.155 +allman
   1.156 +sendmail
   1.157  .]
   1.158  .QP
   1.159  .ps -1
   1.160 @@ -762,17 +731,15 @@
   1.161  The first \s-1MUA\s0 on Unix was \f(CWmail\fP,
   1.162  which was already present in the First Edition.
   1.163  .[
   1.164 -%A Peter H. Salus
   1.165 -%T A Quarter Century of UNIX
   1.166 -%D 1994
   1.167 -%I Addison-Wesley
   1.168 +salus
   1.169 +quarter century of unix
   1.170  %P 41 f.
   1.171  .]
   1.172  It was a small program that either prints the user's mailbox file
   1.173  or appends text to someone elses mailbox file,
   1.174  depending on the command line arguments.
   1.175  .[
   1.176 -%O http://cm.bell-labs.com/cm/cs/who/dmr/pdfs/man12.pdf
   1.177 +manual mail(1)
   1.178  .]
   1.179  It was a program that did one job well.
   1.180  This job was emailing, which was very simple then.
   1.181 @@ -789,8 +756,8 @@
   1.182  It is designed for humans, but is still scriptable.
   1.183  \fImailx\fP is the adaptation of Berkeley Mail into System V.
   1.184  .[
   1.185 -%A Gunnar Ritter
   1.186 -%O http://heirloom.sourceforge.net/mailx_history.html
   1.187 +ritter
   1.188 +mailx history
   1.189  .]
   1.190  Elm, pine, mutt, and a whole bunch of graphical \s-1MUA\s0s
   1.191  followed Mail's direction.
   1.192 @@ -814,20 +781,13 @@
   1.193  the requirements of modern emailing.
   1.194  Today, nmh is developed by various people on the Internet.
   1.195  .[
   1.196 -%T RAND and the Information Evolution: A History in Essays and Vignettes
   1.197 -%A Willis H. Ware 
   1.198 -%D 2008
   1.199 -%I The RAND Corporation
   1.200 -%P 128\(en137
   1.201 -%O .CW \s-1http://www.rand.org/pubs/corporate_pubs/CP537/
   1.202 +ware
   1.203 +rand history
   1.204 +%P 128-137
   1.205  .]
   1.206  .[
   1.207 -%T MH & xmh: Email for Users & Programmers
   1.208 -%A Jerry Peek
   1.209 -%D 1991, 1992, 1995
   1.210 -%I O'Reilly & Associates, Inc.
   1.211 -%P Appendix B
   1.212 -%O Also available online: \f(CW\s-2http://rand-mh.sourceforge.net/book/\fP
   1.213 +peek
   1.214 +mh
   1.215  .]
   1.216  
   1.217  .NH 2
   1.218 @@ -949,7 +909,7 @@
   1.219  contexts.
   1.220  Public sequences are an exception, as they belong to the mail folder.
   1.221  .[
   1.222 -%O mh-profile(5) and mh-sequence(5)
   1.223 +man page mh-profile mh-sequence
   1.224  .]
   1.225  
   1.226  .NH 2
   1.227 @@ -969,8 +929,8 @@
   1.228  Gancarz actually presents \s-1MH\s0 as example under the headline
   1.229  ``Making UNIX Do One Thing Well'':
   1.230  .[
   1.231 -%A Mike Gancarz
   1.232 -%T unix-phil
   1.233 +gancarz
   1.234 +unix philosophy
   1.235  %P 125
   1.236  .]
   1.237  .QP
   1.238 @@ -1035,13 +995,8 @@
   1.239  These two tenets are indirectly, but nicely, demonstrated by
   1.240  Bolsky and Korn in their book about the Korn Shell.
   1.241  .[
   1.242 -%T The KornShell: command and programming language
   1.243 -%A Morris I. Bolsky
   1.244 -%A David G. Korn
   1.245 -%I Prentice Hall
   1.246 -%D 1989
   1.247 -%P 254\(en290
   1.248 -%O \s-1ISBN\s0: 0-13-516972-0 
   1.249 +bolsky korn
   1.250 +korn shell
   1.251  .]
   1.252  They demonstrated, in chapter 18 of the book, a basic implementation
   1.253  of a subset of \s-1MH\s0 in ksh scripts.
   1.254 @@ -1128,7 +1083,8 @@
   1.255  to ever create \s-1MH\s0.
   1.256  In Bruce' own words:
   1.257  .[
   1.258 -%O FIXME
   1.259 +ware rand history
   1.260 +%P 132
   1.261  .]
   1.262  .QP
   1.263  .ps -1
   1.264 @@ -1230,9 +1186,10 @@
   1.265  .XE
   1.266  .LP
   1.267  Uzbl was started by Dieter Plaetinck in April 2009.
   1.268 -The idea was born in a thread in the Arch Linux forum.
   1.269 +The idea was born in a thread in the Arch Linux Forums.
   1.270  .[
   1.271 -%O http://bbs.archlinux.org/viewtopic.php?id=67463
   1.272 +arch linux forums
   1.273 +browser
   1.274  .]
   1.275  After some discussion about failures of well known web browsers,
   1.276  Plaetinck (alias Dieter@be) came up with a very sketchy proposal
   1.277 @@ -1471,8 +1428,8 @@
   1.278  ``Right now I hardly code anything myself for Uzbl.
   1.279  I just merge in other people's code, ponder a lot, and lead the discussions.''
   1.280  .[
   1.281 -%A FIXME
   1.282 -%O http://lwn.net/Articles/341245/
   1.283 +lwn
   1.284 +uzbl
   1.285  .]
   1.286  
   1.287