From c27ef7e205c5b718c07dcd7a04becd56f4b50a02 Mon Sep 17 00:00:00 2001 From: "Yann Esposito (Yogsototh)" Date: Thu, 15 Apr 2010 11:45:50 +0200 Subject: [PATCH] new version working (almost) --- content/html/en/about.md | 13 ++ content/html/en/about/cv.md | 147 +++++++++++++++++- content/html/en/blog/03_losthighway.md | 6 +- .../blog/03_losthighway/03_losthighway_2.md | 2 +- .../blog/03_losthighway/03_losthighway_4.md | 4 +- content/html/en/blog/06_How_I_use_git.md | 6 +- ...ver_compilation_option_for_Snow_Leopard.md | 2 +- ...ynchronize_Custom_WebSite_with_mobileMe.md | 111 ++++++++++++- ...bsite-synchronisation-with-mobileme--2-.md | 16 +- .../blog/2009-10-30-How-to-handle-evil-IE.md | 8 +- .../en/blog/2009-10-Focus-vs-Minimalism.md | 2 +- ...-10-How-to-preload-your-site-with-style.md | 4 +- .../2009-10-Wait-to-hide-a-menu-in-jQuery.md | 8 +- ...2009-10-launch-daemon-from-command-line.md | 2 +- .../en/blog/2009-10-untaught-git-usage.md | 36 ++--- .../html/en/blog/2009-11-12-Git-for-n00b.md | 8 +- .../Git-pour-quoi-faire.md | 26 +--- .../c-est-parti-pour-l-aventure.md | 15 +- .../commandes-avancees.md | 84 +++++----- .../conf-et-install.md | 42 ++--- .../html/en/blog/2009-12-14-Git-vs--Bzr.md | 48 +++--- ...-01-04-Change-default-shell-on-Mac-OS-X.md | 4 +- .../2010-02-15-All-but-something-regexp.md | 16 +- ...2010-02-16-All-but-something-regexp--2-.md | 24 +-- .../2010-02-18-split-a-file-by-keyword.md | 8 +- content/html/en/blog/mvc.md | 1 + content/html/en/contact.md | 5 +- content/html/en/index.md | 2 +- content/html/fr/about.md | 8 +- content/html/fr/about/cv.md | 69 ++------ content/html/fr/blog/03_losthighway.md | 6 +- .../blog/03_losthighway/03_losthighway_2.md | 2 +- .../blog/03_losthighway/03_losthighway_4.md | 4 +- content/html/fr/blog/06_How_I_use_git.md | 6 +- ...ver_compilation_option_for_Snow_Leopard.md | 2 +- ...ynchronize_Custom_WebSite_with_mobileMe.md | 110 ++++++++++++- ...bsite-synchronisation-with-mobileme--2-.md | 16 +- .../blog/2009-10-30-How-to-handle-evil-IE.md | 8 +- .../fr/blog/2009-10-Focus-vs-Minimalism.md | 2 +- ...-10-How-to-preload-your-site-with-style.md | 4 +- .../2009-10-Wait-to-hide-a-menu-in-jQuery.md | 8 +- ...2009-10-launch-daemon-from-command-line.md | 2 +- .../fr/blog/2009-10-untaught-git-usage.md | 36 ++--- .../html/fr/blog/2009-11-12-Git-for-n00b.md | 8 +- .../Git-pour-quoi-faire.md | 26 +--- .../c-est-parti-pour-l-aventure.md | 15 +- .../commandes-avancees.md | 84 +++++----- .../conf-et-install.md | 42 ++--- .../html/fr/blog/2009-12-14-Git-vs--Bzr.md | 48 +++--- ...-01-04-Change-default-shell-on-Mac-OS-X.md | 4 +- .../2010-02-15-All-but-something-regexp.md | 16 +- ...2010-02-16-All-but-something-regexp--2-.md | 24 +-- .../2010-02-18-split-a-file-by-keyword.md | 8 +- content/html/fr/contact.md | 5 +- content/html/fr/index.md | 3 +- recupall | 8 +- recupen.pl | 22 ++- recupfr.pl | 22 ++- 58 files changed, 775 insertions(+), 493 deletions(-) diff --git a/content/html/en/about.md b/content/html/en/about.md index f17d29b02..4eb2946eb 100644 --- a/content/html/en/about.md +++ b/content/html/en/about.md @@ -55,11 +55,24 @@ newcorps ## In two words + I’m a passionate guy. Passionate about - Computer Science: [I’ve got a post Ph. D. degree in Computer Science](http://yann.esposito.free.fr/recherche.php). - Programming: [I developed two scientific apps](http://yann.esposito.free.fr/logiciels.php), [two Mac screen savers](/YBlog/Softwares.html), - Computer Security: [I designed a secure web protocol (similar to TOR)](http://yann.esposito.free.fr/enseignement/rez0.php#projet), [a method to securely remember strong passwords](/YBlog/Computer/Entries/2008/7/30_Easy,_secure_and_portable_password_management_system.html) ([programmed a dashboard widget](/YBlog/YPassword.html) and a shell script to use this method). + + + +Je suis un passioné. Passioné par : + + - L'informatique scientifique : [j'ai un doctorat en Informatique](http://yann.esposito.free.fr/recherche.php?lang=fr) ; + - Programmation: j'ai développé [deux applications scientifiques](http://yann.esposito.free.fr/logiciels.php) ainsi que des [éconimiseurs d'écran pour Mac](/YBlog/Softwares.html). + - Sécurité informatique: j'ai modélisé [un protocole sécurisé (similaire à TOR)](http://yann.esposito.free.fr/enseignement/rez0.php#projet), [une méthode pour gérer de façon sécurisé ses mots de passes](/YBlog/Computer/Entries/2008/7/30_Easy,_secure_and_portable_password_management_system.html), un [widget](/YBlog/YPassword.html) et un script shell pour utiliser cette méthode. + + + +But before all, I love to learn. For example, I learned many programming languages: `C`, `C++`, `Objective-C`, `Python`, `Java`, `Perl`, `awk`, `bash`, `zsh`, `LaTeX`, `Metapost`, `camL`... And I’ve got the same passion about computer science research, computer security, philosophy and many other things. diff --git a/content/html/en/about/cv.md b/content/html/en/about/cv.md index 84c9c4b59..200d34229 100644 --- a/content/html/en/about/cv.md +++ b/content/html/en/about/cv.md @@ -36,7 +36,151 @@ newcorps Professional background -
+ + + + + from 2007 : Airfrance consultant, Astek, Sophia Antipolis, France :: + 2006-2007 : Post PhD in the Laboratory Hubert Curien, Saint-Etienne, France :: + 2004-2006 : ATER, (College Degree Teacher) :: + 2001-2004 : Allocataire Moniteur (PhD student with a grant + a teach grant) :: + 1999-2000 : College degree teaching :: + + + +newcorps + +

+ + Education +

+ + + + + 2004 : PhD Degree in computer science in the + LIF, + Université de Provence, + Marseille (France) :: + 2001 : DEA in computer science :: + 2000 : Maîtrise in computer science :: + 1999 : Licence in computer science :: + 1998 : DEUG MIAS (Math) :: + 1995 : BAC S :: + + + +newcorps + +

+ + Research activities + +

+ +

+ + Background +

+ + + + + +

+ + studied objects +

+ + + + + + +

+ + main theoretical results +

+ + +

+ + Softwares +

+ +

SEDiL

+

+ + SEDiL: + Software aimed to learn tree edit distances. + Developped in JAVA (11.000 lines with javadoc comments) ; + +

+ +

+ + main features: +

+ + +

DEES

+ + DEES: Software of Multiplicity Automata inference @@ -82,7 +226,6 @@ newcorps
  • And many others...
  • -
    newcorps diff --git a/content/html/en/blog/03_losthighway.md b/content/html/en/blog/03_losthighway.md index e132537f1..bc1c95fc9 100644 --- a/content/html/en/blog/03_losthighway.md +++ b/content/html/en/blog/03_losthighway.md @@ -15,7 +15,7 @@ multiDescription: ----- -<%= blogimage( 'intro.jpg' , 'Lost Highway' ) %> +<%= blogimage( 'Lost Highway' , 'intro.jpg' ) %> @@ -68,7 +68,7 @@ I believe I had found a coherent interpretation which allow to follow the movie ## The Rorschach test -<%= leftblogimage('rorschach.gif' , 'test de Rorschach') %> +<%= leftblogimage( 'test de Rorschach','rorschach.gif' ) %> !!fr!! À l'instar du protagoniste chacun voit dans ce film ce qu'il a envie d'y voir. Nous pouvons nous y perdre simplement parce que nous pouvons nous perdre dans notre propre esprit. C'est une invitation à la réflexion. Regarder ce film c'est un peu comme passer un test de Rorschach. Qu'y voit-on ? Chacun y met un peu de sa propre personnalité dans l'explication du film. @@ -104,5 +104,5 @@ I write this post because I believe I had found an interpretation which seems co
    - Lire la suiteRead more + Read more
    diff --git a/content/html/en/blog/03_losthighway/03_losthighway_2.md b/content/html/en/blog/03_losthighway/03_losthighway_2.md index 7455143bb..517a5a733 100644 --- a/content/html/en/blog/03_losthighway/03_losthighway_2.md +++ b/content/html/en/blog/03_losthighway/03_losthighway_2.md @@ -14,7 +14,7 @@ multiTitle: ## Who is the mysterious man? -<%= leftblogimage( "mysteryman.jpg" , "l'homme mystérieux" ) %> +<%= leftblogimage( "l'homme mystérieux" , "mysteryman.jpg" ) %> Who's this mysterious man? He tells Fred it's him who invited him in his house. He's present at the party and in the house of Fred in the same time. Eyes wide open, looking everything Fred's doing? diff --git a/content/html/en/blog/03_losthighway/03_losthighway_4.md b/content/html/en/blog/03_losthighway/03_losthighway_4.md index ddf27bfb6..4a79aeef5 100644 --- a/content/html/en/blog/03_losthighway/03_losthighway_4.md +++ b/content/html/en/blog/03_losthighway/03_losthighway_4.md @@ -31,9 +31,9 @@ Dans ma première vision du film, j'avais envie de dire qu'il ne la tue pas. Mai !!!! -!!en!! + The protagonist is a garagist fallen in love with a porno actress. He believe the producer is the bad guy who go again his will. Then he kills Dick Laurent. -!!!! + ### #2 Hypothesis diff --git a/content/html/en/blog/06_How_I_use_git.md b/content/html/en/blog/06_How_I_use_git.md index 2c54b5595..9d7f17d74 100644 --- a/content/html/en/blog/06_How_I_use_git.md +++ b/content/html/en/blog/06_How_I_use_git.md @@ -19,7 +19,7 @@ tags: ----- -<%= blogimage("central_architecture.png","central architecture") %> +<%= blogimage("central architecture","central_architecture.png") %> I use [Git](http://www.git-scm.org/) to manage my personnal projects. @@ -162,12 +162,12 @@ This is why I created two simple scripts to automate this. One for creating a br Then when you want to create a new branch (locally and remotely) ; you simply have to do a: -git-create-new-branch branch_name +
    git-create-new-branch branch_name
    and when you are on another computer and want to get locally all the remote branches you execute: -git-get-remote-branches +
    git-get-remote-branches
    Here are the code of theese two scripts: diff --git a/content/html/en/blog/07_Screensaver_compilation_option_for_Snow_Leopard.md b/content/html/en/blog/07_Screensaver_compilation_option_for_Snow_Leopard.md index fc5640d22..bd63eea56 100644 --- a/content/html/en/blog/07_Screensaver_compilation_option_for_Snow_Leopard.md +++ b/content/html/en/blog/07_Screensaver_compilation_option_for_Snow_Leopard.md @@ -27,7 +27,7 @@ After a bit more research (thanks to [ElectricSheep](http://community.electricsh I discovered the good parameters for compilation. -<%= blogimage("xcodeConfig.png","XCode configuration") %> +<%= blogimage("XCode configuration","xcodeConfig.png") %> For now I didn't compiled it to work also on Tiger and Leopard. I don't know XCode enought to know how to make the Garbage collector to be disabled on 32 bits version and enabled on 64 bits version. diff --git a/content/html/en/blog/10_Synchronize_Custom_WebSite_with_mobileMe.md b/content/html/en/blog/10_Synchronize_Custom_WebSite_with_mobileMe.md index 9e923bb3c..f683d0aaa 100644 --- a/content/html/en/blog/10_Synchronize_Custom_WebSite_with_mobileMe.md +++ b/content/html/en/blog/10_Synchronize_Custom_WebSite_with_mobileMe.md @@ -53,8 +53,8 @@ Here is the script I use in order to synchronize my website with maximum safety. The idea are: - - synchronize to a temporary folder then swap the name therefore the website isn't accessible only during the swap time. It takes only the time of two rename. - - reiterate all operations until they work (for example, renaming). + - Synchroniser vers un répertoire temporaire sur le serveur distant, puis "swapper" les noms des répertoires. Ainsi le site ne reste indisponible que le temps du "swap" du nom des deux répertoires. + - Réitérer toutes les opérations jusqu'à ce qu'elle aient réussi (par exemple pour le renommage) For now I use `rsync` which in fact is no more efficient than a simple `cp` with WebDav. And I should use a method to keep track of elements who have changed. before the publication. @@ -69,6 +69,113 @@ My script take a `-s` option in order to make only the swap option. It also take In order to keep this script working for you, just modify the username by yours (the value of the `mobileMeUser`). + +
    + +#!/usr/bin/env zsh + +# Script synchronisant le site sur me.com +# normalement, le site est indisponible le moins de temps possible +# le temps de deux renommages de répertoire + +mobileMeUser="yann.esposito" +siteName="siteName" + +# Depending of my hostname the +if [[ $(hostname) == 'ubuntu' ]]; then + iDisk='/mnt/iDisk' +else + iDisk="/Volumes/$mobileMeUser" +fi + +root=$HOME/Sites/$siteName +destRep=$iDisk/Web/Sites/$siteName + +[[ ! -d $root ]] && { + print -- "$root n'existe pas ; vérifiez la conf" >&2; + exit 1 +} + +[[ ! -d $destRep ]] && { + print -- "$destRep n'existe pas, veuillez remonter le FS" >&2; + exit 1 +} + +if [[ $1 == '-h' ]]; then + print -- "usage: $0:h [-h|-a|-s]" + print -- " -a sychronise aussi l'index" + print -- " -h affiche l'aide" + print -- " -s swappe simplement les répertoires" +fi + +if [[ $1 == '-a' ]]; then + print -- "Synchronisation de l'index (${destRep:h})" + rsync -av $root/index.html ${destRep:h}/index.html +fi + +print -- "Root = $root" +print -- "Dest = $destRep" + +if [[ ! $1 = '-s' ]]; then + [[ ! -d $destRep.tmp ]] && mkdir $destRep.tmp + print -P -- "%B[Sync => tmp]%b" + result=1 + essai=1 + while (( $result > 0 )); do + rsync -arv $root/Scratch/ $destRep.tmp + result=$? + if (( $result > 0 )); then + print -P -- "%BEchec du rsync%b (essai n°$essai)" >&2 + fi + ((essai++)) + done +fi + +# SWAP +print -P -- "%B[Swap des Répertoires (tmp <=> target)]%b" +essai=1 +while [[ -e $destRep.old ]]; do + print -n -- "suppression de $destRep.old" + if ((essai>1)); then + print " (essai n°$essai)" + else + print + fi + ((essai++)) + \rm -rf $destRep.old +done + +print -- " renommage du repertoire sandard vers le .old" +essai=1 +while [[ -e $destRep ]]; do + mv $destRep $destRep.old + (($?)) && print -- "Echec du renommage (essai n°$essai)" >&2 + ((essai++)) +done + +print -- " renommage du repertoire tmp (nouveau) vers le standard" +print -P -- " %BSite Indisponible%b $(date)" +essai=1 +while [[ ! -e $destRep ]]; do + mv $destRep.tmp $destRep + (($?)) && print -P -- "%B[Site Indisponible]%b(essai n°$essai) Echec du renommage (mv $destRep.tmp $destRep)" >&2 + ((essai++)) +done + +print -P -- "\t===\t%BSITE DISPONIBLE%b\t===" + +print -- " renommage du repertoire old vers le tmp" +essai=1 +while [[ ! -e $destRep ]]; do + mv $destRep.old $destRep.tmp + (($?)) && print -P -- "Echec du renommage n°$essai" >&2 + ((essai++)) +done + +print -P -- " publication terminée" + +
    +
    #!/usr/bin/env zsh diff --git a/content/html/en/blog/2009-10-28-custom-website-synchronisation-with-mobileme--2-.md b/content/html/en/blog/2009-10-28-custom-website-synchronisation-with-mobileme--2-.md index 8d58508bf..8df410579 100644 --- a/content/html/en/blog/2009-10-28-custom-website-synchronisation-with-mobileme--2-.md +++ b/content/html/en/blog/2009-10-28-custom-website-synchronisation-with-mobileme--2-.md @@ -31,17 +31,17 @@ Here is my new script, it first create a map which associate to each file its ha Even with this script I also have some problem. Mostly due to 'webdav' issues. For example, renaming a folder work really badly (on Linux at least). I use webdavfs. For example: - +
    mv folder folder2 - +
    It returns OK and I've got: - +
    $ ls folder folder2 - +
    Booh.... @@ -49,7 +49,7 @@ Booh.... In order to handle most webdav issues I use a *framework* in zsh. It handle almost all except the correct renaming of folder. Working on it... Anyway here is the code I use. - +
    #!/usr/bin/env zsh function samelineprint { @@ -158,12 +158,12 @@ function trymv { done print } - +
    And here is the code on how I synchronize my website. There is a little cryptic code. It correspond a problem caused by the bluecloth filter which is a markdown program made in ruby. Each time my email is written it is transformed differently. This is why I remove this part from the content of each html file. Without it, all my files containing email are different at each regeneration of my website. - +
    #!/usr/bin/env zsh # Script synchronisant le site sur me.com @@ -285,7 +285,7 @@ else print -P -- "%BSync%b[${Root:t} => ${destRep:t}$suffix]" incrementalPublish fi - +
    This is my way to replace `rsync` with filesystem not handling it. diff --git a/content/html/en/blog/2009-10-30-How-to-handle-evil-IE.md b/content/html/en/blog/2009-10-30-How-to-handle-evil-IE.md index 51cec6d94..916ca8b6d 100644 --- a/content/html/en/blog/2009-10-30-How-to-handle-evil-IE.md +++ b/content/html/en/blog/2009-10-30-How-to-handle-evil-IE.md @@ -24,16 +24,16 @@ For developer IE is a nightmare. This is why, I use a method to disable my stand - +
    $(document).ready( function() { if ($.browser["msie"]) { // include the ie.js file $('head').append('