Mercurial > docs > gimme-shellter
comparison GimmeShellter.tex @ 3:867ffbcccf28
added unix philosophy, filesizes, suckless project, and more
author | meillo@marmaro.de |
---|---|
date | Wed, 28 Nov 2007 19:54:27 +0100 |
parents | 5e009abaf0bb |
children | 3f0be9972d35 |
comparison
equal
deleted
inserted
replaced
2:5e009abaf0bb | 3:867ffbcccf28 |
---|---|
146 | 146 |
147 \vspace{0.3em} | 147 \vspace{0.3em} |
148 | 148 |
149 An der Basis seid ihr zu UNIX gewechselt, weshalb denn nicht auch an der Oberfläche? \\ | 149 An der Basis seid ihr zu UNIX gewechselt, weshalb denn nicht auch an der Oberfläche? \\ |
150 \pause | 150 \pause |
151 An der Oberfläche seid ihr zu UNIX gewechselt, weshalb denn nicht auch an der Basis? | 151 Oder: \textit{An der Oberfläche seid ihr zu UNIX gewechselt, weshalb denn nicht auch an der Basis?} |
152 \end{block} | 152 \end{block} |
153 | 153 |
154 \pause | 154 \pause |
155 | 155 |
156 \begin{block}{} | 156 \begin{block}{} |
162 | 162 |
163 | 163 |
164 | 164 |
165 \frame{ \frametitle{Die UNIX-Philosophie} | 165 \frame{ \frametitle{Die UNIX-Philosophie} |
166 \begin{itemize} | 166 \begin{itemize} |
167 \item | 167 \item klein ist schön |
168 \item | 168 \item genau eine Sache gut machen |
169 \item | 169 \item früher Prototyp |
170 \item | 170 \item Portabilität vor Effizienz |
171 \item | 171 \item Daten in ASCII-Files speichern |
172 \item | 172 \item Code borgen |
173 \item | 173 \item alles automatisieren |
174 \item CLI statt GUI | |
175 \item Programme als Filter | |
174 \end{itemize} | 176 \end{itemize} |
175 | 177 |
176 \pause | 178 \pause |
177 | 179 |
178 \begin{block}{siehe auch} | 180 \begin{block}{siehe auch} |
276 } | 278 } |
277 | 279 |
278 | 280 |
279 | 281 |
280 | 282 |
283 \section{Filesizes} | |
284 \frame{ \frametitle{Filesizes} | |
285 \begin{block}{Weshalb Paketgrößen?} | |
286 \begin{itemize} | |
287 \item Kleine Programme sind: flexibler, portabler, einfacher zu verstehen, bugfreier (vgl. UNIX-Philosophie) | |
288 \item Die Paketgröße gibt indirekt Aufschluss auf den Codeumgang | |
289 \item Der Codeumfang im Verhältnis zu den Features wirft Überlegungen zur Qualität des Codes auf | |
290 \item nur als Anhaltspunkt sehen | |
291 \item | |
292 \end{itemize} | |
293 \end{block} | |
294 | |
295 \pause | |
296 | |
297 \begin{block}{Alternativen} | |
298 \begin{itemize} | |
299 \item \texttt{vim} (7350k) Der bekannteste (und beste?) vi-Klon. | |
300 \item \texttt{nvi} (290k) Reimplementierung des orginal vi. Weniger Features; u.a. kein Syntax-Highlighting. | |
301 \item \texttt{emacs} (1.4e26k) \dots | |
302 \end{itemize} | |
303 \end{block} | |
304 } | |
305 | |
306 | |
307 | |
281 | 308 |
282 \section{Mein Weg} | 309 \section{Mein Weg} |
283 \frame{ \frametitle{Mein Weg} | 310 \frame{ \frametitle{Mein Weg} |
284 \begin{block}{2005} | 311 \begin{block}{2005} |
285 Fluxbox, Firefox, Kate, Sylpheed Claws, gFTP, Gaim, vlc, k3b, gThumb, OOo, Grip, XMMS, \dots | 312 Fluxbox, Firefox, Kate, Sylpheed Claws, gFTP, Gaim, vlc, k3b, gThumb, OOo, Grip, XMMS, \dots |
307 | 334 |
308 \section{Programme} | 335 \section{Programme} |
309 | 336 |
310 \subsection{Editor} | 337 \subsection{Editor} |
311 \frame{ \frametitle{Editor} | 338 \frame{ \frametitle{Editor} |
312 \begin{block}{vi} | 339 \begin{block}{vi(m)} |
313 \begin{itemize} | 340 \begin{itemize} |
314 \item Der Editor schlechthin | 341 \item Der Editor schlechthin |
315 \item Auf jedem UNIX-System vorhanden | 342 \item Auf jedem UNIX-System vorhanden |
316 \item meist in Form eines Klons vorhanden | 343 \item meist in Form eines Klons vorhanden |
344 \item darf ruhig angepasst werden: \texttt{.vimrc} | |
345 \item Die meisten User verwenden viel zu wenige seiner Möglichkeiten! | |
317 \end{itemize} | 346 \end{itemize} |
318 \end{block} | 347 \end{block} |
319 | 348 |
320 \pause | 349 \pause |
321 | 350 |
332 | 361 |
333 \subsection{Mailclient} | 362 \subsection{Mailclient} |
334 \frame{ \frametitle{Mailclient} | 363 \frame{ \frametitle{Mailclient} |
335 \begin{block}{mutt} | 364 \begin{block}{mutt} |
336 \begin{itemize} | 365 \begin{itemize} |
337 \item ``The mail client that sucks less'' | 366 \item ``The mail client, that sucks less'' |
338 \item sehr konfigurierbar | 367 \item sehr konfigurierbar |
339 \item Kombination mit \texttt{fetchmail}, \texttt{procmail}, \texttt{masqmail} | 368 \item Kombination mit \texttt{fetchmail}, \texttt{procmail}, \texttt{masqmail} |
340 \item \dots | 369 \item \dots |
341 \item Debian-Paket: 1810k | 370 \item Debian-Paket: 1810k |
342 \end{itemize} | 371 \end{itemize} |
345 \pause | 374 \pause |
346 | 375 |
347 \begin{block}{Alternativen} | 376 \begin{block}{Alternativen} |
348 \begin{itemize} | 377 \begin{itemize} |
349 \item \texttt{mailx} (155k) einfaches Mailprogramm | 378 \item \texttt{mailx} (155k) einfaches Mailprogramm |
379 \item \texttt{pine} () (nicht mehr in Debian??) | |
380 \item \texttt{mutt-ng} () Neue Features für mutt | |
350 \end{itemize} | 381 \end{itemize} |
351 \end{block} | 382 \end{block} |
352 } | 383 } |
353 | 384 |
354 | 385 |
359 \begin{itemize} | 390 \begin{itemize} |
360 \item Textbrowser | 391 \item Textbrowser |
361 \item kein JavaScript | 392 \item kein JavaScript |
362 \item hat Caret-Navigation | 393 \item hat Caret-Navigation |
363 \item \dots | 394 \item \dots |
364 \item Debian-Paket: 7350k | 395 \item Debian-Paket: 1100k |
365 \end{itemize} | 396 \end{itemize} |
366 \end{block} | 397 \end{block} |
367 | 398 |
368 \pause | 399 \pause |
369 | 400 |
385 \begin{block}{cplay} | 416 \begin{block}{cplay} |
386 \begin{itemize} | 417 \begin{itemize} |
387 \item Frontend für mpg123, ogg123, \dots | 418 \item Frontend für mpg123, ogg123, \dots |
388 \item sehr simpel, aber meist ausreichend | 419 \item sehr simpel, aber meist ausreichend |
389 \item vi-like Bedienung | 420 \item vi-like Bedienung |
390 \item \dots | 421 \item Remote-Control via FIFO |
391 \item Debian-Paket: 41k | 422 \item Debian-Paket: 41k |
392 \end{itemize} | 423 \end{itemize} |
393 \end{block} | 424 \end{block} |
394 | 425 |
395 \pause | 426 \pause |
403 \end{block} | 434 \end{block} |
404 } | 435 } |
405 | 436 |
406 | 437 |
407 | 438 |
439 \subsection{Filemanager} | |
440 \frame{ \frametitle{Filemanager} | |
441 \begin{block}{coreutils} | |
442 \begin{itemize} | |
443 \item cd, mv, cp, rm, mkdir, rmdir, \dots | |
444 \item man braucht eine gewisse Übersicht im FS | |
445 \item letztendlich aber einfach am schnellsten | |
446 \item \dots | |
447 \item überall vorhanden | |
448 \end{itemize} | |
449 \end{block} | |
450 | |
451 \pause | |
452 | |
453 \begin{block}{Alternativen} | |
454 \begin{itemize} | |
455 \item \texttt{mc} (2140k) Alleskönner mit schrecklicher Bedienung | |
456 \item \texttt{vifm} (63k) \texttt{mc} mit vi-Bedienung; noch zu wenige Features | |
457 \end{itemize} | |
458 \end{block} | |
459 } | |
460 | |
461 | |
462 | |
408 \subsection{FTP-Client} | 463 \subsection{FTP-Client} |
409 \frame{ \frametitle{FTP-Client} | 464 \frame{ \frametitle{FTP-Client} |
410 \begin{block}{ncftp} | 465 \begin{block}{ncftp} |
411 \begin{itemize} | 466 \begin{itemize} |
412 \item toller FTP-Client | 467 \item toller FTP-Client |
413 \item hatte nur früher ein curses-Interface | 468 \item hatte nur früher ein curses-Interface |
414 \item ncftp-batch, ncftp-put, \dots | 469 \item ncftpget, ncftpput, \dots |
415 \item \dots | 470 \item \dots |
416 \item Debian-Paket: 500k | 471 \item Debian-Paket: 500k |
417 \end{itemize} | 472 \end{itemize} |
418 \end{block} | 473 \end{block} |
419 | 474 |
420 \pause | 475 \pause |
421 | 476 |
422 \begin{block}{Alternativen} | 477 \begin{block}{Alternativen} |
423 \begin{itemize} | 478 \begin{itemize} |
424 \item \texttt{ftp} (50k) sehr minimal, bietet z.B. keine Readline | 479 \item \texttt{ftp} (50k) wenig Komfort |
425 \item \texttt{lftp} (540k) kenne ich leider nicht | 480 \item \texttt{lftp} (540k) (kenne ich leider nicht) |
426 \item \texttt{mc} (2140k) Alleskönner mit schrecklicher Bedienung | 481 \item \texttt{mc} (2140k) (siehe Folie Filemanager) |
427 \end{itemize} | 482 \end{itemize} |
428 \end{block} | 483 \end{block} |
429 } | 484 } |
430 | 485 |
431 | 486 |
432 | 487 |
433 \subsection{Chatten} | 488 \subsection{Chatten} |
434 \frame{ \frametitle{Chatten} | 489 \frame{ \frametitle{Chatten} |
435 \begin{block}{weechat} | 490 \begin{block}{weechat-curses} |
436 \begin{itemize} | 491 \begin{itemize} |
437 \item ein IRC-Client | 492 \item ein IRC-Client |
438 \item weechat ist eine Reimplementierung von irssi | 493 \item Reimplementierung von irssi |
439 \item Debian-Paket: 580k | 494 \item Debian-Paket: 580k |
440 \end{itemize} | 495 \end{itemize} |
441 \end{block} | 496 \end{block} |
442 | 497 |
443 \pause | 498 \pause |
444 | 499 |
445 \begin{block}{Alternativen} | 500 \begin{block}{Alternativen} |
446 \begin{itemize} | 501 \begin{itemize} |
447 \item \texttt{irssi} (1060k) | 502 \item \texttt{irssi} (1060k) der populäre IRC-Client |
448 \item \texttt{sic} (6k) | 503 \item \texttt{sic} (6k) liest stdin, schreibt stdout |
504 \item \texttt{centericq} (1260k) sehr bekannter ICQ-Client | |
449 \end{itemize} | 505 \end{itemize} |
450 \end{block} | 506 \end{block} |
451 | 507 |
452 \pause | 508 \pause |
453 | 509 |
517 | 573 |
518 \subsection{Window-Manager} | 574 \subsection{Window-Manager} |
519 \frame{ \frametitle{Window-Manager} | 575 \frame{ \frametitle{Window-Manager} |
520 \begin{block}{dwm} | 576 \begin{block}{dwm} |
521 \begin{itemize} | 577 \begin{itemize} |
522 \item | 578 \item dynamic window manager |
523 \item | 579 \item seit September 2006 |
524 \item \dots | 580 \item von Anselm R. Garbe (wmii) |
581 \item http://dwm.suckless.org | |
525 \item Debian-Paket: 20k | 582 \item Debian-Paket: 20k |
526 \end{itemize} | 583 \end{itemize} |
527 \end{block} | 584 \end{block} |
528 | 585 |
529 \pause | 586 \pause |
539 } | 596 } |
540 | 597 |
541 | 598 |
542 | 599 |
543 | 600 |
544 \section{Suckless-Projekt} | 601 \frame{ \frametitle{dwm} |
545 \frame{ \frametitle{Suckless-Projekt} | 602 \begin{block}{Features} |
546 | 603 \begin{itemize} |
604 \item minimalistisch, nur das Nötig(st)e | |
605 \item Tagging statt Workspaces | |
606 \item Konfiguration durch Quellcode editieren und neu kompilieren | |
607 \item Quellcode kann an einem Abend verstanden werden | |
608 \item aktive Entwicklung | |
609 \end{itemize} | |
610 \end{block} | |
611 | |
612 \pause | |
613 | |
614 \begin{block}{Ziele} | |
615 \begin{itemize} | |
616 \item 2kLOC | |
617 \item portables C | |
618 \item guter Code (Refactoring) | |
619 \item sehr standardkonform (aber: broken appz) | |
620 \item Erweiterung mit Patches | |
621 \item | |
622 \end{itemize} | |
623 \end{block} | |
624 } | |
625 | |
626 | |
627 | |
628 | |
629 \section{suckless-Projekt} | |
630 \frame{ \frametitle{suckless-Projekt} | |
631 \begin{block}{Community} | |
632 \begin{itemize} | |
633 \item http://suckless.org | |
634 \item kleine aktive Community | |
635 \item Patches als fester Bestandteil | |
636 \item Mailingliste ist Pflicht | |
637 \item einfach mitmachen! | |
638 \item | |
639 \end{itemize} | |
640 \end{block} | |
641 | |
642 \pause | |
643 | |
644 \begin{block}{Mein dwm} | |
645 \begin{itemize} | |
646 \item http://prog.marmaro.de/dwm-meillo/ | |
647 \item ein Patchset | |
648 \end{itemize} | |
649 \end{block} | |
547 } | 650 } |
548 | 651 |
549 | 652 |
550 | 653 |
551 | 654 |
582 \end{itemize} | 685 \end{itemize} |
583 \end{block} | 686 \end{block} |
584 | 687 |
585 { \tiny $\dagger$ \textit{UNIX} ist ein eingetragenes Warenzeichen der OpenGroup. } | 688 { \tiny $\dagger$ \textit{UNIX} ist ein eingetragenes Warenzeichen der OpenGroup. } |
586 | 689 |
690 \pause | |
691 | |
587 \begin{block}{} | 692 \begin{block}{} |
588 \vspace{3ex} | 693 \vspace{3ex} |
589 \centerline{\textbf{Danke für eure Aufmerksamkeit}} | 694 \centerline{\textbf{Danke für eure Aufmerksamkeit}} |
590 \end{block} | 695 \end{block} |
591 } | 696 } |