changeset 56:7678e37ceffc

added presentation slides
author meillo@marmaro.de
date Thu, 15 Apr 2010 23:04:07 +0200 (2010-04-15)
parents acd63ecc3606
children 840cbc667009
files makefile unix-phil-slides2.ms
diffstat 2 files changed, 198 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/makefile	Thu Apr 15 23:03:39 2010 +0200
+++ b/makefile	Thu Apr 15 23:04:07 2010 +0200
@@ -1,4 +1,4 @@
-all: unix-phil.ps unix-phil.txt unix-phil-slides.ps
+all: unix-phil.ps unix-phil.txt unix-phil-slides.ps unix-phil-slides2.ps
 
 unix-phil.ps: unix-phil.ms bib
 	. hl ; sed -n '/./p' $< | refer -e -sLAD -P -p bib | troff -ms | dpost >$@
@@ -8,3 +8,6 @@
 
 unix-phil-slides.ps: unix-phil-slides.ms
 	. hl ; sed -n '/./p' $< | troff -ms slides - | dpost | insline 1 "%%BoundingBox: 0 0 600 450" >$@
+
+unix-phil-slides2.ps: unix-phil-slides2.ms
+	. hl ; sed -n '/./p' $< | troff -ms slides - | dpost | insline 1 "%%BoundingBox: 0 0 600 450" >$@
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/unix-phil-slides2.ms	Thu Apr 15 23:04:07 2010 +0200
@@ -0,0 +1,194 @@
+.ps 11
+.ce
+Seminar ``Software Analysis''
+.TL
+\fR\s-6Why\s0\fP
+.br
+the Unix Philosophy
+.br
+.vs -4
+\fR\s-6still matters\s0\fP
+.AU
+.ft R
+.sp .5i
+.sp .5i
+.ps 11
+markus schnalke <meillo@marmaro.de>
+
+
+.S "Software design
+.rs
+.sp
+.LP
+\&... is about quality
+.I
+Good design \(-> good quality
+.I
+Bad design \(-> problems
+.sp
+.LP
+\&... and consistency
+.LP
+.sp 2
+Unix Phil = guidelines for good design
+
+
+
+.S "The Unix Phil *itself*
+.rs
+.sp
+.LP
+Wikipedia:
+.ce 99
+.sp
+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.
+.sp
+
+
+.S "Unix Phil and Software dev processes
+.rs
+.sp
+.LP
+The Unix Phil:
+.I
+mostly *what*
+
+.sp
+.LP
+Software dev processes:
+.I
+mostly *how*
+.sp 2
+.LP
+Extreme Programming and the Unix Phil
+are good friends
+
+
+
+.S "The Unix Phil by Doug McIlroy (1978)
+.rs
+.sp
+.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 "The Unix Phil by Mike Gancarz (1995)
+.rs
+.sp .2v
+.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
+
+
+
+
+.S "Case studies
+.LP
+.B "MH / nmh
+.LP
+The only MUA that is a toolchest
+.LP
+Makes use of the powerful shell
+.LP
+Great example of applied Unix Phil
+
+.sp 1
+.LP
+.B uzbl
+.LP
+A web browser that adheres to the Unix Phil
+.LP
+Central question:
+.br
+What is the one thing a web browser should do well?
+.LP
+Makes very visible use of software leverage
+
+
+
+
+
+.S "Why?
+.rs
+.sp
+.LP
+.ce
+We don't need just any solutions, we need good ones
+
+.sp 3
+.LP
+.ce
+Avoid \fBcomplexity\fP first and foremost!
+.LP
+.ce
+Exploit software \fBleverage\fP!
+
+
+.S "Further reading
+.LP
+The paper to the slides
+.sp
+.LP
+My talk on this topic at the ChaosSeminar of CCC Ulm
+.CW \s-2http://ulm.ccc.de/ChaosSeminar/2010/03_UnixPhil\s0
+.sp
+.LP
+Mike Gancarz' book
+\fI``The Unix Philosophy''\fP
+.sp
+.LP
+\fI``cat -v Considered Harmful''\fP
+by Pike and Kernighan
+.CW \s-2http://harmful.cat-v.org/cat-v/\s+2
+
+
+.S Colophon
+.LP
+The paper and slides were prepared with:
+.br
+.CW "vi sed awk refer troff dpost spell make hg
+
+.sp
+.LP
+Most of the tools are from
+.CW \s-2http://heirloom.sf.net\s0
+.LP
+The `slides' macros are based on
+.br
+.CW \s-2http://repo.cat-v.org/troff-slider/\s0
+.sp 2
+
+.LP
+The paper, the slides, and the complete sources are available on my website
+.CW \s-2http://marmaro.de/docs\s+2
+
+.sp 3
+2010-04-16