# HG changeset patch # User meillo@marmaro.de # Date 1270812711 -7200 # Node ID 303e8f449e776428dbaf5a3e0b8507f357f1af4c # Parent 13ef7042fa289cb29a3ab21a5ccae4f5d130e6f2 added TOC and improved visual appearance diff -r 13ef7042fa28 -r 303e8f449e77 unix-phil.ms --- a/unix-phil.ms Fri Apr 09 12:44:08 2010 +0200 +++ b/unix-phil.ms Fri Apr 09 13:31:51 2010 +0200 @@ -13,8 +13,19 @@ .. .ds [. \ [ .ds .] ] + +.rn NH _N +.de NH +.if '\\$1'1' .sp 2v +.if '\\$1'1' .nr PS +2 +._N \\$1 +.if '\\$1'1' .nr PS -2 +.. + .\"---------------------------------------- + .TL +.ps +4 Why the Unix Philosophy still matters .AU markus schnalke @@ -38,6 +49,9 @@ .NH 1 Introduction +.XS +\*(SN Introduction +.XE .LP The Unix Philosophy is the essence of how the Unix operating system, especially its toolchest, was designed. @@ -129,6 +143,10 @@ .NH 1 Importance of software design in general +.XS +.sp .5v +\*(SN Importance of software design in general +.XE .LP Software design is the planning of how the internal structure and external interfaces of a software should look like. @@ -243,6 +261,10 @@ .NH 1 The Unix Philosophy +.XS +.sp .5v +\*(SN The Unix Philosophy +.XE .LP The origins of the Unix Philosophy were already introduced. This chapter explains the philosophy, oriented on Gancarz, @@ -250,6 +272,9 @@ .NH 2 Pipes +.XS + \*(SN Pipes +.XE .LP Following are some examples to demonstrate how applied Unix Philosophy feels like. Knowledge of using the Unix shell is assumed. @@ -323,6 +348,9 @@ .NH 2 Interface design +.XS + \*(SN Interface design +.XE .LP Unix is, first of all, simple \(en Everything is a file. Files are sequences of bytes, without any special structure. @@ -376,6 +404,9 @@ .NH 2 The toolchest approach +.XS + \*(SN The toolchest approach +.XE .LP A toolchest is a set of tools. Instead of having one big tool for all tasks, one has many small tools, @@ -454,6 +485,9 @@ .NH 2 A powerful shell +.XS + \*(SN A powerful shell +.XE .LP It was already said, that the Unix shell provides the possibility to combine small programs into large ones easily. @@ -519,6 +553,9 @@ .NH 2 Worse is better +.XS + \*(SN Worse is better +.XE .LP The Unix Philosophy aims for the 80% solution; others call it the ``Worse is better'' approach. @@ -559,6 +596,9 @@ .NH 2 Upgrowth and survival of software +.XS + \*(SN Upgrowth and survival of software +.XE .LP So far it was talked about \fIwriting\fP or \fIbuilding\fP software. Although these are just verbs, they do imply a specific view on the work process @@ -668,6 +708,9 @@ .NH 2 Summary +.XS + \*(SN Summary +.XE .LP This chapter explained the central ideas of the Unix Philosophy. For each of the ideas, it was exposed what advantages they introduce. @@ -687,6 +730,10 @@ .NH 1 Case study: \s-1MH\s0 +.XS +.sp .5v +\*(SN Case study: \s-1MH\s0 +.XE .LP The previous chapter introduced and explained the Unix Philosophy from a general point of view. @@ -707,6 +754,9 @@ .NH 2 Historical background +.XS + \*(SN Historical background +.XE .LP Electronic mail was available in Unix very early. The first \s-1MUA\s0 on Unix was \f(CWmail\fP, @@ -782,6 +832,9 @@ .NH 2 Contrasts to monolithic mail systems +.XS + \*(SN Contrasts to monolithic mail systems +.XE .LP All \s-1MUA\s0s are monolithic, except \s-1MH\s0. Although there might actually exist further, very little known, @@ -837,6 +890,9 @@ .NH 2 Data storage +.XS + \*(SN Data storage +.XE .LP \s-1MH\s0's mail storage is a directory tree under the user's \s-1MH\s0 directory (usually \f(CW$HOME/Mail\fP), @@ -898,6 +954,9 @@ .NH 2 Discussion of the design +.XS + \*(SN Discussion of the design +.XE .LP The following paragraphs discuss \s-1MH\s0 in regard to the tenets of the Unix Philosophy which Gancarz identified. @@ -1088,6 +1147,9 @@ .NH 2 Problems +.XS + \*(SN Problems +.XE .LP \s-1MH\s0, for sure is not without problems. There are two main problems: one is technical, the other is about human behavior. @@ -1119,6 +1181,9 @@ .NH 2 Summary \s-1MH\s0 +.XS + \*(SN Summary \s-1MH\s0 +.XE .LP \s-1MH\s0 is an \s-1MUA\s0 that follows the Unix Philosophy in its design and implementation. @@ -1148,6 +1213,10 @@ .NH 1 Case study: uzbl +.XS +.sp .5v +\*(SN Case study: uzbl +.XE .LP The last chapter took a look on the \s-1MUA\s0 \s-1MH\s0, this chapter is about uzbl, a web browser that adheres to the Unix Philosophy. @@ -1156,6 +1225,9 @@ .NH 2 Historical background +.XS + \*(SN Historical background +.XE .LP Uzbl was started by Dieter Plaetinck in April 2009. The idea was born in a thread in the Arch Linux forum. @@ -1189,6 +1261,9 @@ .NH 2 Contrasts to other web browsers +.XS + \*(SN Contrasts to other web browsers +.XE .LP Like most \s-1MUA\s0s are monolithic, but \s-1MH\s0 is a toolchest, most web browsers are monolithic, but uzbl is a frontend to a toolchest. @@ -1230,6 +1305,9 @@ .NH 2 Discussion of the design +.XS + \*(SN Discussion of the design +.XE .LP This section discusses uzbl in regard of the Unix Philosophy, as identified by Gancarz. @@ -1400,6 +1478,9 @@ .NH 2 Problems +.XS + \*(SN Problems +.XE .LP Similar to \s-1MH\s0, uzbl, too suffers from being different. It is sad, but people use what they know. @@ -1428,6 +1509,9 @@ .NH 2 Summary uzbl +.XS + \*(SN Summary uzbl +.XE .LP ``Uzbl is a browser that adheres to the Unix Philosophy'', that is how uzbl is seen by its authors. @@ -1454,9 +1538,16 @@ .NH 1 Final thoughts +.XS +.sp .5v +\*(SN Final thoughts +.XE .NH 2 Quick summary +.XS + \*(SN Quick summary +.XE .LP good design .LP @@ -1466,10 +1557,13 @@ .NH 2 Why people should choose +.XS + \*(SN Why people should choose +.XE .LP Make the right choice! -.nr PI .5i +.nr PI .3i .rm ]< .de ]< .LP @@ -1478,9 +1572,23 @@ \\.. .rm FS FE .. -.SH +.ds CH " +.bp +.rs +.sp .3i +.TL References +.LP +.XS +.sp .5v +References +.XE +.sp 2v +.nr PS -1 +.nr VS -1 .[ $LIST$ .] -.wh -1p +.\".wh -1p +.bp +.PX