meillo@0: % @file meillo@0: % @brief Vortrag: suckless.org (CCCS) meillo@0: % @author markus schnalke 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@0: meillo@2: interesting projects meillo@0: meillo@2: innovation meillo@0: meillo@2: different thinking meillo@0: meillo@2: remember the old times meillo@0: meillo@2: question what matters meillo@2: meillo@2: good leadership meillo@2: 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@2: 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: