% @file
% @brief	 Vortrag: suckless.org (CCCS)
% @author	markus schnalke <meillo@marmaro.de>
% @since	 2008-08-11


\documentclass{beamer}

	\usepackage[utf8]{inputenc}
	\usepackage{ngerman}
	\usepackage{graphicx}
	\usepackage[automark]{scrpage2}

	\title{suckless.org}
	\author{markus schnalke}
	\date{2008-08-14}

\begin{document}


\frame{
	\vspace{8em}
	\begin{center}
		{\huge suckless}{\tiny .org}

		{software that sucks less}

		\vspace{6em}

		{ \tiny
		markus schnalke \textless{}meillo@marmaro.de\textgreater{}
		}

	\end{center}
}





\section{suckless.org}
\frame{ \frametitle{what is suckless.org?}

	something that Anselm R. Garbe started

	\vspace{1em}
	\pause

	a website

	\vspace{1em}
	\pause

	a couple of projects

	\vspace{1em}
	\pause

	a community

	\vspace{1em}
	\pause

	a philosophy

	\vspace{3em}
	\pause

	\textit{ \dots\ not a summary, but we'll have one at the end }

}


\section{the website}
\frame{
	\vspace{8ex}
	\centerline{ \huge the website }
}



\frame{ \frametitle{website}
	\begin{block}{www.suckless.org}
		main page (links to everything else)
	\end{block}

	\begin{block}{lists.suckless.org}
		the mailinglists archives
	\end{block}

	\begin{block}{code.suckless.org}
		the source code repositories (Mercurial)
	\end{block}
}


\frame{ \frametitle{the wiki}
	\begin{block}{the wiki software}
		\begin{itemize}
			\item hgiki (genosite)
			\item self made by arg
			\item shell script with 100 SLOC
			\item static pages
			\item uses markdown markup
		\end{itemize}
	\end{block}

	\begin{block}{content}
		\begin{itemize}
			\item kept in Mercurial repo
			\item write access to preview wiki (port 8000)
				\begin{itemize}
					\item \texttt{hg clone http://www.suckless.org:8000/hg/wiki}
					\item \texttt{vi \textless some-file\textgreater }
					\item \texttt{hg commit \&\& hg push}
				\end{itemize}
		\end{itemize}
	\end{block}
}








\section{the couple of projects}
\frame{
	\vspace{8ex}
	\centerline{ \huge the couple of projects }
}


\frame{ \frametitle{projects}
	\begin{block}{window managers}
		\begin{itemize}
			\item wmii
			\item \textbf{dwm}
		\end{itemize}
	\end{block}

	\begin{block}{IRC clients}
		\begin{itemize}
			\item sic
			\item ii
		\end{itemize}
	\end{block}

	\begin{block}{various tools}
		\begin{itemize}
			\item dmenu, slock, sselp, lsx, \dots
		\end{itemize}
	\end{block}
}


\frame{ \frametitle{dynamic window manager}
	\begin{itemize}
		\item since June 2006
		\item tiling approach
		\item minimalistic
		\item less than 2k SLOC
	\end{itemize}
	
	\begin{block}{features}
		\begin{itemize}
			\item only what you really need
			\item for keyboard users primary
			\item tags instead of workspaces
			\item sticks to the standards (broken apps)
		\end{itemize}
	\end{block}
}

\frame{ \frametitle{related WMs}
	\begin{block}{anchestors}
		\begin{itemize}
			\item \texttt{larswm}, \texttt{ratpoison}, \texttt{ion3}, \dots
			\item but these are much larger
		\end{itemize}
	\end{block}

	\begin{block}{children}
		\begin{itemize}
			\item \texttt{xmonad}, a clone in Haskel
			\item \texttt{awesome}, a popular fork that breaks with the main philosophy
			\item \texttt{dvtm}, dwm-like WM for the console
		\end{itemize}
	\end{block}
}



\frame{ \frametitle{dwm-meillo}
	\begin{itemize}
		\item a patchset (fork?)
		\item based on dwm-3.4 (current is 5.1)
		\item various differences to vanilla dwm
		\item dwm is the base, where I build upon
		\item \texttt{http://prog.marmaro.de/dwm-meillo}
	\end{itemize}
}






\section{the community}
\frame{
	\vspace{8ex}
	\centerline{ \huge the community }
}



\frame{ \frametitle{community}
	\begin{block}{people}
		\begin{itemize}
			\item small active community
			\item every user is a programmer
			\item strong connection to 9fans
		\end{itemize}
	\end{block}

	\begin{block}{development (dwm)}
		\begin{itemize}
			\item mainly by arg
			\item a handful core contributors
			\item involved user base
			\item patches
			\item everyone can start right off
		\end{itemize}
	\end{block}

}


\frame{ \frametitle{communication}
	\begin{block}{communication}
		\begin{itemize}
			\item everything is discussed on mailing list
			\item mailing list is mandatory
			\item IRC channels \texttt{\#dwm} \& \texttt{\#wmii} on oftc.net
		\end{itemize}
	\end{block}

	\begin{block}{mailing lists}
		\begin{itemize}
			\item \{dwm,wmii\}@suckless.org
			\item about 8 mails per day average
			\item announcement list: hackers@suckless.org
		\end{itemize}
	\end{block}
}













\section{the philosophy}
\frame{
	\vspace{8ex}
	\centerline{ \huge the philosophy }
}


\frame{ \frametitle{sane software}
	\begin{itemize}
		\item follows the Unix Philosophy
		\item is small
		\item implements standards
		\item gets refactored
		\item is developed by its users
	\end{itemize}
}






\frame{ \frametitle{suckless goals}
	\begin{block}{development}
		\begin{itemize}
			\item active development (release early, release often)
		\end{itemize}
	\end{block}

	\begin{block}{customization}
		\begin{itemize}
			\item by source code editing and recompilation
			\item extension through patches
		\end{itemize}
	\end{block}

	\begin{block}{size}
		\begin{itemize}
			\item 10kLOC limit
			\item minimalistic, only the needed stuff
			\item source is understandable in one evening
		\end{itemize}
	\end{block}
}






\section{summary}
\frame{
	\vspace{8ex}
	\centerline{ \huge summary }
}



\frame{ \frametitle{what suckless.org means to me}

	\pause

	interesting projects

	innovation

	different thinking

	remember the old times

	question what matters

	good leadership

	perfect example of how to create a community

	in search for the perfect solution

	the concept rules

	never have programs felt so natural to me

	shows what is possible with less

	changed my point of view

	\vspace{1ex}
	\textbf{thanks arg!}
}






\section{thanks}
\frame{
	\begin{block}{software used}
		\begin{itemize}
			\item Debian GNU/Linux
			\item \LaTeX\ beamer and \texttt{pdflatex}
			\item Vim, make and Mercurial
		\end{itemize}
	\end{block}

	\pause

	\begin{block}{}
		\vspace{7ex}
		\centerline{\textbf{Thanks for your attention}}
		\vspace{7ex}
	\end{block}

	\pause

	{\scriptsize The slides are available on \texttt{http://marmaro.de/docs} \hfill 2008-08-14 }
}


\end{document}

