rev |
line source |
meillo@0
|
1 % @file
|
meillo@0
|
2 % @brief Vortrag: suckless.org (CCCS)
|
meillo@0
|
3 % @author markus schnalke <meillo@marmaro.de>
|
meillo@0
|
4 % @since 2008-08-11
|
meillo@0
|
5
|
meillo@0
|
6
|
meillo@0
|
7 \documentclass{beamer}
|
meillo@0
|
8
|
meillo@0
|
9 \usepackage[utf8]{inputenc}
|
meillo@0
|
10 \usepackage{ngerman}
|
meillo@0
|
11 \usepackage{graphicx}
|
meillo@0
|
12 \usepackage[automark]{scrpage2}
|
meillo@0
|
13
|
meillo@0
|
14 \title{suckless.org}
|
meillo@0
|
15 \author{markus schnalke}
|
meillo@0
|
16 \date{2008-08-14}
|
meillo@0
|
17
|
meillo@0
|
18 \begin{document}
|
meillo@0
|
19
|
meillo@0
|
20
|
meillo@0
|
21 \frame{
|
meillo@0
|
22 \vspace{8em}
|
meillo@0
|
23 \begin{center}
|
meillo@0
|
24 {\huge suckless}{\tiny .org}
|
meillo@0
|
25
|
meillo@0
|
26 {software that sucks less}
|
meillo@0
|
27
|
meillo@0
|
28 \vspace{6em}
|
meillo@0
|
29
|
meillo@0
|
30 { \tiny
|
meillo@0
|
31 markus schnalke \textless{}meillo@marmaro.de\textgreater{}
|
meillo@0
|
32 }
|
meillo@0
|
33
|
meillo@0
|
34 \end{center}
|
meillo@0
|
35 }
|
meillo@0
|
36
|
meillo@0
|
37
|
meillo@0
|
38
|
meillo@0
|
39
|
meillo@0
|
40
|
meillo@0
|
41 \section{suckless.org}
|
meillo@0
|
42 \frame{ \frametitle{what is suckless.org?}
|
meillo@0
|
43
|
meillo@0
|
44 something that Anselm R. Garbe started
|
meillo@0
|
45
|
meillo@0
|
46 \vspace{1em}
|
meillo@0
|
47 \pause
|
meillo@0
|
48
|
meillo@0
|
49 a website
|
meillo@0
|
50
|
meillo@0
|
51 \vspace{1em}
|
meillo@0
|
52 \pause
|
meillo@0
|
53
|
meillo@0
|
54 a couple of projects
|
meillo@0
|
55
|
meillo@0
|
56 \vspace{1em}
|
meillo@0
|
57 \pause
|
meillo@0
|
58
|
meillo@0
|
59 a community
|
meillo@0
|
60
|
meillo@0
|
61 \vspace{1em}
|
meillo@0
|
62 \pause
|
meillo@0
|
63
|
meillo@0
|
64 a philosophy
|
meillo@0
|
65
|
meillo@0
|
66 \vspace{3em}
|
meillo@0
|
67 \pause
|
meillo@0
|
68
|
meillo@0
|
69 \textit{ \dots\ not a summary, but we'll have one at the end }
|
meillo@0
|
70
|
meillo@0
|
71 }
|
meillo@0
|
72
|
meillo@0
|
73
|
meillo@2
|
74 \section{the website}
|
meillo@0
|
75 \frame{
|
meillo@0
|
76 \vspace{8ex}
|
meillo@2
|
77 \centerline{ \huge the website }
|
meillo@0
|
78 }
|
meillo@0
|
79
|
meillo@0
|
80
|
meillo@0
|
81
|
meillo@0
|
82 \frame{ \frametitle{website}
|
meillo@0
|
83 \begin{block}{www.suckless.org}
|
meillo@0
|
84 main page (links to everything else)
|
meillo@0
|
85 \end{block}
|
meillo@0
|
86
|
meillo@0
|
87 \begin{block}{lists.suckless.org}
|
meillo@0
|
88 the mailinglists archives
|
meillo@0
|
89 \end{block}
|
meillo@0
|
90
|
meillo@0
|
91 \begin{block}{code.suckless.org}
|
meillo@0
|
92 the source code repositories (Mercurial)
|
meillo@0
|
93 \end{block}
|
meillo@0
|
94 }
|
meillo@0
|
95
|
meillo@0
|
96
|
meillo@0
|
97 \frame{ \frametitle{the wiki}
|
meillo@0
|
98 \begin{block}{the wiki software}
|
meillo@0
|
99 \begin{itemize}
|
meillo@2
|
100 \item hgiki
|
meillo@0
|
101 \item self made
|
meillo@0
|
102 \item written in % FIXME
|
meillo@0
|
103 \end{itemize}
|
meillo@0
|
104 \end{block}
|
meillo@0
|
105
|
meillo@0
|
106 \begin{block}{content}
|
meillo@0
|
107 \begin{itemize}
|
meillo@0
|
108 \item static pages
|
meillo@0
|
109 \item kept in Mercurial repo
|
meillo@0
|
110 \item write access for everyone
|
meillo@0
|
111 \item edit cycle
|
meillo@0
|
112 \begin{itemize}
|
meillo@0
|
113 \item
|
meillo@0
|
114 \item
|
meillo@0
|
115 \item
|
meillo@0
|
116 \end{itemize}
|
meillo@0
|
117 \end{itemize}
|
meillo@0
|
118 \end{block}
|
meillo@0
|
119 }
|
meillo@0
|
120
|
meillo@0
|
121
|
meillo@0
|
122
|
meillo@0
|
123
|
meillo@0
|
124
|
meillo@0
|
125
|
meillo@0
|
126
|
meillo@0
|
127
|
meillo@2
|
128 \section{the couple of projects}
|
meillo@0
|
129 \frame{
|
meillo@0
|
130 \vspace{8ex}
|
meillo@2
|
131 \centerline{ \huge the couple of projects }
|
meillo@0
|
132 }
|
meillo@0
|
133
|
meillo@0
|
134
|
meillo@0
|
135 \frame{ \frametitle{projects}
|
meillo@0
|
136 \begin{block}{window managers}
|
meillo@0
|
137 \begin{itemize}
|
meillo@0
|
138 \item wmii
|
meillo@2
|
139 \item \textbf{dwm}
|
meillo@0
|
140 \end{itemize}
|
meillo@0
|
141 \end{block}
|
meillo@0
|
142
|
meillo@2
|
143 \begin{block}{IRC clients}
|
meillo@0
|
144 \begin{itemize}
|
meillo@0
|
145 \item sic
|
meillo@0
|
146 \item ii
|
meillo@0
|
147 \end{itemize}
|
meillo@0
|
148 \end{block}
|
meillo@0
|
149
|
meillo@2
|
150 \begin{block}{various tools}
|
meillo@0
|
151 \begin{itemize}
|
meillo@2
|
152 \item dmenu, slock, sselp, lsx, \dots
|
meillo@0
|
153 \end{itemize}
|
meillo@0
|
154 \end{block}
|
meillo@0
|
155 }
|
meillo@0
|
156
|
meillo@0
|
157
|
meillo@0
|
158 \frame{ \frametitle{dynamic window manager}
|
meillo@0
|
159 \begin{itemize}
|
meillo@0
|
160 \item since June 2006
|
meillo@2
|
161 \item tiling approach
|
meillo@0
|
162 \item minimalistic
|
meillo@2
|
163 \item less than 2k SLOC
|
meillo@0
|
164 \end{itemize}
|
meillo@0
|
165
|
meillo@0
|
166 \begin{block}{features}
|
meillo@0
|
167 \begin{itemize}
|
meillo@0
|
168 \item only what you really need
|
meillo@0
|
169 \item for keyboard users primary
|
meillo@0
|
170 \item tags instead of workspaces
|
meillo@0
|
171 \item sticks to the standards (broken apps)
|
meillo@0
|
172 \end{itemize}
|
meillo@0
|
173 \end{block}
|
meillo@0
|
174 }
|
meillo@0
|
175
|
meillo@2
|
176 \frame{ \frametitle{related WMs}
|
meillo@2
|
177 \begin{block}{parents, uncles and aunts} %FIXME: vorfahren
|
meillo@0
|
178 \begin{itemize}
|
meillo@0
|
179 \item \texttt{larswm}, \texttt{ratpoison}, \texttt{ion3}, \dots
|
meillo@2
|
180 \item but these are much larger
|
meillo@0
|
181 \end{itemize}
|
meillo@0
|
182 \end{block}
|
meillo@0
|
183
|
meillo@2
|
184 \begin{block}{children}
|
meillo@0
|
185 \begin{itemize}
|
meillo@2
|
186 \item \texttt{xmonad}, a clone in Haskel
|
meillo@2
|
187 \item \texttt{awesome}, a popular fork that breaks with the main philosophy
|
meillo@2
|
188 \item \texttt{dvtm}, dwm-like WM for the console
|
meillo@0
|
189 \end{itemize}
|
meillo@0
|
190 \end{block}
|
meillo@0
|
191 }
|
meillo@0
|
192
|
meillo@0
|
193
|
meillo@0
|
194
|
meillo@0
|
195 \frame{ \frametitle{dwm-meillo}
|
meillo@0
|
196 \begin{itemize}
|
meillo@2
|
197 \item a patchset (fork?)
|
meillo@2
|
198 \item based on dwm-3.4 (current is 5.1)
|
meillo@0
|
199 \item various differences to vanilla dwm
|
meillo@0
|
200 \item dwm is the base, where I build upon
|
meillo@2
|
201 \item \texttt{http://prog.marmaro.de/dwm-meillo}
|
meillo@0
|
202 \end{itemize}
|
meillo@0
|
203 }
|
meillo@0
|
204
|
meillo@0
|
205
|
meillo@0
|
206
|
meillo@0
|
207
|
meillo@0
|
208
|
meillo@0
|
209
|
meillo@2
|
210 \section{the community}
|
meillo@0
|
211 \frame{
|
meillo@0
|
212 \vspace{8ex}
|
meillo@2
|
213 \centerline{ \huge the community }
|
meillo@0
|
214 }
|
meillo@0
|
215
|
meillo@0
|
216
|
meillo@0
|
217
|
meillo@2
|
218 \frame{ \frametitle{community}
|
meillo@0
|
219 \begin{block}{people}
|
meillo@0
|
220 \begin{itemize}
|
meillo@0
|
221 \item small active community
|
meillo@0
|
222 \item every user is a programmer
|
meillo@2
|
223 \item strong connection to Plan9fans
|
meillo@0
|
224 \end{itemize}
|
meillo@0
|
225 \end{block}
|
meillo@0
|
226
|
meillo@2
|
227 \pause
|
meillo@2
|
228
|
meillo@2
|
229 \begin{block}{development (dwm)}
|
meillo@0
|
230 \begin{itemize}
|
meillo@0
|
231 \item mainly by arg
|
meillo@2
|
232 \item a handful core contributors
|
meillo@0
|
233 \item involved user base
|
meillo@0
|
234 \item patches
|
meillo@2
|
235 \item everyone can start right off
|
meillo@0
|
236 \end{itemize}
|
meillo@0
|
237 \end{block}
|
meillo@0
|
238
|
meillo@0
|
239 }
|
meillo@0
|
240
|
meillo@0
|
241
|
meillo@0
|
242 \frame{ \frametitle{communication}
|
meillo@0
|
243 \begin{block}{communication}
|
meillo@0
|
244 \begin{itemize}
|
meillo@0
|
245 \item everything is discussed on mailing list
|
meillo@0
|
246 \item mailing list is mandatory
|
meillo@2
|
247 \item IRC channel \texttt{\#dwm} on oftc.net
|
meillo@0
|
248 \end{itemize}
|
meillo@0
|
249 \end{block}
|
meillo@0
|
250
|
meillo@2
|
251 \pause
|
meillo@2
|
252
|
meillo@0
|
253 \begin{block}{mailing lists}
|
meillo@0
|
254 \begin{itemize}
|
meillo@2
|
255 \item \{dwm,wmii\}@lists.suckless.org
|
meillo@2
|
256 \item about XXX mails per week (for dwm) % FIXME
|
meillo@0
|
257 \item GMANE archive
|
meillo@0
|
258 \item announcement list also
|
meillo@0
|
259 \end{itemize}
|
meillo@0
|
260 \end{block}
|
meillo@0
|
261 }
|
meillo@0
|
262
|
meillo@0
|
263
|
meillo@0
|
264
|
meillo@0
|
265
|
meillo@0
|
266
|
meillo@0
|
267
|
meillo@0
|
268
|
meillo@0
|
269
|
meillo@0
|
270
|
meillo@0
|
271
|
meillo@0
|
272
|
meillo@0
|
273
|
meillo@0
|
274
|
meillo@2
|
275 \section{the philosophy}
|
meillo@0
|
276 \frame{
|
meillo@0
|
277 \vspace{8ex}
|
meillo@2
|
278 \centerline{ \huge the philosophy }
|
meillo@0
|
279 }
|
meillo@0
|
280
|
meillo@0
|
281
|
meillo@0
|
282 \frame{ \frametitle{sane software}
|
meillo@0
|
283 \begin{itemize}
|
meillo@0
|
284 \item follows the Unix Philosophy
|
meillo@0
|
285 \item is small
|
meillo@0
|
286 \item implements standards
|
meillo@0
|
287 \item gets refactored
|
meillo@2
|
288 \item is developed by its users
|
meillo@0
|
289 \end{itemize}
|
meillo@0
|
290 }
|
meillo@0
|
291
|
meillo@0
|
292
|
meillo@0
|
293
|
meillo@0
|
294
|
meillo@0
|
295
|
meillo@0
|
296
|
meillo@2
|
297 \frame{ \frametitle{suckless goals}
|
meillo@2
|
298 \begin{block}{development}
|
meillo@0
|
299 \begin{itemize}
|
meillo@2
|
300 \item active development (release early, release often)
|
meillo@0
|
301 \end{itemize}
|
meillo@0
|
302 \end{block}
|
meillo@0
|
303
|
meillo@2
|
304 \pause
|
meillo@2
|
305
|
meillo@2
|
306 \begin{block}{customization}
|
meillo@2
|
307 \begin{itemize}
|
meillo@2
|
308 \item by source code editing and recompilation
|
meillo@2
|
309 \item extension through patches
|
meillo@2
|
310 \end{itemize}
|
meillo@2
|
311 \end{block}
|
meillo@2
|
312
|
meillo@2
|
313 \pause
|
meillo@2
|
314
|
meillo@2
|
315 \begin{block}{size}
|
meillo@0
|
316 \begin{itemize}
|
meillo@0
|
317 \item 10kLOC limit
|
meillo@2
|
318 \item minimalistic, only the needed stuff
|
meillo@2
|
319 \item source is understandable in one evening
|
meillo@0
|
320 \end{itemize}
|
meillo@0
|
321 \end{block}
|
meillo@0
|
322 }
|
meillo@0
|
323
|
meillo@0
|
324
|
meillo@0
|
325
|
meillo@0
|
326
|
meillo@0
|
327
|
meillo@0
|
328
|
meillo@0
|
329 \section{summary}
|
meillo@0
|
330 \frame{
|
meillo@0
|
331 \vspace{8ex}
|
meillo@0
|
332 \centerline{ \huge summary }
|
meillo@0
|
333 }
|
meillo@0
|
334
|
meillo@0
|
335
|
meillo@0
|
336
|
meillo@2
|
337 \frame{ \frametitle{what suckless.org means to me}
|
meillo@0
|
338
|
meillo@0
|
339 \pause
|
meillo@0
|
340
|
meillo@2
|
341 interesting projects
|
meillo@0
|
342
|
meillo@2
|
343 innovation
|
meillo@0
|
344
|
meillo@2
|
345 different thinking
|
meillo@0
|
346
|
meillo@2
|
347 remember the old times
|
meillo@0
|
348
|
meillo@2
|
349 question what matters
|
meillo@2
|
350
|
meillo@2
|
351 good leadership
|
meillo@2
|
352
|
meillo@2
|
353 perfect example of how to create a community
|
meillo@2
|
354
|
meillo@2
|
355 in search for the perfect solution
|
meillo@2
|
356
|
meillo@2
|
357 the concept rules
|
meillo@2
|
358
|
meillo@2
|
359 never programs felt so natural to me
|
meillo@2
|
360
|
meillo@2
|
361 shows what is possible with less
|
meillo@2
|
362
|
meillo@2
|
363 changed my point of view
|
meillo@2
|
364
|
meillo@2
|
365 \vspace{1ex}
|
meillo@2
|
366 \textbf{thanks arg!}
|
meillo@0
|
367 }
|
meillo@0
|
368
|
meillo@0
|
369
|
meillo@0
|
370
|
meillo@0
|
371
|
meillo@0
|
372
|
meillo@0
|
373
|
meillo@0
|
374 \section{thanks}
|
meillo@0
|
375 \frame{
|
meillo@0
|
376 \begin{block}{software used}
|
meillo@1
|
377 \begin{itemize}
|
meillo@1
|
378 \item Debian GNU/Linux
|
meillo@1
|
379 \item \LaTeX\ beamer und \texttt{pdflatex}
|
meillo@1
|
380 \item Vim, make und Mercurial
|
meillo@1
|
381 \end{itemize}
|
meillo@0
|
382 \end{block}
|
meillo@0
|
383
|
meillo@0
|
384 \pause
|
meillo@0
|
385
|
meillo@0
|
386 \begin{block}{}
|
meillo@2
|
387 \vspace{7ex}
|
meillo@0
|
388 \centerline{\textbf{Thanks for your attention}}
|
meillo@0
|
389 \vspace{7ex}
|
meillo@0
|
390 \end{block}
|
meillo@0
|
391
|
meillo@0
|
392 \pause
|
meillo@0
|
393
|
meillo@2
|
394 {\scriptsize The slides are available on \texttt{http://marmaro.de/docs} \hfill 2008-08-14 }
|
meillo@0
|
395 }
|
meillo@0
|
396
|
meillo@0
|
397
|
meillo@0
|
398 \end{document}
|
meillo@0
|
399
|