# HG changeset patch # User meillo@marmaro.de # Date 1270904438 -7200 # Node ID 46e34e43323185dad4c39734e71c6f6d21b6dc12 # Parent f5e7c4efbc01a47173e8b66e1e9f4c6470591257 moved bibliography to external file diff -r f5e7c4efbc01 -r 46e34e433231 bib --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/bib Sat Apr 10 15:00:38 2010 +0200 @@ -0,0 +1,126 @@ +%L Wikipedia +%A Wikipedia, The Free Encyclopedia +%T Unix philosophy +%D Version of 2010-03-21 17:20 UTC +%O Online: \f(CW\s-1 http://en.wikipedia.org/w/index.php?title=Unix_philosophy&oldid=351189719 + +%A Michael S. Mahoney +%T The UNIX Oral History Project +%I Bell Laboratories +%O Online: \f(CW\s-1 http://www.princeton.edu/~hos/Mahoney/expotape.htm + +%A Mike Gancarz +%T The UNIX Philosophy +%D 1995 +%I Digital Press +%O \s-1ISBN\s0: 1-55558-123-4 + +%A Eric S. Raymond +%T The Art of UNIX Programming +%D 2003 +%I Addison-Wesley +%O Also available online: \f(CW\s-1 http://www.faqs.org/docs/artu/ + +%A Brian W. Kernighan +%A Rob Pike +%T The Practice of Programming +%I Addison-Wesley +%D 1999 +%O \s-1ISBN\s0: 0-201-61586-X + +%L ISO +%I International Organization for Standardization +%T ISO Standard 9126: Software Engineering \(en Product Quality, part 1 +%C Geneve +%D 2001 + +%A Jason Aughenbaugh +%A Jonathan Jessup +%A Nicholas Spicher +%T Building Unix +%B Unix: An Oral History +%O Online: \f(CW\s-1 http://www.princeton.edu/~hos/frs122/unixhist/finalhis.htm + +%L Brooks +%A Frederick P. Brooks, Jr. +%T No Silver Bullet: Essence and Accidents of Software Engineering +%B Information Processing 1986, the Proceedings of the IFIP Tenth World Computing Conference +%D 1986 +%P 1069\(en1076 +%I Elsevier Science B.V. +%C Amsterdam, The Netherlands + +%A Charles Darwin +%T On the Origin of Species +%D 1859 +%I John Murray +%C London +%O Available online: \f(CW\s-1 http://en.wikisource.org/wiki/On_the_Origin_of_Species_(1859) + +%A Bryan Costales +%A Eric Allman +%T sendmail +%D 2003 +%I O'Reilly +%P xix +%O \s-1ISBN\s0: 1-56592-839-3 + +%A Peter H. Salus +%T A Quarter Century of UNIX +%D 1994 +%I Addison-Wesley +%O \s-1ISBN\s0: 0-201-54777-5 + +%A Ken Thompson +%A Dennis M. Ritchie +%T Unix Programmer's Manual, First Edition +%D 1971-11-03 +%P mail(1) +%O Online: \f(CW\s-1 http://cm.bell-labs.com/cm/cs/who/dmr/pdfs/man12.pdf + +%L MH +%A \s-1MH\s0/nmh workers +%T \s-1MH\s0/nmh Documentation +%P mh-profile(5), mh-sequence(5) +%O Distributed with nmh-1.3. Online in possibly different versions: \f(CW\s-1 http://linux.die.net/man/5/mh-profile http://linux.die.net/man/5/mh-sequence +%K manual pages man page + +%A Gunnar Ritter +%T mail, Mail, mailx, nail—history notes +%D 2007-01-28 +%O Online: \f(CW\s-1 http://heirloom.sourceforge.net/mailx_history.html + +%A Willis H. Ware +%T RAND and the Information Evolution: A History in Essays and Vignettes +%D 2008 +%I The RAND Corporation +%P 128\(en137 +%O \s-1ISBN\s0: 978-0-8330-4513-3. Also available online: \f(CW\s-1 http://www.rand.org/pubs/corporate_pubs/CP537/ + +%A Jerry Peek +%T MH & xmh: Email for Users & Programmers +%D 1995 +%I O'Reilly +%P Appendix B +%O Also available online: \f(CW\s-1http://rand-mh.sourceforge.net/book/ + +%A Morris I. Bolsky +%A David G. Korn +%T The KornShell: command and programming language +%I Prentice Hall +%D 1989 +%P 254\(en290 +%O \s-1ISBN\s0: 0-13-516972-0 +%K korn shell + +%L Arch +%A Arch Linux Forums +%T Thread ``Arch Philosophy/Structure Applied to a Browser'' +%D Spring 2009 +%O Online: \f(CW\s-1 http://bbs.archlinux.org/viewtopic.php?id=67463 + +%A Koen Vervloesem +%T Uzbl: a browser following the UNIX philosophy +%D 2009-07-15 +%I LWN.net +%O Online: \f(CW\s-1 http://lwn.net/Articles/341245/ diff -r f5e7c4efbc01 -r 46e34e433231 makefile --- a/makefile Sat Apr 10 11:10:38 2010 +0200 +++ b/makefile Sat Apr 10 15:00:38 2010 +0200 @@ -1,10 +1,10 @@ all: unix-phil.ps unix-phil.txt unix-phil-slides.ps -unix-phil.ps: unix-phil.ms - . hl ; sed -n '/./p' $< | refer -e -P -p bib | troff -ms | dpost >$@ +unix-phil.ps: unix-phil.ms bib + . hl ; sed -n '/./p' $< | refer -e -sLAD -P -p bib | troff -ms | dpost >$@ -unix-phil.txt: unix-phil.ms - . hl ; sed -n '/./p' $< | refer -e -P -p bib | nroff -ms | col -b >$@ +unix-phil.txt: unix-phil.ms bib + . hl ; sed -n '/./p' $< | refer -e -sLAD -P -p bib | nroff -ms | col -b >$@ unix-phil-slides.ps: unix-phil-slides.ms . hl ; sed -n '/./p' $< | troff -ms slides - | dpost | insline 1 "%%BoundingBox: 0 0 600 450" >$@ diff -r f5e7c4efbc01 -r 46e34e433231 unix-phil.ms --- a/unix-phil.ms Sat Apr 10 11:10:38 2010 +0200 +++ b/unix-phil.ms Sat Apr 10 15:00:38 2010 +0200 @@ -61,11 +61,8 @@ Actually, the Unix Philosophy describes what is common to typical Unix software. The Wikipedia has an accurate definition: .[ -%A Wikipedia -%T Unix philosophy -%P Wikipedia, The Free Encyclopedia -%D 2010-03-21 17:20 UTC -%O .CW \s-1http://en.wikipedia.org/w/index.php?title=Unix_philosophy&oldid=351189719 +wikipedia +unix philosophy .] .QP .ps -1 @@ -79,32 +76,20 @@ .IP \(bu Doug McIlroy's summary: ``Write programs that do one thing and do it well.'' .[ -%A M. D. McIlroy -%A E. N. Pinson -%A B. A. Taque -%T UNIX Time-Sharing System Forward -%J The Bell System Technical Journal -%D 1978 -%V 57 -%N 6 -%P 1902 +mahoney +oral history .] .IP \(bu Mike Gancarz' book ``The UNIX Philosophy''. .[ -%A Mike Gancarz -%T The UNIX Philosophy -%D 1995 -%I Digital Press +gancarz +unix philosophy .] .IP \(bu Eric S. Raymond's book ``The Art of UNIX Programming''. .[ -%A Eric S. Raymond -%T The Art of UNIX Programming -%D 2003 -%I Addison-Wesley -%O .CW \s-1http://www.faqs.org/docs/artu/ +raymond +art of unix programming .] .LP These different views on the Unix Philosophy have much in common. @@ -132,11 +117,8 @@ like internally, are out of focus here. ``The Practice of Programming'' by Kernighan and Pike, .[ -%A Brian W. Kernighan -%A Rob Pike -%T The Practice of Programming -%I Addison-Wesley -%D 1999 +kernighan pike +practice of programming .] is a good book that covers this topic. Its point of view matches to the one of this paper. @@ -217,10 +199,7 @@ .PP The ISO/IEC 9126-1 standard, part 1, .[ -%I International Organization for Standardization -%T ISO Standard 9126: Software Engineering \(en Product Quality, part 1 -%C Geneve -%D 2001 +iso product quality .] defines the quality model as consisting out of: .IP \(bu @@ -336,8 +315,8 @@ ``it was this concept and notation for linking several programs together that transformed Unix from a basic file-sharing system to an entirely new way of computing.'' .[ -%T Unix: An Oral History -%O .CW \s-1http://www.princeton.edu/~hos/frs122/unixhist/finalhis.htm +aughenbaugh +unix oral history .] .PP Being able to specify pipelines in an easy way is, @@ -391,12 +370,10 @@ This is done by specifying arguments (``command line switches'') to the program call. Gancarz discusses this topic as ``avoid captive user interfaces''. .[ -%A Mike Gancarz -%T The UNIX Philosophy -%I Digital Press -%D 1995 +gancarz unix philosophy %P 88 ff. .] +.ds _p ", p. 88 ff. .PP Non-interactive use is, during development, also an advantage for testing. Testing of interactive programs is much more complicated, @@ -519,14 +496,8 @@ in application development. Fred Brooks writes in ``No Silver Bullet'': .[ -%A Frederick P. Brooks, Jr. -%T No Silver Bullet: Essence and Accidents of Software Engineering -%B Information Processing 1986, the Proceedings of the IFIP Tenth World Computing Conference -%E H.-J. Kugler -%D 1986 -%P 1069\(en1076 -%I Elsevier Science B.V. -%C Amsterdam, The Netherlands +brooks +no silver bullet .] .QP .ps -1 @@ -613,9 +584,8 @@ While being alive it will get extended, rearranged, rebuilt (from scratch). Growing software matches the view that ``software is never finished. It is only released.'' .[ -%O FIXME -%A Mike Gancarz -%T The UNIX Philosophy +gancarz +unix philosophy %P 26 .] .PP @@ -624,8 +594,8 @@ This implies that the software is needed, useful, and better than alternatives. Darwin talks about: ``The survival of the fittest.'' .[ -%O FIXME -%A Charles Darwin +darwin +origin of species .] Transferred to software: The most successful software, is the fittest, is the one that survives. @@ -680,9 +650,8 @@ A good example in this point is Allman's sendmail. Allman identifies flexibility to be one major reason for sendmail's success: .[ -%O FIXME -%A Allman -%T sendmail +allman +sendmail .] .QP .ps -1 @@ -762,17 +731,15 @@ The first \s-1MUA\s0 on Unix was \f(CWmail\fP, which was already present in the First Edition. .[ -%A Peter H. Salus -%T A Quarter Century of UNIX -%D 1994 -%I Addison-Wesley +salus +quarter century of unix %P 41 f. .] It was a small program that either prints the user's mailbox file or appends text to someone elses mailbox file, depending on the command line arguments. .[ -%O http://cm.bell-labs.com/cm/cs/who/dmr/pdfs/man12.pdf +manual mail(1) .] It was a program that did one job well. This job was emailing, which was very simple then. @@ -789,8 +756,8 @@ It is designed for humans, but is still scriptable. \fImailx\fP is the adaptation of Berkeley Mail into System V. .[ -%A Gunnar Ritter -%O http://heirloom.sourceforge.net/mailx_history.html +ritter +mailx history .] Elm, pine, mutt, and a whole bunch of graphical \s-1MUA\s0s followed Mail's direction. @@ -814,20 +781,13 @@ the requirements of modern emailing. Today, nmh is developed by various people on the Internet. .[ -%T RAND and the Information Evolution: A History in Essays and Vignettes -%A Willis H. Ware -%D 2008 -%I The RAND Corporation -%P 128\(en137 -%O .CW \s-1http://www.rand.org/pubs/corporate_pubs/CP537/ +ware +rand history +%P 128-137 .] .[ -%T MH & xmh: Email for Users & Programmers -%A Jerry Peek -%D 1991, 1992, 1995 -%I O'Reilly & Associates, Inc. -%P Appendix B -%O Also available online: \f(CW\s-2http://rand-mh.sourceforge.net/book/\fP +peek +mh .] .NH 2 @@ -949,7 +909,7 @@ contexts. Public sequences are an exception, as they belong to the mail folder. .[ -%O mh-profile(5) and mh-sequence(5) +man page mh-profile mh-sequence .] .NH 2 @@ -969,8 +929,8 @@ Gancarz actually presents \s-1MH\s0 as example under the headline ``Making UNIX Do One Thing Well'': .[ -%A Mike Gancarz -%T unix-phil +gancarz +unix philosophy %P 125 .] .QP @@ -1035,13 +995,8 @@ These two tenets are indirectly, but nicely, demonstrated by Bolsky and Korn in their book about the Korn Shell. .[ -%T The KornShell: command and programming language -%A Morris I. Bolsky -%A David G. Korn -%I Prentice Hall -%D 1989 -%P 254\(en290 -%O \s-1ISBN\s0: 0-13-516972-0 +bolsky korn +korn shell .] They demonstrated, in chapter 18 of the book, a basic implementation of a subset of \s-1MH\s0 in ksh scripts. @@ -1128,7 +1083,8 @@ to ever create \s-1MH\s0. In Bruce' own words: .[ -%O FIXME +ware rand history +%P 132 .] .QP .ps -1 @@ -1230,9 +1186,10 @@ .XE .LP Uzbl was started by Dieter Plaetinck in April 2009. -The idea was born in a thread in the Arch Linux forum. +The idea was born in a thread in the Arch Linux Forums. .[ -%O http://bbs.archlinux.org/viewtopic.php?id=67463 +arch linux forums +browser .] After some discussion about failures of well known web browsers, Plaetinck (alias Dieter@be) came up with a very sketchy proposal @@ -1471,8 +1428,8 @@ ``Right now I hardly code anything myself for Uzbl. I just merge in other people's code, ponder a lot, and lead the discussions.'' .[ -%A FIXME -%O http://lwn.net/Articles/341245/ +lwn +uzbl .]