Mercurial > docs > unix-phil
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 |