comparison 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
comparison
equal deleted inserted replaced
27:b687d151eed3 28:6c63083b4c19
3 .P 3 .P
4 MH is a set of mail handling tools with a common concept, like 4 MH is a set of mail handling tools with a common concept, like
5 the Unix toolchest is a set of file handling tools with a common 5 the Unix toolchest is a set of file handling tools with a common
6 concept. nmh is the currently most popular implementation of an 6 concept. nmh is the currently most popular implementation of an
7 MH-like mail handling system. 7 MH-like mail handling system.
8 This thesis describes creating an experimental version of nmh,
9 named \fImmh\fP,
10 to modernize, stream-line and to exploit the concepts
11 even more thoroughly.
8 12
9 13 .U2 "The Path to this Thesis
10 .H1 "How the Fun Began" no
11 .P 14 .P
12 I have discovered nmh in September 2009. At that time I used to use mutt, 15 I have discovered nmh in September 2009. At that time I used to use the
13 like many command line-attracted Unix users do. 16 mail client mutt, like many command line-attracted Unix users do.
14 Conceptually nmh had convinced me at once and learning 17 The concepts of nmh had convinced me at once and thus learning
15 its different model of email handling had been relatively easy. 18 its different model of email handling had been relatively easy.
16 The change was like 19 The change was like
17 managing files in the Unix shell when you are used to graphical file 20 managing files in the Unix shell when being used to graphical file
18 managers, or like learning vi when you are used to modeless editors. 21 managers, or like learning vi when being used to modeless editors.
19 The change was not trivial but as I was convinced by the concepts and 22 The transition had not been trivial but, as I was convinced by the new
20 already managed my files with shell tools and edited with vi, not to 23 concepts and
21 difficult either. 24 already managed my files with shell tools and edited with vi, not too
22 In contrast, setting nmh up to a convenient state became a tendious task 25 difficult neither.
26 In contrast, setting up nmh to a convenient state became a tendious task
23 that took several months. 27 that took several months.
24 .P 28 .P
25 Once having nmh arranged as wished, using it was joy because of its 29 Once having nmh arranged to a convenient state, I enjoyed using it
26 conceptional elegance and scripting capabilities. 30 because of its conceptional elegance and its scripting capabilities.
27 On the other hand, however, it still was 31 On the other hand, however, it still was
28 inconvenient in handling attachments, non-ASCII character encodings, 32 inconvenient in handling attachments, non-ASCII character encodings,
29 and similar features of modern emailing. 33 and similar features of modern emailing.
30 My setup required more and more scripts and additional configuration 34 My setup required more and more additional configuration and helper scripts
31 to have nmh act the way I expected it to behave, where my 35 to have nmh act the way I expected it to behave, although my
32 expectations were rather common to modern emailing than exceptionel. 36 expectations were rather common for modern emailing than exceptionel.
33 In being a software developer, I wanted to improve the situation. 37 In being a software developer, I wanted to improve the situation.
34 .P 38 .P
35 In Spring 2010, I asked on the nmh-workers mailing list for the 39 In Spring 2010, I asked on the nmh-workers mailing list for the
36 possibility to offer a Google Summer of Code project on nmh. 40 possibility to offer a Google Summer of Code project on nmh.
37 Participating in the development this way appeared attractive to me, 41 Participating in the development this way appeared attractive to me,
45 question whether nmh should be an MTA. (Thread subject: 49 question whether nmh should be an MTA. (Thread subject:
46 ``should nmh be an MTA or an MUA?''.) 50 ``should nmh be an MTA or an MUA?''.)
47 In this point, my opinion differed from the opinion of most others 51 In this point, my opinion differed from the opinion of most others
48 as I voted for the MTA facility of nmh to be removed. 52 as I voted for the MTA facility of nmh to be removed.
49 .P 53 .P
50 Being not able to work on nmh in a way that would be 54 Being unable to work on nmh in a way that would be
51 accepted as part of my official studies, I needed to get my credit 55 accepted as part of my official studies, I had to pick another project.
52 points with some other project.
53 Half a year later, starting in August 2010, 56 Half a year later, starting in August 2010,
54 I took one semester off to travel through Latin America. 57 I took one semester off to travel through Latin America.
55 Within this time, I had to do practical computer work for three 58 Within this time, I had to do practical computer work for three
56 months. 59 months.
57 This brought me back to nmh. 60 This brought me back to nmh.
89 I wanted to follow my own ideas of how nmh should look like. I wanted 92 I wanted to follow my own ideas of how nmh should look like. I wanted
90 to see where that would lead to. I wanted to compare the result of my 93 to see where that would lead to. I wanted to compare the result of my
91 work to the present state of nmh. Time should prove me successful or 94 work to the present state of nmh. Time should prove me successful or
92 not. 95 not.
93 Nmh would hardly be hurt by my work as I would not interfere with 96 Nmh would hardly be hurt by my work as I would not interfere with
94 them. But nmh could profit from my experiences. 97 them. But nmh would profit from my experiences.
98
99 .U2 "Focus and Delimitation of the Document
95 .P 100 .P
96 I started to work on my experimental version, which I call 101 This document describes my work on the experimental version, named
97 \fImmh\fP (for \fImeillo's mail handler\fP), in Fall 2011. 102 \fImmh\fP. It explains the changes I did to nmh, with having the focus
98 In December, when I announced that I would work on an experimental 103 on the reasons for the changes. It discusses technical, historical,
99 version, the activity in nmh suddenly rose. Suddently the community 104 social and philosophical reasons. On the technical side, this document
100 started to move. 105 explains how an existing project was stream-lined by exploiting the
101 After long years of mostly idling, nmh became actively developed again. 106 central concepts better and removing rough edges. On the historical
102 What a great result! 107 side, changes in the use cases and the features of email and reactions
103 Hence, while I was working on mmh, the community was working on nmh 108 to them are discussed. Socially, this document describes the effects
104 too. My own work went in parallel and mostly unrelated. 109 and experiences of a newcomer with revolutionary aims entering an old
110 and matured software projects and its community. Finally, philosophical
111 thoughts on style, mainly based to the Unix philosophy, are present
112 throughout the discussions.
105 .P 113 .P
106 Because of several circumstances, my experimental version is rather 114 This document is written for the community \(en developers and users \(en
107 a fork today, although this may change again in the future. 115 around MH-like mail systems.
116 First of all, the document shall propagade the design goals and
117 implementation decisions of mmh. But as well, it shall clarify my
118 perception of the
119 concepts of MH and Unix, and the therefrom resulting point of view.
120 Further more, the document shall explain this view on nmh and mmh.
121 Despite the focus on MH-like systems, this document can be useful
122 to anyone interested in the Unix philosophy, as well as anyone
123 involved in old software projects, be it code-related or community-related.
124 .P
125 The reader is expected to know Unix, C and email well. Good Unix shell
126 knowledge, including shell scripting, is required. MH relies fundamentally
127 on the shell. Without the power of the shell, MH becomes a motorbike
128 without winding roads.
129 Introductions to Unix and its shell can be found in XXX.
130 The reader is
131 expected to be familiar with the C programming language, although the
132 document should be quite readable without knowledge of C, too.
133 The book by Kernighan and Ritchie is the definitive guide to C.
134 Some book about system-level C programming is worthwile additional
135 literature. Rochkind and Curry have written such books.
136 As large parts of the code are old, old books are likely more helpful.
137 The format of email messages as well as the structure of email transfer
138 systems should be familiar to the reader, at least on a basic level.
139 It's advisable to have had, at least cross-read, the RFCs 821 and 822.
140 The book XXX introduces email well, too.
141 Frequent references to the Unix philosophy will be made.
142 Gancarz XXX had tried to sum the philosophy up. Even better but less
143 concrete is the literature by Kernighan and Pike XXX.
144 The term paper ``Why the Unix Philosophy still matters'' by myself
145 provides an overview on the topic, including a case study of MH.
108 146
109 147
110 .H1 "Organization" no 148 .U2 "Organization
111 .P 149 .P
112 This thesis is split into XXX chapters, ... 150 Which font for what use.
151 Meaning of `foo(1)'.
152 RFCs.
153 MH vs. nmh vs. mmh.
154 .P
155 This thesis is devided into XXX chapters, ...
113 .P 156 .P
114 .I Chapter 1 157 .I Chapter 1
115 introduces ... 158 introduces ...
116 .P 159 .P
117 .I Chapter 2 160 .I Chapter 2
119 .P 162 .P
120 .I Chapter 3 163 .I Chapter 3
121 covers ... 164 covers ...
122 165
123 166
124 .\" What audience is expected? 167 .U2 "Acknowledgments
125 .\" What will not be covered (delimitation).
126
127 .\" General required knowledge (C, email, ...)
128 .\" cf. Email Prerequisites in the Introduction.
129
130
131 .H1 "Conventions" no
132 .P
133 Which font for what use.
134 Meaning of `foo(1)'.
135 RFCs.
136 MH vs. nmh vs. mmh.
137
138
139 .H1 "Acknowledgments" no
140 .P 168 .P
141 To be written at the very end. 169 To be written at the very end.
142 170
143 171
144 .\" End or Preface. Start of the normal text. 172 .\" End or Preface. Start of the normal text.