From 49452080bfadcbf1efd953f0982140ef1e4169d8 Mon Sep 17 00:00:00 2001
From: "Yann Esposito (Yogsototh)" yann.esposito@gmail.com But before all, I love to learn. For example, I learned many programming languages: But before all, I love to learn. For example, I learned many programming languages: Then I had a post Ph. D. Degree position in the Hubert Curien Laboratory at St-Etienne. My mission consisted to develop a scientific application (SEDiL). This application should be used by biologist and should have a simple and nice user interface. Today I work for AirFrance© via Astek. This job need many differents skills, CMS and Web technologies, Perl, JSP, meta-programming… Today I work for AirFrance© via Astek. This job need many differents skills, CMS and Web technologies, Perl, JSP, meta-programming…
Follow me on twitter
My preferred bookmarks pinboard
Open Source github
diff --git a/output/Scratch/en/about/index.html b/output/Scratch/en/about/index.html
index 70d10c86a..100705a7a 100644
--- a/output/Scratch/en/about/index.html
+++ b/output/Scratch/en/about/index.html
@@ -104,7 +104,7 @@
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.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.
You have to program yourself webpages, the code -to generate the menu…
+to generate the menu…I added feature to make my website multilingual for example
-You’ll can find many informations on the +
You’ll can find many informations on the official nanoc website.
diff --git a/output/Scratch/en/blog/02_ackgrep/index.html b/output/Scratch/en/blog/02_ackgrep/index.html index 0c62da131..b82d3aab0 100644 --- a/output/Scratch/en/blog/02_ackgrep/index.html +++ b/output/Scratch/en/blog/02_ackgrep/index.html @@ -54,11 +54,11 @@As Andy Lester told me ack
is a simple file you only have to copy in your ~/bin
folder. Now I’ve got ack
on my professional server.
As Andy Lester told me ack
is a simple file you only have to copy in your ~/bin
folder. Now I’ve got ack
on my professional server.
Go on http://betterthangrep.com to download it.
-Sincerely, I don’t understand ack
don’t become a common command on all UNIX systems. I can no more live without. For me it is as essential as which
or find
.
Sincerely, I don’t understand ack
don’t become a common command on all UNIX systems. I can no more live without. For me it is as essential as which
or find
.
In a first, it is clear for me, it is not a fantastic movie. If you follow this line, you’ll face many problem explaining some scenes.
+In a first, it is clear for me, it is not a fantastic movie. If you follow this line, you’ll face many problem explaining some scenes.
-My hypothesis is the movie describe the Fred’s representation of reality. +
My hypothesis is the movie describe the Fred’s representation of reality. Each of his tries to escape reality will fail.
-Fred had commited an horrible act, a murder, and try to repair his memory to accepts it. He’ll then create alternative realities.
+Fred had commited an horrible act, a murder, and try to repair his memory to accepts it. He’ll then create alternative realities.
Because of the dialog at the begining of the movie. Cops ask Fred if he’s own a video camera:
+Because of the dialog at the begining of the movie. Cops ask Fred if he’s own a video camera:
--“Do you own a video camera?”
+
-“No, Fred hates them.”
-“I like to remember things my own way.”
-“What do you mean by that?”
-“How I remember them, not necessarily the way they happened.”“Do you own a video camera?”
+“No, Fred hates them.”
+“I like to remember things my own way.”
+“What do you mean by that?”
+“How I remember them, not necessarily the way they happened.”
Then, what we see is not reality but the Fred’s perception. Fred is the God of the reality we see. This is why some God/Devil interpretation of the movie works not so bad.
+Then, what we see is not reality but the Fred’s perception. Fred is the God of the reality we see. This is why some God/Devil interpretation of the movie works not so bad.
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?
+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?
-It’s a key of the movie. In my humble opinion, I believe it represents the bad part of Fred. Certainly jalousy. If I was catholic, I’ll said he’s Satan. He observe, film but don’t act. He helps Fred to kill Dick Laurent. +
It’s a key of the movie. In my humble opinion, I believe it represents the bad part of Fred. Certainly jalousy. If I was catholic, I’ll said he’s Satan. He observe, film but don’t act. He helps Fred to kill Dick Laurent. Fred had let him enter and cannot let him go. As Iago of Shakespeare is imprisonned by its own jalousy. The Mysterious Man help Fred doing the acts of violence. It also force Fred to remember the reality.
-When he makes love to his wife (Renee), he sees the face of the Mysterious Man instead of his wife’s face. In reality, it’s the same person for Fred. It should be her who’s the origin of his interior badness.
+When he makes love to his wife (Renee), he sees the face of the Mysterious Man instead of his wife’s face. In reality, it’s the same person for Fred. It should be her who’s the origin of his interior badness.
Certainly it’s the mysterious man (Fred himself) who makes them. +
Certainly it’s the mysterious man (Fred himself) who makes them. Their reason should be:
The second hypothesis seems better. We can make much more interpretation with it. It explain in most part the strange phone call from Dick Laurent to Pete. -But the first hypothesis remain coherent. And, we should probably make an in depth explanantion using the first hypothesis. And I’m not sure it would be better.
+But the first hypothesis remain coherent. And, we should probably make an in depth explanantion using the first hypothesis. And I’m not sure it would be better.One of the strength of this movie is to understand there is many other coherent hypothesis. It is an expression of the Rashomon effect. Many different persons could describe in a coherent manner what they saw. But each description contradicts the others.
@@ -85,9 +85,9 @@ But the first hypothesis remain coherent. And, we should probably make an in depThere is much to tell about this movie. But I believe I put all essential keys here. It is a proof this movie is not a random one.
-I believe it is essential to remember the “test of Rorschach effet” when watching this movie.
+I believe it is essential to remember the “test of Rorschach effet” when watching this movie.
-I’d like to know or opinion ; is my interpration wrong?
+I’d like to know or opinion ; is my interpration wrong?
and I don’t speak about many point of view found in forums.
+and I don’t speak about many point of view found in forums.
I finished to find two good site talking about this movie. But none of them still totally convinced me:
@@ -84,7 +84,7 @@ Here some of explanations of Lost Highway I found on the Internet:Nonetheless, this movie must be watched knowing you’ll cannot resolve the solution. At his best you’ll can suggest an interpretation close to the one of David Lynch.
+Nonetheless, this movie must be watched knowing you’ll cannot resolve the solution. At his best you’ll can suggest an interpretation close to the one of David Lynch.
I believe I had found a coherent interpretation which allow to follow the movie without being totally lost. I believed it can give the keys necessary to make its own idea of the movie.
@@ -92,16 +92,16 @@ Here some of explanations of Lost Highway I found on the Internet: -Like the protagonist, everybody see what he want to see in this movie. It is an invitation to think. Watch this movie is a little like watch a Rorschach’s test. What do we see in it? Everybody put its own personnality in the interpretation of the movie.
+Like the protagonist, everybody see what he want to see in this movie. It is an invitation to think. Watch this movie is a little like watch a Rorschach’s test. What do we see in it? Everybody put its own personnality in the interpretation of the movie.
Generally, we stay in this movie and we fail explaining everything. There is almost always a point that don’t fit within the interpretation of the movie. This is why trying to find a unique good interpretation of this movie is a mistake.
+Generally, we stay in this movie and we fail explaining everything. There is almost always a point that don’t fit within the interpretation of the movie. This is why trying to find a unique good interpretation of this movie is a mistake.
-I give an interpretation and not an explanation. Just to tell my vision of the movie should be very different from yours. There is certainly many coherent explanations.
diff --git a/output/Scratch/en/blog/04_drm/index.html b/output/Scratch/en/blog/04_drm/index.html index f6b27e01d..812eda4af 100644 --- a/output/Scratch/en/blog/04_drm/index.html +++ b/output/Scratch/en/blog/04_drm/index.html @@ -66,7 +66,7 @@WTF?
Result, my wife would never buy any TV show on iTunes. She don’t like DVD because it is not as easy to buy and to use than to simply download episodes.
+Result, my wife would never buy any TV show on iTunes. She don’t like DVD because it is not as easy to buy and to use than to simply download episodes.
My wife won’t see these episodes.
-This is a ‘LOSE-LOSE’ cooperation.
My wife won’t see these episodes.
+This is a ‘LOSE-LOSE’ cooperation.
I use Git to manage my personnal projects. I have a centralized repository which all my computer should synchronize with. -Unfortunately I didn’t find clearly what I needed on the official Git documentation.
+Unfortunately I didn’t find clearly what I needed on the official Git documentation.In two words, if you want to use an SVN workflow with Git (and all its advantages) here is how to proceed.
@@ -70,7 +70,7 @@ Unfortunately I didn’t find clearly what I needed on the official Git documentSuppose I’ve got a directory on my local computer containing a project I want to manage via Git. Here what to do:
+Suppose I’ve got a directory on my local computer containing a project I want to manage via Git. Here what to do:
diff --git a/output/Scratch/en/blog/07_Screensaver_compilation_option_for_Snow_Leopard/index.html b/output/Scratch/en/blog/07_Screensaver_compilation_option_for_Snow_Leopard/index.html index 6474cfb3b..536234a1e 100644 --- a/output/Scratch/en/blog/07_Screensaver_compilation_option_for_Snow_Leopard/index.html +++ b/output/Scratch/en/blog/07_Screensaver_compilation_option_for_Snow_Leopard/index.html @@ -56,15 +56,15 @@@@ -72,7 +72,7 @@How to recompile your screensaver to be Snow Leopard© compatible
-I upgraded to Mac OS X 10.6 Snow Leopard©, and my YClock screensaver didn’t work on it. After searching on google, the problem seems to be just a recompilation away. -Unfortunately, even recompiling it in 64 bit it didn’t work either. +
I upgraded to Mac OS X 10.6 Snow Leopard©, and my YClock screensaver didn’t work on it. After searching on google, the problem seems to be just a recompilation away. +Unfortunately, even recompiling it in 64 bit it didn’t work either. After a bit more research (thanks to ElectricSheep ).
I discovered the good parameters for compilation.
-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.
+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.
It was a bit difficult to discover these informations. Hope this post helped someone.
diff --git a/output/Scratch/en/blog/08_Configure_ssh_to_listen_the_port_443_on_Snow_Leopard/index.html b/output/Scratch/en/blog/08_Configure_ssh_to_listen_the_port_443_on_Snow_Leopard/index.html index 3474415ba..3eca6d070 100644 --- a/output/Scratch/en/blog/08_Configure_ssh_to_listen_the_port_443_on_Snow_Leopard/index.html +++ b/output/Scratch/en/blog/08_Configure_ssh_to_listen_the_port_443_on_Snow_Leopard/index.html @@ -72,7 +72,7 @@ ssh -p 443 -D 9050 username@hostSsh and Snow Leopard©
-Here I don’t want to talk about how great socks proxy via ssh tunneling is but how to configure my local server.
+Here I don’t want to talk about how great socks proxy via ssh tunneling is but how to configure my local server.
I have Mac with Snow Leopard© at home and it is far from enough to modify the
diff --git a/output/Scratch/en/blog/10_Synchronize_Custom_WebSite_with_mobileMe/index.html b/output/Scratch/en/blog/10_Synchronize_Custom_WebSite_with_mobileMe/index.html index c15fa7801..57cc7965b 100644 --- a/output/Scratch/en/blog/10_Synchronize_Custom_WebSite_with_mobileMe/index.html +++ b/output/Scratch/en/blog/10_Synchronize_Custom_WebSite_with_mobileMe/index.html @@ -83,13 +83,13 @@/etc/sshd.config
file. The system uselaunchd
to launch starting daemons.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.
+- 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).
For now I use
-rsync
which in fact is no more efficient than a simplecp
with WebDav. And I should use a method to keep track of elements who have changed. before the publication.In fact when I’m on a Mac, I use Transmit which is very cool and far more efficient than the Finder to synchronize files. After the synchronization, I swap the directories.
+In fact when I’m on a Mac, I use Transmit which is very cool and far more efficient than the Finder to synchronize files. After the synchronization, I swap the directories.
My script take a
diff --git a/output/Scratch/en/blog/11_Load_Disqus_Asynchronously/index.html b/output/Scratch/en/blog/11_Load_Disqus_Asynchronously/index.html index c82d4d7ba..4f48b128c 100644 --- a/output/Scratch/en/blog/11_Load_Disqus_Asynchronously/index.html +++ b/output/Scratch/en/blog/11_Load_Disqus_Asynchronously/index.html @@ -58,7 +58,7 @@-s
option in order to make only the swap option. It also take a-a
in order to put the newindex.html
which should point to the new homepage (not the iWeb one).In fact this method works for old threads. But it fails to create new post threads. This is why I tried and be conquered by intensedebate, as you can see in the bottom of this page.
-Remark I didn’t have any comment on my blog when I switched. Therefore my lack of influence was a good thing :-).
+Remark I didn’t have any comment on my blog when I switched. Therefore my lack of influence was a good thing :-).
I also know there is a jQuery plugin to make just that. Unfortunately I had some issue with CSS.
-Now let’s begin.
+Now let’s begin.
Why should I want to load the disqus javascript asynchronously?
I give a solution with jQuery, but I’m certain it will work with many other js library.
+I give a solution with jQuery, but I’m certain it will work with many other js library.
But with this option you still need to provide a CSS. This is why you have to copy the css code from the embed.js
file and rewrite it in a CSS file. You can download the CSS I obtained.
Now it’s done. I believe all should be fine but I just finished the manip for my own site only 1 hour ago. Therefore there should be some error, tell me if it is the case.
+Now it’s done. I believe all should be fine but I just finished the manip for my own site only 1 hour ago. Therefore there should be some error, tell me if it is the case.
diff --git a/output/Scratch/en/blog/2009-09-Disqus-versus-Intense-Debate--Why-I-switched-/index.html b/output/Scratch/en/blog/2009-09-Disqus-versus-Intense-Debate--Why-I-switched-/index.html index 6cd3a90f6..9527ebf8c 100644 --- a/output/Scratch/en/blog/2009-09-Disqus-versus-Intense-Debate--Why-I-switched-/index.html +++ b/output/Scratch/en/blog/2009-09-Disqus-versus-Intense-Debate--Why-I-switched-/index.html @@ -56,7 +56,7 @@I made a blog entry about how I tried to integrate Disqus. I had to wait Disqus comment to be displayed before loading correctly my page. This is why I tried to include it in a “non-blocking” way. Unfortunately, I had difficulties to make it works correctly.
+I made a blog entry about how I tried to integrate Disqus. I had to wait Disqus comment to be displayed before loading correctly my page. This is why I tried to include it in a “non-blocking” way. Unfortunately, I had difficulties to make it works correctly.
Furthermore, it was not trivial to make comment to be shared between multiple version of the same page (each page has three differents representations, one for each language and one more for the multi-language version).
@@ -64,7 +64,7 @@During the time I tried to integrate Disqus I never tried Intense Debate. Now that I have tried, i must confess it does exactly what I needed.
-In order to make it fully asynchronous, you’ve just to download their common js and replace the following line:
+In order to make it fully asynchronous, you’ve just to download their common js and replace the following line:
@@ -87,8 +87,8 @@To conclude, main advantages (for me) of Intense Debate over Disqus:
Voilà.
diff --git a/output/Scratch/en/blog/2009-09-jQuery-Tag-Cloud/index.html b/output/Scratch/en/blog/2009-09-jQuery-Tag-Cloud/index.html index 86e980743..9f27b6fa9 100644 --- a/output/Scratch/en/blog/2009-09-jQuery-Tag-Cloud/index.html +++ b/output/Scratch/en/blog/2009-09-jQuery-Tag-Cloud/index.html @@ -59,7 +59,7 @@ All my site is static and pages are generated with -This is why I’ll give only a Ruby Generator, not a full javascript generator. +
This is why I’ll give only a Ruby Generator, not a full javascript generator. But you can easily translate from Ruby to Javascript.
Here is what you should obtain:
@@ -79,7 +79,7 @@ But you can easily translate from Ruby to Javascript. $('.tag.selected').removeClass('selected'); $('#tag_'+id).addClass('selected'); } -I believe the goal researched by minimalism is Focus. But I don’t believe minimalism should be the goal. Focus should be the goal, and I believe minimalism isn’t necessary to reach it.
+I believe the goal researched by minimalism is Focus. But I don’t believe minimalism should be the goal. Focus should be the goal, and I believe minimalism isn’t necessary to reach it.
-This is why my design is not minimalist, but I decided to remove most of the navigation stuff of all pages of my website. May be I’ll prefer to hide the menu only when you are on blog article. For now, I hide the menu everywhere on the website.
+This is why my design is not minimalist, but I decided to remove most of the navigation stuff of all pages of my website. May be I’ll prefer to hide the menu only when you are on blog article. For now, I hide the menu everywhere on the website.
I first tried to integrate queryLoader, but it didn’t fill my needs.
+I first tried to integrate queryLoader, but it didn’t fill my needs.
The plugin add a black div to hide all the content. But as the script had to be launched at the end of the source code my website show for a small time.
diff --git a/output/Scratch/en/blog/2009-10-Wait-to-hide-a-menu-in-jQuery/index.html b/output/Scratch/en/blog/2009-10-Wait-to-hide-a-menu-in-jQuery/index.html index b17d9ae17..c742264a8 100644 --- a/output/Scratch/en/blog/2009-10-Wait-to-hide-a-menu-in-jQuery/index.html +++ b/output/Scratch/en/blog/2009-10-Wait-to-hide-a-menu-in-jQuery/index.html @@ -135,7 +135,7 @@Simple and lightweight. No timer (almost), no memory leak, no Date…
+Simple and lightweight. No timer (almost), no memory leak, no Date…
Here is a tip, I don’t know why, but I almost always forgot how to do that.
+Here is a tip, I don’t know why, but I almost always forgot how to do that.
When you want to launch a command and this command should not be killed after you close your terminal. Here is how to accomplish that from command line:
diff --git a/output/Scratch/en/blog/2009-10-untaught-git-usage/index.html b/output/Scratch/en/blog/2009-10-untaught-git-usage/index.html index 77251606a..091c5c2ec 100644 --- a/output/Scratch/en/blog/2009-10-untaught-git-usage/index.html +++ b/output/Scratch/en/blog/2009-10-untaught-git-usage/index.html @@ -54,9 +54,9 @@I explain why I had so much difficulties to use Git. There is an “untaught rule” that make hard to work without. Until I read the good document.
+I explain why I had so much difficulties to use Git. There is an “untaught rule” that make hard to work without. Until I read the good document.
-“Cheap branches” aren’t designed to be totally isolated branches but rather should follow a “Master Branch”. There is a Standard Workflow to follow. If you don’t follow it, you prepare yourself with some hard time with Git.
+“Cheap branches” aren’t designed to be totally isolated branches but rather should follow a “Master Branch”. There is a Standard Workflow to follow. If you don’t follow it, you prepare yourself with some hard time with Git.
I must say I was completely convinced. And the more you learn about DCVS the more you see good reason to use them.
-I then needed a versioning system for my team. As they were not used to open source versioning system except those heavy, with a GUI and with and administrator†
+I then needed a versioning system for my team. As they were not used to open source versioning system except those heavy, with a GUI and with and administrator†
After some web searches, I founded three main choices:
@@ -82,7 +82,7 @@After trying each other I chosen Bazaar. It has the simplest User Interface*. My choice was done.
+After trying each other I chosen Bazaar. It has the simplest User Interface*. My choice was done.
After some times, reading on many blogs, I realize Git is far more popular and by influent people.
I then decide to use Git in particular to version this current website. -But after trying it, I found it difficult and couter intuitive (I’ll speak a work about it later).
+But after trying it, I found it difficult and couter intuitive (I’ll speak a work about it later).After calling for some help, when I say Bazaar is much simpler to learn, some people answer me that Git:
-— SO-MUCH-EASY my 12 year old daughter uses it to version its school documents. She has no difficulties at all, creating branches, blah, blah, blah…
+— SO-MUCH-EASY my 12 year old daughter uses it to version its school documents. She has no difficulties at all, creating branches, blah, blah, blah…
If a 12 years old girl has no problem with Git and I (with my Computer Science Ph.D.) have difficulties to uses it like I want, it is frustrating and humiliating. But what makes Git natural for some people and confusing for me?
-I finally understood why reading a document I didn’t read before. It was the untaught part of the conception. The part every developer found so natural it is not necessary to say a word about it. But it was not natural for me.
+I finally understood why reading a document I didn’t read before. It was the untaught part of the conception. The part every developer found so natural it is not necessary to say a word about it. But it was not natural for me.
-† - I speak about ClearCase©. I know there exists command line tools. But it was not the way my team used it.
+† - I speak about ClearCase©. I know there exists command line tools. But it was not the way my team used it.
-* - I never really given its chance to Mercurial. The terminology they chosen was too far from the svn one. And I was used to it.
+* - I never really given its chance to Mercurial. The terminology they chosen was too far from the svn one. And I was used to it.
When you see explanation about branches and DCVS we imagine each branch is totally uncorrelated to each other, except when merging. Everything is magic. This is the “Parallel World” explanation. This way of seeing is explained more in depth in the real good article about branches on betterexplained.
+When you see explanation about branches and DCVS we imagine each branch is totally uncorrelated to each other, except when merging. Everything is magic. This is the “Parallel World” explanation. This way of seeing is explained more in depth in the real good article about branches on betterexplained.
Git was designed to manage the Linux Kernel. Git was designed using the concept of Patch instead of Parallel Worlds.
@@ -124,11 +124,11 @@ But after trying it, I found it difficult and couter intuitive (I’ll speak a wI will not argument about which is the best. Just tell my vision of DCVS come from the Parallel World vision and Git was designed the other way‡.
+I will not argument about which is the best. Just tell my vision of DCVS come from the Parallel World vision and Git was designed the other way‡.
I believe I understood conceptual mechanism under Git. But I had some difficulties with real usage. The worst point, the one I didn’t get before long was because I didn’t get really well the notion of Cheap Branching.
+I believe I understood conceptual mechanism under Git. But I had some difficulties with real usage. The worst point, the one I didn’t get before long was because I didn’t get really well the notion of Cheap Branching.
What is a Cheap Branch? If like me you come from Bazaar, it is a totally new notion. It is in fact the ability to create a branches all of them using the same directory.
@@ -136,10 +136,10 @@ But after trying it, I found it difficult and couter intuitive (I’ll speak a wIn theory, Cheap Branches are exactly like Bazaar branches. The word used is Branch and not Cheap Branch. But there is a slight difference between them. A slight difference between a Cloned Branch and a Cheap Branch.
-A “Standard branch” is what is theoretically a kind of new Parallel World. +
A “Standard branch” is what is theoretically a kind of new Parallel World. But Cheap branch was designed to be future Patch for the main branch of the directory/Cloned branch.
-Of course, I know anybody can state you can totally use Cheap branches as Cloned branches. But they weren’t designed for that. On daily usage, it is a bit uneasy to use it like this.
+Of course, I know anybody can state you can totally use Cheap branches as Cloned branches. But they weren’t designed for that. On daily usage, it is a bit uneasy to use it like this.
Here how Git cheap branches should be used (for more details see Git for Designers):
@@ -148,11 +148,11 @@ But Cheap branch was designed to be future Patch for the mainHere’s how you should not use Git:
+Here’s how you should not use Git:
This simple minor difference of point of view confused me a lot.
@@ -232,15 +232,15 @@ With Bazaar it is:--
- — Try to find the good keyword for this operation
-- — Wrong! Try again!
-- — False, it is not yet right!
+- — Try to find the good keyword for this operation
+- — Wrong! Try again!
+- — False, it is not yet right!
That were the Git bad side. But It has many advantages. Once you’ve understood the cheap branching paradigm. All became clearer for me after. Even if there is also some difficulties with the edit of the .git/config
files (not user friendly at all).
That were the Git bad side. But It has many advantages. Once you’ve understood the cheap branching paradigm. All became clearer for me after. Even if there is also some difficulties with the edit of the .git/config
files (not user friendly at all).
‡ I must precise that I worked a lot with multi-modal logic and particularly about “Temporal Logics” (linear or not). This is why I was more inclined to see things this way. “Ah ! Just to remember my firsts love with computer science !”
+‡ I must precise that I worked a lot with multi-modal logic and particularly about “Temporal Logics” (linear or not). This is why I was more inclined to see things this way. “Ah ! Just to remember my firsts love with computer science !”
Speaking about features I’ll tell Git is the best. -But Git was too much in my way. Is was exactly what I didn’t want for my first DCVS.
+Speaking about features I’ll tell Git is the best. +But Git was too much in my way. Is was exactly what I didn’t want for my first DCVS.
-I shouldn’t have had those difficulties about understanding cheap branching which must be a patch. In reality, Git make a difference between the Tree and the Branch. Which is obviously not the case for Bazaar. Conceptually, bazaar is simpler to understand.
+I shouldn’t have had those difficulties about understanding cheap branching which must be a patch. In reality, Git make a difference between the Tree and the Branch. Which is obviously not the case for Bazaar. Conceptually, bazaar is simpler to understand.
In conclusion, I use Git more often than Bazaar and I must say, that I have some preferences for Git. However, Git lack hardly clear commands name like revert
.
-For now I don’t made alias to correct that. But may be one day I should do that.
Git is a DCVS, which means a Decentralized Concurrent Versions System. Let’s analyze each part of this long term:
+Git is a DCVS, which means a Decentralized Concurrent Versions System. Let’s analyze each part of this long term:
Firstly, versions system manage files. When somebody work with files without a versions system, the following happens frequently:
-When you modify a somehow critical file you don’t want to loose. You copy naturally this file with another name. For example:
+When you modify a somehow critical file you don’t want to loose. You copy naturally this file with another name. For example:
$ cp fichier_important.c fichier_important.c.bak
In consequence of what, the new file, play the role of backup. If you break everything, you can always return in the last state by overwriting your modifications. -Of course, this method is not very professional and is a bit limited. If you make many modifications, you’ll end with many files with strange names like:
+Of course, this method is not very professional and is a bit limited. If you make many modifications, you’ll end with many files with strange names like:@@ -97,7 +97,7 @@ old.fichier_important.c
If you want to make it works correctly, you’ll have to use naming convention. Files take many place even if you modify most of time only some lines.
+If you want to make it works correctly, you’ll have to use naming convention. Files take many place even if you modify most of time only some lines.
Fortunately, versions system are here to help.
@@ -105,13 +105,13 @@ old.fichier_important.cOnce upon a time versions were managed for each file separately. I think about CVS. Then it naturally appears projects are a coherent set of files. Recover each file separately was a tedious work. This is why versions number passed from files to the entire project.
-It is therefore possible to say, “I want to get back three days earlier”.
+It is therefore possible to say, “I want to get back three days earlier”.
What gives versions system? (I didn’t mention everything at all)
+What gives versions system? (I didn’t mention everything at all)
Version Systems are already useful to manage its own projects. They help to organize and resolve partially backup problems. I say partially because you have to backup your repository on a decent file system. But versions system are really interesting is on projects done by many people.
-Let’s begin by an example, a two person project ; Alex and Beatrice. On a file containing a Lovecraft’s gods list:
+Let’s begin by an example, a two person project ; Alex and Beatrice. On a file containing a Lovecraft’s gods list:
@@ -187,7 +187,7 @@ Yogsototh
This word became popular only recently about CVS. And it mainly means two things:
-First, until really recently (SVN), you’ll have to be connected to the distant server to get informations about a project. Like get the history. New decentralized systems work with a local REPOSITORY (directory containing backups and many informations linked to the versions system functionalities). Hence, one can view the history of a project without the need of being connected.
+First, until really recently (SVN), you’ll have to be connected to the distant server to get informations about a project. Like get the history. New decentralized systems work with a local REPOSITORY (directory containing backups and many informations linked to the versions system functionalities). Hence, one can view the history of a project without the need of being connected.
All instances of a project can live independently.
@@ -212,7 +212,7 @@ YogsotothTypical example:
-I develop my project. I’m ameliorating something. An urgent bug is reported.
+I develop my project. I’m ameliorating something. An urgent bug is reported.
With a DCVS I can easily, get back to the version with the bug. Fix it. Send the fix. Get back to my feature work. And even, use the fix for the new version with my new feature.
@@ -237,7 +237,7 @@ YogsotothTo resume
-Let’s resume what we can easily do with DCVS:
+Let’s resume what we can easily do with DCVS:
Versions Systems
@@ -263,7 +263,7 @@ Yogsototh- Easily manipulate branches
-Now let’s see how to obtain all these things easily with Git.
+Now let’s see how to obtain all these things easily with Git.
Conflicts can arise when you change the same line of code on the same file from another branch you’re merging. It can seems a bit intimidating, but with Git this kind of thing is really simple to handle.
+Conflicts can arise when you change the same line of code on the same file from another branch you’re merging. It can seems a bit intimidating, but with Git this kind of thing is really simple to handle.
Now you’re ready to use Git. -Git provide many other functionnalities. Now we’ll see some Git usages older CVS couldn’t handle.
+Now you’re ready to use Git. +Git provide many other functionnalities. Now we’ll see some Git usages older CVS couldn’t handle.
diff --git a/output/Scratch/en/blog/2009-11-12-Git-for-n00b/comprendre/index.html b/output/Scratch/en/blog/2009-11-12-Git-for-n00b/comprendre/index.html index 1f0b9c81c..7d4c15654 100644 --- a/output/Scratch/en/blog/2009-11-12-Git-for-n00b/comprendre/index.html +++ b/output/Scratch/en/blog/2009-11-12-Git-for-n00b/comprendre/index.html @@ -70,9 +70,9 @@All was done to code and decide how to organize your versions after. In other VCS it is not as natural as in Git.
-With Git you can depend of many different sources. Then, there is not necessarily a ‘master’ repository where everybody puts its modifications.
+With Git you can depend of many different sources. Then, there is not necessarily a ‘master’ repository where everybody puts its modifications.
-What changes the most with Git when you come from SVN, it’s the idea of a centralized project on one server. With Git many people could work on the same project but not necessarily on the same repository as main reference. One can easily fix a bug and send a patch to many different versions of a project.
+What changes the most with Git when you come from SVN, it’s the idea of a centralized project on one server. With Git many people could work on the same project but not necessarily on the same repository as main reference. One can easily fix a bug and send a patch to many different versions of a project.
diff --git a/output/Scratch/en/blog/2009-11-12-Git-for-n00b/conf-et-install/index.html b/output/Scratch/en/blog/2009-11-12-Git-for-n00b/conf-et-install/index.html index aa6e563f4..e8230cfb6 100644 --- a/output/Scratch/en/blog/2009-11-12-Git-for-n00b/conf-et-install/index.html +++ b/output/Scratch/en/blog/2009-11-12-Git-for-n00b/conf-et-install/index.html @@ -127,7 +127,7 @@ $ cd ~/Projets $ git clone git://main.server/path/to/file -If there is no git server but you’ve got an ssh
access. Just replace the git://host
by ssh://user@host
. In order not to type your password each time, use:
If there is no git server but you’ve got an ssh
access. Just replace the git://host
by ssh://user@host
. In order not to type your password each time, use:
$ ssh-keygen -t rsa @@ -151,7 +151,7 @@ me@main.server$ rm id_rsa.pub me@main.server$ logout
Now you don’t need to write your password to access the main.server
.
Now you don’t need to write your password to access the main.server
.
Let do a small remark. If you don’t want to version every file. Typically intermediate compilation file, swap files… Then you need to exclude them. Just before launching the git add .
command. You need to create a .gitignore
file in the root directory of your project. This file will contain all exclude pattern. For example:
Let do a small remark. If you don’t want to version every file. Typically intermediate compilation file, swap files… Then you need to exclude them. Just before launching the git add .
command. You need to create a .gitignore
file in the root directory of your project. This file will contain all exclude pattern. For example:
*.o diff --git a/output/Scratch/en/blog/2009-11-12-Git-for-n00b/index.html b/output/Scratch/en/blog/2009-11-12-Git-for-n00b/index.html index febab8250..b34e6a7b8 100644 --- a/output/Scratch/en/blog/2009-11-12-Git-for-n00b/index.html +++ b/output/Scratch/en/blog/2009-11-12-Git-for-n00b/index.html @@ -62,7 +62,7 @@-@@ -110,7 +110,7 @@ git commit -a -m "Fix bug git pushA detailed tutorial of Git for people knowing very few about versions systems. You’ll understand utility of such program and how we use modern version control system. I try to stay as pragmatic as possible.
+A detailed tutorial of Git for people knowing very few about versions systems. You’ll understand utility of such program and how we use modern version control system. I try to stay as pragmatic as possible.
This article is written for people knowing very few about versionning systems. It is also written for those who had didn’t followed progress since CVS or subversion (SVN). This is why, in a first time I’ll explain quickly which are the goal of such systems. Secondly, I’ll explain how to install and configure Git. Then, I give the command for each feature a DCVS must have.
+This article is written for people knowing very few about versionning systems. It is also written for those who had didn’t followed progress since CVS or subversion (SVN). This is why, in a first time I’ll explain quickly which are the goal of such systems. Secondly, I’ll explain how to install and configure Git. Then, I give the command for each feature a DCVS must have.
diff --git a/output/Scratch/en/blog/2009-12-06-iphone-call-filter/index.html b/output/Scratch/en/blog/2009-12-06-iphone-call-filter/index.html index 0b5477768..486210497 100644 --- a/output/Scratch/en/blog/2009-12-06-iphone-call-filter/index.html +++ b/output/Scratch/en/blog/2009-12-06-iphone-call-filter/index.html @@ -56,7 +56,7 @@It is unbelievable you cannot filter your call with an iPhone! The only reason I see for that is a negotiation with phone operator to force users to get phone advertising. It is simple unacceptable.
-I’m a λ iPhone’s user. The only way to filter your call and to manage blacklist is to jailbreak your iPhone. And I don’t want to do that. Then, if like me you find it unacceptable, just write a line to Apple: http://www.apple.com/feedback/iphone.html
+I’m a λ iPhone’s user. The only way to filter your call and to manage blacklist is to jailbreak your iPhone. And I don’t want to do that. Then, if like me you find it unacceptable, just write a line to Apple: http://www.apple.com/feedback/iphone.html
Why even if I believe git
has many bad point I believe it is the best DCVS around to work with. This is why I first tell why I prefer Bazaar over Git. Secondly I’ll talk about the only advantage of git against Bazaar which lead me to prefer it.
Why even if I believe git
has many bad point I believe it is the best DCVS around to work with. This is why I first tell why I prefer Bazaar over Git. Secondly I’ll talk about the only advantage of git against Bazaar which lead me to prefer it.
There is two way of perceive version control system. Either you think in term of branches (see the really good article on betterexplained) or think in term of patches. Another way to say that, is weather you concentrate on vertices or on transitions of the graph of possible states of your project.
-This is the second approach who was behind git
and this is the first behind Bazaar. git
was created by Linus Torvald in order to close some gap in the version system used to develop the Linux kernel. And patches is a term which is more present than ‘state’ in the development community.
This is the second approach who was behind git
and this is the first behind Bazaar. git
was created by Linus Torvald in order to close some gap in the version system used to develop the Linux kernel. And patches is a term which is more present than ‘state’ in the development community.
I first was convinced by Bazaar. Why? Argument in favor of Bazaar were: user friendly, terminology close to the subversion one. And I tried a bit the two, and it was clearly more natural for me to use Bazaar. But after seeing so many people using git
I decided to give it a serious try.
Yes, hum…
+Yes, hum…
It works, but it is clearly not really user friendly. Furthermore, checkout had a complete different signification in older CSV like cvs
et svn
. checkout
was used to get a distant project locally.
Bazaar terminology is far more natural, because there is no command to change the current branch as there is only one branch per directory. Changing a branch in Bazaar is changing the current directory. I also believe it is the biggest problem of Bazaar, I’ll tell you why. And to undo things in Bazaar:
+Bazaar terminology is far more natural, because there is no command to change the current branch as there is only one branch per directory. Changing a branch in Bazaar is changing the current directory. I also believe it is the biggest problem of Bazaar, I’ll tell you why. And to undo things in Bazaar:
bzr revert pipo
@@ -159,7 +159,7 @@ git commit -m "reverted 3
The rule is simple: NEVER use the git reset
command on a version somebody else could have fetched
-It was said. Discover the best method took me some time. I’d made many different tries. The safer and best way of reverting back your tree is to use this method. If you want to make it automatic just had the following alias in your ~/.gitconfig
. Of course this alias will work only on environment having zsh
installed. Which is the cas for most UNIX (Ubuntu, Mac OS X…).
+It was said. Discover the best method took me some time. I’d made many different tries. The safer and best way of reverting back your tree is to use this method. If you want to make it automatic just had the following alias in your ~/.gitconfig
. Of course this alias will work only on environment having zsh
installed. Which is the cas for most UNIX (Ubuntu, Mac OS X…).
@@ -170,7 +170,7 @@ git commit -m "reverted 3
What make git
by far the best DCVS today
-After talking about the negatives points of git
, now it’s time to speak about the very positive feature that make git
the best DCVS in my humble opinion.
+After talking about the negatives points of git
, now it’s time to speak about the very positive feature that make git
the best DCVS in my humble opinion.
Cheap branching
diff --git a/output/Scratch/en/blog/2010-02-15-All-but-something-regexp/index.html b/output/Scratch/en/blog/2010-02-15-All-but-something-regexp/index.html
index 6a5bc1fb3..1deece8e6 100644
--- a/output/Scratch/en/blog/2010-02-15-All-but-something-regexp/index.html
+++ b/output/Scratch/en/blog/2010-02-15-All-but-something-regexp/index.html
@@ -66,7 +66,7 @@
But, there exists a major problem: the complementary of a regular language might not be regular.
Then, for some expression it is absolutely impossible to negate a regular expression.
-But sometimes with some simple regular expression it should be possible†. Say you want to match everything containing the some word say bull
but don’t want to match bullshit
. Here is a nice way to do that:
+But sometimes with some simple regular expression it should be possible†. Say you want to match everything containing the some word say bull
but don’t want to match bullshit
. Here is a nice way to do that:
# match all string containing 'bull' (bullshit comprised)
@@ -122,7 +122,7 @@ There certainly exists many other methods. But the important lesson is
it is not straightforward to exclude something of a regular expression.
-†
+
†
It can be proved that any regular set minus a finite set is also regular.
diff --git a/output/Scratch/en/blog/2010-02-16-All-but-something-regexp--2-/index.html b/output/Scratch/en/blog/2010-02-16-All-but-something-regexp--2-/index.html
index dc2f51842..d6c4d3327 100644
--- a/output/Scratch/en/blog/2010-02-16-All-but-something-regexp--2-/index.html
+++ b/output/Scratch/en/blog/2010-02-16-All-but-something-regexp--2-/index.html
@@ -54,7 +54,7 @@
- In my previous post 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:
+ In my previous post 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:
a.....a......b..b..a....a....b...
@@ -75,7 +75,7 @@ a.....a......b..b..a....
The next natural way, is to change the greediness. But it is not enough as you will match from the first a
to the first b
.
-Then a simple constatation is that our matching string shouldn’t contain any a
nor b
. Which lead to the last elegant solution.
+Then a simple constatation is that our matching string shouldn’t contain any a
nor b
. Which lead to the last elegant solution.
/a[^ab]*b/
@@ -105,7 +105,7 @@ For example:
<li>...<li</li>
-That string should not match. This is why if we really want to match it correctly† we need to add:
+That string should not match. This is why if we really want to match it correctly† we need to add:
<li>([^<]|<[^l]|<l[^i]|<li[^>])*(|<|<l|<li)</li>
@@ -142,7 +142,7 @@ For example:
And it works in only 9 lines for any beginning and ending string. This solution should look less I AM THE GREAT REGEXP M45T3R, URAN00B, but is more convenient in my humble opinion. Further more, using this last solution prove you master regexp, because you know it is difficult to manage such problems with only a regexp.
-† I know I used an HTML syntax example, but in my real life usage, I needed to match between en:
and ::
. And sometimes the string could finish with e::
.
+† I know I used an HTML syntax example, but in my real life usage, I needed to match between en:
and ::
. And sometimes the string could finish with e::
.
diff --git a/output/Scratch/en/blog/2010-02-18-split-a-file-by-keyword/index.html b/output/Scratch/en/blog/2010-02-18-split-a-file-by-keyword/index.html
index 386eed944..a41e77c8c 100644
--- a/output/Scratch/en/blog/2010-02-18-split-a-file-by-keyword/index.html
+++ b/output/Scratch/en/blog/2010-02-18-split-a-file-by-keyword/index.html
@@ -54,7 +54,7 @@
- Strangely enough, I didn’t find any built-in tool to split a file by keyword. I made one myself in awk
. I put it here mostly for myself. But it could also helps someone else.
+
Strangely enough, I didn’t find any built-in tool to split a file by keyword. I made one myself in awk
. 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 UTC
.
diff --git a/output/Scratch/en/blog/2010-03-22-Git-Tips/index.html b/output/Scratch/en/blog/2010-03-22-Git-Tips/index.html
index f9d1e576b..ca017a431 100644
--- a/output/Scratch/en/blog/2010-03-22-Git-Tips/index.html
+++ b/output/Scratch/en/blog/2010-03-22-Git-Tips/index.html
@@ -72,7 +72,7 @@ git clone git+ssh://git@github.com:443/yogsototh/project.git
git clone
can only fetch the master branch.
-If you don’t have much branches, you can simply use clone your project and then use the following command:
+If you don’t have much branches, you can simply use clone your project and then use the following command:
git branch --track local_branch remote_branch
diff --git a/output/Scratch/en/blog/2010-03-23-Encapsulate-git/index.html b/output/Scratch/en/blog/2010-03-23-Encapsulate-git/index.html
index 4e27a1fe9..b8c3bce0f 100644
--- a/output/Scratch/en/blog/2010-03-23-Encapsulate-git/index.html
+++ b/output/Scratch/en/blog/2010-03-23-Encapsulate-git/index.html
@@ -128,7 +128,7 @@ git co clientB && git merge client
:dev => [ :master ],
:client => [ :clientA, :clientB ] }
-def get_current_branch()
+def get_current_branch()
(`git branch --no-color | awk '$1 == "*" {print $2}'`).chop.intern
end
diff --git a/output/Scratch/en/blog/2010-05-17-at-least-this-blog-revive/index.html b/output/Scratch/en/blog/2010-05-17-at-least-this-blog-revive/index.html
index 136737ad6..bc4f5f05b 100644
--- a/output/Scratch/en/blog/2010-05-17-at-least-this-blog-revive/index.html
+++ b/output/Scratch/en/blog/2010-05-17-at-least-this-blog-revive/index.html
@@ -60,14 +60,14 @@
The more you wait to do something, the more difficult it is to start doing it.
-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.
+
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.
> Stop write TODO
in your code and make it now!
-> You’ll be surprised by the results.
+> You’ll be surprised by the results.
In short:
> Just do it! ou Juste fait le comme auraient dit les nuls.
-Finally I’ll certainly write blog post more often for a short period of time.
+Finally I’ll certainly write blog post more often for a short period of time.
What did I do?
@@ -77,7 +77,7 @@
I also have a real life. I enjoyed some vacancies with my family.
-I work with Luc on a simple ruby REST/JSON/API oriented framework. It works fairly well, with really few bug until now. We planify to make a simple todolist tutorial. May be in two to three blog posts. This framework is not public for now. It will certainly be after we’ll create some simple web service with it and made a nice website for it.
+I work with Luc on a simple ruby REST/JSON/API oriented framework. It works fairly well, with really few bug until now. We planify to make a simple todolist tutorial. May be in two to three blog posts. This framework is not public for now. It will certainly be after we’ll create some simple web service with it and made a nice website for it.
Then what I plan to do from now:
@@ -89,7 +89,7 @@
provide the sources of this website on github
-There is some random in some of these achivement mostly because they don’t depend totally on me.
+There is some random in some of these achivement mostly because they don’t depend totally on me.
diff --git a/output/Scratch/en/blog/2010-05-19-How-to-cut-HTML-and-repair-it/index.html b/output/Scratch/en/blog/2010-05-19-How-to-cut-HTML-and-repair-it/index.html
index 380bbd4fa..fee760a78 100644
--- a/output/Scratch/en/blog/2010-05-19-How-to-cut-HTML-and-repair-it/index.html
+++ b/output/Scratch/en/blog/2010-05-19-How-to-cut-HTML-and-repair-it/index.html
@@ -86,7 +86,7 @@
Argh! In the middle of an <img>
tag.
-In fact, it is not as difficult as it should sound first. The secret is, you don’t need to keep the complete tree structure to repair it, but only the list of not closed parents.
+In fact, it is not as difficult as it should sound first. The secret is, you don’t need to keep the complete tree structure to repair it, but only the list of not closed parents.
Given with our example, when we are after the first paragraph. we only have to close the div
for class corps
and the XML is repaired. Of course, when you cut inside a tag, you sould go back, as if you where just before it. Delete this tag and all is ok.
@@ -159,7 +159,7 @@ for each tag in the stack, pop it, and write:
-I don’t know if the code can help you, but the raisonning should definitively be known.
+I don’t know if the code can help you, but the raisonning should definitively be known.
diff --git a/output/Scratch/en/blog/2010-05-24-Trees--Pragmatism-and-Formalism/graph/The_destination_tree.png b/output/Scratch/en/blog/2010-05-24-Trees--Pragmatism-and-Formalism/graph/The_destination_tree.png
index 152c6c1d2814664449dd6df17ca7ceb22801db18..a39289809ee6cbf29f3e2d6df992dfd039caec3b 100644
GIT binary patch
literal 24274
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