1
mirror of https://gitlab.nic.cz/labs/bird.git synced 2024-11-03 18:37:48 +01:00

Added slides for our presentation, but don't export them to the

distribution tarball -- they are in Czech and therefore of no use
to almost anybody :(
This commit is contained in:
Martin Mares 2000-06-26 20:02:30 +00:00
parent 2084109a37
commit e7894ecede
7 changed files with 7409 additions and 1 deletions

19
doc/slides/Makefile Normal file
View File

@ -0,0 +1,19 @@
all: slides.dvi
slides.dvi: slides.tex
csplain slides.tex
slides.ps: slides.dvi
dvips -o slides.ps -D600 -ta4 slides.dvi
view: slides.dvi
xdvi -expert -geometry 1100x700 -l -s 4 -paper a4 -margins 1in slides.dvi
viewlarge: slides.dvi
xdvi -expert -geometry 1024x700 -l -s 1 -paper a4 -margins 1in slides.dvi
viewreal: slides.dvi
xdvi -expert -geometry 1024x700 -l -s 6 -paper a4 -margins 1in slides.dvi
clean:
rm -f *~ *.log *.tfm *.*pk *.*gf *.ps *.dvi

454
doc/slides/logo.eps Normal file
View File

@ -0,0 +1,454 @@
%!PS-Adobe-3.0 EPSF-3.0
%%BoundingBox: 16 477 580 811
%%Creator: CorelDRAW 8
%%Title: C:\Dokumenty\bird\333333.eps
%%CreationDate: Sun Jun 25 11:14:25 2000
%%DocumentProcessColors: Black
%%DocumentSuppliedResources: (atend)
%%EndComments
%%BeginProlog
/AutoFlatness false def
/AutoSteps 0 def
/CMYKMarks true def
/UseLevel 1 def
%Color profile: PROFILES.CCM - Obecný profil tiskárny CMYK
%%BeginResource: procset wCorel8Dict 8.0 0
/wCorel8Dict 300 dict def wCorel8Dict begin
% Copyright (c)1992-97 Corel Corporation
% All rights reserved. v8.0 r0.7
/bd{bind def}bind def/ld{load def}bd/xd{exch def}bd/_ null def/rp{{pop}repeat}
bd/@cp/closepath ld/@gs/gsave ld/@gr/grestore ld/@np/newpath ld/Tl/translate ld
/$sv 0 def/@sv{/$sv save def}bd/@rs{$sv restore}bd/spg/showpage ld/showpage{}
bd currentscreen/@dsp xd/$dsp/@dsp def/$dsa xd/$dsf xd/$sdf false def/$SDF
false def/$Scra 0 def/SetScr/setscreen ld/setscreen{pop pop pop}bd/@ss{2 index
0 eq{$dsf 3 1 roll 4 -1 roll pop}if exch $Scra add exch load SetScr}bd
/SepMode_5 where{pop}{/SepMode_5 0 def}ifelse/CurrentInkName_5 where{pop}
{/CurrentInkName_5(Composite)def}ifelse/$ink_5 where{pop}{/$ink_5 -1 def}
ifelse/$c 0 def/$m 0 def/$y 0 def/$k 0 def/$t 1 def/$n _ def/$o 0 def/$fil 0
def/$C 0 def/$M 0 def/$Y 0 def/$K 0 def/$T 1 def/$N _ def/$O 0 def/$PF false
def/s1c 0 def/s1m 0 def/s1y 0 def/s1k 0 def/s1t 0 def/s1n _ def/$bkg false def
/SK 0 def/SM 0 def/SY 0 def/SC 0 def/$op false def matrix currentmatrix/$ctm xd
/$ptm matrix def/$ttm matrix def/$stm matrix def/$ffpnt true def
/CorelDrawReencodeVect[16#0/grave 16#5/breve 16#6/dotaccent 16#8/ring
16#A/hungarumlaut 16#B/ogonek 16#C/caron 16#D/dotlessi 16#27/quotesingle
16#60/grave 16#7C/bar
16#82/quotesinglbase/florin/quotedblbase/ellipsis/dagger/daggerdbl
16#88/circumflex/perthousand/Scaron/guilsinglleft/OE
16#91/quoteleft/quoteright/quotedblleft/quotedblright/bullet/endash/emdash
16#98/tilde/trademark/scaron/guilsinglright/oe 16#9F/Ydieresis
16#A1/exclamdown/cent/sterling/currency/yen/brokenbar/section
16#a8/dieresis/copyright/ordfeminine/guillemotleft/logicalnot/minus/registered/macron
16#b0/degree/plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered
16#b8/cedilla/onesuperior/ordmasculine/guillemotright/onequarter/onehalf/threequarters/questiondown
16#c0/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla
16#c8/Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis
16#d0/Eth/Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply
16#d8/Oslash/Ugrave/Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls
16#e0/agrave/aacute/acircumflex/atilde/adieresis/aring/ae/ccedilla
16#e8/egrave/eacute/ecircumflex/edieresis/igrave/iacute/icircumflex/idieresis
16#f0/eth/ntilde/ograve/oacute/ocircumflex/otilde/odieresis/divide
16#f8/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn/ydieresis]def
/L2?/languagelevel where{pop languagelevel 2 ge}{false}ifelse def
/@BeginSysCorelDict{systemdict/Corel30Dict known{systemdict/Corel30Dict get
exec}if systemdict/CorelLexDict known{1 systemdict/CorelLexDict get exec}if}bd
/@EndSysCorelDict{systemdict/Corel30Dict known{end}if/EndCorelLexDict where
{pop EndCorelLexDict}if}bd AutoFlatness{/@ifl{dup currentflat exch sub 10 gt{
([Error: PathTooComplex; OffendingCommand: AnyPaintingOperator]\n)print flush
@np exit}{currentflat 2 add setflat}ifelse}bd/@fill/fill ld/fill{currentflat{
{@fill}stopped{@ifl}{exit}ifelse}bind loop setflat}bd/@eofill/eofill ld/eofill
{currentflat{{@eofill}stopped{@ifl}{exit}ifelse}bind loop setflat}bd/@clip
/clip ld/clip{currentflat{{@clip}stopped{@ifl}{exit}ifelse}bind loop setflat}
bd/@eoclip/eoclip ld/eoclip{currentflat{{@eoclip}stopped{@ifl}{exit}ifelse}
bind loop setflat}bd/@stroke/stroke ld/stroke{currentflat{{@stroke}stopped
{@ifl}{exit}ifelse}bind loop setflat}bd}if L2?{/@ssa{true setstrokeadjust}bd}{
/@ssa{}bd}ifelse/d/setdash ld/j/setlinejoin ld/J/setlinecap ld/M/setmiterlimit
ld/w/setlinewidth ld/O{/$o xd}bd/R{/$O xd}bd/W/eoclip ld/c/curveto ld/C/c ld/l
/lineto ld/L/l ld/rl/rlineto ld/m/moveto ld/n/newpath ld/N/newpath ld/P{11 rp}
bd/u{}bd/U{}bd/A{pop}bd/q/@gs ld/Q/@gr ld/&{}bd/@j{@sv @np}bd/@J{@rs}bd/g{1
exch sub/$k xd/$c 0 def/$m 0 def/$y 0 def/$t 1 def/$n _ def/$fil 0 def}bd/G{1
sub neg/$K xd _ 1 0 0 0/$C xd/$M xd/$Y xd/$T xd/$N xd}bd/k{1 index type
/stringtype eq{/$t xd/$n xd}{/$t 0 def/$n _ def}ifelse/$k xd/$y xd/$m xd/$c xd
/$fil 0 def}bd/K{1 index type/stringtype eq{/$T xd/$N xd}{/$T 0 def/$N _ def}
ifelse/$K xd/$Y xd/$M xd/$C xd}bd/x/k ld/X/K ld/sf{1 index type/stringtype eq{
/s1t xd/s1n xd}{/s1t 0 def/s1n _ def}ifelse/s1k xd/s1y xd/s1m xd/s1c xd}bd/i{
dup 0 ne{setflat}{pop}ifelse}bd/v{4 -2 roll 2 copy 6 -2 roll c}bd/V/v ld/y{2
copy c}bd/Y/y ld/@w{matrix rotate/$ptm xd matrix scale $ptm dup concatmatrix
/$ptm xd 1 eq{$ptm exch dup concatmatrix/$ptm xd}if 1 w}bd/@g{1 eq dup/$sdf xd
{/$scp xd/$sca xd/$scf xd}if}bd/@G{1 eq dup/$SDF xd{/$SCP xd/$SCA xd/$SCF xd}
if}bd/@D{2 index 0 eq{$dsf 3 1 roll 4 -1 roll pop}if 3 copy exch $Scra add exch
load SetScr/$dsp xd/$dsa xd/$dsf xd}bd/$ngx{$SDF{$SCF SepMode_5 0 eq{$SCA}
{$dsa}ifelse $SCP @ss}if}bd/p{/$pm xd 7 rp/$pyf xd/$pxf xd/$pn xd/$fil 1 def}
bd/@MN{2 copy le{pop}{exch pop}ifelse}bd/@MX{2 copy ge{pop}{exch pop}ifelse}bd
/InRange{3 -1 roll @MN @MX}bd/@sqr{dup 0 rl dup 0 exch rl neg 0 rl @cp}bd
/currentscale{1 0 dtransform matrix defaultmatrix idtransform dup mul exch dup
mul add sqrt 0 1 dtransform matrix defaultmatrix idtransform dup mul exch dup
mul add sqrt}bd/@unscale{}bd/wDstChck{2 1 roll dup 3 -1 roll eq{1 add}if}bd
/@dot{dup mul exch dup mul add 1 exch sub}bd/@lin{exch pop abs 1 exch sub}bd
/cmyk2rgb{3{dup 5 -1 roll add 1 exch sub dup 0 lt{pop 0}if exch}repeat pop}bd
/rgb2cmyk{3{1 exch sub 3 1 roll}repeat 3 copy @MN @MN 3{dup 5 -1 roll sub neg
exch}repeat}bd/rgb2g{2 index .299 mul 2 index .587 mul add 1 index .114 mul add
4 1 roll pop pop pop}bd/WaldoColor_5 where{pop}{/SetRgb/setrgbcolor ld/GetRgb
/currentrgbcolor ld/SetGry/setgray ld/GetGry/currentgray ld/SetRgb2 systemdict
/setrgbcolor get def/GetRgb2 systemdict/currentrgbcolor get def/SetHsb
systemdict/sethsbcolor get def/GetHsb systemdict/currenthsbcolor get def
/rgb2hsb{SetRgb2 GetHsb}bd/hsb2rgb{3 -1 roll dup floor sub 3 1 roll SetHsb
GetRgb2}bd/setcmykcolor where{pop/SetCmyk_5/setcmykcolor ld}{/SetCmyk_5{
cmyk2rgb SetRgb}bd}ifelse/currentcmykcolor where{pop/GetCmyk/currentcmykcolor
ld}{/GetCmyk{GetRgb rgb2cmyk}bd}ifelse/setoverprint where{pop}{/setoverprint{
/$op xd}bd}ifelse/currentoverprint where{pop}{/currentoverprint{$op}bd}ifelse
/@tc_5{5 -1 roll dup 1 ge{pop}{4{dup 6 -1 roll mul exch}repeat pop}ifelse}bd
/@trp{exch pop 5 1 roll @tc_5}bd/setprocesscolor_5{SepMode_5 0 eq{SetCmyk_5}{0
4 $ink_5 sub index exch pop 5 1 roll pop pop pop pop SepsColor true eq{$ink_5 3
gt{1 sub neg SetGry}{0 0 0 4 $ink_5 roll SetCmyk_5}ifelse}{1 sub neg SetGry}
ifelse}ifelse}bd/findcmykcustomcolor where{pop}{/findcmykcustomcolor{5 array
astore}bd}ifelse/setcustomcolor where{pop}{/setcustomcolor{exch aload pop
SepMode_5 0 eq{pop @tc_5 setprocesscolor_5}{CurrentInkName_5 eq{4 index}{0}
ifelse 6 1 roll 5 rp 1 sub neg SetGry}ifelse}bd}ifelse/@scc_5{dup type
/booleantype eq{setoverprint}{1 eq setoverprint}ifelse dup _ eq{pop
setprocesscolor_5 pop}{findcmykcustomcolor exch setcustomcolor}ifelse SepMode_5
0 eq{true}{GetGry 1 eq currentoverprint and not}ifelse}bd/colorimage where{pop
/ColorImage{colorimage}def}{/ColorImage{/ncolors xd pop/dataaq xd{dataaq
ncolors dup 3 eq{/$dat xd 0 1 $dat length 3 div 1 sub{dup 3 mul $dat 1 index
get 255 div $dat 2 index 1 add get 255 div $dat 3 index 2 add get 255 div rgb2g
255 mul cvi exch pop $dat 3 1 roll put}for $dat 0 $dat length 3 idiv
getinterval pop}{4 eq{/$dat xd 0 1 $dat length 4 div 1 sub{dup 4 mul $dat 1
index get 255 div $dat 2 index 1 add get 255 div $dat 3 index 2 add get 255 div
$dat 4 index 3 add get 255 div cmyk2rgb rgb2g 255 mul cvi exch pop $dat 3 1
roll put}for $dat 0 $dat length ncolors idiv getinterval}if}ifelse}image}bd
}ifelse/setcmykcolor{1 5 1 roll _ currentoverprint @scc_5/$ffpnt xd}bd
/currentcmykcolor{0 0 0 0}bd/setrgbcolor{rgb2cmyk setcmykcolor}bd
/currentrgbcolor{currentcmykcolor cmyk2rgb}bd/sethsbcolor{hsb2rgb setrgbcolor}
bd/currenthsbcolor{currentrgbcolor rgb2hsb}bd/setgray{dup dup setrgbcolor}bd
/currentgray{currentrgbcolor rgb2g}bd/InsideDCS false def/IMAGE systemdict
/image get def/image{InsideDCS{IMAGE}{/EPSDict where{pop SepMode_5 0 eq{IMAGE}
{dup type/dicttype eq{dup/ImageType get 1 ne{IMAGE}{dup dup/BitsPerComponent
get 8 eq exch/BitsPerComponent get 1 eq or currentcolorspace 0 get/DeviceGray
eq and{CurrentInkName_5(Black)eq{IMAGE}{dup/DataSource get/TCC xd/Height get
abs{TCC pop}repeat}ifelse}{IMAGE}ifelse}ifelse}{2 index 1 ne{CurrentInkName_5
(Black)eq{IMAGE}{/TCC xd pop pop exch pop abs{TCC pop}repeat}ifelse}{IMAGE}
ifelse}ifelse}ifelse}{IMAGE}ifelse}ifelse}bd}ifelse/WaldoColor_5 true def/@sft
{$tllx $pxf add dup $tllx gt{$pwid sub}if/$tx xd $tury $pyf sub dup $tury lt
{$phei add}if/$ty xd}bd/@stb{pathbbox/$ury xd/$urx xd/$lly xd/$llx xd}bd/@ep{{
cvx exec}forall}bd/@tp{@sv/$in true def 2 copy dup $lly le{/$in false def}if
$phei sub $ury ge{/$in false def}if dup $urx ge{/$in false def}if $pwid add
$llx le{/$in false def}if $in{@np 2 copy m $pwid 0 rl 0 $phei neg rl $pwid neg
0 rl 0 $phei rl clip @np $pn cvlit load aload pop 7 -1 roll 5 index sub 7 -1
roll 3 index sub Tl matrix currentmatrix/$ctm xd @ep pop pop pop pop}{pop pop
}ifelse @rs}bd/@th{@sft 0 1 $tly 1 sub{dup $psx mul $tx add{dup $llx gt{$pwid
sub}{exit}ifelse}loop exch $phei mul $ty exch sub 0 1 $tlx 1 sub{$pwid mul 3
copy 3 -1 roll add exch @tp pop}for pop pop}for}bd/@tv{@sft 0 1 $tlx 1 sub{dup
$pwid mul $tx add exch $psy mul $ty exch sub{dup $ury lt{$phei add}{exit}
ifelse}loop 0 1 $tly 1 sub{$phei mul 3 copy sub @tp pop}for pop pop}for}bd/$fm
0 def/wfill{1 $fm eq{fill}{eofill}ifelse}bd/wclip{1 $fm eq{clip}{eoclip}ifelse
}bd/@pf{@gs $ctm setmatrix $pm concat @stb wclip @sv Bburx Bbury $pm itransform
/$tury xd/$turx xd Bbllx Bblly $pm itransform/$tlly xd/$tllx xd newpath $tllx
$tlly m $tllx $tury l $turx $tury l $turx $tlly l $tllx $tlly m @cp pathbbox
@rs/$tury xd/$turx xd/$tlly xd/$tllx xd/$wid $turx $tllx sub def/$hei $tury
$tlly sub def @gs $vectpat{1 0 0 0 0 _ $o @scc_5{wfill}if}{$t $c $m $y $k $n $o
@scc_5{SepMode_5 0 eq $pfrg or{$tllx $tlly Tl $wid $hei scale <00> 8 1 false[8
0 0 1 0 0]{}imagemask}{/$bkg true def}ifelse}if}ifelse @gr $wid 0 gt $hei 0 gt
and{$pn cvlit load aload pop/$pd xd 3 -1 roll sub/$phei xd exch sub/$pwid xd
$wid $pwid div ceiling 1 add/$tlx xd $hei $phei div ceiling 1 add/$tly xd $psx
0 eq{@tv}{@th}ifelse}if @gr @np/$bkg false def}bd/@Pf{@sv SepMode_5 0 eq $Psc 0
ne or $ink_5 3 eq or{0 J 0 j[]0 d $t $c $m $y $k $n $o @scc_5 pop $ctm
setmatrix 72 1000 div dup matrix scale dup concat dup Bburx exch Bbury exch
itransform ceiling cvi/Bbury xd ceiling cvi/Bburx xd Bbllx exch Bblly exch
itransform floor cvi/Bblly xd floor cvi/Bbllx xd $Prm aload pop $Psn load exec
}{1 SetGry wfill}ifelse @rs @np}bd/F{matrix currentmatrix $sdf{$scf $sca $scp
@ss}if $fil 1 eq{@pf}{$fil 2 eq{@ff}{$fil 3 eq{@Pf}{$t $c $m $y $k $n $o @scc_5
{wfill}{@np}ifelse}ifelse}ifelse}ifelse $sdf{$dsf $dsa $dsp @ss}if setmatrix}
bd/f{@cp F}bd/S{matrix currentmatrix $ctm setmatrix $SDF{$SCF $SCA $SCP @ss}if
$T $C $M $Y $K $N $O @scc_5{matrix currentmatrix $ptm concat stroke setmatrix}
{@np}ifelse $SDF{$dsf $dsa $dsp @ss}if setmatrix}bd/s{@cp S}bd/B{@gs F @gr S}
bd/b{@cp B}bd/_E{5 array astore exch cvlit xd}bd/@cc{currentfile $dat
readhexstring pop}bd/@sm{/$ctm $ctm currentmatrix def}bd/@E{/Bbury xd/Bburx xd
/Bblly xd/Bbllx xd}bd/@c{@cp}bd/@p{/$fil 1 def 1 eq dup/$vectpat xd{/$pfrg true
def}{@gs $t $c $m $y $k $n $o @scc_5/$pfrg xd @gr}ifelse/$pm xd/$psy xd/$psx xd
/$pyf xd/$pxf xd/$pn xd}bd/@P{/$fil 3 def/$Psn xd/$Psc xd array astore/$Prm xd
}bd/@ii{concat 3 index 3 index m 3 index 1 index l 2 copy l 1 index 3 index l 3
index 3 index l clip pop pop pop pop}bd/tcc{@cc}def/@i{@sm @gs @ii 6 index 1 ne
{/$frg true def pop pop}{1 eq{s1t s1c s1m s1y s1k s1n $O @scc_5/$frg xd}{/$frg
false def}ifelse 1 eq{@gs $ctm setmatrix F @gr}if}ifelse @np/$ury xd/$urx xd
/$lly xd/$llx xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul 8 div ceiling cvi
string def $bkg $frg or{$SDF{$SCF $SCA $SCP @ss}if $llx $lly Tl $urx $llx sub
$ury $lly sub scale $bkg{$t $c $m $y $k $n $o @scc_5 pop}if $wid $hei abs $bts
1 eq{$bkg}{$bts}ifelse[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse]/tcc load
$bts 1 eq{imagemask}{image}ifelse $SDF{$dsf $dsa $dsp @ss}if}{$hei abs{tcc pop}
repeat}ifelse @gr $ctm setmatrix}bd/@I{@sm @gs @ii @np/$ury xd/$urx xd/$lly xd
/$llx xd/$ncl xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul $ncl mul 8 div
ceiling cvi string def $ngx $llx $lly Tl $urx $llx sub $ury $lly sub scale $wid
$hei abs $bts[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse]/@cc load false $ncl
ColorImage $SDF{$dsf $dsa $dsp @ss}if @gr $ctm setmatrix}bd/COMP 0 def
/MaskedImage false def L2?{/@I_2{@sm @gs @ii @np/$ury xd/$urx xd/$lly xd/$llx
xd/$ncl xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul $ncl mul 8 div ceiling
cvi string def $ngx $ncl 1 eq{/DeviceGray}{$ncl 3 eq{/DeviceRGB}{/DeviceCMYK}
ifelse}ifelse setcolorspace $llx $lly Tl $urx $llx sub $ury $lly sub scale 8
dict begin/ImageType 1 def/Width $wid def/Height $hei abs def/BitsPerComponent
$bts def/Decode $ncl 1 eq{[0 1]}{$ncl 3 eq{[0 1 0 1 0 1]}{[0 1 0 1 0 1 0 1]}
ifelse}ifelse def/ImageMatrix[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse]def
/DataSource currentfile/ASCII85Decode filter COMP 1 eq{/DCTDecode filter}{COMP
2 eq{/RunLengthDecode filter}if}ifelse def currentdict end image $SDF{$dsf $dsa
$dsp @ss}if @gr $ctm setmatrix}bd}{/@I_2{}bd}ifelse/@I_3{@sm @gs @ii @np/$ury
xd/$urx xd/$lly xd/$llx xd/$ncl xd/$bts xd/$hei xd/$wid xd/$dat $wid $bts mul
$ncl mul 8 div ceiling cvi string def $ngx $ncl 1 eq{/DeviceGray}{$ncl 3 eq
{/DeviceRGB}{/DeviceCMYK}ifelse}ifelse setcolorspace $llx $lly Tl $urx $llx sub
$ury $lly sub scale/ImageDataDict 8 dict def ImageDataDict begin/ImageType 1
def/Width $wid def/Height $hei abs def/BitsPerComponent $bts def/Decode $ncl 1
eq{[0 1]}{$ncl 3 eq{[0 1 0 1 0 1]}{[0 1 0 1 0 1 0 1]}ifelse}ifelse def
/ImageMatrix[$wid 0 0 $hei neg 0 $hei 0 gt{$hei}{0}ifelse]def/DataSource
currentfile/ASCII85Decode filter COMP 1 eq{/DCTDecode filter}{COMP 2 eq{
/RunLengthDecode filter}if}ifelse def end/MaskedImageDict 7 dict def
MaskedImageDict begin/ImageType 3 def/InterleaveType 3 def/MaskDict
ImageMaskDict def/DataDict ImageDataDict def end MaskedImageDict image $SDF
{$dsf $dsa $dsp @ss}if @gr $ctm setmatrix}bd/@SetMask{/$mbts xd/$mhei xd/$mwid
xd/ImageMaskDict 8 dict def ImageMaskDict begin/ImageType 1 def/Width $mwid def
/Height $mhei abs def/BitsPerComponent $mbts def/DataSource maskstream def
/ImageMatrix[$mwid 0 0 $mhei neg 0 $mhei 0 gt{$mhei}{0}ifelse]def/Decode[1 0]
def end}bd/@B{@gs S @gr F}bd/@b{@cp @B}bd/@sep{CurrentInkName_5(Composite)eq
{/$ink_5 -1 def}{CurrentInkName_5(Cyan)eq{/$ink_5 0 def}{CurrentInkName_5
(Magenta)eq{/$ink_5 1 def}{CurrentInkName_5(Yellow)eq{/$ink_5 2 def}{
CurrentInkName_5(Black)eq{/$ink_5 3 def}{/$ink_5 4 def}ifelse}ifelse}ifelse}
ifelse}ifelse}bd/@whi{@gs -72000 dup m -72000 72000 l 72000 dup l 72000 -72000
l @cp 1 SetGry fill @gr}bd/@neg{[{1 exch sub}/exec cvx currenttransfer/exec
cvx]cvx settransfer @whi}bd/deflevel 0 def/@sax{/deflevel deflevel 1 add def}
bd/@eax{/deflevel deflevel dup 0 gt{1 sub}if def deflevel 0 gt{/eax load}{eax}
ifelse}bd/eax{{exec}forall}bd/@rax{deflevel 0 eq{@rs @sv}if}bd/@daq{dup type
/arraytype eq{{}forall}if}bd/@BMP{/@cc xd UseLevel 3 eq MaskedImage true eq and
{7 -2 roll pop pop @I_3}{12 index 1 gt UseLevel 2 eq UseLevel 3 eq or and{7 -2
roll pop pop @I_2}{11 index 1 eq{12 -1 roll pop @i}{7 -2 roll pop pop @I}
ifelse}ifelse}ifelse}bd systemdict/pdfmark known not{/pdfmark/cleartomark ld}
if
/z{exch findfont exch scalefont setfont}bd/ZB{9 dict dup begin 4 1 roll
/FontType 3 def/FontMatrix xd/FontBBox xd/Encoding 256 array def 0 1 255{
Encoding exch/.notdef put}for/CharStrings 256 dict def CharStrings/.notdef{}
put/Metrics 256 dict def Metrics/.notdef 3 -1 roll put/BuildChar{exch dup
/$char exch/Encoding get 3 index get def dup/Metrics get $char get aload pop
setcachedevice begin Encoding exch get CharStrings exch get end exec}def end
definefont pop}bd/ZBAddChar{findfont begin dup 4 1 roll dup 6 1 roll Encoding 3
1 roll put CharStrings 3 1 roll put Metrics 3 1 roll put end}bd/Z{findfont dup
maxlength 2 add dict exch dup{1 index/FID ne{3 index 3 1 roll put}{pop pop}
ifelse}forall pop dup dup/Encoding get 256 array copy dup/$fe xd/Encoding exch
put dup/Fontname 3 index put 3 -1 roll dup length 0 ne{0 exch{dup type 0 type
eq{exch pop}{$fe exch 2 index exch put 1 add}ifelse}forall pop}if dup 256 dict
dup/$met xd/Metrics exch put dup/FontMatrix get 0 get 1000 mul 1 exch div 3
index length 256 eq{0 1 255{dup $fe exch get dup/.notdef eq{pop pop}{5 index 3
-1 roll get 2 index mul $met 3 1 roll put}ifelse}for}if pop definefont pop pop
}bd/@ftx{{currentpoint 3 -1 roll(0)dup 3 -1 roll 0 exch put dup @gs true
charpath $ctm setmatrix @@txt @gr @np stringwidth pop 3 -1 roll add exch m}
forall}bd/@ft{matrix currentmatrix exch $sdf{$scf $sca $scp @ss}if $fil 1 eq
{/@@txt/@pf ld @ftx}{$fil 2 eq{/@@txt/@ff ld @ftx}{$fil 3 eq{/@@txt/@Pf ld
@ftx}{$t $c $m $y $k $n $o @scc_5{show}{pop}ifelse}ifelse}ifelse}ifelse $sdf
{$dsf $dsa $dsp @ss}if setmatrix}bd/@st{matrix currentmatrix exch $SDF{$SCF
$SCA $SCP @ss}if $T $C $M $Y $K $N $O @scc_5{{currentpoint 3 -1 roll(0)dup 3 -1
roll 0 exch put dup @gs true charpath $ctm setmatrix $ptm concat stroke @gr @np
stringwidth pop 3 -1 roll add exch m}forall}{pop}ifelse $SDF{$dsf $dsa $dsp
@ss}if setmatrix}bd/@te{@ft}bd/@tr{@st}bd/@ta{dup @gs @ft @gr @st}bd/@t@a{dup
@gs @st @gr @ft}bd/@tm{@sm concat}bd/e{/t{@te}def}bd/r{/t{@tr}def}bd/o{/t{pop}
def}bd/a{/t{@ta}def}bd/@a{/t{@t@a}def}bd/t{@te}def/T{@np $ctm setmatrix/$ttm
matrix def}bd/ddt{t}def/@t{/$stm $stm currentmatrix def 3 1 roll m $ttm concat
ddt $stm setmatrix}bd/@n{/$ttm exch matrix rotate def}bd/@s{}bd/@l{}bd
end
%%EndResource
%%EndProlog
%%BeginSetup
wCorel8Dict begin
@BeginSysCorelDict
2.6131 setmiterlimit
1.00 setflat
/$fst 256 def
%%EndSetup
%%Page: 1 1
%LogicalPage: 1
%%BeginPageSetup
@sv
@sm
@sv
%%EndPageSetup
@rax %Note: Object
29.85335 518.65002 561.80353 728.45660 @E
0 O 0 @g
0.00 0.00 0.00 0.00 k
0 J 0 j [] 0 d 0 R 0 @G
0.00 0.00 0.00 1.00 K
0 5.66929 5.66929 0.00000 @w
/$fm 0 def
295.82872 728.45660 m
442.32265 728.45660 561.80353 681.33146 561.80353 623.55345 c
561.80353 565.77458 442.32265 518.65002 295.82872 518.65002 c
149.33424 518.65002 29.85335 565.77458 29.85335 623.55345 c
29.85335 681.33146 149.33424 728.45660 295.82872 728.45660 c
@c
B
@rax 82.51002 578.66967 509.14658 668.43666 @E
[0.00028346 0.00000000 0.00000000 0.00028346 82.51001273 578.66964812] @tm
0 O 0 @g
0.00 0.00 0.00 1.00 k
e
% FontChange:/_Swis721BlkExBT 437905.00000 z
%CHAR: 0 0 (B) @t
157208 78896 m
243986 78896 l
263911 78896 276829 80720 282741 84443 c
288652 88165 291645 94879 291645 104586 c
291645 114512 288579 121446 282449 125168 c
276318 128963 263473 130861 243986 130861 c
157208 130861 L
157208 78896 L
@c
157208 242234 m
157208 197568 L
239461 197568 l
257269 197568 268801 199174 274129 202385 c
279383 205596 282011 211362 282011 219828 c
282011 228367 279602 234206 274712 237417 c
269895 240629 258145 242234 239461 242234 c
157208 242234 L
@c
289090 316240 m
333246 316240 364556 310183 382875 297994 c
401194 285806 410317 265589 410317 237345 c
410317 221799 406741 208224 399661 196473 c
392509 184796 381999 175308 368205 168083 C
386451 162244 400172 152683 409441 139546 c
418710 126336 423381 109914 423381 90208 c
423381 60139 413528 37587 393896 22552 c
374190 7517 344631 0 305147 0 c
34667 0 L
34667 316240 L
289090 316240 l
@c
F
%CHAR: 440970 0 (I) @t
475637 0 m
475637 316240 L
598178 316240 L
598178 0 L
475637 0 L
@c
F
%CHAR: 632334 0 (R) @t
907703 316240 m
935218 316240 957260 314927 973827 312299 c
990321 309672 1003240 305585 1012509 299965 c
1024332 293031 1033382 283616 1039586 271866 c
1045789 260116 1048855 246541 1048855 231141 c
1048855 212457 1044257 196035 1034988 181877 c
1025719 167645 1012946 157427 996671 151150 C
1010611 145311 1020464 138086 1026084 129474 c
1031703 120862 1034988 105608 1036009 83786 c
1036155 81377 1036301 78020 1036447 73787 c
1038418 32405 1043965 9488 1053161 4890 C
1053161 0 L
916972 0 L
912812 6715 910550 19633 910112 38901 c
909820 50140 909309 58825 908579 64956 c
907265 76560 903397 84662 896902 89333 c
890479 94077 879604 96412 864351 96412 c
791221 96412 L
791221 0 L
667001 0 L
667001 316240 L
907703 316240 l
@c
791221 179614 m
862599 179614 l
881283 179614 894493 181804 902083 186256 c
909747 190635 913542 198079 913542 208443 c
913542 218734 909966 225886 902740 229973 c
895515 233987 881137 236031 859607 236031 c
791221 236031 L
791221 179614 L
@c
F
%CHAR: 1066298 0 (D) @t
1223506 238220 m
1223506 84005 L
1284448 84005 l
1316196 84005 1338967 90062 1352688 102105 c
1366482 114147 1373342 133853 1373342 161222 c
1373342 188445 1366409 208078 1352469 220120 c
1338602 232163 1315904 238220 1284448 238220 c
1223506 238220 L
@c
1100965 316678 m
1303643 316678 l
1369255 316678 1419176 303176 1453552 276172 c
1487928 249168 1505079 209756 1505079 158011 c
1505079 106411 1488001 67145 1453771 40287 c
1419541 13429 1369547 0 1303643 0 c
1100965 0 L
1100965 316678 L
@c
F
T
@rax %Note: Object
202.57002 663.60898 462.94894 788.24381 @E
0 O 0 @g
0.00 0.00 0.00 1.00 k
0 J 0 j [] 0 d 0 R 0 @G
0.00 0.00 0.00 1.00 K
0 0.21543 0.21543 0.00000 @w
/$fm 0 def
260.91354 727.66403 m
284.90258 722.60872 308.89162 717.55398 332.88066 712.49783 C
372.47783 785.04321 371.74762 810.24123 462.94894 768.46677 C
412.01121 767.74422 394.34910 800.57197 337.90961 694.42894 c
336.72728 692.20375 216.16299 742.15219 202.57002 663.60898 C
200.58690 726.36633 231.68494 734.82888 260.91354 727.66403 C
@c
B
@rax %Note: Object
17.18787 478.84422 579.89707 569.31194 @E
0 O 0 @g
0.00 0.00 0.00 0.00 k
/$fm 0 def
17.18787 569.31194 m
579.89707 569.31194 L
579.89707 478.84422 L
17.18787 478.84422 L
17.18787 569.31194 L
@c
F
@rax %Note: Object
86.84816 567.50202 504.80901 567.50315 @E
0 J 0 j [] 0 d 0 R 0 @G
0.00 0.00 0.00 1.00 K
0 5.66929 5.66929 0.00000 @w
/$fm 0 def
86.84816 567.50258 m
504.80901 567.50258 L
S
@rax %Note: Object
86.84816 554.44139 504.80901 554.44252 @E
0 J 0 j [] 0 d 0 R 0 @G
0.00 0.00 0.00 1.00 K
0 5.66929 5.66929 0.00000 @w
/$fm 0 def
86.84816 554.44195 m
504.80901 554.44195 L
S
@rax %Note: Object
86.84816 541.70674 504.80901 541.70787 @E
0 J 0 j [] 0 d 0 R 0 @G
0.00 0.00 0.00 1.00 K
0 5.66929 5.66929 0.00000 @w
/$fm 0 def
86.84816 541.70731 m
504.80901 541.70731 L
S
%%PageTrailer
@rs
@rs
%%Trailer
@EndSysCorelDict
end
%%DocumentSuppliedResources: procset wCorel8Dict
%%EOF

2539
doc/slides/obr1.eps Normal file

File diff suppressed because it is too large Load Diff

1134
doc/slides/obr2.eps Normal file

File diff suppressed because it is too large Load Diff

3072
doc/slides/obr5.eps Normal file

File diff suppressed because it is too large Load Diff

190
doc/slides/slides.tex Normal file
View File

@ -0,0 +1,190 @@
\input epsf.tex
\language=\czech
\chyph
\hsize=170mm
\vsize=250mm
\nopagenumbers
\font\srm=csss12 scaled \magstep3
\font\stit=csb12 scaled \magstep3
\font\sem=csssbx12 scaled \magstep3
\font\sit=csssi12 scaled \magstep3
\font\stt=cstt12 scaled \magstep3
\font\stitle=cscsc12 scaled \magstep4
\baselineskip=25pt
\lineskip=2.1pt
\parindent=0pt
\parskip=4pt
\def\em#1{{\emfont #1}}
\srm
\font\rmfont=cmr10 scaled \magstep4
\font\ttfont=cmtt10 scaled \magstep4
\font\ifont=cmmi10 scaled \magstep4
\font\symfont=cmsy10 scaled \magstep4
\font\exfont=cmex10 scaled \magstep4
\font\rmfonts=cmr7 scaled \magstep4
\font\ifonts=cmmi7 scaled \magstep4
\font\symfonts=cmsy7 scaled \magstep4
\font\exfonts=cmex7 scaled \magstep4
\textfont0=\rmfont
\textfont1=\ifont
\textfont2=\symfont
\textfont3=\exfont
\scriptfont0=\rmfonts
\scriptfont1=\ifonts
\scriptfont2=\symfonts
\scriptfont3=\exfonts
\newbox\birdbox
{\epsfxsize=2em\global\setbox\birdbox=\hbox{\epsfbox{logo.eps}}}
\def\slide#1{\begingroup
\ifx:#1:\else
\line{\vrule width 0pt height 25pt depth 4pt \stit #1\hfill\smash{\lower1ex\copy\birdbox}}
\medskip
\hrule height 2pt
\bigskip
\fi
}
\def\endslide{\vfill\eject\endgroup}
\def\\{\hfil\break}
\def\itemize#1{\par{\advance\leftskip by 35pt{\parskip=5pt #1}\par}}
\def\:{\par\leavevmode\llap{$\bullet$\hskip 7pt}}
\def\>{\par\leavevmode\llap{$\circ$\hskip 7pt}}
\slide{}
\vglue 1in
\centerline{\epsfxsize=0.6\hsize\epsfbox{logo.eps}}
\centerline{\vbox{\offinterlineskip\halign{#\cr
\stitle Bird Internet Routing Daemon\cr
\noalign{\medskip}%
\leaders\hrule height 2pt\hfil\cr}}}
\vskip 0.5in
\centerline{\vbox{\sit\halign{\hfil # & # \hfil \cr
Vedoucí: & RNDr. Libor Forst \cr
Tým: & Ondøej Filip, Pavel Machek, Martin Mare¹ \cr
Home: & http:/\kern-0.2em/bird.network.cz/ \cr
E-mail: & bird@bird.network.cz \cr}}}
\endslide
\slide{Propojování sítí a routing}
\medskip
\centerline{\epsfxsize=0.9\hsize\epsfbox{obr1.eps}}
\endslide
\slide{Sítì jsou pøíli¹ velké $\Rightarrow$ Autonomní systémy}
\medskip
\centerline{\epsfxsize=0.9\hsize\epsfbox{obr2.eps}}
\endslide
\slide{Cíle projektu}
\itemize{
\:podpora v¹ech bì¾ných routovacích protokolù\\a snadné pøidávání nových
\:IPv4 i IPv6
\:výmìna dat mezi rùznými protokoly
\:policy routing
\:snadná konfigurace a údr¾ba
\:kvalitní dokumentace
\:minimální závislost na pou¾itém OS
}
\endslide
\slide{Implementované protokoly}
\itemize{
\:RIP v2 (Routing Information Protocol)
\itemize{
\>interní protokol
\>distance vector (Bellman-Ford)
\>pomalá konvergence, omezení prùmìru sítì
\>IPv4 i IPv6
}
\:OSPF v2 (Open Shortest Path First)
\itemize{
\>interní protokol
\>link state algorithm (Dijkstra)
\>rychlá konvergence, ale velmi slo¾itý
\>zatím pouze IPv4
}
\:BGP v4 (Border Gateway Protocol)
\itemize{
\>externí protokol (jediný dnes pou¾ívaný)
\>path vector
\>rychlá konvergence, neomezená filtrace
\>IPv4 i IPv6
}
}
\endslide
\slide{Propojení protokolù}
\medskip
\centerline{\epsfxsize=0.9\hsize\epsfbox{obr5.eps}}
\endslide
\slide{Správa routeru}
\itemize{
\:konfiguraèní soubory a on-line rekonfigurace:
\medskip
{\stt\advance\leftskip by 1cm
protocol ospf \char123 \\
\hbox{}~~~area 0 \char123\ interface "eth*"; \char125; \\
\hbox{}~~~export where source=RTS\char95STATIC; \\
\hbox{}~~~import all; \\
\char125
\medskip
}
\:filtry: jednoduchý procedurální jazyk
\:logování událostí a tracing protokolù
\:dálkové ovládání
\:jednoduchý client
}
\endslide
\slide{Architektura}
\itemize{
\:modulární architektura se striktním rozdìlením\\kompetencí:
\itemize{
\>jádro
\>protokoly
\>filtry
\>knihovny
}
\:oddìlení platformnì závislého kódu
\:vlastní datové typy: pøesné integery, IP adresy, \dots
\:øízení událostmi
\:``chytré'' datové struktury
}
\bigskip
Platformy:
\itemize{
\:Zatím pouze Linux 2.0, Linux 2.1--2.4
\:Èásteèný port na FreeBSD
}
\endslide
\slide{Testování}
``Laboratorní'' testy:
\itemize{
\:testovací sí» na~MFF: 3 poèítaèe a router Cisco 7000
\:test zátì¾e (BGP, páteøní tabulka s~$72\,000$ polo¾kami)
\:test spolupráce (Cisco, GateD, Cyclades)
\:test portability: Linux 2.0--2.4; i386, Sparc, M680x0
}
\bigskip
``Real world'' testy -- praktické pou¾ití:
\itemize{
\:nasazen ve~firmì Ipex (sí» s~cca 1000 poèítaèi)
\:distribuováno veøejnì pod GPL:
\itemize{
\>236 downloadù, 2244 shlédnutí stránek (k~26. 6.)
\>kladné ohlasy (zejména na konfiguraci)
\>5 bug reportù, vyøe¹eny
}
}
\endslide
\end

View File

@ -20,7 +20,7 @@ cp -a . dist/$REL
scp -C atrey:~mj/BIRD/CVSROOT/ChangeLog dist/$REL
mv dist/$REL/doc/*.ps dist/$DREL/doc
rm -f dist/$REL/bird.conf
rm -rf `find dist/$REL -name CVS -o -name tmp` dist/$REL/{dist,misc,rfc}
rm -rf `find dist/$REL -name CVS -o -name tmp` dist/$REL/{dist,misc,rfc,doc/slides}
( cd dist ; tar czvvf /tmp/$REL.tar.gz $REL )
( cd dist ; tar czvvf /tmp/$DREL.tar.gz $DREL )
rm -rf dist