annotate preface.roff @ 36:13bcab8d4b6f

Added hgignore file.
author markus schnalke <meillo@marmaro.de>
date Tue, 15 May 2012 19:21:27 +0200
parents 2fea9739507f
children 83b1481dda93
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
1 .H0 "Preface" no
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
2
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
3 .P
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
4 MH is a set of mail handling tools with a common concept, like
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
5 the Unix toolchest is a set of file handling tools with a common
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
6 concept. nmh is the currently most popular implementation of an
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
7 MH-like mail handling system.
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
8 This thesis describes an experimental version of nmh,
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
9 named \fImmh\fP.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
10 The project goals for mmh are modernizing, stream-lining and exploiting
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
11 MH's concepts even more thoroughly.
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
12
30
d996f130e279 Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
13 .U2 "Background to this Thesis
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
14 .P
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
15 I have discovered nmh in September 2009. At that time I used to use the
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
16 mail client \fImutt\fP, like many advanced Unix users do.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
17 As I read about nmh, its concepts had convinced me at once.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
18 Learning its different model of email handling had been relatively easy,
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
19 because my starting situation was being convinced of the concepts.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
20 The transition from mutt to nmh was similar to
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
21 managing files in the Unix shell when being used to graphical file
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
22 managers, or like editing with vi when being used to modeless editors.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
23 Such a change is not trivial, but in being convinced by the
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
24 concepts and by having done similar transitions for file management
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
25 and editing already, it was not too difficult neither.
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
26 In contrast, setting up nmh to a convenient state became a tendious task
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
27 that took several months.
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
28 .P
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
29 Once having nmh arranged to a convenient state, I enjoyed using it
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
30 because of its conceptional elegance and its scripting capabilities.
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
31 On the other hand, however, it still was
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
32 inconvenient for handling attachments, non-ASCII character encodings,
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
33 and similar features of modern emailing.
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
34 My setup demanded more and more additional configuration and helper scripts
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
35 to get nmh behave the way I wanted, although my
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
36 expectations were rather common for modern emailing.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
37 In being a computer scientist and programmer,
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
38 I wanted to improve the situation.
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
39 .P
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
40 In Spring 2010, I asked on the \fInmh-workers\fP mailing list for the
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
41 possibility to offer a Google Summer of Code project.
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
42 Participating in the development this way appeared attractive to me,
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
43 as it would have been possible to have the project
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
44 accepted at university. Although generally the nmh community
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
45 had been positive on the
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
46 suggestion, the administrative work had been to much, eventually.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
47 But my proposal had activated the nmh community.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
48 In the following weeks, goals for nmh's future were discussed.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
49 In these discussions, I became involved in the
34
2fea9739507f Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents: 31
diff changeset
50 question whether nmh should be an MTA.
2fea9739507f Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents: 31
diff changeset
51 .[
2fea9739507f Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents: 31
diff changeset
52 nmh-workers thread mta mua
2fea9739507f Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents: 31
diff changeset
53 .]
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
54 In this central point, my opinion differed from the opinion of most others.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
55 I argued for the MTA facility of nmh to be removed.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
56 Besides the discussions, hardly any real work was done.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
57 Being unable to work on nmh in a way that would be
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
58 accepted as part of my official studies, I needed to choose another project.
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
59 .P
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
60 Half a year later, starting in August 2010,
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
61 I took one semester off to travel through Latin America.
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
62 Within this time, I had to do practical computer work for three months.
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
63 This brought me back to nmh.
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
64 Richard Sandelman, an active nmh user, made it possible for
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
65 me to work on nmh. Juan Granda, living in Santiago del
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
66 Estero in Argentina, provided a computer with Internet connection for
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
67 my work. Thanks to them, I was able to work on nmh during my three-month
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
68 stay in Argentina.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
69 Within this time, I became familiar with nmh's code base and
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
70 community. I learned how things work. Quickly it became obvious that
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
71 I wouldn't succeed with my main goal: improving the character
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
72 encoding handling within the project. One of its ramifications is the
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
73 missing transfer decoding of quoted text in replies.
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
74 As this is one of the most intricate parts of the system, the goal
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
75 was simply set too high. Hence, I dropped the original plan.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
76 Instead, I improved the code base as I read through it. I found minor bugs
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
77 for which I proposed fixes to the community. In the same go, I
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
78 improved the documentation in minor ways. When I started with
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
79 larger code changes, I had to discover that the community was reluctant
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
80 to change. Its wish for compatibility was much stronger than its
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
81 wish for convenient out-of-the-box setups \(en in contrast to my opinion.
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
82 This lead to long discussions, again.
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
83 I came to understand their point of view, but it is different to mine.
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
84 At the end of my three-month project, I had become familiar with
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
85 nmh's code base and community. I had improved the project in minor ways,
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
86 and I still was convinced that I wanted to go on to do so.
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
87 .P
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
88 Another half a year later, the end of my studies came within reach.
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
89 I needed a topic for my master's thesis.
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
90 There was no question: I wanted to work on nmh.
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
91 But well, not exactly on nmh,
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
92 because I had accepted that the nmh community has different goals
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
93 than I have. This would result in much discussion and thus little progress.
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
94 After careful thought, I decided to start an experimental version of nmh.
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
95 I wanted to implement my own ideas of how an MH-like system should look like.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
96 I wanted to see where that would lead to.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
97 I wanted to create a usable alternative version to be compared with
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
98 the present state of nmh.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
99 My work should be proved successful or failed.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
100 The nmh project would not be hurt by my work, but
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
101 it would profit from my experiences.
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
102
30
d996f130e279 Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
103 .U2 "Focus of this Document
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
104 .P
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
105 This document describes my work on the experimental nmh version, named
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
106 \fImmh\fP. It explains the changes to nmh, with focus on their reasons.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
107 It discusses technical, historical, social and philosophical considerations.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
108 On the technical side, this document
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
109 explains how an existing project was stream-lined by removing rough edges
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
110 and exploiting the central concepts better.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
111 On the historical
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
112 side, changes through time in the use cases and the email features,
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
113 as well as the reactions to them, are discussed.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
114 Socially, this document describes the effects
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
115 and experiences of a newcomer with revolutionary aims entering an old
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
116 and matured software projects.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
117 Finally, philosophical thoughts on style, mainly based to the Unix philosophy,
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
118 are present throughout the discussions.
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
119 .P
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
120 This document is written for the community around MH-like mail systems,
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
121 including developers and users.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
122 First of all, the document shall explain the design goals and
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
123 implementation decisions for mmh. But as well, it shall clarify my
30
d996f130e279 Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
124 personal perception of the
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
125 concepts of MH and Unix, and explain my therefrom resulting point of view.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
126 Despite the focus on MH-like systems, this document may be worthwhile
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
127 to anyone interested in the Unix philosophy and anyone in contact to
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
128 old software projects, be it code or community-related.
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
129 .P
30
d996f130e279 Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
130 The reader is expected to have good knowledge of Unix, C and emailing.
d996f130e279 Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
131 Good Unix shell
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
132 knowledge, including shell scripting, is required. MH relies fundamentally
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
133 on the shell. Without the power of the shell, MH becomes a motorbike
30
d996f130e279 Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
134 without winding roads: boring.
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
135 Introductions to Unix and its shell can be found in ``The UNIX Programming
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
136 Environment'' by Kernighan and Pike or ``The UNIX System'' by Bourne.
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
137 The reader is
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
138 expected to be familiar with the C programming language, although the
30
d996f130e279 Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
139 document should be understandable without knowledge of C, too.
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
140 ``The C Programming Language'' by Kernighan and Ritchie is the
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
141 definitive guide to C.
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
142 Some book about system-level C programming is worthwile additional
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
143 literature. Rochkind and Curry have written such books.
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
144 As large parts of the code are old, old books are likely more helpful
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
145 to understanding.
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
146 The format of email messages as well as the structure of email transfer
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
147 systems should be familiar to the reader, at least on a basic level.
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
148 It's advisable to have at least cross-read the RFCs 821 and 822.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
149 Further more, basic understanding of MIME is good to have.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
150 The Wikipedia provides good introduction-level information to email.
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
151 Frequent references to the Unix philosophy will be made.
34
2fea9739507f Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents: 31
diff changeset
152 Gancarz had tried to sum the philosophy up in his book
2fea9739507f Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents: 31
diff changeset
153 ``The UNIX Philosophy''.
2fea9739507f Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents: 31
diff changeset
154 .[
2fea9739507f Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents: 31
diff changeset
155 gancarz unix phil
2fea9739507f Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents: 31
diff changeset
156 .]
2fea9739507f Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents: 31
diff changeset
157 Even better but less concrete are ``The UNIX Programming Environment''
2fea9739507f Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents: 31
diff changeset
158 .[
2fea9739507f Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents: 31
diff changeset
159 kernighan pike unix prog env
2fea9739507f Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents: 31
diff changeset
160 .]
2fea9739507f Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents: 31
diff changeset
161 and ``The Practice of Programming''
2fea9739507f Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents: 31
diff changeset
162 .[
2fea9739507f Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents: 31
diff changeset
163 kernighan pike practice of prog
2fea9739507f Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents: 31
diff changeset
164 .]
2fea9739507f Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents: 31
diff changeset
165 by Kernighan and Pike.
2fea9739507f Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents: 31
diff changeset
166 The term paper ``Why the Unix Philosophy still matters''
2fea9739507f Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents: 31
diff changeset
167 .[
2fea9739507f Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents: 31
diff changeset
168 why unix phil still matters schnalke
2fea9739507f Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents: 31
diff changeset
169 .]
2fea9739507f Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents: 31
diff changeset
170 by myself
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
171 provides an overview on the topic, including a case study of MH.
30
d996f130e279 Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
172 Although a brief introduction to MH is provided in Chapter 1, the reader
d996f130e279 Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
173 is encouraged to have a look at the \fIMH Book\fP by Jerry Peek.
34
2fea9739507f Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents: 31
diff changeset
174 .[
2fea9739507f Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents: 31
diff changeset
175 peek mh
2fea9739507f Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents: 31
diff changeset
176 .]
30
d996f130e279 Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
177 It is the definitive guide to MH and nmh.
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
178 The current version is available freely on the Internet.
30
d996f130e279 Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
179 .P
d996f130e279 Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
180 This document is neither a user's tutorial to mmh nor an introduction
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
181 to any of the topics covered. It discusses Unix, email
30
d996f130e279 Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
182 and system design on an advanced level.
d996f130e279 Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
183 However, as knowledge of the fundamental concepts is the most valuable
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
184 information a user can aquire about some program or software system,
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
185 this document might be worth a read for non-developers as well.
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
186
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
187
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
188 .U2 "Organization
0
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
189 .P
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
190 Which font for what use.
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
191 Meaning of `foo(1)'.
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
192 RFCs.
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
193 MH vs. nmh vs. mmh.
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
194 .P
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
195 This thesis is devided into XXX chapters, ...
24
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
196 .P
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
197 .I Chapter 1
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
198 introduces ...
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
199 .P
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
200 .I Chapter 2
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
201 describes ...
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
202 .P
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
203 .I Chapter 3
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
204 covers ...
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
205
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
206
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
207 .U2 "Acknowledgments
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
208 .P
24
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
209 To be written at the very end.
0
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
210
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
211
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
212 .\" End or Preface. Start of the normal text.
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
213 .\" Switch to arabic page numbers and start on a right page.
30
d996f130e279 Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents: 28
diff changeset
214 .
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
215 .if e \{
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
216 . pn 1
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
217 . af PN 1
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
218 .\}
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
219 .if o \{
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
220 . pn 0
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
221 . af PN 0
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
222 . bp
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
223 .\}