docs/master

changeset 23:1e4afeb34da7

Rework in the preface.
author markus schnalke <meillo@marmaro.de>
date Tue, 08 May 2012 17:23:02 +0200
parents 99409e4546d2
children 9be9b47eb52d
files ch03.roff preface.roff
diffstat 2 files changed, 103 insertions(+), 58 deletions(-) [+]
line diff
     1.1 --- a/ch03.roff	Mon May 07 17:27:57 2012 +0200
     1.2 +++ b/ch03.roff	Tue May 08 17:23:02 2012 +0200
     1.3 @@ -589,7 +589,7 @@
     1.4  limited display facilities couldn't cope with the task any longer.
     1.5  Instead of extending these tools, new ones were written from scratch
     1.6  and then added to the MH toolchest. Doing so is encouraged by the
     1.7 -toolchest approach. The new tools could be added without interfearing
     1.8 +toolchest approach. The new tools could be added without interfering
     1.9  with the existing ones. This is great. It allowed MH to be the
    1.10  first MUA to implement MIME.
    1.11  .P
     2.1 --- a/preface.roff	Mon May 07 17:27:57 2012 +0200
     2.2 +++ b/preface.roff	Tue May 08 17:23:02 2012 +0200
     2.3 @@ -1,81 +1,126 @@
     2.4  .H0 "Preface" no
     2.5  
     2.6 +.P
     2.7 +MH is a set of mail handling tools with a common concept, like
     2.8 +the Unix toolchest is a set of file handling tools with a common
     2.9 +concept. nmh is the currently most popular implementation of an
    2.10 +MH-like mail handling system.
    2.11 +
    2.12 +
    2.13  .H1 "How the Fun Began" no
    2.14  .P
    2.15 -I have discovered nmh in XXX. I used to use mutt, like many
    2.16 -command line-attracted Unix users. Nmh had convinced me conceptually
    2.17 -at once. Unfortunately, setting it up to a convenient state became a
    2.18 -tendious task. Learning its different model of email handling had,
    2.19 -in contrast, been relatively easy. Learning to use MH if you are used
    2.20 -to monolithic mail clients is like learning vi if you are used to
    2.21 -modeless editors.
    2.22 -Once having nmh set up, using it was joy because of its conceptional
    2.23 -elegance and scripting capabilities, but on the other hand it was
    2.24 +I have discovered nmh in September 2009. At that time I used to use mutt,
    2.25 +like many command line-attracted Unix users do.
    2.26 +Conceptually nmh had convinced me at once and learning
    2.27 +its different model of email handling had been relatively easy.
    2.28 +The change was like
    2.29 +managing files in the Unix shell when you are used to graphical file
    2.30 +managers, or like learning vi when you are used to modeless editors.
    2.31 +The change was not trivial but as I was convinced by the concepts and
    2.32 +already managed my files with shell tools and edited with vi, not to
    2.33 +difficult either.
    2.34 +In contrast, setting nmh up to a convenient state became a tendious task
    2.35 +that took several months.
    2.36 +.P
    2.37 +Once having nmh arranged as wished, using it was joy because of its
    2.38 +conceptional elegance and scripting capabilities.
    2.39 +On the other hand, however, it still was
    2.40  inconvenient in handling attachments, non-ASCII character encodings,
    2.41 -and similar stuff. I found it wrong to require more and more scripts
    2.42 -and configuration to have it act the expected way. In being a
    2.43 -software developer, I wanted to improve the situation.
    2.44 +and similar features of modern emailing.
    2.45 +My setup required more and more scripts and additional configuration
    2.46 +to have nmh act the way I expected it to behave, where my
    2.47 +expectations were rather common to modern emailing than exceptionel.
    2.48 +In being a software developer, I wanted to improve the situation.
    2.49  .P
    2.50  In Spring 2010, I asked on the nmh-workers mailing list for the
    2.51 -possibility to have a Google Summer of Code project on nmh. Being a
    2.52 -student, this appeared attractive to me. Eventually, it had not been
    2.53 -possible, but the nmh community started to move. In these months
    2.54 -nmh's future was discussed and I became part of a ``Does nmh need an
    2.55 -MTA'' discussion. There, my opinion differed from the opinion of
    2.56 -most others.
    2.57 +possibility to offer a Google Summer of Code project on nmh.
    2.58 +Participating in the development this way appeared attractive to me,
    2.59 +especially as it would have been possible to have the project
    2.60 +accepted at university. Although the nmh community
    2.61 +generally had been positive on the
    2.62 +suggestion, eventually it had not been possible to manage the
    2.63 +administrative work. Though my proposal had started the nmh community
    2.64 +to move. In the following weeks, goals for nmh's future were discussed
    2.65 +on the list. During the discussions, I became involved in the
    2.66 +question whether nmh should be an MTA. (Thread subject:
    2.67 +``should nmh be an MTA or an MUA?''.)
    2.68 +In this point, my opinion differed from the opinion of most others
    2.69 +as I voted for the MTA facility of nmh to be removed.
    2.70  .P
    2.71 -As it hadn't been possible to work on nmh in a way that would be
    2.72 +Being not able to work on nmh in a way that would be
    2.73  accepted as part of my official studies, I needed to get my credit
    2.74 -points in some other way. But half a year later I was back. Starting
    2.75 -in Summer 2010, I took one semester off to travel through Latin America.
    2.76 -Within this time, I needed to do practical computer work for three
    2.77 -months. Richard Sandelman, an active nmh user, made it possible for
    2.78 -me to work on nmh during this time. Juan Granda, from Santiago del
    2.79 -Estero in Argentina, provided a computer and Internet connection.
    2.80 -Within these three month, I became familiar with nmh's code base and
    2.81 -its community. I learned how things work. Quickly it was obvious that
    2.82 -I wouldn't succeed to improve on the non-ASCII character encoding
    2.83 -problems, as this is one of the most intricate parts of the system.
    2.84 -Instead I improved code as I read through it. I found minor bugs in
    2.85 -the code and could improve the documentation. When I started with
    2.86 +points with some other project.
    2.87 +Half a year later, starting in August 2010,
    2.88 +I took one semester off to travel through Latin America.
    2.89 +Within this time, I had to do practical computer work for three
    2.90 +months.
    2.91 +This brought me back to nmh.
    2.92 +Richard Sandelman, an active nmh user, made it possible for
    2.93 +me to work on nmh. Juan Granda, living in Santiago del
    2.94 +Estero in Argentina, provided a computer and Internet connection for
    2.95 +my work.
    2.96 +Within the three month, I became familiar with nmh's code base and
    2.97 +its community. I learned how things work. Quickly it became obvious that
    2.98 +I wouldn't succeed with my main goal, to improve the character
    2.99 +encoding handling within the project. One obvious problem is the missing
   2.100 +transfer decoding of the quoted text in replies.
   2.101 +As this is one of the most intricate parts of the system, the goal
   2.102 +was simply too difficult to reach.
   2.103 +Instead I improved the code as I read through it. I found minor bugs
   2.104 +for which I proposed fixes to the community. Also I
   2.105 +could improve the documentation. When I started with
   2.106  larger code changes, I had to discover that the community's wish for
   2.107  compatibility was stronger than its wish for convenient
   2.108 -out-of-the-box setups. This lead to long discussions, again. Finally,
   2.109 -I understand their point of view, but it's not mine.
   2.110 -At the end of my three-month project, I had became familiar with
   2.111 -nmh's code base and community, I had improved both a bit, and I still
   2.112 -was convinced that I wanted to go on with it.
   2.113 +out-of-the-box setups \(en in contrast with my opinion.
   2.114 +This lead to long discussions, again.
   2.115 +I came to understand their point of view, but it simply is not mine.
   2.116  .P
   2.117 -Another half a year later, I needed a topic for my master's thesis.
   2.118 -Now it was clear: I wanted to work on nmh. No, not exactly nmh,
   2.119 +At the end of my three-month project, I had become familiar with
   2.120 +nmh's code base and its community. I had improved the project a bit
   2.121 +and I still was convinced that I wanted to go on with that.
   2.122 +.P
   2.123 +Another half a year later, the end of my studies came within reach.
   2.124 +I needed a topic for my master's thesis.
   2.125 +There was no question: I wanted to work on nmh.
   2.126 +But well, not exactly on nmh,
   2.127  because I had accepted that the nmh community has different goals
   2.128 -than I have. The won't be much progress if generally different opinions
   2.129 -lead to long discussions. After careful thought, I had decided to
   2.130 -start an experimental version of nmh. I wanted to go my way and see
   2.131 -where it would lead to. Time would tell if it would prove successful.
   2.132 -Nmh would hardly be hurt by my work, but could profit from my
   2.133 -experiences later.
   2.134 +than I have. This would result in long discussions and thus few progress.
   2.135 +After careful thought, I decided to start an experimental version of nmh.
   2.136 +I wanted to follow my own ideas of how nmh should look like. I wanted
   2.137 +to see where that would lead to. I wanted to compare the result of my
   2.138 +work to the present state of nmh. Time should prove me successful or
   2.139 +not.
   2.140 +Nmh would hardly be hurt by my work as I would not interfere with
   2.141 +them. But nmh could profit from my experiences.
   2.142  .P
   2.143 -When I started to work on mmh, my experimental version, in Fall 2011,
   2.144 -activity in nmh rose suddenly. While I was working on mmh, XXX were
   2.145 -working on nmh. After long years of idleing, nmh was actively
   2.146 -developed again. That was a good sign. My own work went in parallel
   2.147 -and unrelated. Today, my experimental version became de facto a fork.
   2.148 -The mail storage, however, is still compatible.
   2.149 +I started to work on my experimental version, which I call
   2.150 +\fImmh\fP (for \fImeillo's mail handler\fP), in Fall 2011.
   2.151 +In December, when I announced that I would work on an experimental
   2.152 +version, the activity in nmh suddenly rose. Suddently the community
   2.153 +started to move.
   2.154 +After long years of mostly idling, nmh became actively developed again.
   2.155 +What a great result!
   2.156 +Hence, while I was working on mmh, the community was working on nmh
   2.157 +too. My own work went in parallel and mostly unrelated.
   2.158 +.P
   2.159 +Because of several circumstances, my experimental version is rather
   2.160 +a fork today, although this may change again in the future.
   2.161  
   2.162  
   2.163 -.H1 "Naming Conventions" no
   2.164 +.H1 "Organization" no
   2.165  .P
   2.166 -There are three different versions of MH available currently: original MH,
   2.167 -nmh, and mmh. Following is a description how the terms are used.
   2.168 -.P
   2.169 -.B MH
   2.170 -(Mail Handler).
   2.171 -Used for any MH-like mail systems, namely the original MH, nmh, and mmh.
   2.172 +foo
   2.173 +
   2.174 +.H1 "Conventions" no
   2.175  .P
   2.176  .B "Mail client" .
   2.177  Synonym for MUA. The part of the mail software the user directly
   2.178  interacts with.
   2.179 +.P
   2.180 +
   2.181 +.H1 "Acknowledgments" no
   2.182 +.P
   2.183 +foo
   2.184  
   2.185  
   2.186  .\" End or Preface. Start of the normal text.