Mercurial > docs > master
annotate preface.roff @ 227:157c92fc1597
Further improvements.
author | markus schnalke <meillo@marmaro.de> |
---|---|
date | Sun, 15 Jul 2012 23:44:15 +0200 |
parents | 1fa5a74bf138 |
children | 96778c1afc3e |
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 | 3 .P |
197
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
4 I have discovered the mail client \fInmh\fP |
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
5 in fall 2009. |
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
6 At that time I used \fImutt\fP, |
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
7 as many advanced Unix users do. |
87
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
8 When I read about nmh, its concepts convinced me at once. |
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
9 The transition from mutt to nmh was similar to beginning with |
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
10 file management in the Unix shell when being used to the |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
11 \fImidnight commander\fP, |
87
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
12 or like starting with vi when being used to modeless editors. |
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
13 Such a change is not trivial, but, in being convinced by the |
31 | 14 concepts and by having done similar transitions for file management |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
15 and editing already, it was not too difficult. |
51 | 16 In contrast, setting up nmh to a convenient state became a tedious task |
23 | 17 that took several months. |
164
5c01017be420
Reacted to suggestions by Aaron Mueller.
markus schnalke <meillo@marmaro.de>
parents:
159
diff
changeset
|
18 Once having nmh arranged this way, I enjoyed using it |
28
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
19 because of its conceptional elegance and its scripting capabilities. |
106
3c4e5f0a7e7b
Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents:
87
diff
changeset
|
20 Nevertheless, it was still inconvenient for handling attachments, |
87
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
21 non-ASCII character encodings, and similar features of modern emailing. |
31 | 22 My setup demanded more and more additional configuration and helper scripts |
87
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
23 to have nmh behave the way I wanted; yet my |
31 | 24 expectations were rather common for modern emailing. |
106
3c4e5f0a7e7b
Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents:
87
diff
changeset
|
25 As a computer scientist and programmer, 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
|
26 .P |
197
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
27 In spring 2010, I sent a message |
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
28 .[ |
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
29 nmh-workers gsoc |
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
30 .] |
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
31 to the \fInmh-workers\fP mailing list, |
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
32 .[ |
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
33 nmh-workers mailing list website |
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
34 .] |
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
35 asking for the possibility to offer a Google Summer of Code |
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
36 .[ |
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
37 google summer of code website |
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
38 .] |
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
39 project for me. |
106
3c4e5f0a7e7b
Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents:
87
diff
changeset
|
40 Participating in the development of nmh in this manner appeared attractive |
3c4e5f0a7e7b
Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents:
87
diff
changeset
|
41 to me, because I would have been able to work full time on nmh. |
3c4e5f0a7e7b
Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents:
87
diff
changeset
|
42 Although the nmh community had reacted generally positive to the suggestion, |
171
346ff7e201f5
Applied suggestions by Boris.
markus schnalke <meillo@marmaro.de>
parents:
164
diff
changeset
|
43 the administrative work for such a project would had been too much. |
106
3c4e5f0a7e7b
Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents:
87
diff
changeset
|
44 Nonetheless, my proposal had activated the nmh community. |
31 | 45 In the following weeks, goals for nmh's future were discussed. |
46 In these discussions, I became involved in the | |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
47 question whether nmh should include mail transfer facilities. |
34
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
48 .[ |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
49 nmh-workers thread mta mua |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
50 .] |
197
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
51 I argued for the Mail Transfer Agent of nmh to be removed. |
87
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
52 In this fundamental question, |
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
53 my opinion differed from the opinion of most others. |
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
54 Sadly, besides the discussions, hardly any real work was done. |
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
55 Being unable to work on nmh in a way that would be accepted at university |
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
56 as part of my 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
|
57 .P |
23 | 58 Half a year later, starting in August 2010, |
59 I took one semester off to travel through Latin America. | |
173
4c7db172fb59
Various corrections and improvements.
markus schnalke <meillo@marmaro.de>
parents:
171
diff
changeset
|
60 During my time in Argentina, I wanted to work on free software. |
23 | 61 This brought me back to nmh. |
159
8b411125645d
Corrections and improvements by Kate, Phil, Matou, Michi, Lydi.
markus schnalke <meillo@marmaro.de>
parents:
146
diff
changeset
|
62 Richard Sandelman, an active nmh user, took care of the official basis. |
173
4c7db172fb59
Various corrections and improvements.
markus schnalke <meillo@marmaro.de>
parents:
171
diff
changeset
|
63 Juan Granda, an Argentine free software developer, |
197
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
64 organized a computer with Internet connection. |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
65 Thanks to them, I was able to work on nmh during my three-month |
87
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
66 stay in Santiago del Estero, Argentina. |
106
3c4e5f0a7e7b
Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents:
87
diff
changeset
|
67 Quickly it became obvious that I would not succeed with my main goal, |
87
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
68 to improve the character encoding handling. |
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
69 (One of its ramifications is the |
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
70 missing transfer decoding of quoted text in replies.) |
23 | 71 As this is one of the most intricate parts of the system, the goal |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
72 was simply set too high. |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
73 Instead, I improved the code base as I read through it. |
87
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
74 I found minor bugs for which I proposed fixes. |
171
346ff7e201f5
Applied suggestions by Boris.
markus schnalke <meillo@marmaro.de>
parents:
164
diff
changeset
|
75 Additionally, I improved the documentation in minor ways. |
197
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
76 When I started to work on larger code changes, |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
77 I had to discover that the community was reluctant to change. |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
78 Its wish for compatibility was much stronger than its |
31 | 79 wish for convenient out-of-the-box setups \(en in contrast to my opinion. |
212
9317d789cef9
Various improvements and rework.
markus schnalke <meillo@marmaro.de>
parents:
200
diff
changeset
|
80 Once again, this led to long discussions. |
9317d789cef9
Various improvements and rework.
markus schnalke <meillo@marmaro.de>
parents:
200
diff
changeset
|
81 I came to understand their point of view, but it is different from mine. |
23 | 82 At the end of my three-month project, I had become familiar with |
87
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
83 nmh's code base and community, |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
84 I had improved the project in minor ways, |
87
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
85 and I still was convinced that I wanted to continue to do so. |
23 | 86 .P |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
87 Another half year later, the end of my studies came within reach. |
197
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
88 I needed to choose a topic for my master's thesis. |
106
3c4e5f0a7e7b
Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents:
87
diff
changeset
|
89 Without question, I wanted to work on nmh. |
3c4e5f0a7e7b
Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents:
87
diff
changeset
|
90 But not exactly on nmh, because I had accepted that its |
3c4e5f0a7e7b
Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents:
87
diff
changeset
|
91 community has different goals than I have. |
87
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
92 Working on nmh would result in much discussion and, in consequence, |
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
93 little progress. |
23 | 94 After careful thought, I decided to start an experimental version of nmh. |
197
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
95 I wanted to implement my own ideas of how an MH-like system should |
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
96 look like. |
31 | 97 I wanted to create a usable alternative version to be compared with |
98 the present state of nmh. | |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
99 Eventually, my work would be proven successful or not. |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
100 In any case, the nmh project 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
|
101 |
30
d996f130e279
Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents:
28
diff
changeset
|
102 .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
|
103 .P |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
104 This document explains the design goals and implementation decisions |
197
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
105 for mmh, |
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
106 an experimental version of nmh. |
31 | 107 It discusses technical, historical, social and philosophical considerations. |
108 On the technical side, this document | |
125
0e102cec0c73
s/stream-line/streamline/; s/motorbike/motorcycle/
markus schnalke <meillo@marmaro.de>
parents:
106
diff
changeset
|
109 explains how an existing project was streamlined by removing rough edges |
106
3c4e5f0a7e7b
Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents:
87
diff
changeset
|
110 and better exploitation of the central concepts. |
3c4e5f0a7e7b
Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents:
87
diff
changeset
|
111 On the historical side, changes through time are discussed, |
3c4e5f0a7e7b
Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents:
87
diff
changeset
|
112 regarding the use cases and the email features, |
3c4e5f0a7e7b
Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents:
87
diff
changeset
|
113 as well as the reactions to them. |
31 | 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 |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
116 and matured software project. |
106
3c4e5f0a7e7b
Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents:
87
diff
changeset
|
117 Philosophical thoughts on style, mainly based on the Unix |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
118 philosophy, are present throughout the discussions. |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
119 The document describes the changes to nmh, |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
120 but as well, it clarifies my personal perception of the |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
121 concepts of MH and Unix, and explain my therefrom resulting point of view. |
8
3ef5449c1175
Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents:
5
diff
changeset
|
122 .P |
31 | 123 This document is written for the community around MH-like mail systems, |
124 including developers and users. | |
106
3c4e5f0a7e7b
Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents:
87
diff
changeset
|
125 Despite the focus on MH-like systems, this document may be valuable |
3c4e5f0a7e7b
Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents:
87
diff
changeset
|
126 to anyone interested in the Unix philosophy and anyone in contact with |
3c4e5f0a7e7b
Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents:
87
diff
changeset
|
127 old software projects, be it code- or community-related. |
23 | 128 .P |
106
3c4e5f0a7e7b
Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents:
87
diff
changeset
|
129 The reader is expected to be familiar with Unix, C and emailing. |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
130 Good Unix shell knowledge is required, because MH relies fundamentally |
197
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
131 on the shell. |
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
132 Without the power of the shell, MH becomes a motorcycle |
30
d996f130e279
Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents:
28
diff
changeset
|
133 without winding roads: boring. |
181
eb6eeb10afd5
Various stuff: Checked quotes, s/further more/furthermore/, etc
markus schnalke <meillo@marmaro.de>
parents:
173
diff
changeset
|
134 Introductions to Unix and its shell can be found in \fIThe UNIX Programming |
eb6eeb10afd5
Various stuff: Checked quotes, s/further more/furthermore/, etc
markus schnalke <meillo@marmaro.de>
parents:
173
diff
changeset
|
135 Environment\fP by Kernighan and Pike |
37 | 136 .[ |
137 kernighan pike unix prog env | |
138 .] | |
181
eb6eeb10afd5
Various stuff: Checked quotes, s/further more/furthermore/, etc
markus schnalke <meillo@marmaro.de>
parents:
173
diff
changeset
|
139 or \fIThe UNIX System\fP by Bourne. |
37 | 140 .[ |
141 bourne unix system | |
142 .] | |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
143 The reader is assumed to be a C programmer, |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
144 but the document should be understandable otherwise, too. |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
145 The definitive guide to C is Kernighan and Ritchie's |
181
eb6eeb10afd5
Various stuff: Checked quotes, s/further more/furthermore/, etc
markus schnalke <meillo@marmaro.de>
parents:
173
diff
changeset
|
146 \fIThe C Programming Language\fP. |
37 | 147 .[ |
148 kernighan ritchie c prog lang | |
149 .] | |
164
5c01017be420
Reacted to suggestions by Aaron Mueller.
markus schnalke <meillo@marmaro.de>
parents:
159
diff
changeset
|
150 A book about system-level C programming, such as those written by |
5c01017be420
Reacted to suggestions by Aaron Mueller.
markus schnalke <meillo@marmaro.de>
parents:
159
diff
changeset
|
151 Rochkind and Curry, |
37 | 152 .[ |
153 rochkind advanced unix prog | |
154 .] | |
155 .[ | |
156 curry system prog | |
157 .] | |
164
5c01017be420
Reacted to suggestions by Aaron Mueller.
markus schnalke <meillo@marmaro.de>
parents:
159
diff
changeset
|
158 can be helpful as additional literature. |
106
3c4e5f0a7e7b
Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents:
87
diff
changeset
|
159 Old books are likely more helpful for understanding, |
3c4e5f0a7e7b
Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents:
87
diff
changeset
|
160 because large parts of the source code are old. |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
161 The reader is expected to know the format of email messages and |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
162 the structure of email transfer systems, at least on a basic level. |
197
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
163 It's advisable to have cross-read RFC\|821 and RFC\|822. |
212
9317d789cef9
Various improvements and rework.
markus schnalke <meillo@marmaro.de>
parents:
200
diff
changeset
|
164 Furthermore, basic understanding of MIME [RFC\|2045\(en2049] |
197
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
165 is good to have. |
106
3c4e5f0a7e7b
Included (English language) corrections by Kate.
markus schnalke <meillo@marmaro.de>
parents:
87
diff
changeset
|
166 The Wikipedia provides good introduction-level information about email. |
197
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
167 .[ |
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
168 wikipedia email |
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
169 .] |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
170 .P |
28
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
171 Frequent references to the Unix philosophy will be made. |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
172 Gancarz has tried to sum it up in his book |
181
eb6eeb10afd5
Various stuff: Checked quotes, s/further more/furthermore/, etc
markus schnalke <meillo@marmaro.de>
parents:
173
diff
changeset
|
173 \fIThe UNIX Philosophy\fP. |
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 gancarz unix phil |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
176 .] |
181
eb6eeb10afd5
Various stuff: Checked quotes, s/further more/furthermore/, etc
markus schnalke <meillo@marmaro.de>
parents:
173
diff
changeset
|
177 Even better, though less concrete, are \fIThe UNIX Programming |
eb6eeb10afd5
Various stuff: Checked quotes, s/further more/furthermore/, etc
markus schnalke <meillo@marmaro.de>
parents:
173
diff
changeset
|
178 Environment\fP |
34
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
179 .[ |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
180 kernighan pike unix prog env |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
181 .] |
181
eb6eeb10afd5
Various stuff: Checked quotes, s/further more/furthermore/, etc
markus schnalke <meillo@marmaro.de>
parents:
173
diff
changeset
|
182 and \fIThe Practice of Programming\fP |
34
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
183 .[ |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
184 kernighan pike practice of prog |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
185 .] |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
186 by Kernighan and Pike. |
181
eb6eeb10afd5
Various stuff: Checked quotes, s/further more/furthermore/, etc
markus schnalke <meillo@marmaro.de>
parents:
173
diff
changeset
|
187 The term paper \fIWhy the Unix Philosophy still matters\fP |
34
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
188 .[ |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
189 why unix phil still matters schnalke |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
190 .] |
197
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
191 by myself provides an overview on the philosophy, |
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
192 including a case study of MH. |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
193 .P |
197
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
194 Although a brief introduction to MH is provided in Section |
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
195 .Cf mh , |
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
196 the reader is encouraged to have a look at |
181
eb6eeb10afd5
Various stuff: Checked quotes, s/further more/furthermore/, etc
markus schnalke <meillo@marmaro.de>
parents:
173
diff
changeset
|
197 \fIMH & nmh: Email for Users & Programmers\fP by Jerry Peek. |
34
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
198 .[ |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
199 peek mh |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
200 .] |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
201 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
|
202 It is the definitive guide to MH and nmh. |
d996f130e279
Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents:
28
diff
changeset
|
203 .P |
d996f130e279
Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents:
28
diff
changeset
|
204 This document is neither a user's tutorial to mmh nor an introduction |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
205 to any of the topics covered. |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
206 The technical discussions are on an advanced level. |
52
f12b22b0e29a
Improvements by diction(1).
markus schnalke <meillo@marmaro.de>
parents:
51
diff
changeset
|
207 Nevertheless, as knowledge of the fundamental concepts is the most valuable |
51 | 208 information a user can acquire about some program or software system, |
52
f12b22b0e29a
Improvements by diction(1).
markus schnalke <meillo@marmaro.de>
parents:
51
diff
changeset
|
209 this document may 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
|
210 |
3ef5449c1175
Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents:
5
diff
changeset
|
211 |
28
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
212 .U2 "Organization |
0
dc2bfef4cda7
Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff
changeset
|
213 .P |
143
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
214 This thesis consists of three chapters. |
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
215 Chapter 1 introduces into the topic, describing MH and explaining |
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
216 the background and goals of the mmh project. |
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
217 Chapter 2 discusses the work done in the project. |
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
218 It is organized along the three major goals of the project, namely |
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
219 streamlining, modernizing, and styling. |
164
5c01017be420
Reacted to suggestions by Aaron Mueller.
markus schnalke <meillo@marmaro.de>
parents:
159
diff
changeset
|
220 Not every change is described because that would bore the reader. |
143
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
221 Instead, important changes and those standing for a set of similar |
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
222 changes are described and discussed. |
200 | 223 Chapter 3 finishes up by summarizing the achievements and taking |
164
5c01017be420
Reacted to suggestions by Aaron Mueller.
markus schnalke <meillo@marmaro.de>
parents:
159
diff
changeset
|
224 a look into the future of the mmh project. |
143
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
225 .P |
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
226 .I "Italic font |
197
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
227 is used to emphasize new terms, and for names of software projects, |
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
228 literature, and man pages. |
143
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
229 .CW "Constant width font |
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
230 is used to denote names of programs, files, |
200 | 231 functions, command lines, code excerpts, program input and output. |
28
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
232 .P |
143
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
233 References to man pages are printed as ``\c |
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
234 .Mp cat (1)''. |
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
235 In this case it is a reference to the man page of |
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
236 .Pn cat , |
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
237 which is in section one of the Unix manual. |
212
9317d789cef9
Various improvements and rework.
markus schnalke <meillo@marmaro.de>
parents:
200
diff
changeset
|
238 \fIRequests for Comments\fP (RFCs), which describe the working |
9317d789cef9
Various improvements and rework.
markus schnalke <meillo@marmaro.de>
parents:
200
diff
changeset
|
239 of the Internet, are referenced as ``RFC\|821''. |
143
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
240 A list of relevant RFCs is located at the end of the document. |
200 | 241 Literature is cited in brackets, such as |
143
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
242 .[ ``[ |
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
243 kernighan pike unix programming env |
197
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
244 .]]''. |
212
9317d789cef9
Various improvements and rework.
markus schnalke <meillo@marmaro.de>
parents:
200
diff
changeset
|
245 Citations of email messages and websites are distinguished by |
9317d789cef9
Various improvements and rework.
markus schnalke <meillo@marmaro.de>
parents:
200
diff
changeset
|
246 ``mail:'' and ``web:'' prefixes. |
197
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
247 All references are collected at the end of the document. |
223
1fa5a74bf138
Reworked References structure: Collect them all in one Chapter.
markus schnalke <meillo@marmaro.de>
parents:
213
diff
changeset
|
248 The websites of the software projects mentioned are collected |
1fa5a74bf138
Reworked References structure: Collect them all in one Chapter.
markus schnalke <meillo@marmaro.de>
parents:
213
diff
changeset
|
249 in a list in the appendix. |
143
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
250 .P |
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
251 This document describes practical programming work. |
197
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
252 The code of mmh is managed with the |
143
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
253 .Pn git |
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
254 version control system. |
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
255 All code changes were checked in. |
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
256 In the discussions, references to corresponding code changes are printed |
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
257 as ``\c |
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
258 .Ci 1a2b3c4 ''. |
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
259 The identifier is the seven-letter-prefix of the changeset hash value, |
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
260 which is considered unique. |
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
261 A change can be looked up in the repository, on the command line with |
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
262 .Cl "git show XXX" , |
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
263 replacing `\f(CWXXX\fP' with the concrete hash value or any unique prefix. |
68
7ca31b06b653
Preface: Added some lines about source code commit references.
markus schnalke <meillo@marmaro.de>
parents:
53
diff
changeset
|
264 In this example: |
143
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
265 .Cl "git show 1a2b3c4" . |
197
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
266 At the time of writing, changesets can be looked up online at: |
143
996c4ac500df
preface: Wrote about the organization of the document.
markus schnalke <meillo@marmaro.de>
parents:
125
diff
changeset
|
267 .CW "http://git.marmaro.de/?p=mmh;a=commitdiff;h=XXX" . |
146
f37ad952cf78
preface: Tiny change in wording.
markus schnalke <meillo@marmaro.de>
parents:
143
diff
changeset
|
268 But as we all know, URIs are always at risk to change. |
197
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
269 .P |
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
270 Whenever lines of code were determined, David A. Wheeler's \fIsloccount\fP |
05a243dffaca
Added refs to the Preface; splitted the bib.
markus schnalke <meillo@marmaro.de>
parents:
181
diff
changeset
|
271 was used to measure the amount in a comparable way. |
24
9be9b47eb52d
Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents:
23
diff
changeset
|
272 |
23 | 273 |
28
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
274 .U2 "Acknowledgments |
23 | 275 .P |
223
1fa5a74bf138
Reworked References structure: Collect them all in one Chapter.
markus schnalke <meillo@marmaro.de>
parents:
213
diff
changeset
|
276 .\"so thanks |