annotate intro.roff @ 208:fead1fc981f0

Added note about the `a' message sequence.
author markus schnalke <meillo@marmaro.de>
date Thu, 12 Jul 2012 12:27:18 +0200
parents e0e49a8bfbe8
children 1b38b1c3c01d
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
39
22ae3981a76b style: New RN macro to reset page numbers and change their style.
markus schnalke <meillo@marmaro.de>
parents: 32
diff changeset
1 .RN 1
197
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
2 .H0 "Introduction
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
3 .Id introduction
39
22ae3981a76b style: New RN macro to reset page numbers and change their style.
markus schnalke <meillo@marmaro.de>
parents: 32
diff changeset
4
0
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
5 .P
53
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 51
diff changeset
6 MH is a set of mail handling tools with a common concept, similar to
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 51
diff changeset
7 the Unix tool chest, which is a set of file handling tools with a common
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 51
diff changeset
8 concept. \fInmh\fP is the currently most popular implementation of an
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 51
diff changeset
9 MH-like mail handling system.
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 51
diff changeset
10 This thesis describes an experimental version of nmh, named \fImmh\fP.
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 51
diff changeset
11 .P
32
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
12 This chapter introduces MH, its history, concepts and how it is used.
47
eae5e50381ce Rework in Preface and Intro.
markus schnalke <meillo@marmaro.de>
parents: 45
diff changeset
13 It describes nmh's code base and community to give the reader
106
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
14 a better understanding of the state of mmh when it started off.
181
eb6eeb10afd5 Various stuff: Checked quotes, s/further more/furthermore/, etc
markus schnalke <meillo@marmaro.de>
parents: 173
diff changeset
15 Furthermore, this chapter outlines the mmh project itself,
47
eae5e50381ce Rework in Preface and Intro.
markus schnalke <meillo@marmaro.de>
parents: 45
diff changeset
16 describing the motivation for it and its goals.
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
17
0
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
18
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
19 .H1 "MH \(en the Mail Handler
197
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
20 .Id mh
0
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
21 .P
47
eae5e50381ce Rework in Preface and Intro.
markus schnalke <meillo@marmaro.de>
parents: 45
diff changeset
22 MH is a conceptual email system design and its concrete implementation.
eae5e50381ce Rework in Preface and Intro.
markus schnalke <meillo@marmaro.de>
parents: 45
diff changeset
23 Notably, MH had started as a design proposal at RAND Corporation,
eae5e50381ce Rework in Preface and Intro.
markus schnalke <meillo@marmaro.de>
parents: 45
diff changeset
24 where the first implementation followed later.
eae5e50381ce Rework in Preface and Intro.
markus schnalke <meillo@marmaro.de>
parents: 45
diff changeset
25 In spirit, MH is similar to Unix, which
42
af8c46461924 Rework and new text about mmh's name in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 39
diff changeset
26 influenced the world more in being a set of system design concepts
32
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
27 than in being a specific software product.
47
eae5e50381ce Rework in Preface and Intro.
markus schnalke <meillo@marmaro.de>
parents: 45
diff changeset
28 The ideas behind Unix are summarized in the \fIUnix philosophy\fP.
207
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
29 .[
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
30 gancarz unix philosophy
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
31 .]
42
af8c46461924 Rework and new text about mmh's name in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 39
diff changeset
32 MH follows this philosophy.
2
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
33
11
9a313c929a2a style: Introduced .U2 for unnumbered .H2.
markus schnalke <meillo@marmaro.de>
parents: 9
diff changeset
34 .U2 "History
2
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
35 .P
32
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
36 In 1977 at RAND Corporation, Norman Shapiro and Stockton Gaines
106
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
37 proposed the design
181
eb6eeb10afd5 Various stuff: Checked quotes, s/further more/furthermore/, etc
markus schnalke <meillo@marmaro.de>
parents: 173
diff changeset
38 of a new mail handling system, called \fIMail Handler\fP (MH),
eb6eeb10afd5 Various stuff: Checked quotes, s/further more/furthermore/, etc
markus schnalke <meillo@marmaro.de>
parents: 173
diff changeset
39 to superseed RAND's old monolithic \fIMail System\fP (MS).
207
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
40 .[
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
41 shapiro gaines mh proposal
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
42 .]
27
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
43 Two years later, in 1979, Bruce Borden took the proposal and implemented a
32
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
44 prototype of MH.
106
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
45 Before the prototype's existence, the concept was
47
eae5e50381ce Rework in Preface and Intro.
markus schnalke <meillo@marmaro.de>
parents: 45
diff changeset
46 believed to be practically unusable.
207
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
47 But the prototype proved successful and replaced MS thereafter.\&
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
48 .[
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
49 history of mh website
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
50 .]
2
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
51 .P
106
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
52 In the early eighties,
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
53 the University of California at Irvine (UCI) started to use MH.
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
54 Marshall T. Rose and John L. Romine then became the driving force.
57
8776101db595 Intro: Fixed the history.
markus schnalke <meillo@marmaro.de>
parents: 54
diff changeset
55 They took over the development and pushed MH forward.
8776101db595 Intro: Fixed the history.
markus schnalke <meillo@marmaro.de>
parents: 54
diff changeset
56 RAND had put the code into the public domain by then.
8776101db595 Intro: Fixed the history.
markus schnalke <meillo@marmaro.de>
parents: 54
diff changeset
57 MH was developed at UCI at the time when the Internet appeared,
207
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
58 the University of California at Berkeley (UCB) added TCP/IP
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
59 networking to their distribution, and Eric Allman wrote Sendmail.
47
eae5e50381ce Rework in Preface and Intro.
markus schnalke <meillo@marmaro.de>
parents: 45
diff changeset
60 MH was extended as emailing became more featured.
32
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
61 The development of MH was closely related to the development of email
204
8c0d5bd92f0b Added full names of abbreviations.
markus schnalke <meillo@marmaro.de>
parents: 202
diff changeset
62 RFCs.
8c0d5bd92f0b Added full names of abbreviations.
markus schnalke <meillo@marmaro.de>
parents: 202
diff changeset
63 In the advent of the \fIMultipurpose Internet Mail Extensions\fP (MIME),
8c0d5bd92f0b Added full names of abbreviations.
markus schnalke <meillo@marmaro.de>
parents: 202
diff changeset
64 MH was one of the first implementations of the new email standard.
207
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
65 MH grew to provide anything necessary for emailing.
2
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
66 .P
117
97369a93ef39 Corrections by Kate. Again of high quality. :-)
markus schnalke <meillo@marmaro.de>
parents: 107
diff changeset
67 In the nineties, the Internet became popular and in December 1996,
181
eb6eeb10afd5 Various stuff: Checked quotes, s/further more/furthermore/, etc
markus schnalke <meillo@marmaro.de>
parents: 173
diff changeset
68 Richard Coleman initiated the \fINew Mail Handler\fP (nmh) project.
57
8776101db595 Intro: Fixed the history.
markus schnalke <meillo@marmaro.de>
parents: 54
diff changeset
69 Nmh is a fork of MH 6.8.3 and bases strongly on the
47
eae5e50381ce Rework in Preface and Intro.
markus schnalke <meillo@marmaro.de>
parents: 45
diff changeset
70 \fILBL changes\fP by Van Jacobson, Mike Karels and Craig Leres.
207
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
71 .[
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
72 lbl changes
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
73 .]
32
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
74 Colman intended to modernize MH and improve its portability and
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
75 MIME handling capabilities.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
76 This should be done openly within the Internet community.
47
eae5e50381ce Rework in Preface and Intro.
markus schnalke <meillo@marmaro.de>
parents: 45
diff changeset
77 The development of MH at UCI stopped after the 6.8.4 release in
eae5e50381ce Rework in Preface and Intro.
markus schnalke <meillo@marmaro.de>
parents: 45
diff changeset
78 February 1996, soon after the development of nmh had started.
57
8776101db595 Intro: Fixed the history.
markus schnalke <meillo@marmaro.de>
parents: 54
diff changeset
79 Today, nmh has almost completely replaced the original MH.
47
eae5e50381ce Rework in Preface and Intro.
markus schnalke <meillo@marmaro.de>
parents: 45
diff changeset
80 Some systems might still provide old MH, but mainly for historical reasons.
eae5e50381ce Rework in Preface and Intro.
markus schnalke <meillo@marmaro.de>
parents: 45
diff changeset
81 .P
171
346ff7e201f5 Applied suggestions by Boris.
markus schnalke <meillo@marmaro.de>
parents: 169
diff changeset
82 In the last years, the changes in nmh were mostly maintenance work.
117
97369a93ef39 Corrections by Kate. Again of high quality. :-)
markus schnalke <meillo@marmaro.de>
parents: 107
diff changeset
83 However, the development was revived in December 2011
57
8776101db595 Intro: Fixed the history.
markus schnalke <meillo@marmaro.de>
parents: 54
diff changeset
84 and stayed busy since then.
0
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
85
197
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
86
11
9a313c929a2a style: Introduced .U2 for unnumbered .H2.
markus schnalke <meillo@marmaro.de>
parents: 9
diff changeset
87 .U2 "Concepts
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
88 .P
53
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 51
diff changeset
89 MH consists of a set of tools, each covering a specific task of
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 51
diff changeset
90 email handling, like composing a message, replying to a message,
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 51
diff changeset
91 refiling a message to a different folder, listing the messages in a folder.
47
eae5e50381ce Rework in Preface and Intro.
markus schnalke <meillo@marmaro.de>
parents: 45
diff changeset
92 All of the programs operate on a common mail storage.
42
af8c46461924 Rework and new text about mmh's name in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 39
diff changeset
93 .P
32
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
94 The mail storage consists of \fImail folders\fP (directories) and
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
95 \fPmessages\fP (regular files).
106
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
96 Each message is stored in a separate file in the format it was
47
eae5e50381ce Rework in Preface and Intro.
markus schnalke <meillo@marmaro.de>
parents: 45
diff changeset
97 received (i.e. transfer format).
eae5e50381ce Rework in Preface and Intro.
markus schnalke <meillo@marmaro.de>
parents: 45
diff changeset
98 The files are named with ascending numbers in each folder.
eae5e50381ce Rework in Preface and Intro.
markus schnalke <meillo@marmaro.de>
parents: 45
diff changeset
99 The specific format of the mail storage characterizes MH in the same way
106
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
100 as the format of the file system characterizes Unix.
42
af8c46461924 Rework and new text about mmh's name in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 39
diff changeset
101 .P
164
5c01017be420 Reacted to suggestions by Aaron Mueller.
markus schnalke <meillo@marmaro.de>
parents: 159
diff changeset
102 MH tools maintain a \fIcontext\fP, which includes for instance the
5c01017be420 Reacted to suggestions by Aaron Mueller.
markus schnalke <meillo@marmaro.de>
parents: 159
diff changeset
103 current mail folder.
32
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
104 Processes in Unix have a similar context, containing the current working
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
105 directory, for instance. In contrast, the process context is maintained
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
106 by the Unix kernel automatically, whereas MH tools need to maintain the MH
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
107 context themselves.
106
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
108 The user can have one MH context or multiple ones; he can even share it
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
109 with others.
42
af8c46461924 Rework and new text about mmh's name in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 39
diff changeset
110 .P
164
5c01017be420 Reacted to suggestions by Aaron Mueller.
markus schnalke <meillo@marmaro.de>
parents: 159
diff changeset
111 Messages are named by their numeric filename,
207
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
112 but they can have symbolic names, as well.
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
113 These are either one of six system-controlled position names
208
fead1fc981f0 Added note about the `a' message sequence.
markus schnalke <meillo@marmaro.de>
parents: 207
diff changeset
114 and a shorthand for the range of all messages,
32
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
115 or user-settable group names for arbitrary sets of messages.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
116 These names are called sequences.
207
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
117 Automatically updated position names exist for the
208
fead1fc981f0 Added note about the `a' message sequence.
markus schnalke <meillo@marmaro.de>
parents: 207
diff changeset
118 first, last, previous, next, current message, and for the number
fead1fc981f0 Added note about the `a' message sequence.
markus schnalke <meillo@marmaro.de>
parents: 207
diff changeset
119 one beyond the last message.
207
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
120 (In mmh, the names of these sequences are abbreviated to the
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
121 first character.)
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
122 User-definded sequences can be bound to the folder containing the
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
123 messages (\fIpublic sequences\fP) or to the user's context
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
124 (\fIprivate sequences\fP).
0
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
125 .P
207
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
126 The user's \fIprofile\fP is the file that contains his MH configuration.
47
eae5e50381ce Rework in Preface and Intro.
markus schnalke <meillo@marmaro.de>
parents: 45
diff changeset
127 Default switches for the individual tools can be specified to
eae5e50381ce Rework in Preface and Intro.
markus schnalke <meillo@marmaro.de>
parents: 45
diff changeset
128 adjust them to the user's personal preferences.
207
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
129 These switches will be automatically supplied whenever the specific
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
130 tool is invoked.
164
5c01017be420 Reacted to suggestions by Aaron Mueller.
markus schnalke <meillo@marmaro.de>
parents: 159
diff changeset
131 Additionally, a single command can be linked under different names
207
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
132 with different default values.
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
133 Form templates for new messages and replies, as well as format files
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
134 to adjust the output of tools are easily exchanged in the profile.
42
af8c46461924 Rework and new text about mmh's name in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 39
diff changeset
135 .P
207
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
136 Switches consist of a single dash (`\fL-\fP') followed by a word.
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
137 To ease typing, the word can be abbreviated, given the remaining
102
a782488c85f5 More text about attachments mainly, plus some rearrangements.
markus schnalke <meillo@marmaro.de>
parents: 87
diff changeset
138 prefix remains unambiguous.
207
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
139 If no other switch starts with the letter `t', then any of
102
a782488c85f5 More text about attachments mainly, plus some rearrangements.
markus schnalke <meillo@marmaro.de>
parents: 87
diff changeset
140 .Cl "-truncate" ,
a782488c85f5 More text about attachments mainly, plus some rearrangements.
markus schnalke <meillo@marmaro.de>
parents: 87
diff changeset
141 .Cl "-trunc" ,
a782488c85f5 More text about attachments mainly, plus some rearrangements.
markus schnalke <meillo@marmaro.de>
parents: 87
diff changeset
142 .Cl "-tr" ,
a782488c85f5 More text about attachments mainly, plus some rearrangements.
markus schnalke <meillo@marmaro.de>
parents: 87
diff changeset
143 and
a782488c85f5 More text about attachments mainly, plus some rearrangements.
markus schnalke <meillo@marmaro.de>
parents: 87
diff changeset
144 .Cl "-t
207
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
145 is equal.
102
a782488c85f5 More text about attachments mainly, plus some rearrangements.
markus schnalke <meillo@marmaro.de>
parents: 87
diff changeset
146 As a result, switches can neither be grouped (as in
a782488c85f5 More text about attachments mainly, plus some rearrangements.
markus schnalke <meillo@marmaro.de>
parents: 87
diff changeset
147 .Cl "ls -ltr" )
a782488c85f5 More text about attachments mainly, plus some rearrangements.
markus schnalke <meillo@marmaro.de>
parents: 87
diff changeset
148 nor can switch arguments be appended directly to the switch (as in
a782488c85f5 More text about attachments mainly, plus some rearrangements.
markus schnalke <meillo@marmaro.de>
parents: 87
diff changeset
149 .Cl "sendmail -q30m" ).
a782488c85f5 More text about attachments mainly, plus some rearrangements.
markus schnalke <meillo@marmaro.de>
parents: 87
diff changeset
150 Many switches have negating counter-parts, which start with `no'.
a782488c85f5 More text about attachments mainly, plus some rearrangements.
markus schnalke <meillo@marmaro.de>
parents: 87
diff changeset
151 For example
a782488c85f5 More text about attachments mainly, plus some rearrangements.
markus schnalke <meillo@marmaro.de>
parents: 87
diff changeset
152 .Cl "-notruncate
a782488c85f5 More text about attachments mainly, plus some rearrangements.
markus schnalke <meillo@marmaro.de>
parents: 87
diff changeset
153 inverts the
a782488c85f5 More text about attachments mainly, plus some rearrangements.
markus schnalke <meillo@marmaro.de>
parents: 87
diff changeset
154 .Cl "-truncate
a782488c85f5 More text about attachments mainly, plus some rearrangements.
markus schnalke <meillo@marmaro.de>
parents: 87
diff changeset
155 switch.
207
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
156 They exist to override the effect of default switches in the profile.
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
157 .P
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
158 The system is well scriptable and extensible.
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
159 Almost every part of the system can be adjusted to personal preference.
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
160 New MH tools are built out of or on top of existing ones quickly.
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
161 Furthermore, MH encourages the user to tailor, extend, and automate
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
162 the system.
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
163 As the MH tool chest was modeled after the Unix tool chest, the
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
164 properties of the latter apply to the former as well.
102
a782488c85f5 More text about attachments mainly, plus some rearrangements.
markus schnalke <meillo@marmaro.de>
parents: 87
diff changeset
165
a782488c85f5 More text about attachments mainly, plus some rearrangements.
markus schnalke <meillo@marmaro.de>
parents: 87
diff changeset
166
a782488c85f5 More text about attachments mainly, plus some rearrangements.
markus schnalke <meillo@marmaro.de>
parents: 87
diff changeset
167
54
d9c18bd9ed92 Intro: Filled in the very basics for Using MH.
markus schnalke <meillo@marmaro.de>
parents: 53
diff changeset
168 .U2 "Using MH
53
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 51
diff changeset
169 .P
207
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
170 It is strongly recommended to have a look at the \fIMH Book\fP,
54
d9c18bd9ed92 Intro: Filled in the very basics for Using MH.
markus schnalke <meillo@marmaro.de>
parents: 53
diff changeset
171 .[ [
d9c18bd9ed92 Intro: Filled in the very basics for Using MH.
markus schnalke <meillo@marmaro.de>
parents: 53
diff changeset
172 peek mh book
d9c18bd9ed92 Intro: Filled in the very basics for Using MH.
markus schnalke <meillo@marmaro.de>
parents: 53
diff changeset
173 .], Part II]
207
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
174 which introduces into using MH.
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
175 Rose and Romine provide a deeper and more technical,
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
176 though slightly outdated, introduction in only about two dozen pages.
54
d9c18bd9ed92 Intro: Filled in the very basics for Using MH.
markus schnalke <meillo@marmaro.de>
parents: 53
diff changeset
177 .[
d9c18bd9ed92 Intro: Filled in the very basics for Using MH.
markus schnalke <meillo@marmaro.de>
parents: 53
diff changeset
178 rose romine real work
d9c18bd9ed92 Intro: Filled in the very basics for Using MH.
markus schnalke <meillo@marmaro.de>
parents: 53
diff changeset
179 .]
27
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
180 .P
207
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
181 Following here is an example mail handling session.
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
182 Although it uses mmh, it is mostly compatible with nmh and the
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
183 original MH.
106
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
184 Details might vary but the look and feel is the same.
82
ff4537327162 Mayor rework: Replaced .DS with .VS, a better verbatim environment.
markus schnalke <meillo@marmaro.de>
parents: 57
diff changeset
185
202
e417f510aaca Reworked the MH example session.
markus schnalke <meillo@marmaro.de>
parents: 197
diff changeset
186 .so input/mh-session
27
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
187
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
188
131
7c741bc8f719 Reorganized: Converted 4-parted discussion into 3-parted discussion.
markus schnalke <meillo@marmaro.de>
parents: 128
diff changeset
189 .H1 "nmh
2
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
190 .P
49
d3a02f5e63b3 Various rework.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
191 In order to understand the condition, goals and dynamics of a project,
106
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
192 one needs to know the reasons behind them.
53
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 51
diff changeset
193 This section explains the background.
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 51
diff changeset
194 .P
197
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
195 MH predates the Internet;
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
196 it comes from times before networking was universal,
49
d3a02f5e63b3 Various rework.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
197 it comes from times when emailing was small, short and simple.
106
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
198 Then it grew, spread and adapted to the changes email went through.
49
d3a02f5e63b3 Various rework.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
199 Its core-concepts, however, remained the same.
106
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
200 During the eighties, students at UCI actively worked on MH.
164
5c01017be420 Reacted to suggestions by Aaron Mueller.
markus schnalke <meillo@marmaro.de>
parents: 159
diff changeset
201 They added new features and optimized the code for the systems
5c01017be420 Reacted to suggestions by Aaron Mueller.
markus schnalke <meillo@marmaro.de>
parents: 159
diff changeset
202 popular at that time.
49
d3a02f5e63b3 Various rework.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
203 All this still was in times before POSIX and ANSI C.
d3a02f5e63b3 Various rework.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
204 As large parts of the code stem from this time, today's nmh source code
d3a02f5e63b3 Various rework.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
205 still contains many ancient parts.
51
49cf68506b5d Spell checking.
markus schnalke <meillo@marmaro.de>
parents: 50
diff changeset
206 BSD-specific code and constructs tailored for hardware of that time
49
d3a02f5e63b3 Various rework.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
207 are frequent.
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
208 .P
106
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
209 Nmh started about a decade after the POSIX and ANSI C standards were
49
d3a02f5e63b3 Various rework.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
210 established. A more modern coding style entered the code base, but still
d3a02f5e63b3 Various rework.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
211 a part of the developers came from ``the old days''. The developer
106
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
212 base became more diverse, thus broadening the range of different
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
213 coding styles.
49
d3a02f5e63b3 Various rework.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
214 Programming practices from different decades merged in the project.
51
49cf68506b5d Spell checking.
markus schnalke <meillo@marmaro.de>
parents: 50
diff changeset
215 As several peers added code, the system became more a conglomeration
49cf68506b5d Spell checking.
markus schnalke <meillo@marmaro.de>
parents: 50
diff changeset
216 of single tools rather than a homogeneous of-one-cast mail system.
49
d3a02f5e63b3 Various rework.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
217 Still, the existing basic concepts held it together.
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
218 They were mostly untouched throughout the years.
2
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
219 .P
106
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
220 Despite the separation of the tool chest approach at the surface
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
221 \(en a collection of small, separate programs \(en
171
346ff7e201f5 Applied suggestions by Boris.
markus schnalke <meillo@marmaro.de>
parents: 169
diff changeset
222 on the source code level, it is much more interwoven.
49
d3a02f5e63b3 Various rework.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
223 Several separate components were compiled into one program
51
49cf68506b5d Spell checking.
markus schnalke <meillo@marmaro.de>
parents: 50
diff changeset
224 for efficiency reasons.
106
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
225 This led to intricate innards.
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
226 While clearly separated on the outside,
171
346ff7e201f5 Applied suggestions by Boris.
markus schnalke <meillo@marmaro.de>
parents: 169
diff changeset
227 the programs turned out to be fairly interwoven inside.
106
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
228 .\" XXX FIXME rewrite...
171
346ff7e201f5 Applied suggestions by Boris.
markus schnalke <meillo@marmaro.de>
parents: 169
diff changeset
229 .\" nicht zweimal ``interwoven''
106
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
230 .\" Unfortunately, the clear separation on the outside turned out to be
171
346ff7e201f5 Applied suggestions by Boris.
markus schnalke <meillo@marmaro.de>
parents: 169
diff changeset
231 .\" fairly interwoven inside.
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
232 .P
106
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
233 The advent of MIME raised the complexity of email by a magnitude.
49
d3a02f5e63b3 Various rework.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
234 This is visible in nmh. The MIME-related parts are the most complex ones.
106
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
235 It is also visible that MIME support was added on top of the old MH core.
51
49cf68506b5d Spell checking.
markus schnalke <meillo@marmaro.de>
parents: 50
diff changeset
236 MH's tool chest style made this easily possible and encourages
106
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
237 such approaches, but unfortunately, it led to duplicated functions
49
d3a02f5e63b3 Various rework.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
238 and half-hearted implementation of the concepts.
d3a02f5e63b3 Various rework.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
239 .P
159
8b411125645d Corrections and improvements by Kate, Phil, Matou, Michi, Lydi.
markus schnalke <meillo@marmaro.de>
parents: 131
diff changeset
240 To provide backward-compatibility, it is a common understanding not to
49
d3a02f5e63b3 Various rework.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
241 change the default settings.
51
49cf68506b5d Spell checking.
markus schnalke <meillo@marmaro.de>
parents: 50
diff changeset
242 In consequence, the user needs to activate modern features explicitly
47
eae5e50381ce Rework in Preface and Intro.
markus schnalke <meillo@marmaro.de>
parents: 45
diff changeset
243 to be able to use them.
49
d3a02f5e63b3 Various rework.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
244 This puts a burden on new users, because out-of-the-box nmh remains
d3a02f5e63b3 Various rework.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
245 in the same ancient style.
171
346ff7e201f5 Applied suggestions by Boris.
markus schnalke <meillo@marmaro.de>
parents: 169
diff changeset
246 If nmh is seen to be a back-end,
346ff7e201f5 Applied suggestions by Boris.
markus schnalke <meillo@marmaro.de>
parents: 169
diff changeset
247 then this compatibility surely is important.
346ff7e201f5 Applied suggestions by Boris.
markus schnalke <meillo@marmaro.de>
parents: 169
diff changeset
248 However, at the same time, new users have difficulties using nmh for
346ff7e201f5 Applied suggestions by Boris.
markus schnalke <meillo@marmaro.de>
parents: 169
diff changeset
249 modern emailing.
173
4c7db172fb59 Various corrections and improvements.
markus schnalke <meillo@marmaro.de>
parents: 171
diff changeset
250 The small but mature community around nmh needs little change
106
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
251 as they have had their convenient setups for decades.
159
8b411125645d Corrections and improvements by Kate, Phil, Matou, Michi, Lydi.
markus schnalke <meillo@marmaro.de>
parents: 131
diff changeset
252 .\" XXX Explain more
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
253
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
254
27
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
255 .H1 "mmh
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
256 .P
49
d3a02f5e63b3 Various rework.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
257 I started to work on my experimental version in October 2011,
197
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
258 basing my work on nmh version \fInmh-1.3-dev\fP.
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
259 At that time no more than three commits were made to nmh
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
260 since the beginning of the year, the latest one being
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
261 .Ci a01a41d031c796b526329a4170eb23f0ac93b949
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
262 on 2011-04-13.
53
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 51
diff changeset
263 In December, when I announced my work in progress on the
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 51
diff changeset
264 nmh-workers mailing list,
42
af8c46461924 Rework and new text about mmh's name in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 39
diff changeset
265 .[
51
49cf68506b5d Spell checking.
markus schnalke <meillo@marmaro.de>
parents: 50
diff changeset
266 nmh-workers mmh announce December
42
af8c46461924 Rework and new text about mmh's name in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 39
diff changeset
267 .]
197
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
268 nmh's community became active, all of a sudden.
49
d3a02f5e63b3 Various rework.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
269 This movement was heavily pushed by Paul Vixie's ``edginess'' comment.
42
af8c46461924 Rework and new text about mmh's name in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 39
diff changeset
270 .[
af8c46461924 Rework and new text about mmh's name in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 39
diff changeset
271 nmh-workers vixie edginess
af8c46461924 Rework and new text about mmh's name in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 39
diff changeset
272 .]
53
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 51
diff changeset
273 After long years of stagnation, nmh became actively developed again.
197
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
274 Hence, while I was working on mmh, the community was working on nmh,
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
275 in parallel.
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
276 .P
53
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 51
diff changeset
277 The name \fImmh\fP may stand for \fImodern mail handler\fP,
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 51
diff changeset
278 because the project tries to modernize nmh.
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 51
diff changeset
279 Personally however, I prefer to call mmh \fImeillo's mail handler\fP,
207
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
280 emphasizing that the project is my version of nmh,
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
281 following my visions and preferences.
42
af8c46461924 Rework and new text about mmh's name in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 39
diff changeset
282 (My login name is \fImeillo\fP.)
53
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 51
diff changeset
283 This project model was inspired by \fIdwm\fP,
207
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
284 .[
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
285 dwm website
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
286 .]
42
af8c46461924 Rework and new text about mmh's name in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 39
diff changeset
287 which is Anselm Garbe's personal window manager \(en
af8c46461924 Rework and new text about mmh's name in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 39
diff changeset
288 targeted to satisfy Garbe's personal needs whenever conflicts appear.
53
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 51
diff changeset
289 Dwm had retained its lean elegance and its focused character, whereas
207
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
290 its community-driven predecessor \fIwmii\fP
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
291 .[
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
292 wmii website
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
293 .]
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
294 had grown fat over time.
53
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 51
diff changeset
295 The development of mmh should remain focused.
27
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
296
45
7a33b5adb672 Rework in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 43
diff changeset
297
27
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
298 .U2 "Motivation
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
299 .P
207
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
300 MH is the most important of very few email systems in a tool chest style.
51
49cf68506b5d Spell checking.
markus schnalke <meillo@marmaro.de>
parents: 50
diff changeset
301 Tool chests are powerful because they can be perfectly automated and
53
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 51
diff changeset
302 extended. They allow arbitrary kinds of front-ends to be
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 51
diff changeset
303 implemented on top of them quickly and without internal knowledge.
106
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
304 Additionally, tool chests are easier to maintain than monolithic
43
c21ff903c71c New text on mmh in Intro.
markus schnalke <meillo@marmaro.de>
parents: 42
diff changeset
305 programs.
53
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 51
diff changeset
306 As there are few tool chests for emailing and as MH-like ones are the most
106
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
307 popular among them, they should be developed further.
53
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 51
diff changeset
308 This keeps their
43
c21ff903c71c New text on mmh in Intro.
markus schnalke <meillo@marmaro.de>
parents: 42
diff changeset
309 conceptional elegance and unique scripting qualities available to users.
106
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
310 Mmh creates a modern and convenient entry point to MH-like systems
53
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 51
diff changeset
311 for new and interested users.
43
c21ff903c71c New text on mmh in Intro.
markus schnalke <meillo@marmaro.de>
parents: 42
diff changeset
312 .P
51
49cf68506b5d Spell checking.
markus schnalke <meillo@marmaro.de>
parents: 50
diff changeset
313 The mmh project is motivated by deficits of nmh and
45
7a33b5adb672 Rework in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 43
diff changeset
314 my wish for general changes, combined
7a33b5adb672 Rework in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 43
diff changeset
315 with the nmh community's reluctancy to change.
7a33b5adb672 Rework in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 43
diff changeset
316 .P
106
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
317 At that time, nmh had not adjusted to modern emailing needs well enough.
45
7a33b5adb672 Rework in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 43
diff changeset
318 The default setup was completely unusable for modern emailing.
7a33b5adb672 Rework in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 43
diff changeset
319 Too much setup work was required.
7a33b5adb672 Rework in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 43
diff changeset
320 Several modern features were already available but the community
106
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
321 did not want to have them as default.
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
322 Mmh is a way to change this.
45
7a33b5adb672 Rework in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 43
diff changeset
323 .P
7a33b5adb672 Rework in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 43
diff changeset
324 In my eyes, MH's concepts could be exploited even better and
7a33b5adb672 Rework in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 43
diff changeset
325 the style of the tools could be improved. Both would simplify
7a33b5adb672 Rework in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 43
diff changeset
326 and generalize the system, providing cleaner interfaces and more
53
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 51
diff changeset
327 software leverage at the same time.
106
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
328 Mmh is a way to demonstrate this.
45
7a33b5adb672 Rework in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 43
diff changeset
329 .P
7a33b5adb672 Rework in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 43
diff changeset
330 In providing several parts of an email system, nmh can hardly
7a33b5adb672 Rework in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 43
diff changeset
331 compete with the large specialized projects that focus
7a33b5adb672 Rework in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 43
diff changeset
332 on only one of the components.
7a33b5adb672 Rework in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 43
diff changeset
333 The situation can be improved by concentrating the development power
51
49cf68506b5d Spell checking.
markus schnalke <meillo@marmaro.de>
parents: 50
diff changeset
334 on the most unique part of MH and letting the user pick his preferred
45
7a33b5adb672 Rework in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 43
diff changeset
335 set of other mail components.
7a33b5adb672 Rework in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 43
diff changeset
336 Today's pre-packaged software components encourage this model.
106
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
337 Mmh is a way to go for this approach.
45
7a33b5adb672 Rework in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 43
diff changeset
338 .P
197
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
339 It is worthwhile to fork nmh for the development of mmh,
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
340 because the two projects focus on different goals and differ in
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
341 fundamental questions.
106
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
342 The nmh community's reluctance regarding change conflicts
3c4e5f0a7e7b Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 102
diff changeset
343 with my strong desire for it.
207
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
344 .[
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
345 nmh-workers schnalke understanding nmh
e0e49a8bfbe8 Added refs.
markus schnalke <meillo@marmaro.de>
parents: 204
diff changeset
346 .]
43
c21ff903c71c New text on mmh in Intro.
markus schnalke <meillo@marmaro.de>
parents: 42
diff changeset
347 In developing a separate experimental version new approaches can
c21ff903c71c New text on mmh in Intro.
markus schnalke <meillo@marmaro.de>
parents: 42
diff changeset
348 easily be tried out without the need to discuss changes beforehand.
c21ff903c71c New text on mmh in Intro.
markus schnalke <meillo@marmaro.de>
parents: 42
diff changeset
349 In fact, revolutionary changes are hardly possible otherwise.
c21ff903c71c New text on mmh in Intro.
markus schnalke <meillo@marmaro.de>
parents: 42
diff changeset
350 .P
117
97369a93ef39 Corrections by Kate. Again of high quality. :-)
markus schnalke <meillo@marmaro.de>
parents: 107
diff changeset
351 The mmh project provides the basis on which the aforementioned
97369a93ef39 Corrections by Kate. Again of high quality. :-)
markus schnalke <meillo@marmaro.de>
parents: 107
diff changeset
352 ideas can be implemented and demonstrated,
164
5c01017be420 Reacted to suggestions by Aaron Mueller.
markus schnalke <meillo@marmaro.de>
parents: 159
diff changeset
353 without the need to change the nmh project or its community.
43
c21ff903c71c New text on mmh in Intro.
markus schnalke <meillo@marmaro.de>
parents: 42
diff changeset
354 Of course, the results of the mmh project shall improve nmh, in the end.
159
8b411125645d Corrections and improvements by Kate, Phil, Matou, Michi, Lydi.
markus schnalke <meillo@marmaro.de>
parents: 131
diff changeset
355 By no means it is my intent to work against the nmh project.
117
97369a93ef39 Corrections by Kate. Again of high quality. :-)
markus schnalke <meillo@marmaro.de>
parents: 107
diff changeset
356
27
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
357
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
358 .U2 "Target Field
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
359 .P
45
7a33b5adb672 Rework in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 43
diff changeset
360 Any effort needs to be targeted towards a specific goal
7a33b5adb672 Rework in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 43
diff changeset
361 in order to be successful.
197
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
362 Therefore, a description of an imagined typical mmh user follows.
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
363 Mmh should satisfy his needs.
48
d28ff07dfc0f Rework in the Intro, with new text.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
364 Actually, as mmh is my personal version of MH, this is a description
d28ff07dfc0f Rework in the Intro, with new text.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
365 of myself.
197
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
366 Writing software for oneself is a reliable way to produce software
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
367 that matches the user's desires.
45
7a33b5adb672 Rework in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 43
diff changeset
368 .P
197
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
369 The target user of mmh likes Unix and its philosophy.
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
370 He appreciates to use programs that are conceptionally appealing.
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
371 He is familiar with the command line and enjoys its power.
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
372 He is capable of shell scripting and wants to improve his
27
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
373 productivity by scripting the mail system.
197
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
374 He uses modern email features, such as attachments,
169
f4ffe121a0a2 Applied excellent suggestions and corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents: 166
diff changeset
375 non-ASCII text, digital signatures and message encryption in a natural way.
197
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
376 He is able to set up mail system components,
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
377 and like to have the choice to pick the ones he prefers.
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
378 He has a reasonably modern operating system that complies to the
164
5c01017be420 Reacted to suggestions by Aaron Mueller.
markus schnalke <meillo@marmaro.de>
parents: 159
diff changeset
379 POSIX and ANSI C standards.
27
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
380 .P
197
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
381 The typical user invokes mmh commands directly in an interactive
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
382 shell session, but he uses them to automate mail handling tasks as well.
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
383 Likely, he runs his mail setup on a server machine,
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
384 to which he connects via ssh.
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
385 He might also have a local mmh installation on his workstation.
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
386 Still, he tend to use mmh directly in the shell instead
117
97369a93ef39 Corrections by Kate. Again of high quality. :-)
markus schnalke <meillo@marmaro.de>
parents: 107
diff changeset
387 of using graphical front-ends.
197
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
388 He definitely wants to be flexible and thus be able to change
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
389 his setup to suit his needs.
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
390 .P
197
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
391 The typical mmh user is a programmer.
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
392 He likes to, occasionally, take the opportunity of free software to put
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
393 hands on and get involved in the software he uses.
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
394 In consequence, he likes small and clean code bases and cares for
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
395 code quality.
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
396 In general, he believes that:
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
397 .BU
197
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
398 The elegance of source code is most important.
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
399 .BU
197
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
400 Concepts are more important than concrete implementations.
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
401 .BU
197
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
402 Code optimizations for anything but readability should be avoided.
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
403 .BU
45
7a33b5adb672 Rework in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 43
diff changeset
404 Having a lot of choice is bad.
48
d28ff07dfc0f Rework in the Intro, with new text.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
405 .BU
d28ff07dfc0f Rework in the Intro, with new text.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
406 Removed code is debugged code.
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
407
197
05a243dffaca Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents: 187
diff changeset
408
48
d28ff07dfc0f Rework in the Intro, with new text.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
409 .U2 "Goals
45
7a33b5adb672 Rework in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 43
diff changeset
410 .P
7a33b5adb672 Rework in the Intro.
markus schnalke <meillo@marmaro.de>
parents: 43
diff changeset
411 The general goals for the mmh project are the following:
128
76c440261ebb s/stream-lining/streamlining/
markus schnalke <meillo@marmaro.de>
parents: 117
diff changeset
412 .IP "Streamlining
87
7d5b180de542 All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents: 83
diff changeset
413 Mmh should be stripped down to its core, which is the user agent (MUA).
117
97369a93ef39 Corrections by Kate. Again of high quality. :-)
markus schnalke <meillo@marmaro.de>
parents: 107
diff changeset
414 The feature set should be distilled to the indispensable ones,
171
346ff7e201f5 Applied suggestions by Boris.
markus schnalke <meillo@marmaro.de>
parents: 169
diff changeset
415 effectively removing corner cases.
173
4c7db172fb59 Various corrections and improvements.
markus schnalke <meillo@marmaro.de>
parents: 171
diff changeset
416 Parts that do not add to the main task of being a conceptionally
187
5360f5fdb118 Added mail agent figure.
markus schnalke <meillo@marmaro.de>
parents: 181
diff changeset
417 appealing user agent should be removed.
117
97369a93ef39 Corrections by Kate. Again of high quality. :-)
markus schnalke <meillo@marmaro.de>
parents: 107
diff changeset
418 This includes the mail submission and mail retrieval facilities.
48
d28ff07dfc0f Rework in the Intro, with new text.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
419 Choice should be reduced to the main options.
131
7c741bc8f719 Reorganized: Converted 4-parted discussion into 3-parted discussion.
markus schnalke <meillo@marmaro.de>
parents: 128
diff changeset
420 All tools should be tightly shaped.
48
d28ff07dfc0f Rework in the Intro, with new text.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
421 .IP "Modernizing
d28ff07dfc0f Rework in the Intro, with new text.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
422 Mmh's feature set needs to become more modern.
164
5c01017be420 Reacted to suggestions by Aaron Mueller.
markus schnalke <meillo@marmaro.de>
parents: 159
diff changeset
423 Better support for attachments, digital signatures and message encryption
5c01017be420 Reacted to suggestions by Aaron Mueller.
markus schnalke <meillo@marmaro.de>
parents: 159
diff changeset
424 should be added.
159
8b411125645d Corrections and improvements by Kate, Phil, Matou, Michi, Lydi.
markus schnalke <meillo@marmaro.de>
parents: 131
diff changeset
425 MIME support should be integrated deeper and more naturally.
48
d28ff07dfc0f Rework in the Intro, with new text.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
426 The modern email features need to be readily available, out-of-the-box.
117
97369a93ef39 Corrections by Kate. Again of high quality. :-)
markus schnalke <meillo@marmaro.de>
parents: 107
diff changeset
427 On the other hand,
97369a93ef39 Corrections by Kate. Again of high quality. :-)
markus schnalke <meillo@marmaro.de>
parents: 107
diff changeset
428 bulletin board support and similar obsolete facilities can be dropped out.
131
7c741bc8f719 Reorganized: Converted 4-parted discussion into 3-parted discussion.
markus schnalke <meillo@marmaro.de>
parents: 128
diff changeset
429 Likewise, ancient technologies should not be supported any further.
7c741bc8f719 Reorganized: Converted 4-parted discussion into 3-parted discussion.
markus schnalke <meillo@marmaro.de>
parents: 128
diff changeset
430 The available concepts need to be expanded as far as possible.
7c741bc8f719 Reorganized: Converted 4-parted discussion into 3-parted discussion.
markus schnalke <meillo@marmaro.de>
parents: 128
diff changeset
431 A small set of concepts should recur consistently.
7c741bc8f719 Reorganized: Converted 4-parted discussion into 3-parted discussion.
markus schnalke <meillo@marmaro.de>
parents: 128
diff changeset
432 .IP "Styling
48
d28ff07dfc0f Rework in the Intro, with new text.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
433 Mmh's source code needs to be updated to modern standards.
d28ff07dfc0f Rework in the Intro, with new text.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
434 Standardized library functions should replace non-standard versions
d28ff07dfc0f Rework in the Intro, with new text.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
435 whenever possible.
117
97369a93ef39 Corrections by Kate. Again of high quality. :-)
markus schnalke <meillo@marmaro.de>
parents: 107
diff changeset
436 Code should be separated into distinct modules when feasible.
48
d28ff07dfc0f Rework in the Intro, with new text.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
437 Time and space optimizations should to be replaced by
d28ff07dfc0f Rework in the Intro, with new text.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
438 clear and readable code.
d28ff07dfc0f Rework in the Intro, with new text.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
439 A uniform programming style should prevail.
117
97369a93ef39 Corrections by Kate. Again of high quality. :-)
markus schnalke <meillo@marmaro.de>
parents: 107
diff changeset
440 The whole system should appear to be of-one-style;
97369a93ef39 Corrections by Kate. Again of high quality. :-)
markus schnalke <meillo@marmaro.de>
parents: 107
diff changeset
441 it should feel like being cast as one.