Mercurial > docs > master
annotate preface.roff @ 87:7d5b180de542
All kinds of rework plus new refs.
author | markus schnalke <meillo@marmaro.de> |
---|---|
date | Tue, 12 Jun 2012 18:04:55 +0200 |
parents | 7ca31b06b653 |
children | 3c4e5f0a7e7b |
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 |
87
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
4 I have discovered the mail client \fInmh\fP in Fall 2009. |
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
5 At that time I used \fImutt\fP, as many advanced Unix users do. |
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
6 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
|
7 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
|
8 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
|
9 \fImidnight commander\fP, |
87
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
10 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
|
11 Such a change is not trivial, but, in being convinced by the |
31 | 12 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
|
13 and editing already, it was not too difficult. |
51 | 14 In contrast, setting up nmh to a convenient state became a tedious task |
23 | 15 that took several months. |
28
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
16 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
|
17 because of its conceptional elegance and its scripting capabilities. |
87
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
18 Nevertheless, it still was inconvenient for handling attachments, |
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
19 non-ASCII character encodings, and similar features of modern emailing. |
31 | 20 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
|
21 to have nmh behave the way I wanted; yet my |
31 | 22 expectations were rather common for modern emailing. |
23 In being a computer scientist and programmer, | |
24 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
|
25 .P |
31 | 26 In Spring 2010, I asked on the \fInmh-workers\fP mailing list for the |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
27 possibility to offer a Google Summer of Code project for me. |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
28 Participating in the development of nmh this way appeared attractive to me, |
87
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
29 because I would have been able to work full time on nmh. |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
30 Although the nmh community had been generally positive on the suggestion, |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
31 the administrative work for a GSoC project had been to much to have |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
32 it realized. |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
33 Nontheless, my proposal had activated the nmh community. |
31 | 34 In the following weeks, goals for nmh's future were discussed. |
35 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
|
36 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
|
37 .[ |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
38 nmh-workers thread mta mua |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
39 .] |
87
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
40 I argued for the MTA of nmh to be removed. |
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
41 In this fundamental question, |
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
42 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
|
43 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
|
44 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
|
45 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
|
46 .P |
23 | 47 Half a year later, starting in August 2010, |
48 I took one semester off to travel through Latin America. | |
87
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
49 During my time in Argentina, I wanted to work on Free Software. |
23 | 50 This brought me back to nmh. |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
51 Richard Sandelman, an active nmh user, cared for the official basis. |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
52 Juan Granda, an argentine Free Software developer, |
87
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
53 provided a computer with Internet connection. |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
54 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
|
55 stay in Santiago del Estero, Argentina. |
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
56 Quickly it became obvious that I wouldn't succeed with my main goal, |
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
57 to improve the character encoding handling. |
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
58 (One of its ramifications is the |
7d5b180de542
All kinds of rework plus new refs.
markus schnalke <meillo@marmaro.de>
parents:
68
diff
changeset
|
59 missing transfer decoding of quoted text in replies.) |
23 | 60 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
|
61 was simply set too high. |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
62 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
|
63 I found minor bugs for which I proposed fixes. |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
64 In the same go, I improved the documentation in minor ways. |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
65 When I started with larger code changes, |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
66 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
|
67 Its wish for compatibility was much stronger than its |
31 | 68 wish for convenient out-of-the-box setups \(en in contrast to my opinion. |
52
f12b22b0e29a
Improvements by diction(1).
markus schnalke <meillo@marmaro.de>
parents:
51
diff
changeset
|
69 This led to long discussions, again. |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
70 I came to understand their point of view, but it was different to mine. |
23 | 71 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
|
72 nmh's code base and community, |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
73 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
|
74 and I still was convinced that I wanted to continue to do so. |
23 | 75 .P |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
76 Another half year later, the end of my studies came within reach. |
23 | 77 I needed a topic for my master's thesis. |
52
f12b22b0e29a
Improvements by diction(1).
markus schnalke <meillo@marmaro.de>
parents:
51
diff
changeset
|
78 No question, I wanted to work on nmh. |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
79 But well, not exactly on nmh, because I had accepted that the |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
80 nmh 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
|
81 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
|
82 little progress. |
23 | 83 After careful thought, I decided to start an experimental version of nmh. |
31 | 84 I wanted to implement my own ideas of how an MH-like system should look like. |
85 I wanted to create a usable alternative version to be compared with | |
86 the present state of nmh. | |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
87 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
|
88 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
|
89 |
30
d996f130e279
Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents:
28
diff
changeset
|
90 .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
|
91 .P |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
92 This document explains the design goals and implementation decisions |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
93 for mmh. |
31 | 94 It discusses technical, historical, social and philosophical considerations. |
95 On the technical side, this document | |
96 explains how an existing project was stream-lined by removing rough edges | |
97 and exploiting the central concepts better. | |
98 On the historical | |
99 side, changes through time in the use cases and the email features, | |
100 as well as the reactions to them, are discussed. | |
101 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
|
102 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
|
103 and matured software project. |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
104 Philosophical thoughts on style, mainly based to the Unix |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
105 philosophy, are present throughout the discussions. |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
106 The document describes the changes to nmh, |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
107 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
|
108 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
|
109 .P |
31 | 110 This document is written for the community around MH-like mail systems, |
111 including developers and users. | |
52
f12b22b0e29a
Improvements by diction(1).
markus schnalke <meillo@marmaro.de>
parents:
51
diff
changeset
|
112 Despite the focus on MH-like systems, this document is may be precious |
31 | 113 to anyone interested in the Unix philosophy and anyone in contact to |
114 old software projects, be it code or community-related. | |
23 | 115 .P |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
116 The reader is expected to be well familiar with Unix, C and emailing. |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
117 Good Unix shell knowledge is required, because MH relies fundamentally |
28
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
118 on the shell. Without the power of the shell, MH becomes a motorbike |
30
d996f130e279
Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents:
28
diff
changeset
|
119 without winding roads: boring. |
31 | 120 Introductions to Unix and its shell can be found in ``The UNIX Programming |
37 | 121 Environment'' by Kernighan and Pike |
122 .[ | |
123 kernighan pike unix prog env | |
124 .] | |
125 or ``The UNIX System'' by Bourne. | |
126 .[ | |
127 bourne unix system | |
128 .] | |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
129 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
|
130 but the document should be understandable otherwise, too. |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
131 The definitive guide to C is Kernighan and Ritchie's |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
132 ``The C Programming Language''. |
37 | 133 .[ |
134 kernighan ritchie c prog lang | |
135 .] | |
52
f12b22b0e29a
Improvements by diction(1).
markus schnalke <meillo@marmaro.de>
parents:
51
diff
changeset
|
136 Some book about system-level C programming can be helpful |
f12b22b0e29a
Improvements by diction(1).
markus schnalke <meillo@marmaro.de>
parents:
51
diff
changeset
|
137 additional literature. Rochkind and Curry have written such books. |
37 | 138 .[ |
139 rochkind advanced unix prog | |
140 .] | |
141 .[ | |
142 curry system prog | |
143 .] | |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
144 As large parts of the source code are old, |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
145 old books are likely more helpful for understanding. |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
146 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
|
147 the structure of email transfer systems, at least on a basic level. |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
148 It's advisable to have cross-read the RFCs 821 and 822. |
31 | 149 Further more, basic understanding of MIME is good to have. |
150 The Wikipedia provides good introduction-level information to email. | |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
151 .P |
28
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
152 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
|
153 Gancarz has tried to sum it up in his book |
34
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
154 ``The UNIX Philosophy''. |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
155 .[ |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
156 gancarz unix phil |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
157 .] |
47
eae5e50381ce
Rework in Preface and Intro.
markus schnalke <meillo@marmaro.de>
parents:
39
diff
changeset
|
158 Even better, though less concrete, are ``The UNIX Programming Environment'' |
34
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
159 .[ |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
160 kernighan pike unix prog env |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
161 .] |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
162 and ``The Practice of Programming'' |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
163 .[ |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
164 kernighan pike practice of prog |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
165 .] |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
166 by Kernighan and Pike. |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
167 The term paper ``Why the Unix Philosophy still matters'' |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
168 .[ |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
169 why unix phil still matters schnalke |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
170 .] |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
171 by myself |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
172 provides an overview on the philosophy, including a case study of MH. |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
173 .P |
30
d996f130e279
Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents:
28
diff
changeset
|
174 Although a brief introduction to MH is provided in Chapter 1, the reader |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
175 is encouraged to have a look at the \fIMH Book\fP |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
176 ``MH & nmh: Email for Users & Programmers'' by Jerry Peek. |
34
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
177 .[ |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
178 peek mh |
2fea9739507f
Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents:
31
diff
changeset
|
179 .] |
53
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
180 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
|
181 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
|
182 .P |
d996f130e279
Some rework and new text in the Preface.
markus schnalke <meillo@marmaro.de>
parents:
28
diff
changeset
|
183 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
|
184 to any of the topics covered. |
01d06ca2eb1b
Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents:
52
diff
changeset
|
185 The technical discussions are on an advanced level. |
52
f12b22b0e29a
Improvements by diction(1).
markus schnalke <meillo@marmaro.de>
parents:
51
diff
changeset
|
186 Nevertheless, as knowledge of the fundamental concepts is the most valuable |
51 | 187 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
|
188 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
|
189 |
3ef5449c1175
Moved text; wrote more text; removed ch02.roff.
markus schnalke <meillo@marmaro.de>
parents:
5
diff
changeset
|
190 |
28
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
191 .U2 "Organization |
0
dc2bfef4cda7
Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff
changeset
|
192 .P |
28
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
193 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
|
194 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
|
195 RFCs. |
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
196 .P |
68
7ca31b06b653
Preface: Added some lines about source code commit references.
markus schnalke <meillo@marmaro.de>
parents:
53
diff
changeset
|
197 References to source code repository commits are printed as |
7ca31b06b653
Preface: Added some lines about source code commit references.
markus schnalke <meillo@marmaro.de>
parents:
53
diff
changeset
|
198 .Ci 1a2b3c4 . |
7ca31b06b653
Preface: Added some lines about source code commit references.
markus schnalke <meillo@marmaro.de>
parents:
53
diff
changeset
|
199 They can be looked up with |
7ca31b06b653
Preface: Added some lines about source code commit references.
markus schnalke <meillo@marmaro.de>
parents:
53
diff
changeset
|
200 .Cl "git show XXX |
7ca31b06b653
Preface: Added some lines about source code commit references.
markus schnalke <meillo@marmaro.de>
parents:
53
diff
changeset
|
201 on the command line or |
7ca31b06b653
Preface: Added some lines about source code commit references.
markus schnalke <meillo@marmaro.de>
parents:
53
diff
changeset
|
202 online at |
7ca31b06b653
Preface: Added some lines about source code commit references.
markus schnalke <meillo@marmaro.de>
parents:
53
diff
changeset
|
203 .CW "http://git.marmaro.de/?p=mmh;a=commitdiff;h=XXX" , |
7ca31b06b653
Preface: Added some lines about source code commit references.
markus schnalke <meillo@marmaro.de>
parents:
53
diff
changeset
|
204 replacing `\f(CWXXX\fP' with the hash value. |
7ca31b06b653
Preface: Added some lines about source code commit references.
markus schnalke <meillo@marmaro.de>
parents:
53
diff
changeset
|
205 In this example: |
7ca31b06b653
Preface: Added some lines about source code commit references.
markus schnalke <meillo@marmaro.de>
parents:
53
diff
changeset
|
206 .Cl "git show 1a2b3c4 |
7ca31b06b653
Preface: Added some lines about source code commit references.
markus schnalke <meillo@marmaro.de>
parents:
53
diff
changeset
|
207 or |
7ca31b06b653
Preface: Added some lines about source code commit references.
markus schnalke <meillo@marmaro.de>
parents:
53
diff
changeset
|
208 .CW "http://git.marmaro.de/?p=mmh;a=commitdiff;h=1a2b3cd" . |
7ca31b06b653
Preface: Added some lines about source code commit references.
markus schnalke <meillo@marmaro.de>
parents:
53
diff
changeset
|
209 Whereas the code repository will probably be available on the Internet |
7ca31b06b653
Preface: Added some lines about source code commit references.
markus schnalke <meillo@marmaro.de>
parents:
53
diff
changeset
|
210 forever, a website URL is always at risk to change. |
7ca31b06b653
Preface: Added some lines about source code commit references.
markus schnalke <meillo@marmaro.de>
parents:
53
diff
changeset
|
211 .P |
51 | 212 This thesis is divided into XXX chapters, ... |
24
9be9b47eb52d
Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents:
23
diff
changeset
|
213 .P |
9be9b47eb52d
Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents:
23
diff
changeset
|
214 .I Chapter 1 |
9be9b47eb52d
Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents:
23
diff
changeset
|
215 introduces ... |
9be9b47eb52d
Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents:
23
diff
changeset
|
216 .P |
9be9b47eb52d
Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents:
23
diff
changeset
|
217 .I Chapter 2 |
9be9b47eb52d
Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents:
23
diff
changeset
|
218 describes ... |
9be9b47eb52d
Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents:
23
diff
changeset
|
219 .P |
9be9b47eb52d
Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents:
23
diff
changeset
|
220 .I Chapter 3 |
9be9b47eb52d
Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents:
23
diff
changeset
|
221 covers ... |
9be9b47eb52d
Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents:
23
diff
changeset
|
222 |
23 | 223 |
28
6c63083b4c19
Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents:
27
diff
changeset
|
224 .U2 "Acknowledgments |
23 | 225 .P |
24
9be9b47eb52d
Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents:
23
diff
changeset
|
226 To be written at the very end. |