Mercurial > docs > master
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. |