<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sébastien Barbieri's blog &#187; freelance</title>
	<atom:link href="http://blog.sbw.be/category/freelance/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.sbw.be</link>
	<description>My life, my work, my projects</description>
	<lastBuildDate>Mon, 28 Jun 2010 05:28:18 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>That&#8217;s it I&#8217;m in</title>
		<link>http://blog.sbw.be/2010/04/28/thats-it-im-in/</link>
		<comments>http://blog.sbw.be/2010/04/28/thats-it-im-in/#comments</comments>
		<pubDate>Wed, 28 Apr 2010 15:34:22 +0000</pubDate>
		<dc:creator>Sébastien Barbieri</dc:creator>
				<category><![CDATA[freelance]]></category>
		<category><![CDATA[truc de g33k]]></category>
		<category><![CDATA[csm]]></category>
		<category><![CDATA[scrum]]></category>

		<guid isPermaLink="false">http://blog.sbw.be/?p=405</guid>
		<description><![CDATA[I&#8217;m officially Certified Scrum Master: http://www.scrumalliance.org/profiles/88649-sebastien-barbieri
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m officially Certified Scrum Master: <a href="http://bit.ly/9wG5pM">http://www.scrumalliance.org/profiles/88649-sebastien-barbieri</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sbw.be/2010/04/28/thats-it-im-in/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>#web #continuous #integration: #Autodeploy on #commit</title>
		<link>http://blog.sbw.be/2009/12/11/web-continuous-integration-auto-deploy-on-commit/</link>
		<comments>http://blog.sbw.be/2009/12/11/web-continuous-integration-auto-deploy-on-commit/#comments</comments>
		<pubDate>Fri, 11 Dec 2009 20:13:13 +0000</pubDate>
		<dc:creator>Sébastien Barbieri</dc:creator>
				<category><![CDATA[freelance]]></category>
		<category><![CDATA[truc de g33k]]></category>
		<category><![CDATA[commit]]></category>
		<category><![CDATA[continuous]]></category>
		<category><![CDATA[deploy]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://blog.sbw.be/?p=341</guid>
		<description><![CDATA[Option 1
In 4 steps

svn commit to the repository
the pre-commit hook will check the code with svnlook and will validate the commit message (based on regexp such has bug# &#8230;, text minimal size&#8230;)
the post-commit hook will try to connect to the ITT (Integration Team Testing) if you have the good acronym, I&#8217;ll update
once connected a script [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Option 1</strong></p>
<div id="attachment_342" class="wp-caption aligncenter" style="width: 1011px"><a href="http://blog.sbw.be/wp-content/uploads/2009/12/PostCommitAutoDeploy.png"><img src="http://blog.sbw.be/wp-content/uploads/2009/12/PostCommitAutoDeploy.png" alt="post commit auto deploy" title="PostCommitAutoDeploy" width="1001" height="449" class="size-full wp-image-342" /></a><p class="wp-caption-text">post commit auto deploy</p></div>
<p>In 4 steps</p>
<ol>
<li><strong>svn commit</strong> to the repository</li>
<li>the <strong>pre-commit hook</strong> will check the code with <a href="http://svnbook.red-bean.com/en/1.5/svn.reposadmin.maint.html#svn.reposadmin.maint.tk.svnlook">svnlook</a> and will validate the commit message (based on regexp such has bug# &#8230;, text minimal size&#8230;)</li>
<li>the <strong>post-commit hook</strong> will try to connect to the ITT (Integration Team Testing) <em>if you have the good acronym, I&#8217;ll update</em></li>
<li>once connected a script should be launched (and forgot &#038;;) This script should:
<ul>
<li><strong>Do a svn checkout locally so the code could be tested (in /var/www &#8230;)</strong>. <em>This method has several drawback:  instability of the site while exporting, destruction of ITT generated file (if any)&#8230;</em></li>
<li>Do a<strong> svn checkout in a temporary directory</strong> (/export/&lt;projectname&gt;) and then use <strong>rsync</strong> to do a fast compare and copy changes only without deleting the existing, excluding the .svn folders</li>
<li>Do a<strong> svn export in a temporary directory</strong> (/tmp/&lt;projectname&gt;) and then use the same <strong>rsync</strong> than above but this time you don&#8217;t have to exclude the .svn</li>
</ul>
<p>The fastest is the second one (svn checkout -> /export/&lt;projectname&gt; + rsync &#8211; .svn folders)
 </li>
</ol>
<p><strong>Option 2</strong></p>
<p>There is another <strong>alternative</strong> if you have space and sufficient right on your <strong>svn repository</strong>: the svn export/svn checkout is done locally and you use rsync to <strong>deploy</strong> the site on the ITT server.</p>
<p><strong>Option 3</strong></p>
<p>There is a third <strong>alternative</strong> if you have one more server (a synchro server) that will be used to store the svn export (at least the last one and maybe 2-3 version before) and that will take care of the rsync between one of its local checkout/export and the ITT server.</p>
<p><strong>Conclusion</strong></p>
<p>The last option has the big advantage of being a intermediate repository that can deploy any revision to any server &#8230; but that&#8217;s another paper.</p>
<p>I used the 3 options, and the first one (the simplest/cheapest) is very easy to maintain and to set up, so it&#8217;s a must have for team < 15 &#8230; bigger team may think about the other options but will have to put additional resources to design the whole deployment system.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sbw.be/2009/12/11/web-continuous-integration-auto-deploy-on-commit/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bru-GTUG #1 Date Poll</title>
		<link>http://blog.sbw.be/2009/11/24/bru-gtug-1-date-poll/</link>
		<comments>http://blog.sbw.be/2009/11/24/bru-gtug-1-date-poll/#comments</comments>
		<pubDate>Tue, 24 Nov 2009 07:37:44 +0000</pubDate>
		<dc:creator>Sébastien Barbieri</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[freelance]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[bru-gtug]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[hackaton]]></category>

		<guid isPermaLink="false">http://blog.sbw.be/?p=334</guid>
		<description><![CDATA[Feel free to participate in the Bru-GTUG #1
 
]]></description>
			<content:encoded><![CDATA[<p>Feel free to participate in the Bru-GTUG #1</p>
<p><iframe width="300" height="250" frameborder="0" src="http://www.doodle.com/summary.html?pollId=6939wknuzkwkwweq"> </iframe></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sbw.be/2009/11/24/bru-gtug-1-date-poll/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox Ubiquity php search handy command</title>
		<link>http://blog.sbw.be/2009/08/26/firefox-ubiquity-php-search-handy-command/</link>
		<comments>http://blog.sbw.be/2009/08/26/firefox-ubiquity-php-search-handy-command/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 14:22:35 +0000</pubDate>
		<dc:creator>Sébastien Barbieri</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[freelance]]></category>
		<category><![CDATA[truc de g33k]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ubiquity]]></category>

		<guid isPermaLink="false">http://blog.sbw.be/?p=301</guid>
		<description><![CDATA[Just created a Firfow Ubiquity php search command based on 2 other work: http://download.sbw.be/projects/ubiquity/php-search.html
]]></description>
			<content:encoded><![CDATA[<p>Just created a Firfow Ubiquity php search command based on 2 other work: <a href="http://download.sbw.be/projects/ubiquity/php-search.html">http://download.sbw.be/projects/ubiquity/php-search.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sbw.be/2009/08/26/firefox-ubiquity-php-search-handy-command/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Really impress by Google Wave error handling + reporting</title>
		<link>http://blog.sbw.be/2009/07/20/really-impress-by-google-wave-error-handling-reporting/</link>
		<comments>http://blog.sbw.be/2009/07/20/really-impress-by-google-wave-error-handling-reporting/#comments</comments>
		<pubDate>Mon, 20 Jul 2009 08:36:18 +0000</pubDate>
		<dc:creator>Sébastien Barbieri</dc:creator>
				<category><![CDATA[freelance]]></category>
		<category><![CDATA[truc de g33k]]></category>

		<guid isPermaLink="false">http://blog.sbw.be/?p=286</guid>
		<description><![CDATA[While muting a wave and moving it to the trash folder :-)
I can&#8217;t wait to wave :P
]]></description>
			<content:encoded><![CDATA[<div id="attachment_287" class="wp-caption alignnone" style="width: 1034px"><img src="http://blog.sbw.be/wp-content/uploads/2009/07/google_wave_error_handling-1024x216.png" alt="Dr. Wave ready to listen" title="google_wave_error_handling" width="800" height="169" class="size-large wp-image-287" /><p class="wp-caption-text">Dr. Wave ready to listen</p></div>
<p>While muting a wave and moving it to the trash folder :-)</p>
<p>I can&#8217;t wait to wave :P</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sbw.be/2009/07/20/really-impress-by-google-wave-error-handling-reporting/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The last day of epoch (32) &#8211; toute une époque :-)</title>
		<link>http://blog.sbw.be/2009/06/13/the-last-day-of-epoch-32-toute-une-epoque/</link>
		<comments>http://blog.sbw.be/2009/06/13/the-last-day-of-epoch-32-toute-une-epoque/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 11:30:08 +0000</pubDate>
		<dc:creator>Sébastien Barbieri</dc:creator>
				<category><![CDATA[8th chakra]]></category>
		<category><![CDATA[Questions existentielles]]></category>
		<category><![CDATA[freelance]]></category>
		<category><![CDATA[truc de g33k]]></category>
		<category><![CDATA[epoch]]></category>
		<category><![CDATA[timestamp]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://blog.sbw.be/?p=261</guid>
		<description><![CDATA[Is Tue, 19 Jan 2038 04:14:07 +0100.
The next second, we will be back on Fri, 13 Dec 1901 20:55:13 +0009.
And unfortunately, I will not be retired at that time&#8230; I&#8217;m pretty sure that it will be like in the 80s with every developer thinking that his code will last only few months (years)&#8230; when it [...]]]></description>
			<content:encoded><![CDATA[<p>Is <strong>Tue, 19 Jan 2038 04:14:07 +0100</strong>.<br />
The next second, we will be back on <strong>Fri, 13 Dec 1901 20:55:13 +0009</strong>.</p>
<p>And unfortunately, I will not be retired at that time&#8230; I&#8217;m pretty sure that it will be like in the 80s with every developer thinking that his code will last only few months (years)&#8230; when it will actually last much longer.</p>
<p>Most of the liunuix (linux and unix) systems use timestamp stored as an unisgned integer 32 bit starting Thu, 01 Jan 1970 01:00:00 +0100.</p>
<p>The idea was to be able to measure time for a &#8220;long&#8221; period of time, from now (in the 70s) and in the past.<br />
So they decided to use half of the 2^32 for the past (prior to 1/1/1970) and the other half for the future.</p>
<p>So be it&#8230;</p>
<p>Now we are about 40 years later, and we still use the same representation. We already had a party for the <a href="http://code.sbw.be/php/timestamp.php?timestamp=1234567890">unix timestamp 1234567890</a> (which is quite stupid because it&#8217;s in base 10).</p>
<p>And now javascript, Java, PHP and C &#8230; use the unix timestamp&#8230; which means ajax, web 2.0, comet &#8230; which means: most of the online banking system, internet sites and all the smalls scripts that in few line check your credential and your billing to allow you to connect to the Internet&#8230; All the logging system, all the monitoring systems&#8230; well everything that you don&#8217;t see, just under the internet sea you surf on.</p>
<p>So what will be the next party thema?</p>
<ul>
<li>the end of the internet as we knew it</li>
<li>the end of the unix system</li>
<li>the 0&#215;80000000 seconds since epoch?</li>
</ul>
<p>Anyway, because of the ongoing ecological breakdown, the human kind will probably collapse before&#8230; so after the <a href="http://en.wikipedia.org/wiki/Y2K38">Y2K38</a> bug, the world will just be their kingdom. The kingdom of bugs.</p>
<p>Unless we spend time (which is running) in each of our application to think about that right now (and if we spend just about the same amount of time solving the earth ecology problem it will not be useless).</p>
<p><script language="javascript" type="text/javascript">
today  = new Date();
todayEpoch  = today.getTime();
targetEpoch = 2147483647000;</p>
<p>daysLeft = Math.floor(((targetEpoch - todayEpoch) / (60*60*24)) / 1000);
document.write("You still have: "+daysLeft+" days ");
</script></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sbw.be/2009/06/13/the-last-day-of-epoch-32-toute-une-epoque/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Quechup is selling (let steal) e-mail adresses: honey pot #1 triggered</title>
		<link>http://blog.sbw.be/2009/04/03/quechup-is-selling-let-steal-e-mail-adresses-honey-pot-1-triggered/</link>
		<comments>http://blog.sbw.be/2009/04/03/quechup-is-selling-let-steal-e-mail-adresses-honey-pot-1-triggered/#comments</comments>
		<pubDate>Fri, 03 Apr 2009 07:41:24 +0000</pubDate>
		<dc:creator>Sébastien Barbieri</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[freelance]]></category>
		<category><![CDATA[truc de g33k]]></category>
		<category><![CDATA[email marketing]]></category>

		<guid isPermaLink="false">http://blog.sbw.be/2009/04/03/quechup-is-selling-let-steal-e-mail-adresses-honey-pot-1-triggered/</guid>
		<description><![CDATA[My subscription to quechup was used for spam mail such has:
Cindy Foster &#8211; CindyFoster1533@live.com
 to quechupxxx@xxx.sbw.be
H! I find your post interesting. I am pretty chick. I am moving to your area from russia
I am looking for a good man to show me around and may be more ;)
Could you please kindly reply to me at [...]]]></description>
			<content:encoded><![CDATA[<p>My subscription to <a href="http://www.quechup.com/">quechup</a> was used for spam mail such has:</p>
<blockquote><p>Cindy Foster &#8211; CindyFoster1533@live.com<br />
 to quechupxxx@xxx.sbw.be</p>
<p>H! I find your post interesting. I am pretty chick. I am moving to your area from russia<br />
I am looking for a good man to show me around and may be more ;)<br />
Could you please kindly reply to me at jclapptakomapark@gmail.com<br />
I will send you some of my pictures back in reply.<br />
Could you reply to my email account I am supplying in the body of this email as I am writing from my work email which i don&#8217;t use for personal correspondence</p>
<p>Windows Live™: Keep your life in sync. Check it out.
</p></blockquote>
<p>&#8211;> Don&#8217;t use quechup</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sbw.be/2009/04/03/quechup-is-selling-let-steal-e-mail-adresses-honey-pot-1-triggered/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Apér&#8217;hips PHP</title>
		<link>http://blog.sbw.be/2008/07/16/aperhips-php/</link>
		<comments>http://blog.sbw.be/2008/07/16/aperhips-php/#comments</comments>
		<pubDate>Wed, 16 Jul 2008 06:37:30 +0000</pubDate>
		<dc:creator>Sébastien Barbieri</dc:creator>
				<category><![CDATA[freelance]]></category>
		<category><![CDATA[truc de g33k]]></category>

		<guid isPermaLink="false">http://blog.sbw.be/2008/07/16/aperhips-php/</guid>
		<description><![CDATA[
Ce Vendredi c&#8217;est l&#8217;Apéro PHP.
Au menu:
- échange d&#8217;idée
- de point de vue
- bière
- et puis on refait le monde
Lieu: la lunette place de la monnaie à Bruxelles. 
Timestamp: 1216400400 (to convert go to http://code.sbw.be/php/timestamp.php and feel free to use any http://code.sbw.be/ scripts)
Facebook: http://www.facebook.com/event.php?eid=25240684187
]]></description>
			<content:encoded><![CDATA[<p><img src="http://profile.ak.facebook.com/object3/62/57/n25240684187_8274.jpg" alt="la lunette" align="right"/><br />
Ce Vendredi c&#8217;est l&#8217;Apéro PHP.</p>
<p>Au menu:<br />
- échange d&#8217;idée<br />
- de point de vue<br />
- bière<br />
- et puis on refait le monde</p>
<p>Lieu: <em><strong><a href="http://maps.google.com/maps?hl=en&#038;ie=UTF8&#038;q=la+lunette&#038;near=Brussels,+Belgium&#038;fb=1&#038;cid=9396647542880905097&#038;li=lmd&#038;z=14&#038;iwloc=A">la lunette</a></strong></em> place de la monnaie à Bruxelles. </p>
<p>Timestamp: 1216400400 (to convert go to <a href="http://code.sbw.be/php/timestamp.php">http://code.sbw.be/php/timestamp.php</a> and feel free to use any <a href="http://code.sbw.be/ ">http://code.sbw.be/</a> scripts)</p>
<p>Facebook: <a href="http://www.facebook.com/event.php?eid=25240684187">http://www.facebook.com/event.php?eid=25240684187</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sbw.be/2008/07/16/aperhips-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Perl Bruxelles.pm</title>
		<link>http://blog.sbw.be/2007/10/25/perl-bruxellespm/</link>
		<comments>http://blog.sbw.be/2007/10/25/perl-bruxellespm/#comments</comments>
		<pubDate>Thu, 25 Oct 2007 15:55:57 +0000</pubDate>
		<dc:creator>Sébastien Barbieri</dc:creator>
				<category><![CDATA[freelance]]></category>
		<category><![CDATA[truc de g33k]]></category>

		<guid isPermaLink="false">http://blog.sbw.be/2007/10/25/perl-bruxellespm/</guid>
		<description><![CDATA[It&#8217;s saturday 27th October @ ESI / Bruxelles and the program is somwhere on the bruxelles mongueur site
]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s saturday 27th October @ <a href="http://maps.google.com/maps/ms?ie=UTF8&#038;hl=fr&#038;msa=0&#038;ll=50.84991,4.365402&#038;spn=0.00529,0.010021&#038;z=17&#038;om=1&#038;msid=104776314787186568973.00043d533a3963d5d9115">ESI / Bruxelles</a> and the program is somwhere on the <a href="http://conferences.mongueurs.net/bpw2007/">bruxelles mongueur site</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sbw.be/2007/10/25/perl-bruxellespm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Compiz on my Ubuntu 7.10</title>
		<link>http://blog.sbw.be/2007/10/14/compiz-on-my-ubuntu-710/</link>
		<comments>http://blog.sbw.be/2007/10/14/compiz-on-my-ubuntu-710/#comments</comments>
		<pubDate>Sun, 14 Oct 2007 09:47:35 +0000</pubDate>
		<dc:creator>Sébastien Barbieri</dc:creator>
				<category><![CDATA[freelance]]></category>
		<category><![CDATA[truc de g33k]]></category>

		<guid isPermaLink="false">http://blog.sbw.be/2007/10/14/compiz-on-my-ubuntu-710/</guid>
		<description><![CDATA[
Compiz-Fusion, SBW letters in fire.
]]></description>
			<content:encoded><![CDATA[<p><a href='http://blog.sbw.be/wp-content/uploads/2007/10/compiz-ubuntu-desktop-sbw.jpg' title='compiz ubuntu desktop Sébastien Barbieri SBW'><img src='http://blog.sbw.be/wp-content/uploads/2007/10/compiz-ubuntu-desktop-sbw.jpg' alt='compiz ubuntu desktop Sébastien Barbieri SBW' /></a><br />
Compiz-Fusion, SBW letters in fire.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sbw.be/2007/10/14/compiz-on-my-ubuntu-710/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
