docs/master

changeset 28:6c63083b4c19

Wrote text for the Preface; changed headings in Preface and Introduction.
author markus schnalke <meillo@marmaro.de>
date Wed, 09 May 2012 11:39:56 +0200
parents b687d151eed3
children 6afbb4a49962
files ch01.roff preface.roff
diffstat 2 files changed, 92 insertions(+), 56 deletions(-) [+]
line diff
     1.1 --- a/ch01.roff	Tue May 08 18:37:12 2012 +0200
     1.2 +++ b/ch01.roff	Wed May 09 11:39:56 2012 +0200
     1.3 @@ -7,12 +7,7 @@
     1.4  it headed to. This shall give an overview.
     1.5  
     1.6  
     1.7 -.H1 "Email Prerequisites
     1.8 -.P
     1.9 -XXX Do we really need that?
    1.10 -
    1.11 -
    1.12 -.H1 "What is MH?
    1.13 +.H1 "MH \(en the Mail Handler
    1.14  .P
    1.15  MH is an electronic mail system, originating in the RAND Corporation.
    1.16  Historically, it had been a all-in-one mail system, with both Mail Transfer
    1.17 @@ -109,7 +104,7 @@
    1.18  and old MH. The look'n'feel is common among them.
    1.19  
    1.20  
    1.21 -.H1 "Understanding the Code and Community
    1.22 +.H1 "nmh: Code and Community
    1.23  .P
    1.24  In order to understand the state, goals and dynamics of a project,
    1.25  one needs to know its history. MH comes from a time before the
    1.26 @@ -157,6 +152,19 @@
    1.27  
    1.28  
    1.29  .H1 "mmh
    1.30 +.P
    1.31 +I started to work on my experimental version, which I call
    1.32 +\fImmh\fP (for \fImeillo's mail handler\fP), in Fall 2011.
    1.33 +In December, when I announced that I would work on an experimental
    1.34 +version, the activity in nmh suddenly rose. Suddently the community
    1.35 +started to move.
    1.36 +After long years of mostly idling, nmh became actively developed again.
    1.37 +What a great result!
    1.38 +Hence, while I was working on mmh, the community was working on nmh
    1.39 +too. My own work went in parallel and mostly unrelated.
    1.40 +.P
    1.41 +Because of several circumstances, my experimental version is rather
    1.42 +a fork today, although this may change again in the future.
    1.43  
    1.44  .U2 "Motivation
    1.45  .P
     2.1 --- a/preface.roff	Tue May 08 18:37:12 2012 +0200
     2.2 +++ b/preface.roff	Wed May 09 11:39:56 2012 +0200
     2.3 @@ -5,31 +5,35 @@
     2.4  the Unix toolchest is a set of file handling tools with a common
     2.5  concept. nmh is the currently most popular implementation of an
     2.6  MH-like mail handling system.
     2.7 +This thesis describes creating an experimental version of nmh,
     2.8 +named \fImmh\fP,
     2.9 +to modernize, stream-line and to exploit the concepts
    2.10 +even more thoroughly.
    2.11  
    2.12 -
    2.13 -.H1 "How the Fun Began" no
    2.14 +.U2 "The Path to this Thesis
    2.15  .P
    2.16 -I have discovered nmh in September 2009. At that time I used to use mutt,
    2.17 -like many command line-attracted Unix users do.
    2.18 -Conceptually nmh had convinced me at once and learning
    2.19 +I have discovered nmh in September 2009. At that time I used to use the
    2.20 +mail client mutt, like many command line-attracted Unix users do.
    2.21 +The concepts of nmh had convinced me at once and thus learning
    2.22  its different model of email handling had been relatively easy.
    2.23  The change was like
    2.24 -managing files in the Unix shell when you are used to graphical file
    2.25 -managers, or like learning vi when you are used to modeless editors.
    2.26 -The change was not trivial but as I was convinced by the concepts and
    2.27 -already managed my files with shell tools and edited with vi, not to
    2.28 -difficult either.
    2.29 -In contrast, setting nmh up to a convenient state became a tendious task
    2.30 +managing files in the Unix shell when being used to graphical file
    2.31 +managers, or like learning vi when being used to modeless editors.
    2.32 +The transition had not been trivial but, as I was convinced by the new
    2.33 +concepts and
    2.34 +already managed my files with shell tools and edited with vi, not too
    2.35 +difficult neither.
    2.36 +In contrast, setting up nmh to a convenient state became a tendious task
    2.37  that took several months.
    2.38  .P
    2.39 -Once having nmh arranged as wished, using it was joy because of its
    2.40 -conceptional elegance and scripting capabilities.
    2.41 +Once having nmh arranged to a convenient state, I enjoyed using it
    2.42 +because of its conceptional elegance and its scripting capabilities.
    2.43  On the other hand, however, it still was
    2.44  inconvenient in handling attachments, non-ASCII character encodings,
    2.45  and similar features of modern emailing.
    2.46 -My setup required more and more scripts and additional configuration
    2.47 -to have nmh act the way I expected it to behave, where my
    2.48 -expectations were rather common to modern emailing than exceptionel.
    2.49 +My setup required more and more additional configuration and helper scripts
    2.50 +to have nmh act the way I expected it to behave, although my
    2.51 +expectations were rather common for modern emailing than exceptionel.
    2.52  In being a software developer, I wanted to improve the situation.
    2.53  .P
    2.54  In Spring 2010, I asked on the nmh-workers mailing list for the
    2.55 @@ -47,9 +51,8 @@
    2.56  In this point, my opinion differed from the opinion of most others
    2.57  as I voted for the MTA facility of nmh to be removed.
    2.58  .P
    2.59 -Being not able to work on nmh in a way that would be
    2.60 -accepted as part of my official studies, I needed to get my credit
    2.61 -points with some other project.
    2.62 +Being unable to work on nmh in a way that would be
    2.63 +accepted as part of my official studies, I had to pick another project.
    2.64  Half a year later, starting in August 2010,
    2.65  I took one semester off to travel through Latin America.
    2.66  Within this time, I had to do practical computer work for three
    2.67 @@ -91,25 +94,65 @@
    2.68  work to the present state of nmh. Time should prove me successful or
    2.69  not.
    2.70  Nmh would hardly be hurt by my work as I would not interfere with
    2.71 -them. But nmh could profit from my experiences.
    2.72 +them. But nmh would profit from my experiences.
    2.73 +
    2.74 +.U2 "Focus and Delimitation of the Document
    2.75  .P
    2.76 -I started to work on my experimental version, which I call
    2.77 -\fImmh\fP (for \fImeillo's mail handler\fP), in Fall 2011.
    2.78 -In December, when I announced that I would work on an experimental
    2.79 -version, the activity in nmh suddenly rose. Suddently the community
    2.80 -started to move.
    2.81 -After long years of mostly idling, nmh became actively developed again.
    2.82 -What a great result!
    2.83 -Hence, while I was working on mmh, the community was working on nmh
    2.84 -too. My own work went in parallel and mostly unrelated.
    2.85 +This document describes my work on the experimental version, named
    2.86 +\fImmh\fP. It explains the changes I did to nmh, with having the focus
    2.87 +on the reasons for the changes. It discusses technical, historical,
    2.88 +social and philosophical reasons. On the technical side, this document
    2.89 +explains how an existing project was stream-lined by exploiting the
    2.90 +central concepts better and removing rough edges. On the historical
    2.91 +side, changes in the use cases and the features of email and reactions
    2.92 +to them are discussed. Socially, this document describes the effects
    2.93 +and experiences of a newcomer with revolutionary aims entering an old
    2.94 +and matured software projects and its community. Finally, philosophical
    2.95 +thoughts on style, mainly based to the Unix philosophy, are present
    2.96 +throughout the discussions.
    2.97  .P
    2.98 -Because of several circumstances, my experimental version is rather
    2.99 -a fork today, although this may change again in the future.
   2.100 +This document is written for the community \(en developers and users \(en
   2.101 +around MH-like mail systems.
   2.102 +First of all, the document shall propagade the design goals and
   2.103 +implementation decisions of mmh. But as well, it shall clarify my
   2.104 +perception of the
   2.105 +concepts of MH and Unix, and the therefrom resulting point of view.
   2.106 +Further more, the document shall explain this view on nmh and mmh.
   2.107 +Despite the focus on MH-like systems, this document can be useful
   2.108 +to anyone interested in the Unix philosophy, as well as anyone
   2.109 +involved in old software projects, be it code-related or community-related.
   2.110 +.P
   2.111 +The reader is expected to know Unix, C and email well. Good Unix shell
   2.112 +knowledge, including shell scripting, is required. MH relies fundamentally
   2.113 +on the shell. Without the power of the shell, MH becomes a motorbike
   2.114 +without winding roads.
   2.115 +Introductions to Unix and its shell can be found in XXX.
   2.116 +The reader is
   2.117 +expected to be familiar with the C programming language, although the
   2.118 +document should be quite readable without knowledge of C, too.
   2.119 +The book by Kernighan and Ritchie is the definitive guide to C.
   2.120 +Some book about system-level C programming is worthwile additional
   2.121 +literature. Rochkind and Curry have written such books.
   2.122 +As large parts of the code are old, old books are likely more helpful.
   2.123 +The format of email messages as well as the structure of email transfer
   2.124 +systems should be familiar to the reader, at least on a basic level.
   2.125 +It's advisable to have had, at least cross-read, the RFCs 821 and 822.
   2.126 +The book XXX introduces email well, too.
   2.127 +Frequent references to the Unix philosophy will be made.
   2.128 +Gancarz XXX had tried to sum the philosophy up. Even better but less
   2.129 +concrete is the literature by Kernighan and Pike XXX.
   2.130 +The term paper ``Why the Unix Philosophy still matters'' by myself
   2.131 +provides an overview on the topic, including a case study of MH.
   2.132  
   2.133  
   2.134 -.H1 "Organization" no
   2.135 +.U2 "Organization
   2.136  .P
   2.137 -This thesis is split into XXX chapters, ...
   2.138 +Which font for what use.
   2.139 +Meaning of `foo(1)'.
   2.140 +RFCs.
   2.141 +MH vs. nmh vs. mmh.
   2.142 +.P
   2.143 +This thesis is devided into XXX chapters, ...
   2.144  .P
   2.145  .I Chapter 1
   2.146  introduces ...
   2.147 @@ -121,22 +164,7 @@
   2.148  covers ...
   2.149  
   2.150  
   2.151 -.\" What audience is expected?
   2.152 -.\" What will not be covered (delimitation).
   2.153 -
   2.154 -.\" General required knowledge (C, email, ...)
   2.155 -.\" cf. Email Prerequisites in the Introduction.
   2.156 -
   2.157 -
   2.158 -.H1 "Conventions" no
   2.159 -.P
   2.160 -Which font for what use.
   2.161 -Meaning of `foo(1)'.
   2.162 -RFCs.
   2.163 -MH vs. nmh vs. mmh.
   2.164 -
   2.165 -
   2.166 -.H1 "Acknowledgments" no
   2.167 +.U2 "Acknowledgments
   2.168  .P
   2.169  To be written at the very end.
   2.170