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@3
|
100 \item hgiki (genosite)
|
meillo@3
|
101 \item self made by arg
|
meillo@3
|
102 \item shell script with 100 SLOC
|
meillo@3
|
103 \item static pages
|
meillo@3
|
104 \item uses markdown markup
|
meillo@0
|
105 \end{itemize}
|
meillo@0
|
106 \end{block}
|
meillo@0
|
107
|
meillo@0
|
108 \begin{block}{content}
|
meillo@0
|
109 \begin{itemize}
|
meillo@0
|
110 \item kept in Mercurial repo
|
meillo@3
|
111 \item write access to preview wiki (port 8000)
|
meillo@0
|
112 \begin{itemize}
|
meillo@3
|
113 \item \texttt{hg clone http://www.suckless.org:8000/hg/wiki}
|
meillo@3
|
114 \item \texttt{vi \textless some-file\textgreater }
|
meillo@3
|
115 \item \texttt{hg commit \&\& hg push}
|
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@3
|
223 \item strong connection to 9fans
|
meillo@0
|
224 \end{itemize}
|
meillo@0
|
225 \end{block}
|
meillo@0
|
226
|
meillo@2
|
227 \begin{block}{development (dwm)}
|
meillo@0
|
228 \begin{itemize}
|
meillo@0
|
229 \item mainly by arg
|
meillo@2
|
230 \item a handful core contributors
|
meillo@0
|
231 \item involved user base
|
meillo@0
|
232 \item patches
|
meillo@2
|
233 \item everyone can start right off
|
meillo@0
|
234 \end{itemize}
|
meillo@0
|
235 \end{block}
|
meillo@0
|
236
|
meillo@0
|
237 }
|
meillo@0
|
238
|
meillo@0
|
239
|
meillo@0
|
240 \frame{ \frametitle{communication}
|
meillo@0
|
241 \begin{block}{communication}
|
meillo@0
|
242 \begin{itemize}
|
meillo@0
|
243 \item everything is discussed on mailing list
|
meillo@0
|
244 \item mailing list is mandatory
|
meillo@3
|
245 \item IRC channels \texttt{\#dwm} \& \texttt{\#wmii} on oftc.net
|
meillo@0
|
246 \end{itemize}
|
meillo@0
|
247 \end{block}
|
meillo@0
|
248
|
meillo@0
|
249 \begin{block}{mailing lists}
|
meillo@0
|
250 \begin{itemize}
|
meillo@3
|
251 \item \{dwm,wmii\}@suckless.org
|
meillo@3
|
252 \item about 8 mails per day average
|
meillo@3
|
253 \item announcement list: hackers@suckless.org
|
meillo@0
|
254 \end{itemize}
|
meillo@0
|
255 \end{block}
|
meillo@0
|
256 }
|
meillo@0
|
257
|
meillo@0
|
258
|
meillo@0
|
259
|
meillo@0
|
260
|
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@2
|
270 \section{the philosophy}
|
meillo@0
|
271 \frame{
|
meillo@0
|
272 \vspace{8ex}
|
meillo@2
|
273 \centerline{ \huge the philosophy }
|
meillo@0
|
274 }
|
meillo@0
|
275
|
meillo@0
|
276
|
meillo@0
|
277 \frame{ \frametitle{sane software}
|
meillo@0
|
278 \begin{itemize}
|
meillo@0
|
279 \item follows the Unix Philosophy
|
meillo@0
|
280 \item is small
|
meillo@0
|
281 \item implements standards
|
meillo@0
|
282 \item gets refactored
|
meillo@2
|
283 \item is developed by its users
|
meillo@0
|
284 \end{itemize}
|
meillo@0
|
285 }
|
meillo@0
|
286
|
meillo@0
|
287
|
meillo@0
|
288
|
meillo@0
|
289
|
meillo@0
|
290
|
meillo@0
|
291
|
meillo@2
|
292 \frame{ \frametitle{suckless goals}
|
meillo@2
|
293 \begin{block}{development}
|
meillo@0
|
294 \begin{itemize}
|
meillo@2
|
295 \item active development (release early, release often)
|
meillo@0
|
296 \end{itemize}
|
meillo@0
|
297 \end{block}
|
meillo@0
|
298
|
meillo@2
|
299 \begin{block}{customization}
|
meillo@2
|
300 \begin{itemize}
|
meillo@2
|
301 \item by source code editing and recompilation
|
meillo@2
|
302 \item extension through patches
|
meillo@2
|
303 \end{itemize}
|
meillo@2
|
304 \end{block}
|
meillo@2
|
305
|
meillo@2
|
306 \begin{block}{size}
|
meillo@0
|
307 \begin{itemize}
|
meillo@0
|
308 \item 10kLOC limit
|
meillo@2
|
309 \item minimalistic, only the needed stuff
|
meillo@2
|
310 \item source is understandable in one evening
|
meillo@0
|
311 \end{itemize}
|
meillo@0
|
312 \end{block}
|
meillo@0
|
313 }
|
meillo@0
|
314
|
meillo@0
|
315
|
meillo@0
|
316
|
meillo@0
|
317
|
meillo@0
|
318
|
meillo@0
|
319
|
meillo@0
|
320 \section{summary}
|
meillo@0
|
321 \frame{
|
meillo@0
|
322 \vspace{8ex}
|
meillo@0
|
323 \centerline{ \huge summary }
|
meillo@0
|
324 }
|
meillo@0
|
325
|
meillo@0
|
326
|
meillo@0
|
327
|
meillo@2
|
328 \frame{ \frametitle{what suckless.org means to me}
|
meillo@0
|
329
|
meillo@0
|
330 \pause
|
meillo@0
|
331
|
meillo@2
|
332 interesting projects
|
meillo@0
|
333
|
meillo@2
|
334 innovation
|
meillo@0
|
335
|
meillo@2
|
336 different thinking
|
meillo@0
|
337
|
meillo@2
|
338 remember the old times
|
meillo@0
|
339
|
meillo@2
|
340 question what matters
|
meillo@2
|
341
|
meillo@2
|
342 good leadership
|
meillo@2
|
343
|
meillo@2
|
344 perfect example of how to create a community
|
meillo@2
|
345
|
meillo@2
|
346 in search for the perfect solution
|
meillo@2
|
347
|
meillo@2
|
348 the concept rules
|
meillo@2
|
349
|
meillo@2
|
350 never programs felt so natural to me
|
meillo@2
|
351
|
meillo@2
|
352 shows what is possible with less
|
meillo@2
|
353
|
meillo@2
|
354 changed my point of view
|
meillo@2
|
355
|
meillo@2
|
356 \vspace{1ex}
|
meillo@2
|
357 \textbf{thanks arg!}
|
meillo@0
|
358 }
|
meillo@0
|
359
|
meillo@0
|
360
|
meillo@0
|
361
|
meillo@0
|
362
|
meillo@0
|
363
|
meillo@0
|
364
|
meillo@0
|
365 \section{thanks}
|
meillo@0
|
366 \frame{
|
meillo@0
|
367 \begin{block}{software used}
|
meillo@1
|
368 \begin{itemize}
|
meillo@1
|
369 \item Debian GNU/Linux
|
meillo@1
|
370 \item \LaTeX\ beamer und \texttt{pdflatex}
|
meillo@1
|
371 \item Vim, make und Mercurial
|
meillo@1
|
372 \end{itemize}
|
meillo@0
|
373 \end{block}
|
meillo@0
|
374
|
meillo@0
|
375 \pause
|
meillo@0
|
376
|
meillo@0
|
377 \begin{block}{}
|
meillo@2
|
378 \vspace{7ex}
|
meillo@0
|
379 \centerline{\textbf{Thanks for your attention}}
|
meillo@0
|
380 \vspace{7ex}
|
meillo@0
|
381 \end{block}
|
meillo@0
|
382
|
meillo@0
|
383 \pause
|
meillo@0
|
384
|
meillo@2
|
385 {\scriptsize The slides are available on \texttt{http://marmaro.de/docs} \hfill 2008-08-14 }
|
meillo@0
|
386 }
|
meillo@0
|
387
|
meillo@0
|
388
|
meillo@0
|
389 \end{document}
|
meillo@0
|
390
|