changeset 21:ca929b042039

more on MH (ch04)
author meillo@marmaro.de
date Fri, 26 Feb 2010 14:28:59 +0100
parents 578d5c84e5c0
children 4c21f5b8d716
files unix-phil.ms
diffstat 1 files changed, 59 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/unix-phil.ms	Fri Feb 26 00:57:37 2010 +0100
+++ b/unix-phil.ms	Fri Feb 26 14:28:59 2010 +0100
@@ -952,10 +952,67 @@
 and the lesser tenet
 .I "``allow the user to tailor the environment''
 are ideally followed in the design of \s-1MH\s0.
+Tailoring the environment is heavily encouraged by the ability to
+directly define default options to programs, even different ones
+depending on the name under which the program was called.
+Software leverage is heavily encouraged by the ease it is to
+create shell scripts that run a specific command line,
+build of several \s-1MH\s0 programs.
+There is few software that so much wants users to tailor their
+environment and to leverage the use of the software, like \s-1MH\s0.
+Just to make one example:
+One might prefere a different listing format for the \f(CWscan\fP
+program.
+It is possible to take one of the other distributed format files
+or to write one yourself.
+To use the format as default for \f(CWscan\fP, a single line,
+reading
+.DS
+.CW
+scan: -form FORMATFILE
+.DE
+must be added to \f(CW.mh_profile\fP.
+If one wants this different format as an additional command,
+he needs to create a link to \f(CWscan\fP, for instance titled
+\f(CWscan2\fP.
+The line in \f(CW.mh_profile\fP would then start with \f(CWscan2\fP,
+as the option should only be in effect when scan was called as
+\f(CWscan2\fP.
 
 .PP
-filters: many tools provide basic FS operations (like mv, rm, ...)
-prototypes: affect dev, but MH is very matured
+.I "``Make every program a filter''
+is hard to find in \s-1MH\s0.
+The reason therefore is that most of \s-1MH\s0's tools provide
+basic file system operations for the mailboxes.
+\f(CWls\fP, \f(CWcp\fP, \f(CWmv\fP, and \f(CWrm\fP
+aren't filters neither.
+
+.PP
+.I "``Build a prototype as soon as possible''
+was again well followed by \s-1MH\s0.
+This tenet, of course, focuses on early development, which is
+long time ago for \s-1MH\s0.
+But without following this guideline at the very beginning,
+Bruce Borden may have not convinced the management to ever
+create \s-1MH\s0.
+In Bruce's own words:
+.QP
+[...] but [Stockton Gaines and Norm Shapiro] were not able
+to convince anyone that such a[n \s-1MH\s0-like] system
+would be fast enough to be usable.
+I proposed a very short project to prove the basic concepts,
+and my management agreed.
+Looking back, I realize that I had been very lucky with my first design.
+Without nearly enough design work,
+I built a working environment and some header files
+with key structures and wrote the first few \s-1MH\s0 commands:
+inc, show/next/prev, and comp.
+[...]
+With these three, I was able to convince people that the structure was viable.
+This took about three weeks.
+.[
+%O FIXME
+.]
 
 .NH 2
 Problems