From cc828ca757331a8459271ca6558350e738d1a775 Mon Sep 17 00:00:00 2001 From: Yann Esposito Date: Mon, 8 Oct 2012 13:39:31 +0200 Subject: [PATCH] transition page faster to show content less inconvenient --- content/css/main.sass | 5 +- output/Scratch/assets/css/main.css | 2 +- .../blog/Haskell-OpenGL-Mandelbrot/index.html | 44 +- output/Scratch/en/blog/feed/feed.xml | 110 +- .../blog/Haskell-OpenGL-Mandelbrot/index.html | 46 +- output/Scratch/fr/blog/feed/feed.xml | 482 +++--- output/Scratch/sitemap.xml | 1462 ++++++++--------- output/index.html | 2 +- 8 files changed, 1090 insertions(+), 1063 deletions(-) diff --git a/content/css/main.sass b/content/css/main.sass index 761239bba..6fe9e8b34 100644 --- a/content/css/main.sass +++ b/content/css/main.sass @@ -630,11 +630,10 @@ img.clean text-align: center #blackpage + +mainColor font-family: Georgia, serif font-style: italic - color: #666666 - padding-top: 3em - background-color: #eeeeee + padding-top: 8em z-index: 9000 cursor: wait .corps diff --git a/output/Scratch/assets/css/main.css b/output/Scratch/assets/css/main.css index 80def568e..6283cc9dc 100644 --- a/output/Scratch/assets/css/main.css +++ b/output/Scratch/assets/css/main.css @@ -1 +1 @@ -@font-face{font-family:"cmuntt";src:url("fonts/cmuntt.eot");src:local("☺"),url("fonts/cmuntt.svg") format("svg"),url("fonts/cmuntt.ttf") format("truetype");font-weight:400;font-style:normal}@font-face{font-family:"ComputerModern";src:url("fonts/cmunrb.eot");src:local("☺"),url("fonts/cmunrb.svg") format("svg"),url("fonts/cmunrb.ttf") format("truetype");font-weight:700}@font-face{font-family:"ComputerModern";src:url("fonts/cmunsl.eot");src:local("☺"),url("fonts/cmunsl.svg") format("svg"),url("fonts/cmunsl.ttf") format("truetype");font-style:italic,oblique}@font-face{font-family:"ComputerModern";src:url("fonts/cmunrm.eot");src:local("☺"),url("fonts/cmunrm.svg") format("svg"),url("fonts/cmunrm.ttf") format("truetype");font-weight:400;font-style:normal}i,em{font-style:italic}b,strong,h1,h2,h3,h4,h5,h6{font-weight:700}table.description tr td{border:1px solid #eeeef1}.assombris20{background-color:#eeeef1}body{color:#002b36;background-color:#fafafc}::selection{background:#002b36;color:#93a1a1}::-moz-selection{background:#002b36;color:#93a1a1}pre,code,a.cut{font-family:"cmuntt",Incosolata,Monaco,monospace}pre::selection{background:#fdf6e3;color:#586e75}pre *::selection{background:#fdf6e3;color:#586e75}pre::-moz-selection{background:#fdf6e3;color:#586e75}pre *::-moz-selection{background:#fdf6e3;color:#586e75}a:hover{text-shadow:0 0 2px#faa}a,a:link,a:visited,a:active,a:hover{text-decoration:none;outline:none}a,a:link,a:visited,a:active{color:#002b36}a:hover{color:#cb4b16}hr{color:#eeeef1;border-top:1px solid #eeeef1;border-bottom:none;border-left:none;border-right:none}ul{list-style:none}.corps ul li:before{content:"- "}ol,ul{padding-left:0}ol li,ul li{margin:.5em 0}ol li ul,ol li ol,ul li ol,ul li ul{margin:.5em 1.5em;list-style:none}body,h1,h2,h3,h4,#entete,.tagname{text-rendering:optimizelegibility;line-height:1.4em}body{font-family:"ComputerModern",Georgia,Palatino,"Century Schoolbook L","Times New Roman",Times,serif}.article #afterheader{counter-reset:niv02}.article #afterheader h2{counter-increment:niv02;counter-reset:niv03;marker-offset:3em}.article #afterheader h2:before{content:counter(niv02) ". "}.article #afterheader h3{counter-increment:niv03;counter-reset:niv04}.article #afterheader h3:before{content:counter(niv02) "." counter(niv03) ". "}.article #afterheader h4{counter-increment:niv04}.article #afterheader h4:before{content:counter(niv02) "." counter(niv03) "." counter(niv04) ". "}pre{background-color:#002b36;color:#839496;box-shadow:0 0 5px #d0d0d2 inset;border-radius:3px;padding:1em;line-height:1.2em;font-size:.9em}p{margin-bottom:1.2em}blockquote{border:solid 1px #ccccd0;border-radius:2px;box-shadow:0 0 4px #f2f2f4 inset;background-color:#f8f8fa;font-style:italic;padding:.5em 1em;color:#556}blockquote a:hover{color:#cb4b16}blockquote i,blockquote em{font-weight:400;font-style:normal;color:#002b36}blockquote strong,blockquote b{font-weight:700;color:#002b36}blockquote ul{padding-left:1.5em}abbr,acronym{text-transform:uppercase;font-size:.8em;text-decoration:none;border-bottom-width:0}#titre{letter-spacing:-0.06em;border-bottom:4px double #ccccd0;border-top:4px double #ccccd0}#liens .active,#sousliens{color:#002b36;border:#ccccd0 solid 1px;border-radius:5px;box-shadow:0 0 2px #ccccd0 inset;background-color:#eeeef1}#liens .active a,#sousliens a{color:#667}#liens .active a:hover,#sousliens a:hover{color:#cb4b16}#liens .active a:hover strong,#liens .active a:hover b,#liens .active a:hover i,#liens .active a:hover em,#liens .active a:hover .nicer,#sousliens a:hover strong,#sousliens a:hover b,#sousliens a:hover i,#sousliens a:hover em,#sousliens a:hover .nicer{color:#ffb17c}#liens .active hr,#sousliens hr{color:#667;border-top:1px solid#667}#liens .active strong,#liens .active b,#liens .active i,#liens .active em,#sousliens strong,#sousliens b,#sousliens i,#sousliens em{color:#002b36}#liens a{border:1px solid#eee;background:rgba(0,0,0,0.05);box-shadow:0 0 2px white,0 0 3px#ccc inset;border:1px solid rgba(0,0,0,0.1);border-radius:3px}#liens a:hover{background:rgba(0,0,0,0.1);box-shadow:0 0 6px#555 inset}#liens .active{text-shadow:0 0 2px rgba(0,0,0,0.5);background-color:#f7f7f9;border:1px solid #e9e9eb;box-shadow:0 0 3px #c7c7c9 inset;border-radius:3px;border-top:none}#lastmod{font-size:.9em}.nojsbutton{font-size:2.5em}#clickcomment,#choixlang > a,#choixrss > a,.return > a{display:block;width:25%;cursor:pointer;margin:1em 0;padding:1em;font-size:16px;line-height:1.4em;border:1px solid #fafafc;color:#ccccd0}#clickcomment:hover,#choixlang > a:hover,#choixrss > a:hover,.return > a:hover{border:solid 1px #ccccd0;border-radius:2px;box-shadow:0 0 4px #f2f2f4 inset;background-color:#f8f8fa;color:#dc5c27;text-shadow:0 0 2px#faa}#clickcomment:active,#choixlang > a:active,#choixrss > a:active,.return > a:active{border:solid 1px #ccccd0;border-radius:2px;box-shadow:0 0 4px #f2f2f4 inset;background-color:#f8f8fa;color:#dc5c27;text-shadow:0 0 2px#faa;background:#f4f4f6}.return > a,#choixrss > a{float:right}#choix .return > a,#choix #choixrss > a{margin-top:0}.small{font-size:.8em}.sc{text-transform:uppercase;font-size:.8em}.impact,.darkimpact{font-size:2em;margin:0 auto 1em auto;line-height:1.3em}h1 > .date{font-size:.6em;color:#002b36}.date{font-size:.8em;color:#fafafc;border:1px solid #002b36;text-align:center;width:4.1em;line-height:1.5em;display:inline-block;vertical-align:middle;margin-right:1em}.date .day,.date .month,.date .year{display:block}.date .day{color:#002b36;background-color:#fafafc;float:left;width:1.7em}.date .month{float:right;width:2.3em;background-color:#002b36;color:#fafafc}.date .year{line-height:3ex;clear:both;color:#002b36;border:#ccccd0 solid 1px;border-radius:5px;box-shadow:0 0 2px #ccccd0 inset;background-color:#eeeef1;border-radius:0}.date .year a{color:#667}.date .year a:hover{color:#cb4b16}.date .year a:hover strong,.date .year a:hover b,.date .year a:hover i,.date .year a:hover em,.date .year a:hover .nicer{color:#ffb17c}.date .year hr{color:#667;border-top:1px solid#667}.date .year strong,.date .year b,.date .year i,.date .year em{color:#002b36}body{text-align:center;font-size:16px}body > #entete{position:absolute;left:0;top:.5em;width:100%;min-width:50em;z-index:8000;padding-bottom:1em;margin-bottom:3em}#titre h2{width:80%;margin-left:auto;margin-right:auto;text-align:center;color:#ccccd0}#titre{text-align:center;width:100%}#titre h1,#titre h2{padding-left:1em;padding-right:1em}#bottom{clear:right;margin-right:0;padding:1.5em;line-height:1.5em;color:#224d58;margin-top:2em;text-align:center}#bottom a{color:#113c47}#bottom a:hover{color:#cb4b16}#sousliens{padding:1em 0;line-height:2em}#sousliens ul{list-style:none;margin-left:4em}ul.horizontal li{display:inline;font-size:.9em}ul.horizontal{margin-top:0;margin-bottom:0}#entete{padding-top:.1em;border-top:1px solid #ccccd0;border-bottom:1px solid #ccccd0}#liens{width:100%;padding:0;clear:both;margin-top:.5em}#liens ul{width:100%;clear:both;padding:0;margin:0}#liens ul li{display:inline-block;height:4em;margin-left:.2em;margin-right:.2em;width:23%}#liens ul li a,#liens ul li span{width:100%;display:block;line-height:4em}.clear{clear:both}#content{line-height:4em;margin-left:auto;margin-right:auto;margin-top:0;position:relative;clear:both;width:52em}.encadre,.black,.red,.intro,.resume,.shadow{padding:2em;margin-top:2em;margin-bottom:2em}.encadre,.black,.red,.shadow{color:#002b36;border:#ccccd0 solid 1px;border-radius:5px;box-shadow:0 0 2px #ccccd0 inset;background-color:#eeeef1}.encadre a,.black a,.red a,.shadow a{color:#667}.encadre a:hover,.black a:hover,.red a:hover,.shadow a:hover{color:#cb4b16}.encadre a:hover strong,.encadre a:hover b,.encadre a:hover i,.encadre a:hover em,.encadre a:hover .nicer,.black a:hover strong,.black a:hover b,.black a:hover i,.black a:hover em,.black a:hover .nicer,.red a:hover strong,.red a:hover b,.red a:hover i,.red a:hover em,.red a:hover .nicer,.shadow a:hover strong,.shadow a:hover b,.shadow a:hover i,.shadow a:hover em,.shadow a:hover .nicer{color:#ffb17c}.encadre hr,.black hr,.red hr,.shadow hr{color:#667;border-top:1px solid#667}.encadre strong,.encadre b,.encadre i,.encadre em,.black strong,.black b,.black i,.black em,.red strong,.red b,.red i,.red em,.shadow strong,.shadow b,.shadow i,.shadow em{color:#002b36}pre .red{background:none;padding:0;margin:auto;border:none;box-shadow:none}.intro,.resume{font-size:.9em;font-style:italic;padding:.5em 1em;color:#556}.intro a:hover,.resume a:hover{color:#cb4b16}.intro i,.intro em,.resume i,.resume em{font-weight:400;font-style:normal;color:#002b36}.intro strong,.intro b,.resume strong,.resume b{font-weight:700;color:#002b36}#afterheader > h1{width:100%;padding-top:1.5em;text-align:left}#afterheader{padding-left:0;padding-right:0}#sousliens{margin-top:3em;margin-bottom:3em;font-size:1.2em;letter-spacing:1px;text-align:left;clear:both}.twilight{line-height:1.1em}.corps{font-size:1.25em;line-height:1.6em;text-align:justify;padding:3em 3em;margin:0;clear:both}.corps img{max-width:80%;border:1px solid #ccccd0;background-color:#fafafc;padding:.5em;box-shadow:0 10px 15px#ccc;border-radius:3px}.corps a:hover img{background-color:#dc3a05}figure{margin:3em 0}figure img{box-shadow:0 10px 15px#ccc inset}figure figcaption{text-align:center;margin:.5em 0}img.clean{border:none;background-color:none;box-shadow:none}#address{clear:both}.definitionCell{width:5em;vertical-align:top;text-align:center;font-weight:700}.valueCell{text-align:right}.smallblock{float:left;width:50%;font-size:1em;font-weight:700}.largeblock{float:right;width:70%;font-size:1em}#blackpage,#nojsredirect{top:0;left:0;width:100%;min-height:100%;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;text-align:center}#blackpage{font-family:Georgia,serif;font-style:italic;color:#666;padding-top:3em;background-color:#eee;z-index:9000;cursor:wait}#blackpage .corps code,#blackpage .corps pre{font-family:monospace}#blackpage img{background:none;border:none;max-width:80%;margin:0 auto}#blackpage a{cursor:pointer}#blackpage .preh1{font-size:1.5em;font-weight:700;margin-bottom:1em}#blackpage .preh2{font-size:1.2em;font-style:italic;margin-bottom:1em}#blackpage .preintro{text-align:left;width:52em;margin:0 auto}#nojsredirect{z-index:9001}.nojsbutton{width:50%;padding:1em;border:solid 3px white;margin-left:auto;margin-right:auto;margin-top:2em;z-index:9002}.codefile{font-size:.8em;text-align:right;padding-right:1em;margin-right:.1;margin-bottom:-1em}.flush{clear:both}table.description{border-spacing:5px;border-collapse:separate;margin-right:auto;margin-left:auto}table.description tr td{padding-left:.5em;padding-right:.5em;padding-top:.5ex;padding-bottom:.5ex;vertical-align:middle;margin-right:5px}ul.long li{margin-bottom:1em}img{display:block;margin:1.2em auto;background:none;border:none}img.left{float:left;max-width:30%;margin-top:.6em;margin-right:2em}img.inside{display:inline;vertical-align:middle}pre{overflow-x:auto;overflow-y:hidden}.navigationprev,.navigationnext{padding:0;margin-left:.2em;margin-right:.2em;margin-bottom:0;margin-top:3em;width:45%}.navigation .navigationprev,.navigation .navigationnext{width:30%;margin-top:0}.navigation{height:4em;border-bottom:#ccccd0 solid 1px}.presarticleleft,.presarticleright{font-size:1em}.navigationprev{float:left;text-align:left}.navigationnext{float:right;text-align:right}.impact,.darkimpact{text-align:left;width:66%;padding-left:.25em;padding-right:.25em}table.impact{text-align:left}table.impact tr td{padding-left:.25em;padding-right:.25em}#liens{font-size:1.2em}#iemessage{font-size:1.2em;color:#ccc;margin:-10px;padding:1px 0;background:#333}#iemessage strong,#iemessage b,#iemessage i,#iemessage em{color:#ccc}#iemessage a,#iemessage a:visited{color:#eca}.tagname{display:inline;cursor:pointer;margin-left:.5em;margin-right:.5em}.list{margin-top:3em}#menuMessage{font-size:1.2em;line-height:1.5em;width:100%;text-align:center}#next_before_articles{clear:both;width:100%;font-size:1.2em;padding-top:1em;padding-bottom:1em}#previous_articles,#next_articles{color:#889;font-size:.8em;font-style:italic}#previous_articles{float:left;margin-left:1em;width:45%;text-align:left}.previous_article,.next_article{margin-top:1em}#next_articles{float:right;width:45%;margin-right:1em;text-align:right}#rss{font-size:1.2em;text-align:center;display:block;width:100%;float:right;padding:1em .1em}.corps .return a{color:#eeeef1;padding:.1em;line-height:1.5em;font-size:1.5em;height:1.5em;float:left;font-size:2em;margin-top:-0.5em;margin-left:-2em;width:1.5em}a.return{color:#eeeef1;padding:.1em;line-height:1.5em;font-size:1.5em;height:1.5em;font-size:2em;width:1.5em;display:block}a.return:hover{color:#889}.corps .return a:hover{color:#cb4b16}.footnotes{font-size:.8em}.footnotes ol{color:#839496;font-weight:700}.footnotes ol p{color:#002b36;font-weight:400;font-style:normal}.fontnotes ol{margin-left:0}.typeset img{display:inline;border:none;margin:0;padding:0}strong,b,i,em{font-weight:400;color:#889}strong a,b a,i a,em a{color:#002b36}strong a:hover,b a:hover,i a:hover,em a:hover{color:#cb4b16}.corps p strong,.corps p b,.corps p i,.corps p em{color:#556}a:hover strong,a:hover b,a:hover i,a:hover em{color:#dc5c27}a:hover .nicer{color:#ffb17c}.nicer{color:#ccccd0;font-family:"Lucida Grande",Tahoma}.block{border:solid 1px #ccccd0;border-radius:2px;box-shadow:0 0 4px #f2f2f4 inset;background-color:#f8f8fa;width:26.5%;padding:1em;border-radius:2px;text-align:left;line-height:1em;margin-left:1%;margin-right:1%;font-size:.8em;height:9em}.block a{color:#002b36}.block a:hover{color:#cb4b16}.block h3{margin:0;font-size:1.3em}.block p{line-height:1.2em}.left{float:left}.right{float:right}.corps p a,.corps ul a{color:#556}.corps p a:hover,.corps ul a:hover{color:#cb4b16}ul.bloglist,.archive ul{list-style-type:none;margin:0}ul.bloglist li,.archive ul li{margin-bottom:1em}.button{cursor:pointer;text-align:center}#tagcloud{font-size:.8em;background:#f2f2f4;box-shadow:0 0 6px #ccccd0;border-radius:3px;line-height:2.5em;padding:2em;text-align:justify}.pala{font-family:Palatino}.article .corps a:after{content:"†";vertical-align:super;line-height:0;font-size:.66em;color:#889}.article .corps .footnotes a:after,.article .corps sup a:after{content:""}.article .corps sup a{font-weight:700;background:#839496;padding:0 .3em;margin-left:2px;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;color:#fafafc}.article .corps sup a:hover{background:#cb4b16}ul#markdown-toc,.intro .toc ul{text-transform:uppercase;font-size:.8em;list-style:none;padding-left:1.5em}ul#markdown-toc a:after,.intro .toc ul a:after{content:""}ul#markdown-toc ul ul,.intro .toc ul ul ul{font-variant:normal;line-height:1em;font-size:1em;margin-bottom:1em}table{border:1px solid #ccccd0}table tr td{padding:2px .5em}table tr:nth-child(odd){background-color:#f2f2f4}table tr:nth-child(even){background-color:#fafafc}p pre code,ul li pre code,ol li pre code{background:none;border:none;padding:0}p code,ul li code,ol li code{background:#f0f0f2;border:solid 1px #ccccd0;padding:2px}ul.sameline{list-style:none}ul.sameline li{float:left;margin-left:.5em}.resumearticle{background-color:#f2f2f4;border-radius:7px;box-shadow:0 0 5px #c7c7b8 inset,0 0 5px white;margin:1em 0;padding:1em}a.cut{font-size:12px;text-align:right;display:block;width:100%;opacity:.5;border:1px solid #fafafc;border-radius:3px}a.cut:hover{opacity:1;background-color:#f2f2f4;border-color:#ccccd0;box-shadow:0 0 3px #ccccd0 inset}a.cut strong{font-weight:700}.codehighlight pre{border-left:4px solid #ccccd0}#social{text-align:left;opacity:.3}#social:hover{opacity:1}.popularblock{width:30.333%;margin:0 1.5%;float:left}.popularblock figure{margin:0}.popularblock figure img{max-width:80%;max-height:6em} \ No newline at end of file +@charset "UTF-8";@font-face{font-family:"cmuntt";src:url("fonts/cmuntt.eot");src:local("☺"),url("fonts/cmuntt.svg") format("svg"),url("fonts/cmuntt.ttf") format("truetype");font-weight:400;font-style:normal}@font-face{font-family:"ComputerModern";src:url("fonts/cmunrb.eot");src:local("☺"),url("fonts/cmunrb.svg") format("svg"),url("fonts/cmunrb.ttf") format("truetype");font-weight:700}@font-face{font-family:"ComputerModern";src:url("fonts/cmunsl.eot");src:local("☺"),url("fonts/cmunsl.svg") format("svg"),url("fonts/cmunsl.ttf") format("truetype");font-style:italic,oblique}@font-face{font-family:"ComputerModern";src:url("fonts/cmunrm.eot");src:local("☺"),url("fonts/cmunrm.svg") format("svg"),url("fonts/cmunrm.ttf") format("truetype");font-weight:400;font-style:normal}i,em{font-style:italic}b,strong,h1,h2,h3,h4,h5,h6{font-weight:700}table.description tr td{border:1px solid #eeeef1}.assombris20{background-color:#eeeef1}body{color:#002b36;background-color:#fafafc}::selection{background:#002b36;color:#93a1a1}::-moz-selection{background:#002b36;color:#93a1a1}pre,code,a.cut{font-family:"cmuntt",Incosolata,Monaco,monospace}pre::selection{background:#fdf6e3;color:#586e75}pre *::selection{background:#fdf6e3;color:#586e75}pre::-moz-selection{background:#fdf6e3;color:#586e75}pre *::-moz-selection{background:#fdf6e3;color:#586e75}a:hover{text-shadow:0 0 2px#faa}a,a:link,a:visited,a:active,a:hover{text-decoration:none;outline:none}a,a:link,a:visited,a:active{color:#002b36}a:hover{color:#cb4b16}hr{color:#eeeef1;border-top:1px solid #eeeef1;border-bottom:none;border-left:none;border-right:none}ul{list-style:none}.corps ul li:before{content:"- "}ol,ul{padding-left:0}ol li,ul li{margin:.5em 0}ol li ul,ol li ol,ul li ol,ul li ul{margin:.5em 1.5em;list-style:none}body,h1,h2,h3,h4,#entete,.tagname{text-rendering:optimizelegibility;line-height:1.4em}body{font-family:"ComputerModern",Georgia,Palatino,"Century Schoolbook L","Times New Roman",Times,serif}.article #afterheader{counter-reset:niv02}.article #afterheader h2{counter-increment:niv02;counter-reset:niv03;marker-offset:3em}.article #afterheader h2:before{content:counter(niv02) ". "}.article #afterheader h3{counter-increment:niv03;counter-reset:niv04}.article #afterheader h3:before{content:counter(niv02) "." counter(niv03) ". "}.article #afterheader h4{counter-increment:niv04}.article #afterheader h4:before{content:counter(niv02) "." counter(niv03) "." counter(niv04) ". "}pre{background-color:#002b36;color:#839496;box-shadow:0 0 5px #d0d0d2 inset;border-radius:3px;padding:1em;line-height:1.2em;font-size:.9em}p{margin-bottom:1.2em}blockquote{border:solid 1px #ccccd0;border-radius:2px;box-shadow:0 0 4px #f2f2f4 inset;background-color:#f8f8fa;font-style:italic;padding:.5em 1em;color:#556}blockquote a:hover{color:#cb4b16}blockquote i,blockquote em{font-weight:400;font-style:normal;color:#002b36}blockquote strong,blockquote b{font-weight:700;color:#002b36}blockquote ul{padding-left:1.5em}abbr,acronym{text-transform:uppercase;font-size:.8em;text-decoration:none;border-bottom-width:0}#titre{letter-spacing:-0.06em;border-bottom:4px double #ccccd0;border-top:4px double #ccccd0}#liens .active,#sousliens{color:#002b36;border:#ccccd0 solid 1px;border-radius:5px;box-shadow:0 0 2px #ccccd0 inset;background-color:#eeeef1}#liens .active a,#sousliens a{color:#667}#liens .active a:hover,#sousliens a:hover{color:#cb4b16}#liens .active a:hover strong,#liens .active a:hover b,#liens .active a:hover i,#liens .active a:hover em,#liens .active a:hover .nicer,#sousliens a:hover strong,#sousliens a:hover b,#sousliens a:hover i,#sousliens a:hover em,#sousliens a:hover .nicer{color:#ffb17c}#liens .active hr,#sousliens hr{color:#667;border-top:1px solid#667}#liens .active strong,#liens .active b,#liens .active i,#liens .active em,#sousliens strong,#sousliens b,#sousliens i,#sousliens em{color:#002b36}#liens a{border:1px solid#eee;background:rgba(0,0,0,0.05);box-shadow:0 0 2px white,0 0 3px#ccc inset;border:1px solid rgba(0,0,0,0.1);border-radius:3px}#liens a:hover{background:rgba(0,0,0,0.1);box-shadow:0 0 6px#555 inset}#liens .active{text-shadow:0 0 2px rgba(0,0,0,0.5);background-color:#f7f7f9;border:1px solid #e9e9eb;box-shadow:0 0 3px #c7c7c9 inset;border-radius:3px;border-top:none}#lastmod{font-size:.9em}.nojsbutton{font-size:2.5em}#clickcomment,#choixlang > a,#choixrss > a,.return > a{display:block;width:25%;cursor:pointer;margin:1em 0;padding:1em;font-size:16px;line-height:1.4em;border:1px solid #fafafc;color:#ccccd0}#clickcomment:hover,#choixlang > a:hover,#choixrss > a:hover,.return > a:hover{border:solid 1px #ccccd0;border-radius:2px;box-shadow:0 0 4px #f2f2f4 inset;background-color:#f8f8fa;color:#dc5c27;text-shadow:0 0 2px#faa}#clickcomment:active,#choixlang > a:active,#choixrss > a:active,.return > a:active{border:solid 1px #ccccd0;border-radius:2px;box-shadow:0 0 4px #f2f2f4 inset;background-color:#f8f8fa;color:#dc5c27;text-shadow:0 0 2px#faa;background:#f4f4f6}.return > a,#choixrss > a{float:right}#choix .return > a,#choix #choixrss > a{margin-top:0}.small{font-size:.8em}.sc{text-transform:uppercase;font-size:.8em}.impact,.darkimpact{font-size:2em;margin:0 auto 1em auto;line-height:1.3em}h1 > .date{font-size:.6em;color:#002b36}.date{font-size:.8em;color:#fafafc;border:1px solid #002b36;text-align:center;width:4.1em;line-height:1.5em;display:inline-block;vertical-align:middle;margin-right:1em}.date .day,.date .month,.date .year{display:block}.date .day{color:#002b36;background-color:#fafafc;float:left;width:1.7em}.date .month{float:right;width:2.3em;background-color:#002b36;color:#fafafc}.date .year{line-height:3ex;clear:both;color:#002b36;border:#ccccd0 solid 1px;border-radius:5px;box-shadow:0 0 2px #ccccd0 inset;background-color:#eeeef1;border-radius:0}.date .year a{color:#667}.date .year a:hover{color:#cb4b16}.date .year a:hover strong,.date .year a:hover b,.date .year a:hover i,.date .year a:hover em,.date .year a:hover .nicer{color:#ffb17c}.date .year hr{color:#667;border-top:1px solid#667}.date .year strong,.date .year b,.date .year i,.date .year em{color:#002b36}body{text-align:center;font-size:16px}body > #entete{position:absolute;left:0;top:.5em;width:100%;min-width:50em;z-index:8000;padding-bottom:1em;margin-bottom:3em}#titre h2{width:80%;margin-left:auto;margin-right:auto;text-align:center;color:#ccccd0}#titre{text-align:center;width:100%}#titre h1,#titre h2{padding-left:1em;padding-right:1em}#bottom{clear:right;margin-right:0;padding:1.5em;line-height:1.5em;color:#224d58;margin-top:2em;text-align:center}#bottom a{color:#113c47}#bottom a:hover{color:#cb4b16}#sousliens{padding:1em 0;line-height:2em}#sousliens ul{list-style:none;margin-left:4em}ul.horizontal li{display:inline;font-size:.9em}ul.horizontal{margin-top:0;margin-bottom:0}#entete{padding-top:.1em;border-top:1px solid #ccccd0;border-bottom:1px solid #ccccd0}#liens{width:100%;padding:0;clear:both;margin-top:.5em}#liens ul{width:100%;clear:both;padding:0;margin:0}#liens ul li{display:inline-block;height:4em;margin-left:.2em;margin-right:.2em;width:23%}#liens ul li a,#liens ul li span{width:100%;display:block;line-height:4em}.clear{clear:both}#content{line-height:4em;margin-left:auto;margin-right:auto;margin-top:0;position:relative;clear:both;width:52em}.encadre,.black,.red,.intro,.resume,.shadow{padding:2em;margin-top:2em;margin-bottom:2em}.encadre,.black,.red,.shadow{color:#002b36;border:#ccccd0 solid 1px;border-radius:5px;box-shadow:0 0 2px #ccccd0 inset;background-color:#eeeef1}.encadre a,.black a,.red a,.shadow a{color:#667}.encadre a:hover,.black a:hover,.red a:hover,.shadow a:hover{color:#cb4b16}.encadre a:hover strong,.encadre a:hover b,.encadre a:hover i,.encadre a:hover em,.encadre a:hover .nicer,.black a:hover strong,.black a:hover b,.black a:hover i,.black a:hover em,.black a:hover .nicer,.red a:hover strong,.red a:hover b,.red a:hover i,.red a:hover em,.red a:hover .nicer,.shadow a:hover strong,.shadow a:hover b,.shadow a:hover i,.shadow a:hover em,.shadow a:hover .nicer{color:#ffb17c}.encadre hr,.black hr,.red hr,.shadow hr{color:#667;border-top:1px solid#667}.encadre strong,.encadre b,.encadre i,.encadre em,.black strong,.black b,.black i,.black em,.red strong,.red b,.red i,.red em,.shadow strong,.shadow b,.shadow i,.shadow em{color:#002b36}pre .red{background:none;padding:0;margin:auto;border:none;box-shadow:none}.intro,.resume{font-size:.9em;font-style:italic;padding:.5em 1em;color:#556}.intro a:hover,.resume a:hover{color:#cb4b16}.intro i,.intro em,.resume i,.resume em{font-weight:400;font-style:normal;color:#002b36}.intro strong,.intro b,.resume strong,.resume b{font-weight:700;color:#002b36}#afterheader > h1{width:100%;padding-top:1.5em;text-align:left}#afterheader{padding-left:0;padding-right:0}#sousliens{margin-top:3em;margin-bottom:3em;font-size:1.2em;letter-spacing:1px;text-align:left;clear:both}.twilight{line-height:1.1em}.corps{font-size:1.25em;line-height:1.6em;text-align:justify;padding:3em 3em;margin:0;clear:both}.corps img{max-width:80%;border:1px solid #ccccd0;background-color:#fafafc;padding:.5em;box-shadow:0 10px 15px#ccc;border-radius:3px}.corps a:hover img{background-color:#dc3a05}figure{margin:3em 0}figure img{box-shadow:0 10px 15px#ccc inset}figure figcaption{text-align:center;margin:.5em 0}img.clean{border:none;background-color:none;box-shadow:none}#address{clear:both}.definitionCell{width:5em;vertical-align:top;text-align:center;font-weight:700}.valueCell{text-align:right}.smallblock{float:left;width:50%;font-size:1em;font-weight:700}.largeblock{float:right;width:70%;font-size:1em}#blackpage,#nojsredirect{top:0;left:0;width:100%;min-height:100%;margin-left:0;margin-right:0;margin-top:0;margin-bottom:0;position:absolute;text-align:center}#blackpage{color:#002b36;background-color:#fafafc;font-family:Georgia,serif;font-style:italic;padding-top:8em;z-index:9000;cursor:wait}#blackpage .corps code,#blackpage .corps pre{font-family:monospace}#blackpage img{background:none;border:none;max-width:80%;margin:0 auto}#blackpage a{cursor:pointer}#blackpage .preh1{font-size:1.5em;font-weight:700;margin-bottom:1em}#blackpage .preh2{font-size:1.2em;font-style:italic;margin-bottom:1em}#blackpage .preintro{text-align:left;width:52em;margin:0 auto}#nojsredirect{z-index:9001}.nojsbutton{width:50%;padding:1em;border:solid 3px white;margin-left:auto;margin-right:auto;margin-top:2em;z-index:9002}.codefile{font-size:.8em;text-align:right;padding-right:1em;margin-right:.1;margin-bottom:-1em}.flush{clear:both}table.description{border-spacing:5px;border-collapse:separate;margin-right:auto;margin-left:auto}table.description tr td{padding-left:.5em;padding-right:.5em;padding-top:.5ex;padding-bottom:.5ex;vertical-align:middle;margin-right:5px}ul.long li{margin-bottom:1em}img{display:block;margin:1.2em auto;background:none;border:none}img.left{float:left;max-width:30%;margin-top:.6em;margin-right:2em}img.inside{display:inline;vertical-align:middle}pre{overflow-x:auto;overflow-y:hidden}.navigationprev,.navigationnext{padding:0;margin-left:.2em;margin-right:.2em;margin-bottom:0;margin-top:3em;width:45%}.navigation .navigationprev,.navigation .navigationnext{width:30%;margin-top:0}.navigation{height:4em;border-bottom:#ccccd0 solid 1px}.presarticleleft,.presarticleright{font-size:1em}.navigationprev{float:left;text-align:left}.navigationnext{float:right;text-align:right}.impact,.darkimpact{text-align:left;width:66%;padding-left:.25em;padding-right:.25em}table.impact{text-align:left}table.impact tr td{padding-left:.25em;padding-right:.25em}#liens{font-size:1.2em}#iemessage{font-size:1.2em;color:#ccc;margin:-10px;padding:1px 0;background:#333}#iemessage strong,#iemessage b,#iemessage i,#iemessage em{color:#ccc}#iemessage a,#iemessage a:visited{color:#eca}.tagname{display:inline;cursor:pointer;margin-left:.5em;margin-right:.5em}.list{margin-top:3em}#menuMessage{font-size:1.2em;line-height:1.5em;width:100%;text-align:center}#next_before_articles{clear:both;width:100%;font-size:1.2em;padding-top:1em;padding-bottom:1em}#previous_articles,#next_articles{color:#889;font-size:.8em;font-style:italic}#previous_articles{float:left;margin-left:1em;width:45%;text-align:left}.previous_article,.next_article{margin-top:1em}#next_articles{float:right;width:45%;margin-right:1em;text-align:right}#rss{font-size:1.2em;text-align:center;display:block;width:100%;float:right;padding:1em .1em}.corps .return a{color:#eeeef1;padding:.1em;line-height:1.5em;font-size:1.5em;height:1.5em;float:left;font-size:2em;margin-top:-0.5em;margin-left:-2em;width:1.5em}a.return{color:#eeeef1;padding:.1em;line-height:1.5em;font-size:1.5em;height:1.5em;font-size:2em;width:1.5em;display:block}a.return:hover{color:#889}.corps .return a:hover{color:#cb4b16}.footnotes{font-size:.8em}.footnotes ol{color:#839496;font-weight:700}.footnotes ol p{color:#002b36;font-weight:400;font-style:normal}.fontnotes ol{margin-left:0}.typeset img{display:inline;border:none;margin:0;padding:0}strong,b,i,em{font-weight:400;color:#889}strong a,b a,i a,em a{color:#002b36}strong a:hover,b a:hover,i a:hover,em a:hover{color:#cb4b16}.corps p strong,.corps p b,.corps p i,.corps p em{color:#556}a:hover strong,a:hover b,a:hover i,a:hover em{color:#dc5c27}a:hover .nicer{color:#ffb17c}.nicer{color:#ccccd0;font-family:"Lucida Grande",Tahoma}.block{border:solid 1px #ccccd0;border-radius:2px;box-shadow:0 0 4px #f2f2f4 inset;background-color:#f8f8fa;width:26.5%;padding:1em;border-radius:2px;text-align:left;line-height:1em;margin-left:1%;margin-right:1%;font-size:.8em;height:9em}.block a{color:#002b36}.block a:hover{color:#cb4b16}.block h3{margin:0;font-size:1.3em}.block p{line-height:1.2em}.left{float:left}.right{float:right}.corps p a,.corps ul a{color:#556}.corps p a:hover,.corps ul a:hover{color:#cb4b16}ul.bloglist,.archive ul{list-style-type:none;margin:0}ul.bloglist li,.archive ul li{margin-bottom:1em}.button{cursor:pointer;text-align:center}#tagcloud{font-size:.8em;background:#f2f2f4;box-shadow:0 0 6px #ccccd0;border-radius:3px;line-height:2.5em;padding:2em;text-align:justify}.pala{font-family:Palatino}.article .corps a:after{content:"†";vertical-align:super;line-height:0;font-size:.66em;color:#889}.article .corps .footnotes a:after,.article .corps sup a:after{content:""}.article .corps sup a{font-weight:700;background:#839496;padding:0 .3em;margin-left:2px;border-radius:3px;-moz-border-radius:3px;-webkit-border-radius:3px;color:#fafafc}.article .corps sup a:hover{background:#cb4b16}ul#markdown-toc,.intro .toc ul{text-transform:uppercase;font-size:.8em;list-style:none;padding-left:1.5em}ul#markdown-toc a:after,.intro .toc ul a:after{content:""}ul#markdown-toc ul ul,.intro .toc ul ul ul{font-variant:normal;line-height:1em;font-size:1em;margin-bottom:1em}table{border:1px solid #ccccd0}table tr td{padding:2px .5em}table tr:nth-child(odd){background-color:#f2f2f4}table tr:nth-child(even){background-color:#fafafc}p pre code,ul li pre code,ol li pre code{background:none;border:none;padding:0}p code,ul li code,ol li code{background:#f0f0f2;border:solid 1px #ccccd0;padding:2px}ul.sameline{list-style:none}ul.sameline li{float:left;margin-left:.5em}.resumearticle{background-color:#f2f2f4;border-radius:7px;box-shadow:0 0 5px #c7c7b8 inset,0 0 5px white;margin:1em 0;padding:1em}a.cut{font-size:12px;text-align:right;display:block;width:100%;opacity:.5;border:1px solid #fafafc;border-radius:3px}a.cut:hover{opacity:1;background-color:#f2f2f4;border-color:#ccccd0;box-shadow:0 0 3px #ccccd0 inset}a.cut strong{font-weight:700}.codehighlight pre{border-left:4px solid #ccccd0}#social{text-align:left;opacity:.3}#social:hover{opacity:1}.popularblock{width:30.333%;margin:0 1.5%;float:left}.popularblock figure{margin:0}.popularblock figure img{max-width:80%;max-height:6em} \ No newline at end of file diff --git a/output/Scratch/en/blog/Haskell-OpenGL-Mandelbrot/index.html b/output/Scratch/en/blog/Haskell-OpenGL-Mandelbrot/index.html index 037ec6492..61941bfda 100644 --- a/output/Scratch/en/blog/Haskell-OpenGL-Mandelbrot/index.html +++ b/output/Scratch/en/blog/Haskell-OpenGL-Mandelbrot/index.html @@ -79,7 +79,7 @@ Imperative language could also benefit from this functional organization.

-

Here is a real working code, I’ve hidden most display functions. +

Here is a real working code, I’ve hidden most display functions. The YGL, is a kind of framework to display 3D functions. But it can easily be extended to many kind of representation.

@@ -1530,7 +1530,7 @@ idleAction tnew world = world {

Now the function which will generate points in 3D. The first parameter (res) is the resolution of the vertex generation. More precisely, res is distance between two points on one direction. -We need it to “close” our shape.

+We need it to “close” our shape.

The type Function3D is Point -> Point -> Maybe Point. Because we consider partial functions @@ -1599,7 +1599,7 @@ ymandel x y z = fromIntegral (mandel x y z 64) / 64 -

I won’t explain how the magic occurs here. +

I won’t explain how the magic occurs here. If you are interested, just read the file YGL.hs. It is commented a lot.

@@ -1619,8 +1619,8 @@ It is commented a lot.

Our code architecture feel very clean. All the meaningful code is in our main file and all display details are externalized. -If you read the code of YGL.hs, you’ll see I didn’t made everything perfect. -For example, I didn’t finished the code of the lights. +If you read the code of YGL.hs, you’ll see I didn’t made everything perfect. +For example, I didn’t finished the code of the lights. But I believe it is a good first step and it will be easy to go further. Unfortunately the program of the preceding session is extremely slow. We compute the Mandelbulb for each frame now.

@@ -1904,20 +1904,20 @@ ymandel x y z = fromIntegral (mandel x y z 64) / 64

As we can use imperative style in a functional language, know you can use functional style in imperative languages. This article exposed a way to organize some code in a functional way. -I’d like to stress the usage of Haskell made it very simple to achieve this.

+I’d like to stress the usage of Haskell made it very simple to achieve this.

Once you are used to pure functional style, it is hard not to see all advantages it offers.

The code in the two last sections is completely pure and functional. -Furthermore I don’t use GLfloat, Color3 or any other OpenGL type. +Furthermore I don’t use GLfloat, Color3 or any other OpenGL type. If I want to use another library in the future, I would be able to keep all the pure code and simply update the YGL module.

-

The YGL module can be seen as a “wrapper” around 3D display and user interaction. +

The YGL module can be seen as a “wrapper” around 3D display and user interaction. It is a clean separator between the imperative paradigm and functional paradigm.

-

If you want to go further, it shouldn’t be hard to add parallelism. +

If you want to go further, it shouldn’t be hard to add parallelism. This should be easy mainly because most of the visible code is pure. Such an optimization would have been harder by using directly the OpenGL library.

@@ -1927,7 +1927,7 @@ O(n².log(n)) to O(n³).


  1. -

    Unfortunately, I couldn’t make this program to work on my Mac. More precisely, I couldn’t make the DevIL library work on Mac to output the image. Yes I have done a brew install libdevil. But even a minimal program who simply write some jpg didn’t worked. I tried both with Haskell and C.

    +

    Unfortunately, I couldn’t make this program to work on my Mac. More precisely, I couldn’t make the DevIL library work on Mac to output the image. Yes I have done a brew install libdevil. But even a minimal program who simply write some jpg didn’t worked. I tried both with Haskell and C.

  2. Generally in Haskell you need to declare a lot of import lines. diff --git a/output/Scratch/en/blog/feed/feed.xml b/output/Scratch/en/blog/feed/feed.xml index c43f64605..877e8e05b 100644 --- a/output/Scratch/en/blog/feed/feed.xml +++ b/output/Scratch/en/blog/feed/feed.xml @@ -19,7 +19,7 @@ yannesposito.com - <p><img alt="The B in Benoît B. Mandelbrot stand for Benoît B. Mandelbrot" src="/Scratch/img/blog/Haskell-OpenGL-Mandelbrot/BenoitBMandelbrot.jpg" /></p> + <p><img alt="The B in Benoît B. Mandelbrot stand for Benoît B. Mandelbrot" src="/Scratch/img/blog/Haskell-OpenGL-Mandelbrot/BenoitBMandelbrot.jpg" /></p> <div class="intro"> @@ -77,7 +77,7 @@ Imperative language could also benefit from this functional organization.</p& <div class="intro"> -<p><span class="sc"><abbr title="Too long; didn't read">tl;dr</abbr>: </span> Web typography sucks and we&rsquo;ll have to wait forever before it will be fixed.</p> +<p><span class="sc"><abbr title="Too long; didn't read">tl;dr</abbr>: </span> Web typography sucks and we’ll have to wait forever before it will be fixed.</p> </div> @@ -86,13 +86,13 @@ Imperative language could also benefit from this functional organization.</p& <p>I stumbled upon <a href="http://opentypography.org/">open typography</a>. Their main message is:</p> <blockquote> - <p>«There is no reason to wait for browser development to catch up. -We can all create better web typography ourselves, today.»</p> + <p>«There is no reason to wait for browser development to catch up. +We can all create better web typography ourselves, today.»</p> </blockquote> <p>As somebody who tried to make my website using some nice typography features and in particular <em>ligatures</em>, I believe this is wrong.</p> -<p>I already made an automa...</p></p> +<p>I already made an automatic syst...</p></p> tag:yannesposito.com,2012-01-15:/Scratch/en/blog/Yesod-tutorial-for-newbies/ @@ -114,7 +114,7 @@ We can all create better web typography ourselves, today.»</p> <p><span class="sc"><abbr title="Too long; didn't read">tl;dr</abbr>: </span> A simple yesod tutorial. Yesod is a Haskell web framework. -You shouldn&rsquo;t need to know Haskell. </p> +You shouldn’t need to know Haskell. </p> <blockquote> <center><span class="sc"><b>Table of content</b></span></center> @@ -127,7 +127,7 @@ You shouldn&rsquo;t need to know Haskell. </p> <li><a href="#some-last-minute-words">Some last minute words</a></li> </ul> </li> - ...</ul></blockquote></div></p> + <li></li></ul></blockquote></div></p> tag:yannesposito.com,2011-10-20:/Scratch/en/blog/SVG-and-m4-fractals/ @@ -177,7 +177,7 @@ Then some believed it would be a good idea to invent many <span class="sc"> <p><span class="sc"><abbr title="Too long; didn't read">tl;dr</abbr>: </span></p> <p><a href="http://www.yesodweb.com">Yesod</a> is a web framework which recently reached the maturity for which you should consider to use it. -Before telling you why you should learn Haskell and use yesod, I will talk about ideas yesod introduced and I didn&rsquo;t saw in other frameworks before.</p> +Before telling you why you should learn Haskell and use yesod, I will talk about ideas yesod introduced and I didn’t saw in other frameworks before.</p> </div> @@ -185,11 +185,11 @@ Before telling you why you should learn Haskell and use yesod, I will talk about <h2 id="type-safety">Type safety</h2> -<p>Let&rsquo;s start by an obligatory link from <a href="http://xkcd.com">xkcd</a>:</p> +<p>Let’s start by an obligatory link from <a href="http://xkcd.com">xkcd</a>:</p> <p><img src="http://imgs.xkcd.com/comics/exploits_of_a_mom.png" alt="SQL injection by a mom" /></p> -<p>When you create a web application, a lot of time is spent...</p></p></p> +<p>When you create a web application, a lot of time is spent dealing wit...</p></p></p> tag:yannesposito.com,2011-09-28:/Scratch/en/blog/Higher-order-function-in-zsh/ @@ -265,11 +265,11 @@ $ mapl 'echo result $1' $(m...</code></pre></div></p> +It is not even good to learn pro...</p></p></p> tag:yannesposito.com,2011-08-25:/Scratch/en/blog/Learn-Vim-Progressively/ @@ -281,7 +281,7 @@ It is not even good to learn pr...</p></p></p> yannesposito.com - <p><img alt="Über leet use vim!" src="/Scratch/img/blog/Learn-Vim-Progressively/uber_leet_use_vim.jpg" /></p> + <p><img alt="Über leet use vim!" src="/Scratch/img/blog/Learn-Vim-Progressively/uber_leet_use_vim.jpg" /></p> <div class="intro"> @@ -300,10 +300,10 @@ It is not even good to learn pr...</p></p></p> </blockquote> <p>Learn <a href="http://www.vim.org">vim</a> and it will be your last text editor. -There isn&rsquo;t any better text editor that I know of. +There isn’t any better text editor that I know of. It is hard to learn, but incredible to use.</p> -<p>I suggest you teach yo...</p></p> +<p>I suggest you teach yourself ...</p></p> tag:yannesposito.com,2011-08-17:/Scratch/en/blog/A-more-convenient-diff/ @@ -319,7 +319,7 @@ It is hard to learn, but incredible to use.</p> <p>This is why, when you use <code>git</code> it will use a better formatting and colorize it.</p> -<p>Here is the script I use when I want to use human readable <code>diff</code> à la git. </p> +<p>Here is the script I use when I want to use human readable <code>diff</code> à la git. </p> <div class="codefile"><a href="/Scratch/en/blog/A-more-convenient-diff/code/ydiff">&#x27A5; ydiff</a></div> @@ -335,7 +335,7 @@ function colorize_diff { -) print -n $fg[red];; @) # Display in cyan the @@ positions @@ if [[ ${line[1]} = '@' ]]; then - line=$(print $line | perl -pe 's#(\@\@[^\@]*\@\@)(.*)$#'$fg[cyan]'$1'$reset...</code></pre> + line=$(print $line | perl -pe 's#(\@\@[^\@]*\@\@)(.*)$#'$fg[cyan]'$1'$reset_...</code></pre> tag:yannesposito.com,2011-07-10:/Scratch/en/blog/Haskell-Mandelbrot/ @@ -357,8 +357,8 @@ instance Num C where C(x,y)*C(z,t)=C(z*x-y*t,y*z+x*t);C(x,y)+C(z,t)=C(x+z,y+t);a r(C(x,y))=x;i(C(x,y))=y f c z 0=0;f c z n=if(r(abs(z))&gt;2)then n else f c ((z*z)+c) (n-1) h j k = map (\z-&gt;(f (C z) (C(0,0)) 32,(fst z&gt;l - q/2))) [(x,y)|y&lt;-[p,(p+((o-p)/a))..o],x&lt;-[m,(m + q)..l]] where o=i k;p=i j;m=r j;l=r k;q=(l-m)/b -u j k = concat $ map v $ h j k where v (i,p)=(" .,`'°\":;-+oO0123456789=!%*§&amp;$@#"!!i):rst p;rst True="\n";rst False="" -main = putStrLn $ im ...</code></pre> +u j k = concat $ map v $ h j k where v (i,p)=(" .,`'°\":;-+oO0123456789=!%*§&amp;$@#"!!i):rst p;rst True="\n";rst False="" +main = putStrLn $ im 0 ...</code></pre> tag:yannesposito.com,2011-05-18:/Scratch/en/blog/Password-Management/ @@ -386,9 +386,9 @@ I use a different password on all website.</p> <p>Disclamer, this is an unashamed attempt to make you download my iPhone app&nbsp;;-). -You&rsquo;re always here? -Even if you won&rsquo;t download my app, you should read more. -My method doesn&rsquo;t necessitate my app. +You’re always here? +Even if you won’t download my app, you should read more. +My method doesn’t necessitate my app. It is both safe and easy to use everyday.</p> <p>If you just want to <em>use</em> the tools without searching to understand why it is safe, just jump at the </p></p></div></p> @@ -426,7 +426,7 @@ It is both safe and easy to use everyday.</p> <p><em>Update</em>: I might change my mind now. Why? I just discovered a <a href="https://github.com/rstacruz/js2coffee">js2coffee converter</a>. Furthermore Denis Knauf told me about a <code>CoffeeScript.eval</code> function. -And as Denis said: &ldquo;it is time to use Coffeescript as a javascript with Ruby-like syntax not a Ruby-like programming language&rdquo;.</p> +And as Denis said: “it is time to use Coffeescript as a javascript with Ruby-like syntax not a Ruby-like programming language”.</p> </div> @@ -505,7 +505,7 @@ When we are used to <span style="text-transform: uppercase">L<sup style <p><span class="sc"><abbr title="Too long; didn't read">tl;dr</abbr>: </span> Played to process a <code>wav</code> file. <code>C</code> was easier and cleaner than Ruby.</p> -<p>edit: I wanted this program to work only on one specific machine (a x86 on a 32 bit Ubuntu). Therefore I didn&rsquo;t had any portability consideration. This is only a <em>hack</em>.</p> +<p>edit: I wanted this program to work only on one specific machine (a x86 on a 32 bit Ubuntu). Therefore I didn’t had any portability consideration. This is only a <em>hack</em>.</p> </div> @@ -514,11 +514,11 @@ When we are used to <span style="text-transform: uppercase">L<sup style <p>I had to compute the sum of the absolute values of data of a <code>.wav</code> file. For efficiency (and fun) reasons, I had chosen <code>C</code> language.</p> -<p>I didn&rsquo;t programmed in <code>C</code> for a long time. +<p>I didn’t programmed in <code>C</code> for a long time. From my memory it was a pain to read and write to files. But in the end I was really impressed by the code I get. It was really clean. -This is even more impressive know...</p> +This is even more impressive knowing I used m...</p> tag:yannesposito.com,2010-10-10:/Scratch/en/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/ @@ -551,12 +551,12 @@ This is even more impressive know...</p> </div> -<p>I&rsquo;ve (re)discovered how to become S/MIME compliant. +<p>I’ve (re)discovered how to become S/MIME compliant. I am now suprised how easy it was. Some years ago it was far more difficult. -Now I&rsquo;m able to sign and encrypt my emails.</p> +Now I’m able to sign and encrypt my emails.</p> -</p> +<h2 id="why-is-it-important">Why is it...</h2></p> tag:yannesposito.com,2010-10-06:/Scratch/en/blog/2010-10-06-New-Blog-Design-Constraints/ @@ -578,7 +578,7 @@ But the major problem came from, <code>font-shadow</code> and gradie Then my new design obey to the following rules:</p> <ul> - <li>no CSS element begining by &lsquo;-moz&rsquo; or &lsquo;-webkit&rsquo;, etc&hellip;,</li> + <li>no CSS element begining by ‘-moz’ or ‘-webkit’, etc…,</li> <li>no text shadow,</li> <li>clean (I mean delete) most javascript.</li> </ul> @@ -599,7 +599,7 @@ Then my new design obey to the following rules:</p> <p>You can remark at the bottom of each page I provide a last modification date. This label was first calculated using the <code>mtime</code> of the file on the file system. But many times I modify this date just to force some recompilation. -Therefore the date wasn&rsquo;t a date of <em>real</em> modification.</p> +Therefore the date wasn’t a date of <em>real</em> modification.</p> <p>I use <a href="http://git-scm.org">git</a> to version my website. And fortunately I can know the last date of <em>real</em> change of a file. @@ -609,7 +609,7 @@ This is how I do this with <a href="http://nanoc.stoneship.org">nanoc</ <pre><code class="ruby">def gitmtime filepath=@item.path.sub('/Scratch/','content/html/').sub(/\/$/,'') - ...</code></pre> + ext...</code></pre> tag:yannesposito.com,2010-09-02:/Scratch/en/blog/2010-09-02-base64-and-sha1-on-iPhone/ @@ -651,8 +651,8 @@ NSString *hex_hash = [self hex_sha1:@"some NSString to be sha1'ed"]; <p>I had to send a mail using only command line. -I was surprised it isn&rsquo;t straightforward at all. -I didn&rsquo;t had <code>pine</code> nor <code>mutt</code> or anything like that. +I was surprised it isn’t straightforward at all. +I didn’t had <code>pine</code> nor <code>mutt</code> or anything like that. Just <code>mail</code> and <code>mailx</code>.</p> <p>What Internet say (via google) is</p> @@ -662,7 +662,7 @@ Just <code>mail</code> and <code>mailx</code>.</p> <p>I tried it. And it works almost each times. -But for my file, it didn&rsquo;t worked. +But for my file, it didn’t worked. I compressed it to <code>.gz</code>, <code>.bz2</code> and <code>.zip</code>. Using <code>.bz2</code> format it worked nicely, but not with other formats. Instead of having an attached file I saw this in my email.</p> @@ -670,7 +670,7 @@ Instead of having an attached file I saw this in my email.</p> <pre> begin 664 fic.jpg M(R$O=7-R+V)I;B]E;G8@&gt;G-H"GAL&lt;STD,0H*9F]R(&QI;F4@:6X@)"@\("1X -M;',@*0H@("`@9&amp;-R/20H96-H;R`D;...</pre> +M;',@*0H@("`@9&amp;-R/20H96-H;R`D;&amp;EN92!\(&amp;%...</pre> tag:yannesposito.com,2010-08-23:/Scratch/en/blog/2010-08-23-Now-heberged-on-heroku/ @@ -742,7 +742,7 @@ I was inspired by Readability and iBooks<small>&copy;</small> (t <p>Some <a href="http://reddit.com">Reddit</a> users reported my website was really long to load and to scroll. -They thinks it was because of the &lsquo;1px shadow&rsquo; I apply on all the text. +They thinks it was because of the ‘1px shadow’ I apply on all the text. I was a bit surprised, because I make some test into a really <em>slow</em> virtual machine. And all have always worked fine. In fact, what slow down so much are by order of importance:</p> <ol> @@ -754,7 +754,7 @@ I was a bit surprised, because I make some test into a really <em>slow< <p>On Safari on Mac there is absolutely no rendering time problem. But when I use Chrome under Linux it is almost unusable.</p> -<p>Safari and Chrome use webkit, when you access my website with javascript enabled, an additionnal browser specific CSS is loaded....</p> +<p>Safari and Chrome use webkit, when you access my website with javascript enabled, an additionnal browser specific CSS is loaded. Until now I...</p> tag:yannesposito.com,2010-07-05:/Scratch/en/blog/2010-07-05-Cappuccino-and-Web-applications/ @@ -776,7 +776,7 @@ I was a bit surprised, because I make some test into a really <em>slow< <li>Tried to make <a href="http://yannesposito.com/Softwares/YPassword.html">YPassword</a> in jQuery and with Cappuccino.</li> <li>Cappuccino nice in desktop browser but 1.4MB, not compatible with iPhone.</li> <li>jQuery not as nice as the Cappuccino version but 106KB. iPhone compatible.</li> - <li>I&rsquo;ll give a try to Dashcode 3.</li> + <li>I’ll give a try to Dashcode 3.</li> </ul> @@ -789,7 +789,7 @@ I was a bit surprised, because I make some test into a really <em>slow< <p>Before start, I must say I know Cappuccino and jQuery are no more comparable than Cocoa and the C++ standard library. One is oriented for user interface while the other is and helper for low level programming. -Nonetheless I used these two to make the same web application. This is why I compare the exp...</p></div></hr> +Nonetheless I used these two to make the same web application. This is why I compare the experienc...</p></div></hr> tag:yannesposito.com,2010-06-19:/Scratch/en/blog/2010-06-19-jQuery-popup-the-easy-way/ @@ -902,7 +902,7 @@ You can get it on <a href="http://github.com/yogsototh/nanoc3_blog">github <li><a href="http://intensedebate.org">intenseDebate</a> comments integration (asynchronous)&nbsp;;</li> <li>Portable with and without javascript, XHTML Strict 1.0 / CSS3,</li> <li>Write in markdown format (no HTML editing needed),</li> - <li>Typographic ameliorations (no &lsquo;:&rsquo; ...</li></ul> + <li>Typographic ameliorations (no ‘:’ starting a l...</li></ul> tag:yannesposito.com,2010-06-14:/Scratch/en/blog/2010-06-14-multi-language-choices/ @@ -920,7 +920,7 @@ Most people advice me to have one file per language. Generally it ends with:< <pre class="twilight"> Bonjour, -voici un exemple de texte en français. +voici un exemple de texte en français. [image](url) </pre> @@ -933,12 +933,12 @@ here is an example of english text. <p>This way of handling translations force you to write completely an article in one language, copy it, and translate it.</p> -<p>However, most of time, there are common parts like images, source code, etc&hellip; +<p>However, most of time, there are common parts like images, source code, etc… When I want to correct some mistake on these parts, I have to make twice the work. With sometimes adding another mistake in only one language.</p> <p>This is why I preferred to handle it differently. I use <em>tags</em> on a single file. -Finally my files...</p> +Finally my files looks l...</p> tag:yannesposito.com,2010-05-24:/Scratch/en/blog/2010-05-24-Trees--Pragmatism-and-Formalism/ @@ -963,7 +963,7 @@ Finally my files...</p> <li>Used a pen and a sheet of paper</li> <li>Made some math.</li> <li>Crushed the problem in 10 minutes</li> - <li>Conclusion: The pragmatism shouldn&rsquo;t mean &ldquo;never use theory&rdquo;.</li> + <li>Conclusion: The pragmatism shouldn’t mean “never use theory”.</li> </ul> @@ -974,7 +974,7 @@ Finally my files...</p> <p>For my job, I needed to resolve a problem. It first seems not too hard. Then I started working directly on my program. -I entered in the...</p> +I entered in the <em>infernal</em>...</p> tag:yannesposito.com,2010-05-19:/Scratch/en/blog/2010-05-19-How-to-cut-HTML-and-repair-it/ @@ -1025,14 +1025,14 @@ I entered in the...</p> <p>The more you wait to do something, the more difficult it is to start doing it.</p> </blockquote> -<p>I had to write another post for this blog. I had added many article idea in my todolist. But, I made many other things, and I&rsquo;ve always said (until now), I&rsquo;ll do this later. What changed my mind is the haunt of this simple remark about how to be productive in programming. +<p>I had to write another post for this blog. I had added many article idea in my todolist. But, I made many other things, and I’ve always said (until now), I’ll do this later. What changed my mind is the haunt of this simple remark about how to be productive in programming. &gt; Stop write <code>TODO</code> in your code and make it now!<br /> -&gt; You&rsquo;ll be surprised by the results.</p> +&gt; You’ll be surprised by the results.</p> <p>In short: &gt; <strong>Just do it!</strong> ou <strong>Juste fait le</strong> comme auraient dit les nuls.</p> -<p>Finally I&rsquo;ll certainly write blog post more often for a ...</p></p> +<p>Finally I’ll certainly write blog post more often for a short period of time.</p></p> tag:yannesposito.com,2010-03-23:/Scratch/en/blog/2010-03-23-Encapsulate-git/ @@ -1098,7 +1098,7 @@ clientB: project adapted for client B</p> <p><code>git clone</code> can only fetch the master branch.</p> -<p>If you don&rsquo;t have much branches, you can simply use clone your project and then use the following command:</p> +<p>If you don’t have much branches, you can simply use clone your project and then use the following command:</p> <div> @@ -1110,7 +1110,7 @@ clientB: project adapted for client B</p> <p>for example:</p> <div> -<pre><code class="zsh">$ git clone git@github:yogsototh/examp...</code></pre></div> +<pre><code class="zsh">$ git clone git@github:yogsototh/example.git...</code></pre></div> tag:yannesposito.com,2010-02-23:/Scratch/en/blog/2010-02-23-When-regexp-is-not-the-best-solution/ @@ -1156,7 +1156,7 @@ ext=File.extname(str) yannesposito.com - <p>Strangely enough, I didn&rsquo;t find any built-in tool to split a file by keyword. I made one myself in <code>awk</code>. I put it here mostly for myself. But it could also helps someone else. + <p>Strangely enough, I didn’t find any built-in tool to split a file by keyword. I made one myself in <code>awk</code>. I put it here mostly for myself. But it could also helps someone else. The following code split a file for each line containing the word <code>UTC</code>.</p> <div> @@ -1187,7 +1187,7 @@ BEGIN{i=0;} /UTC/ { date=$1$2$3; if ( date != olddate ) { - ...</code></pre></div> + oldda...</code></pre></div> tag:yannesposito.com,2010-02-16:/Scratch/en/blog/2010-02-16-All-but-something-regexp--2-/ @@ -1199,7 +1199,7 @@ BEGIN{i=0;} yannesposito.com - <p>In my <a href="previouspost">previous post</a> I had given some trick to match all except something. On the same idea, the trick to match the smallest possible string. Say you want to match the string between &lsquo;a&rsquo; and &lsquo;b&rsquo;, for example, you want to match:</p> + <p>In my <a href="previouspost">previous post</a> I had given some trick to match all except something. On the same idea, the trick to match the smallest possible string. Say you want to match the string between ‘a’ and ‘b’, for example, you want to match:</p> <pre class="twilight"> a.....<span class="Constant"><strong>a......b</strong></span>..b..a....<span class="Constant"><strong>a....b</strong></span>... @@ -1216,6 +1216,6 @@ a.....<span class="Constant"><strong>a......b</strong></spa <pre class="twilight"> /a.*?b/ -<span class="Constant"><strong>...</strong></span></pre> +<span class="Constant"><strong>a.....a......b</strong></span></pre> diff --git a/output/Scratch/fr/blog/Haskell-OpenGL-Mandelbrot/index.html b/output/Scratch/fr/blog/Haskell-OpenGL-Mandelbrot/index.html index 0ea0c7c81..5c36af99f 100644 --- a/output/Scratch/fr/blog/Haskell-OpenGL-Mandelbrot/index.html +++ b/output/Scratch/fr/blog/Haskell-OpenGL-Mandelbrot/index.html @@ -66,7 +66,7 @@

    -

    tlàl : Un exemple progressif d’utilisation d’Haskell. +

    tlàl : Un exemple progressif d’utilisation d’Haskell. Vous pourrez voir un ensemble de Mandelbrot étendu à la troisième dimension. De plus le code sera très propre. Les détails de rendu sont séparés dans un module externe. @@ -79,7 +79,7 @@ Vous pouvez vous inspirer de ce code utilisant le paradigme fonctional dans tous

    • Introduction
    • First version
    • @@ -164,7 +164,7 @@ We start cleaning the code at the 5th section.

      The first being mostly some boilerplate2. And the second part more focused on OpenGL and content.

      -

      Let’s play the song of our people

      +

      Let’s play the song of our people

      @@ -400,7 +400,7 @@ It is a bit long before the first image appears, but if you resize the window, i This property is a direct consequence of purity. If you look closely, you see that allPoints is a pure list. Therefore, calling allPoints will always render the same result and Haskell is clever enough to use this property. -While Haskell doesn’t garbage collect allPoints the result is reused for free. +While Haskell doesn’t garbage collect allPoints the result is reused for free. We did not specified this value should be saved for later use. It is saved for us.

      @@ -638,7 +638,7 @@ instead of using a 3D projection of quaternions. I am pretty sure this construction is not useful for numbers. But it will be enough for us to create something that look nice.

      -

      This section is quite long, but don’t be afraid, +

      This section is quite long, but don’t be afraid, most of the code is some OpenGL boilerplate. If you just want to skim this section, here is a high level representation:

      @@ -654,7 +654,7 @@ here is a high level representation:

      Drawing:

        -
      • set doubleBuffer, handle depth, window size…
      • +
      • set doubleBuffer, handle depth, window size…
      • Use state to apply some transformations
      @@ -910,7 +910,7 @@ Mainly there are two parts: apply some transformations, draw the object.

      The 3D Mandelbrot

      -

      We have finished with the OpenGL section, let’s talk about how we +

      We have finished with the OpenGL section, let’s talk about how we generate the 3D points and colors. First, we will set the number of details to 200 pixels in the three dimensions.

      @@ -1024,7 +1024,7 @@ depthPoints = do

      If you prefer the first version, then just imagine how hard it will be to change the enumeration of the point from (x,y) to (x,z) for example.

      -

      Also, we didn’t searched for negative values. +

      Also, we didn’t searched for negative values. This modified Mandelbrot is no more symmetric relatively to the plan y=0. But it is symmetric relatively to the plan z=0. Then I mirror these values.

      @@ -1249,7 +1249,7 @@ ymandel x y z = mandel (2*x/width) (2*y/height) (2*z/deep) 64
      -

      This code is cleaner but many things doesn’t feel right. +

      This code is cleaner but many things doesn’t feel right. First, all the user interaction code is outside our main file. I feel it is okay to hide the detail for the rendering. But I would have preferred to control the user actions.

      @@ -1283,12 +1283,12 @@ We will have two choices:

    • Our main problem come from user interaction. -If you ask “the Internet”, +If you ask “the Internet”, about how to deal with user interaction with a functional paradigm, the main answer is to use functional reactive programming (FRP). -I won’t use FRP in this article. -Instead, I’ll use a simpler while less effective way to deal with user interaction. -But The method I’ll use will be as pure and functional as possible.

      +I won’t use FRP in this article. +Instead, I’ll use a simpler while less effective way to deal with user interaction. +But The method I’ll use will be as pure and functional as possible.

@@ -1310,7 +1310,7 @@ First, what the main loop should look like if we could make our own:

  • a function taking two parameters: time and world state and render a new world without user interaction.
  • -

    Here is a real working code, I’ve hidden most display functions. +

    Here is a real working code, I’ve hidden most display functions. The YGL, is a kind of framework to display 3D functions. But it can easily be extended to many kind of representation.

    @@ -1530,7 +1530,7 @@ idleAction tnew world = world {

    Now the function which will generate points in 3D. The first parameter (res) is the resolution of the vertex generation. More precisely, res is distance between two points on one direction. -We need it to “close” our shape.

    +We need it to “close” our shape.

    The type Function3D is Point -> Point -> Maybe Point. Because we consider partial functions @@ -1599,7 +1599,7 @@ ymandel x y z = fromIntegral (mandel x y z 64) / 64

    -

    I won’t explain how the magic occurs here. +

    I won’t explain how the magic occurs here. If you are interested, just read the file YGL.hs. It is commented a lot.

    @@ -1619,8 +1619,8 @@ It is commented a lot.

    Our code architecture feel very clean. All the meaningful code is in our main file and all display details are externalized. -If you read the code of YGL.hs, you’ll see I didn’t made everything perfect. -For example, I didn’t finished the code of the lights. +If you read the code of YGL.hs, you’ll see I didn’t made everything perfect. +For example, I didn’t finished the code of the lights. But I believe it is a good first step and it will be easy to go further. Unfortunately the program of the preceding session is extremely slow. We compute the Mandelbulb for each frame now.

    @@ -1904,20 +1904,20 @@ ymandel x y z = fromIntegral (mandel x y z 64) / 64

    As we can use imperative style in a functional language, know you can use functional style in imperative languages. This article exposed a way to organize some code in a functional way. -I’d like to stress the usage of Haskell made it very simple to achieve this.

    +I’d like to stress the usage of Haskell made it very simple to achieve this.

    Once you are used to pure functional style, it is hard not to see all advantages it offers.

    The code in the two last sections is completely pure and functional. -Furthermore I don’t use GLfloat, Color3 or any other OpenGL type. +Furthermore I don’t use GLfloat, Color3 or any other OpenGL type. If I want to use another library in the future, I would be able to keep all the pure code and simply update the YGL module.

    -

    The YGL module can be seen as a “wrapper” around 3D display and user interaction. +

    The YGL module can be seen as a “wrapper” around 3D display and user interaction. It is a clean separator between the imperative paradigm and functional paradigm.

    -

    If you want to go further, it shouldn’t be hard to add parallelism. +

    If you want to go further, it shouldn’t be hard to add parallelism. This should be easy mainly because most of the visible code is pure. Such an optimization would have been harder by using directly the OpenGL library.

    @@ -1927,7 +1927,7 @@ O(n².log(n)) to O(n³).


    1. -

      Unfortunately, I couldn’t make this program to work on my Mac. More precisely, I couldn’t make the DevIL library work on Mac to output the image. Yes I have done a brew install libdevil. But even a minimal program who simply write some jpg didn’t worked. I tried both with Haskell and C.

      +

      Unfortunately, I couldn’t make this program to work on my Mac. More precisely, I couldn’t make the DevIL library work on Mac to output the image. Yes I have done a brew install libdevil. But even a minimal program who simply write some jpg didn’t worked. I tried both with Haskell and C.

    2. Generally in Haskell you need to declare a lot of import lines. diff --git a/output/Scratch/fr/blog/feed/feed.xml b/output/Scratch/fr/blog/feed/feed.xml index 4cf385020..045821c56 100644 --- a/output/Scratch/fr/blog/feed/feed.xml +++ b/output/Scratch/fr/blog/feed/feed.xml @@ -19,21 +19,21 @@ yannesposito.com - <p><img alt="The B in Benoît B. Mandelbrot stand for Benoît B. Mandelbrot" src="/Scratch/img/blog/Haskell-OpenGL-Mandelbrot/BenoitBMandelbrot.jpg" /></p> + <p><img alt="The B in Benoît B. Mandelbrot stand for Benoît B. Mandelbrot" src="/Scratch/img/blog/Haskell-OpenGL-Mandelbrot/BenoitBMandelbrot.jpg" /></p> <div class="intro"> -<p><span class="sc"><abbr title="Trop long à lire">tlàl</abbr>&nbsp;: </span> Un exemple progressif d&rsquo;utilisation d&rsquo;Haskell. -Vous pourrez voir un ensemble de Mandelbrot étendu à la troisième dimension. -De plus le code sera très propre. -Les détails de rendu sont séparés dans un module externe. -Le code descriptif intéressant est concentré dans un environnement pur et fonctionnel. +<p><span class="sc"><abbr title="Trop long à lire">tlàl</abbr>&nbsp;: </span> Un exemple progressif d’utilisation d’Haskell. +Vous pourrez voir un ensemble de Mandelbrot étendu à la troisième dimension. +De plus le code sera très propre. +Les détails de rendu sont séparés dans un module externe. +Le code descriptif intéressant est concentré dans un environnement pur et fonctionnel. Vous pouvez vous inspirer de ce code utilisant le paradigme fonctional dans tous les languages.</p> <blockquote> - <center><hr style="width:30%;float:left;border-color:#CCCCD0;margin-top:1em" /><span class="sc"></span></hr></center></blockquote></div></p> + <center><hr style="width:30%;float:left;border-color:#CCCCD0;margin-top:1em" /><span class="sc"><b>Table of Content</b></span></hr></center></blockquote></div></p> tag:yannesposito.com,2012-02-08:/Scratch/fr/blog/Haskell-the-Hard-Way/ @@ -51,12 +51,12 @@ Vous pouvez vous inspirer de ce code utilisant le paradigme fonctional dans tous <div class="intro"> -<p><span class="sc"><abbr title="Trop long à lire">tlàl</abbr>&nbsp;: </span> Un tutoriel très court mais très dense pour apprendre Haskell.</p> +<p><span class="sc"><abbr title="Trop long à lire">tlàl</abbr>&nbsp;: </span> Un tutoriel très court mais très dense pour apprendre Haskell.</p> -<p>Merci à <a href="https://plus.google.com/u/0/113751420744109290534">Oleg Taykalo</a> vous pouvez trouver une traduction Russe ici: <a href="http://habrahabr.ru/post/152889/">Partie 1</a> <em class="pala">&amp;</em> <a href="http://habrahabr.ru/post/153383/">Partie 2</a>&nbsp;; </p> +<p>Merci à <a href="https://plus.google.com/u/0/113751420744109290534">Oleg Taykalo</a> vous pouvez trouver une traduction Russe ici: <a href="http://habrahabr.ru/post/152889/">Partie 1</a> <em class="pala">&amp;</em> <a href="http://habrahabr.ru/post/153383/">Partie 2</a>&nbsp;; </p> <blockquote> - <center><hr style="width:30%;float:left;border-color:#CCCCD0;margin-top:1em" /><span class="sc"><b>Table of Content</b></span></hr></center></blockquote></div></p> + <center><hr style="width:30%;float:left;border-color:#CCCCD0;margin-top:1em" /><span class="sc"><b>Table of Content</b></span><hr style="width:30%;float:right;border-color:#CCCCD0;margin-top:1em" /></hr></hr></center></blockquote></div></p> tag:yannesposito.com,2012-02-02:/Scratch/fr/blog/Typography-and-the-Web/ @@ -74,24 +74,24 @@ Vous pouvez vous inspirer de ce code utilisant le paradigme fonctional dans tous <div class="intro"> -<p><span class="sc"><abbr title="Trop long à lire">tlàl</abbr>&nbsp;: </span> La typography sur le web est pourrie et nous ne somme pas près de voir ce problème réparé.</p> +<p><span class="sc"><abbr title="Trop long à lire">tlàl</abbr>&nbsp;: </span> La typography sur le web est pourrie et nous ne somme pas près de voir ce problème réparé.</p> </div> -<p>Je suis tombé sur ce site: <a href="http://opentypography.org/">open typography</a>. Leur message principal est&nbsp;:</p> +<p>Je suis tombé sur ce site: <a href="http://opentypography.org/">open typography</a>. Leur message principal est&nbsp;:</p> <blockquote> - <p>«There is no reason to wait for browser development to catch up. -We can all create better web typography ourselves, today.»</p> + <p>«There is no reason to wait for browser development to catch up. +We can all create better web typography ourselves, today.»</p> </blockquote> -<p>ou en français&nbsp;:</p> +<p>ou en français&nbsp;:</p> <blockquote> - <p>«Nous ne somme pas obligé d&rsquo;attendre le développement des navigateurs. -Nous pouv...</p></blockquote></p> + <p>«Nous ne somme pas obligé d’attendre le développement des navigateurs. +Nous pouvons créer un web av...</p></blockquote></p> tag:yannesposito.com,2012-01-15:/Scratch/fr/blog/Yesod-tutorial-for-newbies/ @@ -109,12 +109,12 @@ Nous pouv...</p></blockquote></p> <div class="intro"> -<p><em>mise à jour</em>: mise à jour pour la version 0.10 de yesod.</p> +<p><em>mise à jour</em>: mise à jour pour la version 0.10 de yesod.</p> -<p><span class="sc"><abbr title="Trop long à lire">tlàl</abbr>&nbsp;: </span> Un tutoriel pour yesod, un framework web Haskell. +<p><span class="sc"><abbr title="Trop long à lire">tlàl</abbr>&nbsp;: </span> Un tutoriel pour yesod, un framework web Haskell. Vous ne devriez pas avoir besoin de savoir programmer en Haskell. -Par contre je suis désolé pour les francophones, -mais je n&rsquo;ai pas eu le courage de traduire cet article en Français.</p> +Par contre je suis désolé pour les francophones, +mais je n’ai pas eu le courage de traduire cet article en Français.</p> <blockquote> <center><span class="sc"><b>Table of content</b></span></center> @@ -122,11 +122,11 @@ mais je n&rsquo;ai pas eu le courage de traduire cet article en Françai <ul id="markdown-toc"> <li><a href="#before-the-real-start">Before the real start</a> <ul> <li><a href="#install">Install</a></li> - <li><a href="#initialize">In...</a></li></ul></li></ul></blockquote></div></p> + <li><a href="#initialize">Initialize</a></li></ul></li></ul></blockquote></div></p> tag:yannesposito.com,2011-10-20:/Scratch/fr/blog/SVG-and-m4-fractals/ - Accroître le pouvoir des languages déficients. + Accroître le pouvoir des languages déficients. 2011-10-20T09:39:36Z 2011-10-20T09:39:36Z @@ -140,21 +140,21 @@ mais je n&rsquo;ai pas eu le courage de traduire cet article en Françai <div class="intro"> -<p><span class="sc"><abbr title="Trop long à lire">tlàl</abbr>&nbsp;: </span> Utiliser m4 pour accroître le pouvoir d&rsquo;<span class="sc">xslt</span> et d&rsquo;<span class="sc">svg</span>. Example cool, les fractales.</p> +<p><span class="sc"><abbr title="Trop long à lire">tlàl</abbr>&nbsp;: </span> Utiliser m4 pour accroître le pouvoir d’<span class="sc">xslt</span> et d’<span class="sc">svg</span>. Example cool, les fractales.</p> </div> -<p>Lorsqu&rsquo;<span class="sc">xml</span> fût inventé beaucoup pensaient que c&rsquo;était l&rsquo;avenir. -Passer de fichiers plat à des fichiers structurés standardisés fût un grand progrès dans beaucoup de domaines. -Cerain se mirent à voir du <span class="sc">xml</span> de partout. -À tel point que les les format compatibles <span class="sc">xml</span> naquirent de toute part. -Non seulement comme format de fichie...</p></p> +<p>Lorsqu’<span class="sc">xml</span> fût inventé beaucoup pensaient que c’était l’avenir. +Passer de fichiers plat à des fichiers structurés standardisés fût un grand progrès dans beaucoup de domaines. +Cerain se mirent à voir du <span class="sc">xml</span> de partout. +À tel point que les les format compatibles <span class="sc">xml</span> naquirent de toute part. +Non seulement comme format de fichier, mais aussi comme format pour un langage ...</p></p> tag:yannesposito.com,2011-10-04:/Scratch/fr/blog/Yesod-excellent-ideas/ - Les idées de yesod + Les idées de yesod 2011-10-04T08:18:59Z 2011-10-04T08:18:59Z @@ -168,11 +168,11 @@ Non seulement comme format de fichie...</p></p> <div class="intro"> -<p><span class="sc"><abbr title="Trop long à lire">tlàl</abbr>&nbsp;: </span></p> +<p><span class="sc"><abbr title="Trop long à lire">tlàl</abbr>&nbsp;: </span></p> <p>Cela fait un moment que je suis la progression du <a href="http://www.yesodweb.com">framework yesod</a>. -À mon humble avis on peut commencer à l&rsquo;utiliser pour des applications sérieuses (comprendre en prod). -Avant de vous dire pourquoi vous devriez aussi le considérer, je préfère vous parler de bonnes idées (parmi d&rsquo;autres) introduites par yesod que je n&rsquo;avais jamais vu ailleurs.</p> +À mon humble avis on peut commencer à l’utiliser pour des applications sérieuses (comprendre en prod). +Avant de vous dire pourquoi vous devriez aussi le considérer, je préfère vous parler de bonnes idées (parmi d’autres) introduites par yesod que je n’avais jamais vu ailleurs.</p> </div> @@ -180,13 +180,13 @@ Avant de vous dire pourquoi vous devriez aussi le considérer, je préf& <h2 id="types-saufs">Types saufs</h2> -<p>Commençons par une BD d&rsquo;<a href="http://xkcd.com">xkcd</a>&nbsp;:</p> +<p>Commençons par une BD d’<a href="http://xkcd.com">xkcd</a>&nbsp;:</p> <p></p></p> tag:yannesposito.com,2011-09-28:/Scratch/fr/blog/Higher-order-function-in-zsh/ - Fonctions d'ordre supérieur en zsh + Fonctions d'ordre supérieur en zsh 2011-09-28T13:15:23Z 2011-09-28T13:15:23Z @@ -200,12 +200,12 @@ Avant de vous dire pourquoi vous devriez aussi le considérer, je préf& <div class="intro"> -<p>UPDATE: <a href="http://nicholassterling.wordpress.com/2012/03/30/a-zsh-map-function/">Nicholas Sterling a découvert un moyen de faire des fonctions anonymes</a> +<p>UPDATE: <a href="http://nicholassterling.wordpress.com/2012/03/30/a-zsh-map-function/">Nicholas Sterling a découvert un moyen de faire des fonctions anonymes</a> Merci!</p> -<p>Avec cette dernière version vous pouvez utiliser <code>map</code> si vous utilisez -des fonctions déclarées. <code>mapl</code> pour les fonctions anonymes -et <code>mapa</code> pour les fonctions arithmétiques.</p> +<p>Avec cette dernière version vous pouvez utiliser <code>map</code> si vous utilisez +des fonctions déclarées. <code>mapl</code> pour les fonctions anonymes +et <code>mapa</code> pour les fonctions arithmétiques.</p> <p>Exemple&nbsp;:</p> @@ -225,11 +225,11 @@ X filter Y X fold Y X map Y -$ mapa '$1*2...</code></pre></div></p> +$ mapa '$1*2' {1....</code></pre></div></p> tag:yannesposito.com,2011-09-28:/Scratch/fr/blog/programming-language-experience/ - Mon expérience avec les languages de programmation + Mon expérience avec les languages de programmation 2011-09-28T10:21:41Z 2011-09-28T10:21:41Z @@ -242,7 +242,7 @@ $ mapa '$1*2...</code></pre></div></p> <div class="intro"> -<span class="sc"><abbr title="Trop long à lire">tlàl</abbr>&nbsp;: </span> Mon avis court et hautement subjectif concernant les différents languages de programmations que j&rsquo;ai utilisé. +<span class="sc"><abbr title="Trop long à lire">tlàl</abbr>&nbsp;: </span> Mon avis court et hautement subjectif concernant les différents languages de programmations que j’ai utilisé. </div> @@ -253,10 +253,12 @@ $ mapa '$1*2...</code></pre></div></p> <p>Ah&nbsp;! Le language de mes premiers programmes&nbsp;! Je devais avoir 10-11 ans. -Sous <code>MO5</code>, <code>Amstrad CPC 6128</code> et même <code>Atari STe</code>. +Sous <code>MO5</code>, <code>Amstrad CPC 6128</code> et même <code>Atari STe</code>. Le langage des <code>GOTO</code>s. -Je suis empleint de nostalgie rien que d&rsquo;y penser. -C&rsquo;est à peu prêt le seul intérêt de ce la...</p></p></p> +Je suis empleint de nostalgie rien que d’y penser. +C’est à peu prêt le seul intérêt de ce langage.</p> + +<p>Aujourd’hui ...</p></p></p> tag:yannesposito.com,2011-08-25:/Scratch/fr/blog/Learn-Vim-Progressively/ @@ -268,27 +270,29 @@ C&rsquo;est à peu prêt le seul intérêt de ce la...</p yannesposito.com - <p><img alt="Über leet use vim!" src="/Scratch/img/blog/Learn-Vim-Progressively/uber_leet_use_vim.jpg" /></p> + <p><img alt="Über leet use vim!" src="/Scratch/img/blog/Learn-Vim-Progressively/uber_leet_use_vim.jpg" /></p> <div class="intro"> -<p><span class="sc"><abbr title="Trop long à lire">tlàl</abbr>&nbsp;: </span> Vous désirez apprendre vim (le meilleur editeur de texte connu à ce jour) le plus rapidement possible. Voici mes conseils pour vous aider. Commencez à apprendre le minimum vital, puis apprenez doucement de nouvelles commandes.</p> +<p><span class="sc"><abbr title="Trop long à lire">tlàl</abbr>&nbsp;: </span> Vous désirez apprendre vim (le meilleur editeur de texte connu à ce jour) le plus rapidement possible. Voici mes conseils pour vous aider. Commencez à apprendre le minimum vital, puis apprenez doucement de nouvelles commandes.</p> </div> -<p><a href="http://www.vim.org">Vim</a> ou l&rsquo;éditeur qui vallait 3 milliards&nbsp;:</p> +<p><a href="http://www.vim.org">Vim</a> ou l’éditeur qui vallait 3 milliards&nbsp;:</p> <blockquote> <p>Meilleur, plus fort, plus rapide.</p> </blockquote> -<p>Apprenez <a href="http://www.vim.org">vim</a> et ce sera votre dernier éditeur. -Aucun éditeur que je connaisse ne le surpasse. -Sa prise en mais est difficile, mais p...</p></p> +<p>Apprenez <a href="http://www.vim.org">vim</a> et ce sera votre dernier éditeur. +Aucun éditeur que je connaisse ne le surpasse. +Sa prise en mais est difficile, mais payante.</p> + +</p> tag:yannesposito.com,2011-08-17:/Scratch/fr/blog/A-more-convenient-diff/ @@ -300,11 +304,11 @@ Sa prise en mais est difficile, mais p...</p></p> yannesposito.com - <p><code>diff</code> est un utilitaire très pratique, mais il n&rsquo;est pas facile à lire pour nous, les Hommes.</p> + <p><code>diff</code> est un utilitaire très pratique, mais il n’est pas facile à lire pour nous, les Hommes.</p> -<p>C&rsquo;est pourquoi, lorsque vous utilisez <code>git</code>, il vous montre un formatage plus agréable avec des couleurs.</p> +<p>C’est pourquoi, lorsque vous utilisez <code>git</code>, il vous montre un formatage plus agréable avec des couleurs.</p> -<p>Voici le script que j&rsquo;utilise lorsque je veux avoir un <code>diff</code> à la git.</p> +<p>Voici le script que j’utilise lorsque je veux avoir un <code>diff</code> à la git.</p> <div class="codefile"><a href="/Scratch/fr/blog/A-more-convenient-diff/code/ydiff">&#x27A5; ydiff</a></div> @@ -320,7 +324,7 @@ function colorize_diff { -) print -n $fg[red];; @) # Display in cyan the @@ positions @@ if [[ ${line[1]} = '@' ]]; then - line=$(pri...</code></pre> + line=$(print $line | perl -pe 's...</code></pre> tag:yannesposito.com,2011-07-10:/Scratch/fr/blog/Haskell-Mandelbrot/ @@ -332,7 +336,7 @@ function colorize_diff { yannesposito.com - <p>Voici le code &ldquo;obfusqué&rdquo;&nbsp;:</p> + <p>Voici le code “obfusqué”&nbsp;:</p> <div class="codefile"><a href="/Scratch/fr/blog/Haskell-Mandelbrot/code/animandel.hs">&#x27A5; animandel.hs</a></div> @@ -342,8 +346,8 @@ instance Num C where C(x,y)*C(z,t)=C(z*x-y*t,y*z+x*t);C(x,y)+C(z,t)=C(x+z,y+t);a r(C(x,y))=x;i(C(x,y))=y f c z 0=0;f c z n=if(r(abs(z))&gt;2)then n else f c ((z*z)+c) (n-1) h j k = map (\z-&gt;(f (C z) (C(0,0)) 32,(fst z&gt;l - q/2))) [(x,y)|y&lt;-[p,(p+((o-p)/a))..o],x&lt;-[m,(m + q)..l]] where o=i k;p=i j;m=r j;l=r k;q=(l-m)/b -u j k = concat $ map v $ h j k where v (i,p)=(" .,`'°\":;-+oO0123456789=!%*§&amp;$@#"!!i):rst p;rst True="\n";rst False="" -main ...</code></pre> +u j k = concat $ map v $ h j k where v (i,p)=(" .,`'°\":;-+oO0123456789=!%*§&amp;$@#"!!i):rst p;rst True="\n";rst False="" +main = putStrLn $ im...</code></pre> tag:yannesposito.com,2011-05-18:/Scratch/fr/blog/Password-Management/ @@ -361,23 +365,24 @@ main ...</code></pre> <div class="intro"> -<p><span class="sc"><abbr title="Trop long à lire">tlàl</abbr>&nbsp;: </span> Une méthode de gestion des mots de passes que j&rsquo;utilise avec succès depuis quelques années.<br /> +<p><span class="sc"><abbr title="Trop long à lire">tlàl</abbr>&nbsp;: </span> Une méthode de gestion des mots de passes que j’utilise avec succès depuis quelques années.<br /> <strong><code>sha1( mot_de_passe + nom_de_domaine )</code></strong><br /> -Je ne mémorise qu&rsquo;un seul mot de passe de très bonne qualité. -J&rsquo;utilise des mots de passe différents sur tous les sites.</p> +Je ne mémorise qu’un seul mot de passe de très bonne qualité. +J’utilise des mots de passe différents sur tous les sites.</p> </div> -<p>Avant de commencer, je tiens à préciser qu&rsquo;il s&rsquo;agit d&rsquo;une tentative de vous vendre mon appli iPhone&nbsp;;-).</p> +<p>Avant de commencer, je tiens à préciser qu’il s’agit d’une tentative de vous vendre mon appli iPhone&nbsp;;-).</p> -<p>Vous êtes toujours là&nbsp;? -Bon, d&rsquo;accord, même si vous ne téléchargez pas mon application vous pouvez quand même utili...</p></p></div></p> +<p>Vous êtes toujours là&nbsp;? +Bon, d’accord, même si vous ne téléchargez pas mon application vous pouvez quand même utiliser ma méthode. +Elle est à la fois très sûre et simple à ut...</p></p></div></p> tag:yannesposito.com,2011-04-20:/Scratch/fr/blog/2011-04-20-Now-hosted-on-github/ - Hébergement github + Hébergement github 2011-04-20T15:22:15Z 2011-04-20T15:22:15Z @@ -387,7 +392,7 @@ Bon, d&rsquo;accord, même si vous ne téléchargez pas mon appl <p><img alt="Title image" src="/Scratch/img/blog/2011-04-20-Now-hosted-on-github/main.png" /></p> -<p>J&rsquo;héberge mon site sur github à partir d&rsquo;aujourd&rsquo;hui.</p> +<p>J’héberge mon site sur github à partir d’aujourd’hui.</p> </p> @@ -406,9 +411,9 @@ Bon, d&rsquo;accord, même si vous ne téléchargez pas mon appl <div class="encadre"> -<p><em>Mise à jour&nbsp;:</em> Je pense que je vais finallement changer d&rsquo;avis. +<p><em>Mise à jour&nbsp;:</em> Je pense que je vais finallement changer d’avis. Pourquoi&nbsp;? -Tout d&rsquo;abord, je viens de découvrir un convertisseur javascript vers coffeescript, ensuite Denis Knauf m&rsquo;a laissé un commentaire et m&rsquo;a appris l&rsquo;existence d&rsquo;une fonction <code>CoffeeScript.eval</code>. De plus, il faut voir CoffeeScript comme javascript avec une syntaxe similaire à Ruby et pas comme un langage similaire à Ruby.</p> +Tout d’abord, je viens de découvrir un convertisseur javascript vers coffeescript, ensuite Denis Knauf m’a laissé un commentaire et m’a appris l’existence d’une fonction <code>CoffeeScript.eval</code>. De plus, il faut voir CoffeeScript comme javascript avec une syntaxe similaire à Ruby et pas comme un langage similaire à Ruby.</p> </div> @@ -418,11 +423,11 @@ Tout d&rsquo;abord, je viens de découvrir un convertisseur javascript v <div class="intro"> -<p><span class="sc"><abbr title="Trop long à lire">tlàl</abbr>&nbsp;: </span> Qu&rsquo;est-ce qui n&rsquo;allait pas avec Coffeescript? La meta-programm...</p></div></p> +<p><span class="sc"><abbr title="Trop long à lire">tlàl</abbr>&nbsp;: </span> Qu’est-ce qui n’allait pas avec Coffeescript? La meta-programmation, il faut le “vendre” aux autres, une nouvelle éta...</p></div></p> tag:yannesposito.com,2011-01-01:/Scratch/fr/blog/2011-01-03-Happy-New-Year/ - Bonne et heureuse année + Bonne et heureuse année 2011-01-01T06:55:54Z 2011-01-01T06:55:54Z @@ -430,19 +435,19 @@ Tout d&rsquo;abord, je viens de découvrir un convertisseur javascript v yannesposito.com - <p>Bonne et heureuse année&nbsp;!</p> + <p>Bonne et heureuse année&nbsp;!</p> -<p>J&rsquo;étais très occupé ces derniers mois. +<p>J’étais très occupé ces derniers mois. Maintenant il me semble que je vais pouvoir faire revivre ce blog.</p> -<p>J&rsquo;ai fait un outil qui permet d&rsquo;écrire des livre en utilisant une syntaxe proche de markdown. -C&rsquo;est un markdown avec des macros (essentiel pour les textes longs). -De plus le système gère la génération de pages HTML ainsi que du PDF engendré avec du XeLaTeX. -Je n&rsquo;en ai pas encore terminé avec ça. Mais si je tarde trop, je communiquerai lorsque j&rsquo;aurai fini le minimum.</p> +<p>J’ai fait un outil qui permet d’écrire des livre en utilisant une syntaxe proche de markdown. +C’est un markdown avec des macros (essentiel pour les textes longs). +De plus le système gère la génération de pages HTML ainsi que du PDF engendré avec du XeLaTeX. +Je n’en ai pas encore terminé avec ça. Mais si je tarde trop, je communiquerai lorsque j’aurai fini le minimum.</p> -<p>J&rsquo;ai écrit un framework MVC pour application javascript simple mais néanmoins très rapide.</p> +<p>J’ai écrit un framework MVC pour application javascript simple mais néanmoins très rapide.</p> -<p>Meilleurs vœux à tous&nbsp;!</p> +<p>Meilleurs vœux à tous&nbsp;!</p> @@ -459,14 +464,14 @@ Je n&rsquo;en ai pas encore terminé avec ça. Mais si je tarde trop <div class="intro"> -<p><span class="sc"><abbr title="Trop long à lire">tlàl</abbr>&nbsp;: </span> J&rsquo;ai fait un système simple de macros pour mon blog. Par exemple, il me suffit d&rsquo;écrire %<span></span>latex et ça affiche <span style="text-transform: uppercase">L<sup style="vertical-align: 0.15em; margin-left: -0.36em; margin-right: -0.15em; font-size: .85em">a</sup>T<sub style="vertical-align: -0.5ex; margin-left: -0.1667em; margin-right: -0.125em; font-size: 1em">e</sub>X</span>.</p> +<p><span class="sc"><abbr title="Trop long à lire">tlàl</abbr>&nbsp;: </span> J’ai fait un système simple de macros pour mon blog. Par exemple, il me suffit d’écrire %<span></span>latex et ça affiche <span style="text-transform: uppercase">L<sup style="vertical-align: 0.15em; margin-left: -0.36em; margin-right: -0.15em; font-size: .85em">a</sup>T<sub style="vertical-align: -0.5ex; margin-left: -0.1667em; margin-right: -0.125em; font-size: 1em">e</sub>X</span>.</p> </div> -<p>J&rsquo;ai ajouter un système de macro pour mon système de blog. -Lorsqu&rsquo;on est habitué à <span style="text-transform: uppercase">L<sup style="vertical-align: 0.15em; margin-left: -0.36em; margin-right: -0.15em; font-size: .85em">a</sup>T</span></p> +<p>J’ai ajouter un système de macro pour mon système de blog. +Lorsqu’on est habitué à <span style="text-transform: uppercase">L<sup style="vertical-align: 0.15em; margin-left: -0.36em; margin-right: -0.15em; font-size: .85em">a</sup>T</span></p> tag:yannesposito.com,2010-10-14:/Scratch/fr/blog/2010-10-14-Fun-with-wav/ @@ -482,23 +487,24 @@ Lorsqu&rsquo;on est habitué à <span style="text-transform: uppe <div class="intro"> -<p><span class="sc"><abbr title="Trop long à lire">tlàl</abbr>&nbsp;: </span> Je me suis amusé à lire un fichier <code>wav</code>. Le <code>C</code> fut le langage le mieux adapté à ce traitement. Bien meilleur que Ruby par exemple.</p> +<p><span class="sc"><abbr title="Trop long à lire">tlàl</abbr>&nbsp;: </span> Je me suis amusé à lire un fichier <code>wav</code>. Le <code>C</code> fut le langage le mieux adapté à ce traitement. Bien meilleur que Ruby par exemple.</p> -<p>edit: Je voulais que ce programme fonctionne sur une machine spécifique. En aucun cas je ne pensais publier ce code pour une utilisation autre que celle-ci.</p> +<p>edit: Je voulais que ce programme fonctionne sur une machine spécifique. En aucun cas je ne pensais publier ce code pour une utilisation autre que celle-ci.</p> </div> -<p>J&rsquo;ai eu besoin de calculer la somme des valeurs absolue des données d&rsquo;un fichier <code>wav</code>. -Pour des raison d&rsquo;efficacité (et aussi de fun), j&rsquo;ai fait le programme en <code>C</code>.</p> +<p>J’ai eu besoin de calculer la somme des valeurs absolue des données d’un fichier <code>wav</code>. +Pour des raison d’efficacité (et aussi de fun), j’ai fait le programme en <code>C</code>.</p> -<p>Celà faisait longtemps que je n&rsquo;avais pas programmé en <code>C</code>. -De mémoire il était peu aisé de manipuler des ...</p> +<p>Celà faisait longtemps que je n’avais pas programmé en <code>C</code>. +De mémoire il était peu aisé de manipuler des fichiers. +Mais je dois concéder que j’ai été...</p> tag:yannesposito.com,2010-10-10:/Scratch/fr/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/ - Sécurisez vos emails + Sécurisez vos emails 2010-10-10T16:39:00Z 2010-10-10T16:39:00Z @@ -512,22 +518,22 @@ De mémoire il était peu aisé de manipuler des ...</p> +<p>J’ai (re)découvert comment adoptez la norme S/MIME. +J’ai été surpris de voir à quel point ce fut aisé. +Il y a seulement quelques années c’était bien plus difficile à accom...</p></p> tag:yannesposito.com,2010-10-06:/Scratch/fr/blog/2010-10-06-New-Blog-Design-Constraints/ @@ -539,18 +545,19 @@ Il y a seulement quelques années c&r...</p></p> yannesposito.com - <p>Vous avez pu constater que j&rsquo;ai modifié le design de mon blog. -Maintenant il doit être beaucoup plus léger qu&rsquo;avant. -Je n&rsquo;utilise plus de CSS3 et beaucoup moins de javascript. -Bien entendu, même avant, mes pages étaient parfaitement lisibles sans javascript. -Mais, je me suis aperçu que les systèmes de CSS3 sont loin d&rsquo;être au point. -J&rsquo;utilisait des gradient en CSS3, ainsi que des ombres sous le texte. Ça avait un rendu très sympa. Sauf&hellip; -Ce n&rsquo;était pas compatible ie6, sous Chrome le rendu était d&rsquo;une lenteur incroyable. -J&rsquo;ai donc décidé de faire un site à minima. -Je voulais qu&rsquo;il soit joli <em>et</em> le plus simple possible pour assurer sa compatibilité. -Les règles que je me suis fixées sont donc:</p> + <p>Vous avez pu constater que j’ai modifié le design de mon blog. +Maintenant il doit être beaucoup plus léger qu’avant. +Je n’utilise plus de CSS3 et beaucoup moins de javascript. +Bien entendu, même avant, mes pages étaient parfaitement lisibles sans javascript. +Mais, je me suis aperçu que les systèmes de CSS3 sont loin d’être au point. +J’utilisait des gradient en CSS3, ainsi que des ombres sous le texte. Ça avait un rendu très sympa. Sauf… +Ce n’était pas compatible ie6, sous Chrome le rendu était d’une lenteur incroyable. +J’ai donc décidé de faire un site à minima. +Je voulais qu’il soit joli <em>et</em> le plus simple possible pour assurer sa compatibilité. +Les règles que je me suis fixées sont donc:</p> - +<ul> + <li>pas d’élément CSS qui commence par <code>-moz</code> ou <code>-webkit</code></li></ul> tag:yannesposito.com,2010-09-02:/Scratch/fr/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/ @@ -562,16 +569,18 @@ Les règles que je me suis fixées sont donc:</p> yannesposito.com - <p>Vous pouvez remarquer qu&rsquo;à la fin de chaque page je donne une date de dernière modification. -Précédemment cette date était calculée en utilisant la date du fichier. -Mais il arrive fréquemment que je fasse un <code>touch</code> d&rsquo;un fichier pour engendrer tout le site de nouveau. -Donc la date n&rsquo;est pas nécessairement la <em>vraie</em> de modification du contenue.</p> + <p>Vous pouvez remarquer qu’à la fin de chaque page je donne une date de dernière modification. +Précédemment cette date était calculée en utilisant la date du fichier. +Mais il arrive fréquemment que je fasse un <code>touch</code> d’un fichier pour engendrer tout le site de nouveau. +Donc la date n’est pas nécessairement la <em>vraie</em> de modification du contenue.</p> -<p>J&rsquo;utilise <a href="http://git-scm.org">git</a> pour <em>versionner</em> mon site web. -Et cet outil me permet de récupérer la dernière date de <em>vraie</em> modification d&rsquo;un fichier. -Voici comment je m&rsquo;y prend avec <a href="http://nanoc.stoneship.org">nanoc</a>&nbsp;:</p> +<p>J’utilise <a href="http://git-scm.org">git</a> pour <em>versionner</em> mon site web. +Et cet outil me permet de récupérer la dernière date de <em>vraie</em> modification d’un fichier. +Voici comment je m’y prend avec <a href="http://nanoc.stoneship.org">nanoc</a>&nbsp;:</p> -<div class="codefile"></div> +<div class="codefile"><a href="/Scratch/fr/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/code/gitmtime.rb">&#x27A5; gitmtime.rb</a></div> + + tag:yannesposito.com,2010-09-02:/Scratch/fr/blog/2010-09-02-base64-and-sha1-on-iPhone/ @@ -583,10 +592,10 @@ Voici comment je m&rsquo;y prend avec <a href="http://nanoc.stoneship.org yannesposito.com - <p>Allons directement à l&rsquo;essentiel&nbsp;: -voici deux fonctions à intégrer à votre application iPhone pour afficher l&rsquo;encodage en base64 ou en hexadecimal du hash sha1 d&rsquo;un string en Objective-C pour iPhone.</p> + <p>Allons directement à l’essentiel&nbsp;: +voici deux fonctions à intégrer à votre application iPhone pour afficher l’encodage en base64 ou en hexadecimal du hash sha1 d’un string en Objective-C pour iPhone.</p> -<p>Pour l&rsquo;usage c&rsquo;est très simple, copiez le code dans la classe de votre choix. +<p>Pour l’usage c’est très simple, copiez le code dans la classe de votre choix. Puis&nbsp;:</p> <pre><code class="objective-c">#import &lt;CommonCrypto/CommonDigest.h&gt; @@ -596,14 +605,14 @@ NSString *b64_hash = [self b64_sha1:@"some NSString to be sha1'ed"]; NSString *hex_hash = [self hex_sha1:@"some NSString to be sha1'ed"]; </code></pre> -<p>L&rsquo;algorithme pour l&rsquo;encodage en <code>base64</code> doit être programmé sur iPhone. -Il n&rsquo;y a pas de librairie officielle qui s&rsquo;occupe de ça.</p> +<p>L’algorithme pour l’encodage en <code>base64</code> doit être programmé sur iPhone. +Il n’y a pas de librairie officielle qui s’occupe de ça.</p> <div class="codefile"></div> tag:yannesposito.com,2010-08-31:/Scratch/fr/blog/2010-08-31-send-mail-from-command-line-with-attached-file/ - Envoyer un mail en ligne de commande avec un fichier attaché + Envoyer un mail en ligne de commande avec un fichier attaché 2010-08-31T08:16:04Z 2010-08-31T08:16:04Z @@ -611,20 +620,21 @@ Il n&rsquo;y a pas de librairie officielle qui s&rsquo;occupe de ça yannesposito.com - <p>J&rsquo;ai dû envoyer un mail en ligne de commande récemment. -Quelle ne fût pas ma surprise lorsque je constatais que ce n&rsquo;était vraiment pas évident. -Je n&rsquo;avais ni <code>pine</code> ni <code>mutt</code>. Seulement <code>mail</code> et <code>mailx</code>.</p> + <p>J’ai dû envoyer un mail en ligne de commande récemment. +Quelle ne fût pas ma surprise lorsque je constatais que ce n’était vraiment pas évident. +Je n’avais ni <code>pine</code> ni <code>mutt</code>. Seulement <code>mail</code> et <code>mailx</code>.</p> -<p>Ce qu&rsquo;on trouve sur internet pour envoyer un mail avec fichier attaché c&rsquo;est ça&nbsp;:</p> +<p>Ce qu’on trouve sur internet pour envoyer un mail avec fichier attaché c’est ça&nbsp;:</p> <pre><code class="zsh">uuencode fic.jpg fic.jpg | mail -s 'Subject' </code></pre> -<p>Bon, alors, bête et discipliné j&rsquo;ai essayé. -Et bien, ça marche <em>presque</em> tout le temps. -Pour mon fichier ça n&rsquo;a pas marché du tout. -Je l&rsquo;ai compressé au format <code>.gz</code>, <code>.bz2</code> et <code>.zip</code>. -Avec le format <code>.bz2</code> le mail reçu avait bien un fichie...</p> +<p>Bon, alors, bête et discipliné j’ai essayé. +Et bien, ça marche <em>presque</em> tout le temps. +Pour mon fichier ça n’a pas marché du tout. +Je l’ai compressé au format <code>.gz</code>, <code>.bz2</code> et <code>.zip</code>. +Avec le format <code>.bz2</code> le mail reçu avait bien un fichier attaché. +Mais avec les formats <code>.gz</code> et <code>.zi...</code></p> tag:yannesposito.com,2010-08-23:/Scratch/fr/blog/2010-08-23-Now-heberged-on-heroku/ @@ -638,18 +648,18 @@ Avec le format <code>.bz2</code> le mail reçu avait bien un fic <h1 class="first" id="maintenant-sur-herokuhttpherokucom">Maintenant sur <a href="http://heroku.com">Heroku</a></h1> -<p>J&rsquo;ai changé mon hébergeur. Mobileme n&rsquo;est absolument pas adapté à la diffusion de mon blog. C&rsquo;est pourquoi je suis passé à <a href="http://heroku.com">Heroku</a>.</p> +<p>J’ai changé mon hébergeur. Mobileme n’est absolument pas adapté à la diffusion de mon blog. C’est pourquoi je suis passé à <a href="http://heroku.com">Heroku</a>.</p> -<p>Mais comme vous devez le savoir mon blog est un site complètement statique. -J&rsquo;utilise <a href="http://nanoc.stoneship.org/">nanoc</a> pour l&rsquo;engendrer. -Avoir un site statique amène beaucoup d&rsquo;avantages par rapport à un site dynamique. Surtout en terme de sécurité. +<p>Mais comme vous devez le savoir mon blog est un site complètement statique. +J’utilise <a href="http://nanoc.stoneship.org/">nanoc</a> pour l’engendrer. +Avoir un site statique amène beaucoup d’avantages par rapport à un site dynamique. Surtout en terme de sécurité. Voici comment configurer un site statique sur heroku.</p> -<p>La racine de mes fichiers est &lsquo;/output&rsquo;. Vous devez simplement créer deux fichiers. Un fichier <code>config.ru</code></p> +<p>La racine de mes fichiers est ‘/output’. Vous devez simplement créer deux fichiers. Un fichier <code>config.ru</code><sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup>&...</p> tag:yannesposito.com,2010-08-11:/Scratch/fr/blog/2010-07-09-Indecidabilities/ - Indécidabilités (partie 1) + Indécidabilités (partie 1) 2010-08-11T08:04:31Z 2010-08-11T08:04:31Z @@ -662,7 +672,7 @@ Voici comment configurer un site statique sur heroku.</p> tag:yannesposito.com,2010-07-31:/Scratch/fr/blog/2010-07-31-New-style-after-holidays/ - Nouveau style après les vacances + Nouveau style après les vacances 2010-07-31T21:59:10Z 2010-07-31T21:59:10Z @@ -670,11 +680,11 @@ Voici comment configurer un site statique sur heroku.</p> yannesposito.com - <p>Avant les vacances beaucoup d&rsquo;utilisateurs se sont plaints de la lenteur de rendu de mon site. -Il s&rsquo;agit notamment de problèmes avec Chrome en particulier. -Mais pour éviter tout problème. -J&rsquo;ai complètement modifié le style de mon site web. -Il est inspiré du style de l&rsquo;application iBooks<small>&copy;</small> sur iPhone<small>&copy;</small>.</p> + <p>Avant les vacances beaucoup d’utilisateurs se sont plaints de la lenteur de rendu de mon site. +Il s’agit notamment de problèmes avec Chrome en particulier. +Mais pour éviter tout problème. +J’ai complètement modifié le style de mon site web. +Il est inspiré du style de l’application iBooks<small>&copy;</small> sur iPhone<small>&copy;</small>.</p> <p>Dites moi ce que vous pensez de ce nouveau design.</p> @@ -689,19 +699,21 @@ Il est inspiré du style de l&rsquo;application iBooks<small>& yannesposito.com - <p>Beaucoup d&rsquo;utilisateurs de <a href="http://reddit.com">Reddit</a> m&rsquo;ont rapporté que mon site était très long à charger et à <em>scroller</em>. -Ils pensaient qu&rsquo;il s&rsquo;agissait d&rsquo;un problème dû aux ombres que j&rsquo;applique sur le texte. -J&rsquo;étais un peu surpris puisque je fais mes tests sur une machine vraiment très lente et je n&rsquo;avais jamais détecté ces problèmes. -En réalité, ce qui ralenti le rendu de ce site est par ordre d&rsquo;importance&nbsp;:</p> + <p>Beaucoup d’utilisateurs de <a href="http://reddit.com">Reddit</a> m’ont rapporté que mon site était très long à charger et à <em>scroller</em>. +Ils pensaient qu’il s’agissait d’un problème dû aux ombres que j’applique sur le texte. +J’étais un peu surpris puisque je fais mes tests sur une machine vraiment très lente et je n’avais jamais détecté ces problèmes. +En réalité, ce qui ralenti le rendu de ce site est par ordre d’importance&nbsp;:</p> <ol> - <li>Les dégradés sur Chrome (pas dans Safari sur Mac)</li> + <li>Les dégradés sur Chrome (pas dans Safari sur Mac)</li> <li>les <em>box shadows</em> sur Firefox</li> </ol> -<h2 id="les-dgrads">les dégradés</h2> +<h2 id="les-dgrads">les dégradés</h2> -<p>Sur Safari il n&rsquo;y a absolument aucun problème avec les dégradés. Par contre sur Chrome sous Linux le si...</p> +<p>Sur Safari il n’y a absolument aucun problème avec les dégradés. Par contre sur Chrome sous Linux le site devient quasiment inutilisable.</p> + +<p>Safari et Chrome utilisent <em>webkit</em></p> tag:yannesposito.com,2010-07-05:/Scratch/fr/blog/2010-07-05-Cappuccino-and-Web-applications/ @@ -717,13 +729,13 @@ En réalité, ce qui ralenti le rendu de ce site est par ordre d&rsq <div class="intro"> -<p><abbr title="Trop long à lire">tlàl</abbr>:</p> +<p><abbr title="Trop long à lire">tlàl</abbr>:</p> <ul> - <li>J&rsquo;ai essayé de faire une version de <a href="http://yannesposito.com/Softwares/YPassword.html">YPassword</a> en jQuery et avec Cappuccino.</li> - <li>Cappuccino est très bien sur les navigateurs non mobile mais l&rsquo;application pèse 1.4Mo et n&rsquo;est pas compatible avec l&rsquo;iPhone.</li> - <li>la version jQuery n&rsquo;est pas aussi jolie que la version réalisée avec Cappuccino mais elle pèse seulement 106Ko et est compatible avec l&rsquo;iPhone.</li> - <li>J&rsquo;essayerai Dashcode 3</li> + <li>J’ai essayé de faire une version de <a href="http://yannesposito.com/Softwares/YPassword.html">YPassword</a> en jQuery et avec Cappuccino.</li> + <li>Cappuccino est très bien sur les navigateurs non mobile mais l’application pèse 1.4Mo et n’est pas compatible avec l’iPhone.</li> + <li>la version jQuery n’est pas aussi jolie que la version réalisée avec Cappuccino mais elle pèse seulement 106Ko et est compatible avec l’iPhone.</li> + <li>J’essayerai Dashcode 3</li> </ul> @@ -735,7 +747,7 @@ En réalité, ce qui ralenti le rendu de ce site est par ordre d&rsq <div class="intro"> -<p>Avant de commencer, je dois dire que je sais que Cappuccino et jQuery ne sont pas plus comparable que Cocoa et la <em>standard library</em> en...</p></div></hr> +<p>Avant de commencer, je dois dire que je sais que Cappuccino et jQuery ne sont pas plus comparable que Cocoa et la <em>standard library</em> en C++. L’un est fait pour créer des interfaces util...</p></div></hr> tag:yannesposito.com,2010-06-19:/Scratch/fr/blog/2010-06-19-jQuery-popup-the-easy-way/ @@ -747,7 +759,7 @@ En réalité, ce qui ralenti le rendu de ce site est par ordre d&rsq yannesposito.com - <p>Voici une façon simple et rapide pour faire des popups avec jQuery.</p> + <p>Voici une façon simple et rapide pour faire des popups avec jQuery.</p> <div class="codefile"><a href="/Scratch/fr/blog/2010-06-19-jQuery-popup-the-easy-way/code/essai.js">&#x27A5; essai.js</a></div> @@ -768,7 +780,7 @@ function initCode() { $('body').append('&lt;div id="_code"&gt;&lt;/div&gt;'); $('#_code').css( { 'text-align': "justify", position: "fixed", left:0, top:0, width: "100%", height: "100%", - "background-color": "rgba(0, 0, 0, 0.8)", 'z-...</code></pre> + "background-color": "rgba(0, 0, 0, 0.8)", 'z-i...</code></pre> tag:yannesposito.com,2010-06-17:/Scratch/fr/blog/2010-06-17-hide-yourself-to-analytics/ @@ -780,19 +792,23 @@ function initCode() { yannesposito.com - <p>Voici un moyen très simple de ne plus être comptabilisé dans les visites de son propre site. -Tout d&rsquo;abord, vous devriez jeter un coup d&rsquo;œil sur comment <a href="/Scratch/fr/blog/2010-06-17-track-events-with-google-analytics">je gère les systèmes de récupération de statistiques</a>. + <p>Voici un moyen très simple de ne plus être comptabilisé dans les visites de son propre site. +Tout d’abord, vous devriez jeter un coup d’œil sur comment <a href="/Scratch/fr/blog/2010-06-17-track-events-with-google-analytics">je gère les systèmes de récupération de statistiques</a>. Je centralise tout dans un seul fichier javascript ce qui facilite le travail.</p> -<p>Cette méthode nécessite l&rsquo;utilisation de <code>jquery-cookie</code>.</p> +<p>Cette méthode nécessite l’utilisation de <code>jquery-cookie</code>.</p> -<p>Avant de comptabiliser les visites, je vérifie que la clé <code>admin</code> n&rsquo;est pas utilisée dans mes cookies.</p> +<p>Avant de comptabiliser les visites, je vérifie que la clé <code>admin</code> n’est pas utilisée dans mes cookies.</p> <pre><code class="javascript"> var admin = $.cookie('admin'); if (! admin) { // put your analytics code here } else { - console.log("[WARNING] you're HIDDEN to analy...</code></pre> + console.log("[WARNING] you're HIDDEN to analytics"); + } +</code></pre> + +<p>et il...</p> tag:yannesposito.com,2010-06-17:/Scratch/fr/blog/2010-06-17-track-events-with-google-analytics/ @@ -804,9 +820,9 @@ Je centralise tout dans un seul fichier javascript ce qui facilite le travail.&l yannesposito.com - <p>Voici comment analyser tous les clics que font vos utilisateurs sur votre blog en incluant google analytics de façon asynchrone.</p> + <p>Voici comment analyser tous les clics que font vos utilisateurs sur votre blog en incluant google analytics de façon asynchrone.</p> -<p>Dans le html, il faut utiliser <a href="http://jquery.com">jQuery</a> et un fichier que j&rsquo;ai appelé <code>yga.js</code>&nbsp;:</p> +<p>Dans le html, il faut utiliser <a href="http://jquery.com">jQuery</a> et un fichier que j’ai appelé <code>yga.js</code>&nbsp;:</p> <pre><code class="html"> &lt;script type="text/javascript" src="jquery.js"&gt;&lt;/script&gt; &lt;script type="text/javascript" src="yga.js"&gt;&lt;/script&gt; @@ -818,11 +834,12 @@ Je centralise tout dans un seul fichier javascript ce qui facilite le travail.&l <pre><code class="javascript">$(document).ready( function() { // add an event to all link for google analytics - $('a').click(functi...</code></pre> + $('a').click(function () { +...</code></pre> tag:yannesposito.com,2010-06-15:/Scratch/fr/blog/2010-06-15-Get-my-blog-engine/ - Récupérez mon système de blog + Récupérez mon système de blog 2010-06-15T08:56:32Z 2010-06-15T08:56:32Z @@ -830,21 +847,22 @@ Je centralise tout dans un seul fichier javascript ce qui facilite le travail.&l yannesposito.com - <p>J&rsquo;ai publié une version <em>light</em> de mon système de blog hier soir. Par <em>light</em> il faut comprendre avec un CSS plus épuré et plus portable (sans les bords ronds). -Vous pouvez le récupérer sur <a href="http://github.com/yogsototh/nanoc3_blog">github.com</a>.</p> + <p>J’ai publié une version <em>light</em> de mon système de blog hier soir. Par <em>light</em> il faut comprendre avec un CSS plus épuré et plus portable (sans les bords ronds). +Vous pouvez le récupérer sur <a href="http://github.com/yogsototh/nanoc3_blog">github.com</a>.</p> -<p>Que pouvez-vous attendre de ce système de blog&nbsp;?</p> +<p>Que pouvez-vous attendre de ce système de blog&nbsp;?</p> <ul> - <li>Tous les avantages liés à <a href="http://nanoc.stoneship.org">nanoc</a>&nbsp;;</li> - <li>Facilité de la gestion de plusieurs langues&nbsp;;</li> + <li>Tous les avantages liés à <a href="http://nanoc.stoneship.org">nanoc</a>&nbsp;;</li> + <li>Facilité de la gestion de plusieurs langues&nbsp;;</li> <li>coloration syntaxique des codes sources pour la plupart des languages&nbsp;;</li> - <li>commentaires gérés avec <a href="http://intensedebate.org">intenseDebate</a> de façon asynchrone&nbsp;;</li> - <li>très portable avec ou sans javascript, XHTML Strict 1.0 / CSS3&nbsp;;</li></ul> + <li>commentaires gérés avec <a href="http://intensedebate.org">intenseDebate</a> de façon asynchrone&nbsp;;</li> + <li>très portable avec ou sans javascript, XHTML Strict 1.0 / CSS3&nbsp;;</li> + <li>écrivez v...</li></ul> tag:yannesposito.com,2010-06-14:/Scratch/fr/blog/2010-06-14-multi-language-choices/ - choix liés à l'écriture dans plusieurs langues + choix liés à l'écriture dans plusieurs langues 2010-06-14T14:14:57Z 2010-06-14T14:14:57Z @@ -852,13 +870,13 @@ Vous pouvez le récupérer sur <a href="http://github.com/yogsototh/n yannesposito.com - <p>Je traduis la plupart de mes articles pour qu&rsquo;ils soient disponibles en français et en anglais. -La façon que l&rsquo;on m&rsquo;a conseillé était d&rsquo;avoir un fichier par langue. En général ça donne ça.</p> + <p>Je traduis la plupart de mes articles pour qu’ils soient disponibles en français et en anglais. +La façon que l’on m’a conseillé était d’avoir un fichier par langue. En général ça donne ça.</p> <pre class="twilight"> Bonjour, -voici un exemple de texte en français. +voici un exemple de texte en français. [image](url) </pre> @@ -869,12 +887,12 @@ here is an example of english text. [image](url) </pre> -<p>Cette façon de traduire vous impose une certaine façon de traduire. -D&rsquo;abord écrire entièrement le texte dans une langue, +<p>Cette façon de traduire vous impose une certaine façon de traduire. +D’abord écrire entièrement le texte dans une langue, puis copier le fichier et enfin retraduire dans une nouvelle langue.</p> -<p>Le problème, c&rsquo;est que très souvent, les articles ont des parties communes non négligeables. Par exemple, les images, les codes sources, etc&hellip; -Lorsque je m&...</p> +<p>Le problème, c’est que très souvent, les articles ont des parties communes non négligeables. Par exemple, les images, les codes sources, etc… +Lorsque je m’aperçoit que j’ai fait une erreur dans ces parties communes...</p> tag:yannesposito.com,2010-05-24:/Scratch/fr/blog/2010-05-24-Trees--Pragmatism-and-Formalism/ @@ -890,26 +908,29 @@ Lorsque je m&...</p> <div class="intro"> -<p><span class="sc"><abbr title="Trop long à lire">tlàl</abbr>&nbsp;: </span>&nbsp;:</p> +<p><span class="sc"><abbr title="Trop long à lire">tlàl</abbr>&nbsp;: </span>&nbsp;:</p> <ul> - <li>J&rsquo;ai essayé de programmer un simple filtre&nbsp;;</li> - <li>J&rsquo;ai été bloqué pendant deux jours&nbsp;;</li> - <li>J&rsquo;ai arrêté de penser comme un robot&nbsp;;</li> - <li>J&rsquo;ai utilisé un papier et un stylo&nbsp;;</li> - <li>J&rsquo;ai fait un peu de maths&nbsp;;</li> - <li>J&rsquo;ai résolu le problème en 10 minutes&nbsp;;</li> - <li>Conclusion: Pragmatisme n&rsquo;est pas&nbsp;: &laquo;n&rsquo;utilisez jamais la théorie&raquo;. + <li>J’ai essayé de programmer un simple filtre&nbsp;;</li> + <li>J’ai été bloqué pendant deux jours&nbsp;;</li> + <li>J’ai arrêté de penser comme un robot&nbsp;;</li> + <li>J’ai utilisé un papier et un stylo&nbsp;;</li> + <li>J’ai fait un peu de maths&nbsp;;</li> + <li>J’ai résolu le problème en 10 minutes&nbsp;;</li> + <li>Conclusion: Pragmatisme n’est pas&nbsp;: «n’utilisez jamais la théorie». </div> </ul> -<h2 id="rsum-plus-long-que-le--span-classscabbr-titletrop-long--liretllabbr--span">Résumé (plus long que le <span class="sc"><abbr title="Trop long à lire">tlàl</abbr>&nbsp;: </span>)</h2></div> +<h2 id="rsum-plus-long-que-le--span-classscabbr-titletrop-long--liretllabbr--span">Résumé (plus long que le <span class="sc"><abbr title="Trop long à lire">tlàl</abbr>&nbsp;: </span>)</h2> + +<p>Je devais résoudre un problème à mon travail. Au début cela +semblait...</p></div> tag:yannesposito.com,2010-05-19:/Scratch/fr/blog/2010-05-19-How-to-cut-HTML-and-repair-it/ - Comment réparer un XML coupé ? + Comment réparer un XML coupé ? 2010-05-19T20:20:34Z 2010-05-19T20:20:34Z @@ -917,7 +938,7 @@ Lorsque je m&...</p> yannesposito.com - <p>Sur ma page d&rsquo;accueil vous pouvez voir la liste des mes derniers articles avec le début de ceux-ci. Pour arriver à faire ça, j&rsquo;ai besoin de couper le code XHTML de mes pages en plein milieu. Il m&rsquo;a donc fallu trouver un moyen de les réparer.</p> + <p>Sur ma page d’accueil vous pouvez voir la liste des mes derniers articles avec le début de ceux-ci. Pour arriver à faire ça, j’ai besoin de couper le code XHTML de mes pages en plein milieu. Il m’a donc fallu trouver un moyen de les réparer.</p> <p>Prenons un exemple&nbsp;:</p> @@ -931,16 +952,17 @@ Lorsque je m&...</p> &lt;/div&gt; </code></pre> -<p>Après avoir coupé, j&rsquo;obtiens&nbsp;:</p> +<p>Après avoir coupé, j’obtiens&nbsp;:</p> <pre><code class="html">&lt;div class="corps"&gt; &lt;div class="intro"&gt; &lt;p&gt;Introduction&lt;/p&gt; - &lt;/div&g...</code></pre> + &lt;/div&gt; + &lt;p&gt;The first para...</code></pre> tag:yannesposito.com,2010-05-17:/Scratch/fr/blog/2010-05-17-at-least-this-blog-revive/ - Je reviens à la vie ! + Je reviens à la vie ! 2010-05-17T11:25:51Z 2010-05-17T11:25:51Z @@ -948,18 +970,20 @@ Lorsque je m&...</p> yannesposito.com - <p>Bonjour à tous&nbsp;!</p> + <p>Bonjour à tous&nbsp;!</p> <blockquote cite="http://www.madore.org/~david/weblog/2010-05.html#d.2010-05-12.1752"> - <p>&hellip;plus on retarde quelque chose, plus il devient difficile de s&rsquo;y mettre&hellip;</p> + <p>…plus on retarde quelque chose, plus il devient difficile de s’y mettre…</p> </blockquote> -<p>Je devais écrire d&rsquo;autres articles pour ce blog. J&rsquo;ai noté plein d&rsquo;idées dans mes <em>todolist</em>. Mais j&rsquo;avais pas mal d&rsquo;autres choses à faire. Et jusqu&rsquo;ici, j&rsquo;ai toujours dit &laquo;je le ferai plus tard&raquo;. Ce qui m&rsquo;a fait agir, c&rsquo;est la petite réflexion que j&rsquo;avais lu une fois. -&gt; Arrétez d&rsquo;écrire des <code>TODO</code> dans votre code est faites le maintenant&nbsp;!<br /> -&gt; Vous serez surpris de l&rsquo;efficacité de cette mesure.</p> +<p>Je devais écrire d’autres articles pour ce blog. J’ai noté plein d’idées dans mes <em>todolist</em>. Mais j’avais pas mal d’autres choses à faire. Et jusqu’ici, j’ai toujours dit «je le ferai plus tard». Ce qui m’a fait agir, c’est la petite réflexion que j’avais lu une fois. +&gt; Arrétez d’écrire des <code>TODO</code> dans votre code est faites le maintenant&nbsp;!<br /> +&gt; Vous serez surpris de l’efficacité de cette mesure.</p> -<p>En résumé&nbsp;: -&gt; </p></p> +<p>En résumé&nbsp;: +&gt; <strong>Just do it!</strong> ou <strong>Juste fait le</strong> comme auraient dit les nuls.</p> + +<p>Finallement j’écri...</p></p> tag:yannesposito.com,2010-03-23:/Scratch/fr/blog/2010-03-23-Encapsulate-git/ @@ -973,18 +997,19 @@ Lorsque je m&...</p> <p><span class="intro"> Voici une solution pour conserver des branches divergentes avec <code>git</code>. -Parce qu&rsquo;il est facile de <em>merger</em> par erreur, je propose un script qui encapsule le comportement de <code>git</code> pour interdire certains <em>merges</em> dangereux. Mais qui permet aussi de faire des merges en cascades de la racines vers les autres branches. +Parce qu’il est facile de <em>merger</em> par erreur, je propose un script qui encapsule le comportement de <code>git</code> pour interdire certains <em>merges</em> dangereux. Mais qui permet aussi de faire des merges en cascades de la racines vers les autres branches. </span></p> -<h2 id="se-prmunir-contre-les-erreurs">Se prémunir contre les erreurs</h2> +<h2 id="se-prmunir-contre-les-erreurs">Se prémunir contre les erreurs</h2> -<p>Je travaille sur un projet dans lequel certaines de mes branches <code>git</code> doivent rester divergentes. Et les divergences devraient aller en s&rsquo;accentuant.</p> +<p>Je travaille sur un projet dans lequel certaines de mes branches <code>git</code> doivent rester divergentes. Et les divergences devraient aller en s’accentuant.</p> -<p>J&rsquo;utilise aussi certaines branches qui contiennent la partie commune de ces projets.</p> +<p>J’utilise aussi certaines branches qui contiennent la partie commune de ces projets.</p> -<p>Disons que j&rsquo;ai les branches&nbsp;:</p> +<p>Disons que j’ai les branches&nbsp;:</p> -... +<ul> + <li>master: commun...</li></ul> tag:yannesposito.com,2010-03-22:/Scratch/fr/blog/2010-03-22-Git-Tips/ @@ -996,9 +1021,9 @@ Parce qu&rsquo;il est facile de <em>merger</em> par erreur, je p yannesposito.com - <h2 class="first" id="cloner-de-github--travers-un-pare-feu">Cloner de github à travers un pare-feu</h2> + <h2 class="first" id="cloner-de-github--travers-un-pare-feu">Cloner de github à travers un pare-feu</h2> -<p>La façon standard:</p> +<p>La façon standard:</p> <div> @@ -1018,17 +1043,18 @@ Parce qu&rsquo;il est facile de <em>merger</em> par erreur, je p <h2 id="cloner-toutes-les-branches">Cloner toutes les branches</h2> -<p><code>git clone</code> peut seulement récuper la branche <code>master</code>.</p> +<p><code>git clone</code> peut seulement récuper la branche <code>master</code>.</p> -<p>Si vous n&rsquo;avez pas beaucoup de branches, vous pouvez simplement les clone le project et ensuite pour chacune d&rsquo;entre elle lancer la commande suivante&nbsp;:</p> +<p>Si vous n’avez pas beaucoup de branches, vous pouvez simplement les clone le project et ensuite pour chacune d’entre elle lancer la commande suivante&nbsp;:</p> <div> -<pre><code class="zsh">git branch --track local_branch remote_bran...</code></pre></div> +<pre><code class="zsh">git branch --track local_branch remote_branch +</code></pre></div> tag:yannesposito.com,2010-02-23:/Scratch/fr/blog/2010-02-23-When-regexp-is-not-the-best-solution/ - Quand se passer des expressions régulières ? + Quand se passer des expressions régulières ? 2010-02-23T08:09:52Z 2010-02-23T08:09:52Z @@ -1036,10 +1062,10 @@ Parce qu&rsquo;il est facile de <em>merger</em> par erreur, je p yannesposito.com - <p>Les expressions régulières sont très utiles. Cependant, elles ne sont pas toujours la meilleure manière d&rsquo;aborder certain problème autour des chaines de caractères. + <p>Les expressions régulières sont très utiles. Cependant, elles ne sont pas toujours la meilleure manière d’aborder certain problème autour des chaines de caractères. Et surtout quand les transformations que vous voulez accomplir sont simples.</p> -<p>Je voulais savoir comment récupérer le plus vite possible l&rsquo;extension d&rsquo;un nom de fichier. Il y a trois manière naturelle d&rsquo;accomplir celà&nbsp;:</p> +<p>Je voulais savoir comment récupérer le plus vite possible l’extension d’un nom de fichier. Il y a trois manière naturelle d’accomplir celà&nbsp;:</p> <div> @@ -1056,11 +1082,11 @@ ext=File.extname(str) </div> -<p>A première vue, je pensais que l&rsquo;expression régulière serait plus rapide que le <code>split</code> parce qu&rsquo;il pouvait y avoir plusieurs de <code>.</code> dans un nom de fichie...</p> +<p>A première vue, je pensais que l’expression régulière serait plus rapide que le <code>split</code> parce qu’il pouvait y avoir plusieurs de <code>.</code> dans un nom de fichier. Mais la majorité du temps il n’y a qu’un seul ...</p> tag:yannesposito.com,2010-02-18:/Scratch/fr/blog/2010-02-18-split-a-file-by-keyword/ - découper un fichier par mots clés + découper un fichier par mots clés 2010-02-18T13:29:14Z 2010-02-18T13:29:14Z @@ -1068,9 +1094,9 @@ ext=File.extname(str) yannesposito.com - <p>Assez bizarrement, je n&rsquo;ai trouvé aucun outil UNIX pour découper un fichier par mot clé. -Alors j&rsquo;en ai fait un en <code>awk</code>. Je le met ici principalement pour moi, mais ça peut toujours servir à quelqu&rsquo;un d&rsquo;autre. -Le code suivant découpe un fichier pour chacune de ses ligne contenant le mot <code>UTC</code>.</p> + <p>Assez bizarrement, je n’ai trouvé aucun outil UNIX pour découper un fichier par mot clé. +Alors j’en ai fait un en <code>awk</code>. Je le met ici principalement pour moi, mais ça peut toujours servir à quelqu’un d’autre. +Le code suivant découpe un fichier pour chacune de ses ligne contenant le mot <code>UTC</code>.</p> <div> @@ -1085,20 +1111,22 @@ BEGIN{i=0;} </div> -<p>En réalité, j&rsquo;avais besoin de cet outils pour avoir un fichier par jour. Chaque ligne contenant UTC ayant le format suivant&nbsp;:</p> +<p>En réalité, j’avais besoin de cet outils pour avoir un fichier par jour. Chaque ligne contenant UTC ayant le format suivant&nbsp;:</p> <pre class="twilight"> Mon Dec 7 10:32:30 UTC 2009 </pre> -<p>J&rsquo;en suis finallement arrivé au code suivant&nbsp;:</p> +<p>J’en suis finallement arrivé au code suivant&nbsp;:</p> <div> -...</div> + +<pre><code class="perl">#!/usr/bin/env awk +B...</code></pre></div> tag:yannesposito.com,2010-02-16:/Scratch/fr/blog/2010-02-16-All-but-something-regexp--2-/ - Tout sauf quelquechose en expression régulière. + Tout sauf quelquechose en expression régulière. 2010-02-16T08:33:21Z 2010-02-16T08:33:21Z @@ -1106,8 +1134,8 @@ Mon Dec 7 10:32:30 UTC 2009 yannesposito.com - <p>Dans mon <a href="previouspost">précédent article</a> j&rsquo;ai donné certaines astuces pour matcher &lsquo;tout sauf quelque chose&rsquo;. De la même manière, un truc pour matcher la chaine de caractère la plus petite possible. -Disons que vous voulez matcher la chaine de caractère entre &lsquo;a&rsquo; et &lsquo;b&rsquo;. Par exemple, vous voulez matcher&nbsp;:</p> + <p>Dans mon <a href="previouspost">précédent article</a> j’ai donné certaines astuces pour matcher ‘tout sauf quelque chose’. De la même manière, un truc pour matcher la chaine de caractère la plus petite possible. +Disons que vous voulez matcher la chaine de caractère entre ‘a’ et ‘b’. Par exemple, vous voulez matcher&nbsp;:</p> <pre class="twilight"> a.....<span class="Constant"><strong>a......b</strong></span>..b..a....<span class="Constant"><strong>a....b</strong></span>... @@ -1120,6 +1148,6 @@ a.....<span class="Constant"><strong>a......b</strong></spa <span class="Constant"><strong>a.....a......b..b..a....a....b</strong></span>... </pre> -<p>La première erreur vient de l&rsquo;utilisation du <em>terrible</em> </p> +<p>La première erreur vient de l’utilisation du <em>terrible</em> <code>.*</code>. Parce que vous allez matcher la chaîne de...</p> diff --git a/output/Scratch/sitemap.xml b/output/Scratch/sitemap.xml index 08045e62f..89b8a7992 100644 --- a/output/Scratch/sitemap.xml +++ b/output/Scratch/sitemap.xml @@ -1,763 +1,763 @@ - - http://yannesposito.com/Scratch/fr/blog/2010-09-02-base64-and-sha1-on-iPhone/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2010-08-23-Now-heberged-on-heroku/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/Haskell-the-Hard-Way/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2010-06-15-Get-my-blog-engine/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/comprendre/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/Yesod-excellent-ideas/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2010-02-15-All-but-something-regexp/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2009-10-28-custom-website-synchronisation-with-mobileme--2-/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2009-09-Disqus-versus-Intense-Debate--Why-I-switched-/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/11_Load_Disqus_Asynchronously/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/about/old/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2009-09-Disqus-versus-Intense-Debate--Why-I-switched-/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_4/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/softwares/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/about/technical_details/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_1/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2009-09-replace-all-except-some-part/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2010-10-14-Fun-with-wav/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/09_Why_I_didn-t_keep_whosamung-us/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2010-10-26-LaTeX-like-macro-and-markdown/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/Yesod-excellent-ideas/ - 2012-10-06 - - - http://yannesposito.com/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/Yesod-tutorial-for-newbies/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2011-01-03-Happy-New-Year/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2010-06-17-hide-yourself-to-analytics/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/softwares/yaquabubbles/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/about/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/softwares/yaquabubbles/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/Learn-Vim-Progressively/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/Haskell-OpenGL-Mandelbrot/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/conf-et-install/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2009-10-untaught-git-usage/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2010-05-24-Trees--Pragmatism-and-Formalism/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/Typography-and-the-Web/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/SVG-and-m4-fractals/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2010-06-17-track-events-with-google-analytics/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/softwares/ypassword/web/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/about/contact/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/Higher-order-function-in-zsh/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/feed/feed.xml - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2010-10-06-New-Blog-Design-Constraints/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/06_How_I_use_git/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/04_drm/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2010-05-17-at-least-this-blog-revive/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/programming-language-experience/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2009-10-30-How-to-handle-evil-IE/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_4/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_1/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/SVG-and-m4-fractals/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/Haskell-the-Hard-Way/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/mvc/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2010-02-23-When-regexp-is-not-the-best-solution/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2010-03-23-Encapsulate-git/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2010-06-17-hide-yourself-to-analytics/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/about/old/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2010-06-17-track-events-with-google-analytics/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2010-05-17-at-least-this-blog-revive/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2009-10-Wait-to-hide-a-menu-in-jQuery/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2009-10-Focus-vs-Minimalism/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/02_ackgrep/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/01_nanoc/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/10_Synchronize_Custom_WebSite_with_mobileMe/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/Haskell-Mandelbrot/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/softwares/ypassword/iphoneweb/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/feed/feed.xml - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2010-06-15-Get-my-blog-engine/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2009-10-untaught-git-usage/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/softwares/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2010-02-16-All-but-something-regexp--2-/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2009-10-Focus-vs-Minimalism/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2009-10-How-to-preload-your-site-with-style/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/Yesod-tutorial-for-newbies/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_2/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2010-02-15-All-but-something-regexp/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2010-06-19-jQuery-popup-the-easy-way/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/rss/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/A-more-convenient-diff/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2010-07-05-Cappuccino-and-Web-applications/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2010-03-23-Encapsulate-git/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/07_Screensaver_compilation_option_for_Snow_Leopard/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/11_Load_Disqus_Asynchronously/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/about/contact/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2010-03-22-Git-Tips/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/latest/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/Haskell-Mandelbrot/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2010-01-04-Change-default-shell-on-Mac-OS-X/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2009-09-jQuery-Tag-Cloud/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2010-06-14-multi-language-choices/ - 2012-10-06 - - - http://yannesposito.com/Scratch/assets/css/dynamic.css - 2012-10-06 - http://yannesposito.com/Scratch/sitemap.xml - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/05_git_create_remote_branch/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/validation/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/softwares/yclock/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/Password-Management/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2010-05-19-How-to-cut-HTML-and-repair-it/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/Password-Management/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/07_Screensaver_compilation_option_for_Snow_Leopard/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2009-12-06-iphone-call-filter/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2010-07-07-CSS-rendering-problems-by-navigator/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2010-10-26-LaTeX-like-macro-and-markdown/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2010-05-24-Trees--Pragmatism-and-Formalism/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/comprendre/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2009-09-replace-all-except-some-part/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/03_losthighway/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_2/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2010-07-09-Indecidabilities/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2009-12-06-iphone-call-filter/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2009-10-launch-daemon-from-command-line/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/A-more-convenient-diff/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/rss/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2010-01-12-antialias-font-in-Firefox-under-Ubuntu/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2009-10-30-How-to-handle-evil-IE/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/commandes-avancees/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2011-04-20-Now-hosted-on-github/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/softwares/ypassword/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/latest/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2010-10-14-Fun-with-wav/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2010-10-06-New-Blog-Design-Constraints/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2010-02-18-split-a-file-by-keyword/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2011-01-03-Happy-New-Year/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/about/technical_details/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2010-07-05-Cappuccino-and-Web-applications/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2011-04-20-Now-hosted-on-github/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/09_Why_I_didn-t_keep_whosamung-us/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2010-09-02-base64-and-sha1-on-iPhone/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/validation/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2009-12-14-Git-vs--Bzr/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/conf-et-install/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_3/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/softwares/ypassword/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/softwares/ypassword/iphoneweb/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2010-07-07-CSS-rendering-problems-by-navigator/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/Git-pour-quoi-faire/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/08_Configure_ssh_to_listen_the_port_443_on_Snow_Leopard/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2010-01-04-Change-default-shell-on-Mac-OS-X/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2010-02-23-When-regexp-is-not-the-best-solution/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2010-08-31-send-mail-from-command-line-with-attached-file/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/06_How_I_use_git/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/Haskell-OpenGL-Mandelbrot/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/03_losthighway/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2010-08-31-send-mail-from-command-line-with-attached-file/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2010-06-14-multi-language-choices/ - 2012-10-06 - - - http://yannesposito.com/Scratch/assets/css/main.css - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2009-10-launch-daemon-from-command-line/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/01_nanoc/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2010-01-12-antialias-font-in-Firefox-under-Ubuntu/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2010-07-31-New-style-after-holidays/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2010-03-22-Git-Tips/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2010-02-16-All-but-something-regexp--2-/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/commandes-avancees/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/c-est-parti-pour-l-aventure/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/10_Synchronize_Custom_WebSite_with_mobileMe/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/Git-pour-quoi-faire/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2010-08-23-Now-heberged-on-heroku/ - 2012-10-06 + 2012-10-08 http://yannesposito.com/Scratch/en/blog/04_drm/ - 2012-10-06 + 2012-10-08 - http://yannesposito.com/Scratch/en/blog/02_ackgrep/ - 2012-10-06 + http://yannesposito.com/Scratch/en/blog/2011-01-03-Happy-New-Year/ + 2012-10-08 - http://yannesposito.com/Scratch/en/blog/2010-02-18-split-a-file-by-keyword/ - 2012-10-06 + http://yannesposito.com/Scratch/en/blog/2009-09-Disqus-versus-Intense-Debate--Why-I-switched-/ + 2012-10-08 - http://yannesposito.com/Scratch/en/blog/05_git_create_remote_branch/ - 2012-10-06 + http://yannesposito.com/Scratch/en/blog/A-more-convenient-diff/ + 2012-10-08 - http://yannesposito.com/Scratch/fr/blog/Higher-order-function-in-zsh/ - 2012-10-06 + http://yannesposito.com/Scratch/en/blog/2010-08-23-Now-heberged-on-heroku/ + 2012-10-08 - http://yannesposito.com/Scratch/en/blog/2010-05-19-How-to-cut-HTML-and-repair-it/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/c-est-parti-pour-l-aventure/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/about/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2010-07-09-Indecidabilities/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/08_Configure_ssh_to_listen_the_port_443_on_Snow_Leopard/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_3/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2009-10-How-to-preload-your-site-with-style/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2010-07-31-New-style-after-holidays/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/softwares/ypassword/web/ - 2012-10-06 + http://yannesposito.com/Scratch/en/blog/10_Synchronize_Custom_WebSite_with_mobileMe/ + 2012-10-08 http://yannesposito.com/Scratch/en/blog/2009-09-jQuery-Tag-Cloud/ - 2012-10-06 + 2012-10-08 - http://yannesposito.com/Scratch/en/blog/programming-language-experience/ - 2012-10-06 + http://yannesposito.com/Scratch/en/blog/2010-06-17-track-events-with-google-analytics/ + 2012-10-08 - http://yannesposito.com/Scratch/en/softwares/yclock/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/ - 2012-10-06 - - - http://yannesposito.com/Scratch/fr/blog/2010-06-19-jQuery-popup-the-easy-way/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2009-10-28-custom-website-synchronisation-with-mobileme--2-/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/Typography-and-the-Web/ - 2012-10-06 - - - http://yannesposito.com/Scratch/en/blog/2009-12-14-Git-vs--Bzr/ - 2012-10-06 + http://yannesposito.com/Scratch/en/blog/2010-01-12-antialias-font-in-Firefox-under-Ubuntu/ + 2012-10-08 http://yannesposito.com/Scratch/en/blog/2009-10-Wait-to-hide-a-menu-in-jQuery/ - 2012-10-06 + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2010-10-26-LaTeX-like-macro-and-markdown/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2009-12-06-iphone-call-filter/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/03_losthighway/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/11_Load_Disqus_Asynchronously/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2010-07-31-New-style-after-holidays/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/Yesod-tutorial-for-newbies/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2009-10-launch-daemon-from-command-line/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2010-06-14-multi-language-choices/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2011-04-20-Now-hosted-on-github/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2010-08-31-send-mail-from-command-line-with-attached-file/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2010-10-06-New-Blog-Design-Constraints/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/Haskell-Mandelbrot/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/Haskell-OpenGL-Mandelbrot/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/02_ackgrep/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/01_nanoc/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/05_git_create_remote_branch/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2010-07-07-CSS-rendering-problems-by-navigator/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/08_Configure_ssh_to_listen_the_port_443_on_Snow_Leopard/ + 2012-10-08 http://yannesposito.com/Scratch/en/blog/mvc/ - 2012-10-06 + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/07_Screensaver_compilation_option_for_Snow_Leopard/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2010-05-19-How-to-cut-HTML-and-repair-it/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2009-09-replace-all-except-some-part/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2009-10-How-to-preload-your-site-with-style/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2010-10-14-Fun-with-wav/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/09_Why_I_didn-t_keep_whosamung-us/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2009-10-28-custom-website-synchronisation-with-mobileme--2-/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2010-02-15-All-but-something-regexp/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2010-09-02-base64-and-sha1-on-iPhone/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/SVG-and-m4-fractals/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/Higher-order-function-in-zsh/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2010-06-19-jQuery-popup-the-easy-way/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2010-01-04-Change-default-shell-on-Mac-OS-X/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2010-06-15-Get-my-blog-engine/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/06_How_I_use_git/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2009-12-14-Git-vs--Bzr/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/Password-Management/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2010-07-05-Cappuccino-and-Web-applications/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/Learn-Vim-Progressively/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/Typography-and-the-Web/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/Yesod-excellent-ideas/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2009-10-Focus-vs-Minimalism/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2010-05-24-Trees--Pragmatism-and-Formalism/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/programming-language-experience/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/c-est-parti-pour-l-aventure/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/comprendre/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/Git-pour-quoi-faire/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/conf-et-install/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/commandes-avancees/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2009-10-30-How-to-handle-evil-IE/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2009-11-12-Git-for-n00b/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2010-03-23-Encapsulate-git/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2010-02-16-All-but-something-regexp--2-/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2010-03-22-Git-Tips/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/Haskell-the-Hard-Way/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2010-02-18-split-a-file-by-keyword/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_3/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_2/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_1/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/03_losthighway/03_losthighway_4/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2010-05-17-at-least-this-blog-revive/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2010-06-17-hide-yourself-to-analytics/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2010-07-09-Indecidabilities/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2009-10-untaught-git-usage/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/2010-02-23-When-regexp-is-not-the-best-solution/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/about/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/latest/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/rss/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/softwares/ypassword/iphoneweb/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/softwares/ypassword/web/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/softwares/ypassword/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/softwares/yclock/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/softwares/yaquabubbles/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/softwares/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/validation/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/about/old/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/about/technical_details/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/about/contact/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/04_drm/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2011-01-03-Happy-New-Year/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2009-09-Disqus-versus-Intense-Debate--Why-I-switched-/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/A-more-convenient-diff/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2010-08-23-Now-heberged-on-heroku/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/10_Synchronize_Custom_WebSite_with_mobileMe/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2009-09-jQuery-Tag-Cloud/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2010-06-17-track-events-with-google-analytics/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2010-01-12-antialias-font-in-Firefox-under-Ubuntu/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2009-10-Wait-to-hide-a-menu-in-jQuery/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2010-10-26-LaTeX-like-macro-and-markdown/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2009-12-06-iphone-call-filter/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/03_losthighway/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/11_Load_Disqus_Asynchronously/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2010-07-31-New-style-after-holidays/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/Yesod-tutorial-for-newbies/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2009-10-launch-daemon-from-command-line/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2010-06-14-multi-language-choices/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2011-04-20-Now-hosted-on-github/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2010-08-31-send-mail-from-command-line-with-attached-file/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2010-10-06-New-Blog-Design-Constraints/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/Haskell-Mandelbrot/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/Haskell-OpenGL-Mandelbrot/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/02_ackgrep/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/01_nanoc/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/05_git_create_remote_branch/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2010-07-07-CSS-rendering-problems-by-navigator/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/08_Configure_ssh_to_listen_the_port_443_on_Snow_Leopard/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/mvc/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/07_Screensaver_compilation_option_for_Snow_Leopard/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2010-10-10-Secure-eMail-on-Mac-in-few-steps/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2010-05-19-How-to-cut-HTML-and-repair-it/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2009-09-replace-all-except-some-part/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2009-10-How-to-preload-your-site-with-style/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2010-10-14-Fun-with-wav/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/09_Why_I_didn-t_keep_whosamung-us/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2009-10-28-custom-website-synchronisation-with-mobileme--2-/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2010-02-15-All-but-something-regexp/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2010-09-02-Use-git-to-calculate-trusted-mtimes/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2010-09-02-base64-and-sha1-on-iPhone/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/SVG-and-m4-fractals/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/Higher-order-function-in-zsh/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2010-06-19-jQuery-popup-the-easy-way/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2010-01-04-Change-default-shell-on-Mac-OS-X/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2010-06-15-Get-my-blog-engine/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/06_How_I_use_git/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2009-12-14-Git-vs--Bzr/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/Password-Management/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2010-07-05-Cappuccino-and-Web-applications/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/Learn-Vim-Progressively/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/Typography-and-the-Web/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/Yesod-excellent-ideas/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2009-10-Focus-vs-Minimalism/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2010-05-24-Trees--Pragmatism-and-Formalism/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/programming-language-experience/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/c-est-parti-pour-l-aventure/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/comprendre/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/Git-pour-quoi-faire/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/conf-et-install/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/commandes-avancees/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2009-10-30-How-to-handle-evil-IE/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2009-11-12-Git-for-n00b/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2010-03-23-Encapsulate-git/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2010-02-16-All-but-something-regexp--2-/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2010-03-22-Git-Tips/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/Haskell-the-Hard-Way/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2010-02-18-split-a-file-by-keyword/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_3/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_2/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_1/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/03_losthighway/03_losthighway_4/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2011-01-03-Why-I-sadly-won-t-use-coffeescript/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2010-05-17-at-least-this-blog-revive/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2010-06-17-hide-yourself-to-analytics/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2010-07-09-Indecidabilities/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2009-10-untaught-git-usage/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/2010-02-23-When-regexp-is-not-the-best-solution/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/about/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/latest/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/rss/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/softwares/ypassword/iphoneweb/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/softwares/ypassword/web/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/softwares/ypassword/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/softwares/yclock/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/softwares/yaquabubbles/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/softwares/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/validation/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/about/old/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/about/technical_details/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/about/contact/ + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/ + 2012-10-08 + + + http://yannesposito.com/ + 2012-10-08 + + + http://yannesposito.com/Scratch/en/blog/feed/feed.xml + 2012-10-08 + + + http://yannesposito.com/Scratch/fr/blog/feed/feed.xml + 2012-10-08 + + + http://yannesposito.com/Scratch/assets/css/main.css + 2012-10-08 + + + http://yannesposito.com/Scratch/assets/css/dynamic.css + 2012-10-08 diff --git a/output/index.html b/output/index.html index 09ffa0833..f2fbf5d16 100644 --- a/output/index.html +++ b/output/index.html @@ -110,7 +110,7 @@ Copyright ©, Yann Esposito

    - Modified: 10/06/2012 + Modified: 10/08/2012
    Entirely done with