comparison unix-phil.ms @ 21:ca929b042039

more on MH (ch04)
author meillo@marmaro.de
date Fri, 26 Feb 2010 14:28:59 +0100
parents 578d5c84e5c0
children 4c21f5b8d716
comparison
equal deleted inserted replaced
20:578d5c84e5c0 21:ca929b042039
950 .PP 950 .PP
951 .I "``Use software leverage to your advantage'' 951 .I "``Use software leverage to your advantage''
952 and the lesser tenet 952 and the lesser tenet
953 .I "``allow the user to tailor the environment'' 953 .I "``allow the user to tailor the environment''
954 are ideally followed in the design of \s-1MH\s0. 954 are ideally followed in the design of \s-1MH\s0.
955 955 Tailoring the environment is heavily encouraged by the ability to
956 .PP 956 directly define default options to programs, even different ones
957 filters: many tools provide basic FS operations (like mv, rm, ...) 957 depending on the name under which the program was called.
958 prototypes: affect dev, but MH is very matured 958 Software leverage is heavily encouraged by the ease it is to
959 create shell scripts that run a specific command line,
960 build of several \s-1MH\s0 programs.
961 There is few software that so much wants users to tailor their
962 environment and to leverage the use of the software, like \s-1MH\s0.
963 Just to make one example:
964 One might prefere a different listing format for the \f(CWscan\fP
965 program.
966 It is possible to take one of the other distributed format files
967 or to write one yourself.
968 To use the format as default for \f(CWscan\fP, a single line,
969 reading
970 .DS
971 .CW
972 scan: -form FORMATFILE
973 .DE
974 must be added to \f(CW.mh_profile\fP.
975 If one wants this different format as an additional command,
976 he needs to create a link to \f(CWscan\fP, for instance titled
977 \f(CWscan2\fP.
978 The line in \f(CW.mh_profile\fP would then start with \f(CWscan2\fP,
979 as the option should only be in effect when scan was called as
980 \f(CWscan2\fP.
981
982 .PP
983 .I "``Make every program a filter''
984 is hard to find in \s-1MH\s0.
985 The reason therefore is that most of \s-1MH\s0's tools provide
986 basic file system operations for the mailboxes.
987 \f(CWls\fP, \f(CWcp\fP, \f(CWmv\fP, and \f(CWrm\fP
988 aren't filters neither.
989
990 .PP
991 .I "``Build a prototype as soon as possible''
992 was again well followed by \s-1MH\s0.
993 This tenet, of course, focuses on early development, which is
994 long time ago for \s-1MH\s0.
995 But without following this guideline at the very beginning,
996 Bruce Borden may have not convinced the management to ever
997 create \s-1MH\s0.
998 In Bruce's own words:
999 .QP
1000 [...] but [Stockton Gaines and Norm Shapiro] were not able
1001 to convince anyone that such a[n \s-1MH\s0-like] system
1002 would be fast enough to be usable.
1003 I proposed a very short project to prove the basic concepts,
1004 and my management agreed.
1005 Looking back, I realize that I had been very lucky with my first design.
1006 Without nearly enough design work,
1007 I built a working environment and some header files
1008 with key structures and wrote the first few \s-1MH\s0 commands:
1009 inc, show/next/prev, and comp.
1010 [...]
1011 With these three, I was able to convince people that the structure was viable.
1012 This took about three weeks.
1013 .[
1014 %O FIXME
1015 .]
959 1016
960 .NH 2 1017 .NH 2
961 Problems 1018 Problems
962 .LP 1019 .LP
963 modern emailing 1020 modern emailing