docs/unix-phil

diff unix-phil.ms @ 9:529168f49f29

corrected spelling
author meillo@marmaro.de
date Fri, 19 Feb 2010 23:11:09 +0100
parents 924b2ac2d477
children 355ed69a34a8
line diff
     1.1 --- a/unix-phil.ms	Fri Feb 19 12:31:56 2010 +0100
     1.2 +++ b/unix-phil.ms	Fri Feb 19 23:11:09 2010 +0100
     1.3 @@ -50,8 +50,8 @@
     1.4  to its release.
     1.5  No matter \fIhow\fP the process is run, two things are common:
     1.6  the initial idea and the release.
     1.7 -The process inbetween can be of any shape.
     1.8 -The the maintainance work after the release is ignored for the moment.
     1.9 +The process in between can be of any shape.
    1.10 +The the maintenance work after the release is ignored for the moment.
    1.11  .PP
    1.12  The process of building splits mainly in two parts:
    1.13  the planning of what and how to build, and implementing the plan by writing code.
    1.14 @@ -59,10 +59,10 @@
    1.15  .PP
    1.16  Software design is the plan of how the internals and externals of the software should look like,
    1.17  based on the requirements.
    1.18 -This paper discusses the recommendations of the Unix Philosphy about software design.
    1.19 +This paper discusses the recommendations of the Unix Philosophy about software design.
    1.20  .PP
    1.21  The here discussed ideas can get applied by any development process.
    1.22 -The Unix Philosphy does recommend how the software development process should look like,
    1.23 +The Unix Philosophy does recommend how the software development process should look like,
    1.24  but this shall not be of matter here.
    1.25  Similar, the question of how to write the code is out of focus.
    1.26  .PP
    1.27 @@ -107,7 +107,7 @@
    1.28  But there are also points on which they differ.
    1.29  This only underlines what the Unix Philosophy is:
    1.30  A retrospective view on the main concepts of Unix software;
    1.31 -especially those that were sucessful and unique to Unix.
    1.32 +especially those that were successful and unique to Unix.
    1.33  .\" really?
    1.34  .PP
    1.35  Before we will have a look at concrete concepts,
    1.36 @@ -149,11 +149,11 @@
    1.37  Quality aspects are about the properties that are overlooked at first sight.
    1.38  .PP
    1.39  Quality is of few matter when the software gets initially built,
    1.40 -but it will be of matter in usage and maintainance of the software.
    1.41 +but it will be of matter in usage and maintenance of the software.
    1.42  A short-sighted might see in developing a software mainly building something up.
    1.43  Reality shows, that building the software the first time is only a small amount
    1.44  of the overall work.
    1.45 -Bug fixing, extending, rebuiling of parts \(en short: maintainance work \(en
    1.46 +Bug fixing, extending, rebuilding of parts \(en short: maintenance work \(en
    1.47  does soon take over the major part of the time spent on a software.
    1.48  Not to forget the usage of the software.
    1.49  These processes are highly influenced by the software's quality.
    1.50 @@ -171,7 +171,7 @@
    1.51  .PP
    1.52  The ISO/IEC 9126-1 standard, part 1,
    1.53  .[
    1.54 -%I International Organization for Standarization
    1.55 +%I International Organization for Standardization
    1.56  %T ISO Standard 9126: Software Engineering \(en Product Quality, part 1
    1.57  %C Geneve
    1.58  %D 2001
    1.59 @@ -188,7 +188,7 @@
    1.60  (understandability, learnability, operability, attractiveness)
    1.61  .IP \(bu
    1.62  .I Efficiency
    1.63 -(time behaviour, resource utilisation)
    1.64 +(time behavior, resource utilization)
    1.65  .IP \(bu
    1.66  .I Maintainability
    1.67  (analysability, changeability, stability, testability)
    1.68 @@ -226,8 +226,9 @@
    1.69  Knowledge of using the Unix shell is assumed.
    1.70  .PP
    1.71  Counting the number of files in the current directory:
    1.72 -.DS
    1.73 +.DS I 2n
    1.74  .CW
    1.75 +.ps -1
    1.76  ls | wc -l
    1.77  .DE
    1.78  The
    1.79 @@ -238,8 +239,9 @@
    1.80  counts the number of lines.
    1.81  .PP
    1.82  Counting the number of files that do not contain ``foo'' in their name:
    1.83 -.DS
    1.84 +.DS I 2n
    1.85  .CW
    1.86 +.ps -1
    1.87  ls | grep -v foo | wc -l
    1.88  .DE
    1.89  Here, the list of files is filtered by
    1.90 @@ -248,8 +250,9 @@
    1.91  The rest is the same as in the previous example.
    1.92  .PP
    1.93  Finding the five largest entries in the current directory.
    1.94 -.DS
    1.95 +.DS I 2n
    1.96  .CW
    1.97 +.ps -1
    1.98  du -s * | sort -nr | sed 5q
    1.99  .DE
   1.100  .CW "du -s *
   1.101 @@ -336,7 +339,7 @@
   1.102  First, one simple, standardized, unidirectional interface has to be sufficient.
   1.103  If one feels the need for more ``logic'' than a stream of bytes,
   1.104  then a different approach might be of need.
   1.105 -But it is also possbile, that he just can not imaging a design where
   1.106 +But it is also possible, that he just can not imaging a design where
   1.107  a stream of bytes is sufficient.
   1.108  By becoming more familiar with the ``Unix style of thinking'',
   1.109  developers will more often and easier find simple designs where
   1.110 @@ -344,10 +347,10 @@
   1.111  .PP
   1.112  The second drawback of a toolchest affects the users.
   1.113  A toolchest is often more difficult to use for novices.
   1.114 -It is neccessary to become familiar with each of the tools,
   1.115 +It is necessary to become familiar with each of the tools,
   1.116  to be able to use the right one in a given situation.
   1.117 -Additinally, one needs to combine the tools in a senseful way on its own.
   1.118 -This is like a sharp knive \(en it is a powerful tool in the hand of a master,
   1.119 +Additionally, one needs to combine the tools in a senseful way on its own.
   1.120 +This is like a sharp knife \(en it is a powerful tool in the hand of a master,
   1.121  but of no good value in the hand of an unskilled.
   1.122  .PP
   1.123  However, learning single, small tool of the toolchest is easier than
   1.124 @@ -367,8 +370,9 @@
   1.125  .PP
   1.126  A wrapper script for finding the five largest entries in the current directory
   1.127  could look like this:
   1.128 -.DS
   1.129 +.DS I 2n
   1.130  .CW
   1.131 +.ps -1
   1.132  #!/bin/sh
   1.133  du -s * | sort -nr | sed 5q
   1.134  .DE
   1.135 @@ -376,8 +380,9 @@
   1.136  a professional user would type in directly.
   1.137  Making the program flexible on the number of entries it prints,
   1.138  is easily possible:
   1.139 -.DS
   1.140 +.DS I 2n
   1.141  .CW
   1.142 +.ps -1
   1.143  #!/bin/sh
   1.144  num=5
   1.145  [ $# -eq 1 ] && num="$1"