annotate preface.roff @ 28:6c63083b4c19

Wrote text for the Preface; changed headings in Preface and Introduction.
author markus schnalke <meillo@marmaro.de>
date Wed, 09 May 2012 11:39:56 +0200
parents b687d151eed3
children d996f130e279
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.
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
8 This thesis describes creating an experimental version of nmh,
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
9 named \fImmh\fP,
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
10 to modernize, stream-line and to exploit the concepts
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
11 even more thoroughly.
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
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 .U2 "The Path 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
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
16 mail client mutt, like many command line-attracted Unix users do.
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
17 The concepts of nmh had convinced me at once and thus learning
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
18 its different model of email handling had been relatively easy.
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
19 The change was like
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
20 managing files in the Unix shell when being used to graphical file
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
21 managers, or like learning vi when being used to modeless editors.
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
22 The transition had not been trivial but, as I was convinced by the new
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
23 concepts and
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
24 already managed my files with shell tools and edited with vi, not too
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
25 difficult neither.
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
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
32 inconvenient in 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.
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
34 My setup required more and more additional configuration and helper scripts
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
35 to have nmh act the way I expected it to behave, although my
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
36 expectations were rather common for modern emailing than exceptionel.
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
37 In being a software developer, 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
38 .P
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
39 In Spring 2010, I asked on the nmh-workers mailing list for the
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
40 possibility to offer a Google Summer of Code project on nmh.
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
41 Participating in the development this way appeared attractive to me,
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
42 especially as it would have been possible to have the project
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
43 accepted at university. Although the nmh community
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
44 generally had been positive on the
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
45 suggestion, eventually it had not been possible to manage the
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
46 administrative work. Though my proposal had started the nmh community
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
47 to move. In the following weeks, goals for nmh's future were discussed
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
48 on the list. During the discussions, I became involved in the
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
49 question whether nmh should be an MTA. (Thread subject:
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
50 ``should nmh be an MTA or an MUA?''.)
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
51 In this point, my opinion differed from the opinion of most others
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
52 as I voted for the MTA facility of nmh to be removed.
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
53 .P
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
54 Being unable to work on nmh in a way that would be
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
55 accepted as part of my official studies, I had to pick another project.
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
56 Half a year later, starting in August 2010,
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
57 I took one semester off to travel through Latin America.
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
58 Within this time, I had to do practical computer work for three
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
59 months.
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
60 This brought me back to nmh.
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
61 Richard Sandelman, an active nmh user, made it possible for
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
62 me to work on nmh. Juan Granda, living in Santiago del
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
63 Estero in Argentina, provided a computer and Internet connection for
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
64 my work.
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
65 Within the three month, I became familiar with nmh's code base and
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
66 its community. I learned how things work. Quickly it became obvious that
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
67 I wouldn't succeed with my main goal, to improve the character
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
68 encoding handling within the project. One obvious problem is the missing
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
69 transfer decoding of the quoted text in replies.
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
70 As this is one of the most intricate parts of the system, the goal
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
71 was simply too difficult to reach.
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
72 Instead I improved the code as I read through it. I found minor bugs
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
73 for which I proposed fixes to the community. Also I
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
74 could improve the documentation. When I started with
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
75 larger code changes, I had to discover that the community's wish for
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
76 compatibility was stronger than its wish for convenient
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
77 out-of-the-box setups \(en in contrast with my opinion.
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
78 This lead to long discussions, again.
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
79 I came to understand their point of view, but it simply is not mine.
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
80 .P
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
81 At the end of my three-month project, I had become familiar with
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
82 nmh's code base and its community. I had improved the project a bit
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
83 and I still was convinced that I wanted to go on with that.
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
84 .P
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
85 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
86 I needed a topic for my master's thesis.
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
87 There was no question: I wanted to work on nmh.
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
88 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
89 because I had accepted that the nmh community has different goals
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
90 than I have. This would result in long discussions and thus few progress.
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
91 After careful thought, I decided to start an experimental version of nmh.
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
92 I wanted to follow my own ideas of how nmh should look like. I wanted
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
93 to see where that would lead to. I wanted to compare the result of my
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
94 work to the present state of nmh. Time should prove me successful or
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
95 not.
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
96 Nmh would hardly be hurt by my work as I would not interfere with
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
97 them. But nmh would profit from my experiences.
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
98
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
99 .U2 "Focus and Delimitation of the Document
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
100 .P
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
101 This document describes my work on the experimental version, named
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
102 \fImmh\fP. It explains the changes I did to nmh, with having the focus
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
103 on the reasons for the changes. It discusses technical, historical,
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
104 social and philosophical reasons. On the technical side, this document
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
105 explains how an existing project was stream-lined by exploiting the
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
106 central concepts better and removing rough edges. On the historical
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
107 side, changes in the use cases and the features of email and reactions
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
108 to them are discussed. Socially, this document describes the effects
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
109 and experiences of a newcomer with revolutionary aims entering an old
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
110 and matured software projects and its community. Finally, philosophical
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
111 thoughts on style, mainly based to the Unix philosophy, are present
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
112 throughout the discussions.
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
113 .P
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
114 This document is written for the community \(en developers and users \(en
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
115 around MH-like mail systems.
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
116 First of all, the document shall propagade the design goals and
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
117 implementation decisions of mmh. But as well, it shall clarify my
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
118 perception of the
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
119 concepts of MH and Unix, and the therefrom resulting point of view.
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
120 Further more, the document shall explain this view on nmh and mmh.
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
121 Despite the focus on MH-like systems, this document can be useful
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
122 to anyone interested in the Unix philosophy, as well as anyone
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
123 involved in old software projects, be it code-related or community-related.
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
124 .P
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
125 The reader is expected to know Unix, C and email well. Good Unix shell
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
126 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
127 on the shell. Without the power of the shell, MH becomes a motorbike
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
128 without winding roads.
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
129 Introductions to Unix and its shell can be found in XXX.
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
130 The reader is
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
131 expected to be familiar with the C programming language, although the
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
132 document should be quite readable without knowledge of C, too.
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
133 The book by Kernighan and Ritchie is the definitive guide to C.
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
134 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
135 literature. Rochkind and Curry have written such books.
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
136 As large parts of the code are old, old books are likely more helpful.
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
137 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
138 systems should be familiar to the reader, at least on a basic level.
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
139 It's advisable to have had, at least cross-read, the RFCs 821 and 822.
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
140 The book XXX introduces email well, too.
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
141 Frequent references to the Unix philosophy will be made.
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
142 Gancarz XXX had tried to sum the philosophy up. Even better but less
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
143 concrete is the literature by Kernighan and Pike XXX.
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
144 The term paper ``Why the Unix Philosophy still matters'' by myself
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
145 provides an overview on the topic, including a case study of MH.
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
146
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
147
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
148 .U2 "Organization
0
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
149 .P
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
150 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
151 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
152 RFCs.
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
153 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
154 .P
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
155 This thesis is devided into XXX chapters, ...
24
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
156 .P
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
157 .I Chapter 1
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
158 introduces ...
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
159 .P
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
160 .I Chapter 2
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
161 describes ...
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
162 .P
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
163 .I Chapter 3
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
164 covers ...
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
165
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
166
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
167 .U2 "Acknowledgments
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
168 .P
24
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
169 To be written at the very end.
0
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
170
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
171
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
172 .\" End or Preface. Start of the normal text.
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
173 .\" Switch to arabic page numbers and start on a right page.
8
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
174 .if e \{
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
175 . pn 1
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
176 . af PN 1
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
177 .\}
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
178 .if o \{
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
179 . pn 0
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
180 . af PN 0
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
181 . bp
3ef5449c1175 Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents: 5
diff changeset
182 .\}