<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>Thibauld</title>
	
	<link>http://thibauld.com</link>
	<description>- Imagination and Execution -</description>
	<lastBuildDate>Mon, 15 Feb 2010 21:41:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/thibauld" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="thibauld" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>How to exclude multiple directories while creating an archive with tar</title>
		<link>http://thibauld.com/2010/02/how-to-exclude-multiple-directories-while-creating-an-archive-with-tar/</link>
		<comments>http://thibauld.com/2010/02/how-to-exclude-multiple-directories-while-creating-an-archive-with-tar/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 14:49:55 +0000</pubDate>
		<dc:creator>Thibauld</dc:creator>
				<category><![CDATA[en]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[archive]]></category>
		<category><![CDATA[exclude]]></category>
		<category><![CDATA[tar]]></category>

		<guid isPermaLink="false">http://thibauld.com/?p=285</guid>
		<description><![CDATA[A very quick post again as I've just spent way too much time to find out how to use the --exclude option of tar. All I wanted is tar to omit a few subdirectories while creating an archive of a directory. I was surprised to see how much tar is picky about his --exclude option: [...]]]></description>
			<content:encoded><![CDATA[<p>A very quick post again as I've just spent way too much time to find out how to use the <code>--exclude</code> option of <em>tar</em>. All I wanted is <em>tar</em> to omit a few subdirectories while creating an archive of a directory. I was surprised to see how much <em>tar</em> is picky about his <code>--exclude</code> option: if you don't use the exact syntax, it won't work and, unfortunately, the exact syntax is not so easy to figure out from the man page.</p>
<p>So here is the exact syntax you should use if you want to exclude multiples directories with tar:</p>
<p><code>tar cvfz myproject.tgz --exclude='path/dir_to_exclude1' --exclude='path/dir_to_exclude2' myproject</code></p>
<p>Hope it will save you some time!</p>
]]></content:encoded>
			<wfw:commentRss>http://thibauld.com/2010/02/how-to-exclude-multiple-directories-while-creating-an-archive-with-tar/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Moblin and Maemo projects are merging</title>
		<link>http://thibauld.com/2010/02/moblin-and-maemo-projects-are-merging/</link>
		<comments>http://thibauld.com/2010/02/moblin-and-maemo-projects-are-merging/#comments</comments>
		<pubDate>Mon, 15 Feb 2010 11:15:46 +0000</pubDate>
		<dc:creator>Thibauld</dc:creator>
				<category><![CDATA[announcements]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[en]]></category>
		<category><![CDATA[intel]]></category>
		<category><![CDATA[maemo]]></category>
		<category><![CDATA[mobile world congress]]></category>
		<category><![CDATA[moblin]]></category>
		<category><![CDATA[nokia]]></category>

		<guid isPermaLink="false">http://thibauld.com/?p=279</guid>
		<description><![CDATA[Wow, just received this email from the Moblin mailing list. It announces the merge between Moblin (Intel initiated project) and Maemo (Nokia initiated project) :
Hi Everyone
I'm sure you've heard the news: Moblin and maemo are merging! We are taking the best pieces from these two open source projects and are creating the MeeGo software platform. [...]]]></description>
			<content:encoded><![CDATA[<p>Wow, just received this email from the Moblin mailing list. It announces the merge between Moblin (Intel initiated project) and Maemo (Nokia initiated project) :</p>
<blockquote><p>Hi Everyone</p>
<p>I'm sure you've heard the news: Moblin and maemo are merging! We are taking the best pieces from these two open source projects and are creating the <a href="http://meego.com/">MeeGo software platform</a>. Both teams have worked for a long time to support the needs of the mobile user experience - and MeeGo will make this even better. We want it to be fun, focused, flexible, technically challenging and ultimately, something that can change the world.</p>
<p>We all use mobile devices every day. The power and capability of handhelds has reached astounding levels - netbooks have been a runaway success - and connected TVs, tablets, in-vehicle infotainment, and media phones are fast growing new markets for devices with unheard of performance. Our goal is to develop the best software to go with those devices. The teams behind maemo and Moblin have plenty of experience and even more ideas on how to make things better - and together we will create something special.</p>
<p>So what does this mean for Moblin and its community? It's a huge opportunity. There are some changes (and those are always scary), but I think they are all for the better. Things will quickly shift to the new site, but from a technology point of view, migrations should be smooth. Especially if you are an application developer; everything you have done so far should continue to work - and with Qt and its development environment there are even more and easier options available to develop new and exciting apps for MeeGo.</p>
<p>The MeeGo website<http://meego.com> is still evolving - you'll run into a few "coming soon" pages as we pull all the content together and get things ready for our first project release in the second quarter. But there's already a lot to see - and a community to join! Please take a look - and come back often as we approach that first release.</p>
<p>We really want to hear from you. Be in on IRC, on our developer mailing list, or through bugzilla. MeeGo is an open project and it will be successful through its developer community. It's my personal goal to make sure that we can all together be successful. And have fun.</p>
<p>I invite you to join us at meego.com<http://meego.com>.</p>
<p>Imad Sousou</p>
<p>Director of Intel's Open Source Technology Center<br />
(and now also co-chair of the MeeGo steering group)</p></blockquote>
<p>From a business standpoint, it does make a lot of sense to merge these 2 projects, now let's see if the merge can be handled smoothly technically speaking... might not be as easy as it sounds.</p>
]]></content:encoded>
			<wfw:commentRss>http://thibauld.com/2010/02/moblin-and-maemo-projects-are-merging/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Configuring iptables to allow internet surfing while blocking all unsolicited incoming connexions</title>
		<link>http://thibauld.com/2010/02/configuring-iptables-to-allow-internet-surfing-while-blocking-all-unsollicited-incoming-connexions/</link>
		<comments>http://thibauld.com/2010/02/configuring-iptables-to-allow-internet-surfing-while-blocking-all-unsollicited-incoming-connexions/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 00:57:42 +0000</pubDate>
		<dc:creator>Thibauld</dc:creator>
				<category><![CDATA[en]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[firewall]]></category>
		<category><![CDATA[iptables]]></category>
		<category><![CDATA[security]]></category>

		<guid isPermaLink="false">http://thibauld.com/?p=273</guid>
		<description><![CDATA[I'm so used to connect to the Internet through network masquerading (NAT) that I was really surprised today when I realised that my laptop was actually receiving a lot of unsollicited connexions attempts from random external machines. Then I remembered that, by default, a freebox gives you a public ip ! 
It could not have [...]]]></description>
			<content:encoded><![CDATA[<p>I'm so used to connect to the Internet through network masquerading (NAT) that I was really surprised today when I realised that my laptop was actually receiving a lot of unsollicited connexions attempts from random external machines. Then I remembered that, by default, a freebox gives you a public ip ! </p>
<p>It could not have been an issue if I was not doing web development on my laptop using a local (badly configured) webserver which happened to be worldwide accessible... oOops <img src='http://thibauld.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>A few iptables commands later, everything was secured :<br />
<code><br />
iptables -P INPUT DROP<br />
iptables -P FORWARD DROP<br />
iptables -P OUTPUT ACCEPT<br />
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT<br />
iptables -A INPUT -s 127.0.0.1 -j ACCEPT<br />
</code><br />
The above lines configure iptables (the firewall) to drop every incoming connexions except the ones corresponding to a connexion I established with a remote server. Indeed, the server you're connecting to needs to be able to send information back to your machine in order for you to get it (blocking all incoming traffic is the same as unplugging the network connection).</p>
<p>I thought it might be useful to some of you too...</p>
]]></content:encoded>
			<wfw:commentRss>http://thibauld.com/2010/02/configuring-iptables-to-allow-internet-surfing-while-blocking-all-unsollicited-incoming-connexions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google real time search results</title>
		<link>http://thibauld.com/2009/12/google-real-time-search-results/</link>
		<comments>http://thibauld.com/2009/12/google-real-time-search-results/#comments</comments>
		<pubDate>Thu, 31 Dec 2009 22:10:15 +0000</pubDate>
		<dc:creator>Thibauld</dc:creator>
				<category><![CDATA[en]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[integration]]></category>
		<category><![CDATA[realtime search]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://thibauld.com/?p=267</guid>
		<description><![CDATA[I've just noticed beautiful live search results integrated into google search results tonight. I had never seen them before so I thought I'd share this news-to-me with you   Here's what I saw when I looked for "2010 resolutions" :

And then, a few seconds later, without refreshing anything on my side :

I love it [...]]]></description>
			<content:encoded><![CDATA[<p>I've just noticed beautiful live search results integrated into google search results tonight. I had never seen them before so I thought I'd share this <i>news-to-me</i> with you <img src='http://thibauld.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Here's what I saw when I looked for "2010 resolutions" :<br/><br />
<a href="http://www.flickr.com/photos/thibs/4232312462/" title="google_live_search_results by thibauld, on Flickr"><img src="http://farm5.static.flickr.com/4042/4232312462_b517bdeff2.jpg" width="500" height="301" alt="google_live_search_results" /></a></p>
<p>And then, a few seconds later, without refreshing anything on my side :</p>
<p><a href="http://www.flickr.com/photos/thibs/4232312502/" title="google_live_search_results1 by thibauld, on Flickr"><img src="http://farm3.static.flickr.com/2615/4232312502_82c7f50431.jpg" width="500" height="313" alt="google_live_search_results1" /></a></p>
<p>I love it <img src='http://thibauld.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Now let's go party for 2010!<br />
Happy new year everybody!</p>
]]></content:encoded>
			<wfw:commentRss>http://thibauld.com/2009/12/google-real-time-search-results/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Société Générale en panne ?</title>
		<link>http://thibauld.com/2009/12/societe-generale-en-panne/</link>
		<comments>http://thibauld.com/2009/12/societe-generale-en-panne/#comments</comments>
		<pubDate>Tue, 15 Dec 2009 18:44:46 +0000</pubDate>
		<dc:creator>Thibauld</dc:creator>
				<category><![CDATA[bug]]></category>
		<category><![CDATA[feedback]]></category>
		<category><![CDATA[fr]]></category>
		<category><![CDATA[banque]]></category>
		<category><![CDATA[fail]]></category>
		<category><![CDATA[société générale]]></category>

		<guid isPermaLink="false">http://thibauld.com/?p=257</guid>
		<description><![CDATA[J'aime quand le site de ma banque fonctionne bien... sans commentaires


]]></description>
			<content:encoded><![CDATA[<p>J'aime quand le <a href="http://particuliers.societegenerale.fr" target="_blank">site de ma banque</a> fonctionne bien... sans commentaires</p>
<p><br/><br />
<a href="http://thibauld.com/wp-content/uploads/2009/12/societe_generale_website.png"><img src="http://thibauld.com/wp-content/uploads/2009/12/societe_generale_website.png" alt="societe_generale_website" title="societe_generale_website" width="500" class="aligncenter size-full wp-image-258" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://thibauld.com/2009/12/societe-generale-en-panne/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>8th of December aka “The Longest Day”</title>
		<link>http://thibauld.com/2009/12/8th-of-december-aka-the-longest-day/</link>
		<comments>http://thibauld.com/2009/12/8th-of-december-aka-the-longest-day/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 08:37:38 +0000</pubDate>
		<dc:creator>Thibauld</dc:creator>
				<category><![CDATA[en]]></category>
		<category><![CDATA[bizsparkcamp]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[events]]></category>
		<category><![CDATA[leweb]]></category>
		<category><![CDATA[leweb09]]></category>
		<category><![CDATA[netbookworldsummit]]></category>
		<category><![CDATA[opencoffee]]></category>
		<category><![CDATA[paris]]></category>

		<guid isPermaLink="false">http://thibauld.com/?p=251</guid>
		<description><![CDATA[I don't why but, today, 8th of December, everybody decided that it was *the* day to make events and conferences. We had no event or such since a few month and then, suddenly, you have this crowded 8th of December. Today I would have love to attend :

The P'tits déjeuners de la science organised by [...]]]></description>
			<content:encoded><![CDATA[<p>I don't why but, today, 8th of December, everybody decided that it was *the* day to make events and conferences. We had no event or such since a few month and then, suddenly, you have this crowded 8th of December. Today I would have love to attend :</p>
<ul>
<li>The <a href="http://www.ptitsdejeuners-science.com/">P'tits déjeuners de la science</a> organised by my engineering school (<a href="http://www.insa-lyon.fr">INSA de Lyon</a>) with Valérie Pécresse and Claudie Haigneré (french politics)</li>
<li>The <a href="http://www.netbookworldsummit.org/">Netbook World Summit</a> organised by <a href="http://www.mandriva.com">Mandriva</a> with the presence of Scott Apeland, responsible for the Intel Software Network (read Application Store)</li>
<li>The <a href="http://codorniou.wordpress.com/2009/11/17/bizsparkcamp-world-premiere/">World first Bizspark Camp</a> organised by Microsoft with the presence of Scott Guthrie, Corporate Vice President de Microsoft Corp, .NET Developer Division</li>
<li>The <a href="http://www.g9plus.org/manifestation.asp#281">Annuel meeting of G9+</a> with the following topic: "L'entreprise face aux Réseaux Sociaux" [quick translation: "Companies and Social Networks"] in the presence of Tara Hunt</li>
<li>The <a href="http://www.opencoffeeparis.fr/a-propos-de-la-soiree-life-is-better-on/">Life is better on party</a> organised by OpenCoffee Paris before LeWeb</li>
<li>The Partners &#038; Speakers reception for LeWeb'09 organised by Loïc &#038; Géraldine</li>
</ul>
<p>Now this is really great but please, next time, let's try to spread that a little over a few days so that I do not have to choose between the events <img src='http://thibauld.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://thibauld.com/2009/12/8th-of-december-aka-the-longest-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Allmyapps 4 slides pitch for OpenCoffe Paris before LeWeb</title>
		<link>http://thibauld.com/2009/12/allmyapps-4-slides-pitch-for-opencoffe-paris-before-leweb/</link>
		<comments>http://thibauld.com/2009/12/allmyapps-4-slides-pitch-for-opencoffe-paris-before-leweb/#comments</comments>
		<pubDate>Mon, 07 Dec 2009 11:03:37 +0000</pubDate>
		<dc:creator>Thibauld</dc:creator>
				<category><![CDATA[allmyapps]]></category>
		<category><![CDATA[en]]></category>
		<category><![CDATA[leweb]]></category>
		<category><![CDATA[opencoffee]]></category>
		<category><![CDATA[pitch]]></category>
		<category><![CDATA[slides]]></category>

		<guid isPermaLink="false">http://thibauld.com/?p=236</guid>
		<description><![CDATA[
It's been sooo long since I blogged! The thing is that the activity at Allmyapps is just exploding (a good problem to deal with!) and unless days suddenly get bigger (say 48h a day), there's no way I can keep up-to-date with my todo list. Task prioritization is the keyword right now at Allmyapps  [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://thibauld.com/wp-content/uploads/2009/12/opencoffee.gif"><img src="http://thibauld.com/wp-content/uploads/2009/12/opencoffee.gif" alt="opencoffee" title="opencoffee" width="364" height="80" class="aligncenter size-full wp-image-239" /></a></p>
<p>It's been sooo long since I blogged! The thing is that the activity at Allmyapps is just exploding (a good problem to deal with!) and unless days suddenly get bigger (say 48h a day), there's no way I can keep up-to-date with my todo list. Task prioritization is the keyword right now at Allmyapps <img src='http://thibauld.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>However, I really *want* to write more blog posts... so I'll try to make a bit smaller while keeping their interestingness high. Let's begin now and see if I can manage that in the long run.</p>
<p>Today, I just wanted to share with you the <a href="http://www.slideshare.net/opencoffeeFR/allmyapps">4 slides we've proposed to pitch Allmyapps</a> at the <a href="http://www.opencoffeeparis.fr/">OpenCoffee Paris</a> which is taking place right before <a href="http://www.leweb.net">LeWeb09</a>.</p>
<div style="width:425px;text-align:center;margin:0 auto;" id="__ss_2649570"><a style="font:14px Helvetica,Arial,Sans-serif;display:block;margin:12px 0 3px 0;text-decoration:underline;" href="http://www.slideshare.net/opencoffeeFR/allmyapps" title="Allmyapps">Allmyapps</a><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=allmyapps-091204090433-phpapp01&#038;stripped_title=allmyapps" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=allmyapps-091204090433-phpapp01&#038;stripped_title=allmyapps" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></div>
<p><br/><br />
I hope we'll be selected to pitch! [<b>Edit</b>: We've been selected to pitch!]</p>
]]></content:encoded>
			<wfw:commentRss>http://thibauld.com/2009/12/allmyapps-4-slides-pitch-for-opencoffe-paris-before-leweb/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PHP function to draw nice looking XY plot charts with google chart API</title>
		<link>http://thibauld.com/2009/07/php-function-to-draw-nice-looking-xy-plot-charts-with-google-chart-api/</link>
		<comments>http://thibauld.com/2009/07/php-function-to-draw-nice-looking-xy-plot-charts-with-google-chart-api/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 00:30:36 +0000</pubDate>
		<dc:creator>Thibauld</dc:creator>
				<category><![CDATA[en]]></category>
		<category><![CDATA[technical]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[function]]></category>
		<category><![CDATA[google chart api]]></category>
		<category><![CDATA[LinkedIn]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[xy plot]]></category>

		<guid isPermaLink="false">http://thibauld.com/?p=225</guid>
		<description><![CDATA[Creating nice charts used to be a hard task. Lately, I dug a little bit into Google chart API to see what they had to offer and how they could help me draw nice looking charts easily.
In theory, using Google chart is dead simple: just build an URL with the right parameters and Google will [...]]]></description>
			<content:encoded><![CDATA[<p>Creating nice charts used to be a hard task. Lately, I dug a little bit into Google <a href="http://code.google.com/intl/fr/apis/chart/" target="_blank">chart API</a> to see what they had to offer and how they could help me draw nice looking charts easily.</p>
<p>In theory, using Google chart is dead simple: just build an URL with the right parameters and Google will return you an image with your nice looking chart. However, in practice, it turned out a little bit more tricky. If you only want to draw a pie charts then it is pretty straight forward. But if you want to build an XY plot chart, then it gets harder!</p>
<p>Indeed, you should not use Google chart API like you'd use a spreadsheet. Keep in mind that Google chart API is about drawing an image: the X axis and the Y axis are treated completely independantly of your points coordinates.  If you do not pay enough attention, you'll end up with a chart with a completely wrong scale.</p>
<p>I tried to find some PHP libraries to help me draw my XY chart but found nothing satisfactory, so I finally decided to write my own little PHP function. Let me share it with you:<br />
<code><br />
function getChart($chart) {<br />
    $y_max = $chart['y_max'];<br />
    $y_min = $chart['y_min'];<br />
    $y_step = $chart['y_step'];<br />
    $y_grid_step = $chart['y_grid_step'];<br />
    $x_max = $chart['x_max'];<br />
    $x_min = $chart['x_min'];<br />
    $chart_size = $chart['chart_size'];<br />
    $title = $chart['title'];<br />
    $x = $chart['x_axis'];<br />
    $x_nb = count($x);<br />
    $x_int = 100/$x_nb;<br />
    $first = 0;<br />
    if ($chart['x_labels_centered']) $first = $x_int/2;<br />
    for($i=0;$i<=$x_nb-1;$i++) { $positions[] = floor($first + ($i * $x_int));  }<br />
    foreach($positions as $n => $pos) { $x_values[$pos] = $x[$n]; }<br />
    $x_range = implode(',',array_keys($x_values));<br />
    $x_labels = implode('|',$x);<br />
    $grid_step = $y_grid_step*100/$y_max;<br />
    $url = "http://chart.apis.google.com/chart?";<br />
    $cht = "cht=lc";<br />
    if (!empty($chart['data_y'])) $cht="cht=lxy";<br />
    $chd = "chd=t:".implode(',',$chart['data']);<br />
    if (!empty($chart['data_y'])) $chd.="|".implode(',',$chart['data_y']);<br />
    $chg = "chg=$x_int,$grid_step,1,5";<br />
    $chxt = "chxt=x,y";<br />
    $tmp = array();<br />
    for ($i=0;$i<=$y_max;$i+=$y_step) { $tmp[] = $i; }<br />
    $y_labels = implode(',',$tmp);<br />
    $chxp = "chxp=0,".$x_range."|1,".$y_labels;<br />
    $y_labels = implode('|',$tmp);<br />
    $chxl = "chxl=0:|".$x_labels."|1:|".$y_labels;<br />
    $chxr = "chxr=1,$y_min,$y_max,$y_step";<br />
    $chtt="chtt=".str_replace(' ','+',$title);<br />
    $chs = "chs=".$chart_size;<br />
    $chds = "chds=$y_min,$y_max";<br />
    $chm="chco=0000FFFF&#038;chm=B,76A4FB,0,0,0";#|s,0000FF,0,-1,10";<br />
    if (!empty($chart['data_y'])) $chds ="chds=$x_min,$x_max,$y_min,$y_max";<br />
    $url .= implode('&#038;', array($cht,$chd,$chg,$chm,$chxt,$chxl,$chxp,$chxr,$chtt,$chs,$chds));<br />
    return $url;<br />
}<br />
</code></p>
<p>Dont' get me wrong: this is really a quick and dirty function and not meant to be beautiful code. Here is an invokation example:<br />
<code><br />
$data_x = array(0,4,5,9,10);<br />
$data_y = array(20,5,7,9,10);<br />
$months_x = array('Jan','Fev','Mar','Avr','May');<br />
$chart_xy = array(<br />
    'title'=>"Chart Title",    // CHART TITLE<br />
    'data'=>$data_x,           // CHART DATA (X)<br />
    'data_y'=>$data_y,         // CHART DATA (Y)<br />
    'x_axis'=>$months_x,       // X AXIS LABELS LIST<br />
    'x_labels_centered'=>true, // SHOULD LABELS ON X AXIS BE CENTERED?<br />
    'y_min'=>0,                // MIN VALUE OF Y AXIS<br />
    'y_max'=>25,               // MAX VALUE OF Y AXIS<br />
    'y_step'=>5,               // Y AXIS INTERVAL (NUMBERS ON THE AXIS)<br />
    'y_grid_step'=>5,          // Y AXIS GRID INTERVAL (HORIZONTAL LINES ON THE GRID)<br />
    'x_min'=>0,                // MIN VALUE OF X AXIS<br />
    'x_max'=>10,               // MAX VALUE OF X AXIS<br />
    'chart_size'=>'300x300'    // CHART DIMENSIONS<br />
);<br />
$url = getChart($chart_xy);<br />
</code><br />
This code would result in the following graph:</p>
<p style="text-align:center;"><img src="http://chart.apis.google.com/chart?cht=lxy&#038;chd=t:0,4,5,9,10|20,5,7,9,10&#038;chg=20,20,1,5&#038;chco=0000FFFF&#038;chm=B,76A4FB,0,0,0&#038;chxt=x,y&#038;chxl=0:|Jan|Fev|Mar|Avr|May|1:|0|5|10|15|20|25&#038;chxp=0,10,30,50,70,90|1,0,5,10,15,20,25&#038;chxr=1,0,25,5&#038;chtt=Chart+Title&#038;chs=300x300&#038;chds=0,10,0,25"></p>
<p>And if I change :<br />
<code><br />
$months_x = array('Jan','Fev','Mar','Avr','May');<br />
</code><br />
by<br />
<code><br />
$months_x = array('Jan','Fev','Mar');<br />
</code><br />
I get the following graph:</p>
<p style="text-align:center;"><img src="http://chart.apis.google.com/chart?cht=lxy&#038;chd=t:0,4,5,9,10|20,5,7,9,10&#038;chg=33.3333333333,20,1,5&#038;chco=0000FFFF&#038;chm=B,76A4FB,0,0,0&#038;chxt=x,y&#038;chxl=0:|Jan|Fev|Mar|1:|0|5|10|15|20|25&#038;chxp=0,16,50,83|1,0,5,10,15,20,25&#038;chxr=1,0,25,5&#038;chtt=Chart+Title&#038;chs=300x300&#038;chds=0,10,0,25"></p>
<p>What is important to note here is that it is up to you to make your X and Y axis consistent with your data, ortherwise, you'll end up with a totally meaningless chart. </p>
<p>Of course, this code is adapted to my needs so please feel free to copy this PHP function and adapt it so that it fits your particular needs!</p>
<p>Hope it will be useful for some of you...</p>
]]></content:encoded>
			<wfw:commentRss>http://thibauld.com/2009/07/php-function-to-draw-nice-looking-xy-plot-charts-with-google-chart-api/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Interviewed about entrepreneurship on “Décideurs TV” [french web TV]</title>
		<link>http://thibauld.com/2009/06/interviewed-about-entrepreneurship-on-decideurs-tv-french-web-tv/</link>
		<comments>http://thibauld.com/2009/06/interviewed-about-entrepreneurship-on-decideurs-tv-french-web-tv/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 23:51:36 +0000</pubDate>
		<dc:creator>Thibauld</dc:creator>
				<category><![CDATA[allmyapps]]></category>
		<category><![CDATA[décideurs TV]]></category>
		<category><![CDATA[entrepreneurship]]></category>
		<category><![CDATA[interview]]></category>
		<category><![CDATA[LinkedIn]]></category>

		<guid isPermaLink="false">http://thibauld.com/?p=218</guid>
		<description><![CDATA[Hi there! Just a quick post to let you know that I've been interviewed by Décideurs TV (a business focused web television) about entrepreneurship: Should you start your business alone or find a partner / cofounder? How to find the right partner for your business. What is a good partner? etc... The result can be [...]]]></description>
			<content:encoded><![CDATA[<p>Hi there! Just a quick post to let you know that I've been interviewed by <a href="http://www.decideurstv.com/">Décideurs TV</a> (a business focused web television) about entrepreneurship: Should you start your business alone or find a partner / cofounder? How to find the right partner for your business. What is a good partner? etc... The result can be seen <a href="http://www.decideurstv.com/video/marc-palazon-smile-thibault-favre-allmyapps-5026/">here</a> or directly below:</p>
<div><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="545" height="340" id="VideoPlayerDTV" align="middle"><param name="allowScriptAccess" value="sameDomain" /><param name="allowFullScreen" value="true" /><param name="movie" value="http://www.decideurstv.com/wp-content/plugins/DecideursTVplayer/videoPlayerDTV2_export.swf" /><param name="quality" value="high" /><param name="scale" value="showAll" /><param name="wmode" value="transparent" /><param name="flashvars" value="videoFile=http://video.decideurstv.com/wp-content/uploads/video/STARTUP/SMILE-ALLMYAPPS/SU-SMILE-Palazon-ALLMYAPPS-Favre-160609_FLV16.9.flv&#038;imageFile=http://img.decideurstv.com/wp-content/uploads/video/STARTUP/SMILE-ALLMYAPPS/SU-SMILE-Palazon-ALLMYAPPS-Favre-160609.jpg&#038;categoryName=Start up&#038;categoryLink=http://www.decideurstv.com/cat/video/startup/" /><embed src="http://www.decideurstv.com/wp-content/plugins/DecideursTVplayer/videoPlayerDTV2_export.swf" quality="high" scale="showAll" wmode="transparent" width="545" height="340" name="VideoPlayerDTV" align="middle" allowScriptAccess="sameDomain" allowFullScreen="true" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" flashvars="videoFile=http://video.decideurstv.com/wp-content/uploads/video/STARTUP/SMILE-ALLMYAPPS/SU-SMILE-Palazon-ALLMYAPPS-Favre-160609_FLV16.9.flv&#038;imageFile=http://img.decideurstv.com/wp-content/uploads/video/STARTUP/SMILE-ALLMYAPPS/SU-SMILE-Palazon-ALLMYAPPS-Favre-160609.jpg&#038;categoryName=Start up&#038;categoryLink=http://www.decideurstv.com/cat/video/startup/" /></object><br /><a href="http://www.decideurstv.com/cat/video/startup/" title="Start up">Start up</a> par <a href="http://www.decideurstv.com" title="DECIDEURS TV">DECIDEURS TV</a></div>
<p>It was my first video interview ever and I must say that I'm pretty happy with the result <img src='http://thibauld.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://thibauld.com/2009/06/interviewed-about-entrepreneurship-on-decideurs-tv-french-web-tv/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ISP Speed test</title>
		<link>http://thibauld.com/2009/06/isp-speed-test/</link>
		<comments>http://thibauld.com/2009/06/isp-speed-test/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 13:33:16 +0000</pubDate>
		<dc:creator>Thibauld</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://thibauld.com/?p=205</guid>
		<description><![CDATA[I just came accross this cool ISP speed test. I was pretty pleased with the results considering that I was listening to a web radio at the same time:

I guess that living in Paris helps a lot... However, I was more disappointed that France ranked only 20th in the list of the countries with the [...]]]></description>
			<content:encoded><![CDATA[<p>I just came accross this <a href="http://www.speedtest.net">cool ISP speed test</a>. I was pretty pleased with the results considering that I was listening to a web radio at the same time:<br/><br />
<img class="aligncenter" src="http://www.speedtest.net/result/494942771.png" alt="" width="300" height="135" /><br/><br />
I guess that living in Paris helps a lot... However, I was more disappointed that France <a href="http://www.speedtest.net/global.php">ranked</a> only 20th in the list of the countries with the highest average download rate and 35th in the list of the countries with the highest upload rate. When I see <a href="http://huayra.wordpress.com/2009/06/09/bandwidth/">some internet connection speeds</a>, I realize there is room for improvement <img src='http://thibauld.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>However, it was quite cool to see that apart from Japan and South Korea, there are only european countries in the top 10 ! This is likely to give more arguments to our <a href="http://billaut.typepad.com/jm/2009/05/punaise-quest-ce-que-cela-va-%C3%AAtre-bien-quans-on-aura-la-fibre.html">most fervent lobbyist for very high speed internet connections throughout France</a> !</p>
]]></content:encoded>
			<wfw:commentRss>http://thibauld.com/2009/06/isp-speed-test/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
