Mercurial > docs > master
comparison ch03.roff @ 89:83bfb4dbf59f
Spellchecked.
author | markus schnalke <meillo@marmaro.de> |
---|---|
date | Tue, 12 Jun 2012 21:00:43 +0200 |
parents | 30830e3b9e98 |
children | 093ccf39a45e |
comparison
equal
deleted
inserted
replaced
88:30830e3b9e98 | 89:83bfb4dbf59f |
---|---|
22 Instead, the aspects of email should be covered my multiple projects, | 22 Instead, the aspects of email should be covered my multiple projects, |
23 which then can be combined to form a complete system. | 23 which then can be combined to form a complete system. |
24 Excellent implementations for the various aspects of email exist already. | 24 Excellent implementations for the various aspects of email exist already. |
25 Just to name three examples: Postfix is a specialized MTA, | 25 Just to name three examples: Postfix is a specialized MTA, |
26 Procmail is a specialized MDA, and Fetchmail is a specialized MRA. | 26 Procmail is a specialized MDA, and Fetchmail is a specialized MRA. |
27 I believe that it is best to use such specilized tools instead of | 27 I believe that it is best to use such specialized tools instead of |
28 providing the same function again as a side-component in the project. | 28 providing the same function again as a side-component in the project. |
29 .P | 29 .P |
30 Doing something well, requires to focus on a small set of specific aspects. | 30 Doing something well, requires to focus on a small set of specific aspects. |
31 Under the assumption that focused development produces better results | 31 Under the assumption that focused development produces better results |
32 in the particular area, specialized projects will likely be superior | 32 in the particular area, specialized projects will likely be superior |
33 in their field of focus. | 33 in their field of focus. |
34 Hence, all-in-one mail system projects \(en no matter if monolithic | 34 Hence, all-in-one mail system projects \(en no matter if monolithic |
35 or modular \(en will never be the best choice in any of the fields. | 35 or modular \(en will never be the best choice in any of the fields. |
36 Even in providing the best consistent all-in-one system they are likely | 36 Even in providing the best consistent all-in-one system they are likely |
37 to be beaten by projects that focus only on integrating existing mail | 37 to be beaten by projects that focus only on integrating existing mail |
38 components to a homogenious system. | 38 components to a homogeneous system. |
39 .P | 39 .P |
40 The limiting resource in Free Software community development | 40 The limiting resource in Free Software community development |
41 is usually man power. | 41 is usually man power. |
42 If the development power is spread over a large development area, | 42 If the development power is spread over a large development area, |
43 it becomes even more difficult to compete with the specialists in the | 43 it becomes even more difficult to compete with the specialists in the |
67 This part was implemented by the | 67 This part was implemented by the |
68 .Pn post | 68 .Pn post |
69 command. | 69 command. |
70 The changes in emailing in the last years | 70 The changes in emailing in the last years |
71 demanded changes in this part of nmh too. | 71 demanded changes in this part of nmh too. |
72 Encryption and authetication for network connections | 72 Encryption and authentication for network connections |
73 needed to be supported, hence TLS and SASL were introduced into nmh. | 73 needed to be supported, hence TLS and SASL were introduced into nmh. |
74 This added complexity to nmh without improving it in its core functions. | 74 This added complexity to nmh without improving it in its core functions. |
75 Also, keeping up with recent developments in the field of | 75 Also, keeping up with recent developments in the field of |
76 mail transfer requires development power and specialists. | 76 mail transfer requires development power and specialists. |
77 In mmh this whole facility was simply cut off. | 77 In mmh this whole facility was simply cut off. |
250 | 250 |
251 | 251 |
252 .H2 "Removal of non-MUA Tools | 252 .H2 "Removal of non-MUA Tools |
253 .P | 253 .P |
254 One goal of mmh is to remove the tools that are not part of the MUA's task. | 254 One goal of mmh is to remove the tools that are not part of the MUA's task. |
255 Further more, any tools that don't improve the MUA's job significently | 255 Further more, any tools that don't improve the MUA's job significantly |
256 should be removed. | 256 should be removed. |
257 Loosely related and rarely used tools distract from the lean appearance. | 257 Loosely related and rarely used tools distract from the lean appearance. |
258 They require maintenance work without adding much to the core task. | 258 They require maintenance work without adding much to the core task. |
259 On removing these tools, the project shall become more stream-lined | 259 On removing these tools, the project shall become more stream-lined |
260 and focused. | 260 and focused. |
275 .\" XXX historic reasons? | 275 .\" XXX historic reasons? |
276 .BU | 276 .BU |
277 .Pn rcvtty | 277 .Pn rcvtty |
278 was removed | 278 was removed |
279 .Ci 14767c94b3827be7c867196467ed7aea5f6f49b0 | 279 .Ci 14767c94b3827be7c867196467ed7aea5f6f49b0 |
280 because its usecase of writing to the user's terminal | 280 because its use case of writing to the user's terminal |
281 on receiving of mail is obsolete. | 281 on receiving of mail is obsolete. |
282 If users like to be informed of new mail, the shell's | 282 If users like to be informed of new mail, the shell's |
283 .Ev MAILPATH | 283 .Ev MAILPATH |
284 variable or graphical notifications are technically more appealing. | 284 variable or graphical notifications are technically more appealing. |
285 Writing directly to a terminals is hardly ever wanted today. | 285 Writing directly to a terminals is hardly ever wanted today. |
416 .Pn show | 416 .Pn show |
417 had been MH's message display program. | 417 had been MH's message display program. |
418 .Pn show | 418 .Pn show |
419 mapped message numbers and sequences to files and invoked | 419 mapped message numbers and sequences to files and invoked |
420 .Pn mhl | 420 .Pn mhl |
421 to have the files formated. | 421 to have the files formatted. |
422 With MIME, this approach wasn't sufficient anymore. | 422 With MIME, this approach wasn't sufficient anymore. |
423 MIME messages can consist of multiple parts, some of which aren't | 423 MIME messages can consist of multiple parts, some of which aren't |
424 directly displayable, further more text content might be encoded in | 424 directly displayable, further more text content might be encoded in |
425 foreign charsets. | 425 foreign charsets. |
426 .Pn show 's | 426 .Pn show 's |
573 .P | 573 .P |
574 The switches | 574 The switches |
575 .Sw --with-tls | 575 .Sw --with-tls |
576 and | 576 and |
577 .Sw --with-cyrus-sasl | 577 .Sw --with-cyrus-sasl |
578 had activated the support for transfer encryption and authetication. | 578 had activated the support for transfer encryption and authentication. |
579 This is not needed anymore. | 579 This is not needed anymore. |
580 .Ci fecd5d34f65597a4dfa16aeabea7d74b191532c3 | 580 .Ci fecd5d34f65597a4dfa16aeabea7d74b191532c3 |
581 .Ci 156d35f6425bea4c1ed3c4c79783dc613379c65b | 581 .Ci 156d35f6425bea4c1ed3c4c79783dc613379c65b |
582 .P | 582 .P |
583 The configure switch | 583 The configure switch |
653 Eventually, however, the new trash folder concept | 653 Eventually, however, the new trash folder concept |
654 .Cf "Sec. XXX | 654 .Cf "Sec. XXX |
655 obsoleted the concept of the backup prefix completely. | 655 obsoleted the concept of the backup prefix completely. |
656 .Ci 8edc5aaf86f9f77124664f6801bc6c6cdf258173 | 656 .Ci 8edc5aaf86f9f77124664f6801bc6c6cdf258173 |
657 (Well, there still are corner-cases to remove until the backup | 657 (Well, there still are corner-cases to remove until the backup |
658 prefix can be layed to rest, eventually.) | 658 prefix can be laid to rest, eventually.) |
659 .\" FIXME: Do this work in the code! | 659 .\" FIXME: Do this work in the code! |
660 | 660 |
661 .U3 "Editor and Pager | 661 .U3 "Editor and Pager |
662 .P | 662 .P |
663 The two configure options | 663 The two configure options |
665 .CW --with-pager=PAGER | 665 .CW --with-pager=PAGER |
666 were used to specify the default editor and pager at configure time. | 666 were used to specify the default editor and pager at configure time. |
667 Doing so at configure time made sense in the Eighties, | 667 Doing so at configure time made sense in the Eighties, |
668 when the set of available editors and pagers varied much across | 668 when the set of available editors and pagers varied much across |
669 different systems. | 669 different systems. |
670 Today, the situation is more homegeneic. | 670 Today, the situation is more homogeneous. |
671 The programs | 671 The programs |
672 .Pn vi | 672 .Pn vi |
673 and | 673 and |
674 .Pn more | 674 .Pn more |
675 can be expected to be available on every Unix system, | 675 can be expected to be available on every Unix system, |
718 Command | 718 Command |
719 .Pn vi . | 719 .Pn vi . |
720 .P | 720 .P |
721 .Ci f85f4b7ae62e3d05a945dcd46ead51f0a2a89a9b | 721 .Ci f85f4b7ae62e3d05a945dcd46ead51f0a2a89a9b |
722 .P | 722 .P |
723 The pager to use is deteminded in a similar order, | 723 The pager to use is determined in a similar order, |
724 also taking the first available and non-empty item: | 724 also taking the first available and non-empty item: |
725 .IP (1) | 725 .IP (1) |
726 Environment variable | 726 Environment variable |
727 .Ev MMHPAGER | 727 .Ev MMHPAGER |
728 .IP (2) | 728 .IP (2) |
787 .Pn slocal , | 787 .Pn slocal , |
788 the dependency on | 788 the dependency on |
789 .I ndbm | 789 .I ndbm |
790 vanished and 120 lines of complex autoconf code could be saved. | 790 vanished and 120 lines of complex autoconf code could be saved. |
791 .Ci ecd6d6a20cb7a1507e3a20d6c4cb3a1cf14c6bbf | 791 .Ci ecd6d6a20cb7a1507e3a20d6c4cb3a1cf14c6bbf |
792 The change removed funtionality too, but that is minor to the | 792 The change removed functionality too, but that is minor to the |
793 improvement by dropping the dependency and the complex autoconf code. | 793 improvement by dropping the dependency and the complex autoconf code. |
794 | 794 |
795 .U3 "mh-e Support | 795 .U3 "mh-e Support |
796 .P | 796 .P |
797 The configure option | 797 The configure option |
1101 the support for it. By this removal, MD5 computation is not needed | 1101 the support for it. By this removal, MD5 computation is not needed |
1102 anywhere in mmh. Hence, over 500 lines of code were removed by this one | 1102 anywhere in mmh. Hence, over 500 lines of code were removed by this one |
1103 change. Even if the | 1103 change. Even if the |
1104 .Hd Content-MD5 | 1104 .Hd Content-MD5 |
1105 header field is useful sometimes, | 1105 header field is useful sometimes, |
1106 I value its usefulnes less than the improvement in maintainability, caused | 1106 I value its usefulness less than the improvement in maintainability, caused |
1107 by the removal. | 1107 by the removal. |
1108 | 1108 |
1109 .U2 "Prompter's Control Keys | 1109 .U2 "Prompter's Control Keys |
1110 .P | 1110 .P |
1111 The program | 1111 The program |
1315 Code layout, goto, ... | 1315 Code layout, goto, ... |
1316 | 1316 |
1317 | 1317 |
1318 | 1318 |
1319 | 1319 |
1320 .H1 "Concept Exploitation/Homogeniety | 1320 .H1 "Concept Exploitation/Homogeneity |
1321 | 1321 |
1322 | 1322 |
1323 .H2 "Draft Folder | 1323 .H2 "Draft Folder |
1324 .P | 1324 .P |
1325 Historically, MH provided exactly one draft message, named | 1325 Historically, MH provided exactly one draft message, named |
1341 .Mp mh-draft(5) | 1341 .Mp mh-draft(5) |
1342 to document | 1342 to document |
1343 the feature well. | 1343 the feature well. |
1344 .P | 1344 .P |
1345 The only advantage of not using the draft folder facility is the static | 1345 The only advantage of not using the draft folder facility is the static |
1346 name of the draft file. This could be an issue for MH frontends like mh-e. | 1346 name of the draft file. This could be an issue for MH front-ends like mh-e. |
1347 But as they likely want to provide working on multiple drafts in parallel, | 1347 But as they likely want to provide working on multiple drafts in parallel, |
1348 the issue is only concerning compatibility. The aim of nmh to stay compatible | 1348 the issue is only concerning compatibility. The aim of nmh to stay compatible |
1349 prevented the default activation of the draft folder facility. | 1349 prevented the default activation of the draft folder facility. |
1350 .P | 1350 .P |
1351 On the other hand, a draft folder is the much more natural concept than | 1351 On the other hand, a draft folder is the much more natural concept than |