docs/master

diff preface.roff @ 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 d996f130e279
line diff
     1.1 --- a/preface.roff	Tue May 08 18:37:12 2012 +0200
     1.2 +++ b/preface.roff	Wed May 09 11:39:56 2012 +0200
     1.3 @@ -5,31 +5,35 @@
     1.4  the Unix toolchest is a set of file handling tools with a common
     1.5  concept. nmh is the currently most popular implementation of an
     1.6  MH-like mail handling system.
     1.7 +This thesis describes creating an experimental version of nmh,
     1.8 +named \fImmh\fP,
     1.9 +to modernize, stream-line and to exploit the concepts
    1.10 +even more thoroughly.
    1.11  
    1.12 -
    1.13 -.H1 "How the Fun Began" no
    1.14 +.U2 "The Path to this Thesis
    1.15  .P
    1.16 -I have discovered nmh in September 2009. At that time I used to use mutt,
    1.17 -like many command line-attracted Unix users do.
    1.18 -Conceptually nmh had convinced me at once and learning
    1.19 +I have discovered nmh in September 2009. At that time I used to use the
    1.20 +mail client mutt, like many command line-attracted Unix users do.
    1.21 +The concepts of nmh had convinced me at once and thus learning
    1.22  its different model of email handling had been relatively easy.
    1.23  The change was like
    1.24 -managing files in the Unix shell when you are used to graphical file
    1.25 -managers, or like learning vi when you are used to modeless editors.
    1.26 -The change was not trivial but as I was convinced by the concepts and
    1.27 -already managed my files with shell tools and edited with vi, not to
    1.28 -difficult either.
    1.29 -In contrast, setting nmh up to a convenient state became a tendious task
    1.30 +managing files in the Unix shell when being used to graphical file
    1.31 +managers, or like learning vi when being used to modeless editors.
    1.32 +The transition had not been trivial but, as I was convinced by the new
    1.33 +concepts and
    1.34 +already managed my files with shell tools and edited with vi, not too
    1.35 +difficult neither.
    1.36 +In contrast, setting up nmh to a convenient state became a tendious task
    1.37  that took several months.
    1.38  .P
    1.39 -Once having nmh arranged as wished, using it was joy because of its
    1.40 -conceptional elegance and scripting capabilities.
    1.41 +Once having nmh arranged to a convenient state, I enjoyed using it
    1.42 +because of its conceptional elegance and its scripting capabilities.
    1.43  On the other hand, however, it still was
    1.44  inconvenient in handling attachments, non-ASCII character encodings,
    1.45  and similar features of modern emailing.
    1.46 -My setup required more and more scripts and additional configuration
    1.47 -to have nmh act the way I expected it to behave, where my
    1.48 -expectations were rather common to modern emailing than exceptionel.
    1.49 +My setup required more and more additional configuration and helper scripts
    1.50 +to have nmh act the way I expected it to behave, although my
    1.51 +expectations were rather common for modern emailing than exceptionel.
    1.52  In being a software developer, I wanted to improve the situation.
    1.53  .P
    1.54  In Spring 2010, I asked on the nmh-workers mailing list for the
    1.55 @@ -47,9 +51,8 @@
    1.56  In this point, my opinion differed from the opinion of most others
    1.57  as I voted for the MTA facility of nmh to be removed.
    1.58  .P
    1.59 -Being not able to work on nmh in a way that would be
    1.60 -accepted as part of my official studies, I needed to get my credit
    1.61 -points with some other project.
    1.62 +Being unable to work on nmh in a way that would be
    1.63 +accepted as part of my official studies, I had to pick another project.
    1.64  Half a year later, starting in August 2010,
    1.65  I took one semester off to travel through Latin America.
    1.66  Within this time, I had to do practical computer work for three
    1.67 @@ -91,25 +94,65 @@
    1.68  work to the present state of nmh. Time should prove me successful or
    1.69  not.
    1.70  Nmh would hardly be hurt by my work as I would not interfere with
    1.71 -them. But nmh could profit from my experiences.
    1.72 +them. But nmh would profit from my experiences.
    1.73 +
    1.74 +.U2 "Focus and Delimitation of the Document
    1.75  .P
    1.76 -I started to work on my experimental version, which I call
    1.77 -\fImmh\fP (for \fImeillo's mail handler\fP), in Fall 2011.
    1.78 -In December, when I announced that I would work on an experimental
    1.79 -version, the activity in nmh suddenly rose. Suddently the community
    1.80 -started to move.
    1.81 -After long years of mostly idling, nmh became actively developed again.
    1.82 -What a great result!
    1.83 -Hence, while I was working on mmh, the community was working on nmh
    1.84 -too. My own work went in parallel and mostly unrelated.
    1.85 +This document describes my work on the experimental version, named
    1.86 +\fImmh\fP. It explains the changes I did to nmh, with having the focus
    1.87 +on the reasons for the changes. It discusses technical, historical,
    1.88 +social and philosophical reasons. On the technical side, this document
    1.89 +explains how an existing project was stream-lined by exploiting the
    1.90 +central concepts better and removing rough edges. On the historical
    1.91 +side, changes in the use cases and the features of email and reactions
    1.92 +to them are discussed. Socially, this document describes the effects
    1.93 +and experiences of a newcomer with revolutionary aims entering an old
    1.94 +and matured software projects and its community. Finally, philosophical
    1.95 +thoughts on style, mainly based to the Unix philosophy, are present
    1.96 +throughout the discussions.
    1.97  .P
    1.98 -Because of several circumstances, my experimental version is rather
    1.99 -a fork today, although this may change again in the future.
   1.100 +This document is written for the community \(en developers and users \(en
   1.101 +around MH-like mail systems.
   1.102 +First of all, the document shall propagade the design goals and
   1.103 +implementation decisions of mmh. But as well, it shall clarify my
   1.104 +perception of the
   1.105 +concepts of MH and Unix, and the therefrom resulting point of view.
   1.106 +Further more, the document shall explain this view on nmh and mmh.
   1.107 +Despite the focus on MH-like systems, this document can be useful
   1.108 +to anyone interested in the Unix philosophy, as well as anyone
   1.109 +involved in old software projects, be it code-related or community-related.
   1.110 +.P
   1.111 +The reader is expected to know Unix, C and email well. Good Unix shell
   1.112 +knowledge, including shell scripting, is required. MH relies fundamentally
   1.113 +on the shell. Without the power of the shell, MH becomes a motorbike
   1.114 +without winding roads.
   1.115 +Introductions to Unix and its shell can be found in XXX.
   1.116 +The reader is
   1.117 +expected to be familiar with the C programming language, although the
   1.118 +document should be quite readable without knowledge of C, too.
   1.119 +The book by Kernighan and Ritchie is the definitive guide to C.
   1.120 +Some book about system-level C programming is worthwile additional
   1.121 +literature. Rochkind and Curry have written such books.
   1.122 +As large parts of the code are old, old books are likely more helpful.
   1.123 +The format of email messages as well as the structure of email transfer
   1.124 +systems should be familiar to the reader, at least on a basic level.
   1.125 +It's advisable to have had, at least cross-read, the RFCs 821 and 822.
   1.126 +The book XXX introduces email well, too.
   1.127 +Frequent references to the Unix philosophy will be made.
   1.128 +Gancarz XXX had tried to sum the philosophy up. Even better but less
   1.129 +concrete is the literature by Kernighan and Pike XXX.
   1.130 +The term paper ``Why the Unix Philosophy still matters'' by myself
   1.131 +provides an overview on the topic, including a case study of MH.
   1.132  
   1.133  
   1.134 -.H1 "Organization" no
   1.135 +.U2 "Organization
   1.136  .P
   1.137 -This thesis is split into XXX chapters, ...
   1.138 +Which font for what use.
   1.139 +Meaning of `foo(1)'.
   1.140 +RFCs.
   1.141 +MH vs. nmh vs. mmh.
   1.142 +.P
   1.143 +This thesis is devided into XXX chapters, ...
   1.144  .P
   1.145  .I Chapter 1
   1.146  introduces ...
   1.147 @@ -121,22 +164,7 @@
   1.148  covers ...
   1.149  
   1.150  
   1.151 -.\" What audience is expected?
   1.152 -.\" What will not be covered (delimitation).
   1.153 -
   1.154 -.\" General required knowledge (C, email, ...)
   1.155 -.\" cf. Email Prerequisites in the Introduction.
   1.156 -
   1.157 -
   1.158 -.H1 "Conventions" no
   1.159 -.P
   1.160 -Which font for what use.
   1.161 -Meaning of `foo(1)'.
   1.162 -RFCs.
   1.163 -MH vs. nmh vs. mmh.
   1.164 -
   1.165 -
   1.166 -.H1 "Acknowledgments" no
   1.167 +.U2 "Acknowledgments
   1.168  .P
   1.169  To be written at the very end.
   1.170