comparison preface.roff @ 52:f12b22b0e29a

Improvements by diction(1).
author markus schnalke <meillo@marmaro.de>
date Sun, 20 May 2012 12:11:42 +0200
parents 49cf68506b5d
children 01d06ca2eb1b
comparison
equal deleted inserted replaced
51:49cf68506b5d 52:f12b22b0e29a
8 This thesis describes an experimental version of nmh, named \fImmh\fP. 8 This thesis describes an experimental version of nmh, named \fImmh\fP.
9 9
10 .U2 "Background to this Thesis 10 .U2 "Background to this Thesis
11 .P 11 .P
12 I have discovered nmh in September 2009. At that time I used to use the 12 I have discovered nmh in September 2009. At that time I used to use the
13 mail client \fImutt\fP, like many advanced Unix users do. 13 mail client \fImutt\fP, as many advanced Unix users do.
14 As I read about nmh, its concepts had convinced me at once. 14 As I read about nmh, its concepts had convinced me at once.
15 Learning its different model of email handling had been relatively easy, 15 Learning its different model of email handling had been relatively easy,
16 because my starting situation was being convinced of the concepts. 16 because my starting situation was being convinced of the concepts.
17 The transition from mutt to nmh was similar to 17 The transition from mutt to nmh was similar to
18 managing files in the Unix shell when being used to graphical file 18 managing files in the Unix shell when being used to graphical file
19 managers, or like editing with vi when being used to modeless editors. 19 managers, or like editing with vi when being used to modeless editors.
20 Such a change is not trivial, but in being convinced by the 20 Such a change is not trivial, but in being convinced by the
21 concepts and by having done similar transitions for file management 21 concepts and by having done similar transitions for file management
22 and editing already, it was not too difficult neither. 22 and editing already, it was neither too difficult.
23 In contrast, setting up nmh to a convenient state became a tedious task 23 In contrast, setting up nmh to a convenient state became a tedious task
24 that took several months. 24 that took several months.
25 .P 25 .P
26 Once having nmh arranged to a convenient state, I enjoyed using it 26 Once having nmh arranged to a convenient state, I enjoyed using it
27 because of its conceptional elegance and its scripting capabilities. 27 because of its conceptional elegance and its scripting capabilities.
28 On the other hand, however, it still was 28 On the other hand, nevertheless, it still was
29 inconvenient for handling attachments, non-ASCII character encodings, 29 inconvenient for handling attachments, non-ASCII character encodings,
30 and similar features of modern emailing. 30 and similar features of modern emailing.
31 My setup demanded more and more additional configuration and helper scripts 31 My setup demanded more and more additional configuration and helper scripts
32 to get nmh behave the way I wanted, although my 32 to get nmh behave the way I wanted, although my
33 expectations were rather common for modern emailing. 33 expectations were rather common for modern emailing.
35 I wanted to improve the situation. 35 I wanted to improve the situation.
36 .P 36 .P
37 In Spring 2010, I asked on the \fInmh-workers\fP mailing list for the 37 In Spring 2010, I asked on the \fInmh-workers\fP mailing list for the
38 possibility to offer a Google Summer of Code project. 38 possibility to offer a Google Summer of Code project.
39 Participating in the development this way appeared attractive to me, 39 Participating in the development this way appeared attractive to me,
40 as it would have been possible to have the project 40 because it would have been possible to have the project
41 accepted at university. Although generally the nmh community 41 accepted at university. Although generally the nmh community
42 had been positive on the 42 had been positive on the
43 suggestion, the administrative work had been to much, eventually. 43 suggestion, the administrative work had been to much, eventually.
44 But my proposal had activated the nmh community. 44 But my proposal had activated the nmh community.
45 In the following weeks, goals for nmh's future were discussed. 45 In the following weeks, goals for nmh's future were discussed.
74 for which I proposed fixes to the community. In the same go, I 74 for which I proposed fixes to the community. In the same go, I
75 improved the documentation in minor ways. When I started with 75 improved the documentation in minor ways. When I started with
76 larger code changes, I had to discover that the community was reluctant 76 larger code changes, I had to discover that the community was reluctant
77 to change. Its wish for compatibility was much stronger than its 77 to change. Its wish for compatibility was much stronger than its
78 wish for convenient out-of-the-box setups \(en in contrast to my opinion. 78 wish for convenient out-of-the-box setups \(en in contrast to my opinion.
79 This lead to long discussions, again. 79 This led to long discussions, again.
80 I came to understand their point of view, but it is different to mine. 80 I came to understand their point of view, but it is different to mine.
81 At the end of my three-month project, I had become familiar with 81 At the end of my three-month project, I had become familiar with
82 nmh's code base and community. I had improved the project in minor ways, 82 nmh's code base and community. I had improved the project in minor ways,
83 and I still was convinced that I wanted to go on to do so. 83 and I still was convinced that I wanted to go on to do so.
84 .P 84 .P
85 Another half a year later, the end of my studies came within reach. 85 Another half a year later, the end of my studies came within reach.
86 I needed a topic for my master's thesis. 86 I needed a topic for my master's thesis.
87 There was no question: I wanted to work on nmh. 87 No question, I wanted to work on nmh.
88 But well, not exactly on nmh, 88 But well, not exactly on nmh,
89 because I had accepted that the nmh community has different goals 89 because I had accepted that the nmh community has different goals
90 than I have. This would result in much discussion and thus little progress. 90 than I have. This would result in much discussion and thus little progress.
91 After careful thought, I decided to start an experimental version of nmh. 91 After careful thought, I decided to start an experimental version of nmh.
92 I wanted to implement my own ideas of how an MH-like system should look like. 92 I wanted to implement my own ideas of how an MH-like system should look like.
114 Finally, philosophical thoughts on style, mainly based to the Unix philosophy, 114 Finally, philosophical thoughts on style, mainly based to the Unix philosophy,
115 are present throughout the discussions. 115 are present throughout the discussions.
116 .P 116 .P
117 This document is written for the community around MH-like mail systems, 117 This document is written for the community around MH-like mail systems,
118 including developers and users. 118 including developers and users.
119 First of all, the document shall explain the design goals and 119 First, the document explains the design goals and
120 implementation decisions for mmh. But as well, it shall clarify my 120 implementation decisions for mmh. But as well, it clarifies my
121 personal perception of the 121 personal perception of the
122 concepts of MH and Unix, and explain my therefrom resulting point of view. 122 concepts of MH and Unix, and explain my therefrom resulting point of view.
123 Despite the focus on MH-like systems, this document may be worthwhile 123 Despite the focus on MH-like systems, this document is may be precious
124 to anyone interested in the Unix philosophy and anyone in contact to 124 to anyone interested in the Unix philosophy and anyone in contact to
125 old software projects, be it code or community-related. 125 old software projects, be it code or community-related.
126 .P 126 .P
127 The reader is expected to have good knowledge of Unix, C and emailing. 127 The reader is expected to have good knowledge of Unix, C and emailing.
128 Good Unix shell 128 Good Unix shell
144 ``The C Programming Language'' by Kernighan and Ritchie 144 ``The C Programming Language'' by Kernighan and Ritchie
145 .[ 145 .[
146 kernighan ritchie c prog lang 146 kernighan ritchie c prog lang
147 .] 147 .]
148 is the definitive guide to C. 148 is the definitive guide to C.
149 Some book about system-level C programming is worthwhile additional 149 Some book about system-level C programming can be helpful
150 literature. Rochkind and Curry have written such books. 150 additional literature. Rochkind and Curry have written such books.
151 .[ 151 .[
152 rochkind advanced unix prog 152 rochkind advanced unix prog
153 .] 153 .]
154 .[ 154 .[
155 curry system prog 155 curry system prog
191 The current version is available freely on the Internet. 191 The current version is available freely on the Internet.
192 .P 192 .P
193 This document is neither a user's tutorial to mmh nor an introduction 193 This document is neither a user's tutorial to mmh nor an introduction
194 to any of the topics covered. It discusses Unix, email 194 to any of the topics covered. It discusses Unix, email
195 and system design on an advanced level. 195 and system design on an advanced level.
196 However, as knowledge of the fundamental concepts is the most valuable 196 Nevertheless, as knowledge of the fundamental concepts is the most valuable
197 information a user can acquire about some program or software system, 197 information a user can acquire about some program or software system,
198 this document might be worth a read for non-developers as well. 198 this document may be worth a read for non-developers as well.
199 199
200 200
201 .U2 "Organization 201 .U2 "Organization
202 .P 202 .P
203 Which font for what use. 203 Which font for what use.