# HG changeset patch # User Louis Opter # Date 1359657347 -3600 # Node ID 315f4f9697c6d23b1cc8fc20dcf0314479a902cd # Parent c95728ef59ad38b2649ff6bb18c7613a1c7ed0bd Wip on the fosdem slides diff -r c95728ef59ad -r 315f4f9697c6 com_add_slides_for_the_fosdem_presentation.patch --- a/com_add_slides_for_the_fosdem_presentation.patch Wed Jan 30 17:55:34 2013 +0100 +++ b/com_add_slides_for_the_fosdem_presentation.patch Thu Jan 31 19:35:47 2013 +0100 @@ -2,22 +2,349 @@ # Parent 9883e23afecaf44cf67a1f956d8bb8a912c6fe23 com: add slides for the Fosdem 2013 presentation +diff --git a/com/images/twitter-bird-dark-bgs.pdf b/com/images/twitter-bird-dark-bgs.pdf +new file mode 100644 +index 0000000000000000000000000000000000000000..1d3b305deabc2ca218a4a01ee164d1e9b404d90f +GIT binary patch +literal 6170 +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 +zEHpJz>%+ +z!|TjvQMkG?*^DhaW}44~$r`ZQt9)tc@){9KDYbgM&DXdD4z=Hr^`PfR%BT7)e_ALB +z8h@KroxfuA0k=)x%$gbDIT9*2@g>Bun2)_kv`yf;oXp8e&u=-ZIxFDg@7ab+QdJL%wVDj=LRnVhj8qjn}n4#`8P@gyi&T| +z5QE6JTtIkijCs(Z#iQ=r)ip5F{@!WUJ|X(ZMms^?3q$#ZCqzV!ik^tpM2PaX=ZbFP +zlMG(x{^WriJqCL4!0|@88gbwEI(8%4;UeOqqE09aGlMidp<8A2q9Z6{7vb~3`MCsL +zs0PK~Hw+NV>QNkZ&crxqn%p*$zR*z0B^2{;qlSC--9Ys%vOyip4fn!l++)BIyjudR +zZw9M4M)RtJT%!e$2U9mFZ|0J32t~n@9JQv*iAIO<>$KZa`%j2Up0dtaF~7I-Vq3tJ +zRr^plU?OH?s&KjVi5Qb?d|w%Fg`_i&ulX7(8?P#GcZmq)y#L{9DaDq3M%Jc~&E1NT_4qvWm>z=At +zXX>f7@*mr}#be+@Su8*Ex!c8Hh+D9L#uvE4mWQ95Zj?#0_AdKtk{yrFYU@Yc1kTJyn! +z#25#}Y8xc;9U+i7MJYM%K~brrC%um*I<`siZ!VhyRr{@sd1Oo8yfFtV&q6r1#5PdR2WbfKZOffpQOufGyj%aH$CjNT-WSGaB6P^N#oJ;NPGeTBCa4NMemSL`o9} +znRt@qcEi(MH=DB3gq`O31-Rd&~}BbkCwF-JvIo$nm#e+ +zR>Mlg6!XhGPS2JP(vp^|>`z3!n`ob279>Y(Fd`nGg|{cpQ(=!^wwV;Sm;!G37~NF# +z@?eU6=#D9iCoAk9K7O~gbK}-AfVV~aX??ZU&S?jb>EU@)GLMDFai^^8;eoQfp5aL$ +zSsoXkf;X0F9!T+_W?x+iUJ$sGZ~E6?nmv-Tb*84cdqxi%y*!Y5=@K`Vd^{%5?*4;$ +zu6I^ubS#7ZzTw)lVAYu<-}=H(G7deS(kpT2ZGPwcr#pm!DJ-Ae$*vR4#wsO=N<>Ly +z@&KMjg`@jULi5u@c82)n-ES^R= +z-pl-UDzaD=G9a@e+cy&b+I^Rg+xpyP!^}jt;fg_Zlg#(qbzgOq*L_C#@el8?Y?yMq +zx_7yt!ffxe=KeFJ`t4gs&74K0{u+q^`>6$t&IG6}IWuNubz*McUY5GeG$!~;2}GVh +zClVrMHv2r_BHqbO!S~JjkR5ZDZi&FovHk~m{e`9d?4bJc(EcqR=O+aEy)RWR7Cmhc +z3a>V$hIOD#TDoM-wl)_g58_@qVwLU-*1k1)tddrD^lA^46j)g|(-mpe62e^)(Z7hX +z6S4BWzDHT%m)}q^VE*tT!IOIn_9MQqfH;^u7yqJvMIgYfA{_8X*NFPr_tZVOB>{fwF0u}bgCDH1%#=g)S#+RxC)TWz5BjD@ar~i1W2&ujQX|m4!4yX@R1E_D?#O_%9R|gRMWNGxtKT?0oz2n) +zA>m{Qj;u*i#leXXRVb81RE2PcDvpH0qYy}vItmW^?#bsDhW~KIS>X7Bb3(wGp*bx( +zkxd{mv_ZyJ=0IZ)I+OL)HBeJc0}2BFdxSXQ{?CLs$M|jYS{w`-OD9su0S2758Uuqs +z;i?d*DjaGDMWErDXefLS1d4`0w7|b10c)!IoTTD(jB54o@NhO{O!vaUA2gpCMh%L(YkF7FiS)m4sR2q)TOe +zolq&OF3?mQ&0QPhuSz75acn9J#5tNZH1TWrsg!T$u%-w8Y3n~64)|LEuTFnl4;TRO +zUmE|Op`Ujm=YG`&`K{h~e_Y70pI7ep3Re101-u&oUdvie3|5m}$pF1t7@R*8ihygb +z)dUCv0dZiQV*0O$A8%m(3=$at0Yaew$d3U;A`ox{kPQ4T(}cl+Usq_~WeB8(`tLG` +z2J%lC3WoYahJ-`@kU^k`KXFj#A2Ll%&EI9}F!eutsKYdV!Lb-P3YElIdycfF1d=%W +z1%hqpbQW;+wb2F$Hl>m2K-kxpMN+xr + +diff --git a/com/images/twitter-bird-light-bgs.pdf b/com/images/twitter-bird-light-bgs.pdf +new file mode 100644 +index 0000000000000000000000000000000000000000..e2536c220c07922151b4d572827366dac2f8416a +GIT binary patch +literal 12645 +zc$}?!RajhIvNj%QoZt{>5-eELxVr==c+fP^xHgTuC%7fJy9Ed?L4$h|++BhMck+|W +zCv#@zIsdts{q)7!Rc}?jt5((8H`R2iQZlSyHZA~N?_P8cfCtD9v^TZ_2nm4{p?2nQ +z3n1@9yiEpj#GvjprOD-{QOQ>5$4u5dUE7*cR8`Ozto-Zn7*k^V)*X<=a!n8 +z$Z7$X`yz-;2__wsjAiZ_JA+?JU;gZ!@@D&tsUsB$M+hl?B8~Xwn|SmeSg5OO%0#lp +z0W61MSjSSIZw?GJ6H=?*Inh#>+lOYQl)uQhnJjAXL}T_>++9$^LY+~GKzd8>BVEug +zaQ=$TbK-F+%8|$#S*+HsxXgGK;)|Ex$madm?k8X3nM=kh`cK$sk1dGa+66Irxboh!^*Br@O@lSEjS=T(EC;Y=_6({ +zqeWvxXnVlKn|&_*a_7*lqW2RrlNLAzbcQk7M+`xlOCP6B=n7PG2b9ml@OxL{B@5tq +z;WGXc02T(;;<+gC^386E^me!8j&;y&1EDfj&`nrTMGVfKTkf*5;-jK1K$){P?M$Cz +zS{NcM*fnN8Cks))F_t$gzAmf1+D-kEO>n0mmU~INm&1h5sxyUE`Ee%x9_G>s +zf;f=#Fz2<;0mN4EMIiMHzC9lJS0%Y%-X8(H{aHFY#FMYrR`>E2PmbS8kF{U8SG?#| +z{u1fBM)*O6MTWAFsn2VVR>O5DIDn0|+10^?XT_?s?oi=pgO8Ed;)l#BUl!`I1E`(p +zAJy@&`c+Z9e^eGXC&!;6?!Svo!`%T2QiYg9K}t|lONfNM8&Hq^LCwL=4g~XXuyJ!4 +z03P%(s2v>0`KuxUAT_9yy)(=N>hxf)3bQv+hr;zh57qntly-y5s>2^D70CY^`%tPN +zNqal^gS8Wo=TFfeEI9vS0sKt^_?w3l5Tsyf>IBsL%~B0u0DSP^{16@dPp07ixq$}= +z1P-yWH~-VcA54{?aER%H1_);Vm)Ly&l7YX713)UON5%H2^#E4+o) +z!mv@CaLeB4=hDwRU&FSryZQEEZ|n +z-tRZhQt$VzdqMNd!>2cNWL|f>Dfx1Xt!8YzhOgqTtqe6fm~UNAd2s_)v{8-(BUVrl +ze~xOSqdWt0-97UOtm5T6LZdNS@HT9_>4o3r9(VDQ4=!o)-kqJFWm^vL0^LM1eMNKI +zNHkG8xs;4P1N-dNqn37Q?9=Y+Tkf}%`aJnls^TdhQm9RV8x|ScUkX*H1(6f{bSuXNJlY26picwj@n;Ivs9$kWa +z3%gSq1{=nynUZVf+D@*1>8^1oqwiM2PvoWR4f&1rm39Ge-y$)7kTey +zJI?TK3AR9y@9TO>kKjex+H!vv7PIu}DY9o_S_lr3sJaD>*?1zR%-ON}= +z(3Uz!m^>)#bitPFt>x^blCzvQ_Yy(HedxN|S2)SpO4|WOGxM=nijM^+uj^{fy-bq9 +zJ#%^q&S^H*V(Vl;lLa%#?XIZZKq>Lc(<$n1^9N4HTkGZnI`85!nm4(UoY|EGvU3?Sf4KO7B-(!)DGKCvhCc?6eKXh` +zvaDz0%;~YAwcRD}<(pc>9Ljg4h`PF*`7!iLU$N`yP_pUnA{<086MA*f6O*j+DZQur +z@m8v_@Ir(`$;L*lHVM6%)Xtj*N~qV2_!};W#A1kQhRj~!-=h=9bdf|yrTJtJ7~GBtYo*QuTsgL*+MUhz6BlF1I8q2JO +zVd{je#BSqtzw{@2+O6%`jg9e5lB&$h7JoGcs1WW;cOrDeT{j)Oc$qKQ`V(rt_6PD) +zt1ImRwckc=JHdkk2JPkHUgbC1{s^gTN}Sy$g3NlL`nT--&*gUbt}NfBD}Nr-V8}vF +z$FSH##h*ttX6YV7b9w4+?fVl(bP3#Fgw|&XxC(Mve6Oox47d>56Q^C&KNUTPio)(nRTe{baQ+Qf;_O-Kci +zn}18DNcR;co8_QRSPTG=& +zSF5A4U_Fr_RKWivUu5-y^@Q7yH%1{l62IId2d2Um{|6c%mCer<0;F(%R@qn8 +zwFd^MbxDt6u~X2txwLk9s@^%S4U>yPtMkMt;AYP-B0ON! +z(z=cMeqB*h@y5>#P8wH2C`vO4U}F5am@M +zmZdZO0gp1UeOmxSrypNcY)n9aFNy8uB;RI#rzAic$QtoqNMaX%!S!kJNWsHjIhPLO +z3}cU|JyAi|tWi^OhhbK!C;OA7P0(x11Fo@84!-GWF=*#8L6w(gsB#J3^2P^nEo;^) +z?t`rCGA7#Rl4MOioeNn=o_#_`$JjhST31yDbKa|d?)!#ZhXl^<*u%GYp{eG|f?p@D +zAfH!T3Djfjh%qJ?#CqGxbuy4AIF23rd5P73*cMBLN>Ppg$8PI=xMu=kr(Os>|18Re +zS5~^DE`?mE^;t`nHWTSaXNsb1?S;B0*#Y`sJL0$aZy#&@hwqsj3^v>drd$23^J@%g +zMl|q*->q`x(oLg(4tqEFM&lY=x7$jl2+d&4*;DHk1Y!7b5|10+L5hPyo|zL-(jmWh +zYD_2$wT@kE|C=rWWqy_hBv55cSb)OoOC!X6k5Ptk+heHAjC|ec13;{LwL4d4hxcJtbXU1m}A)g?baCrUE-vB&HWx`wH2t1%mX@ +zKh|BA52k7r=6T~+GjK3yvqasD^Bc*Nd(tvV3TD#HljOYB?aKa|*${%$M5FZWM6Nu1 +zWHVT}RKwgR8j@ftt?eJ_^YMt|L?F)O>+WR(DmRHVK5Y(XhmAHx@0>C<15JF($IJ5X +zio_X)lC0SF{;74v2GZoGj`-By$*idHLx!|9tmTc(YOcS{?z6*I$G;;v*vgoBI>3F} +zFd7lpC%9{Jus_> +ziZe<Dv(u??Lg3dD1{ +zG32wJLz`i+-@J3eBPeUJpCj%E%O^9ez +zUM5gRTi|c{%3;z`E{ru}w)-Qhm(FLUa#vSmAtA7|n1zr_m9-QVZH9dEz0}IVH?SXJ +z$i)QXz73SnLMN*~9h0i1>Edx(J~x`*VC+F9(tM>g46SHh!!)NMjF-IgVCbd_mFfmhd6`E3{ujJ`J3w8CjKzYA +zf&qpI%`sSd9`&doYI +z{y7~Q@_P}%-n@PH!pG@mUTOY2j!7C=Zn`u|YM~HetbU?i>boEcX*QywCw}1w<0> +zrC6yxFXI?s8Wu*^;X`*JB8_7vD@HgklFCa$`%;xYE!jm?de#X*Jw|VjU7h9gE*u4@ +ze4iKMTNolcwpKp)L0Q4Tw!SwYN!)XXPjsTJ17lx5 +zz}Aq)OsTixP^DuLNuO*cwDf7lyPAct=`2{OG*ZfVWZ1M%iSzfd$MCjpBJoghX~H*n +zY9v(IkYRJB{q+Sywne!T5>7E5L@#LWbA+eFXLvmg +ziat+N%85N+|EA{mBM!+H`I)B&a(j?KB!^as%r+7dt=muu>Xei+7mZMct|^>N3~ZMZTILAG)>9ZJ+i@mjSsVaRC=A7K?eWjSP^ +zCzWK3^&Lnlw@EDuUG>q8{6wi_UAkxar|Hd7ozk7;36n9#_71AtJ*k#|Vs!m0 +z8KI0CSx#Zs(%?2edI@i~c!|V1Cum!JzW2yk$@E6!42zyoQ2q3JDf&9Q;P9;DM%T@2 +zQ^|b6HC=)Q8-OPg($lF>&Jm7Nb(?jmt?Y@s(!opnaSfnwy1AtyC9R@@mN91||M{zf +zL{6q=z&t+BGW-<+n4WEaJ6IlBlY0G(eY|C6{WU5wv_@-(_t6*X(e`4j=)m&Bt~Ayn +zGh!f>{)JTabUv|LOBLuxOclm+Gppw%Z;;LqYw$XrOd(gwmptoZ>}h(9%g|M=X%0FO +zfDA{+hZqu+u^KYS~U_Kw=hG +z0GT~^A~S1 +z0A#GyrhHd1zktF1KwVxWzx)IbbsQV)(<1onuEHQgsUqIDLfPT +zAn38;qGzo3af{J)XpSY`WGwbtN*pT++tkHKD?gamUz4abL_TGWiLtvsKB=f5#^aYn +z7i?{sNNIVtzQGwJly~|;ySI_b?U*%5h8u^!^SWn>eE)M(?o4_ZWBw>nuO1M&M6I>9 +z*adsV*awKA|LSR|ni@brhs=L=@<2*+Ui>?8-sEDFKG9sTxP1*)rn5)}nVwb`vpt;` +zTgplPVEJInPUw!*bA{V!Hj^_4iy`BHv6>%b4vPW?YkTMB!B&U@y=6B1M<;R8I^DQU +z7lFcM&uv)GN3eOKYPT9Ev7@yPS)z&QbO!thPg1+JQ)ebtRnn1Dg)=)uPV#vSQSaZj +zrfKL)+&WvtY(3jK-%@{Je~I;(1LLE9RL^x*o)d`WB-K-pBa0mk!*Fxs#$Pa(Pzn=A +zj63U9`#b$OF=-?+j|`zN)e0}(SeYL{*dS9xUKQD5+UD*akP2^L>gAQoSdT5PEl{f6A+BU1z;W16jSYW(cNZ1JAA +z|KSNASVO!8mDaVgi9bC&l3^g+iO?~G2xEqC43^E+RD771T+;qlp1eu))g(5;rOS?e +zo=4q>Wj}v^DTubGZvR}lr-{)H|Ihkn4~Z1BeZ7!*hf;{m_fj!?T%1OWpek2=+to&# +z8Pd8RIBC3m*)oO7_61i%Uyg;H21ik3VE +zYkd1ARm@qnG|Ejg-Hww`x;`6f;IO02Nol6_oFYR5zm@wLZ_K*&363Dv_Y;hw1$AG{ +zf|Y~!Lh{W%QEWA+`2JhTQl|Q#lrUlkWUYgvVEEW(DD4fPUed0aD6=sYqe0F_AC~Y1 +zv2^;Ag?WN8@@+)Vk!mWXzIRrFrrs8nH?VW<#j80~H`!T=uYudE9c~xP$>K;0iN%}& +zanFR&ya`7!x`YD;y{F5>&D;~{4fvAgYux(M{9oP>6UB1Vz{`~CEhI`@t~*5!nF9o$ +zn8pfSk}@IaB^WpBr@B39*6p1fuLpoq)99ui)oKc(@5y>P=sh>WI9g~1KG7UZi+e=8 +zH0!m)|I$JrJ^RU%=cmsxoA5`*VTu=gq+u&tN^>_H#153f@yq=<)h??onK;r?6b>H- +zOWmx=1{e41k6%gZ*kg{SFW8DozsKD+ZNe=^aiS06B_Ay3G#42y5*d?2an{OSVM}YY +zGs*uX>WDb*G5nO8oBusildDbPS6QExVa=UQkgNqg*5jTpj{JGfYm`>0`y;(UnHGr8 +zh6lMZWemUqBkSRG2Rt9UgtHIQYU`wY)vP*Nb7@UerK@nGhQq`{oW +z+T07A(8Bgv3f`!>scyul2x%E-(yL`8-gS}T?5#cC8RR-mmP#*iMws85MOrgLwy;rl?E2vINqS0EwZa@K$@6vL>^ +z6-YMHR)o?b)*F_pO0!gn)rJm^W+xjg)-uaUhoS?Q1v_ouGt@c-#N;_EFMoI=`8lWg +zm6A?M;7rPR!fUaa7g0La^g7S|Pzs0qyqGVglR +z&1EoV4RKjF(_nlz@yQ@9G_kZ@GxxKe*7Grm*ed?ib<4i7yGc1By3u%60`Y +zk+S8#C0|a%D)5M9{- +zA|>hnAUdLwZ9iocs1q*&v(wFtck`$+>0nCuXN1TCS(c +zkIu?JTI-Y9VEVJ+X31YK6U?6PyHPh=1T +zqgs6=z|o|#u-~K7@6#Jf?>D$K;*ZKOiRRq7o`=GJm~&N_Log!LSr?_yR2;Suko2nW +z-U}gM+pWj~oR$Ft{-?x>xsx~2``Vp$OD6NNYzSUhZycI;K1qhUSex4fIe*A7jkH-S +zPiHcMA={Bta72)Yc`DT;1~jZiEWqU0hkRO-XX=RO!X>RWAvx-{NZIijA^X_alXy!V +z1%6H5FH)&=YGZOFwo)q+9u9y52 +zkY%}ggX*Axytt#DeHYmNds@w>AL~Tq79G`&Pns$!9eB_!*fb?p#LMwFxy^JVOEMX{ +zd}I)XWRxLn4TZt2pY%L70_JlDuka%pHV8gT2`<$mV{%keYM0>q(PE$8;FL=@kgE%Y +zti`{3y7dAzIO4m@IK0@yC&H!HzBymq<3aPU1_Zv3T@}s*0j)4 +zn)E6$yT^*sGR@@sh^+O81NXJ8BcDYVHQS`9K)hX_TEvo7iE?dSmu9F_^jfAQ4Zvb) +zscP2DT__igka;)9QXsEGBxho!ckor0%DTSJx)7fuDx%tBz#F`+;CcFtF+w>tcm&@) +zpz!7d;{Lj4!C#*~DriyRgIBvw+(8mh>>PrBlcjX5o3uQjWJz64sKBRxt+u@rF(GHJOe^JTf7Sn4i(z +zMwd<}bFV;amr9$93mwuSqo2WZ`yPfnsE6fJX=Wtwrm|#%n}u{xxzxZsoWZn~G2M$0 +zAF*==>S4-)FLA*w`$Tz&)zr#W`i-^nu6v!ml9{$2-3Wk1`d{5*mze5$@M!G&zKil2U4Eld?u95po_w<%q3 +zrqKBYYs@G^cE>NFsw52q{`Ln$tUx}mJy%dR3YFu#06e~VaaKdd4J|fvu9YVo2GfvU +z8vJR>qe6~pVub!YrSIHT+f4B#cSI2+$QqrW9n0zJYbh=E9QmSq!IO*`pRN@It6)Fi +z98KVg@#cf(6{>HSsK`TrFxA(xKS7|8L +zdeoUAeA}gkB-FtjN}~_ +z@SbW;(gH|Cwgb8GOVZFH{xie##~aiW*{JcMZXF#$&b!wJuZW~C3r@Q(IH=}*=g+dj +zn%lQZpWehXwES#XT~)euV{(gI7bW8idF^h7Gt6$)GfH-i`{U(!A?;1H`P!)bc_w*r +zbX>Tvr-X>!eX&)^=tzJ31vO)!3d6=x1cu`R;lz*6J9oAY*CK@%6`1FdYX)b^`-)19 +zTz7`ETbOsLm2Rr1C�qz&6hWq@UQq&ZItpx%OkY(Q5O9XYMr4_&nx?fFz5Q&kUKx +z?Y^N)gV$UqTfrWW7^0DWKDlgNz6laFr)(Y6ckf>3)E?#?n$n1lM^#dtIP46^al7`< +z*H${}PiMP0OmMq(oL-!AS6MfjJ~Qt+{Z9UKDR3uV<<^TKNyP1R3xvAIdZwO!V(2eC +z_Hrq5XkK#etJkVw$Xqq_g2MH1Gu3uYLrJeh6Tipu$Gu}CX#MhM`yl*`8MlG^HJNuv +zN|oceIq5_KYv1=`{UR4)dHHP}{d) +zUUE@}{O-c#x4?^#(XeaUuO^ls1sspApWJ4z8+5Lv#eFrhvt0vUo|KuB5AtrgGNRn! +z7>Fi9ofJHowpQMzg)%tRxzD$#hg$~iUXWGD;l7^;bP*kA=5|gI%YYxMN1uE9Q?{hy +zD&KQY+$zJ^u0LPNK!41*e6l}1-{V?@yd<){iX6T_XCPRTO0;5Qb?;rIO7M0ry`QMP +zPt|q>eNEiZxAK0p0D>!B*<`!N5^tHD@8Sq4`S;z6R}h +zd6teoI`?d6-@6yS9mR#_+rQ1s+#F@?j^=M=#xqOYyhZBNM)4v6wvR<)2M?OIeqock +zKJ*WfJvkb7bE91;RKwO5+N%)0ZWdc50a9`A(Ey1x@zz0)aHGxENuIXyKDDFz3=;E_ +zZeQ|KG+bd_AkS&H{~P{lFjxp_7e%CBrQ|OLY`q5v?6*Xb)(z +zifAKZDKak&&!i^4L?tG1I_B*}y&q)u{#Gg5E_T$GP9}c%UhsS{LI@)q^W?T&&NwD-{qjRQ@F)?0Meq|f +z;)cJKlf6jK;yW^jp_;{anzNhDvB|>N{5DDoQ7?<|RslNd0Mc#D&K^m$%W}JZr>dhN +z_MWb5Up@;jcE)u~C+(kI=j)I&(Nuo_#ni`p!7Hnf<>Lw-`sq<@tYbigg4g%_qfztK +z)sFMIiu8%z(-U%BUr41J{e_nc-|bdNcQ;8aTb|R;^WfyzEvgasK8iLnQe318Q95=z +zS#S&{7vAk*VB}V2w^)WO2Nm(pm1S`sp`w${y?)MxI3tFJhm&%AeJhQ$mh69I)b94J +zQpL~T=Nl>GedlT>?#0MYn1zr{`zZ0xAW;BW8M?X>AA?=sA +z%?!A>2)Cw{Vr-izjmt=$kOsHD{Wg43+;HD!)<$HsBPS%}W=1S5Uwb*jn5kFg~NO5X?2CRzYL40?+l1p~korI@tp|AgV5B1gKTldNJ +zl_4KNu8hXJd$FxMhp~oZtUY8dLp+X*eom^9A*09$>U8rg>LHA))lRZer&pP_${Frl +zYoXC*zl3LBl6p9w8I1BgkPW@HQC!oJOxcBkT@qPn{p#6=h7vJ|D{`+>XMkV1Hj3Rz1Y`CeUhq!@o(dA}vTR(z4Y*z8`u +za&m}#*ILovs&#&pUl2Y(w%bha^|e%aRZk4GPo2o6YbsLXaiqHC^Cplz9#a@iEB4_lQmssd*;q5cw^&Tl8zK?(ys^ +z&jW&aDiwFfinD7K(TVfwwyEz;;P9V!F-Je}ra-TSiaGCH9`2m;8+V`Mi#Sm)++|Fp +z9tB_Q?MT5E*Gr+@pT3A@XkT>O +zPxY&0rS2$*SEh0tLA@PI+pJ(M*} +zJgiOlO<*9;_e_fuXE!5C>MX-=l0!K&X?6@KZ@OMVY6+0B!R~%DO9!~6y&dq^JH*)D87|BK +zg_?3g_#d1@I8C`&!C2KtMU(*srT15Z;E0W*7;E#$#D6p9 +ze^A0L;Wki_-<-s4;Qv_ISpEtjU<0u;7iMr{HHDf%oNeF?4@dJGZTgS&+gSc_4!`X{ +zfBX6mhXeYffqyOkx*kLT!2iz* +zSM5U%eib{Tl)$gXc=&TVwZ!49o%M;`9I|9}JY{+o=C +zpX*<_u=8?o{=1Bu<8K)p2C=k(!hVl*t6O?NANC6bsoC4ZfxjlU)qo&5J2QJA$3LdC +z<)namLY(XpT%6*ZJThGTToRI!5Brc{=jE5=7w3|akPsJ_5&8ck3;@6X5dne0eHy7Ppsw + diff --git a/com/slides/2013_fosdem/2013_fosdem.tex b/com/slides/2013_fosdem/2013_fosdem.tex new file mode 100644 --- /dev/null +++ b/com/slides/2013_fosdem/2013_fosdem.tex -@@ -0,0 +1,36 @@ +@@ -0,0 +1,176 @@ +\documentclass[xcolor={usenames,svgnames}]{beamer} + -+\usepackage[francais]{babel} +\usepackage{rtxslides} ++\usepackage[american]{babel} +\usepackage{tikz} +\usetikzlibrary{shapes,fit} + -+\setbeamertemplate{navigation symbols}{} -+ -+\newcommand{\bgcolor}{black} -+\newcommand{\fgcolor}{white} ++\selectbiblanguage{american} + +\title{A DSL for driver development, why \& how?} +\date{Fosdem 2013} @@ -42,15 +369,161 @@ +\titlepage +\end{frame} + ++\begin{frame}{About us} ++\Large{ ++\begin{itemize} ++\item<1-> Three guys, limited experience; ++\item<2-> Lionel's idea back in 2007; ++\item<3-> Experimentations, POC in 2009; ++\item<4-> A side project for us since 2010. ++\end{itemize} ++} ++\end{frame} ++ ++\begin{frame}{Why?} ++\Large{ ++\pause ++\begin{itemize} ++\item Learn; ++\item Biggest part of OSes code base; ++\item Dominant cause of crashes; ++\item Complexity/Skills required; ++\pause ++\item \emph{Understanding Modern Device Drivers} \cite{kadavasplos12}. ++\end{itemize} ++\pause ++ ++\begin{center} ++How can this be solved/improved? ++\end{center} ++} ++\end{frame} ++ ++\begin{frame}{ToC} ++\Large{ ++\begin{enumerate} ++\item “State of the art”; ++\item Quick dive into \rtx; ++\item Wrap-up \& next steps. ++\end{enumerate} ++} ++\end{frame} ++ ++\begin{frame} ++\begin{center} ++\LARGE{ ++\emph{``State of the art''} ++} ++\end{center} ++\end{frame} ++ ++\begin{frame}{RAD Tools} ++\Large{ ++Jungo's WinDriver: \url{http://youtu.be/-o6M1ljZMQk} ++} ++\end{frame} ++ ++\begin{frame}{Static Analysis} ++\Large{ ++\only<1>{ ++\begin{itemize} ++\item Static Driver Verifier (Windows specific); ++\item Safe Drive (Linux) \cite{safedrive}; ++\item SymDrive \cite{symdrive}. ++\end{itemize} ++} ++\only<2>{ ++\begin{itemize} ++\item Cover topics we don't cover \cemph{yet}; ++\item Doesn't solve code re-usability; ++\item SymDrive is very interesting. ++\end{itemize} ++} ++} ++\end{frame} ++ ++\begin{frame}{Interface Description Languages (IDL)} ++\only<1>{ ++\Large{ ++\begin{itemize} ++\item Devil \cite{Reveillere:these2001}; ++\item Hail (similar to Devil). ++\end{itemize} ++} ++} ++\only<2>{ ++\large{ ++\begin{itemize} ++\item Describe interfaces to access the registers with constraints; ++\item No notion of bus (Devil); ++\item Don't describe the algorithms to access the registers. ++\end{itemize} ++} ++} ++\only<3>{ ++\Large{ ++\begin{itemize} ++\item Only solve one part of the problematic; ++\item \rtx\ started from Devil. ++\end{itemize} ++} ++} ++\end{frame} ++ ++\begin{frame}{Domain Specific Languages (DSL)} ++\Large{ ++\begin{itemize} ++\item Termite \cite{Ryzhyk_CKSH_09}; ++\item \rtx. ++\end{itemize} ++} ++\end{frame} ++ ++\begin{frame} ++\begin{center} ++\LARGE{ ++\emph{Quick dive in our WIP} ++} ++\end{center} ++\end{frame} ++ ++\begin{frame} ++\begin{center} ++\LARGE{ ++\emph{Wrap-up} ++} ++\end{center} ++\end{frame} ++ ++\begin{frame}{Questions?} ++\begin{center} ++\Huge{Thanks} ++ ++\end{center} ++\vspace{2em} ++\begin{itemize} ++\item \Large{\url{http://www.rathaxes.org/}} ++\item \Large{\texttt{\#rathaxes} on IRC (\texttt{chat.freenode.net})} ++\item \Large{\twitter} ++\end{itemize} ++\end{frame} ++ ++\begin{frame}{Bibliography} ++\rtxbibliography ++\end{frame} ++ +\end{document} diff --git a/com/slides/2013_fosdem/CMakeLists.txt b/com/slides/2013_fosdem/CMakeLists.txt new file mode 100644 --- /dev/null +++ b/com/slides/2013_fosdem/CMakeLists.txt -@@ -0,0 +1,3 @@ +@@ -0,0 +1,6 @@ +RATHAXES_COPY_LATEX_CLASSES() + -+ADD_LATEX_DOCUMENT(2013_fosdem.tex DEFAULT_PDF MANGLE_TARGET_NAMES) ++ADD_LATEX_DOCUMENT(2013_fosdem.tex ++ BIBFILES ++ ../../../doc/bibliography.bib ++ DEFAULT_PDF MANGLE_TARGET_NAMES) diff --git a/com/slides/CMakeLists.txt b/com/slides/CMakeLists.txt --- a/com/slides/CMakeLists.txt +++ b/com/slides/CMakeLists.txt @@ -59,3 +532,124 @@ ADD_SUBDIRECTORY(2011_lsm) ADD_SUBDIRECTORY(2012_lsm) +ADD_SUBDIRECTORY(2013_fosdem) +diff --git a/doc/bibliography.bib b/doc/bibliography.bib +--- a/doc/bibliography.bib ++++ b/doc/bibliography.bib +@@ -69,3 +69,59 @@ + month = feb, + note = "\url{http://www.gnu.org/licenses/lgpl-2.1.html}" + } ++ ++@InProceedings{kadavasplos12, ++ author = "{Asim Kadav and Michael M. Swift}", ++ title = "{U}nderstanding {M}odern {D}evice {D}rivers", ++ booktitle = {ASPLOS}, ++ address = {London, UK}, ++ month = {March 3-7}, ++ year = {2012}, ++ note = "\url{http://pages.cs.wisc.edu/~kadav/study/}" ++} ++ ++@manual{SDV, ++ title = "{S}tatic {D}river {V}erifier", ++ organization = "{M}icrosoft / {M}icrosoft {R}easearch", ++ note = "\url{http://msdn.microsoft.com/en-us/library/windows/hardware/ff552808.aspx}" ++} ++ ++@InProceedings{safedrive, ++ author = "{Feng Zhou, Jeremy Condit, Zachary Anderson, and Ilya Bagrak; Rob Ennals; Matthew Harren, George Necula, and Eric Brewer}", ++ title = "SafeDrive: Safe and Recoverable Extensions Using Language-Based Techniques", ++ booktitle = "OSDI '06", ++ address = {Seattle, WA}, ++ month = {November 6-8}, ++ year = {2006}, ++ note = "\url{http://ivy.cs.berkeley.edu/safedrive/}" ++} ++ ++@InProceedings{symdrive, ++ author = "{Matthew J. Renzelmann, Asim Kadav, and Michael M. Swift}", ++ title = "SymDrive: Testing Drivers without Devices", ++ booktitle = "OSDI '12", ++ address = {Hollywood, CA}, ++ month = {October 8-10}, ++ year = {2012}, ++ note = "\url{http://research.cs.wisc.edu/sonar/projects/symdrive/index.shtml}" ++} ++ ++@phdthesis{Reveillere:these2001, ++ author = {R\'eveill\`ere, L.}, ++ title = {Approche langage au d\'eveloppement de pilotes de p\'eriph\'eriques robustes}, ++ school = {Universit{\'e} de Rennes~1, France}, ++ year = {2001}, ++ type = {Th\`{e}se de doctorat}, ++ month = {December}, ++ note = {\url{http://www.labri.fr/perso/reveille/publications/papers/reveillere-thesis.pdf}} ++} ++ ++@inproceedings{Ryzhyk_CKSH_09, ++ title = {Automatic Device Driver Synthesis with {Termite}}, ++ booktitle = {Proceedings of the 22\textsuperscript{nd} ACM Symposium on Operating Systems Principles}, ++ author = {Leonid Ryzhyk and Peter Chubb and Ihor Kuz and Le Sueur, Etienne and Gernot Heiser}, ++ year = {2009}, ++ month = {Oct}, ++ address = {Big Sky, MT, USA}, ++ note = {\url{http://ssrg.nicta.com.au/publications/papers/Ryzhyk_CKSH_09.pdf}} ++} +diff --git a/maintainers/latex/rathaxes.sty b/maintainers/latex/rathaxes.sty +--- a/maintainers/latex/rathaxes.sty ++++ b/maintainers/latex/rathaxes.sty +@@ -9,6 +9,7 @@ + \RequirePackage{libertine} + \RequirePackage{inconsolata} + \RequirePackage{tabularx} ++\RequirePackage{natbib} + \RequirePackage[fixlanguage]{babelbib} + \expandafter\RequirePackage[\@rtxlanguage]{babel} + +diff --git a/maintainers/latex/rtxslides.sty b/maintainers/latex/rtxslides.sty +--- a/maintainers/latex/rtxslides.sty ++++ b/maintainers/latex/rtxslides.sty +@@ -6,19 +6,31 @@ + \RequirePackage{inconsolata} + \RequirePackage[utf8]{inputenc} + \RequirePackage[T1]{fontenc} ++\RequirePackage[fixlanguage]{babelbib} + + \newcommand{\rtx}{Rathaxes} ++% Useful in tikz: ++\newcommand{\bgcolor}{black} ++\newcommand{\fgcolor}{white} ++\newcommand{\twitter}{\raisebox{-0.3ex}{\includegraphics[height=1em]{twitter-bird-dark-bgs}} \href{https://twitter.com/rathaxes}{@rathaxes}} + + \definecolor{rathaxesred}{RGB}{190,36,31} + \setbeamercolor{normal text}{fg=white,bg=black} + \setbeamercolor{structure}{fg=rathaxesred} + +-\DeclareOption{reverse}{\setbeamercolor{normal text}{fg=black,bg=white}} ++\DeclareOption{reverse}{ ++\setbeamercolor{normal text}{fg=black,bg=white} ++\renewcommand{\bgcolor}{white} ++\renewcommand{\fgcolor}{black} ++\renewcommand{\twitter}{\raisebox{-0.3ex}{\includegraphics[height=1em]{twitter-bird-light-bgs}} \href{https://twitter.com/rathaxes}{@rathaxes}} ++} + \ProcessOptions\relax + + \setbeamerfont{abstract}{family=\rmfamily,shape=\itshape} + + \useoutertheme{infolines} ++\setbeamertemplate{navigation symbols}{} ++\setbeamertemplate{bibliography item}[text] + + \addtobeamertemplate{title page}{% + \begin{center}% +@@ -27,3 +39,10 @@ + \end{center}}{} + + \graphicspath{{@RATHAXES_SOURCE_DIR@/com/images/}} ++ ++\newcommand{\rtxbibliography}{% ++\bibliographystyle{abbrv} ++\scriptsize{ ++\bibliography{@RATHAXES_SOURCE_DIR@/doc/bibliography} ++} ++}