annotate unix-phil-slides.ms @ 24:2335f5658fca

added poster and slides
author meillo@marmaro.de
date Fri, 05 Mar 2010 23:56:48 +0100
parents
children e6ac51dc18bf
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
24
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
1 .TL
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
2 \fR\s-6Why\s0\fP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
3 .br
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
4 the Unix Philosophy
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
5 .br
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
6 .vs -4
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
7 \fR\s-6(still) matters\s0\fP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
8 .AU
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
9 .ft R
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
10 .sp 1.2i
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
11 .ps 11
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
12 markus schnalke <meillo@marmaro.de>
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
13
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
14
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
15 .S "goals of this talk
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
16 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
17 introduce the Unix Phil
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
18 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
19 explain why most modern software is crap
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
20 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
21 explain why the Unix Phil leads to better software
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
22 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
23 convince you that good software is of matter
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
24 .sp 2
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
25 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
26 make you think
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
27
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
28
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
29 .S "roadmap
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
30 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
31 Historical background
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
32 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
33 What is the Unix Philosophy?
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
34 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
35 The Unix Phil after Gancarz
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
36 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
37 Discussion on real world examples
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
38 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
39 The Unix Phil is more than software dev guidelines
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
40
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
41
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
42
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
43 .S "me and the UP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
44 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
45 first contact: through the suckless project
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
46 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
47 ``cat -v Considered Harmful''
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
48 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
49 ``The Unix and the Echo''
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
50 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
51 ``The Unix Programming Environment''
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
52 .sp 1
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
53 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
54 better understanding through digging in the past
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
55
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
56
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
57
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
58
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
59
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
60 .P "historical background
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
61
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
62
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
63
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
64
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
65 .S "historical background
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
66 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
67 the late 60s and early 70s
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
68 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
69 operating systems are complex
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
70 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
71 MULTICS just failed
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
72 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
73 Brooks' ``The Mythical Man-Month''
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
74 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
75 a lot of different hardware
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
76 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
77 limited computing power
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
78 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
79 textual input and output (line printers)
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
80
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
81
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
82 .S "everything is a file
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
83 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
84 is the(?) basic concept in Unix (and even more in Plan9)
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
85 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
86 made simple operating systems possible
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
87 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
88 it is not covered by the Unix Phil; the Unix Phil is on a different level
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
89 .sp 2
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
90 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
91 Unix is mainly two things:
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
92 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
93 an operating system (system calls)
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
94 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
95 a toolchest (coreutils)
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
96
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
97
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
98
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
99 .P "What is the Unix Phil
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
100
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
101
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
102
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
103 .S "What is the Unix Phil *itself*?
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
104 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
105 ``The Unix philosophy is a set of cultural norms and philosophical
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
106 approaches to developing software based on the experience of
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
107 leading developers of the Unix operating system.''
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
108 (wikipedia)
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
109 .sp 2
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
110 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
111 How the inventors of Unix write software.
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
112 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
113 Common things of classic Unix tools.
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
114 .sp 2
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
115 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
116 difficult to define
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
117
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
118
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
119 .S "Unix Phil vs. SW dev processes
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
120 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
121 the Unix Phil
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
122 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
123 much: *what* to program
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
124 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
125 few: *how* to program
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
126
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
127 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
128 Software developments processes:
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
129 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
130 few: *what* to program
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
131 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
132 much: *how* to program
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
133
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
134 .sp 2
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
135 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
136 Extreme Programming is like the Unix Phil
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
137 but with more *how* than *what*,
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
138 and with formalisms
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
139
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
140
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
141
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
142
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
143
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
144 .S "What is the Unix Phil?
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
145 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
146 Doug McIlroy (1978)
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
147 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
148 Mike Gancarz: ``The Unix Philosophy'' (1994)
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
149 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
150 Eric S. Raymond: ``The Art of Unix Programming'' (2003)
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
151 .sp 2
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
152 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
153 Richard Gabriel: ``Worse is Better'' (1989)
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
154
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
155
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
156 .S "Doug McIlroy
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
157 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
158 This is the Unix philosophy:
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
159 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
160 Write programs that do one thing and do it well.
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
161 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
162 Write programs to work together.
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
163 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
164 Write programs to handle text streams, because that is a universal interface.
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
165
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
166
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
167 .S "Mike Gancarz: ``The Unix Philosophy''
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
168 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
169 Small is beautiful.
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
170 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
171 Make each program do one thing well.
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
172 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
173 Build a prototype as soon as possible.
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
174 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
175 Choose portability over efficiency.
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
176 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
177 Store data in flat text files.
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
178 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
179 Use software leverage to your advantage.
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
180 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
181 Use shell scripts to increase leverage and portability.
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
182 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
183 Avoid captive user interfaces.
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
184 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
185 Make every program a filter.
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
186 .sp 1
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
187 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
188 plus ten lesser tenets
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
189
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
190
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
191
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
192
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
193 .P "The Unix Phil after Gancarz
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
194
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
195 .S "Small is beautiful.
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
196 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
197 foo
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
198
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
199
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
200 .S "Make each program do one thing well.
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
201 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
202 foo
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
203
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
204
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
205 .S "Build a prototype as soon as possible.
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
206 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
207 foo
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
208
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
209
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
210 .S "Choose portability over efficiency.
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
211 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
212 foo
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
213
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
214
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
215 .S "Store data in flat text files.
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
216 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
217 foo
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
218
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
219
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
220 .S "Use software leverage to your advantage.
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
221 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
222 foo
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
223
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
224
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
225 .S "Use shell scripts to increase leverage and portability.
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
226 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
227 foo
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
228
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
229
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
230 .S "Avoid captive user interfaces.
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
231 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
232 foo
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
233
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
234
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
235 .S "Make every program a filter.
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
236 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
237 foo
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
238
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
239
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
240
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
241
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
242
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
243 .P "real world examples
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
244
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
245
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
246 .S "various
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
247 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
248 who uses
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
249 .CW "grep -R
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
250 ?
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
251
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
252 .sp 1
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
253 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
254 .CW "cat -v
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
255
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
256 .sp 1
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
257 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
258 pagers are taken for granted
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
259
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
260 .sp 1
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
261 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
262 what about the readline?
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
263
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
264
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
265
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
266 .S "find -printf
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
267 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
268 How to reformat the output of find(1) to have ``FILENAME PATH''
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
269 instead of ``PATH/FILENAME''?
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
270
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
271 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
272 the ``easy'' way:
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
273 \f(CWfind /dir -printf "%P %h\en"\fP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
274
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
275 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
276 the ``good'' way:
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
277 .br
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
278 .CW "\s-1find /dir | sed 's,\e(.*\e)/\e(.*\e),\e2 \e1,'
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
279
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
280 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
281 The difference shows off when one wants, for instance,
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
282 the path to be manipulated further.
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
283
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
284
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
285 .S "MH / nmh
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
286 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
287 a Mail User Agent (MUA)
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
288
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
289
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
290 .S "uzbl
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
291 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
292 a web browser that adheres to the Unix Phil
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
293
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
294
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
295
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
296
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
297
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
298 .P "more than software dev guidelines
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
299
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
300
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
301
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
302
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
303
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
304 .P "literature
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
305
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
306
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
307 .S literature
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
308 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
309 ``\fBText Processing and Typesetting with Unix\fP''
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
310 by Barron and Rees
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
311 explains everything pretty good (focus on
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
312 .CW nroff )
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
313 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
314 ``\fBHeirloom Documentation Tools Nroff/Troff User's Manual\fP''
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
315 by Ossanna, Kernighan, and Ritter
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
316 is more a technical reference
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
317 .I
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
318 Various documents collected on
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
319 .CW \s-2http://troff.org\s+2
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
320
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
321
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
322 .S
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
323 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
324 this talk was prepared using tools of the Heirloom project:
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
325 .CW \s-2http://heirloom.sf.net\s+2
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
326 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
327 the slides macros are based on
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
328 .br
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
329 .CW \s-2http://repo.cat-v.org/troff-slider/\s+2
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
330 .sp
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
331
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
332 .LP
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
333 the slides are available on my website
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
334 .CW \s-2http://marmaro.de/docs\s+2
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
335 and on
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
336 .CW \s-2http://ulm.ccc.de/ChaosSeminar/\s+2
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
337 .sp
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
338
2335f5658fca added poster and slides
meillo@marmaro.de
parents:
diff changeset
339 2010-03-08