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