Mercurial > docs > master
comparison intro.roff @ 117:97369a93ef39
Corrections by Kate. Again of high quality. :-)
author | markus schnalke <meillo@marmaro.de> |
---|---|
date | Mon, 25 Jun 2012 22:27:38 +0200 |
parents | 9f672d3a25f9 |
children | 76c440261ebb |
comparison
equal
deleted
inserted
replaced
116:4fbd14dc5e91 | 117:97369a93ef39 |
---|---|
49 MH was extended as emailing became more featured. | 49 MH was extended as emailing became more featured. |
50 The development of MH was closely related to the development of email | 50 The development of MH was closely related to the development of email |
51 RFCs. In the advent of MIME, MH was the first implementation of this new | 51 RFCs. In the advent of MIME, MH was the first implementation of this new |
52 email standard. | 52 email standard. |
53 .P | 53 .P |
54 In the nineties, the Internet had become popular and in December 1996, | 54 In the nineties, the Internet became popular and in December 1996, |
55 Richard Coleman initiated the ``New Mail Handler'' (nmh) project. | 55 Richard Coleman initiated the ``New Mail Handler'' (nmh) project. |
56 Nmh is a fork of MH 6.8.3 and bases strongly on the | 56 Nmh is a fork of MH 6.8.3 and bases strongly on the |
57 \fILBL changes\fP by Van Jacobson, Mike Karels and Craig Leres. | 57 \fILBL changes\fP by Van Jacobson, Mike Karels and Craig Leres. |
58 Colman intended to modernize MH and improve its portability and | 58 Colman intended to modernize MH and improve its portability and |
59 MIME handling capabilities. | 59 MIME handling capabilities. |
62 February 1996, soon after the development of nmh had started. | 62 February 1996, soon after the development of nmh had started. |
63 Today, nmh has almost completely replaced the original MH. | 63 Today, nmh has almost completely replaced the original MH. |
64 Some systems might still provide old MH, but mainly for historical reasons. | 64 Some systems might still provide old MH, but mainly for historical reasons. |
65 .P | 65 .P |
66 In the last years, the work on nmh was mostly maintenance work. | 66 In the last years, the work on nmh was mostly maintenance work. |
67 However, development was revived in December 2011 | 67 However, the development was revived in December 2011 |
68 and stayed busy since then. | 68 and stayed busy since then. |
69 | 69 |
70 .U2 "Concepts | 70 .U2 "Concepts |
71 .P | 71 .P |
72 MH consists of a set of tools, each covering a specific task of | 72 MH consists of a set of tools, each covering a specific task of |
305 with my strong desire for it. | 305 with my strong desire for it. |
306 In developing a separate experimental version new approaches can | 306 In developing a separate experimental version new approaches can |
307 easily be tried out without the need to discuss changes beforehand. | 307 easily be tried out without the need to discuss changes beforehand. |
308 In fact, revolutionary changes are hardly possible otherwise. | 308 In fact, revolutionary changes are hardly possible otherwise. |
309 .P | 309 .P |
310 The mmh project implements and demonstrates the listed ideas | 310 The mmh project provides the basis on which the aforementioned |
311 ideas can be implemented and demonstrated, | |
311 without the need to change nmh or its community. | 312 without the need to change nmh or its community. |
312 Of course, the results of the mmh project shall improve nmh, in the end. | 313 Of course, the results of the mmh project shall improve nmh, in the end. |
314 By no means is my intend to work against the nmh project. | |
315 | |
313 | 316 |
314 .U2 "Target Field | 317 .U2 "Target Field |
315 .P | 318 .P |
316 Any effort needs to be targeted towards a specific goal | 319 Any effort needs to be targeted towards a specific goal |
317 in order to be successful. | 320 in order to be successful. |
318 Following is a description of the imagined typical mmh user. | 321 Following is a description of imagined typical mmh users. |
319 mmh should satisfy his needs. | 322 Mmh should satisfy their needs. |
320 .\" XXX Remove the next sentence? | 323 .\" XXX Remove the next sentence? |
321 Actually, as mmh is my personal version of MH, this is a description | 324 Actually, as mmh is my personal version of MH, this is a description |
322 of myself. | 325 of myself. |
323 .P | 326 .P |
324 The target user of mmh likes Unix and its philosophy. | 327 The target users of mmh like Unix and its philosophy. |
325 He likes to use programs that are conceptionally appealing. | 328 They appreciate to use programs that are conceptionally appealing. |
326 He's familiar with the command line and enjoys its power. | 329 They are familiar with the command line and enjoy its power. |
327 He is at least capable of shell scripting and wants to improve his | 330 They are at least capable of shell scripting and want to improve their |
328 productivity by scripting the mail system. | 331 productivity by scripting the mail system. |
329 He naturally uses modern email features, like attachments, | 332 .\" XXX Naturally, he uses ... |
333 They naturally use modern email features, such as attachments, | |
330 non-ASCII text, and digital cryptography. | 334 non-ASCII text, and digital cryptography. |
331 He is able to setup email system components besides mmh, | 335 They are able to setup email system components besides mmh, |
332 and actually likes the choice to pick the ones he prefers. | 336 and actually like to have the choice to pick the ones they prefer. |
333 He has a reasonably modern system that complies to standards, | 337 They have a reasonably modern operating system that complies to standards, |
334 like POSIX and ANSI C. | 338 like POSIX and ANSI C. |
335 .P | 339 .P |
336 The typical user invokes mmh commands directly in an interactive | 340 The typical users invoke mmh commands directly in an interactive |
337 shell session, but as well, he uses them to automate mail handling tasks. | 341 shell session, but they use them to automate mail handling tasks as well. |
338 Likely, he runs his mail setup on a server machine, to which he connects | 342 Likely, they runs their mail setup on a server machine, |
339 via ssh. He might also have local mmh installations on his workstations, | 343 to which they connect via ssh. |
340 but does rather not rely on graphical front-ends. He definitely wants | 344 They might also have local mmh installations on their workstations, |
341 to be flexible and thus be able to change his setup to suite his needs. | 345 where they tend to work with mmh directly in the shell instead |
342 .P | 346 of using graphical front-ends. |
343 The typical mmh user is a programmer himself. | 347 They definitely want to be flexible and thus be able to change |
344 He likes to, occasionally, take the opportunity of Free Software to put | 348 their setup to suit their needs. |
345 hands on and get involved in the software he uses. | 349 .P |
346 Hence, he likes small and clean code bases and he cares for code quality. | 350 .\" XXX themself vs. themselves |
347 In general, he believes that: | 351 Typical mmh users are programmers themselves. |
352 They like to, occasionally, take the opportunity of Free Software to put | |
353 hands on and get involved in the software they use. | |
354 Hence, they like small and clean code bases and care for code quality. | |
355 In general, they believe that: | |
348 .BU | 356 .BU |
349 Elegance \(en i.e. simplicity, clarity and generality \(en | 357 Elegance \(en i.e. simplicity, clarity and generality \(en |
350 is most important. | 358 is most important. |
351 .BU | 359 .BU |
352 Concepts are more important than the concrete implementation. | 360 Concepts are more important than the concrete implementation. |
361 .U2 "Goals | 369 .U2 "Goals |
362 .P | 370 .P |
363 The general goals for the mmh project are the following: | 371 The general goals for the mmh project are the following: |
364 .IP "Stream-lining | 372 .IP "Stream-lining |
365 Mmh should be stripped down to its core, which is the user agent (MUA). | 373 Mmh should be stripped down to its core, which is the user agent (MUA). |
366 The feature set should be distilled to the ones really needed, | 374 The feature set should be distilled to the indispensable ones, |
367 effectively removing corner-cases. | 375 effectively removing corner-cases. |
368 Parts that don't add to the main task of being a conceptionally | 376 Parts that don't add to the main task of being a conceptionally |
369 appealing MUA should be removed. | 377 appealing MUA should be removed. |
370 This includes, the mail submission and mail retrieval facilities. | 378 This includes the mail submission and mail retrieval facilities. |
371 Choice should be reduced to the main options. | 379 Choice should be reduced to the main options. |
372 .IP "Modernizing | 380 .IP "Modernizing |
373 Mmh's feature set needs to become more modern. | 381 Mmh's feature set needs to become more modern. |
374 Better support for attachment and digital cryptography needs to be added. | 382 Better support for attachment and digital cryptography should be added. |
375 MIME support needs to be integrated deeper and more naturally. | 383 MIME support should to be integrated deeper and more naturally. |
376 The modern email features need to be readily available, out-of-the-box. | 384 The modern email features need to be readily available, out-of-the-box. |
377 And on the other hand, | 385 On the other hand, |
378 bulletin board support and similar obsolete facilities need to be dropped | 386 bulletin board support and similar obsolete facilities can be dropped out. |
379 out. | 387 Likewise, ancient technologies such as hardcopy terminals |
380 Likewise, ancient technologies, like hardcopy terminals, should not | 388 need not to be supported any further. |
381 be supported any further. | |
382 .IP "Code style | 389 .IP "Code style |
383 Mmh's source code needs to be updated to modern standards. | 390 Mmh's source code needs to be updated to modern standards. |
384 Standardized library functions should replace non-standard versions | 391 Standardized library functions should replace non-standard versions |
385 whenever possible. | 392 whenever possible. |
386 Code should be separated into distinct modules when possible. | 393 Code should be separated into distinct modules when feasible. |
387 Time and space optimizations should to be replaced by | 394 Time and space optimizations should to be replaced by |
388 clear and readable code. | 395 clear and readable code. |
389 A uniform programming style should prevail. | 396 A uniform programming style should prevail. |
390 .IP "Homogeneity | 397 .IP "Homogeneity |
391 The available concepts need to be expanded as far as possible. | 398 The available concepts need to be expanded as far as possible. |
392 A small set of concepts should prevail thoroughly throughout the system. | 399 A small set of concepts should recur consistently. |
393 The whole system should appear to be of-one-style. | 400 The whole system should appear to be of-one-style; |
394 It should feel like being cast as one. | 401 it should feel like being cast as one. |