changeset 24:2335f5658fca

added poster and slides
author meillo@marmaro.de
date Fri, 05 Mar 2010 23:56:48 +0100
parents f0511a56416e
children e6ac51dc18bf
files cs-2010-03_poster.ms makefile slides unix-phil-slides.ms
diffstat 4 files changed, 461 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/cs-2010-03_poster.ms	Fri Mar 05 23:56:48 2010 +0100
@@ -0,0 +1,56 @@
+.fp 1 R pplr8a.afm uplr8a.pfb
+.fp 2 I pplri8a.afm uplri8a.pfb
+.fp 3 B pplb8a.afm uplb8a.pfb
+.fp 4 BI pplbi8a.afm uplbi8a.pfb
+.fi
+.ad b
+.hy 14
+.de P
+.br
+.sp 0.8
+..
+
+.sp 1i
+.ps 30
+.vs 32
+ChaosSeminar
+.br
+des CCC Ulm
+
+.sp 1.0i
+.ps 44
+.ft BI
+.ce
+Die Unix Philosophie
+
+.sp 0.7i
+.ft R
+.ps 18
+.vs 20
+.nr PD 10p
+Ein Vortrag von \fBMarkus Schnalke\fP
+über die wahre Genialität von Unix.
+.P
+Unix ist ein beeindruckendes Betriebssystem und eine 
+erstklassige Programmsammlung.
+Doch dies ist beides letztlich nur eine Folge.
+\fIDas eigentlich besondere an Unix ist seine Philosophie.\fP
+Die Unix Philosophie ist eine Sammlung von Konzepte und
+Designziele die in Unix umgesetzt wurden.
+.P
+Dieser Vortrag wird die Unix Philosophie vorstellen
+und erklären weshalb sie zu hervorragender Software führt.
+.P
+Neben den rein technischen Aspekten bietet die
+Unix Philosophie aber auch Anreize für das tägliche Leben.
+Sie ist mehr als Richtlinien um gute Software zu erzeugen,
+sie ist eine Inspiration in vielerlei Hinsicht.
+
+.sp 1i
+.ps 30
+.vs 36
+.ce 2
+Montag, 08. März
+.br
+20:00 Uhr, H20
+.br
--- a/makefile	Tue Mar 02 14:34:07 2010 +0100
+++ b/makefile	Fri Mar 05 23:56:48 2010 +0100
@@ -1,7 +1,10 @@
-all: unix-phil.ps unix-phil.txt
+all: unix-phil.ps unix-phil.txt unix-phil-slides.ps
 
 unix-phil.ps: unix-phil.ms
 	sh -c "`doctype unix-phil.ms`" >unix-phil.ps
 
 unix-phil.txt: unix-phil.ms
 	sh -c "`doctype -n unix-phil.ms`" >unix-phil.txt
+
+unix-phil-slides.ps: unix-phil-slides.ms
+	sed -n '/./p' unix-phil-slides.ms | hl troff -ms slides - | hl dpost | insline 1 "%%BoundingBox: 0 0 600 450" >unix-phil-slides.ps
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/slides	Fri Mar 05 23:56:48 2010 +0100
@@ -0,0 +1,62 @@
+.pl 7i
+
+.fp 1 R H
+.fp 2 I HI
+.fp 3 B HB
+.fp 4 BI HX
+
+.nr PS 16
+.nr VS 20p
+.nr PD 12p
+
+.ds CH "
+
+.am TL
+.sp 0.7i
+.ps 24
+.vs 28p
+..
+.am AU
+.\"'sp 4.0i
+.\".ps 14
+.\".vs 20p
+..
+
+
+.de P
+.ds CH "
+.bp
+\&
+.sp 1.4i
+.ce 1
+\s+8\fB\\$1\fP\s-8
+.na
+..
+
+.de S
+.ds CH \s+2\f3\\$1\fP\s-2
+.bp
+.LP
+.na
+..
+
+.de I
+.if !"\\$1"" .ds BX \\$1
+.if "\\$1"" .ds BX \(bu
+.IP \\*(BX
+..
+
+.de CW
+\&\f(CW\\$1\fP\\$2
+..
+
+
+
+.\" .nr PO 0.5i  \" page offset = left margin
+.\" .nr HM 1i \" header margin
+.\" .nr PS 12
+.\" .nr VS 14p
+.\" .nr PD 6p
+.\" .nr LL 6.5i
+.\" .pl 15c
+.\" .ds RF "
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/unix-phil-slides.ms	Fri Mar 05 23:56:48 2010 +0100
@@ -0,0 +1,339 @@
+.TL
+\fR\s-6Why\s0\fP
+.br
+the Unix Philosophy
+.br
+.vs -4
+\fR\s-6(still) matters\s0\fP
+.AU
+.ft R
+.sp 1.2i
+.ps 11
+markus schnalke <meillo@marmaro.de>
+
+
+.S "goals of this talk
+.I
+introduce the Unix Phil
+.I
+explain why most modern software is crap
+.I
+explain why the Unix Phil leads to better software
+.I
+convince you that good software is of matter
+.sp 2
+.I
+make you think
+
+
+.S "roadmap
+.I
+Historical background
+.I
+What is the Unix Philosophy?
+.I
+The Unix Phil after Gancarz
+.I
+Discussion on real world examples
+.I
+The Unix Phil is more than software dev guidelines
+
+
+
+.S "me and the UP
+.LP
+first contact: through the suckless project
+.LP
+``cat -v Considered Harmful''
+.LP
+``The Unix and the Echo''
+.LP
+``The Unix Programming Environment''
+.sp 1
+.LP
+better understanding through digging in the past
+
+
+
+
+
+.P "historical background
+
+
+
+
+.S "historical background
+.I
+the late 60s and early 70s
+.I
+operating systems are complex
+.I
+MULTICS just failed
+.I
+Brooks' ``The Mythical Man-Month''
+.I
+a lot of different hardware
+.I
+limited computing power
+.I
+textual input and output (line printers)
+
+
+.S "everything is a file
+.LP
+is the(?) basic concept in Unix (and even more in Plan9)
+.LP
+made simple operating systems possible
+.LP
+it is not covered by the Unix Phil; the Unix Phil is on a different level
+.sp 2
+.LP
+Unix is mainly two things:
+.I
+an operating system (system calls)
+.I
+a toolchest (coreutils)
+
+
+
+.P "What is the Unix Phil
+
+
+
+.S "What is the Unix Phil *itself*?
+.LP
+``The Unix philosophy is a set of cultural norms and philosophical
+approaches to developing software based on the experience of
+leading developers of the Unix operating system.''
+(wikipedia)
+.sp 2
+.LP
+How the inventors of Unix write software.
+.LP
+Common things of classic Unix tools.
+.sp 2
+.LP
+difficult to define
+
+
+.S "Unix Phil vs. SW dev processes
+.LP
+the Unix Phil
+.I
+much: *what* to program
+.I
+few: *how* to program
+
+.LP
+Software developments processes:
+.I
+few: *what* to program
+.I
+much: *how* to program
+
+.sp 2
+.LP
+Extreme Programming is like the Unix Phil
+but with more *how* than *what*,
+and with formalisms
+
+
+
+
+
+.S "What is the Unix Phil?
+.I
+Doug McIlroy (1978)
+.I
+Mike Gancarz: ``The Unix Philosophy'' (1994)
+.I
+Eric S. Raymond: ``The Art of Unix Programming'' (2003)
+.sp 2
+.I
+Richard Gabriel: ``Worse is Better'' (1989)
+
+
+.S "Doug McIlroy
+.LP
+This is the Unix philosophy:
+.I
+Write programs that do one thing and do it well.
+.I
+Write programs to work together.
+.I
+Write programs to handle text streams, because that is a universal interface.
+
+
+.S "Mike Gancarz: ``The Unix Philosophy''
+.I
+Small is beautiful.
+.I
+Make each program do one thing well.
+.I
+Build a prototype as soon as possible.
+.I
+Choose portability over efficiency.
+.I
+Store data in flat text files.
+.I
+Use software leverage to your advantage.
+.I
+Use shell scripts to increase leverage and portability.
+.I
+Avoid captive user interfaces.
+.I
+Make every program a filter.
+.sp 1
+.LP
+plus ten lesser tenets
+
+
+
+
+.P "The Unix Phil after Gancarz
+
+.S "Small is beautiful.
+.LP
+foo
+
+
+.S "Make each program do one thing well.
+.LP
+foo
+
+
+.S "Build a prototype as soon as possible.
+.LP
+foo
+
+
+.S "Choose portability over efficiency.
+.LP
+foo
+
+
+.S "Store data in flat text files.
+.LP
+foo
+
+
+.S "Use software leverage to your advantage.
+.LP
+foo
+
+
+.S "Use shell scripts to increase leverage and portability.
+.LP
+foo
+
+
+.S "Avoid captive user interfaces.
+.LP
+foo
+
+
+.S "Make every program a filter.
+.LP
+foo
+
+
+
+
+
+.P "real world examples
+
+
+.S "various
+.LP
+who uses
+.CW "grep -R
+?
+
+.sp 1
+.LP
+.CW "cat -v
+
+.sp 1
+.LP
+pagers are taken for granted
+
+.sp 1
+.LP
+what about the readline?
+
+
+
+.S "find -printf
+.LP
+How to reformat the output of find(1) to have ``FILENAME PATH''
+instead of ``PATH/FILENAME''?
+
+.LP
+the ``easy'' way:
+\f(CWfind /dir -printf "%P %h\en"\fP
+
+.LP
+the ``good'' way:
+.br
+.CW "\s-1find /dir | sed 's,\e(.*\e)/\e(.*\e),\e2 \e1,'
+
+.LP
+The difference shows off when one wants, for instance,
+the path to be manipulated further.
+
+
+.S "MH / nmh
+.LP
+a Mail User Agent (MUA)
+
+
+.S "uzbl
+.LP
+a web browser that adheres to the Unix Phil
+
+
+
+
+
+.P "more than software dev guidelines
+
+
+
+
+
+.P "literature
+
+
+.S literature
+.I
+``\fBText Processing and Typesetting with Unix\fP''
+by Barron and Rees
+explains everything pretty good (focus on
+.CW nroff )
+.I
+``\fBHeirloom Documentation Tools Nroff/Troff User's Manual\fP''
+by Ossanna, Kernighan, and Ritter
+is more a technical reference
+.I
+Various documents collected on
+.CW \s-2http://troff.org\s+2
+
+
+.S
+.LP
+this talk was prepared using tools of the Heirloom project:
+.CW \s-2http://heirloom.sf.net\s+2
+.LP
+the slides macros are based on
+.br
+.CW \s-2http://repo.cat-v.org/troff-slider/\s+2
+.sp
+
+.LP
+the slides are available on my website
+.CW \s-2http://marmaro.de/docs\s+2
+and on
+.CW \s-2http://ulm.ccc.de/ChaosSeminar/\s+2
+.sp
+
+2010-03-08