
meillo@0: % @file
meillo@0: % @brief	 Vortrag: suckless.org (CCCS)
meillo@0: % @author	markus schnalke <meillo@marmaro.de>
meillo@0: % @since	 2008-08-11
meillo@0: 
meillo@0: 
meillo@0: \documentclass{beamer}
meillo@0: 
meillo@0: 	\usepackage[utf8]{inputenc}
meillo@0: 	\usepackage{ngerman}
meillo@0: 	\usepackage{graphicx}
meillo@0: 	\usepackage[automark]{scrpage2}
meillo@0: 
meillo@0: 	\title{suckless.org}
meillo@0: 	\author{markus schnalke}
meillo@0: 	\date{2008-08-14}
meillo@0: 
meillo@0: \begin{document}
meillo@0: 
meillo@0: 
meillo@0: \frame{
meillo@0: 	\vspace{8em}
meillo@0: 	\begin{center}
meillo@0: 		{\huge suckless}{\tiny .org}
meillo@0: 
meillo@0: 		{software that sucks less}
meillo@0: 
meillo@0: 		\vspace{6em}
meillo@0: 
meillo@0: 		{ \tiny
meillo@0: 		markus schnalke \textless{}meillo@marmaro.de\textgreater{}
meillo@0: 		}
meillo@0: 
meillo@0: 	\end{center}
meillo@0: }
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: \section{suckless.org}
meillo@0: \frame{ \frametitle{what is suckless.org?}
meillo@0: 
meillo@0: 	something that Anselm R. Garbe started
meillo@0: 
meillo@0: 	\vspace{1em}
meillo@0: 	\pause
meillo@0: 
meillo@0: 	a website
meillo@0: 
meillo@0: 	\vspace{1em}
meillo@0: 	\pause
meillo@0: 
meillo@0: 	a couple of projects
meillo@0: 
meillo@0: 	\vspace{1em}
meillo@0: 	\pause
meillo@0: 
meillo@0: 	a community
meillo@0: 
meillo@0: 	\vspace{1em}
meillo@0: 	\pause
meillo@0: 
meillo@0: 	a philosophy
meillo@0: 
meillo@0: 	\vspace{3em}
meillo@0: 	\pause
meillo@0: 
meillo@0: 	\textit{ \dots\ not a summary, but we'll have one at the end }
meillo@0: 
meillo@0: }
meillo@0: 
meillo@0: 
meillo@2: \section{the website}
meillo@0: \frame{
meillo@0: 	\vspace{8ex}
meillo@2: 	\centerline{ \huge the website }
meillo@0: }
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: \frame{ \frametitle{website}
meillo@0: 	\begin{block}{www.suckless.org}
meillo@0: 		main page (links to everything else)
meillo@0: 	\end{block}
meillo@0: 
meillo@0: 	\begin{block}{lists.suckless.org}
meillo@0: 		the mailinglists archives
meillo@0: 	\end{block}
meillo@0: 
meillo@0: 	\begin{block}{code.suckless.org}
meillo@0: 		the source code repositories (Mercurial)
meillo@0: 	\end{block}
meillo@0: }
meillo@0: 
meillo@0: 
meillo@0: \frame{ \frametitle{the wiki}
meillo@0: 	\begin{block}{the wiki software}
meillo@0: 		\begin{itemize}
meillo@3: 			\item hgiki (genosite)
meillo@3: 			\item self made by arg
meillo@3: 			\item shell script with 100 SLOC
meillo@3: 			\item static pages
meillo@3: 			\item uses markdown markup
meillo@0: 		\end{itemize}
meillo@0: 	\end{block}
meillo@0: 
meillo@0: 	\begin{block}{content}
meillo@0: 		\begin{itemize}
meillo@0: 			\item kept in Mercurial repo
meillo@3: 			\item write access to preview wiki (port 8000)
meillo@0: 				\begin{itemize}
meillo@3: 					\item \texttt{hg clone http://www.suckless.org:8000/hg/wiki}
meillo@3: 					\item \texttt{vi \textless some-file\textgreater }
meillo@3: 					\item \texttt{hg commit \&\& hg push}
meillo@0: 				\end{itemize}
meillo@0: 		\end{itemize}
meillo@0: 	\end{block}
meillo@0: }
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: 
meillo@2: \section{the couple of projects}
meillo@0: \frame{
meillo@0: 	\vspace{8ex}
meillo@2: 	\centerline{ \huge the couple of projects }
meillo@0: }
meillo@0: 
meillo@0: 
meillo@0: \frame{ \frametitle{projects}
meillo@0: 	\begin{block}{window managers}
meillo@0: 		\begin{itemize}
meillo@0: 			\item wmii
meillo@2: 			\item \textbf{dwm}
meillo@0: 		\end{itemize}
meillo@0: 	\end{block}
meillo@0: 
meillo@2: 	\begin{block}{IRC clients}
meillo@0: 		\begin{itemize}
meillo@0: 			\item sic
meillo@0: 			\item ii
meillo@0: 		\end{itemize}
meillo@0: 	\end{block}
meillo@0: 
meillo@2: 	\begin{block}{various tools}
meillo@0: 		\begin{itemize}
meillo@2: 			\item dmenu, slock, sselp, lsx, \dots
meillo@0: 		\end{itemize}
meillo@0: 	\end{block}
meillo@0: }
meillo@0: 
meillo@0: 
meillo@0: \frame{ \frametitle{dynamic window manager}
meillo@0: 	\begin{itemize}
meillo@0: 		\item since June 2006
meillo@2: 		\item tiling approach
meillo@0: 		\item minimalistic
meillo@2: 		\item less than 2k SLOC
meillo@0: 	\end{itemize}
meillo@0: 	
meillo@0: 	\begin{block}{features}
meillo@0: 		\begin{itemize}
meillo@0: 			\item only what you really need
meillo@0: 			\item for keyboard users primary
meillo@0: 			\item tags instead of workspaces
meillo@0: 			\item sticks to the standards (broken apps)
meillo@0: 		\end{itemize}
meillo@0: 	\end{block}
meillo@0: }
meillo@0: 
meillo@2: \frame{ \frametitle{related WMs}
meillo@2: 	\begin{block}{parents, uncles and aunts} %FIXME: vorfahren
meillo@0: 		\begin{itemize}
meillo@0: 			\item \texttt{larswm}, \texttt{ratpoison}, \texttt{ion3}, \dots
meillo@2: 			\item but these are much larger
meillo@0: 		\end{itemize}
meillo@0: 	\end{block}
meillo@0: 
meillo@2: 	\begin{block}{children}
meillo@0: 		\begin{itemize}
meillo@2: 			\item \texttt{xmonad}, a clone in Haskel
meillo@2: 			\item \texttt{awesome}, a popular fork that breaks with the main philosophy
meillo@2: 			\item \texttt{dvtm}, dwm-like WM for the console
meillo@0: 		\end{itemize}
meillo@0: 	\end{block}
meillo@0: }
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: \frame{ \frametitle{dwm-meillo}
meillo@0: 	\begin{itemize}
meillo@2: 		\item a patchset (fork?)
meillo@2: 		\item based on dwm-3.4 (current is 5.1)
meillo@0: 		\item various differences to vanilla dwm
meillo@0: 		\item dwm is the base, where I build upon
meillo@2: 		\item \texttt{http://prog.marmaro.de/dwm-meillo}
meillo@0: 	\end{itemize}
meillo@0: }
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: 
meillo@2: \section{the community}
meillo@0: \frame{
meillo@0: 	\vspace{8ex}
meillo@2: 	\centerline{ \huge the community }
meillo@0: }
meillo@0: 
meillo@0: 
meillo@0: 
meillo@2: \frame{ \frametitle{community}
meillo@0: 	\begin{block}{people}
meillo@0: 		\begin{itemize}
meillo@0: 			\item small active community
meillo@0: 			\item every user is a programmer
meillo@3: 			\item strong connection to 9fans
meillo@0: 		\end{itemize}
meillo@0: 	\end{block}
meillo@0: 
meillo@2: 	\begin{block}{development (dwm)}
meillo@0: 		\begin{itemize}
meillo@0: 			\item mainly by arg
meillo@2: 			\item a handful core contributors
meillo@0: 			\item involved user base
meillo@0: 			\item patches
meillo@2: 			\item everyone can start right off
meillo@0: 		\end{itemize}
meillo@0: 	\end{block}
meillo@0: 
meillo@0: }
meillo@0: 
meillo@0: 
meillo@0: \frame{ \frametitle{communication}
meillo@0: 	\begin{block}{communication}
meillo@0: 		\begin{itemize}
meillo@0: 			\item everything is discussed on mailing list
meillo@0: 			\item mailing list is mandatory
meillo@3: 			\item IRC channels \texttt{\#dwm} \& \texttt{\#wmii} on oftc.net
meillo@0: 		\end{itemize}
meillo@0: 	\end{block}
meillo@0: 
meillo@0: 	\begin{block}{mailing lists}
meillo@0: 		\begin{itemize}
meillo@3: 			\item \{dwm,wmii\}@suckless.org
meillo@3: 			\item about 8 mails per day average
meillo@3: 			\item announcement list: hackers@suckless.org
meillo@0: 		\end{itemize}
meillo@0: 	\end{block}
meillo@0: }
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: 
meillo@2: \section{the philosophy}
meillo@0: \frame{
meillo@0: 	\vspace{8ex}
meillo@2: 	\centerline{ \huge the philosophy }
meillo@0: }
meillo@0: 
meillo@0: 
meillo@0: \frame{ \frametitle{sane software}
meillo@0: 	\begin{itemize}
meillo@0: 		\item follows the Unix Philosophy
meillo@0: 		\item is small
meillo@0: 		\item implements standards
meillo@0: 		\item gets refactored
meillo@2: 		\item is developed by its users
meillo@0: 	\end{itemize}
meillo@0: }
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: 
meillo@2: \frame{ \frametitle{suckless goals}
meillo@2: 	\begin{block}{development}
meillo@0: 		\begin{itemize}
meillo@2: 			\item active development (release early, release often)
meillo@0: 		\end{itemize}
meillo@0: 	\end{block}
meillo@0: 
meillo@2: 	\begin{block}{customization}
meillo@2: 		\begin{itemize}
meillo@2: 			\item by source code editing and recompilation
meillo@2: 			\item extension through patches
meillo@2: 		\end{itemize}
meillo@2: 	\end{block}
meillo@2: 
meillo@2: 	\begin{block}{size}
meillo@0: 		\begin{itemize}
meillo@0: 			\item 10kLOC limit
meillo@2: 			\item minimalistic, only the needed stuff
meillo@2: 			\item source is understandable in one evening
meillo@0: 		\end{itemize}
meillo@0: 	\end{block}
meillo@0: }
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: \section{summary}
meillo@0: \frame{
meillo@0: 	\vspace{8ex}
meillo@0: 	\centerline{ \huge summary }
meillo@0: }
meillo@0: 
meillo@0: 
meillo@0: 
meillo@2: \frame{ \frametitle{what suckless.org means to me}
meillo@0: 
meillo@0: 	\pause
meillo@2: 
meillo@2: 	interesting projects
meillo@2: 
meillo@2: 	innovation
meillo@0: 
meillo@2: 	different thinking
meillo@2: 
meillo@2: 	remember the old times
meillo@2: 
meillo@2: 	question what matters
meillo@2: 
meillo@2: 	good leadership
meillo@0: 
meillo@2: 	perfect example of how to create a community
meillo@2: 
meillo@2: 	in search for the perfect solution
meillo@2: 
meillo@2: 	the concept rules
meillo@0: 
meillo@2: 	never programs felt so natural to me
meillo@2: 
meillo@2: 	shows what is possible with less
meillo@2: 
meillo@2: 	changed my point of view
meillo@2: 
meillo@2: 	\vspace{1ex}
meillo@2: 	\textbf{thanks arg!}
meillo@0: }
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: 
meillo@0: \section{thanks}
meillo@0: \frame{
meillo@0: 	\begin{block}{software used}
meillo@1: 		\begin{itemize}
meillo@1: 			\item Debian GNU/Linux
meillo@1: 			\item \LaTeX\ beamer und \texttt{pdflatex}
meillo@1: 			\item Vim, make und Mercurial
meillo@1: 		\end{itemize}
meillo@0: 	\end{block}
meillo@0: 
meillo@0: 	\pause
meillo@0: 
meillo@0: 	\begin{block}{}
meillo@2: 		\vspace{7ex}
meillo@0: 		\centerline{\textbf{Thanks for your attention}}
meillo@0: 		\vspace{7ex}
meillo@0: 	\end{block}
meillo@0: 
meillo@0: 	\pause
meillo@0: 
meillo@2: 	{\scriptsize The slides are available on \texttt{http://marmaro.de/docs} \hfill 2008-08-14 }
meillo@0: }
meillo@0: 
meillo@0: 
meillo@0: \end{document}
meillo@0: 




