comparison GimmeShellter.tex @ 4:3f0be9972d35

rewrote filesizes; added more content
author meillo@marmaro.de
date Thu, 06 Dec 2007 14:44:09 +0100
parents 867ffbcccf28
children 52725a5ea7d9
comparison
equal deleted inserted replaced
3:867ffbcccf28 4:3f0be9972d35
13 13
14 \title{Gimme Shell(ter)} 14 \title{Gimme Shell(ter)}
15 \author{markus schnalke} 15 \author{markus schnalke}
16 \date{} 16 \date{}
17 17
18
19 %\markboth{2007-12-11}{}
20
21 \begin{document} 18 \begin{document}
22 19
23 20
24 \frame{ 21 \frame{
25 %\titlepage
26 \vspace{8em} 22 \vspace{8em}
27 \begin{center} 23 \begin{center}
28 {\huge Gimme Shell}{\tiny (ter)} 24 {\huge Gimme Shell}{\tiny (ter)}
29 25
30 {Mein Umzug in die Shell} 26 {Mein Umzug in die Shell}
38 34
39 \end{center} 35 \end{center}
40 } 36 }
41 37
42 38
43 %\section[Outline]{}
44 %\frame{
45 % \tableofcontents
46 %}
47
48
49 39
50 40
51 41
52 \section{Vorwort} 42 \section{Vorwort}
53 \frame{ \frametitle{Vorwort} 43 \frame{ \frametitle{Vorwort}
71 \section{Ziele} 61 \section{Ziele}
72 \frame{ \frametitle{Ziele} 62 \frame{ \frametitle{Ziele}
73 Dieser Vortrag soll zeigen, dass man auch ohne X komfortabel arbeiten kann. 63 Dieser Vortrag soll zeigen, dass man auch ohne X komfortabel arbeiten kann.
74 64
75 \vspace{1em} 65 \vspace{1em}
76 66 \pause
67
68 Ich möchte die ``Angst'' vor der textbasierten Benutzerschnittstelle nehmen. Auch will ich hierzu Einstiegshilfen geben.
69
70 \vspace{1em}
71 \pause
72
77 Ich möchte motivieren, mal Urlaub in der Shell zu machen. 73 Ich möchte motivieren, mal Urlaub in der Shell zu machen.
78 74
79 \vspace{1em} 75 \vspace{1em}
76 \pause
80 77
81 Ich möchte die ``Angst'' vor der textbasierten Benutzerschnittstelle nehmen. Auch will ich hierzu Einstiegshilfen geben. 78 Es soll klar werden, dass und warum Kommandozeilenprogramme oft besser als ihre grafischen Pendants sind.
82 79
83 \vspace{1em} 80 \vspace{1em}
84 81 \pause
85 Es soll klar werden, dass Kommandozeilenprogramme oft besser als ihre grafischen Pendants sind.
86
87 \vspace{1em}
88 82
89 Und als zentrales Ziel soll dieser Vortrag Gründe darstellen, weshalb es sich lohnt, in die Shell umzuziehen. 83 Und als zentrales Ziel soll dieser Vortrag Gründe darstellen, weshalb es sich lohnt, in die Shell umzuziehen.
90 } 84 }
91 85
92 86
178 \pause 172 \pause
179 173
180 \begin{block}{siehe auch} 174 \begin{block}{siehe auch}
181 \begin{itemize} 175 \begin{itemize}
182 \item 176 \item
183 \item http://cat-v.org 177 \item http://www.cat-v.org/
184 \item Rob Pike 178 \item Rob Pike
185 \item
186 \end{itemize} 179 \end{itemize}
187 \end{block} 180 \end{block}
188 } 181 }
189 182
190 183
216 209
217 { \scriptsize (Natürlich gilt das nicht zwangsläufig, die Wahrscheinlichkeit ist aber groß.) } 210 { \scriptsize (Natürlich gilt das nicht zwangsläufig, die Wahrscheinlichkeit ist aber groß.) }
218 } 211 }
219 212
220 213
221 214 \subsection{CLI und CURSES}
222 \section{GUIs als Frontend} 215 \frame{ \frametitle{CLI und CURSES}
216 \begin{block}{CLI --- CURSES --- GUI}
217 \begin{itemize}
218 \item CLI: \texttt{cat cli.txt | mail -s CLI lugu}
219 \item CURSES: \texttt{mutt}
220 \item GUI: \texttt{Menu \textgreater{} Applications \textgreater{} Evolution}
221 \end{itemize}
222 \end{block}
223
224 \begin{block}{CURSES}
225 \begin{itemize}
226 \item CURSES ist \emph{nicht} CLI
227 \item sondern Text User Interface
228 \item Ich bin hier nicht immer ganz konsequent.
229 \end{itemize}
230 \end{block}
231 }
232
233
234
235 \subsection{GUIs als Frontend}
223 \frame{ \frametitle{GUIs als Frontend} 236 \frame{ \frametitle{GUIs als Frontend}
224 237
225 \begin{block}{} 238 \begin{block}{}
226 GUIs sollen laut UNIX-Philosophie nur Frontends sein. 239 GUIs sollen laut UNIX-Philosophie nur Frontends sein.
227 \end{block} 240 \end{block}
241 \end{block} 254 \end{block}
242 } 255 }
243 256
244 257
245 258
246 \section{Größe von User-Interfaces} 259 \subsection{Größe von User-Interfaces}
247 \frame{ \frametitle{Größe von User-Interfaces} 260 \frame{ \frametitle{Größe von User-Interfaces}
248 261
249 262
250 { \scriptsize 263 { \scriptsize
251 \begin{itemize} 264 \begin{itemize}
278 } 291 }
279 292
280 293
281 294
282 295
283 \section{Filesizes} 296 \section{Programme vergleichen}
284 \frame{ \frametitle{Filesizes} 297 \frame{ \frametitle{Programme vergleichen}
285 \begin{block}{Weshalb Paketgrößen?} 298 \begin{block}{Weshalb die Programmgröße beachten?}
286 \begin{itemize} 299 \begin{itemize}
287 \item Kleine Programme sind: flexibler, portabler, einfacher zu verstehen, bugfreier (vgl. UNIX-Philosophie) 300 \item Kleine Programme sind: flexibler, portabler, einfacher zu verstehen, bugfreier (vgl. UNIX-Philosophie)
288 \item Die Paketgröße gibt indirekt Aufschluss auf den Codeumgang 301 \item Die Paketgröße gibt indirekt Aufschluss auf den Codeumfang
289 \item Der Codeumfang im Verhältnis zu den Features wirft Überlegungen zur Qualität des Codes auf 302 \item Der Codeumfang im Verhältnis zu den Features wirft Überlegungen zur Qualität des Codes auf
290 \item nur als Anhaltspunkt sehen 303 \end{itemize}
291 \item 304 \end{block}
292 \end{itemize} 305
293 \end{block} 306 \begin{block}{}
294 307 Dies ist nur als Anhaltspunkt zu sehen!
295 \pause 308 \end{block}
296 309 }
297 \begin{block}{Alternativen} 310
298 \begin{itemize} 311
299 \item \texttt{vim} (7350k) Der bekannteste (und beste?) vi-Klon. 312
300 \item \texttt{nvi} (290k) Reimplementierung des orginal vi. Weniger Features; u.a. kein Syntax-Highlighting. 313 \subsection{Messmethoden}
301 \item \texttt{emacs} (1.4e26k) \dots 314 \frame{ \frametitle{Messmethoden}
302 \end{itemize} 315 \begin{block}{Paketgröße}
303 \end{block} 316 \begin{itemize}
304 } 317 \item \texttt{apt-cache show \textless{}paket\textgreater{} | grep \^{}Size}
318 \item einfach auszulesen
319 \item Problem: Dokumentation ist oft auch im Paket enthalten
320 \end{itemize}
321 \end{block}
322
323 \pause
324
325 \begin{block}{Source-Filesizes}
326 \begin{itemize}
327 \item \texttt{du -c *.[ch]} (je nach Sprache)
328 \item Quellcode muss vorliegen (\texttt{apt-get source})
329 \item Problem: \texttt{\{} vs. \texttt{begin}
330 \end{itemize}
331 \end{block}
332
333 \pause
334
335 \begin{block}{Source Lines Of Code}
336 \begin{itemize}
337 \item \texttt{sloccount} von David A. Wheeler
338 \item Sprachen werden ``gleicher bewertet''
339 \end{itemize}
340 \end{block}
341 }
342
343
305 344
306 345
307 346
308 347
309 \section{Mein Weg} 348 \section{Mein Weg}
313 \end{block} 352 \end{block}
314 353
315 \pause 354 \pause
316 355
317 \begin{block}{2006} 356 \begin{block}{2006}
318 Auslöser: \textit{Mein Umzug in die Shell} 357 Auslöseer:\\ Artikel ``Mein Umzug in die Shell'' von Gregor Oelze auf linuxlog
319 \end{block} 358 \end{block}
320 359
321 \pause 360 \pause
322 361
323 \begin{block}{2007} 362 \begin{block}{2007}
338 \frame{ \frametitle{Editor} 377 \frame{ \frametitle{Editor}
339 \begin{block}{vi(m)} 378 \begin{block}{vi(m)}
340 \begin{itemize} 379 \begin{itemize}
341 \item Der Editor schlechthin 380 \item Der Editor schlechthin
342 \item Auf jedem UNIX-System vorhanden 381 \item Auf jedem UNIX-System vorhanden
343 \item meist in Form eines Klons vorhanden 382 \item meist in Form eines Klons
344 \item darf ruhig angepasst werden: \texttt{.vimrc} 383 \item darf ruhig angepasst werden: \texttt{.vimrc}
345 \item Die meisten User verwenden viel zu wenige seiner Möglichkeiten! 384 \item Die meisten User verwenden viel zu wenige seiner Möglichkeiten!
346 \end{itemize} 385 \end{itemize}
347 \end{block} 386 \end{block}
348 387
350 389
351 \begin{block}{Alternativen} 390 \begin{block}{Alternativen}
352 \begin{itemize} 391 \begin{itemize}
353 \item \texttt{vim} (7350k) Der bekannteste (und beste?) vi-Klon. 392 \item \texttt{vim} (7350k) Der bekannteste (und beste?) vi-Klon.
354 \item \texttt{nvi} (290k) Reimplementierung des orginal vi. Weniger Features; u.a. kein Syntax-Highlighting. 393 \item \texttt{nvi} (290k) Reimplementierung des orginal vi. Weniger Features; u.a. kein Syntax-Highlighting.
355 \item \texttt{emacs} (1.4e26k) \dots 394 \item \texttt{emacs} (5.89e37) \dots
356 \end{itemize} 395 \end{itemize}
357 \end{block} 396 \end{block}
358 } 397 }
359 398
360 399
387 \subsection{Browser} 426 \subsection{Browser}
388 \frame{ \frametitle{Browser} 427 \frame{ \frametitle{Browser}
389 \begin{block}{w3m} 428 \begin{block}{w3m}
390 \begin{itemize} 429 \begin{itemize}
391 \item Textbrowser 430 \item Textbrowser
431 \item hat Caret-Navigation
392 \item kein JavaScript 432 \item kein JavaScript
393 \item hat Caret-Navigation 433 \item Inline-Bilder mit \texttt{w3m-img}
394 \item \dots
395 \item Debian-Paket: 1100k 434 \item Debian-Paket: 1100k
396 \end{itemize} 435 \end{itemize}
397 \end{block} 436 \end{block}
398 437
399 \pause 438 \pause
439 \subsection{Filemanager} 478 \subsection{Filemanager}
440 \frame{ \frametitle{Filemanager} 479 \frame{ \frametitle{Filemanager}
441 \begin{block}{coreutils} 480 \begin{block}{coreutils}
442 \begin{itemize} 481 \begin{itemize}
443 \item cd, mv, cp, rm, mkdir, rmdir, \dots 482 \item cd, mv, cp, rm, mkdir, rmdir, \dots
444 \item man braucht eine gewisse Übersicht im FS 483 \item man braucht eine gewisse Übersicht im Filesystem
445 \item letztendlich aber einfach am schnellsten 484 \item letztendlich aber einfach am schnellsten
446 \item \dots 485 \item \dots
447 \item überall vorhanden 486 \item überall vorhanden
448 \end{itemize} 487 \end{itemize}
449 \end{block} 488 \end{block}
463 \subsection{FTP-Client} 502 \subsection{FTP-Client}
464 \frame{ \frametitle{FTP-Client} 503 \frame{ \frametitle{FTP-Client}
465 \begin{block}{ncftp} 504 \begin{block}{ncftp}
466 \begin{itemize} 505 \begin{itemize}
467 \item toller FTP-Client 506 \item toller FTP-Client
468 \item hatte nur früher ein curses-Interface 507 \item hatte nur früher ein curses-Interface (\texttt{ncftp2})
469 \item ncftpget, ncftpput, \dots 508 \item ncftpget, ncftpput, \dots
470 \item \dots 509 \item \dots
471 \item Debian-Paket: 500k 510 \item Debian-Paket: 500k
472 \end{itemize} 511 \end{itemize}
473 \end{block} 512 \end{block}
476 515
477 \begin{block}{Alternativen} 516 \begin{block}{Alternativen}
478 \begin{itemize} 517 \begin{itemize}
479 \item \texttt{ftp} (50k) wenig Komfort 518 \item \texttt{ftp} (50k) wenig Komfort
480 \item \texttt{lftp} (540k) (kenne ich leider nicht) 519 \item \texttt{lftp} (540k) (kenne ich leider nicht)
481 \item \texttt{mc} (2140k) (siehe Folie Filemanager) 520 \item \texttt{mc} (2140k) er kann auch ftp
482 \end{itemize} 521 \end{itemize}
483 \end{block} 522 \end{block}
484 } 523 }
485 524
486 525
497 536
498 \pause 537 \pause
499 538
500 \begin{block}{Alternativen} 539 \begin{block}{Alternativen}
501 \begin{itemize} 540 \begin{itemize}
502 \item \texttt{irssi} (1060k) der populäre IRC-Client 541 \item \texttt{irssi} (1060k) populärer IRC-Client
503 \item \texttt{sic} (6k) liest stdin, schreibt stdout 542 \item \texttt{sic} (6k) liest stdin, schreibt stdout
504 \item \texttt{centericq} (1260k) sehr bekannter ICQ-Client 543 \item \texttt{centericq} (1260k) sehr bekannter ICQ-Client
505 \end{itemize} 544 \end{itemize}
506 \end{block} 545 \end{block}
507 546
614 \begin{block}{Ziele} 653 \begin{block}{Ziele}
615 \begin{itemize} 654 \begin{itemize}
616 \item 2kLOC 655 \item 2kLOC
617 \item portables C 656 \item portables C
618 \item guter Code (Refactoring) 657 \item guter Code (Refactoring)
619 \item sehr standardkonform (aber: broken appz) 658 \item sehr standardkonform (aber: broken apps)
620 \item Erweiterung mit Patches 659 \item Erweiterung mit Patches
621 \item 660 \item
622 \end{itemize} 661 \end{itemize}
623 \end{block} 662 \end{block}
624 } 663 }
641 680
642 \pause 681 \pause
643 682
644 \begin{block}{Mein dwm} 683 \begin{block}{Mein dwm}
645 \begin{itemize} 684 \begin{itemize}
646 \item http://prog.marmaro.de/dwm-meillo/
647 \item ein Patchset 685 \item ein Patchset
648 \end{itemize} 686 \item http://prog.marmaro.de/dwm-meillo
649 \end{block} 687 \end{itemize}
650 } 688 \end{block}
651 689 }
652 690
653 691
654 692
693
694 \section{Soll erfüllt?}
695 \frame{ \frametitle{Soll erfüllt?}
696 Dieser Vortrag soll zeigen, dass man auch ohne X komfortabel arbeiten kann.
697
698 \vspace{1em}
699 \pause
700
701 Ich möchte motivieren, mal Urlaub in der Shell zu machen.
702
703 \vspace{1em}
704 \pause
705
706 Ich möchte die ``Angst'' vor der textbasierten Benutzerschnittstelle nehmen. Auch will ich hierzu Einstiegshilfen geben.
707
708 \vspace{1em}
709 \pause
710
711 Es soll klar werden, dass und warum Kommandozeilenprogramme oft besser als ihre grafischen Pendants sind.
712
713 \vspace{1em}
714 \pause
715
716 Und als zentrales Ziel soll dieser Vortrag Gründe darstellen, weshalb es sich lohnt, in die Shell umzuziehen.
717
718 }
655 719
656 720
657 \section{Zusammenfassung} 721 \section{Zusammenfassung}
658 \frame{ \frametitle{Zusammenfassung} 722 \frame{ \frametitle{Zusammenfassung}
659 \begin{block}{} 723 Ja, man kann auch ohne X komfortabel arbeiten.
660 \begin{itemize} 724
661 \item 725 \vspace{1em}
662 \item 726 \pause
663 \item 727
664 \end{itemize} 728 Macht mal Urlaub in der Shell.
665 \end{block} 729
730 \vspace{1em}
731 \pause
732
733 Man muss die CLI nicht fürchten.
734
735 \vspace{1em}
736 \pause
737
738 Es soll klar werden, dass und warum Kommandozeilenprogramme oft besser als ihre grafischen Pendants sind.
739
740 \vspace{1em}
741 \pause
742
743 Und als zentrales Ziel soll dieser Vortrag Gründe darstellen, weshalb es sich lohnt, in die Shell umzuziehen.
666 744
667 } 745 }
668 746
669 747
670 \section{Fragen} 748 \section{Fragen}
672 \vspace{5ex} 750 \vspace{5ex}
673 \centerline{\huge ?} 751 \centerline{\huge ?}
674 } 752 }
675 753
676 754
677 \frame{ \frametitle{Abschließend} 755
756 \section{Links}
757 \frame{ \frametitle{Links auf einen Blick}
758 \begin{itemize}
759 \item http://suckless.org
760 \item http://pimpmyshell.de (Projekt von Gregor Oelze)
761 \item http://cat-v.org (Website von Uriel)
762 \item http://marmaro.de/lue
763 \item http://prog.marmaro.de/dwm-meillo
764 \item
765 \item
766 \end{itemize}
767
768 }
769
770
771
772
773 \section{Danke}
774 \frame{% \frametitle{Abschließend}
678 \begin{block}{Verwendete Software} 775 \begin{block}{Verwendete Software}
679 \begin{itemize} 776 \begin{itemize}
680 \item Debian GNU/Linux 777 \item Debian GNU/Linux
681 \item \LaTeX-Beamer und \texttt{pdflatex} 778 \item \LaTeX-Beamer und \texttt{pdflatex}
682 \item Vim 779 \item Vim
683 \item qiv und ImageMagick 780 \item qiv und ImageMagick
684 \item Mercurial 781 \item Mercurial
685 \end{itemize} 782 \end{itemize}
686 \end{block} 783 \end{block}
687 784
688 { \tiny $\dagger$ \textit{UNIX} ist ein eingetragenes Warenzeichen der OpenGroup. } 785 { \tiny $\dagger$ UNIX is a registered trademark of The Open Group. }
689 786
690 \pause 787 \pause
691 788
692 \begin{block}{} 789 \begin{block}{}
693 \vspace{3ex} 790 \vspace{3ex}