docs/gimme-shellter

changeset 4:3f0be9972d35

rewrote filesizes; added more content
author meillo@marmaro.de
date Thu, 06 Dec 2007 14:44:09 +0100
parents 867ffbcccf28
children 52725a5ea7d9
files GimmeShellter.tex Lugu-Vortrag_shell.tpp
diffstat 2 files changed, 146 insertions(+), 197 deletions(-) [+]
line diff
     1.1 --- a/GimmeShellter.tex	Wed Nov 28 19:54:27 2007 +0100
     1.2 +++ b/GimmeShellter.tex	Thu Dec 06 14:44:09 2007 +0100
     1.3 @@ -15,14 +15,10 @@
     1.4    \author{markus schnalke}
     1.5    \date{}
     1.6  
     1.7 -
     1.8 -	%\markboth{2007-12-11}{}
     1.9 -
    1.10  \begin{document}
    1.11  
    1.12  
    1.13  \frame{
    1.14 -  %\titlepage
    1.15  	\vspace{8em}
    1.16  	\begin{center}
    1.17  		{\huge Gimme Shell}{\tiny (ter)}
    1.18 @@ -40,12 +36,6 @@
    1.19  }
    1.20  
    1.21  
    1.22 -%\section[Outline]{}
    1.23 -%\frame{
    1.24 -%  \tableofcontents
    1.25 -%}
    1.26 -
    1.27 -
    1.28  
    1.29  
    1.30  
    1.31 @@ -73,18 +63,22 @@
    1.32  	Dieser Vortrag soll zeigen, dass man auch ohne X komfortabel arbeiten kann.
    1.33  
    1.34    \vspace{1em}
    1.35 +	\pause
    1.36  
    1.37 +	Ich möchte die ``Angst'' vor der textbasierten Benutzerschnittstelle nehmen. Auch will ich hierzu Einstiegshilfen geben.
    1.38 +			
    1.39 +  \vspace{1em}
    1.40 +	\pause
    1.41 +		
    1.42  	Ich möchte motivieren, mal Urlaub in der Shell zu machen.
    1.43  			
    1.44    \vspace{1em}
    1.45 +	\pause
    1.46  		
    1.47 -	Ich möchte die ``Angst'' vor der textbasierten Benutzerschnittstelle nehmen. Auch will ich hierzu Einstiegshilfen geben.
    1.48 +	Es soll klar werden, dass und warum Kommandozeilenprogramme oft besser als ihre grafischen Pendants sind.
    1.49  			
    1.50    \vspace{1em}
    1.51 -		
    1.52 -	Es soll klar werden, dass Kommandozeilenprogramme oft besser als ihre grafischen Pendants sind.
    1.53 -			
    1.54 -  \vspace{1em}
    1.55 +	\pause
    1.56  		
    1.57  	Und als zentrales Ziel soll dieser Vortrag Gründe darstellen, weshalb es sich lohnt, in die Shell umzuziehen.
    1.58  }
    1.59 @@ -180,9 +174,8 @@
    1.60  	\begin{block}{siehe auch}
    1.61  		\begin{itemize}
    1.62  			\item 
    1.63 -			\item http://cat-v.org
    1.64 +			\item http://www.cat-v.org/
    1.65  			\item Rob Pike
    1.66 -			\item 
    1.67  		\end{itemize}
    1.68  	\end{block}
    1.69  }
    1.70 @@ -218,8 +211,28 @@
    1.71  }
    1.72  
    1.73  
    1.74 +\subsection{CLI und CURSES}
    1.75 +\frame{ \frametitle{CLI und CURSES}
    1.76 +	\begin{block}{CLI --- CURSES --- GUI}
    1.77 +		\begin{itemize}
    1.78 +			\item CLI: \texttt{cat cli.txt | mail -s CLI lugu}
    1.79 +			\item CURSES: \texttt{mutt}
    1.80 +			\item GUI: \texttt{Menu \textgreater{} Applications \textgreater{} Evolution}
    1.81 +		\end{itemize}
    1.82 +	\end{block}
    1.83  
    1.84 -\section{GUIs als Frontend}
    1.85 +	\begin{block}{CURSES}
    1.86 +		\begin{itemize}
    1.87 +			\item CURSES ist \emph{nicht} CLI
    1.88 +			\item sondern Text User Interface
    1.89 +			\item Ich bin hier nicht immer ganz konsequent.
    1.90 +		\end{itemize}
    1.91 +	\end{block}
    1.92 +}
    1.93 +
    1.94 +
    1.95 +
    1.96 +\subsection{GUIs als Frontend}
    1.97  \frame{ \frametitle{GUIs als Frontend}
    1.98  
    1.99  	\begin{block}{}
   1.100 @@ -243,7 +256,7 @@
   1.101  
   1.102  
   1.103  
   1.104 -\section{Größe von User-Interfaces}
   1.105 +\subsection{Größe von User-Interfaces}
   1.106  \frame{ \frametitle{Größe von User-Interfaces}
   1.107  
   1.108  
   1.109 @@ -280,25 +293,49 @@
   1.110  
   1.111  
   1.112  
   1.113 -\section{Filesizes}
   1.114 -\frame{ \frametitle{Filesizes}
   1.115 -	\begin{block}{Weshalb Paketgrößen?}
   1.116 +\section{Programme vergleichen}
   1.117 +\frame{ \frametitle{Programme vergleichen}
   1.118 +	\begin{block}{Weshalb die Programmgröße beachten?}
   1.119  		\begin{itemize}
   1.120  			\item Kleine Programme sind: flexibler, portabler, einfacher zu verstehen, bugfreier (vgl. UNIX-Philosophie)
   1.121 -			\item Die Paketgröße gibt indirekt Aufschluss auf den Codeumgang
   1.122 +			\item Die Paketgröße gibt indirekt Aufschluss auf den Codeumfang
   1.123  			\item Der Codeumfang im Verhältnis zu den Features wirft Überlegungen zur Qualität des Codes auf
   1.124 -			\item nur als Anhaltspunkt sehen
   1.125 -			\item 
   1.126 +		\end{itemize}
   1.127 +	\end{block}
   1.128 +
   1.129 +	\begin{block}{}
   1.130 +		Dies ist nur als Anhaltspunkt zu sehen!
   1.131 +	\end{block}
   1.132 +}
   1.133 +
   1.134 +
   1.135 +
   1.136 +\subsection{Messmethoden}
   1.137 +\frame{ \frametitle{Messmethoden}
   1.138 +	\begin{block}{Paketgröße}
   1.139 +		\begin{itemize}
   1.140 +			\item \texttt{apt-cache show \textless{}paket\textgreater{} | grep \^{}Size}
   1.141 +			\item einfach auszulesen
   1.142 +			\item Problem: Dokumentation ist oft auch im Paket enthalten
   1.143  		\end{itemize}
   1.144  	\end{block}
   1.145  
   1.146  	\pause
   1.147  
   1.148 -	\begin{block}{Alternativen}
   1.149 +	\begin{block}{Source-Filesizes}
   1.150  		\begin{itemize}
   1.151 -			\item \texttt{vim} (7350k) Der bekannteste (und beste?) vi-Klon.
   1.152 -			\item \texttt{nvi} (290k) Reimplementierung des orginal vi. Weniger Features; u.a. kein Syntax-Highlighting.
   1.153 -			\item \texttt{emacs} (1.4e26k) \dots 
   1.154 +			\item \texttt{du -c *.[ch]} (je nach Sprache)
   1.155 +			\item Quellcode muss vorliegen (\texttt{apt-get source})
   1.156 +			\item Problem: \texttt{\{} vs. \texttt{begin}
   1.157 +		\end{itemize}
   1.158 +	\end{block}
   1.159 +
   1.160 +	\pause
   1.161 +
   1.162 +	\begin{block}{Source Lines Of Code}
   1.163 +		\begin{itemize}
   1.164 +			\item \texttt{sloccount} von David A. Wheeler
   1.165 +			\item Sprachen werden ``gleicher bewertet''
   1.166  		\end{itemize}
   1.167  	\end{block}
   1.168  }
   1.169 @@ -306,6 +343,8 @@
   1.170  
   1.171  
   1.172  
   1.173 +
   1.174 +
   1.175  \section{Mein Weg}
   1.176  \frame{ \frametitle{Mein Weg}
   1.177    \begin{block}{2005}
   1.178 @@ -315,7 +354,7 @@
   1.179  	\pause
   1.180  
   1.181    \begin{block}{2006}
   1.182 -		Auslöser: \textit{Mein Umzug in die Shell}
   1.183 +		Auslöseer:\\ Artikel ``Mein Umzug in die Shell'' von Gregor Oelze auf linuxlog
   1.184    \end{block}
   1.185  
   1.186  	\pause
   1.187 @@ -340,7 +379,7 @@
   1.188  		\begin{itemize}
   1.189  			\item Der Editor schlechthin
   1.190  			\item Auf jedem UNIX-System vorhanden
   1.191 -			\item meist in Form eines Klons vorhanden
   1.192 +			\item meist in Form eines Klons
   1.193  			\item darf ruhig angepasst werden: \texttt{.vimrc}
   1.194  			\item Die meisten User verwenden viel zu wenige seiner Möglichkeiten!
   1.195  		\end{itemize}
   1.196 @@ -352,7 +391,7 @@
   1.197  		\begin{itemize}
   1.198  			\item \texttt{vim} (7350k) Der bekannteste (und beste?) vi-Klon.
   1.199  			\item \texttt{nvi} (290k) Reimplementierung des orginal vi. Weniger Features; u.a. kein Syntax-Highlighting.
   1.200 -			\item \texttt{emacs} (1.4e26k) \dots 
   1.201 +			\item \texttt{emacs} (5.89e37) \dots 
   1.202  		\end{itemize}
   1.203  	\end{block}
   1.204  }
   1.205 @@ -389,9 +428,9 @@
   1.206  	\begin{block}{w3m}
   1.207  		\begin{itemize}
   1.208  			\item Textbrowser
   1.209 +			\item hat Caret-Navigation
   1.210  			\item kein JavaScript
   1.211 -			\item hat Caret-Navigation
   1.212 -			\item \dots
   1.213 +			\item Inline-Bilder mit \texttt{w3m-img}
   1.214  			\item Debian-Paket: 1100k
   1.215  		\end{itemize}
   1.216  	\end{block}
   1.217 @@ -441,7 +480,7 @@
   1.218  	\begin{block}{coreutils}
   1.219  		\begin{itemize}
   1.220  			\item cd, mv, cp, rm, mkdir, rmdir, \dots
   1.221 -			\item man braucht eine gewisse Ãœbersicht im FS
   1.222 +			\item man braucht eine gewisse Ãœbersicht im Filesystem
   1.223  			\item letztendlich aber einfach am schnellsten
   1.224  			\item \dots
   1.225  			\item überall vorhanden
   1.226 @@ -465,7 +504,7 @@
   1.227  	\begin{block}{ncftp}
   1.228  		\begin{itemize}
   1.229  			\item toller FTP-Client
   1.230 -			\item hatte nur früher ein curses-Interface
   1.231 +			\item hatte nur früher ein curses-Interface (\texttt{ncftp2})
   1.232  			\item ncftpget, ncftpput, \dots
   1.233  			\item \dots
   1.234  			\item Debian-Paket: 500k
   1.235 @@ -478,7 +517,7 @@
   1.236  		\begin{itemize}
   1.237  			\item \texttt{ftp} (50k) wenig Komfort
   1.238  			\item \texttt{lftp} (540k) (kenne ich leider nicht)
   1.239 -			\item \texttt{mc} (2140k) (siehe Folie Filemanager)
   1.240 +			\item \texttt{mc} (2140k) er kann auch ftp
   1.241  		\end{itemize}
   1.242  	\end{block}
   1.243  }
   1.244 @@ -499,7 +538,7 @@
   1.245  
   1.246  	\begin{block}{Alternativen}
   1.247  		\begin{itemize}
   1.248 -			\item \texttt{irssi} (1060k) der populäre IRC-Client
   1.249 +			\item \texttt{irssi} (1060k) populärer IRC-Client
   1.250  			\item \texttt{sic} (6k) liest stdin, schreibt stdout
   1.251  			\item \texttt{centericq} (1260k) sehr bekannter ICQ-Client
   1.252  		\end{itemize}
   1.253 @@ -616,7 +655,7 @@
   1.254  			\item 2kLOC
   1.255  			\item portables C
   1.256  			\item guter Code (Refactoring)
   1.257 -			\item sehr standardkonform (aber: broken appz)
   1.258 +			\item sehr standardkonform (aber: broken apps)
   1.259  			\item Erweiterung mit Patches
   1.260  			\item 
   1.261  		\end{itemize}
   1.262 @@ -643,8 +682,8 @@
   1.263  
   1.264  	\begin{block}{Mein dwm}
   1.265  		\begin{itemize}
   1.266 -			\item http://prog.marmaro.de/dwm-meillo/
   1.267  			\item ein Patchset
   1.268 +			\item http://prog.marmaro.de/dwm-meillo
   1.269  		\end{itemize}
   1.270  	\end{block}
   1.271  }
   1.272 @@ -652,17 +691,56 @@
   1.273  
   1.274  
   1.275  
   1.276 +\section{Soll erfüllt?}
   1.277 +\frame{ \frametitle{Soll erfüllt?}
   1.278 +			Dieser Vortrag soll zeigen, dass man auch ohne X komfortabel arbeiten kann.
   1.279 +
   1.280 +			\vspace{1em}
   1.281 +			\pause
   1.282 +
   1.283 +			Ich möchte motivieren, mal Urlaub in der Shell zu machen.
   1.284 +
   1.285 +			\vspace{1em}
   1.286 +			\pause
   1.287 +
   1.288 +			Ich möchte die ``Angst'' vor der textbasierten Benutzerschnittstelle nehmen. Auch will ich hierzu Einstiegshilfen geben.
   1.289 +
   1.290 +			\vspace{1em}
   1.291 +			\pause
   1.292 +
   1.293 +			Es soll klar werden, dass und warum Kommandozeilenprogramme oft besser als ihre grafischen Pendants sind.
   1.294 +
   1.295 +			\vspace{1em}
   1.296 +			\pause
   1.297 +
   1.298 +			Und als zentrales Ziel soll dieser Vortrag Gründe darstellen, weshalb es sich lohnt, in die Shell umzuziehen.
   1.299 +
   1.300 +}
   1.301  
   1.302  
   1.303  \section{Zusammenfassung}
   1.304  \frame{ \frametitle{Zusammenfassung}
   1.305 -  \begin{block}{}
   1.306 -    \begin{itemize}
   1.307 -      \item 
   1.308 -      \item 
   1.309 -      \item 
   1.310 -    \end{itemize}
   1.311 -  \end{block}
   1.312 +			Ja, man kann auch ohne X komfortabel arbeiten.
   1.313 +
   1.314 +			\vspace{1em}
   1.315 +			\pause
   1.316 +
   1.317 +			Macht mal Urlaub in der Shell.
   1.318 +
   1.319 +			\vspace{1em}
   1.320 +			\pause
   1.321 +
   1.322 +			Man muss die CLI nicht fürchten.
   1.323 +
   1.324 +			\vspace{1em}
   1.325 +			\pause
   1.326 +
   1.327 +			Es soll klar werden, dass und warum Kommandozeilenprogramme oft besser als ihre grafischen Pendants sind.
   1.328 +
   1.329 +			\vspace{1em}
   1.330 +			\pause
   1.331 +
   1.332 +			Und als zentrales Ziel soll dieser Vortrag Gründe darstellen, weshalb es sich lohnt, in die Shell umzuziehen.
   1.333  
   1.334  }
   1.335  
   1.336 @@ -674,7 +752,26 @@
   1.337  }
   1.338  
   1.339  
   1.340 -\frame{ \frametitle{Abschließend}
   1.341 +
   1.342 +\section{Links}
   1.343 +\frame{ \frametitle{Links auf einen Blick}
   1.344 +	\begin{itemize}
   1.345 +		\item http://suckless.org
   1.346 +		\item http://pimpmyshell.de (Projekt von Gregor Oelze)
   1.347 +		\item http://cat-v.org (Website von Uriel)
   1.348 +		\item http://marmaro.de/lue
   1.349 +		\item http://prog.marmaro.de/dwm-meillo
   1.350 +		\item 
   1.351 +		\item 
   1.352 +	\end{itemize}
   1.353 +
   1.354 +}
   1.355 +
   1.356 +
   1.357 +
   1.358 +
   1.359 +\section{Danke}
   1.360 +\frame{% \frametitle{Abschließend}
   1.361    \begin{block}{Verwendete Software}
   1.362    \begin{itemize}
   1.363      \item Debian GNU/Linux
   1.364 @@ -685,7 +782,7 @@
   1.365    \end{itemize}
   1.366    \end{block}
   1.367  
   1.368 -	{ \tiny $\dagger$ \textit{UNIX} ist ein eingetragenes Warenzeichen der OpenGroup. }
   1.369 +	{ \tiny $\dagger$ UNIX is a registered trademark of The Open Group. }
   1.370  
   1.371  	\pause
   1.372  
     2.1 --- a/Lugu-Vortrag_shell.tpp	Wed Nov 28 19:54:27 2007 +0100
     2.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.3 @@ -1,148 +0,0 @@
     2.4 ---author markus schnalke <meillo@marmaro.de>
     2.5 ---title Mein Umzug in die Shell
     2.6 ---date 2007-01-09
     2.7 -
     2.8 -
     2.9 -
    2.10 -
    2.11 ---newpage Overview
    2.12 ---heading Overview
    2.13 ---withborder
    2.14 -
    2.15 -
    2.16 -	Einblick in meinen Alltag in der Shell
    2.17 -
    2.18 -	Dauer: ca. xx minuten
    2.19 -
    2.20 -
    2.21 -
    2.22 -
    2.23 ---newpage Was ich erreichen möchte
    2.24 ---heading Was ich erreichen möchte
    2.25 ---withborder
    2.26 -
    2.27 -
    2.28 -	* zeigen, dass man auch ohne X komfortabel arbeiten kann
    2.29 -
    2.30 -	* zeigen, dass fast alle grafischen Programme durch Shellalternativen ersetzt werden können
    2.31 -
    2.32 -	* anregen sich mit der Thematik zu beschäftigen und gezeigten Programme auszuprobieren
    2.33 -
    2.34 -
    2.35 -	Was ich allerdings _nicht_ möchte ist es, die Programme im einzelnen zu erklären.
    2.36 -	Dafür sind Manpages, Doku und Google da.
    2.37 -
    2.38 -
    2.39 -
    2.40 -
    2.41 ---newpage Programme (war -> ist)
    2.42 ---heading Programme (war -> ist)
    2.43 ---withborder
    2.44 -
    2.45 -
    2.46 -	Browser:          Firefox           ->    Firefox, w3m
    2.47 -
    2.48 -	Email:            Sylpheed Claws    ->    mutt
    2.49 -
    2.50 -	IM:               Gaim              ->    CenterICQ
    2.51 -
    2.52 -	Editor:           Kate              ->    Vim
    2.53 -
    2.54 -	Video:            vlc               ->    mplayer
    2.55 -
    2.56 -	Musik:            xmms              ->    cplay
    2.57 -
    2.58 -	Filemanager:      Xfe               ->    shell, mc
    2.59 -
    2.60 -	CD-Writer:        k3b               ->    wodim (cdrecord)
    2.61 -
    2.62 -	CD-Ripper:        Grip              ->    jack
    2.63 -
    2.64 -
    2.65 ---boldon
    2.66 -	Windowmanager:    Fluxbox           ->    dwm + screen
    2.67 ---boldoff
    2.68 -
    2.69 -
    2.70 -
    2.71 -
    2.72 -
    2.73 ---newpage w3m
    2.74 ---heading w3m
    2.75 ---withborder
    2.76 -
    2.77 -  Alternativen
    2.78 -
    2.79 -  * grafisch browsen - ist meist komfortabler
    2.80 -
    2.81 -  * elinks - hat mehr Features (render on load, JS, ...)
    2.82 -
    2.83 -
    2.84 -  w3m
    2.85 -
    2.86 -  * w3m ist aber "cooler"
    2.87 -
    2.88 -  * basiert auf vi-keybindings
    2.89 -
    2.90 -  * bietet ein konsistentes look'n'feel
    2.91 -
    2.92 -  * ist auch CGI-Server
    2.93 -
    2.94 -
    2.95 -
    2.96 -
    2.97 -
    2.98 ---newpage mplayer
    2.99 ---heading mplayer
   2.100 ---withborder
   2.101 -
   2.102 -  * komplett via Tastatur bedienbar
   2.103 -  
   2.104 -  * sieht unspektakulär aus, kann aber 'ne ganze Menge
   2.105 -
   2.106 -  * unterstützt auch den Framebuffer -> Video ohne X
   2.107 -
   2.108 -
   2.109 -
   2.110 -
   2.111 ---newpage cplay
   2.112 ---heading cplay
   2.113 ---withborder
   2.114 -
   2.115 -  Alternativen
   2.116 -
   2.117 -  * moc(mocp) - instabil
   2.118 -
   2.119 -  * cmus - zu featurereich  ;-)
   2.120 -
   2.121 -  * mpd/ncmpc - client-server nötig?
   2.122 -
   2.123 -
   2.124 -  cplay
   2.125 -
   2.126 -  * simpel, simpel, simpel
   2.127 -  * vi-like
   2.128 -
   2.129 -
   2.130 -
   2.131 -
   2.132 -
   2.133 -
   2.134 -
   2.135 -
   2.136 -
   2.137 -
   2.138 -
   2.139 ---newpage
   2.140 ---center Some "funny" shell tricks
   2.141 -
   2.142 ---beginshelloutput
   2.143 -$ make love
   2.144 ---endshelloutput
   2.145 -
   2.146 ---beginoutput
   2.147 -#include <stdio.h>
   2.148 ---endoutput
   2.149 -
   2.150 -
   2.151 -