2011-04-20 12:29:01 +00:00
<?xml version="1.0" encoding="utf-8"?>
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
< html xmlns = "http://www.w3.org/1999/xhtml" lang = "fr" xml:lang = "fr" >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=UTF-8" / >
2011-04-20 13:56:52 +00:00
< link rel = "shortcut icon" type = "image/x-icon" href = "/Scratch/img/favicon.ico" / >
< link rel = "stylesheet" type = "text/css" href = "/Scratch/assets/css/main.css" / >
2011-04-20 12:29:01 +00:00
< link rel = "alternate" type = "application/rss+xml" title = "RSS" href = "http://feeds.feedburner.com/yannespositocomen" / >
2011-04-20 13:56:52 +00:00
< link rel = "alternate" lang = "fr" xml:lang = "fr" title = "Blog" type = "text/html" hreflang = "fr" href = "/Scratch/fr/blog/" / >
< link rel = "alternate" lang = "en" xml:lang = "en" title = "Blog" type = "text/html" hreflang = "en" href = "/Scratch/en/blog/" / >
< script type = "text/javascript" src = "/Scratch/js/jquery-1.3.1.min.js" > < / script >
< script type = "text/javascript" src = "/Scratch/js/jquery.cookie.js" > < / script >
< script type = "text/javascript" src = "/Scratch/js/index.js" > < / script >
2011-04-20 12:29:01 +00:00
<!-- [if lt IE 9]>
< script src = "http://ie7-js.googlecode.com/svn/version/2.1(beta4)/IE9.js" > < / script >
<![endif]-->
< title > Blog< / title >
< / head >
< body lang = "en" >
< script type = "text/javascript" > / / < ! [ C D A T A [
2011-04-20 13:56:52 +00:00
document.write('< div id = "blackpage" > < img src = "/Scratch/img/loading.gif" alt = "loading..." / > < / div > ');
2011-04-20 12:29:01 +00:00
// ]]>
< / script >
< div id = "content" >
< div id = "entete" >
< div id = "choix" >
< div id = "choixrss" > < a id = "rss" href = "http://feeds.feedburner.com/yannespositocomen" > Subscribe< / a > < / div >
2011-04-20 13:56:52 +00:00
< div id = "choixlang" > < a href = "/Scratch/fr/blog/" onclick = "setLanguage('fr')" > en Français< / a > < / div >
2011-04-20 12:29:01 +00:00
< div id = "liens" >
2011-04-20 13:56:52 +00:00
< ul > < li > < a href = "/Scratch/en/" > Home< / a > < / li >
2011-04-20 12:29:01 +00:00
< li > < span class = "active" title = "You're here." > Blog< / span > < / li >
2011-04-20 13:56:52 +00:00
< li > < a href = "/Scratch/en/softwares/" > Softwares< / a > < / li >
< li > < a href = "/Scratch/en/about/" > About< / a > < / li > < / ul >
2011-04-20 12:29:01 +00:00
< / div >
< / div >
< / div >
2011-04-20 13:56:52 +00:00
< img src = "/Scratch/img/presentation.png" alt = "Presentation drawing" / >
2011-04-20 12:29:01 +00:00
< div id = "titre" >
< h1 >
Blog
< / h1 >
< / div >
< div class = "flush" > < / div >
< div class = "flush" > < / div >
< div id = "afterheader" >
< div class = "corps" >
< ul >
< li > < a href = "#last-articles" > 5 latest articles < span class = "nicer" > ⇓ < / span > < / a > < / li >
< li > < a href = "#tagcloud" > Tag Cloud < span class = "nicer" > ⇓ < / span > < / a > < / li >
< li > < a href = "#archives" > Achives < span class = "nicer" > ⇓ < / span > < / a > < / li >
< li > < a href = "#two-words-about-the-content" > Two words about the content < span class = "nicer" > ⇓ < / span > < / a > < / li >
< / ul >
< h2 id = "last-articles" >
Last 5 Articles
< / h2 >
< / div >
2011-09-27 15:11:40 +00:00
< h1 >
< span class = "date" >
< span class = "day" > 27< / span >
< span class = "month" > Sep< / span >
< span class = "year" > 2011< / span >
< / span >
< a href = "/Scratch/en/blog/Higher-order-function-in-zsh/" > Higher order function in zsh < span class = "nicer" > »< / span > < / a >
< / h1 >
< div class = "corps" >
< p > < img alt = "Title image" src = "/Scratch/img/blog/Higher-order-function-in-zsh/main.png" / > < / p >
< div class = "intro" >
< p > < span class = "sc" > < abbr title = "Too long; didn't read" > tl;dr< / abbr > : < / span > some simple implementation of higher order function for zsh.< / p >
< / div >
< pre class = "twilight" >
< span class = "Comment" > < span class = "Comment" > #< / span > for each directory in projects dir< / span >
< span class = "Keyword" > for< / span > toProject < span class = "Keyword" > in< / span > /path/to/projects/*(/N)< span class = "Keyword" > ;< / span > < span class = "Keyword" > do< / span >
< span class = "Comment" > < span class = "Comment" > #< / span > toProject is /path/to/projects/foo< / span >
< span class = "Comment" > < span class = "Comment" > #< / span > project become foo (:t for tail)< / span >
project=< span class = "Variable" > < / span > < / pre > < / p >
< div class = "flush" > < / div >
< div >
< p >
< a href = "/Scratch/en/blog/Higher-order-function-in-zsh/" > Read more < span class = "nicer" > »< / span > < / a >
< / p >
< / div >
< / div >
2011-09-06 06:59:30 +00:00
< h1 >
< span class = "date" >
< span class = "day" > 5< / span >
< span class = "month" > Sep< / span >
< span class = "year" > 2011< / span >
< / span >
2011-09-27 15:11:40 +00:00
< a href = "/Scratch/en/blog/programming-language-experience/" > Programming Language Experience < span class = "nicer" > »< / span > < / a >
2011-09-06 06:59:30 +00:00
< / h1 >
< div class = "corps" >
< p > < img alt = "Title image" src = "/Scratch/img/blog/programming-language-experience/main.png" / > < / p >
< div class = "intro" >
< span class = "sc" > < abbr title = "Too long; didn't read" > tl;dr< / abbr > : < / span > My feelings about programming languages I used.
< / div >
< h3 id = "basic" > BASIC< / h3 >
< p > The language of my firsts programs!
I was about 10, with an < code > MO5< / code > and < code > Amstrad CPC 6128< / code > and even with my < code > Atari STe< / code > .
This is the language of < code > GOTO< / code > s.
Ô nostalgia.
Unfortunately this might be the only interesting part of this language.< / p >
< p > Today this language is obsolescent.
It not even a good language to learn programming.
I know there exist some compiler now.
But this is not enough to try to learn it.< / p >
< pre class = "twilight" >
READY
10 PRINT < / pre > < / p >
< div class = "flush" > < / div >
< div >
< p >
< a href = "/Scratch/en/blog/programming-language-experience/" > Read more < span class = "nicer" > »< / span > < / a >
< / p >
< / div >
< / div >
2011-08-17 12:26:41 +00:00
< h1 >
< span class = "date" >
2011-08-26 13:48:47 +00:00
< span class = "day" > 25< / span >
2011-08-17 12:26:41 +00:00
< span class = "month" > Aug< / span >
< span class = "year" > 2011< / span >
< / span >
2011-08-26 13:48:47 +00:00
< a href = "/Scratch/en/blog/Learn-Vim-Progressively/" > Learn Vim Progressively < span class = "nicer" > »< / span > < / a >
2011-08-17 12:26:41 +00:00
< / h1 >
< div class = "corps" >
2011-08-26 13:48:47 +00:00
< p > < img alt = "Über leet use vim!" src = "/Scratch/img/blog/Learn-Vim-Progressively/uber_leet_use_vim.jpg" / > < / p >
2011-05-30 12:12:24 +00:00
< div class = "intro" >
2011-09-02 11:40:34 +00:00
< p > < span class = "sc" > < abbr title = "Too long; didn't read" > tl;dr< / abbr > : < / span > Want to learn vim (the best text editor known to human kind) the fastest way possible. I suggest you a way. Start by learning the minimal to survive, then integrate slowly all tricks.< / p >
2011-05-30 12:12:24 +00:00
< / div >
2011-08-19 14:08:50 +00:00
< p > < a href = "http://www.vim.org" > Vim< / a > the Six Billion Dollar editor< / p >
2011-05-30 12:12:24 +00:00
2011-08-19 14:08:50 +00:00
< blockquote >
< p > Better, Stronger, Faster.< / p >
< / blockquote >
2011-04-20 14:46:03 +00:00
2011-08-19 14:08:50 +00:00
< p > Learn < a href = "http://www.vim.org" > vim< / a > and it will be your last text editor.
There isn’ t any better text editor I know.
2011-08-26 13:48:47 +00:00
Hard to learn, but incredible to use.< / p >
2011-04-20 14:46:03 +00:00
2011-08-22 15:26:15 +00:00
< p > I suggest you to learn it in 4 steps:< / p >
2011-04-20 14:46:03 +00:00
2011-08-19 14:08:50 +00:00
< ol >
< li > Survive< / li >
2011-09-02 11:40:34 +00:00
...< / ol > < / p >
2011-04-20 14:46:03 +00:00
< div class = "flush" > < / div >
< div >
< p >
2011-08-26 13:48:47 +00:00
< a href = "/Scratch/en/blog/Learn-Vim-Progressively/" > Read more < span class = "nicer" > »< / span > < / a >
2011-04-20 14:46:03 +00:00
< / p >
< / div >
< / div >
2011-08-26 14:42:13 +00:00
< h1 >
< span class = "date" >
< span class = "day" > 18< / span >
< span class = "month" > May< / span >
< span class = "year" > 2011< / span >
< / span >
< a href = "/Scratch/en/blog/Password-Management/" > 40 character's passwords < span class = "nicer" > »< / span > < / a >
< / h1 >
< div class = "corps" >
< p > < img alt = "Title image" src = "/Scratch/img/blog/Password-Management/main.png" / > < / p >
< div class = "intro" >
2011-09-02 11:40:34 +00:00
< p > < span class = "sc" > < abbr title = "Too long; didn't read" > tl;dr< / abbr > : < / span > How I manage safely my password with success for some years now.< br / >
2011-08-26 14:42:13 +00:00
< strong > < code > sha1( password + domain_name )< / code > < / strong > < br / >
I memorize only one password.
I use a different password on all website.< / p >
< / div >
< p > Disclamer, this is an unashamed attempt to make you download my iPhone 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 >
< div class = "flush" > < / div >
< div >
< p >
< a href = "/Scratch/en/blog/Password-Management/" > Read more < span class = "nicer" > »< / span > < / a >
< / p >
< / div >
< / div >
< div class = "corps" >
< div >
< script type = "text/javascript" >
$(document).ready( function(){$('.list').hide();$('#tagcloud a').removeAttr("href")} );
function tagSelected(id) {
$('.list').hide();
$('#'+id).fadeIn();
$('.tag.selected').removeClass('selected');
$('#tag_'+id).addClass('selected');
}
2011-09-27 15:11:40 +00:00
< / script > < div id = "tagcloud" > < a href = "#editor" style = "font-size: 1.0em;" class = "tag" onclick = "tagSelected('editor')" id = "tag_editor" > editor< / a > < a href = "#tutorial" style = "font-size: 1.0em;" class = "tag" onclick = "tagSelected('tutorial')" id = "tag_tutorial" > tutorial< / a > < a href = "#vi" style = "font-size: 1.0em;" class = "tag" onclick = "tagSelected('vi')" id = "tag_vi" > vi< / a > < a href = "#vim" style = "font-size: 1.0em;" class = "tag" onclick = "tagSelected('vim')" id = "tag_vim" > vim< / a > < / div > < div id = "hiddenDivs" > < div id = "editor" class = "list" > < h4 > editor< / h4 > < ul style = "list-style-type: none; margin: 0;" >
2011-08-26 14:42:13 +00:00
< li style = "line-height: 3em; margin: 0;" >
< span class = "date" >
2011-09-27 15:11:40 +00:00
< span class = "day" > 25< / span >
2011-08-26 14:42:13 +00:00
< span class = "month" > Aug< / span >
2011-09-27 15:11:40 +00:00
< span class = "year" > 2011< / span >
2011-08-26 14:42:13 +00:00
< / span >
2011-09-27 15:11:40 +00:00
< a href = "/Scratch/en/blog/Learn-Vim-Progressively/" > Learn Vim Progressively < span class = "nicer" > »< / span > < / a >
2011-08-26 14:42:13 +00:00
< / li >
2011-09-27 15:11:40 +00:00
< / ul > < a class = "return" href = "#tagcloud" > ↑ < / a > < / div > < div id = "tutorial" class = "list" > < h4 > tutorial< / h4 > < ul style = "list-style-type: none; margin: 0;" >
2011-08-26 14:42:13 +00:00
< li style = "line-height: 3em; margin: 0;" >
< span class = "date" >
2011-09-27 15:11:40 +00:00
< span class = "day" > 25< / span >
2011-08-26 14:42:13 +00:00
< span class = "month" > Aug< / span >
2011-09-27 15:11:40 +00:00
< span class = "year" > 2011< / span >
2011-08-26 14:42:13 +00:00
< / span >
2011-09-27 15:11:40 +00:00
< a href = "/Scratch/en/blog/Learn-Vim-Progressively/" > Learn Vim Progressively < span class = "nicer" > »< / span > < / a >
2011-08-26 14:42:13 +00:00
< / li >
2011-09-27 15:11:40 +00:00
< / ul > < a class = "return" href = "#tagcloud" > ↑ < / a > < / div > < div id = "vi" class = "list" > < h4 > vi< / h4 > < ul style = "list-style-type: none; margin: 0;" >
2011-08-26 14:42:13 +00:00
< li style = "line-height: 3em; margin: 0;" >
< span class = "date" >
2011-09-27 15:11:40 +00:00
< span class = "day" > 25< / span >
2011-08-26 14:42:13 +00:00
< span class = "month" > Aug< / span >
2011-09-27 15:11:40 +00:00
< span class = "year" > 2011< / span >
2011-08-26 14:42:13 +00:00
< / span >
2011-09-27 15:11:40 +00:00
< a href = "/Scratch/en/blog/Learn-Vim-Progressively/" > Learn Vim Progressively < span class = "nicer" > »< / span > < / a >
2011-08-26 14:42:13 +00:00
< / li >
2011-09-27 15:11:40 +00:00
< / ul > < a class = "return" href = "#tagcloud" > ↑ < / a > < / div > < div id = "vim" class = "list" > < h4 > vim< / h4 > < ul style = "list-style-type: none; margin: 0;" >
2011-08-26 14:42:13 +00:00
< li style = "line-height: 3em; margin: 0;" >
< span class = "date" >
2011-09-27 15:11:40 +00:00
< span class = "day" > 25< / span >
< span class = "month" > Aug< / span >
< span class = "year" > 2011< / span >
2011-08-26 14:42:13 +00:00
< / span >
2011-09-27 15:11:40 +00:00
< a href = "/Scratch/en/blog/Learn-Vim-Progressively/" > Learn Vim Progressively < span class = "nicer" > »< / span > < / a >
2011-08-26 14:42:13 +00:00
< / li >
2011-09-27 15:11:40 +00:00
< / ul > < a class = "return" href = "#tagcloud" > ↑ < / a > < / div > < / div >
< / div >
< / div >
2011-08-26 14:42:13 +00:00
2011-09-27 15:11:40 +00:00
< h2 id = "archives" > Archives< / h2 >
2011-08-26 14:42:13 +00:00
2011-09-27 15:11:40 +00:00
< div id = "sousliens" class = "archive" > < h4 class = "button" onclick = "$('#archives_2011').slideToggle()" > [2011]< / h4 > < ul id = "archives_2011" > < li > < span class = "date" >
< span class = "day" > 27< / span >
2011-08-26 14:42:13 +00:00
< span class = "month" > Sep< / span >
< span class = "year" > 2011< / span >
2011-09-27 15:11:40 +00:00
< / span > < a href = "/Scratch/en/blog/Higher-order-function-in-zsh/" > Higher order function in zsh< span class = "nicer" > »< / span > < / a > < / li > < li > < span class = "date" >
< span class = "day" > 5< / span >
2011-08-26 14:42:13 +00:00
< span class = "month" > Sep< / span >
2011-09-27 15:11:40 +00:00
< span class = "year" > 2011< / span >
< / span > < a href = "/Scratch/en/blog/programming-language-experience/" > Programming Language Experience< span class = "nicer" > »< / span > < / a > < / li > < li > < span class = "date" >
< span class = "day" > 25< / span >
2011-08-17 12:26:41 +00:00
< span class = "month" > Aug< / span >
< span class = "year" > 2011< / span >
2011-08-26 14:42:13 +00:00
< / span > < a href = "/Scratch/en/blog/Learn-Vim-Progressively/" > Learn Vim Progressively< span class = "nicer" > »< / span > < / a > < / li > < li > < span class = "date" >
< span class = "day" > 18< / span >
< span class = "month" > May< / span >
< span class = "year" > 2011< / span >
2011-09-27 15:11:40 +00:00
< / span > < a href = "/Scratch/en/blog/Password-Management/" > 40 character's passwords< span class = "nicer" > »< / span > < / a > < / li > < / ul > < script type = "text/javascript" > $ ( '#archives_2011' ) . hide ( ) < / script > < / div >
2011-04-20 12:29:01 +00:00
< h2 id = "two-words-about-the-content" >
Two words about the content
< / h2 >
< div class = "corps" >
< p >
Here you'll can find mostly technical articles.
Some are just reminder of technical tips.
But some are long and technically detailled articles.
< / p >
< hr / >
< p >
I do my best to traduce each page in french and in english.
It not always easy. English is not my natural language.
I make many errors, orthographic, grammatical, typographical…
< / p >
< p >
< strong > Thanks not to judge me based on these errors! And don't forget content is more important than presentation! < / strong >
< / p > < p >
The first impression I'll let you if we meet in real life should be different from the one I let you based on my website.
< / p > < p >
I wish you to find something useful or interesting on this website.
< / p >
< div class = "return" > < a href = "#entete" onclick = "fastShowMenu()" > ↑ < / a > < / div >
< / div >
< div id = "bottom" >
< div >
< a rel = "license" href = "http://creativecommons.org/licenses/by-sa/3.0/" > Copyright ©, Yann Esposito< / a >
< / div >
< div id = "lastmod" >
2011-05-30 12:23:11 +00:00
Modified: 05/30/2011
2011-04-20 12:29:01 +00:00
< / div >
< div >
Entirely done with
< a href = "http://www.vim.org" > Vim< / a >
and
< a href = "http://nanoc.stoneship.org" > nanoc< / a >
< / div >
< div >
2011-04-20 13:56:52 +00:00
< a href = "/Scratch/en/validation/" > Validation< / a >
2011-04-20 12:29:01 +00:00
< a href = "http://validator.w3.org/check?uri=referer" > [xhtml] < / a >
.
< a href = "http://jigsaw.w3.org/css-validator/check/referer?profile=css3" > [css] < / a >
.
2011-04-20 13:56:52 +00:00
< a href = "http://validator.w3.org/feed/check.cgi?url=http%3A//yannesposito.com/Scratch/en/blog/feed/feed.xml" > [rss]< / a >
2011-04-20 12:29:01 +00:00
< / div >
< / div >
< div class = "clear" > < / div >
< / div >
< script type = "text/javascript" >
var clicky = { log: function(){ return; }, goal: function(){ return; }};
var clicky_site_id = 66374971;
(function() {
var s = document.createElement('script');
s.type = 'text/javascript';
s.async = true;
s.src = ( document.location.protocol == 'https:' ? 'https://static.getclicky.com/js' : 'http://static.getclicky.com/js' );
( document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0] ).appendChild( s );
})();
< / script >
< noscript > < p > < img alt = "Clicky" width = "1" height = "1" src = "http://in.getclicky.com/66374971ns.gif" / > < / p > < / noscript >
< / body >
< / html >