annotate preface.roff @ 55:89e7a32d1f10

bib: Added yet missing refs.
author markus schnalke <meillo@marmaro.de>
date Sun, 20 May 2012 21:46:00 +0200
parents 01d06ca2eb1b
children 7ca31b06b653
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
3 .P
53
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 52
diff changeset
4 I have discovered the mail client \fInmh\fP in September 2009.
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 52
diff changeset
5 At that time I used to use \fImutt\fP, as many advanced Unix users do.
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 52
diff changeset
6 When I read about nmh, its concepts had convinced me at once.
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
7 The transition from mutt to nmh was similar to
53
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 52
diff changeset
8 managing files in the Unix shell when being used to the
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 52
diff changeset
9 \fImidnight commander\fP,
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 52
diff changeset
10 or like editing with vi when being used to modeless editors.
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
11 Such a change is not trivial, but in being convinced by the
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
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
49cf68506b5d Spell checking.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
14 In contrast, setting up nmh to a convenient state became a tedious task
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
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.
52
f12b22b0e29a Improvements by diction(1).
markus schnalke <meillo@marmaro.de>
parents: 51
diff changeset
18 On the other hand, nevertheless, it still was
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
19 inconvenient for handling attachments, non-ASCII character encodings,
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
20 and similar features of modern emailing.
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
21 My setup demanded more and more additional configuration and helper scripts
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
22 to get nmh behave the way I wanted, although my
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
23 expectations were rather common for modern emailing.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
24 In being a computer scientist and programmer,
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
25 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
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
27 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
28 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
29 Participating in the development of nmh this way appeared attractive to me,
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 52
diff changeset
30 because I would have been able to work full time on nmh as the project
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 52
diff changeset
31 could have been part of my official studies at university.
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 52
diff changeset
32 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
33 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
34 it realized.
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 52
diff changeset
35 Nontheless, my proposal had activated the nmh community.
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
36 In the following weeks, goals for nmh's future were discussed.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
37 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
38 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
39 .[
2fea9739507f Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents: 31
diff changeset
40 nmh-workers thread mta mua
2fea9739507f Added some refs to the preface.
markus schnalke <meillo@marmaro.de>
parents: 31
diff changeset
41 .]
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
42 In this central point, my opinion differed from the opinion of most others.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
43 I argued for the MTA facility of nmh to be removed.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
44 Besides the discussions, hardly any real work was done.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
45 Being unable to work on nmh in a way that would be
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
46 accepted as part of my official 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
47 .P
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
48 Half a year later, starting in August 2010,
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
49 I took one semester off to travel through Latin America.
53
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 52
diff changeset
50 During my time in Argentina, I planned to work on Free Software.
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
51 This brought me back to nmh.
53
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 52
diff changeset
52 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
53 Juan Granda, an argentine Free Software developer,
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 52
diff changeset
54 provided a computer with Internet connection for my work.
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 52
diff changeset
55 Thanks to them, I was able to work on nmh during my three-month
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 52
diff changeset
56 stay in Santiago del Estero in Argentina.
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 52
diff changeset
57 Quickly it became obvious that I wouldn't succeed with my main goal:
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 52
diff changeset
58 improving the character encoding handling within the project.
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 52
diff changeset
59 One of its ramifications is the
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
60 missing transfer decoding of quoted text in replies.
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
61 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
62 was simply set too high.
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 52
diff changeset
63 Instead, I improved the code base as I read through it.
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 52
diff changeset
64 I found minor bugs for which I proposed fixes to the community.
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 52
diff changeset
65 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
66 When I started with larger code changes,
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 52
diff changeset
67 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
68 Its wish for compatibility was much stronger than its
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
69 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
70 This led to long discussions, again.
53
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 52
diff changeset
71 I came to understand their point of view, but it was different to mine.
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
72 At the end of my three-month project, I had become familiar with
53
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 52
diff changeset
73 nmh's code base and community.
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 52
diff changeset
74 I had improved the project in minor ways,
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
75 and I still was convinced that I wanted to go on to do so.
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
76 .P
53
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 52
diff changeset
77 Another half year later, the end of my studies came within reach.
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
78 I needed a topic for my master's thesis.
52
f12b22b0e29a Improvements by diction(1).
markus schnalke <meillo@marmaro.de>
parents: 51
diff changeset
79 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
80 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
81 nmh community has different goals than I have.
01d06ca2eb1b Rework based on comments by Lydi.
markus schnalke <meillo@marmaro.de>
parents: 52
diff changeset
82 This would result in much discussion and thus little progress.
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
83 After careful thought, I decided to start an experimental version of nmh.
31
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
84 I wanted to implement my own ideas of how an MH-like system should look like.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
85 I wanted to create a usable alternative version to be compared with
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
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
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
94 It discusses technical, historical, social and philosophical considerations.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
95 On the technical side, this document
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
96 explains how an existing project was stream-lined by removing rough edges
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
97 and exploiting the central concepts better.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
98 On the historical
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
99 side, changes through time in the use cases and the email features,
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
100 as well as the reactions to them, are discussed.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
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
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
110 This document is written for the community around MH-like mail systems,
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
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
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
113 to anyone interested in the Unix philosophy and anyone in contact to
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
114 old software projects, be it code or community-related.
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
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
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
120 Introductions to Unix and its shell can be found in ``The UNIX Programming
37
83b1481dda93 More refs.
markus schnalke <meillo@marmaro.de>
parents: 34
diff changeset
121 Environment'' by Kernighan and Pike
83b1481dda93 More refs.
markus schnalke <meillo@marmaro.de>
parents: 34
diff changeset
122 .[
83b1481dda93 More refs.
markus schnalke <meillo@marmaro.de>
parents: 34
diff changeset
123 kernighan pike unix prog env
83b1481dda93 More refs.
markus schnalke <meillo@marmaro.de>
parents: 34
diff changeset
124 .]
83b1481dda93 More refs.
markus schnalke <meillo@marmaro.de>
parents: 34
diff changeset
125 or ``The UNIX System'' by Bourne.
83b1481dda93 More refs.
markus schnalke <meillo@marmaro.de>
parents: 34
diff changeset
126 .[
83b1481dda93 More refs.
markus schnalke <meillo@marmaro.de>
parents: 34
diff changeset
127 bourne unix system
83b1481dda93 More refs.
markus schnalke <meillo@marmaro.de>
parents: 34
diff changeset
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
83b1481dda93 More refs.
markus schnalke <meillo@marmaro.de>
parents: 34
diff changeset
133 .[
83b1481dda93 More refs.
markus schnalke <meillo@marmaro.de>
parents: 34
diff changeset
134 kernighan ritchie c prog lang
83b1481dda93 More refs.
markus schnalke <meillo@marmaro.de>
parents: 34
diff changeset
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
83b1481dda93 More refs.
markus schnalke <meillo@marmaro.de>
parents: 34
diff changeset
138 .[
83b1481dda93 More refs.
markus schnalke <meillo@marmaro.de>
parents: 34
diff changeset
139 rochkind advanced unix prog
83b1481dda93 More refs.
markus schnalke <meillo@marmaro.de>
parents: 34
diff changeset
140 .]
83b1481dda93 More refs.
markus schnalke <meillo@marmaro.de>
parents: 34
diff changeset
141 .[
83b1481dda93 More refs.
markus schnalke <meillo@marmaro.de>
parents: 34
diff changeset
142 curry system prog
83b1481dda93 More refs.
markus schnalke <meillo@marmaro.de>
parents: 34
diff changeset
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
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
149 Further more, basic understanding of MIME is good to have.
029e11dd4de1 Rework in Preface.
markus schnalke <meillo@marmaro.de>
parents: 30
diff changeset
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
49cf68506b5d Spell checking.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
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
51
49cf68506b5d Spell checking.
markus schnalke <meillo@marmaro.de>
parents: 47
diff changeset
197 This thesis is divided into XXX chapters, ...
24
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
198 .P
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
199 .I Chapter 1
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
200 introduces ...
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
201 .P
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
202 .I Chapter 2
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
203 describes ...
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
204 .P
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
205 .I Chapter 3
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
206 covers ...
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
207
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
208
28
6c63083b4c19 Wrote text for the Preface; changed headings in Preface and Introduction.
markus schnalke <meillo@marmaro.de>
parents: 27
diff changeset
209 .U2 "Acknowledgments
23
1e4afeb34da7 Rework in the preface.
markus schnalke <meillo@marmaro.de>
parents: 8
diff changeset
210 .P
24
9be9b47eb52d Added text placeholders to the preface.
markus schnalke <meillo@marmaro.de>
parents: 23
diff changeset
211 To be written at the very end.