annotate ch01.roff @ 39:22ae3981a76b

style: New RN macro to reset page numbers and change their style.
author markus schnalke <meillo@marmaro.de>
date Tue, 15 May 2012 22:11:16 +0200
parents 6a9abf543297
children af8c46461924
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
22ae3981a76b style: New RN macro to reset page numbers and change their style.
markus schnalke <meillo@marmaro.de>
parents: 32
diff changeset
2
0
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
3 .H0 "Introduction
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
4 .P
32
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
5 This chapter introduces MH, its history, concepts and how it is used.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
6 Then, it describes nmh's code base and community to give the reader
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
7 a better understanding of the state from which mmh started off.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
8 Further more, this chapter lists the motivation and goals of the mmh project.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
9 This chapter introduces MH, nmh and mmh to the reader and outlines
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
10 the mmh project itself.
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
11
0
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
12
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
13 .H1 "MH \(en the Mail Handler
0
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
14 .P
2
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
15 MH is an electronic mail system, originating in the RAND Corporation.
32
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
16 Most important for this thesis is that MH defines a mail handling concept.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
17 In fact, MH had started as a design proposal, not as an implementation,
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
18 and in spirit it had remained this way. This is similar to Unix, which
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
19 influenced the world rather in being a set of system design concepts
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
20 than in being a specific software product.
27
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
21 .P
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
22 XXX Link to the Unix phil.
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
23 .P
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
24 XXX comparision to monolithic mail systems.
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
25 .P
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
26 XXX Differenciation of MUA and mail system.
2
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
27
11
9a313c929a2a style: Introduced .U2 for unnumbered .H2.
markus schnalke <meillo@marmaro.de>
parents: 9
diff changeset
28 .U2 "History
2
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
29 .P
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
30 MH is an electronic mail system, originating in the RAND Corporation.
32
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
31 In 1977 at RAND Corporation, Norman Shapiro and Stockton Gaines
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
32 had proposed the design
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
33 of a new mail handling system, called ``Mail Handler'' (MH),
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
34 to superseed RAND's old monolithic ``Mail System'' (MS).
27
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
35 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
36 prototype of MH.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
37 Before the prototype had been available, the concept was
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
38 believed to be practically unusable because of being too slow.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
39 But the prototype proved successful and replaced MS thereafter.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
40 In replacing MS, MH became an all-in-one mail system.
2
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
41 .P
32
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
42 A decade later, the University of California at Irvine had started to use MH.
2
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
43 They also took over its development and pushed MH forward.
32
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
44 This was the time when the Internet appeared, UCB implemented
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
45 the TCP/IP stack, and Allman wrote Sendmail.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
46 MH was extended as emailing got more features.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
47 The development of MH was closely related to the development of email
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
48 RFCs. In the advent of MIME, MH was the first implementation of this new
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
49 email standard.
2
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
50 .P
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
51 In the nineties, MH had been moved into the public domain, making it
32
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
52 attractive to Free Software developers.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
53 The Internet had started to become popular and in 1997,
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
54 Richard Coleman initiated the ``New Mail Handler'' (nmh) project,
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
55 a fork of MH, based on the \fILBL changes\fP by Van Jacobson, Mike Karels
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
56 and Craig Leres.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
57 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
58 MIME handling capabilities.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
59 This should be done openly within the Internet community.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
60 The development of MH stopped soon after the development of nmh had started.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
61 Today, nmh almost completely replaced the original MH.
0
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
62
11
9a313c929a2a style: Introduced .U2 for unnumbered .H2.
markus schnalke <meillo@marmaro.de>
parents: 9
diff changeset
63 .U2 "Concepts
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
64 .P
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
65 MH is a toolchest, modelled after the Unix toolchest. It consists of a
32
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
66 set of tools, each covering a specific task of email handling. The programs
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
67 operate on a common mail storage. The specific format of the mail storage
32
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
68 characterizes MH in the same way like the format of the file system
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
69 characterizes Unix.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
70 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
71 \fPmessages\fP (regular files).
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
72 Each message is stored in a separate file in the format it had been
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
73 received (i.e. transfer format). The files are named with ascending numbers
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
74 in each folder.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
75 MH tools maintain a \fIcontext\fP, which includes
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
76 the current mail folder and current message.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
77 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
78 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
79 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
80 context themselves.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
81 The user can have one MH context or multiple ones, he can even share it
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
82 with other users.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
83 Messages can have symbolic names. These can be automatically updated
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
84 position names like being the next or the last message,
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
85 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
86 These names are called sequences.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
87 Sequences can be bound to the folder or to the context.
0
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
88 .P
32
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
89 New MH tools are built out of or on top of existing ones easily \(en
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
90 a property common to toolchests.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
91 Multiple versions of the same command with different default values
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
92 are created very easily. This provides shortcuts and tayloring.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
93 Form templates for new messages or for replies are easily exchangable.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
94 Generally, output is adjustable with format files.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
95 The configuration is stored in a file that is called the user's \fIprofile\fP.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
96 MH encourages the user to taylor and automate the mail handling.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
97 Almost everypart of the system can be adjusted to personal preference.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
98 The system is well scriptable and extendable.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
99 As the MH toolchest was modelled after the Unix toolchest, the
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
100 properties of the latter apply to the former as well.
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
101
32
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
102 .U2 "Versions
27
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
103 .P
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
104 Three versions of MH are available today:
32
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
105 .IP "Old MH"
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
106 In most cases this version had been replaced by nmh,
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
107 but some systems might still provide old MH.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
108 The main reasons to still use old MH are historical reasons.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
109 MH provides hardly any benefits over nmh.
27
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
110 The development of old MH has stopped after the 6.8.4 release in
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
111 February 1996.
32
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
112 .IP nmh\0
27
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
113 The most widespread version of MH was forked off version 6.8.3 in December
32
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
114 1996. It is based on the \fILBL changes\fP.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
115 Backward-compatibility to old MH is provided by having new featues deactivated
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
116 by default. In consequence, the user needs to activate them explicitely to
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
117 be able to use them.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
118 Throughout the previous years, the work on nmh was mostly maintenance work.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
119 Development revived in December 2011 and stayed busy since then.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
120 .IP mmh
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
121 This descendent of nmh is the subject of this thesis.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
122 It had started as an experimental version, but became de facto a fork.
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
123
27
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
124 .U2 "Example Session
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
125 .P
32
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
126 Following is an example mail handling session with mmh.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
127 It should be mostly compatible with nmh and old MH.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
128 Details might vary but the look'n'feel is the same.
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
129 .P
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
130 XXX shell mail handling session follows ...
27
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
131
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
132
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
133 .H1 "nmh: Code and Community
2
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
134 .P
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
135 In order to understand the state, goals and dynamics of a project,
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
136 one needs to know its history. MH comes from a time before the
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
137 Internet, a time before networking became universal, a time when
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
138 emailing was small, short and simple. Then it grew, spread and
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
139 adopted to the changes. The core-concepts, however, remained the
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
140 same. During the XXX a small group of students at the University of
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
141 California, actively worked on MH. They added features and optimized,
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
142 like it is common for scientific work. This is still in pre-ANSI C
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
143 times. The source code contains many ancient parts. Code constructs
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
144 specific to BSD or hardware of that time are usual.
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
145 .P
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
146 Nmh started eight years after the ANSI C standard had been
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
147 established. A more modern coding style entered the code base. Still
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
148 a part of the developers come from ``the old days''. The developer
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
149 base became more diverse and thus the code. Programming practices
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
150 from different decades merged into the project. Different coding
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
151 styles came together. It appears as if multiple peers added code
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
152 parts, resulting in a conclomeration rather than an homogenic
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
153 of-one-cast mail system. Still, the basic concepts hold it together.
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
154 They were mostly untouched throughout the years.
2
65e4327aa9f8 Added some introduction text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
155 .P
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
156 Although, at the surface, nmh is a toolchest, meaning a collection
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
157 of completely modularized small programs, on the source code level,
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
158 it is much more interweaved. Parts of the basic functions are
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
159 collected in a MH standard library, which is good, but often
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
160 separate functions are compiled into programs, for effiency reasons.
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
161 This lead to intricate innards.
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
162 The advent of MIME rose the complexity of email by a magnitude. This
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
163 is visible in nmh. The MIME-related parts are the most complex ones.
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
164 It's also visible that MIME support had been added on top of the
32
6a9abf543297 Rework in the Introduction (about MH).
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
165 old MH later. The MH style made this easily possible, but it
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
166 also lead to duplicated functions (e.g. \fLshow\fP, \fLmhshow\fP)
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
167 and had not been thoroughly included into the concepts (e.g. the
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
168 user-visible access to whole messages and MIME parts are inherently
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
169 different).
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
170 .P
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
171 For compatibility's sake, it is a common understanding to have the
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
172 default settings to be compatible, requiring any new feature to be
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
173 explicitely enabled. This puts a burden on new users, because nmh
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
174 out-of-the-box keeps staying in the same ancient style, where users
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
175 usually want to have it practical for modern emailing.
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
176 But of course, this depends on if nmh is seen to be a front-end or a
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
177 back-end.
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
178
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
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 .H1 "mmh
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
181 .P
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
182 I started to work on my experimental version, which I call
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
183 \fImmh\fP (for \fImeillo's mail handler\fP), in Fall 2011.
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
184 In December, when I announced that I would work on an experimental
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
185 version, the activity in nmh suddenly rose. Suddently the community
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
186 started to move.
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
187 After long years of mostly idling, nmh became actively developed again.
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
188 What a great result!
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
189 Hence, while I was working on mmh, the community was working on nmh
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
190 too. My own work went in parallel and mostly unrelated.
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
191 .P
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
192 Because of several circumstances, my experimental version is rather
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
193 a fork today, although this may change again in the future.
27
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
194
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
195 .U2 "Motivation
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
196 .P
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
197 XXX
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
198
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
199 .U2 "Why it is worth it
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
200 .P
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
201 XXX
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
202
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
203 .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
204 .P
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
205 XXX Target field and scenarios
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
206 .P
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
207 The target user in mind likes Unix and its philosophy.
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
208 He likes to use programs that are conceptionally appealing.
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
209 He's familiar with the command line and enjoys its power.
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
210 He is at least capable of shell scripting and wants to improve his
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
211 productivity by scripting the mail system.
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
212 His computer and operating system are from post-ANSI C times.
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
213 He likes to attach files, exchanges text containing non-ASCII
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
214 characters, signs or encrypts his messages.
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
215 He does not use bulletin boards anymore, nor non-mbox style mail
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
216 drops, nor does he rely on compatibility to nmh.
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
217 He already has and MTA/MSA and MRA running or is able to set them
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
218 up.
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
219 He does not want to have to read a book in order to make his MUA
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
220 usable.
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
221 .P
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
222 XXX Limitations
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
223
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
224 .U2 "The Vision
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
225 .P
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
226 The general goals of the mmh project are the following:
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
227 .BU
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
228 I believe that mmh should be perfectly suited for modern emailing,
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
229 out-of-the-box.
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
230 .BU
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
231 I care less about compatibility and more about conceptionally elegant
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
232 approaches.
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
233 .BU
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
234 I care for general, clear, and simple concepts.
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
235 .BU
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
236 I like to create an of-one-style email system. It should feel like
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
237 cast as one.
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
238 .BU
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
239 I plan to remove any optimizations that rises obscurity, unless it
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
240 appears to be neccessary to make mmh usable at all.
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
241
27
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
242 .U2 "Work to do
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
243 .BU
27
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
244 Remove the MTA and MRA facilities. Mmh shall concentrate on the MUA
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
245 task. Mail shall enter mmh's mail storage via the system mail drop
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
246 and it shall leave mmh via the local \fLsendmail\fP command.
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
247 .BU
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
248 Remove any further functions that are not related to mmh's main task.
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
249 Bulletin board support is on example. Also remove support for ancient
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
250 technologies, like hardcopy terminals.
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
251 .BU
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
252 Refactor the source code to meet modern style criteria. Use
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
253 standardized library functions when possible.
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
254 .BU
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
255 Replace performance optimizations by clear and readable code.
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
256 .BU
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
257 Reduce the feature set to the commonly used one, removing
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
258 corner-cases. Set sane default values.
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
259 .BU
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
260 Add better attachment support. Add support for digital signatures and
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
261 encryption.
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
262 .BU
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
263 Merge \fLshow\fP and \fLmhshow\fP into one single mail display program.
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
264 Integrate MIME support deeper and more natural into MH.
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
265 .BU
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 3
diff changeset
266 Provide a ready-to-use setup out-of-the-box.
27
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
267
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
268
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
269 .H1 "Goals of this Thesis
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
270
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
271 .U2 "Methods
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
272 .P
b687d151eed3 Reorganized the content in the Intro and added placeholders for missing parts.
markus schnalke <meillo@marmaro.de>
parents: 11
diff changeset
273 foo