Mercurial > docs > unix-phil
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 |