Mercurial > docs > gimme-shellter
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} |