comparison intro.roff @ 117:97369a93ef39

Corrections by Kate. Again of high quality. :-)
author markus schnalke <meillo@marmaro.de>
date Mon, 25 Jun 2012 22:27:38 +0200
parents 9f672d3a25f9
children 76c440261ebb
comparison
equal deleted inserted replaced
116:4fbd14dc5e91 117:97369a93ef39
49 MH was extended as emailing became more featured. 49 MH was extended as emailing became more featured.
50 The development of MH was closely related to the development of email 50 The development of MH was closely related to the development of email
51 RFCs. In the advent of MIME, MH was the first implementation of this new 51 RFCs. In the advent of MIME, MH was the first implementation of this new
52 email standard. 52 email standard.
53 .P 53 .P
54 In the nineties, the Internet had become popular and in December 1996, 54 In the nineties, the Internet became popular and in December 1996,
55 Richard Coleman initiated the ``New Mail Handler'' (nmh) project. 55 Richard Coleman initiated the ``New Mail Handler'' (nmh) project.
56 Nmh is a fork of MH 6.8.3 and bases strongly on the 56 Nmh is a fork of MH 6.8.3 and bases strongly on the
57 \fILBL changes\fP by Van Jacobson, Mike Karels and Craig Leres. 57 \fILBL changes\fP by Van Jacobson, Mike Karels and Craig Leres.
58 Colman intended to modernize MH and improve its portability and 58 Colman intended to modernize MH and improve its portability and
59 MIME handling capabilities. 59 MIME handling capabilities.
62 February 1996, soon after the development of nmh had started. 62 February 1996, soon after the development of nmh had started.
63 Today, nmh has almost completely replaced the original MH. 63 Today, nmh has almost completely replaced the original MH.
64 Some systems might still provide old MH, but mainly for historical reasons. 64 Some systems might still provide old MH, but mainly for historical reasons.
65 .P 65 .P
66 In the last years, the work on nmh was mostly maintenance work. 66 In the last years, the work on nmh was mostly maintenance work.
67 However, development was revived in December 2011 67 However, the development was revived in December 2011
68 and stayed busy since then. 68 and stayed busy since then.
69 69
70 .U2 "Concepts 70 .U2 "Concepts
71 .P 71 .P
72 MH consists of a set of tools, each covering a specific task of 72 MH consists of a set of tools, each covering a specific task of
305 with my strong desire for it. 305 with my strong desire for it.
306 In developing a separate experimental version new approaches can 306 In developing a separate experimental version new approaches can
307 easily be tried out without the need to discuss changes beforehand. 307 easily be tried out without the need to discuss changes beforehand.
308 In fact, revolutionary changes are hardly possible otherwise. 308 In fact, revolutionary changes are hardly possible otherwise.
309 .P 309 .P
310 The mmh project implements and demonstrates the listed ideas 310 The mmh project provides the basis on which the aforementioned
311 ideas can be implemented and demonstrated,
311 without the need to change nmh or its community. 312 without the need to change nmh or its community.
312 Of course, the results of the mmh project shall improve nmh, in the end. 313 Of course, the results of the mmh project shall improve nmh, in the end.
314 By no means is my intend to work against the nmh project.
315
313 316
314 .U2 "Target Field 317 .U2 "Target Field
315 .P 318 .P
316 Any effort needs to be targeted towards a specific goal 319 Any effort needs to be targeted towards a specific goal
317 in order to be successful. 320 in order to be successful.
318 Following is a description of the imagined typical mmh user. 321 Following is a description of imagined typical mmh users.
319 mmh should satisfy his needs. 322 Mmh should satisfy their needs.
320 .\" XXX Remove the next sentence? 323 .\" XXX Remove the next sentence?
321 Actually, as mmh is my personal version of MH, this is a description 324 Actually, as mmh is my personal version of MH, this is a description
322 of myself. 325 of myself.
323 .P 326 .P
324 The target user of mmh likes Unix and its philosophy. 327 The target users of mmh like Unix and its philosophy.
325 He likes to use programs that are conceptionally appealing. 328 They appreciate to use programs that are conceptionally appealing.
326 He's familiar with the command line and enjoys its power. 329 They are familiar with the command line and enjoy its power.
327 He is at least capable of shell scripting and wants to improve his 330 They are at least capable of shell scripting and want to improve their
328 productivity by scripting the mail system. 331 productivity by scripting the mail system.
329 He naturally uses modern email features, like attachments, 332 .\" XXX Naturally, he uses ...
333 They naturally use modern email features, such as attachments,
330 non-ASCII text, and digital cryptography. 334 non-ASCII text, and digital cryptography.
331 He is able to setup email system components besides mmh, 335 They are able to setup email system components besides mmh,
332 and actually likes the choice to pick the ones he prefers. 336 and actually like to have the choice to pick the ones they prefer.
333 He has a reasonably modern system that complies to standards, 337 They have a reasonably modern operating system that complies to standards,
334 like POSIX and ANSI C. 338 like POSIX and ANSI C.
335 .P 339 .P
336 The typical user invokes mmh commands directly in an interactive 340 The typical users invoke mmh commands directly in an interactive
337 shell session, but as well, he uses them to automate mail handling tasks. 341 shell session, but they use them to automate mail handling tasks as well.
338 Likely, he runs his mail setup on a server machine, to which he connects 342 Likely, they runs their mail setup on a server machine,
339 via ssh. He might also have local mmh installations on his workstations, 343 to which they connect via ssh.
340 but does rather not rely on graphical front-ends. He definitely wants 344 They might also have local mmh installations on their workstations,
341 to be flexible and thus be able to change his setup to suite his needs. 345 where they tend to work with mmh directly in the shell instead
342 .P 346 of using graphical front-ends.
343 The typical mmh user is a programmer himself. 347 They definitely want to be flexible and thus be able to change
344 He likes to, occasionally, take the opportunity of Free Software to put 348 their setup to suit their needs.
345 hands on and get involved in the software he uses. 349 .P
346 Hence, he likes small and clean code bases and he cares for code quality. 350 .\" XXX themself vs. themselves
347 In general, he believes that: 351 Typical mmh users are programmers themselves.
352 They like to, occasionally, take the opportunity of Free Software to put
353 hands on and get involved in the software they use.
354 Hence, they like small and clean code bases and care for code quality.
355 In general, they believe that:
348 .BU 356 .BU
349 Elegance \(en i.e. simplicity, clarity and generality \(en 357 Elegance \(en i.e. simplicity, clarity and generality \(en
350 is most important. 358 is most important.
351 .BU 359 .BU
352 Concepts are more important than the concrete implementation. 360 Concepts are more important than the concrete implementation.
361 .U2 "Goals 369 .U2 "Goals
362 .P 370 .P
363 The general goals for the mmh project are the following: 371 The general goals for the mmh project are the following:
364 .IP "Stream-lining 372 .IP "Stream-lining
365 Mmh should be stripped down to its core, which is the user agent (MUA). 373 Mmh should be stripped down to its core, which is the user agent (MUA).
366 The feature set should be distilled to the ones really needed, 374 The feature set should be distilled to the indispensable ones,
367 effectively removing corner-cases. 375 effectively removing corner-cases.
368 Parts that don't add to the main task of being a conceptionally 376 Parts that don't add to the main task of being a conceptionally
369 appealing MUA should be removed. 377 appealing MUA should be removed.
370 This includes, the mail submission and mail retrieval facilities. 378 This includes the mail submission and mail retrieval facilities.
371 Choice should be reduced to the main options. 379 Choice should be reduced to the main options.
372 .IP "Modernizing 380 .IP "Modernizing
373 Mmh's feature set needs to become more modern. 381 Mmh's feature set needs to become more modern.
374 Better support for attachment and digital cryptography needs to be added. 382 Better support for attachment and digital cryptography should be added.
375 MIME support needs to be integrated deeper and more naturally. 383 MIME support should to be integrated deeper and more naturally.
376 The modern email features need to be readily available, out-of-the-box. 384 The modern email features need to be readily available, out-of-the-box.
377 And on the other hand, 385 On the other hand,
378 bulletin board support and similar obsolete facilities need to be dropped 386 bulletin board support and similar obsolete facilities can be dropped out.
379 out. 387 Likewise, ancient technologies such as hardcopy terminals
380 Likewise, ancient technologies, like hardcopy terminals, should not 388 need not to be supported any further.
381 be supported any further.
382 .IP "Code style 389 .IP "Code style
383 Mmh's source code needs to be updated to modern standards. 390 Mmh's source code needs to be updated to modern standards.
384 Standardized library functions should replace non-standard versions 391 Standardized library functions should replace non-standard versions
385 whenever possible. 392 whenever possible.
386 Code should be separated into distinct modules when possible. 393 Code should be separated into distinct modules when feasible.
387 Time and space optimizations should to be replaced by 394 Time and space optimizations should to be replaced by
388 clear and readable code. 395 clear and readable code.
389 A uniform programming style should prevail. 396 A uniform programming style should prevail.
390 .IP "Homogeneity 397 .IP "Homogeneity
391 The available concepts need to be expanded as far as possible. 398 The available concepts need to be expanded as far as possible.
392 A small set of concepts should prevail thoroughly throughout the system. 399 A small set of concepts should recur consistently.
393 The whole system should appear to be of-one-style. 400 The whole system should appear to be of-one-style;
394 It should feel like being cast as one. 401 it should feel like being cast as one.