comparison unix-phil.ms @ 33:0bd43c4ad9f8

removed quotes and used bold instead of italic
author meillo@marmaro.de
date Thu, 25 Mar 2010 18:41:01 +0100
parents d632de027d77
children 0b2cf026d93d
comparison
equal deleted inserted replaced
32:d632de027d77 33:0bd43c4ad9f8
1 .\".if n .pl 1000i 1 .\".if n .pl 1000i
2 .\".nr PS 11
3 .\".nr VS 13
2 .de XX 4 .de XX
3 .pl 1v 5 .pl 1v
4 .. 6 ..
5 .em XX 7 .em XX
6 .\".nr PI 0 8 .\".nr PI 0
869 .LP 871 .LP
870 The following paragraphs discuss \s-1MH\s0 in regard to the tenets 872 The following paragraphs discuss \s-1MH\s0 in regard to the tenets
871 of the Unix Philosophy which Gancarz identified. 873 of the Unix Philosophy which Gancarz identified.
872 874
873 .PP 875 .PP
874 .I "``Small is beautiful'' 876 .B "Small is beautiful
875 and 877 and
876 .I "``do one thing well'' 878 .B "do one thing well
877 are two design goals that are directly visible in \s-1MH\s0. 879 are two design goals that are directly visible in \s-1MH\s0.
878 Gancarz actually presents \s-1MH\s0 as example under the headline 880 Gancarz actually presents \s-1MH\s0 as example under the headline
879 ``Making UNIX Do One Thing Well'': 881 ``Making UNIX Do One Thing Well'':
880 .QP 882 .QP
881 [\s-1MH\s0] consists of a series of programs which 883 [\s-1MH\s0] consists of a series of programs which
904 functions that are available nowhere yet, he best takes a 906 functions that are available nowhere yet, he best takes a
905 toolchest system like \s-1MH\s0 where he can add the 907 toolchest system like \s-1MH\s0 where he can add the
906 functionality with little work. 908 functionality with little work.
907 909
908 .PP 910 .PP
909 .I "Store data in flat text files. 911 .B "Store data in flat text files" .
910 FIXME 912 FIXME
911 913
912 .PP 914 .PP
913 .I "``Avoid captive user interfaces.'' 915 .B "Avoid captive user interfaces" .
914 \s-1MH\s0 is perfectly suited for non-interactive use. 916 \s-1MH\s0 is perfectly suited for non-interactive use.
915 It offers all functions directly and without captive user interfaces. 917 It offers all functions directly and without captive user interfaces.
916 If, nonetheless, users want a graphical user interface, 918 If, nonetheless, users want a graphical user interface,
917 they can have it with \fIxmh\fP or \fIexmh\fP, too. 919 they can have it with \fIxmh\fP or \fIexmh\fP, too.
918 These are graphical frontends for the \s-1MH\s0 toolchest. 920 These are graphical frontends for the \s-1MH\s0 toolchest.
928 If it is integrated, then this will hardly be possible. 930 If it is integrated, then this will hardly be possible.
929 Further more, it is possible to have different frontends to the same 931 Further more, it is possible to have different frontends to the same
930 backend. 932 backend.
931 933
932 .PP 934 .PP
933 .I "``Choose portability over efficiency'' 935 .B "Choose portability over efficiency
934 and 936 and
935 .I "``use shell scripts to increase leverage and portability'' . 937 .B "use shell scripts to increase leverage and portability" .
936 These two tenets are indirectly, but nicely, demonstrated by 938 These two tenets are indirectly, but nicely, demonstrated by
937 Bolsky and Korn in their book about the Korn Shell. 939 Bolsky and Korn in their book about the Korn Shell.
938 .[ 940 .[
939 %T The KornShell: command and programming language 941 %T The KornShell: command and programming language
940 %A Morris I. Bolsky 942 %A Morris I. Bolsky
968 and though create a working result. 970 and though create a working result.
969 Expanding the toolchest without global changes will likely be 971 Expanding the toolchest without global changes will likely be
970 possible, too. 972 possible, too.
971 973
972 .PP 974 .PP
973 .I "``Use software leverage to your advantage'' 975 .B "Use software leverage to your advantage
974 and the lesser tenet 976 and the lesser tenet
975 .I "``allow the user to tailor the environment'' 977 .B "allow the user to tailor the environment
976 are ideally followed in the design of \s-1MH\s0. 978 are ideally followed in the design of \s-1MH\s0.
977 Tailoring the environment is heavily encouraged by the ability to 979 Tailoring the environment is heavily encouraged by the ability to
978 directly define default options to programs. 980 directly define default options to programs.
979 It is even possible to define different default options 981 It is even possible to define different default options
980 depending on the name under which the program was called. 982 depending on the name under which the program was called.
1001 The line in \f(CW.mh_profile\fP would then start with \f(CWscan2\fP, 1003 The line in \f(CW.mh_profile\fP would then start with \f(CWscan2\fP,
1002 as the option should only be in effect when scan is called as 1004 as the option should only be in effect when scan is called as
1003 \f(CWscan2\fP. 1005 \f(CWscan2\fP.
1004 1006
1005 .PP 1007 .PP
1006 .I "``Make every program a filter'' 1008 .B "Make every program a filter
1007 is hard to find in \s-1MH\s0. 1009 is hard to find in \s-1MH\s0.
1008 The reason therefore is that most of \s-1MH\s0's tools provide 1010 The reason therefore is that most of \s-1MH\s0's tools provide
1009 basic file system operations for the mailboxes. 1011 basic file system operations for the mailboxes.
1010 The reason is the same because of which 1012 The reason is the same because of which
1011 \f(CWls\fP, \f(CWcp\fP, \f(CWmv\fP, and \f(CWrm\fP 1013 \f(CWls\fP, \f(CWcp\fP, \f(CWmv\fP, and \f(CWrm\fP
1018 header lines, quotations, and signatures in distinct colors. 1020 header lines, quotations, and signatures in distinct colors.
1019 The author's version of this program, for instance, 1021 The author's version of this program, for instance,
1020 is a 25 line awk script. 1022 is a 25 line awk script.
1021 1023
1022 .PP 1024 .PP
1023 .I "``Build a prototype as soon as possible'' 1025 .B "Build a prototype as soon as possible
1024 was again well followed by \s-1MH\s0. 1026 was again well followed by \s-1MH\s0.
1025 This tenet, of course, focuses on early development, which is 1027 This tenet, of course, focuses on early development, which is
1026 long time ago for \s-1MH\s0. 1028 long time ago for \s-1MH\s0.
1027 But without following this guideline at the very beginning, 1029 But without following this guideline at the very beginning,
1028 Bruce Borden may have not convinced the management of \s-1RAND\s0 1030 Bruce Borden may have not convinced the management of \s-1RAND\s0
1192 .LP 1194 .LP
1193 This section discusses uzbl in regard of the Unix Philosophy, 1195 This section discusses uzbl in regard of the Unix Philosophy,
1194 as identified by Gancarz. 1196 as identified by Gancarz.
1195 1197
1196 .PP 1198 .PP
1197 .I "Small is beautiful 1199 .B "Small is beautiful
1198 and 1200 and
1199 .I "make each program do one thing well" . 1201 .B "make each program do one thing well" .
1200 1202
1201 .PP 1203 .PP
1202 .I "Build a prototype as soon as possible" . 1204 .B "Build a prototype as soon as possible" .
1203 1205
1204 .PP 1206 .PP
1205 .I "Use software leverage to your advantage 1207 .B "Use software leverage to your advantage
1206 and 1208 and
1207 .I "Use shell scripts to increase leverage and portability" . 1209 .B "Use shell scripts to increase leverage and portability" .
1208 1210
1209 .PP 1211 .PP
1210 .I "Avoid captive user interfaces" . 1212 .B "Avoid captive user interfaces" .
1211 1213
1212 .PP 1214 .PP
1213 .I "Make every program a filter" . 1215 .B "Make every program a filter" .
1214 1216
1215 1217
1216 .NH 2 1218 .NH 2
1217 Problems 1219 Problems
1218 .LP 1220 .LP