Mercurial > docs > master
comparison intro.roff @ 207:e0e49a8bfbe8
Added refs.
author | markus schnalke <meillo@marmaro.de> |
---|---|
date | Thu, 12 Jul 2012 11:50:32 +0200 |
parents | 8c0d5bd92f0b |
children | fead1fc981f0 |
comparison
equal
deleted
inserted
replaced
206:d8b33fc611be | 207:e0e49a8bfbe8 |
---|---|
24 where the first implementation followed later. | 24 where the first implementation followed later. |
25 In spirit, MH is similar to Unix, which | 25 In spirit, MH is similar to Unix, which |
26 influenced the world more in being a set of system design concepts | 26 influenced the world more in being a set of system design concepts |
27 than in being a specific software product. | 27 than in being a specific software product. |
28 The ideas behind Unix are summarized in the \fIUnix philosophy\fP. | 28 The ideas behind Unix are summarized in the \fIUnix philosophy\fP. |
29 .[ | |
30 gancarz unix philosophy | |
31 .] | |
29 MH follows this philosophy. | 32 MH follows this philosophy. |
30 | 33 |
31 .U2 "History | 34 .U2 "History |
32 .P | 35 .P |
33 In 1977 at RAND Corporation, Norman Shapiro and Stockton Gaines | 36 In 1977 at RAND Corporation, Norman Shapiro and Stockton Gaines |
34 proposed the design | 37 proposed the design |
35 of a new mail handling system, called \fIMail Handler\fP (MH), | 38 of a new mail handling system, called \fIMail Handler\fP (MH), |
36 to superseed RAND's old monolithic \fIMail System\fP (MS). | 39 to superseed RAND's old monolithic \fIMail System\fP (MS). |
40 .[ | |
41 shapiro gaines mh proposal | |
42 .] | |
37 Two years later, in 1979, Bruce Borden took the proposal and implemented a | 43 Two years later, in 1979, Bruce Borden took the proposal and implemented a |
38 prototype of MH. | 44 prototype of MH. |
39 Before the prototype's existence, the concept was | 45 Before the prototype's existence, the concept was |
40 believed to be practically unusable. | 46 believed to be practically unusable. |
41 But the prototype proved successful and replaced MS thereafter. | 47 But the prototype proved successful and replaced MS thereafter.\& |
42 In replacing MS, MH grew to provide anything necessary for emailing. | 48 .[ |
49 history of mh website | |
50 .] | |
43 .P | 51 .P |
44 In the early eighties, | 52 In the early eighties, |
45 the University of California at Irvine (UCI) started to use MH. | 53 the University of California at Irvine (UCI) started to use MH. |
46 Marshall T. Rose and John L. Romine then became the driving force. | 54 Marshall T. Rose and John L. Romine then became the driving force. |
47 They took over the development and pushed MH forward. | 55 They took over the development and pushed MH forward. |
48 RAND had put the code into the public domain by then. | 56 RAND had put the code into the public domain by then. |
49 MH was developed at UCI at the time when the Internet appeared, | 57 MH was developed at UCI at the time when the Internet appeared, |
50 when the University of California at Berkeley (UCB) implemented | 58 the University of California at Berkeley (UCB) added TCP/IP |
51 the TCP/IP stack, and when Eric Allman wrote Sendmail. | 59 networking to their distribution, and Eric Allman wrote Sendmail. |
52 MH was extended as emailing became more featured. | 60 MH was extended as emailing became more featured. |
53 The development of MH was closely related to the development of email | 61 The development of MH was closely related to the development of email |
54 RFCs. | 62 RFCs. |
55 In the advent of the \fIMultipurpose Internet Mail Extensions\fP (MIME), | 63 In the advent of the \fIMultipurpose Internet Mail Extensions\fP (MIME), |
56 MH was one of the first implementations of the new email standard. | 64 MH was one of the first implementations of the new email standard. |
65 MH grew to provide anything necessary for emailing. | |
57 .P | 66 .P |
58 In the nineties, the Internet became popular and in December 1996, | 67 In the nineties, the Internet became popular and in December 1996, |
59 Richard Coleman initiated the \fINew Mail Handler\fP (nmh) project. | 68 Richard Coleman initiated the \fINew Mail Handler\fP (nmh) project. |
60 Nmh is a fork of MH 6.8.3 and bases strongly on the | 69 Nmh is a fork of MH 6.8.3 and bases strongly on the |
61 \fILBL changes\fP by Van Jacobson, Mike Karels and Craig Leres. | 70 \fILBL changes\fP by Van Jacobson, Mike Karels and Craig Leres. |
71 .[ | |
72 lbl changes | |
73 .] | |
62 Colman intended to modernize MH and improve its portability and | 74 Colman intended to modernize MH and improve its portability and |
63 MIME handling capabilities. | 75 MIME handling capabilities. |
64 This should be done openly within the Internet community. | 76 This should be done openly within the Internet community. |
65 The development of MH at UCI stopped after the 6.8.4 release in | 77 The development of MH at UCI stopped after the 6.8.4 release in |
66 February 1996, soon after the development of nmh had started. | 78 February 1996, soon after the development of nmh had started. |
95 context themselves. | 107 context themselves. |
96 The user can have one MH context or multiple ones; he can even share it | 108 The user can have one MH context or multiple ones; he can even share it |
97 with others. | 109 with others. |
98 .P | 110 .P |
99 Messages are named by their numeric filename, | 111 Messages are named by their numeric filename, |
100 but they can have symbolic names, too. | 112 but they can have symbolic names, as well. |
101 These are either automatically updated | 113 These are either one of six system-controlled position names |
102 position names such as the next or the last message, | |
103 or user-settable group names for arbitrary sets of messages. | 114 or user-settable group names for arbitrary sets of messages. |
104 These names are called sequences. | 115 These names are called sequences. |
105 Sequences can be bound to the containing folder or to the context. | 116 Automatically updated position names exist for the |
106 .P | 117 first, last, previous, next, current message, and |
107 The user's \fIprofile\fP is a file that contains his MH configuration. | 118 for the number one beyond the last message. |
119 (In mmh, the names of these sequences are abbreviated to the | |
120 first character.) | |
121 User-definded sequences can be bound to the folder containing the | |
122 messages (\fIpublic sequences\fP) or to the user's context | |
123 (\fIprivate sequences\fP). | |
124 .P | |
125 The user's \fIprofile\fP is the file that contains his MH configuration. | |
108 Default switches for the individual tools can be specified to | 126 Default switches for the individual tools can be specified to |
109 adjust them to the user's personal preferences. | 127 adjust them to the user's personal preferences. |
128 These switches will be automatically supplied whenever the specific | |
129 tool is invoked. | |
110 Additionally, a single command can be linked under different names | 130 Additionally, a single command can be linked under different names |
111 with different default values easily. | 131 with different default values. |
112 Form templates for new messages or for replies are easily changeable, | 132 Form templates for new messages and replies, as well as format files |
113 and output is adjustable with format files. | 133 to adjust the output of tools are easily exchanged in the profile. |
114 Almost every part of the system can be adjusted to personal preference. | 134 .P |
115 .P | 135 Switches consist of a single dash (`\fL-\fP') followed by a word. |
116 The system is well scriptable and extensible. | 136 To ease typing, the word can be abbreviated, given the remaining |
117 New MH tools are built out of or on top of existing ones quickly. | |
118 Furthermore, MH encourages the user to tailor, extend and automate the system. | |
119 As the MH tool chest was modeled after the Unix tool chest, the | |
120 properties of the latter apply to the former as well. | |
121 | |
122 | |
123 .ig \"XXX | |
124 | |
125 .P | |
126 To ease typing, the switches can be abbreviated as much as the remaining | |
127 prefix remains unambiguous. | 137 prefix remains unambiguous. |
128 If in our example no other switch would start with the letter `t', then | 138 If no other switch starts with the letter `t', then any of |
129 .Cl "-truncate" , | 139 .Cl "-truncate" , |
130 .Cl "-trunc" , | 140 .Cl "-trunc" , |
131 .Cl "-tr" , | 141 .Cl "-tr" , |
132 and | 142 and |
133 .Cl "-t | 143 .Cl "-t |
134 would all be the same. | 144 is equal. |
135 As a result, switches can neither be grouped (as in | 145 As a result, switches can neither be grouped (as in |
136 .Cl "ls -ltr" ) | 146 .Cl "ls -ltr" ) |
137 nor can switch arguments be appended directly to the switch (as in | 147 nor can switch arguments be appended directly to the switch (as in |
138 .Cl "sendmail -q30m" ). | 148 .Cl "sendmail -q30m" ). |
139 .P | |
140 Many switches have negating counter-parts, which start with `no'. | 149 Many switches have negating counter-parts, which start with `no'. |
141 For example | 150 For example |
142 .Cl "-notruncate | 151 .Cl "-notruncate |
143 inverts the | 152 inverts the |
144 .Cl "-truncate | 153 .Cl "-truncate |
145 switch. | 154 switch. |
146 They exist to undo the effect of default switches in the profile. | 155 They exist to override the effect of default switches in the profile. |
147 If the user has chosen to change the default behavior of some tool | 156 .P |
148 by adding a default switch to the profile, | 157 The system is well scriptable and extensible. |
149 he can still undo this change in behavior by specifying the inverse | 158 Almost every part of the system can be adjusted to personal preference. |
150 switch on the command line. | 159 New MH tools are built out of or on top of existing ones quickly. |
151 | 160 Furthermore, MH encourages the user to tailor, extend, and automate |
152 .. | 161 the system. |
162 As the MH tool chest was modeled after the Unix tool chest, the | |
163 properties of the latter apply to the former as well. | |
164 | |
153 | 165 |
154 | 166 |
155 .U2 "Using MH | 167 .U2 "Using MH |
156 .P | 168 .P |
157 It is strongly recommended to have a look at the MH Book, | 169 It is strongly recommended to have a look at the \fIMH Book\fP, |
158 which offers a thorough introduction to using MH. | |
159 .[ [ | 170 .[ [ |
160 peek mh book | 171 peek mh book |
161 .], Part II] | 172 .], Part II] |
162 Rose and Romine provide a deeper and more technical | 173 which introduces into using MH. |
163 though slightly outdated introduction in only about two dozen pages. | 174 Rose and Romine provide a deeper and more technical, |
175 though slightly outdated, introduction in only about two dozen pages. | |
164 .[ | 176 .[ |
165 rose romine real work | 177 rose romine real work |
166 .] | 178 .] |
167 .P | 179 .P |
168 Following is an example mail handling session. | 180 Following here is an example mail handling session. |
169 It uses mmh but is mostly compatible with nmh and old MH. | 181 Although it uses mmh, it is mostly compatible with nmh and the |
182 original MH. | |
170 Details might vary but the look and feel is the same. | 183 Details might vary but the look and feel is the same. |
171 | 184 |
172 .so input/mh-session | 185 .so input/mh-session |
173 | 186 |
174 | 187 |
261 in parallel. | 274 in parallel. |
262 .P | 275 .P |
263 The name \fImmh\fP may stand for \fImodern mail handler\fP, | 276 The name \fImmh\fP may stand for \fImodern mail handler\fP, |
264 because the project tries to modernize nmh. | 277 because the project tries to modernize nmh. |
265 Personally however, I prefer to call mmh \fImeillo's mail handler\fP, | 278 Personally however, I prefer to call mmh \fImeillo's mail handler\fP, |
266 emphasizing that the project follows my visions and preferences. | 279 emphasizing that the project is my version of nmh, |
280 following my visions and preferences. | |
267 (My login name is \fImeillo\fP.) | 281 (My login name is \fImeillo\fP.) |
268 This project model was inspired by \fIdwm\fP, | 282 This project model was inspired by \fIdwm\fP, |
269 .\" XXX Ref | 283 .[ |
284 dwm website | |
285 .] | |
270 which is Anselm Garbe's personal window manager \(en | 286 which is Anselm Garbe's personal window manager \(en |
271 targeted to satisfy Garbe's personal needs whenever conflicts appear. | 287 targeted to satisfy Garbe's personal needs whenever conflicts appear. |
272 Dwm had retained its lean elegance and its focused character, whereas | 288 Dwm had retained its lean elegance and its focused character, whereas |
273 its community-driven predecessor \fIwmii\fP had grown fat over time. | 289 its community-driven predecessor \fIwmii\fP |
274 .\" XXX ref | 290 .[ |
291 wmii website | |
292 .] | |
293 had grown fat over time. | |
275 The development of mmh should remain focused. | 294 The development of mmh should remain focused. |
276 | 295 |
277 | 296 |
278 .U2 "Motivation | 297 .U2 "Motivation |
279 .P | 298 .P |
280 MH is the most important of very few command line tool chest email systems. | 299 MH is the most important of very few email systems in a tool chest style. |
281 Tool chests are powerful because they can be perfectly automated and | 300 Tool chests are powerful because they can be perfectly automated and |
282 extended. They allow arbitrary kinds of front-ends to be | 301 extended. They allow arbitrary kinds of front-ends to be |
283 implemented on top of them quickly and without internal knowledge. | 302 implemented on top of them quickly and without internal knowledge. |
284 Additionally, tool chests are easier to maintain than monolithic | 303 Additionally, tool chests are easier to maintain than monolithic |
285 programs. | 304 programs. |
319 It is worthwhile to fork nmh for the development of mmh, | 338 It is worthwhile to fork nmh for the development of mmh, |
320 because the two projects focus on different goals and differ in | 339 because the two projects focus on different goals and differ in |
321 fundamental questions. | 340 fundamental questions. |
322 The nmh community's reluctance regarding change conflicts | 341 The nmh community's reluctance regarding change conflicts |
323 with my strong desire for it. | 342 with my strong desire for it. |
343 .[ | |
344 nmh-workers schnalke understanding nmh | |
345 .] | |
324 In developing a separate experimental version new approaches can | 346 In developing a separate experimental version new approaches can |
325 easily be tried out without the need to discuss changes beforehand. | 347 easily be tried out without the need to discuss changes beforehand. |
326 In fact, revolutionary changes are hardly possible otherwise. | 348 In fact, revolutionary changes are hardly possible otherwise. |
327 .P | 349 .P |
328 The mmh project provides the basis on which the aforementioned | 350 The mmh project provides the basis on which the aforementioned |