docs/unix-phil
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 diff
1.1 --- a/unix-phil.ms Fri Feb 26 00:57:37 2010 +0100 1.2 +++ b/unix-phil.ms Fri Feb 26 14:28:59 2010 +0100 1.3 @@ -952,10 +952,67 @@ 1.4 and the lesser tenet 1.5 .I "``allow the user to tailor the environment'' 1.6 are ideally followed in the design of \s-1MH\s0. 1.7 +Tailoring the environment is heavily encouraged by the ability to 1.8 +directly define default options to programs, even different ones 1.9 +depending on the name under which the program was called. 1.10 +Software leverage is heavily encouraged by the ease it is to 1.11 +create shell scripts that run a specific command line, 1.12 +build of several \s-1MH\s0 programs. 1.13 +There is few software that so much wants users to tailor their 1.14 +environment and to leverage the use of the software, like \s-1MH\s0. 1.15 +Just to make one example: 1.16 +One might prefere a different listing format for the \f(CWscan\fP 1.17 +program. 1.18 +It is possible to take one of the other distributed format files 1.19 +or to write one yourself. 1.20 +To use the format as default for \f(CWscan\fP, a single line, 1.21 +reading 1.22 +.DS 1.23 +.CW 1.24 +scan: -form FORMATFILE 1.25 +.DE 1.26 +must be added to \f(CW.mh_profile\fP. 1.27 +If one wants this different format as an additional command, 1.28 +he needs to create a link to \f(CWscan\fP, for instance titled 1.29 +\f(CWscan2\fP. 1.30 +The line in \f(CW.mh_profile\fP would then start with \f(CWscan2\fP, 1.31 +as the option should only be in effect when scan was called as 1.32 +\f(CWscan2\fP. 1.33 1.34 .PP 1.35 -filters: many tools provide basic FS operations (like mv, rm, ...) 1.36 -prototypes: affect dev, but MH is very matured 1.37 +.I "``Make every program a filter'' 1.38 +is hard to find in \s-1MH\s0. 1.39 +The reason therefore is that most of \s-1MH\s0's tools provide 1.40 +basic file system operations for the mailboxes. 1.41 +\f(CWls\fP, \f(CWcp\fP, \f(CWmv\fP, and \f(CWrm\fP 1.42 +aren't filters neither. 1.43 + 1.44 +.PP 1.45 +.I "``Build a prototype as soon as possible'' 1.46 +was again well followed by \s-1MH\s0. 1.47 +This tenet, of course, focuses on early development, which is 1.48 +long time ago for \s-1MH\s0. 1.49 +But without following this guideline at the very beginning, 1.50 +Bruce Borden may have not convinced the management to ever 1.51 +create \s-1MH\s0. 1.52 +In Bruce's own words: 1.53 +.QP 1.54 +[...] but [Stockton Gaines and Norm Shapiro] were not able 1.55 +to convince anyone that such a[n \s-1MH\s0-like] system 1.56 +would be fast enough to be usable. 1.57 +I proposed a very short project to prove the basic concepts, 1.58 +and my management agreed. 1.59 +Looking back, I realize that I had been very lucky with my first design. 1.60 +Without nearly enough design work, 1.61 +I built a working environment and some header files 1.62 +with key structures and wrote the first few \s-1MH\s0 commands: 1.63 +inc, show/next/prev, and comp. 1.64 +[...] 1.65 +With these three, I was able to convince people that the structure was viable. 1.66 +This took about three weeks. 1.67 +.[ 1.68 +%O FIXME 1.69 +.] 1.70 1.71 .NH 2 1.72 Problems