--- /dev/null
+
+SLIDES+= intro
+SLIDES+= mm0
+SLIDES+= mm
+
+SLIDEFILES=$(addsuffix .ps, $(SLIDES))
+
+o= >$@.new && mv -f $@.new $@
+
+all: slides.pdf talk.ps
+
+%.ps: %.fig
+ iconv <$< >$@.1 -f UTF-8 -t ISO-8859-1
+ # wtf!
+ LC_CTYPE=en_GB fig2dev -L ps -l dummy -z A4 <$@.1 $o
+
+mm0.ps: mm.fig
+ iconv <$< >$@.1 -f UTF-8 -t ISO-8859-1
+ LC_CTYPE=en_GB fig2dev -L ps -l dummy -z A4 -D-60 <$@.1 $o
+
+%.eps: %.fig
+ iconv <$< >$@.1 -f UTF-8 -t ISO-8859-1
+ # wtf!
+ LC_CTYPE=en_GB fig2dev -L eps <$@.1 $o
+
+%.txt.eps: %.txt ./txt2ps
+ ./txt2ps <$< |ps2eps -s a3 $o
+
+%.ps: %.lout
+ lout $< $o
+
+slides.ps: $(SLIDEFILES) Makefile
+ cat $(SLIDEFILES) $o
+
+%.pdf: %.ps Makefile
+ ps2pdf $< $@
+
+talk.ps: %.ps: %.txt Makefile
+ a2ps -1 -o $@.1.tmp -B $<
+ pstops <$@.1.tmp >$@ '0@0.94(7mm,7.5mm)'
+
+usb=/media/usb1
+
+for-printing: talk.pdf
+ mount $(usb)
+ cp $^ $(usb)/.
+ umount $(usb)
--- /dev/null
+#FIG 3.2 Produced by xfig version 3.2.6a
+Landscape
+Center
+Metric
+A4
+100.00
+Single
+-2
+1200 2
+6 -1350 1125 10800 6300
+2 1 0 1 0 7 50 -1 -1 0.000 0 0 -1 0 0 2
+ -1350 1125 10800 1125
+4 0 0 50 -1 2 30 0.0000 4 375 2565 -900 2025 Ian Jackson\001
+4 0 0 50 -1 2 30 0.0000 4 330 1275 4050 2025 Citrix\001
+4 0 0 50 -1 2 30 0.0000 4 435 2115 5850 2025 May 2019\001
+4 0 0 50 -1 2 30 0.0000 4 330 2505 0 3375 Who am I ?\001
+4 0 0 50 -1 2 30 0.0000 4 435 5655 0 4275 curmudgeon and pessimist\001
+4 0 0 50 -1 2 30 0.0000 4 435 6630 0 5175 Perl, C, Tcl, Python, bash, SQL\001
+4 0 0 50 -1 2 30 0.0000 4 435 10320 0 6075 some C++, Haskell, Ocaml, asm, JS, Lisp, Java...\001
+-6
+4 0 0 50 -1 2 30 0.0000 4 435 11925 -1350 -450 The most exciting new programming language for years\001
+4 0 0 50 -1 2 36 0.0000 4 420 1200 -1350 -1350 Rust\001
+4 0 0 50 -1 2 30 0.0000 4 435 3105 900 450 (what, really?)\001
--- /dev/null
+#FIG 3.2 Produced by xfig version 3.2.6a
+Landscape
+Center
+Metric
+A4
+100.00
+Single
+-2
+1200 2
+6 8325 -1350 12150 6300
+4 0 0 50 -1 2 30 0.0000 4 435 930 10125 1800 Lisp\001
+4 0 0 50 -1 2 30 0.0000 4 330 1605 8325 2475 Haskell\001
+4 0 0 50 -1 2 30 0.0000 4 330 1425 8325 1800 Ocaml\001
+4 0 0 50 -1 2 30 0.0000 4 330 885 8325 1125 Perl\001
+4 0 0 50 -1 2 30 0.0000 4 435 1515 8325 450 Python\001
+4 0 0 50 -1 2 30 0.0000 4 375 525 10125 450 JS\001
+4 0 0 50 -1 2 30 0.0000 4 375 1020 10125 1125 Java\001
+4 0 0 50 -1 2 36 0.0000 4 420 900 8325 -900 GC\001
+4 0 0 50 -1 14 30 0.0000 4 210 900 8325 4050 new\001
+4 0 0 50 -1 15 30 0.0000 4 390 2100 8325 4500 Class()\001
+4 0 0 50 -1 0 30 0.0000 4 435 3645 8325 4950 implicit allocation\001
+4 0 0 50 -1 0 30 0.0000 4 330 2880 8325 5625 freed after last\001
+4 0 0 50 -1 0 30 0.0000 4 435 3795 8325 6075 referent goes away\001
+-6
+6 225 -1350 3600 6075
+4 0 0 50 -1 14 30 0.0000 4 210 900 225 4050 new\001
+4 0 0 50 -1 14 30 0.0000 4 315 1800 225 4500 malloc\001
+4 0 0 50 -1 14 30 0.0000 4 315 1200 225 5625 free\001
+4 0 0 50 -1 14 30 0.0000 4 315 1800 225 6075 delete\001
+4 0 0 50 -1 2 30 0.0000 4 330 360 225 1350 C\001
+4 0 0 50 -1 2 30 0.0000 4 330 930 225 1920 C++\001
+4 0 0 50 -1 2 30 0.0000 4 330 2250 225 2490 Assembler\001
+4 0 0 50 -1 2 36 0.0000 4 420 1995 225 -900 Manual\001
+4 0 0 50 -1 2 36 0.0000 4 420 2130 225 -450 memory\001
+4 0 0 50 -1 2 36 0.0000 4 510 3285 225 0 management\001
+-6
+4 0 0 60 -1 2 36 0.0000 4 420 1200 4500 1575 Rust\001
+4 0 0 60 -1 0 30 0.0000 4 345 1665 4500 6300 checked\001
+4 0 0 60 -1 0 30 0.0000 4 435 2235 4500 5850 sufficiency\001
+4 0 0 60 -1 0 30 0.0000 4 330 1545 4500 5400 lifetime\001
+4 0 0 60 -1 14 30 0.0000 4 210 900 4500 4050 new\001
+4 0 0 60 -1 0 30 0.0000 4 420 915 4500 4500 (etc)\001
+4 0 0 60 -1 2 36 0.0000 4 540 2835 4275 -900 Ownership\001
+4 0 0 60 -1 2 30 0.0000 4 435 1755 4500 -450 (borrow\001
+4 0 0 60 -1 2 30 0.0000 4 435 1830 4725 0 checker)\001