annotate ch02.roff @ 7:7497062adc82

style: Need a bit less space for a heading.
author markus schnalke <meillo@marmaro.de>
date Wed, 07 Mar 2012 16:03:36 +0100
parents c82c1219e877
children
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 "Previous Situation
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
2 .P
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
3 foo
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
4
4
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
5 .H1 "Historic Background
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
6 .P
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
7 In order to understand the state, goals and dynamics of a project,
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
8 you need to know its history. MH comes from a time before the
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
9 Internet, a time before networking became universal, a time when
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
10 emailing was small, short and simple. Then it grew, spread and
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
11 adopted to the changes. The core-concepts, however, remained the
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
12 same. During the XXX a small group of students at the University of
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
13 California, actively worked on MH. They added features and optimized,
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
14 like it is common for scientific work. This is still in pre-ANSI C
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
15 times. The source code contains many ancient parts. Code constructs
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
16 specific to BSD or hardware of that time are usual.
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
17 .P
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
18 Nmh started eight years after the ANSI C standard had been
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
19 established. A more modern coding style entered the code base. Still
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
20 a part of the developers come from ``the old days''. The developer
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
21 base became more diverse and thus the code. Programming practices
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
22 from different decades merged into the project. Different coding
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
23 styles came together. It appears as if multiple peers added code
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
24 parts, resulting in a conclomeration rather than an homogenic
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
25 of-one-cast mail system. Still, the basic concepts hold it together.
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
26 They were mostly untouched throughout the years.
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
27 .P
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
28 Although, at the surface, nmh is a toolchest, meaning a collection
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
29 of completely modularized small programs, on the source code level,
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
30 it is much more interweaved. Parts of the basic functions are
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
31 collected in a MH standard library, which is good, but often
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
32 separate functions are compiled into programs, for effiency reasons.
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
33 This lead to intricate innards.
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
34 The advent of MIME rose the complexity of email by a magnitude. This
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
35 is visible in nmh. The MIME-related parts are the most complex ones.
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
36 It's also visible that MIME support had been added on top of the
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
37 original MH later. The MH style made this easily possible, but it
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
38 also lead to duplicated functions (e.g. \f(CWshow\fP, \f(CWmhshow\fP)
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
39 and had not been thoroughly included into the concepts (e.g. the
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
40 user-visible access to whole messages and MIME parts are inherently
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
41 different).
0
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
42 .P
4
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
43 For compatibility's sake, it is a common understanding to have the
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
44 default settings to be compatible, requiring any new feature to be
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
45 explicitely enabled. This puts a burden on new users, because nmh
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
46 out-of-the-box keeps staying in the same ancient style, where users
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
47 usually want to have it practical for modern emailing.
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
48 But of course, this depends on if nmh is seen to be a front-end or a
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
49 back-end.
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
50
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
51 .H1 "My Vision
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
52 .P
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
53 The general goals of the mmh project are the following:
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
54 .BU
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
55 I believe that mmh should be perfectly suited for modern emailing,
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
56 out-of-the-box.
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
57 .BU
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
58 I care less about compatibility and more about conceptionally elegant
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
59 approaches.
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
60 .BU
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
61 I care for general, clear, and simple concepts.
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
62 .BU
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
63 I like to create an of-one-style email system.
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
64 .BU
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
65 I plan to remove any optimizations that rises obscurity, unless it
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
66 appears to be neccessary to make mmh usable at all.
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
67 .P
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
68 .B "The target user in mind
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
69 likes Unix and its philosophy.
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
70 He likes to use programs that are conceptionally appealing.
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
71 He's familiar with the command line and enjoys its power.
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
72 He is at least capable of shell scripting and wants to improve his
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
73 productivity by scripting the mail system.
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
74 His computer and operating system are from post-ANSI C times.
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
75 He likes to attach files, exchanges text containing non-ASCII
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
76 characters, signs or encrypts his messages.
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
77 He does not use bulletin boards anymore, nor non-mbox style mail
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
78 drops, nor does he rely on compatibility to nmh.
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
79 He already has and MTA/MSA and MRA running or is able to set them
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
80 up.
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
81 He does not want to have to read a book in order to make his MUA
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
82 usable.
0
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
83
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
84 .H1 "Things to do
dc2bfef4cda7 Initial commit: Basic structure, macros and fonts.
markus schnalke <meillo@marmaro.de>
parents:
diff changeset
85 .P
4
c82c1219e877 Added text.
markus schnalke <meillo@marmaro.de>
parents: 0
diff changeset
86