<?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:atom="http://www.w3.org/2005/Atom" xmlns:posterous="http://posterous.com/help/rss/1.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:media="http://search.yahoo.com/mrss/" version="2.0">
  <channel>
    <title>@jponge</title>
    <link>http://live.julien.ponge.info</link>
    <description>Please note that I have moved to http://log.julien.ponge.info/</description>
    <generator>posterous.com</generator>
    <link xmlns="http://www.w3.org/2005/Atom" href="http://posterous.com/api/sup_update#4800fdc83" type="application/json" rel="http://api.friendfeed.com/2008/03#sup" />
    
    
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/atjpongelive" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="atjpongelive" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://posterous.superfeedr.com/" /><item>
      <pubDate>Mon, 09 Jan 2012 12:57:00 -0800</pubDate>
      <title>Bye Bye Posterous, Hello Tumblr and Static Files!</title>
      <link>http://live.julien.ponge.info/bye-bye-posterous-hello-tumblr-and-static-fil</link>
      <guid>http://live.julien.ponge.info/bye-bye-posterous-hello-tumblr-and-static-fil</guid>
      <description>
        <![CDATA[<p>
	<p>Short version: I am leaving Posterous and moving to Tumblr at  <a href="http://log.julien.ponge.info/">http://log.julien.ponge.info/</a>.</p>

<p>It turns out that <a href="http://live.julien.ponge.info/">my usage of Posterous as a social media tool</a> will have been a short one.</p>

<p><a href="http://jpz-log.info/">I had been running a blog for many years</a> until the new social networks had me less and less writing to it. It turns out that many friends have the same problem. They write less, period. Ted Leung of Jython fame tends to <a href="http://www.sauria.com/blog/2012/01/09/blogaversary-2012/">express the same feelings in a recent post</a>. Another thing that got me out of this blog is the accumulation of dust over the years. Also, I am less and less inclined in maintaining a <a href="http://wordpress.org/">Wordpress</a> installation, although this is a first-class blogging software.</p>

<p>I initially came to Posterous because it promised an easier experience. Post by email. Autopost to Twitter, Facebook, LinkedIn, whatever. Just link something from another site and it gets magically inserted into the post from FlickR, SlideShare, Youtube, Gist/GitHub, &hellip;</p>

<p>This is all cool, but I gradually got bored of the frictions with the tool. To name a few:</p>

<ul>
<li>Slideshare links get broken every once in a while, embedding the slides from a business guy instead of yours,</li>
<li>there is no Disq.us integration, just an inferior Posterous-made comments system,</li>
<li>you always have to reformat the posts sent by email,</li>
<li>the web editor is a joke, and it breaks your formatting even more (inconsistent double paragraph jumps on a single paragraph break),</li>
<li>you cannot insert pictures into markdown-formatted posts, even as galleries,</li>
<li>the web editor does force you into &ldquo;raw HTML&rdquo; to enter markdown text between tags,</li>
<li>you cannot tweak the post URLs if you leave the title empty and you hit &ldquo;preview&rdquo;,</li>
<li>the themes set is so limited,</li>
<li>having few themes is not much of an issue, but when only a handful look good then it is a serious one,</li>
<li>(&hellip;)</li>
</ul>


<p>In the end of the day I am spending too much time on issues with Posterous, hence I have to leave for my personal space. I just need a tool with no formatting woes that gets the stuff done.</p>

<p>Things are different for a community site such as the <a href="http://news.izpack.org/">IzPack news</a> where Posterous is a good fit. Indeed, posts are occasional, they mainly consist of text or a screenshot gallery, and autoposting makes things easier for the contributors.</p>

<p>I am a great fan of <a href="http://martinfowler.com/bliki/WhatIsaBliki.html">Martin Fowler&rsquo;s notion of <em>&ldquo;bliki&rdquo;</em></a>. I am going to implement a similar system on <a href="http://julien.ponge.info/">my main website</a>. I am already using a static files generator, so plugging it in will just be a breeze! I think that I will dig into my past (blog) posts and extract a few of them to make the first entries. Anything serious will have a fine and long-lasting place there. You don&rsquo;t write such articles every day&hellip;</p>

<p>For all other things I am moving to Posterous nemesis <a href="http://tumblr.com/">Tumblr</a>. The nice thing with Tumblr is not just that it has momentum. The entries can be of various types, including links with a short comment, a picture, a short thought&hellip; This makes Tumblr the perfect place for a flow of short, daily fast-paced entries on the go. A good example is <a href="http://penso.info/">the Tumblr of Fabien Penso</a> where he frequently posts links with short comments. I like that. And of course, it has Twitter integration!</p>

<p><strong>Please note the URL of my Tumblr: <a href="http://log.julien.ponge.info/">http://log.julien.ponge.info/</a></strong></p>

<p><strong>So long Posterous, and thanks for the fish!</strong></p>
	
</p>

<p><a href="http://live.julien.ponge.info/bye-bye-posterous-hello-tumblr-and-static-fil">Permalink</a> 

	| <a href="http://live.julien.ponge.info/bye-bye-posterous-hello-tumblr-and-static-fil#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1254910/Screen_shot_2011-02-01_at_3.47.18_PM_reasonably_small.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hesW7ScPOPef8</posterous:profileUrl>
        <posterous:firstName>Julien</posterous:firstName>
        <posterous:lastName>Ponge</posterous:lastName>
        <posterous:nickName>jponge</posterous:nickName>
        <posterous:displayName>Julien Ponge</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Mon, 19 Dec 2011 02:51:00 -0800</pubDate>
      <title>Sweet surprise</title>
      <link>http://live.julien.ponge.info/sweet-surprise</link>
      <guid>http://live.julien.ponge.info/sweet-surprise</guid>
      <description>
        <![CDATA[<p>
	<p><a href="http://blogs.oracle.com/otn/entry/our_most_popular_tech_articles">Oracle just published the top 20 of their technical articles for 2011</a>.</p>
<p>This came as a surprise to me, but <a href="http://www.oracle.com/technetwork/articles/java/fork-join-422606.html">my article on Java SE 7 Fork/Join</a> is number one! My other article on <a href="http://www.oracle.com/technetwork/articles/java/trywithresources-401775.html">resources management in Java SE 7</a> is also part of the top 20.</p>
<p>Big thanks to Oracle for having me on board as a tech writer, and huge thanks to all of those reading them!</p>
<p>Stay tuned: more articles are waiting in the pipe and will be published in 2012.</p>
	
</p>

<p><a href="http://live.julien.ponge.info/sweet-surprise">Permalink</a> 

	| <a href="http://live.julien.ponge.info/sweet-surprise#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1254910/Screen_shot_2011-02-01_at_3.47.18_PM_reasonably_small.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hesW7ScPOPef8</posterous:profileUrl>
        <posterous:firstName>Julien</posterous:firstName>
        <posterous:lastName>Ponge</posterous:lastName>
        <posterous:nickName>jponge</posterous:nickName>
        <posterous:displayName>Julien Ponge</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Fri, 09 Dec 2011 08:57:00 -0800</pubDate>
      <title>It turns out that OpenJDK / Jigsaw wasn't just a PowerPoint demo at Devoxx</title>
      <link>http://live.julien.ponge.info/84822905</link>
      <guid>http://live.julien.ponge.info/84822905</guid>
      <description>
        <![CDATA[<p>
	<p>Jigsaw plays in the "static module" category just like Ruby gems, Python eggs, NodeJS packages and such. It will be part of Java 8 and will be the standard modules system for Java onwards.</p>
<p>I remember myself attending <a href="http://mreinhold.org/">Mark Reinhold's</a> talk on Jigsaw at <a href="http://www.devoxx.com/">Devoxx</a> this year, and leaving the room with a weird feeling. I had already seen a few talks by Mark, but this one on Jigsaw wasn't clearly his best. He spent too much time on generalities about modularity and modules, only to present Jigsaw and the related tools on slides. <strong>Yes, on slides.</strong></p>
<p>Other people in the room were concerned too:<strong> "what if all of this was just vaporware? PowerPointWare?"</strong>. I have heard lots of harsh reactions after the talk. Another grief was when Mark said that <em>"nobody needs to have 2 versions of the same module within the same application"</em>.</p>
<p>Come on Mark! :-)</p>
<p>I have decided to report here my adventures in building OpenJDK 8 with the current development version of Jigsaw. I have to say that what is inside is promising, although I have several concerns that I won't elaborate in this post. Nevertheless, the most critical one seems to be over the possible lack of side-by-side versioning support. Application servers anyone?</p>
<p><div class='p_embed p_image_embed'>
<a href="http://getfile1.posterous.com/getfile/files.posterous.com/temp-2011-12-09/tAycIfBmsqHEDhAiCcFAzthDromDfIhzyyoJGlfnuapuDkoswAnguhGDBDAx/deb.png.scaled1000.png"><img alt="Deb" height="313" src="http://getfile2.posterous.com/getfile/files.posterous.com/temp-2011-12-09/tAycIfBmsqHEDhAiCcFAzthDromDfIhzyyoJGlfnuapuDkoswAnguhGDBDAx/deb.png.scaled500.png" width="500" /></a>
<a href="http://getfile1.posterous.com/getfile/files.posterous.com/temp-2011-12-09/dkuEkqisDelkoeGFlGczBIuCyieAhIDdmupCmFhmnCtCIrGtIIyutIdhEeDh/building-modules-1.png.scaled1000.png"><img alt="Building-modules-1" height="313" src="http://getfile3.posterous.com/getfile/files.posterous.com/temp-2011-12-09/dkuEkqisDelkoeGFlGczBIuCyieAhIDdmupCmFhmnCtCIrGtIIyutIdhEeDh/building-modules-1.png.scaled500.png" width="500" /></a>
<a href="http://getfile8.posterous.com/getfile/files.posterous.com/temp-2011-12-09/ogrgjzGfbompmiCgzvlByfCIbprxuqdqdDarDyiBCiuxayunuEusorjbHfhh/buildok.png.scaled1000.png"><img alt="Buildok" height="313" src="http://getfile9.posterous.com/getfile/files.posterous.com/temp-2011-12-09/ogrgjzGfbompmiCgzvlByfCIbprxuqdqdDarDyiBCiuxayunuEusorjbHfhh/buildok.png.scaled500.png" width="500" /></a>
<a href="http://getfile6.posterous.com/getfile/files.posterous.com/temp-2011-12-09/eadoDElAEHHaBeAknJeAoBfEmCAhlzHyHjxwfFFqxmApIwivibqoByjCeJom/jmod.png"><img alt="Jmod" height="312.5" src="http://getfile6.posterous.com/getfile/files.posterous.com/temp-2011-12-09/eadoDElAEHHaBeAknJeAoBfEmCAhlzHyHjxwfFFqxmApIwivibqoByjCeJom/jmod.png" width="500" /></a>
<a href="http://getfile6.posterous.com/getfile/files.posterous.com/temp-2011-12-09/JiegwBfGendtcFAoFqwIJCGoyFChpFavhCpevIvntsvbjqaqbrstalBglCqj/installing-modules.png.scaled1000.png"><img alt="Installing-modules" height="313" src="http://getfile9.posterous.com/getfile/files.posterous.com/temp-2011-12-09/JiegwBfGendtcFAoFqwIJCGoyFChpFavhCpevIvntsvbjqaqbrstalBglCqj/installing-modules.png.scaled500.png" width="500" /></a>
<a href="http://getfile9.posterous.com/getfile/files.posterous.com/temp-2011-12-09/usrEaurAfnCAECcFvlvgDfHrDiDchqktexcfAmpebApectcGCcagvslDlBEf/modular-jdk.png.scaled1000.png"><img alt="Modular-jdk" height="313" src="http://getfile3.posterous.com/getfile/files.posterous.com/temp-2011-12-09/usrEaurAfnCAECcFvlvgDfHrDiDchqktexcfAmpebApectcGCcagvslDlBEf/modular-jdk.png.scaled500.png" width="500" /></a>
<div class='p_see_full_gallery'><a href="http://live.julien.ponge.info/84822905">See the full gallery on Posterous</a></div>
</div>
</p>
<p><strong><span style="font-size: large;">Preparing yourself a Linux distribution</span></strong></p>
<p>At this stage the simplest route is to use a Linux box. In my case I opted for a virtual machine inside <a href="http://www.virtualbox.org/">Oracle VirtualBox</a>.</p>
<p>OpenJDK does not have weird dependencies bar <a href="http://www.alsa-project.org/">Alsa</a>. I am always amazed by the mess it is in the Linux world to support audio. There are dozen of Alsa variants, and finding the one with the good library is a true challenge. At one point I was playing the game of guessing which package would provide me with the correct library, only to find out that certain combinations would remove Mozilla Firefox, OpenJDK 7 and other useful tools. Nice!</p>
<p>I first had those problems in a Mint / Ubuntu distribution. I opted to play with Fedora 16, a clean distribution by the way. Despite my best efforts, the compilation failed miserably due to spaces / tabs in a Makefile. Fixing it was no solution, as make would have missing dependencies. A weird problem with make. I gave up.</p>
<p>I ended up back on an Ubuntu variant called XUbuntu that runs XFCE, a light and clean desktop environment.</p>
<p><span style="font-size: large;"><strong>Dependencies</strong></span></p>
<p>To build OpenJDK 8, you will need:</p>
<ul>
<li>OpenJDK 7</li>
<li>Apache Ant</li>
<li>GNU make</li>
<li>GCC with C++</li>
<li>GNU AWK</li>
<li>ALSA</li>
<li>Mercurial</li>
</ul>
<p>You will also need a bunch of libraries from CUPS, XOrg and more. There is a lifesaver tool call "<strong>apt-file</strong>" on Debian-based distributions, and that you can use like:</p>
<p style="padding-left: 30px;"><strong>apt-file search X11/extensions/shape.h</strong></p>
<p>This tool is a must have, because you will inevitably fight over missing headers and libraries.</p>
<p><span style="font-size: large;"><strong>Quality time with make</strong></span></p>
<p>The following set of commands should serve as a basis for getting the source code and building it:</p>
<p><div class="data type-shell">
      <table class="lines" cellspacing="0" cellpadding="0">
        <tr>
          <td>
            <pre class="line_numbers"><span rel="#L1" id="L1">1</span>
<span rel="#L2" id="L2">2</span>
<span rel="#L3" id="L3">3</span>
<span rel="#L4" id="L4">4</span>
<span rel="#L5" id="L5">5</span>
<span rel="#L6" id="L6">6</span>
<span rel="#L7" id="L7">7</span>
<span rel="#L8" id="L8">8</span>
</pre>
          </td>
          <td width="100%">
                <div class="highlight"><pre /><div class="line" id="LC1">hg clone http://hg.openjdk.java.net/jigsaw/jigsaw</div><div class="line" id="LC2"><span class="nb">cd </span>jigsaw</div><div class="line" id="LC3">bash get_sources.sh</div><div class="line" id="LC4"><span class="nb">export </span><span class="nv">LANG</span><span class="o">=</span>C</div><div class="line" id="LC5"><span class="nb">export </span><span class="nv">ALT_BOOTDIR</span><span class="o">=</span>/usr/lib/jvm/java-1.7.0-openjdk-i386</div><div class="line" id="LC6"><span class="nb">export </span><span class="nv">ALLOW_DOWNLOADS</span><span class="o">=</span><span class="nb">true</span></div><div class="line" id="LC7">make sanity</div><div class="line" id="LC8">make all</div></pre></div>
          </td>
        </tr>
      </table>
  </div></p>
<p><span style="font-size: large;"><strong>Who needs sound anyway?</strong></span></p>
<p>You are very likely to encounter issues with Alsa. I did. I couldn't get the right libraries for some reason I can't explain, so I went to download the source code for Alsa and compiled it locally. And it failed.</p>
<p>Alsa is an aging project. It does not compile on a Linux 3 kernel due to missing headers like "<strong>linux/smp_lock.h</strong>".</p>
<p>You can safely disable the sound libraries as I ended up doing:</p>
<p><div class="data type-diff">
      <table class="lines" cellspacing="0" cellpadding="0">
        <tr>
          <td>
            <pre class="line_numbers"><span rel="#L1" id="L1">1</span>
<span rel="#L2" id="L2">2</span>
<span rel="#L3" id="L3">3</span>
<span rel="#L4" id="L4">4</span>
<span rel="#L5" id="L5">5</span>
<span rel="#L6" id="L6">6</span>
<span rel="#L7" id="L7">7</span>
<span rel="#L8" id="L8">8</span>
<span rel="#L9" id="L9">9</span>
<span rel="#L10" id="L10">10</span>
<span rel="#L11" id="L11">11</span>
<span rel="#L12" id="L12">12</span>
<span rel="#L13" id="L13">13</span>
<span rel="#L14" id="L14">14</span>
<span rel="#L15" id="L15">15</span>
<span rel="#L16" id="L16">16</span>
<span rel="#L17" id="L17">17</span>
<span rel="#L18" id="L18">18</span>
<span rel="#L19" id="L19">19</span>
<span rel="#L20" id="L20">20</span>
<span rel="#L21" id="L21">21</span>
<span rel="#L22" id="L22">22</span>
<span rel="#L23" id="L23">23</span>
<span rel="#L24" id="L24">24</span>
<span rel="#L25" id="L25">25</span>
<span rel="#L26" id="L26">26</span>
<span rel="#L27" id="L27">27</span>
<span rel="#L28" id="L28">28</span>
<span rel="#L29" id="L29">29</span>
<span rel="#L30" id="L30">30</span>
<span rel="#L31" id="L31">31</span>
<span rel="#L32" id="L32">32</span>
<span rel="#L33" id="L33">33</span>
<span rel="#L34" id="L34">34</span>
<span rel="#L35" id="L35">35</span>
<span rel="#L36" id="L36">36</span>
<span rel="#L37" id="L37">37</span>
<span rel="#L38" id="L38">38</span>
<span rel="#L39" id="L39">39</span>
<span rel="#L40" id="L40">40</span>
<span rel="#L41" id="L41">41</span>
<span rel="#L42" id="L42">42</span>
<span rel="#L43" id="L43">43</span>
<span rel="#L44" id="L44">44</span>
<span rel="#L45" id="L45">45</span>
<span rel="#L46" id="L46">46</span>
<span rel="#L47" id="L47">47</span>
<span rel="#L48" id="L48">48</span>
<span rel="#L49" id="L49">49</span>
<span rel="#L50" id="L50">50</span>
<span rel="#L51" id="L51">51</span>
<span rel="#L52" id="L52">52</span>
<span rel="#L53" id="L53">53</span>
<span rel="#L54" id="L54">54</span>
<span rel="#L55" id="L55">55</span>
<span rel="#L56" id="L56">56</span>
<span rel="#L57" id="L57">57</span>
<span rel="#L58" id="L58">58</span>
<span rel="#L59" id="L59">59</span>
<span rel="#L60" id="L60">60</span>
<span rel="#L61" id="L61">61</span>
<span rel="#L62" id="L62">62</span>
</pre>
          </td>
          <td width="100%">
                <div class="highlight"><pre /><div class="line" id="LC1"><span class="gh">diff -r 22ccf6e7a092 make/javax/sound/jsoundalsa/Makefile</span></div><div class="line" id="LC2"><span class="gd">--- a/make/javax/sound/jsoundalsa/Makefile	Fri Dec 02 12:44:03 2011 +0000</span></div><div class="line" id="LC3"><span class="gi">+++ b/make/javax/sound/jsoundalsa/Makefile	Fri Dec 09 15:11:02 2011 +0100</span></div><div class="line" id="LC4"><span class="gu">@@ -45,34 +45,37 @@</span></div><div class="line" id="LC5">&nbsp;# Files</div><div class="line" id="LC6">&nbsp;#</div><div class="line" id="LC7">&nbsp;</div><div class="line" id="LC8"><span class="gd">-FILES_c = \</span></div><div class="line" id="LC9"><span class="gd">-	Utilities.c \</span></div><div class="line" id="LC10"><span class="gd">-	$(DAUDIOFILES_c) \</span></div><div class="line" id="LC11"><span class="gd">-	$(MIDIFILES_c) \</span></div><div class="line" id="LC12"><span class="gd">-	$(PORTFILES_c)</span></div><div class="line" id="LC13"><span class="gi">+FILES_c=</span></div><div class="line" id="LC14"><span class="gi">+#FILES_c = \</span></div><div class="line" id="LC15"><span class="gi">+#	Utilities.c \</span></div><div class="line" id="LC16"><span class="gi">+#	$(DAUDIOFILES_c) \</span></div><div class="line" id="LC17"><span class="gi">+#	$(MIDIFILES_c) \</span></div><div class="line" id="LC18"><span class="gi">+#	$(PORTFILES_c)</span></div><div class="line" id="LC19">&nbsp;</div><div class="line" id="LC20">&nbsp;# platform dependent files</div><div class="line" id="LC21"><span class="gd">-FILES_c += \</span></div><div class="line" id="LC22"><span class="gd">-	PLATFORM_API_LinuxOS_ALSA_CommonUtils.c   \</span></div><div class="line" id="LC23"><span class="gd">-	PLATFORM_API_LinuxOS_ALSA_PCM.c     \</span></div><div class="line" id="LC24"><span class="gd">-	PLATFORM_API_LinuxOS_ALSA_PCMUtils.c   \</span></div><div class="line" id="LC25"><span class="gd">-	PLATFORM_API_LinuxOS_ALSA_MidiIn.c  \</span></div><div class="line" id="LC26"><span class="gd">-	PLATFORM_API_LinuxOS_ALSA_MidiOut.c \</span></div><div class="line" id="LC27"><span class="gd">-	PLATFORM_API_LinuxOS_ALSA_MidiUtils.c \</span></div><div class="line" id="LC28"><span class="gd">-	PLATFORM_API_LinuxOS_ALSA_Ports.c</span></div><div class="line" id="LC29"><span class="gi">+#FILES_c += \</span></div><div class="line" id="LC30"><span class="gi">+#	PLATFORM_API_LinuxOS_ALSA_CommonUtils.c   \</span></div><div class="line" id="LC31"><span class="gi">+#	PLATFORM_API_LinuxOS_ALSA_PCM.c     \</span></div><div class="line" id="LC32"><span class="gi">+#	PLATFORM_API_LinuxOS_ALSA_PCMUtils.c   \</span></div><div class="line" id="LC33"><span class="gi">+#	PLATFORM_API_LinuxOS_ALSA_MidiIn.c  \</span></div><div class="line" id="LC34"><span class="gi">+#	PLATFORM_API_LinuxOS_ALSA_MidiOut.c \</span></div><div class="line" id="LC35"><span class="gi">+#	PLATFORM_API_LinuxOS_ALSA_MidiUtils.c \</span></div><div class="line" id="LC36"><span class="gi">+#	PLATFORM_API_LinuxOS_ALSA_Ports.c</span></div><div class="line" id="LC37">&nbsp;</div><div class="line" id="LC38"><span class="gd">-FILES_export = \</span></div><div class="line" id="LC39"><span class="gd">-	$(DAUDIOFILES_export) \</span></div><div class="line" id="LC40"><span class="gd">-	$(MIDIFILES_export) \</span></div><div class="line" id="LC41"><span class="gd">-	$(PORTFILES_export)</span></div><div class="line" id="LC42">&nbsp;</div><div class="line" id="LC43"><span class="gd">-LDFLAGS += -lasound</span></div><div class="line" id="LC44"><span class="gi">+FILES_export=</span></div><div class="line" id="LC45"><span class="gi">+#FILES_export = \</span></div><div class="line" id="LC46"><span class="gi">+#	$(DAUDIOFILES_export) \</span></div><div class="line" id="LC47"><span class="gi">+#	$(MIDIFILES_export) \</span></div><div class="line" id="LC48"><span class="gi">+#	$(PORTFILES_export)</span></div><div class="line" id="LC49"><span class="gi">+</span></div><div class="line" id="LC50"><span class="gi">+#LDFLAGS += -lasound</span></div><div class="line" id="LC51">&nbsp;</div><div class="line" id="LC52">&nbsp;CPPFLAGS += \</div><div class="line" id="LC53"><span class="gd">-	-DUSE_DAUDIO=TRUE \</span></div><div class="line" id="LC54"><span class="gd">-	-DUSE_PORTS=TRUE  \</span></div><div class="line" id="LC55"><span class="gd">-	-DUSE_PLATFORM_MIDI_OUT=TRUE \</span></div><div class="line" id="LC56"><span class="gd">-	-DUSE_PLATFORM_MIDI_IN=TRUE \</span></div><div class="line" id="LC57"><span class="gi">+	-DUSE_DAUDIO=FALSE \</span></div><div class="line" id="LC58"><span class="gi">+	-DUSE_PORTS=FALSE  \</span></div><div class="line" id="LC59"><span class="gi">+	-DUSE_PLATFORM_MIDI_OUT=FALSE \</span></div><div class="line" id="LC60"><span class="gi">+	-DUSE_PLATFORM_MIDI_IN=FALSE \</span></div><div class="line" id="LC61">&nbsp;	-I$(SHARE_SRC)/native/com/sun/media/sound</div><div class="line" id="LC62">&nbsp;</div></pre></div>
          </td>
        </tr>
      </table>
  </div></p>
<p>Now the set of commands above should peacefully converge towards a successful build.</p>
<p><span style="font-size: large;"><strong>A modular JDK!</strong></span></p>
<p>The fresh JDK image lies in "<strong>build/linux-i586/jdk-module-image</strong>".</p>
<p>Along the way you will notice new tools in "<strong>bin/</strong>" such as "<strong>jmod</strong> and <strong>jpkg</strong>".</p>
<p>The "<strong>lib/modules</strong>" folder contains a myriad of modules. The JDK is no longer this huge "<strong>rt.jar</strong>" with a gravity of JARs around: it is now a set of modules. Each module contains 3 files: an index, some metadata and the classes. I did not check but my understanding is that the "<strong>classes</strong>" file is using Pack200.</p>
<p><span style="font-size: large;"><strong>Backwards compatibility</strong></span></p>
<p>You can still compile and run classes as you did before. The classpath flags are still there, so you don't have to worry too much.</p>
<p>Let's now play with Jigsaw modules.</p>
<p><span style="font-size: large;"><strong>My first module</strong></span></p>
<p>We will start with a simple module to compute factorial numbers. <strong>What is new is the "module-info.java" file at the root of the module</strong>. It contains meta-data such as the name of the module, its version, its dependencies with optional version requirements, its exported services and more.</p>
<p>It is suggested to organize the sources folder into separate "<strong>modules</strong>". We now need to tell "<strong>javac</strong>" to:</p>
<ul>
<li>output the compiled classes to a "<strong>modules</strong>" folder using the usual <strong>-d flag</strong>, and</li>
<li>look for dependent modules into "<strong>modules</strong>", and</li>
<li>take "<strong>sources</strong>" as the source folder for our module(s) source code, and...</li>
<li>... pass those familiar Java source code files.</li>
</ul>
<p>Here is the Gist to that module:</p>
<p><div class="data type-shell">
      <table class="lines" cellspacing="0" cellpadding="0">
        <tr>
          <td>
            <pre class="line_numbers"><span rel="#L1" id="L1">1</span>
<span rel="#L2" id="L2">2</span>
<span rel="#L3" id="L3">3</span>
<span rel="#L4" id="L4">4</span>
<span rel="#L5" id="L5">5</span>
<span rel="#L6" id="L6">6</span>
<span rel="#L7" id="L7">7</span>
</pre>
          </td>
          <td width="100%">
                <div class="highlight"><pre /><div class="line" id="LC1">mkdir -p sources/fact/fact</div><div class="line" id="LC2">mkdir modules</div><div class="line" id="LC3"><span class="c"># edit the files!</span></div><div class="line" id="LC4">javac -d modules -modulepath modules <span class="se">\</span></div><div class="line" id="LC5">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-sourcepath sources <span class="se">\</span></div><div class="line" id="LC6">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sources/fact/module-info.java <span class="se">\</span></div><div class="line" id="LC7">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sources/fact/fact/Factorial.java</div></pre></div>
          </td>
        </tr>
      </table>
  </div></p>
<p><span style="font-size: large;"><strong>A module that needs a module</strong></span></p>
<p>We can easily create a "<strong>hello</strong>" module that depends on the previous "<strong>fact</strong>" module:</p>
<p><div class="data type-java">
      <table class="lines" cellspacing="0" cellpadding="0">
        <tr>
          <td>
            <pre class="line_numbers"><span rel="#L1" id="L1">1</span>
<span rel="#L2" id="L2">2</span>
<span rel="#L3" id="L3">3</span>
<span rel="#L4" id="L4">4</span>
<span rel="#L5" id="L5">5</span>
<span rel="#L6" id="L6">6</span>
<span rel="#L7" id="L7">7</span>
<span rel="#L8" id="L8">8</span>
<span rel="#L9" id="L9">9</span>
</pre>
          </td>
          <td width="100%">
                <div class="highlight"><pre /><div class="line" id="LC1"><span class="kn">package</span> <span class="n">hello</span><span class="o">;</span></div><div class="line" id="LC2"><br /></div><div class="line" id="LC3"><span class="kn">import</span> <span class="nn">static</span> <span class="n">fact</span><span class="o">.</span><span class="na">Factorial</span><span class="o">.</span><span class="na">factorial</span><span class="o">;</span></div><div class="line" id="LC4"><br /></div><div class="line" id="LC5"><span class="kd">public</span> <span class="kd">class</span> <span class="nc">Main</span> <span class="o">{</span></div><div class="line" id="LC6">&nbsp;&nbsp;<span class="kd">public</span> <span class="kd">static</span> <span class="kt">void</span> <span class="nf">main</span><span class="o">(</span><span class="n">String</span><span class="o">...</span> <span class="n">args</span><span class="o">)</span> <span class="o">{</span></div><div class="line" id="LC7">&nbsp;&nbsp;&nbsp;&nbsp;<span class="n">System</span><span class="o">.</span><span class="na">out</span><span class="o">.</span><span class="na">println</span><span class="o">(</span><span class="n">factorial</span><span class="o">(</span><span class="mi">10</span><span class="o">));</span></div><div class="line" id="LC8">&nbsp;&nbsp;<span class="o">}</span></div><div class="line" id="LC9"><span class="o">}</span></div></pre></div>
          </td>
        </tr>
      </table>
  </div></p>
<p>The compilation is straightforward from the one above. You don't have to mess with the classpath anymore, just tell "<strong>javac</strong>" where the modules are.</p>
<p>The "<strong>module-info.java</strong>" definition is straightforward. The "<strong>class</strong>" entry specifies a "<strong>main</strong>" method, aka an entry-point for your module, if any.</p>
<p><span style="font-size: large;"><strong>Making a repository and running a module</strong></span></p>
<p>Until there what we called "<strong>modules</strong>" were actually just good old folders with "<strong>.class</strong>" files at the right place. A module was just another indirection layer in the form of a folder with the name of the module.</p>
<p>Repositories are being used by Jigsaw to deploy modules. They have support for delegation, just like those good old classloaders, and it will be possible to reference remote repositories, possibly from Maven. Cool!</p>
<p>Let's create a repository and deploy our modules to it. When this is done we can also run the "hello" module:</p>
<p><div class="data type-shell">
      <table class="lines" cellspacing="0" cellpadding="0">
        <tr>
          <td>
            <pre class="line_numbers"><span rel="#L1" id="L1">1</span>
<span rel="#L2" id="L2">2</span>
<span rel="#L3" id="L3">3</span>
<span rel="#L4" id="L4">4</span>
<span rel="#L5" id="L5">5</span>
<span rel="#L6" id="L6">6</span>
<span rel="#L7" id="L7">7</span>
<span rel="#L8" id="L8">8</span>
<span rel="#L9" id="L9">9</span>
<span rel="#L10" id="L10">10</span>
<span rel="#L11" id="L11">11</span>
<span rel="#L12" id="L12">12</span>
<span rel="#L13" id="L13">13</span>
<span rel="#L14" id="L14">14</span>
<span rel="#L15" id="L15">15</span>
<span rel="#L16" id="L16">16</span>
<span rel="#L17" id="L17">17</span>
</pre>
          </td>
          <td width="100%">
                <div class="highlight"><pre /><div class="line" id="LC1">jmod create -L repo</div><div class="line" id="LC2">jmod install modules hello fact -L repo</div><div class="line" id="LC3"><br /></div><div class="line" id="LC4">find repo/</div><div class="line" id="LC5">repo/</div><div class="line" id="LC6">repo/fact</div><div class="line" id="LC7">repo/fact/1.0</div><div class="line" id="LC8">repo/fact/1.0/index</div><div class="line" id="LC9">repo/fact/1.0/info</div><div class="line" id="LC10">repo/fact/1.0/classes</div><div class="line" id="LC11">repo/%jigsaw-library</div><div class="line" id="LC12">repo/hello</div><div class="line" id="LC13">repo/hello/1.0</div><div class="line" id="LC14">repo/hello/1.0/config</div><div class="line" id="LC15">repo/hello/1.0/index</div><div class="line" id="LC16">repo/hello/1.0/info</div><div class="line" id="LC17">repo/hello/1.0/classes</div></pre></div>
          </td>
        </tr>
      </table>
  </div></p>
<p><span style="font-size: large;"><strong>Distributing modules</strong></span></p>
<p>Jigsaw offers a new format called "<strong>jmod</strong>" to distribute modules, which can in turn be installed into repositories. It is also possible to create native packages. In my case I can create "<strong>.deb</strong>" native packages using jmod, and they have the correct naming, versioning and dependencies metadata.</p>
<p>Here is how to use it to package and install modules:</p>
<p><div class="data type-shell">
      <table class="lines" cellspacing="0" cellpadding="0">
        <tr>
          <td>
            <pre class="line_numbers"><span rel="#L1" id="L1">1</span>
<span rel="#L2" id="L2">2</span>
<span rel="#L3" id="L3">3</span>
<span rel="#L4" id="L4">4</span>
<span rel="#L5" id="L5">5</span>
<span rel="#L6" id="L6">6</span>
<span rel="#L7" id="L7">7</span>
<span rel="#L8" id="L8">8</span>
<span rel="#L9" id="L9">9</span>
<span rel="#L10" id="L10">10</span>
<span rel="#L11" id="L11">11</span>
<span rel="#L12" id="L12">12</span>
<span rel="#L13" id="L13">13</span>
<span rel="#L14" id="L14">14</span>
<span rel="#L15" id="L15">15</span>
<span rel="#L16" id="L16">16</span>
<span rel="#L17" id="L17">17</span>
</pre>
          </td>
          <td width="100%">
                <div class="highlight"><pre /><div class="line" id="LC1"><span class="c"># Make jmod packages</span></div><div class="line" id="LC2">jponge@xub:~/Code/java8<span class="nv">$ </span>jpkg -m modules/fact jmod fact</div><div class="line" id="LC3">jponge@xub:~/Code/java8<span class="nv">$ </span>jpkg -m modules/hello jmod hello</div><div class="line" id="LC4">jponge@xub:~/Code/java8<span class="nv">$ </span>ls *.jmod</div><div class="line" id="LC5">fact@1.0.jmod  hello@1.0.jmod</div><div class="line" id="LC6"><br /></div><div class="line" id="LC7"><span class="c"># Make Debian packages</span></div><div class="line" id="LC8">jponge@xub:~/Code/java8<span class="nv">$ </span>jpkg -m modules/ deb hello</div><div class="line" id="LC9">jponge@xub:~/Code/java8<span class="nv">$ </span>jpkg -m modules/ deb fact</div><div class="line" id="LC10">jponge@xub:~/Code/java8<span class="nv">$ </span>ls *.deb</div><div class="line" id="LC11">fact_1.0_i386.deb  hello_1.0_i386.deb</div><div class="line" id="LC12"><br /></div><div class="line" id="LC13"><span class="c"># Remove a module and install it back from a jmod package</span></div><div class="line" id="LC14">jponge@xub:~/Code/java8<span class="nv">$ </span>rm -rf repo/hello</div><div class="line" id="LC15">jponge@xub:~/Code/java8<span class="nv">$ </span>jmod install -L repo hello@1.0.jmod </div><div class="line" id="LC16">jponge@xub:~/Code/java8<span class="nv">$ </span>java -L repo -m hello</div><div class="line" id="LC17">3628800</div></pre></div>
          </td>
        </tr>
      </table>
  </div></p>
<p><span style="font-size: large;"><strong>Conclusion</strong></span></p>
<p>I have only scratched the surface of Jigsaw and the project / specifications are still under development. I can already tell that it nicely matches the needs for a static modules system. That being said, large code bases already leverage some form of modules system such as OSGi, JBoss modules and ad-hoc systems.</p>
<p>Java 8 has yet to be released, and we are far from it. Nevertheless its adoption will depend on application servers, and a growing number of those rely on OSGi as a dynamic modules platform. The key for Jigsaw adoption will thus to provide a clean interoperability with OSGi and other forms of module system. Yet a better solution would probably be to provide equivalent dynamic mechanisms, although OSGi remains a pragmatic middle-term bet.</p>
<p><strong>Disclaimer</strong></p>
<p><em>I am also a contracted technical writer for Oracle, but I am not an agent, employee or principal of Oracle Corporation. The views here are thus solely mine, not those of past, present and future employers.</em></p>
<p><span style="font-size: large;"><strong>References</strong></span></p>
<ul>
<li><a href="http://openjdk.java.net/projects/jigsaw/">Project Jigsaw</a></li>
<li><a href="http://openjdk.java.net/projects/jigsaw/doc/topics/grammar.html">Modules grammar</a></li>
<li><a href="http://openjdk.java.net/projects/jigsaw/doc/quickstart.html">Quickstart</a></li>
</ul>
	
</p>

<p><a href="http://live.julien.ponge.info/84822905">Permalink</a> 

	| <a href="http://live.julien.ponge.info/84822905#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1254910/Screen_shot_2011-02-01_at_3.47.18_PM_reasonably_small.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hesW7ScPOPef8</posterous:profileUrl>
        <posterous:firstName>Julien</posterous:firstName>
        <posterous:lastName>Ponge</posterous:lastName>
        <posterous:nickName>jponge</posterous:nickName>
        <posterous:displayName>Julien Ponge</posterous:displayName>
      </posterous:author>
      <media:content type="image/png" height="900" width="1440" url="http://getfile3.posterous.com/getfile/files.posterous.com/temp-2011-12-09/tAycIfBmsqHEDhAiCcFAzthDromDfIhzyyoJGlfnuapuDkoswAnguhGDBDAx/deb.png">
        <media:thumbnail height="313" width="500" url="http://getfile2.posterous.com/getfile/files.posterous.com/temp-2011-12-09/tAycIfBmsqHEDhAiCcFAzthDromDfIhzyyoJGlfnuapuDkoswAnguhGDBDAx/deb.png.scaled500.png" />
      </media:content>
      <media:content type="image/png" height="900" width="1440" url="http://getfile4.posterous.com/getfile/files.posterous.com/temp-2011-12-09/dkuEkqisDelkoeGFlGczBIuCyieAhIDdmupCmFhmnCtCIrGtIIyutIdhEeDh/building-modules-1.png">
        <media:thumbnail height="313" width="500" url="http://getfile3.posterous.com/getfile/files.posterous.com/temp-2011-12-09/dkuEkqisDelkoeGFlGczBIuCyieAhIDdmupCmFhmnCtCIrGtIIyutIdhEeDh/building-modules-1.png.scaled500.png" />
      </media:content>
      <media:content type="image/png" height="900" width="1440" url="http://getfile1.posterous.com/getfile/files.posterous.com/temp-2011-12-09/ogrgjzGfbompmiCgzvlByfCIbprxuqdqdDarDyiBCiuxayunuEusorjbHfhh/buildok.png">
        <media:thumbnail height="313" width="500" url="http://getfile9.posterous.com/getfile/files.posterous.com/temp-2011-12-09/ogrgjzGfbompmiCgzvlByfCIbprxuqdqdDarDyiBCiuxayunuEusorjbHfhh/buildok.png.scaled500.png" />
      </media:content>
      <media:content type="image/png" height="900" width="1440" url="http://getfile6.posterous.com/getfile/files.posterous.com/temp-2011-12-09/eadoDElAEHHaBeAknJeAoBfEmCAhlzHyHjxwfFFqxmApIwivibqoByjCeJom/jmod.png">
        <media:thumbnail height="900" width="1440" url="http://getfile6.posterous.com/getfile/files.posterous.com/temp-2011-12-09/eadoDElAEHHaBeAknJeAoBfEmCAhlzHyHjxwfFFqxmApIwivibqoByjCeJom/jmod.png" />
      </media:content>
      <media:content type="image/png" height="900" width="1440" url="http://getfile3.posterous.com/getfile/files.posterous.com/temp-2011-12-09/JiegwBfGendtcFAoFqwIJCGoyFChpFavhCpevIvntsvbjqaqbrstalBglCqj/installing-modules.png">
        <media:thumbnail height="313" width="500" url="http://getfile9.posterous.com/getfile/files.posterous.com/temp-2011-12-09/JiegwBfGendtcFAoFqwIJCGoyFChpFavhCpevIvntsvbjqaqbrstalBglCqj/installing-modules.png.scaled500.png" />
      </media:content>
      <media:content type="image/png" height="900" width="1440" url="http://getfile8.posterous.com/getfile/files.posterous.com/temp-2011-12-09/usrEaurAfnCAECcFvlvgDfHrDiDchqktexcfAmpebApectcGCcagvslDlBEf/modular-jdk.png">
        <media:thumbnail height="313" width="500" url="http://getfile3.posterous.com/getfile/files.posterous.com/temp-2011-12-09/usrEaurAfnCAECcFvlvgDfHrDiDchqktexcfAmpebApectcGCcagvslDlBEf/modular-jdk.png.scaled500.png" />
      </media:content>
    </item>
    <item>
      <pubDate>Mon, 28 Nov 2011 07:29:00 -0800</pubDate>
      <title>My Devoxx 2010 IzPack "tools in action" session now available for free on Parleys</title>
      <link>http://live.julien.ponge.info/mt-devoxx-2010-izpack-tools-in-action-session</link>
      <guid>http://live.julien.ponge.info/mt-devoxx-2010-izpack-tools-in-action-session</guid>
      <description>
        <![CDATA[<p>
	<p>I had the chance to be a speaker at the previous edition of <a href="http://www.devoxx.com/">Devoxx</a> for a "tools in action" session on <a href="http://izpack.org/">IzPack</a>.</p>
<p><a href="http://www.parleys.com/#id=2226&amp;st=5">The good news is that the recording is now available for free on Parleys.</a></p>
<p>Enjoy!</p>
<p>
<object height="395" width="395">
<param name="movie" value="http://www.parleys.com/dist/share/parleysshare.swf" />
<param name="allowFullScreen" value="true" />
<param name="wmode" value="direct" />
<param name="bgcolor" value="#222222" />
<param name="flashVars" value="sv=true&amp;pageId=2226" /> <embed src="http://www.parleys.com/dist/share/parleysshare.swf" type="application/x-shockwave-flash" height="395" flashvars="sv=true&amp;pageId=2226" width="395"></embed>
</object>
</p>
	
</p>

<p><a href="http://live.julien.ponge.info/mt-devoxx-2010-izpack-tools-in-action-session">Permalink</a> 

	| <a href="http://live.julien.ponge.info/mt-devoxx-2010-izpack-tools-in-action-session#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1254910/Screen_shot_2011-02-01_at_3.47.18_PM_reasonably_small.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hesW7ScPOPef8</posterous:profileUrl>
        <posterous:firstName>Julien</posterous:firstName>
        <posterous:lastName>Ponge</posterous:lastName>
        <posterous:nickName>jponge</posterous:nickName>
        <posterous:displayName>Julien Ponge</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Tue, 25 Oct 2011 08:24:00 -0700</pubDate>
      <title>Done With JUG Talks In 2011: Last 3 Events Roundup</title>
      <link>http://live.julien.ponge.info/done-with-jug-talks-in-2011-last-3-events-rou</link>
      <guid>http://live.julien.ponge.info/done-with-jug-talks-in-2011-last-3-events-rou</guid>
      <description>
        <![CDATA[<p>
	<div>I am now done with my public speaking engagements for the year. I will now see others doing talks, first starting tomorrow at <a href="http://fossa.inria.fr/">fOSSa</a> then at <a href="http://www.devoxx.com/">Devoxx</a>. I may also attend some remaining <a href="http://www.lyonjug.org/">LyonJUG</a> sessions if time permits.</div>
<p />
<div>I talked about Java 7 at <a href="http://soft-shake.ch/2011/en/">SoftShake</a> in Geneva Switzerland. I couldn't stay there for longer than a day, but that was a really nice mid-size conference.</div>
<p />
<div style=""><strong style="display: block; margin: 12px 0 4px;"><a href="http://www.slideshare.net/julien.ponge/java-7-at-softshake-2011" title="Java 7 at SoftShake 2011" target="_blank">Java 7 at SoftShake 2011</a></strong> <iframe scrolling="no" marginheight="0" marginwidth="0" src="http://www.slideshare.net/slideshow/embed_code/9540560" frameborder="0" height="355" width="425"></iframe>
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/" target="_blank">presentations</a> from <a href="http://www.slideshare.net/julien.ponge" target="_blank">julien.ponge</a></div>
</div>
<p />
<div>I then did a fairly similar talk for the premiere of the new <a href="http://www.lavajug.org/">LavaJUG in Clermont-Ferrand, France</a>, along with my friend <a href="http://blogs.oracle.com/alexismp/">Alexis</a>:</div>
<p />
<div style=""><strong style="display: block; margin: 12px 0 4px;"><a href="http://www.slideshare.net/julien.ponge/java-7-lavajug" title="Java 7 LavaJUG" target="_blank">Java 7 LavaJUG</a></strong> <iframe scrolling="no" marginheight="0" marginwidth="0" src="http://www.slideshare.net/slideshow/embed_code/9699007" frameborder="0" height="355" width="425"></iframe>
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/" target="_blank">presentations</a> from <a href="http://www.slideshare.net/julien.ponge" target="_blank">julien.ponge</a></div>
</div>
<p />
<div>Pictures of the event here:</div>
<p />
<div><object height="375" width="500"> <param name="flashvars" value="offsite=true&lang=en-us&page_show_url=%2Fphotos%2F68646446%40N03%2Fsets%2F72157627893097450%2F%2Fshow%2F&page_show_back_url=%2Fphotos%2F68646446%40N03%2Fsets%2F72157627893097450%2F&set_id=72157627893097450&jump_to=" /></param> <param name="movie" value="http://www.flickr.com/apps/slideshow/show.swf?v=71649" /></param> <param name="allowFullScreen" value="true" /></param><embed src="http://www.flickr.com/apps/slideshow/show.swf?v=71649" allowFullScreen="true" type="application/x-shockwave-flash" height="375" flashvars="offsite=true&lang=en-us&page_show_url=%2Fphotos%2F68646446%40N03%2Fsets%2F72157627893097450%2F%2Fshow%2F&page_show_back_url=%2Fphotos%2F68646446%40N03%2Fsets%2F72157627893097450%2F&set_id=72157627893097450&jump_to=" width="500"></embed></object></div>
<p />
<div>We all know that Java 7 is supposed to be a non-event given how trivial the changes are supposed to be. We all also know that Java is the new Cobol. Yet, I can testify that both sessions had strong attendance (120+ people in Clermont-Ferrand)&hellip;</div>
<p />
<div>Finally I did a session on opensource communities, strategies and pitfalls at the <a href="http://www.alpesjug.org/">AlpesJUG</a> on an evening last week:</div>
<p />
<div style=""><strong style="display: block; margin: 12px 0 4px;"><a href="http://www.slideshare.net/julien.ponge/alpesjug-communauts-opensource-stratgies-et-cueils" title="AlpesJUG - Communaut&eacute;s opensource, strat&eacute;gies et &eacute;cueils" target="_blank">AlpesJUG - Communaut&eacute;s opensource, strat&eacute;gies et &eacute;cueils</a></strong> <iframe scrolling="no" marginheight="0" marginwidth="0" src="http://www.slideshare.net/slideshow/embed_code/9785560" frameborder="0" height="355" width="425"></iframe>
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/" target="_blank">presentations</a> from <a href="http://www.slideshare.net/julien.ponge" target="_blank">julien.ponge</a></div>
</div>
<p />
<div>It's always good fun speaking, and I hope that the attendees enjoyed those talks as much as I enjoyed doing them!</div>
	
</p>

<p><a href="http://live.julien.ponge.info/done-with-jug-talks-in-2011-last-3-events-rou">Permalink</a> 

	| <a href="http://live.julien.ponge.info/done-with-jug-talks-in-2011-last-3-events-rou#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1254910/Screen_shot_2011-02-01_at_3.47.18_PM_reasonably_small.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hesW7ScPOPef8</posterous:profileUrl>
        <posterous:firstName>Julien</posterous:firstName>
        <posterous:lastName>Ponge</posterous:lastName>
        <posterous:nickName>jponge</posterous:nickName>
        <posterous:displayName>Julien Ponge</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Tue, 25 Oct 2011 01:09:00 -0700</pubDate>
      <title>Bad Times for Historical Figures in Computing</title>
      <link>http://live.julien.ponge.info/bad-times-for-historical-figures-in-computing</link>
      <guid>http://live.julien.ponge.info/bad-times-for-historical-figures-in-computing</guid>
      <description>
        <![CDATA[<p>
	<div>We are definitely going though bad times in the field of computing!</div>
<p />
<div>A few weeks ago it was all about <a href="http://en.wikipedia.org/wiki/Steve_jobs">Steve Jobs</a> passing away. For sure he was no computer scientist or awesome engineer, but his unique skills for business leadership, product vision, execution, marketing and communication led Apple to come back from nowhere and set profound trends in the industry, both on the hardware and software side.</div>
<p />
<div>Just a week later <a href="http://en.wikipedia.org/wiki/Dennis_Ritchie">Dennis Ritchie</a> passed away too. Along with <a href="http://en.wikipedia.org/wiki/Ken_Thompson">Ken Thompson</a>, he notably worked on the C programming language and Unix. Those are no small contributions. C is still the <em>lingua franca</em> for programming at the operating system level, and Unix variants run most servers on the Internet. There is also a big chance that it runs your smartphone too!</div>
<p />
<div>Finally, we learned yesterday that another prominent historical figure of computing passed away: <a href="http://en.wikipedia.org/wiki/John_McCarthy_(computer_scientist)">John McCarthy</a>. He was most famous for designing LISP, the father of functional programming languages that keeps coming back and forth. Just see how <a href="http://clojure.org/">Clojure</a> is faring well today on the JVM. His works also led to the first works on garbage collection. Managed runtimes all use garbage collection: Java/JVM, .Net, Python, Ruby, Objective-C (if enabled), &hellip;</div>
<p />
<div>Passing away is (sadly) a normal thing in life, yet those are names to be remembered in the relatively young history of computing.</div>
	
</p>

<p><a href="http://live.julien.ponge.info/bad-times-for-historical-figures-in-computing">Permalink</a> 

	| <a href="http://live.julien.ponge.info/bad-times-for-historical-figures-in-computing#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1254910/Screen_shot_2011-02-01_at_3.47.18_PM_reasonably_small.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hesW7ScPOPef8</posterous:profileUrl>
        <posterous:firstName>Julien</posterous:firstName>
        <posterous:lastName>Ponge</posterous:lastName>
        <posterous:nickName>jponge</posterous:nickName>
        <posterous:displayName>Julien Ponge</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Tue, 11 Oct 2011 06:53:35 -0700</pubDate>
      <title>Register now for #fossa2011</title>
      <link>http://live.julien.ponge.info/register-now-for-fossa2011</link>
      <guid>http://live.julien.ponge.info/register-now-for-fossa2011</guid>
      <description>
        <![CDATA[<p>
	<div>Just in case you would have missed: <a href="http://fossa.inria.fr/register/">the (free) registrations for fOSSa 2011 are open!</a></div><p /><div>This is an international conference on all things opensource, and not just the technical side. It takes place on 26th, 27th and 28th of october 2011.</div><div><ul><li>It's easy to get to: Lyon, France</li><li>It's free</li><li>There will be no commercial spin, sponsored talks and such</li><li><a href="http://fossa.inria.fr/speakers/">We have awesome speakers</a></li><li><a href="http://fossa.inria.fr/program/">You can focus on just half a day if you like just one part of the program</a></li><li><a href="http://fossa.inria.fr/program/development/">Developer, you are more than likely to enjoy your own track</a></li></ul><div>We hope to see you there!</div></div>
	
</p>

<p><a href="http://live.julien.ponge.info/register-now-for-fossa2011">Permalink</a> 

	| <a href="http://live.julien.ponge.info/register-now-for-fossa2011#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1254910/Screen_shot_2011-02-01_at_3.47.18_PM_reasonably_small.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hesW7ScPOPef8</posterous:profileUrl>
        <posterous:firstName>Julien</posterous:firstName>
        <posterous:lastName>Ponge</posterous:lastName>
        <posterous:nickName>jponge</posterous:nickName>
        <posterous:displayName>Julien Ponge</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Thu, 06 Oct 2011 00:51:00 -0700</pubDate>
      <title>A Page in the History of Computing Flipped Today</title>
      <link>http://live.julien.ponge.info/a-page-in-the-history-of-computing-flipped-to</link>
      <guid>http://live.julien.ponge.info/a-page-in-the-history-of-computing-flipped-to</guid>
      <description>
        <![CDATA[<p>
	<p><div class='p_embed p_image_embed'>
<a href="http://getfile8.posterous.com/getfile/files.posterous.com/jponge/rPyD4ykV4TtGfq8mZ2J7KO6sOf8ysWqFyDGCoxPfA49TtoIByz3zoW7vgokG/apple.com-frontpage.png.scaled.1000.jpg"><img alt="Apple" height="408" src="http://getfile5.posterous.com/getfile/files.posterous.com/jponge/YV0dosqQPVAJJMLVDGJMcBHQDsjd7oHWbdGzqjGFZwNIhlNYkVZrIpYwmJrd/apple.com-frontpage.png.scaled.500.jpg" width="500" /></a>
<a href="http://getfile5.posterous.com/getfile/files.posterous.com/jponge/kQX18bybT65fUMXAgURmHHBO4dz4kIXY4TiX8nSLFuZewiNAydrrJc2r3UCL/apple.com-steve.png.scaled.1000.jpg"><img alt="Apple" height="372" src="http://getfile3.posterous.com/getfile/files.posterous.com/jponge/JMkh4ZCB79djBkTTdRoPWXtGU3WlJeo7Rg2EsgSIWPUMoIi49KpPpyTXP9v7/apple.com-steve.png.scaled.500.jpg" width="500" /></a>
<div class='p_see_full_gallery'><a href="http://live.julien.ponge.info/a-page-in-the-history-of-computing-flipped-to">See the full gallery on Posterous</a></div>
</div>
</p>
<div>I will always remember Steve Jobs for going against the mainstream.</div>
<p />
<div>He dropped out of college, but still attended calligraphy classes. He completely disrupted several markets, despite what all analysts and experts had taken for granted. He turned a declining company back into one of the most profitable and influential ever. He greatly inspired speakers around the globe. He had this unique ability to marry well-crafted technology with incredibly well-rounded end-user experience.</div>
<p />
<div>Most inspirational is&nbsp;<a href="http://news.stanford.edu/news/2005/june15/jobs-061505.html">his famous commencement address at Stanford in 2005</a>.&nbsp;No matter if you liked Mr Jobs or not, I encourage you to watch the full video:</div>
<p />
<div><iframe src="http://www.youtube.com/embed/Hd_ptbiPoXM?wmode=transparent" allowfullscreen frameborder="0" height="417" width="500"></iframe></div>
<div>
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; vertical-align: baseline; line-height: 1.25em; padding: 0px;">&nbsp;</p>
<blockquote style="font-family: Verdana, Arial, Helvetica, FreeSans, sans-serif; font-size: 12px;">
<p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; font-weight: inherit; font-style: inherit; font-size: 12px; vertical-align: baseline; line-height: 1.25em; padding: 0px;">"Remembering that I'll be dead soon is the most important tool I've ever encountered to help me make the big choices in life. Because almost everything &mdash; all external expectations, all pride, all fear of embarrassment or failure - these things just fall away in the face of death, leaving only what is truly important.<strong> Remembering that you are going to die is the best way I know to avoid the trap of thinking you have something to lose. You are already naked. There is no reason not to follow your heart.</strong>"</p>
</blockquote>
<div style="font-family: Verdana, Arial, Helvetica, FreeSans, sans-serif; font-size: 12px;">Mr Jobs, rest in peace, and thank you very much for having shaped a slice of the history of computing.</div>
</div>
<p>&nbsp;</p>
	
</p>

<p><a href="http://live.julien.ponge.info/a-page-in-the-history-of-computing-flipped-to">Permalink</a> 

	| <a href="http://live.julien.ponge.info/a-page-in-the-history-of-computing-flipped-to#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1254910/Screen_shot_2011-02-01_at_3.47.18_PM_reasonably_small.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hesW7ScPOPef8</posterous:profileUrl>
        <posterous:firstName>Julien</posterous:firstName>
        <posterous:lastName>Ponge</posterous:lastName>
        <posterous:nickName>jponge</posterous:nickName>
        <posterous:displayName>Julien Ponge</posterous:displayName>
      </posterous:author>
      <media:content type="image/png" height="926" width="1136" url="http://getfile4.posterous.com/getfile/files.posterous.com/jponge/rZ0KWqhdu7Hr8MGqGGDziimVOYTRkSV37CWVyXBrfDsrC3gyWQdu19iLTxnJ/apple.com-frontpage.png">
        <media:thumbnail height="408" width="500" url="http://getfile5.posterous.com/getfile/files.posterous.com/jponge/YV0dosqQPVAJJMLVDGJMcBHQDsjd7oHWbdGzqjGFZwNIhlNYkVZrIpYwmJrd/apple.com-frontpage.png.scaled.500.jpg" />
      </media:content>
      <media:content type="image/png" height="842" width="1133" url="http://getfile2.posterous.com/getfile/files.posterous.com/jponge/7WJSo5LegDPYoQIjdiHHRbVBnfqWXc7otosdV0PeiDXGOhSSl7ik6iH6dLos/apple.com-steve.png">
        <media:thumbnail height="372" width="500" url="http://getfile3.posterous.com/getfile/files.posterous.com/jponge/JMkh4ZCB79djBkTTdRoPWXtGU3WlJeo7Rg2EsgSIWPUMoIi49KpPpyTXP9v7/apple.com-steve.png.scaled.500.jpg" />
      </media:content>
    </item>
    <item>
      <pubDate>Tue, 20 Sep 2011 04:23:23 -0700</pubDate>
      <title>Java 7 au JUG SummerCamp 2011</title>
      <link>http://live.julien.ponge.info/java-7-au-jug-summercamp-2011</link>
      <guid>http://live.julien.ponge.info/java-7-au-jug-summercamp-2011</guid>
      <description>
        <![CDATA[<p>
	<p>J'ai eu le plaisir de participer &agrave; la <a href="http://sites.google.com/site/jugsummercamp/home">deuxi&egrave;me &eacute;dition du JUG SummerCamp</a> qui a eu lieu le 16 septembre &agrave; La Rochelle.</p>
<p>J'ai pr&eacute;sent&eacute; deux th&egrave;mes pr&eacute;sents dans Java SE 7 :</p>
<ol>
<li>Fork / Join : le framework facilitant l'&eacute;criture de programmes parall&egrave;les, et</li>
<li>Project Coin : l'ensemble des changements apport&eacute;s au langage Java.</li>
</ol>
<div style=""><strong style="display: block; margin: 12px 0 4px;"><a href="http://www.slideshare.net/julien.ponge/java-7-jug-summer-camp" title="Java 7 JUG Summer Camp" target="_blank">Java 7 JUG Summer Camp</a></strong> <iframe scrolling="no" marginheight="0" marginwidth="0" src="http://www.slideshare.net/slideshow/embed_code/9318588" frameborder="0" height="355" width="425"></iframe>
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/" target="_blank">presentations</a> from <a href="http://www.slideshare.net/julien.ponge" target="_blank">julien.ponge</a></div>
</div>
<p>Cette &eacute;dition fut une franche r&eacute;ussite, tant sur le fond que sur la forme, le tout dans une ambiance de grande convivialit&eacute; propice aux &eacute;changes fructueux.</p>
<p>Un grand bravo &agrave; Orianne, J&eacute;r&ocirc;me et <a href="http://www.serli.com/">les &eacute;quipes de Serli</a> qui n'ont pas m&eacute;nag&eacute; leurs efforts ! Pensez &agrave; eux si vous cherchez des comp&eacute;tences aiguis&eacute;es et un esprit qui sortent du cadre de la SSII traditionnelle...</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
	
</p>

<p><a href="http://live.julien.ponge.info/java-7-au-jug-summercamp-2011">Permalink</a> 

	| <a href="http://live.julien.ponge.info/java-7-au-jug-summercamp-2011#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1254910/Screen_shot_2011-02-01_at_3.47.18_PM_reasonably_small.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hesW7ScPOPef8</posterous:profileUrl>
        <posterous:firstName>Julien</posterous:firstName>
        <posterous:lastName>Ponge</posterous:lastName>
        <posterous:nickName>jponge</posterous:nickName>
        <posterous:displayName>Julien Ponge</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Fri, 09 Sep 2011 05:10:13 -0700</pubDate>
      <title>My upcoming events</title>
      <link>http://live.julien.ponge.info/my-upcoming-events</link>
      <guid>http://live.julien.ponge.info/my-upcoming-events</guid>
      <description>
        <![CDATA[<p>
	<p>There are quite a few events coming in on my side.</p>

<ul>
<li><a href="http://sites.google.com/site/jugsummercamp/home">September 16th &ndash; JugSummerCamp, La Rochelle,
France</a>: I will give
a talk on Java 7 fork/join and Project Coin.</li>
<li><a href="http://softshake.github.com/en/">October 3rd/4th &ndash; Soft-Shake, Geneva,
Switzerland</a>: same Java 7 talk.</li>
<li><a href="http://www.lavajug.org/xwiki/bin/view/Main/WebHome">October 13th &ndash; LavaJUG, Clermont-Ferrand,
France</a>: launch
event for this new Java User Group. I will again talk about Java 7
with my friend <a href="http://blogs.oracle.com/alexismp">Alexis
Moussine-Pouchkine</a> <a href="http://live.julien.ponge.info/a-few-pictures-of-the-java-7-launch-event-in">like we did in
July at the LyonJUG</a>.
I am very excited since the JUG has been created by my closest
friends, and I used to live in Clermont-Ferrand for 10 years before
being constrained to leave it.</li>
<li><a href="http://fossa.inria.fr/">October 26th-28th &ndash; fOSSa'11, Lyon,
France</a>: I am among the organizers of this
year edition and we will have an impressive list of speakers. Come
join us if you are interested by all things opensource. Oh&hellip; and it&rsquo;s
free!</li>
<li><a href="http://www.devoxx.com/">November 14th-18th &ndash; Devoxx, Antwerpen,
Belgium</a>: I should attend Devoxx, but not as a
speaker though. I have a few issues getting properly registered, but
there is a high probability that it gets sorted out quickly.</li>
</ul>


<p>Let me know if we can meet at any of those events, that will be a
great pleasure!</p>
	
</p>

<p><a href="http://live.julien.ponge.info/my-upcoming-events">Permalink</a> 

	| <a href="http://live.julien.ponge.info/my-upcoming-events#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1254910/Screen_shot_2011-02-01_at_3.47.18_PM_reasonably_small.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hesW7ScPOPef8</posterous:profileUrl>
        <posterous:firstName>Julien</posterous:firstName>
        <posterous:lastName>Ponge</posterous:lastName>
        <posterous:nickName>jponge</posterous:nickName>
        <posterous:displayName>Julien Ponge</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Thu, 08 Sep 2011 02:08:00 -0700</pubDate>
      <title>Announcing our speakers for the fOSSa'11 DEV track</title>
      <link>http://live.julien.ponge.info/announcing-our-speakers-for-the-fossa11-dev-t</link>
      <guid>http://live.julien.ponge.info/announcing-our-speakers-for-the-fossa11-dev-t</guid>
      <description>
        <![CDATA[<p>
	<p>We are organizing the <a href="http://fossa.inria.fr/">fOSSa 2011 conference next October in
Lyon</a>, a free conference that is best
summarized as:</p>

<blockquote class="posterous_short_quote"><p>Where Open Source meets Academia, Developpers, Insiders, Human Beings, Startups &amp; Industrials. Lyon, France, 26-27-28th October 2011.</p></blockquote>

<p>I am a steering and program committee member. <a href="http://fossa.inria.fr/program/development/">I am also in charge of
the DEV track</a> and I am
very delighted to announce the speakers list!</p>

<p>I would also like to mention that <a href="http://fossa.inria.fr/call-for-proposal/">we have opened a call for demo proposal</a>: a great chance to show your project live in action!</p>

<p>More details regarding the whole conference are being added to the
<a href="http://fossa.inria.fr/">fOSSa conference website</a> so stay tuned for
more!</p>

<h3>Opensource Development Beyond the Code</h3>

<p>Opensource development is more than often looked at through the prism
of source code being put under an opensource license. While code
indeed remains crucial, opensource has a wider impact on several
aspects in the life of a project, including communities, quality
processes, collaboration, business model and public exposure. Indeed,
Open source development occurs in many forms: Some more structured
than others. For the developer there are many issues to consider:
development process, contribution management, issue tracking, license
selection, release schedule, and more.</p>

<p><strong>This session gathers speakers that will share those aspects with the
audience.</strong></p>

<h4>Oracle: daemon or angel?</h4>

<p><strong>Alexis-Moussine Pouchkine, Oracle</strong></p>

<p>Part of the answer to the title of this talk is easy &ndash; Oracle is no angel.</p>

<p>Departing from Sun Microsystem&rsquo;s Jonathan Schwartz' &ldquo;all software
shall be free and open source&rdquo;, the open source and in particular Java
story since Oracle took over stewardship is already a rich one. What
is Oracle&rsquo;s strategy? Can we trust Oracle? To help you answer these
questions, we&rsquo;ll rollback the time machine to the acquisition date and
walk through a number of important milestones. Hopefully this will put
things in perspective and let you decide how evil Oracle really is.</p>

<h4>Opensource and Business at Cloudbees</h4>

<p><strong>Nicolas de Loof, CloudBees</strong></p>

<p>CloudBees offers a large set of services around continuous integration
and integrated software factory from source code to production. Due to
Jenkins history and strained relations with Oracle, and despite
Kohsuke Kawaguchi (jenkins creator) being an employee, CloudBees is
very careful to work hand in hand with the opensource Jenkins
community and not to interfere with the project management board.
During this session, I&rsquo;ll explain how the Jenkins architecture allows
CloudBees to create business value and proprietary products, and also
is an active contributor to opensource jenkins that welcomes changes
and improvements on its side.</p>

<h4>ALERT Project</h4>

<p><strong>Clara Pezuela, ATOS Research</strong></p>

<p>ALERT aims at developing methods and components to help in the
resolution of bugs process. Every community of developers face every
day with many of issues in code, and not always is easy to manage
their resolution in the best manner and as faster as possible. ALERT
is analyzing how these communities are used to manage the bug
resolution workflow to improve the process: avoiding duplications,
assigning the bug to the right person according to the required
skills, relating bugs each other, etc. The ALERT system will be able
to extract information from different sources in the communities
(mails, SVN, chats, repository, etc), it will analyze it and it will
throw the events to process the required actions. The system will also
recommend the developers best practices in bug resolution process.</p>

<h4>From a legacy proprietary application to a modern libre solution</h4>

<p><strong>Emmanuel Hugonnet, Silverpeas</strong></p>

<p>Don&rsquo;t forget when you develop an application that in 10 years there
may be developers that will try to maintain and evolve YOUR code &hellip;.
This is a first hand return from living experience, showing that
nothing is lost and that there is always hope.
This talk is not about the latest frameworks or technologies. There
will be blood and sweat, and Chuck Norris is not going to come and
save you &hellip;
How can you work with such code ? How can you keep evolving your
product 10 years later with only 4 developers ? Maybe just dump the
code ?
Entity EJBs were kings&hellip;.
developers. This was the blessed time of Weblogic, Orion &hellip; when
developers knew how to code with UltraEdit, tests were unknown and CMP
Silverpeas is a collaborative portal, now free,developed as a J2EE
application in 1999 by a start-up with at least 40</p>

<h4>OpenDJ, life after Sunset</h4>

<p><strong>Ludovic Poitou, ForgeRock</strong></p>

<p>Usually an open source project starts from the idea of one or few
developers working in their spare time after sunset. Eventually the
project gets mainstream and interested companies contribute resources
and man power to accelerate development. But what about a project
started by a large corporation, which abandons it after a
re-organization or an acquisition ? In this presentation, we will be
looking at the challenges and opportunities facing OpenDJ, an open
source project that has survived the &ldquo;Sun set&rdquo;.</p>

<h4>Involvement of software engineering companies in OSS</h4>

<p><em>Contributions: a virtuous circle</em></p>

<p><strong>Jérôme Petit, SERLI</strong></p>

<p>SERLI is a French consulting &amp; software engineering company that
dedicates more than 1000 man-days each year to contribute to Open
Source projects such as GlassFish, JBoss, JOnAS, Weld, Hibernate,
Infinispan, Selenium, Sonar and more.</p>

<p>In this talk, Jérôme will explain how spending so much time &amp; efforts
contributing to Open Source projects creates a virtuous circle for the
company.</p>

<p>The presentation will cover the different models of contribution,
impact on organisation, business and humans beings.</p>
	
</p>

<p><a href="http://live.julien.ponge.info/announcing-our-speakers-for-the-fossa11-dev-t">Permalink</a> 

	| <a href="http://live.julien.ponge.info/announcing-our-speakers-for-the-fossa11-dev-t#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1254910/Screen_shot_2011-02-01_at_3.47.18_PM_reasonably_small.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hesW7ScPOPef8</posterous:profileUrl>
        <posterous:firstName>Julien</posterous:firstName>
        <posterous:lastName>Ponge</posterous:lastName>
        <posterous:nickName>jponge</posterous:nickName>
        <posterous:displayName>Julien Ponge</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Wed, 24 Aug 2011 10:55:48 -0700</pubDate>
      <title>A Few Selected Shots from Gran Turismo</title>
      <link>http://live.julien.ponge.info/a-few-selected-shots-from-gran-turismo</link>
      <guid>http://live.julien.ponge.info/a-few-selected-shots-from-gran-turismo</guid>
      <description>
        <![CDATA[<p>
	<p>As vacations come to an end, I though I would share with you a few photos that I shot while <span style="text-decoration: line-through;">playing</span> racing in Gran Turismo 5. I love this simulation on the PlayStation and spend hours fine-tuning car setups.</p>
<p>Do you like those photos? Do you have any place for sharing yours?</p>
<p><div class='p_embed p_image_embed'>
<a href="http://getfile4.posterous.com/getfile/files.posterous.com/temp-2011-08-24/AAikIpFhabcfxywnvrdtHejfsdvaakedaaJmnwEAyzBBDoeHxBdusozExGuv/Autodromo_Nazionale_Monza_2.jpg.scaled1000.jpg"><img alt="Autodromo_nazionale_monza_2" height="281" src="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2011-08-24/AAikIpFhabcfxywnvrdtHejfsdvaakedaaJmnwEAyzBBDoeHxBdusozExGuv/Autodromo_Nazionale_Monza_2.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile5.posterous.com/getfile/files.posterous.com/temp-2011-08-24/BuIGrFBektmxauffeizbDhcwmjfkkpjhovDzrGvaAijlnvacIDcGEjBCniAa/Autodromo_Nazionale_Monza_1_2.jpg.scaled1000.jpg"><img alt="Autodromo_nazionale_monza_1_2" height="281" src="http://getfile3.posterous.com/getfile/files.posterous.com/temp-2011-08-24/BuIGrFBektmxauffeizbDhcwmjfkkpjhovDzrGvaAijlnvacIDcGEjBCniAa/Autodromo_Nazionale_Monza_1_2.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile4.posterous.com/getfile/files.posterous.com/temp-2011-08-24/dbgCBxEtlrdviaByfglehFfsJABvEfBEvitsGqBrCCtlaIdyGHpzvnyEcHih/Autodromo_Nazionale_Monza_1.jpg.scaled1000.jpg"><img alt="Autodromo_nazionale_monza_1" height="281" src="http://getfile2.posterous.com/getfile/files.posterous.com/temp-2011-08-24/dbgCBxEtlrdviaByfglehFfsJABvEfBEvitsGqBrCCtlaIdyGHpzvnyEcHih/Autodromo_Nazionale_Monza_1.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile7.posterous.com/getfile/files.posterous.com/temp-2011-08-24/aCxvzxczAypFpqBmmBltHsasfHsmdpbrdhCozuxJyIqdsrHfzfrhbmsbgBrr/Autodromo_Nazionale_Monza_2.jpg.scaled1000.jpg"><img alt="Autodromo_nazionale_monza_2" height="281" src="http://getfile3.posterous.com/getfile/files.posterous.com/temp-2011-08-24/aCxvzxczAypFpqBmmBltHsasfHsmdpbrdhCozuxJyIqdsrHfzfrhbmsbgBrr/Autodromo_Nazionale_Monza_2.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile4.posterous.com/getfile/files.posterous.com/temp-2011-08-24/kFGffEvxIiltpmusytklDfGqGIDHIuiuhvvjcbFBtrkqGHpsdzAaFfjldkol/Autodromo_Nazionale_Monza.jpg.scaled1000.jpg"><img alt="Autodromo_nazionale_monza" height="281" src="http://getfile3.posterous.com/getfile/files.posterous.com/temp-2011-08-24/kFGffEvxIiltpmusytklDfGqGIDHIuiuhvvjcbFBtrkqGHpsdzAaFfjldkol/Autodromo_Nazionale_Monza.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile9.posterous.com/getfile/files.posterous.com/temp-2011-08-24/GxqqBGnJwpsFmfkuykGEevtywwJraHnBfqaElJBhqIpqxGdqlCGisosEhiFs/Autumn_Ring_Mini_1.jpg.scaled1000.jpg"><img alt="Autumn_ring_mini_1" height="281" src="http://getfile7.posterous.com/getfile/files.posterous.com/temp-2011-08-24/GxqqBGnJwpsFmfkuykGEevtywwJraHnBfqaElJBhqIpqxGdqlCGisosEhiFs/Autumn_Ring_Mini_1.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile8.posterous.com/getfile/files.posterous.com/temp-2011-08-24/eHCxoJlyeujbxvuubpJpzbAdiCtarauxHwFJvaiklcdxoGhJyFibehjEksiv/Autumn_Ring_Mini.jpg.scaled1000.jpg"><img alt="Autumn_ring_mini" height="281" src="http://getfile6.posterous.com/getfile/files.posterous.com/temp-2011-08-24/eHCxoJlyeujbxvuubpJpzbAdiCtarauxHwFJvaiklcdxoGhJyFibehjEksiv/Autumn_Ring_Mini.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile3.posterous.com/getfile/files.posterous.com/temp-2011-08-24/BeFgrmChosvynvxeumqegoEyhddwGzkxkugvzagzgDchsErqElhwjxbFtite/Circuit_de_la_Sarthe_2009_1_2.jpg.scaled1000.jpg"><img alt="Circuit_de_la_sarthe_2009_1_2" height="281" src="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2011-08-24/BeFgrmChosvynvxeumqegoEyhddwGzkxkugvzagzgDchsErqElhwjxbFtite/Circuit_de_la_Sarthe_2009_1_2.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile1.posterous.com/getfile/files.posterous.com/temp-2011-08-24/gmvnnrvCGEqsEywcrzwriEfCwrpGFbfoAsamyEdvcwaDeBvCxqeziEolaEBE/Circuit_de_la_Sarthe_2009_1.jpg.scaled1000.jpg"><img alt="Circuit_de_la_sarthe_2009_1" height="281" src="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2011-08-24/gmvnnrvCGEqsEywcrzwriEfCwrpGFbfoAsamyEdvcwaDeBvCxqeziEolaEBE/Circuit_de_la_Sarthe_2009_1.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile1.posterous.com/getfile/files.posterous.com/temp-2011-08-24/bxzpizAekdtJohksktFekomJgAoqzhixGuiBuzElofkaDHqAFwjEetvCJJhC/Circuit_de_la_Sarthe_2009_2.jpg.scaled1000.jpg"><img alt="Circuit_de_la_sarthe_2009_2" height="281" src="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2011-08-24/bxzpizAekdtJohksktFekomJgAoqzhixGuiBuzElofkaDHqAFwjEetvCJJhC/Circuit_de_la_Sarthe_2009_2.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile9.posterous.com/getfile/files.posterous.com/temp-2011-08-24/ygigGyFCyefDHBgfAkeaCxsahvAlpaxIrlehDquognBAGhysCrFFsitCwdmf/Circuit_de_la_Sarthe_2009_3.jpg.scaled1000.jpg"><img alt="Circuit_de_la_sarthe_2009_3" height="281" src="http://getfile8.posterous.com/getfile/files.posterous.com/temp-2011-08-24/ygigGyFCyefDHBgfAkeaCxsahvAlpaxIrlehDquognBAGhysCrFFsitCwdmf/Circuit_de_la_Sarthe_2009_3.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile4.posterous.com/getfile/files.posterous.com/temp-2011-08-24/IspoteHmrgxklxFAyzDelvbhdnytDtudBAdsnyqpfsuInybmtinztbrIynHl/Circuit_routier_-_Daytona.jpg.scaled1000.jpg"><img alt="Circuit_routier_-_daytona" height="281" src="http://getfile6.posterous.com/getfile/files.posterous.com/temp-2011-08-24/IspoteHmrgxklxFAyzDelvbhdnytDtudBAdsnyqpfsuInybmtinztbrIynHl/Circuit_routier_-_Daytona.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile6.posterous.com/getfile/files.posterous.com/temp-2011-08-24/DAvwItqFzJCFsxhGCGcymigvqHDycvgmpnehmaBIBvCHjCntGewyCtgAmnnC/Cote_dAzur_1.jpg.scaled1000.jpg"><img alt="Cote_dazur_1" height="281" src="http://getfile2.posterous.com/getfile/files.posterous.com/temp-2011-08-24/DAvwItqFzJCFsxhGCGcymigvqHDycvgmpnehmaBIBvCHjCntGewyCtgAmnnC/Cote_dAzur_1.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile9.posterous.com/getfile/files.posterous.com/temp-2011-08-24/JtnawxirDetkwhFaJgnEyEfJfrltpxGcfgHcBGjslCDAkulGeEqGohFcyoqs/Eiger_Nordwand_-_Court_1.jpg.scaled1000.jpg"><img alt="Eiger_nordwand_-_court_1" height="281" src="http://getfile4.posterous.com/getfile/files.posterous.com/temp-2011-08-24/JtnawxirDetkwhFaJgnEyEfJfrltpxGcfgHcBGjslCDAkulGeEqGohFcyoqs/Eiger_Nordwand_-_Court_1.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile3.posterous.com/getfile/files.posterous.com/temp-2011-08-24/tFuyHECramfvCgrBtohAhItnBhrxFDFmvpHynAGAIabtFcwqfddFIsGDzGJw/Eiger_Nordwand_-_Court_3.jpg.scaled1000.jpg"><img alt="Eiger_nordwand_-_court_3" height="281" src="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2011-08-24/tFuyHECramfvCgrBtohAhItnBhrxFDFmvpHynAGAIabtFcwqfddFIsGDzGJw/Eiger_Nordwand_-_Court_3.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile3.posterous.com/getfile/files.posterous.com/temp-2011-08-24/EcrbbCmoivGEibibAIfegHytJhnvoqelIHmqBwBIkdhboxEhwDBIBrogdqrz/Eiger_Nordwand_-_Court_5.jpg.scaled1000.jpg"><img alt="Eiger_nordwand_-_court_5" height="281" src="http://getfile8.posterous.com/getfile/files.posterous.com/temp-2011-08-24/EcrbbCmoivGEibibAIfegHytJhnvoqelIHmqBwBIkdhboxEhwDBIBrogdqrz/Eiger_Nordwand_-_Court_5.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile4.posterous.com/getfile/files.posterous.com/temp-2011-08-24/qfxjjnjAiofFfkkxtdpsmsAohhjBFdADaBsguGJhcxGEaIjzJfDtfIBsirru/Eiger_Nordwand_-_Piste_K_1.jpg.scaled1000.jpg"><img alt="Eiger_nordwand_-_piste_k_1" height="281" src="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2011-08-24/qfxjjnjAiofFfkkxtdpsmsAohhjBFdADaBsguGJhcxGEaIjzJfDtfIBsirru/Eiger_Nordwand_-_Piste_K_1.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile1.posterous.com/getfile/files.posterous.com/temp-2011-08-24/podaldFhsuykydocwEJhCcjDihlbCqDqpDoyEAaarGHacxujIDrGagnxBrft/Eiger_Nordwand_-_Piste_K_2.jpg.scaled1000.jpg"><img alt="Eiger_nordwand_-_piste_k_2" height="281" src="http://getfile7.posterous.com/getfile/files.posterous.com/temp-2011-08-24/podaldFhsuykydocwEJhCcjDihlbCqDqpDoyEAaarGHacxujIDrGagnxBrft/Eiger_Nordwand_-_Piste_K_2.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2011-08-24/sizgptaokeurtmkHaIeuuJGIFJrhwsushtilwgbHjjrFjGExIGJjBJGivpaI/Eiger_Nordwand_-_Piste_K_3.jpg.scaled1000.jpg"><img alt="Eiger_nordwand_-_piste_k_3" height="281" src="http://getfile9.posterous.com/getfile/files.posterous.com/temp-2011-08-24/sizgptaokeurtmkHaIeuuJGIFJrhwsushtilwgbHjjrFjGExIGJjBJGivpaI/Eiger_Nordwand_-_Piste_K_3.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile5.posterous.com/getfile/files.posterous.com/temp-2011-08-24/DqcEHsqpFrEAAJuEsDfrgupEwHiuCJyyHIajupcvAHhIjfBeqjjBEaqsDexo/Eiger_Nordwand_-_Piste_K_4.jpg.scaled1000.jpg"><img alt="Eiger_nordwand_-_piste_k_4" height="281" src="http://getfile1.posterous.com/getfile/files.posterous.com/temp-2011-08-24/DqcEHsqpFrEAAJuEsDfrgupEwHiuCJyyHIajupcvAHhIjfBeqjjBEaqsDexo/Eiger_Nordwand_-_Piste_K_4.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2011-08-24/ADgBJCnkGzfmwwvocioJaDpygbgqvbuEnEfbnDIrzIylklieGCJmCADhgvCq/Eiger_Nordwand_-_Piste_K_5.jpg.scaled1000.jpg"><img alt="Eiger_nordwand_-_piste_k_5" height="281" src="http://getfile5.posterous.com/getfile/files.posterous.com/temp-2011-08-24/ADgBJCnkGzfmwwvocioJaDpygbgqvbuEnEfbnDIrzIylklieGCJmCADhgvCq/Eiger_Nordwand_-_Piste_K_5.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile4.posterous.com/getfile/files.posterous.com/temp-2011-08-24/iBwstBEAjwmiipgFxoFtEdICjlllnjIBbqiBinhxCtwepiCdruGIcyafolpc/Eiger_Nordwand_-_Piste_K.jpg.scaled1000.jpg"><img alt="Eiger_nordwand_-_piste_k" height="281" src="http://getfile8.posterous.com/getfile/files.posterous.com/temp-2011-08-24/iBwstBEAjwmiipgFxoFtEdICjlllnjIBbqiBinhxCtwepiCdruGIcyafolpc/Eiger_Nordwand_-_Piste_K.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile9.posterous.com/getfile/files.posterous.com/temp-2011-08-24/ugzBHEEoCAwkDEFzundreaxByuwIfnxsDdqceklBtFzjhhlJGcvvhkayqcjt/Fuji_Speedway_F_2.jpg.scaled1000.jpg"><img alt="Fuji_speedway_f_2" height="281" src="http://getfile1.posterous.com/getfile/files.posterous.com/temp-2011-08-24/ugzBHEEoCAwkDEFzundreaxByuwIfnxsDdqceklBtFzjhhlJGcvvhkayqcjt/Fuji_Speedway_F_2.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2011-08-24/rftDHbffcItgzoIvmGAoceBhEakcJhDkbqesbACrvxGecvBnnvfxshGxBJhr/Fuji_Speedway_F_1.jpg.scaled1000.jpg"><img alt="Fuji_speedway_f_1" height="281" src="http://getfile2.posterous.com/getfile/files.posterous.com/temp-2011-08-24/rftDHbffcItgzoIvmGAoceBhEakcJhDkbqesbACrvxGecvBnnvfxshGxBJhr/Fuji_Speedway_F_1.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2011-08-24/gDzrvaDvfDhFbIhFdgefmeciwwquawmsfyxtjvFFjgBEGqDtDnBhDsafoApp/Fuji_Speedway_F_5.jpg.scaled1000.jpg"><img alt="Fuji_speedway_f_5" height="281" src="http://getfile4.posterous.com/getfile/files.posterous.com/temp-2011-08-24/gDzrvaDvfDhFbIhFdgefmeciwwquawmsfyxtjvFFjgBEGqDtDnBhDsafoApp/Fuji_Speedway_F_5.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile4.posterous.com/getfile/files.posterous.com/temp-2011-08-24/rurfjvEFFJpnpdqytjIpxFsgeamIAqyIfIdseHgnbrGuDvhajhwcnkeEEgiB/Hangar_Red_Bull_7_1.jpg.scaled1000.jpg"><img alt="Hangar_red_bull_7_1" height="281" src="http://getfile1.posterous.com/getfile/files.posterous.com/temp-2011-08-24/rurfjvEFFJpnpdqytjIpxFsgeamIAqyIfIdseHgnbrGuDvhajhwcnkeEEgiB/Hangar_Red_Bull_7_1.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile7.posterous.com/getfile/files.posterous.com/temp-2011-08-24/gnDwAdxxrnkHCzgCmsHcrudnyCAgfyfrjfwdrIabtjGkqxtvJuAkpkIgofot/Hangar_Red_Bull_7_2.jpg.scaled1000.jpg"><img alt="Hangar_red_bull_7_2" height="281" src="http://getfile5.posterous.com/getfile/files.posterous.com/temp-2011-08-24/gnDwAdxxrnkHCzgCmsHcrudnyCAgfyfrjfwdrIabtjGkqxtvJuAkpkIgofot/Hangar_Red_Bull_7_2.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile7.posterous.com/getfile/files.posterous.com/temp-2011-08-24/DzmDgDJkgEmJdnnFGhFJHxrBtqkxHfpumfuCDlJrlHveeCqevvCarjxmuChs/Hangar_Red_Bull_7.jpg.scaled1000.jpg"><img alt="Hangar_red_bull_7" height="281" src="http://getfile1.posterous.com/getfile/files.posterous.com/temp-2011-08-24/DzmDgDJkgEmJdnnFGhFJHxrBtqkxHfpumfuCDlJrlHveeCqevvCarjxmuChs/Hangar_Red_Bull_7.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2011-08-24/ifyuCoseJGsGjgoabFoxbxrdxItmpioEhizdqkGtcqbaJwyzumoDlAaEAehb/Lucerne_-_Pont_de_la_Chapelle.jpg.scaled1000.jpg"><img alt="Lucerne_-_pont_de_la_chapelle" height="281" src="http://getfile5.posterous.com/getfile/files.posterous.com/temp-2011-08-24/ifyuCoseJGsGjgoabFoxbxrdxItmpioEhizdqkGtcqbaJwyzumoDlAaEAehb/Lucerne_-_Pont_de_la_Chapelle.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile8.posterous.com/getfile/files.posterous.com/temp-2011-08-24/EqBFuJhpkIDbHlapmgrtipwfmigBAkJofdoEdAieeHqGEzatAExDtnGnywHm/Nurburgring_GP_D.jpg.scaled1000.jpg"><img alt="Nurburgring_gp_d" height="281" src="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2011-08-24/EqBFuJhpkIDbHlapmgrtipwfmigBAkJofdoEdAieeHqGEzatAExDtnGnywHm/Nurburgring_GP_D.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile6.posterous.com/getfile/files.posterous.com/temp-2011-08-24/hmItHtulBIGpkJmqIGemujHIkrlsGwJsekakqggjkwGeEdmuphljzrepgtHI/Suzuka_Circuit.jpg.scaled1000.jpg"><img alt="Suzuka_circuit" height="281" src="http://getfile5.posterous.com/getfile/files.posterous.com/temp-2011-08-24/hmItHtulBIGpkJmqIGemujHIkrlsGwJsekakqggjkwGeEdmuphljzrepgtHI/Suzuka_Circuit.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile2.posterous.com/getfile/files.posterous.com/temp-2011-08-24/jmegpeoajdgifxArsxtwntnxngmtqsoHyiFtBokCdoprvjyknjjFjAlxAkqt/Toscane_1.jpg.scaled1000.jpg"><img alt="Toscane_1" height="281" src="http://getfile1.posterous.com/getfile/files.posterous.com/temp-2011-08-24/jmegpeoajdgifxArsxtwntnxngmtqsoHyiFtBokCdoprvjyknjjFjAlxAkqt/Toscane_1.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile3.posterous.com/getfile/files.posterous.com/temp-2011-08-24/dvJcIaFtctipfjvCAwxzEzgculyvaydiBiFafBrCrgHbklzHrgGxDlsAHHwH/Toscane.jpg.scaled1000.jpg"><img alt="Toscane" height="281" src="http://getfile6.posterous.com/getfile/files.posterous.com/temp-2011-08-24/dvJcIaFtctipfjvCAwxzEzgculyvaydiBiFafBrCrgHbklzHrgGxDlsAHHwH/Toscane.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile4.posterous.com/getfile/files.posterous.com/temp-2011-08-24/qhyFsvACeyzFecanhhFglbwwJutoozGlbzuvGigkoJFlbzyidmDmftuzCqis/Tsukuba_Circuit_1.jpg.scaled1000.jpg"><img alt="Tsukuba_circuit_1" height="281" src="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2011-08-24/qhyFsvACeyzFecanhhFglbwwJutoozGlbzuvGigkoJFlbzyidmDmftuzCqis/Tsukuba_Circuit_1.jpg.scaled500.jpg" width="500" /></a>
<div class='p_see_full_gallery'><a href="http://live.julien.ponge.info/a-few-selected-shots-from-gran-turismo">See the full gallery on Posterous</a></div>
</div>
</p>
	
</p>

<p><a href="http://live.julien.ponge.info/a-few-selected-shots-from-gran-turismo">Permalink</a> 

	| <a href="http://live.julien.ponge.info/a-few-selected-shots-from-gran-turismo#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1254910/Screen_shot_2011-02-01_at_3.47.18_PM_reasonably_small.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hesW7ScPOPef8</posterous:profileUrl>
        <posterous:firstName>Julien</posterous:firstName>
        <posterous:lastName>Ponge</posterous:lastName>
        <posterous:nickName>jponge</posterous:nickName>
        <posterous:displayName>Julien Ponge</posterous:displayName>
      </posterous:author>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile9.posterous.com/getfile/files.posterous.com/temp-2011-08-24/AAikIpFhabcfxywnvrdtHejfsdvaakedaaJmnwEAyzBBDoeHxBdusozExGuv/Autodromo_Nazionale_Monza_2.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2011-08-24/AAikIpFhabcfxywnvrdtHejfsdvaakedaaJmnwEAyzBBDoeHxBdusozExGuv/Autodromo_Nazionale_Monza_2.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile9.posterous.com/getfile/files.posterous.com/temp-2011-08-24/BuIGrFBektmxauffeizbDhcwmjfkkpjhovDzrGvaAijlnvacIDcGEjBCniAa/Autodromo_Nazionale_Monza_1_2.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile3.posterous.com/getfile/files.posterous.com/temp-2011-08-24/BuIGrFBektmxauffeizbDhcwmjfkkpjhovDzrGvaAijlnvacIDcGEjBCniAa/Autodromo_Nazionale_Monza_1_2.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile7.posterous.com/getfile/files.posterous.com/temp-2011-08-24/dbgCBxEtlrdviaByfglehFfsJABvEfBEvitsGqBrCCtlaIdyGHpzvnyEcHih/Autodromo_Nazionale_Monza_1.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile2.posterous.com/getfile/files.posterous.com/temp-2011-08-24/dbgCBxEtlrdviaByfglehFfsJABvEfBEvitsGqBrCCtlaIdyGHpzvnyEcHih/Autodromo_Nazionale_Monza_1.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile7.posterous.com/getfile/files.posterous.com/temp-2011-08-24/aCxvzxczAypFpqBmmBltHsasfHsmdpbrdhCozuxJyIqdsrHfzfrhbmsbgBrr/Autodromo_Nazionale_Monza_2.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile3.posterous.com/getfile/files.posterous.com/temp-2011-08-24/aCxvzxczAypFpqBmmBltHsasfHsmdpbrdhCozuxJyIqdsrHfzfrhbmsbgBrr/Autodromo_Nazionale_Monza_2.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile2.posterous.com/getfile/files.posterous.com/temp-2011-08-24/kFGffEvxIiltpmusytklDfGqGIDHIuiuhvvjcbFBtrkqGHpsdzAaFfjldkol/Autodromo_Nazionale_Monza.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile3.posterous.com/getfile/files.posterous.com/temp-2011-08-24/kFGffEvxIiltpmusytklDfGqGIDHIuiuhvvjcbFBtrkqGHpsdzAaFfjldkol/Autodromo_Nazionale_Monza.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile5.posterous.com/getfile/files.posterous.com/temp-2011-08-24/GxqqBGnJwpsFmfkuykGEevtywwJraHnBfqaElJBhqIpqxGdqlCGisosEhiFs/Autumn_Ring_Mini_1.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile7.posterous.com/getfile/files.posterous.com/temp-2011-08-24/GxqqBGnJwpsFmfkuykGEevtywwJraHnBfqaElJBhqIpqxGdqlCGisosEhiFs/Autumn_Ring_Mini_1.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile2.posterous.com/getfile/files.posterous.com/temp-2011-08-24/eHCxoJlyeujbxvuubpJpzbAdiCtarauxHwFJvaiklcdxoGhJyFibehjEksiv/Autumn_Ring_Mini.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile6.posterous.com/getfile/files.posterous.com/temp-2011-08-24/eHCxoJlyeujbxvuubpJpzbAdiCtarauxHwFJvaiklcdxoGhJyFibehjEksiv/Autumn_Ring_Mini.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile5.posterous.com/getfile/files.posterous.com/temp-2011-08-24/BeFgrmChosvynvxeumqegoEyhddwGzkxkugvzagzgDchsErqElhwjxbFtite/Circuit_de_la_Sarthe_2009_1_2.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2011-08-24/BeFgrmChosvynvxeumqegoEyhddwGzkxkugvzagzgDchsErqElhwjxbFtite/Circuit_de_la_Sarthe_2009_1_2.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2011-08-24/gmvnnrvCGEqsEywcrzwriEfCwrpGFbfoAsamyEdvcwaDeBvCxqeziEolaEBE/Circuit_de_la_Sarthe_2009_1.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2011-08-24/gmvnnrvCGEqsEywcrzwriEfCwrpGFbfoAsamyEdvcwaDeBvCxqeziEolaEBE/Circuit_de_la_Sarthe_2009_1.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile4.posterous.com/getfile/files.posterous.com/temp-2011-08-24/bxzpizAekdtJohksktFekomJgAoqzhixGuiBuzElofkaDHqAFwjEetvCJJhC/Circuit_de_la_Sarthe_2009_2.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2011-08-24/bxzpizAekdtJohksktFekomJgAoqzhixGuiBuzElofkaDHqAFwjEetvCJJhC/Circuit_de_la_Sarthe_2009_2.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile3.posterous.com/getfile/files.posterous.com/temp-2011-08-24/ygigGyFCyefDHBgfAkeaCxsahvAlpaxIrlehDquognBAGhysCrFFsitCwdmf/Circuit_de_la_Sarthe_2009_3.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile8.posterous.com/getfile/files.posterous.com/temp-2011-08-24/ygigGyFCyefDHBgfAkeaCxsahvAlpaxIrlehDquognBAGhysCrFFsitCwdmf/Circuit_de_la_Sarthe_2009_3.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2011-08-24/IspoteHmrgxklxFAyzDelvbhdnytDtudBAdsnyqpfsuInybmtinztbrIynHl/Circuit_routier_-_Daytona.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile6.posterous.com/getfile/files.posterous.com/temp-2011-08-24/IspoteHmrgxklxFAyzDelvbhdnytDtudBAdsnyqpfsuInybmtinztbrIynHl/Circuit_routier_-_Daytona.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2011-08-24/DAvwItqFzJCFsxhGCGcymigvqHDycvgmpnehmaBIBvCHjCntGewyCtgAmnnC/Cote_dAzur_1.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile2.posterous.com/getfile/files.posterous.com/temp-2011-08-24/DAvwItqFzJCFsxhGCGcymigvqHDycvgmpnehmaBIBvCHjCntGewyCtgAmnnC/Cote_dAzur_1.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile3.posterous.com/getfile/files.posterous.com/temp-2011-08-24/JtnawxirDetkwhFaJgnEyEfJfrltpxGcfgHcBGjslCDAkulGeEqGohFcyoqs/Eiger_Nordwand_-_Court_1.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile4.posterous.com/getfile/files.posterous.com/temp-2011-08-24/JtnawxirDetkwhFaJgnEyEfJfrltpxGcfgHcBGjslCDAkulGeEqGohFcyoqs/Eiger_Nordwand_-_Court_1.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2011-08-24/tFuyHECramfvCgrBtohAhItnBhrxFDFmvpHynAGAIabtFcwqfddFIsGDzGJw/Eiger_Nordwand_-_Court_3.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2011-08-24/tFuyHECramfvCgrBtohAhItnBhrxFDFmvpHynAGAIabtFcwqfddFIsGDzGJw/Eiger_Nordwand_-_Court_3.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile1.posterous.com/getfile/files.posterous.com/temp-2011-08-24/EcrbbCmoivGEibibAIfegHytJhnvoqelIHmqBwBIkdhboxEhwDBIBrogdqrz/Eiger_Nordwand_-_Court_5.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile8.posterous.com/getfile/files.posterous.com/temp-2011-08-24/EcrbbCmoivGEibibAIfegHytJhnvoqelIHmqBwBIkdhboxEhwDBIBrogdqrz/Eiger_Nordwand_-_Court_5.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile6.posterous.com/getfile/files.posterous.com/temp-2011-08-24/qfxjjnjAiofFfkkxtdpsmsAohhjBFdADaBsguGJhcxGEaIjzJfDtfIBsirru/Eiger_Nordwand_-_Piste_K_1.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2011-08-24/qfxjjnjAiofFfkkxtdpsmsAohhjBFdADaBsguGJhcxGEaIjzJfDtfIBsirru/Eiger_Nordwand_-_Piste_K_1.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile9.posterous.com/getfile/files.posterous.com/temp-2011-08-24/podaldFhsuykydocwEJhCcjDihlbCqDqpDoyEAaarGHacxujIDrGagnxBrft/Eiger_Nordwand_-_Piste_K_2.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile7.posterous.com/getfile/files.posterous.com/temp-2011-08-24/podaldFhsuykydocwEJhCcjDihlbCqDqpDoyEAaarGHacxujIDrGagnxBrft/Eiger_Nordwand_-_Piste_K_2.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile6.posterous.com/getfile/files.posterous.com/temp-2011-08-24/sizgptaokeurtmkHaIeuuJGIFJrhwsushtilwgbHjjrFjGExIGJjBJGivpaI/Eiger_Nordwand_-_Piste_K_3.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile9.posterous.com/getfile/files.posterous.com/temp-2011-08-24/sizgptaokeurtmkHaIeuuJGIFJrhwsushtilwgbHjjrFjGExIGJjBJGivpaI/Eiger_Nordwand_-_Piste_K_3.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile4.posterous.com/getfile/files.posterous.com/temp-2011-08-24/DqcEHsqpFrEAAJuEsDfrgupEwHiuCJyyHIajupcvAHhIjfBeqjjBEaqsDexo/Eiger_Nordwand_-_Piste_K_4.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile1.posterous.com/getfile/files.posterous.com/temp-2011-08-24/DqcEHsqpFrEAAJuEsDfrgupEwHiuCJyyHIajupcvAHhIjfBeqjjBEaqsDexo/Eiger_Nordwand_-_Piste_K_4.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile4.posterous.com/getfile/files.posterous.com/temp-2011-08-24/ADgBJCnkGzfmwwvocioJaDpygbgqvbuEnEfbnDIrzIylklieGCJmCADhgvCq/Eiger_Nordwand_-_Piste_K_5.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile5.posterous.com/getfile/files.posterous.com/temp-2011-08-24/ADgBJCnkGzfmwwvocioJaDpygbgqvbuEnEfbnDIrzIylklieGCJmCADhgvCq/Eiger_Nordwand_-_Piste_K_5.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile1.posterous.com/getfile/files.posterous.com/temp-2011-08-24/iBwstBEAjwmiipgFxoFtEdICjlllnjIBbqiBinhxCtwepiCdruGIcyafolpc/Eiger_Nordwand_-_Piste_K.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile8.posterous.com/getfile/files.posterous.com/temp-2011-08-24/iBwstBEAjwmiipgFxoFtEdICjlllnjIBbqiBinhxCtwepiCdruGIcyafolpc/Eiger_Nordwand_-_Piste_K.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile7.posterous.com/getfile/files.posterous.com/temp-2011-08-24/ugzBHEEoCAwkDEFzundreaxByuwIfnxsDdqceklBtFzjhhlJGcvvhkayqcjt/Fuji_Speedway_F_2.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile1.posterous.com/getfile/files.posterous.com/temp-2011-08-24/ugzBHEEoCAwkDEFzundreaxByuwIfnxsDdqceklBtFzjhhlJGcvvhkayqcjt/Fuji_Speedway_F_2.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile7.posterous.com/getfile/files.posterous.com/temp-2011-08-24/rftDHbffcItgzoIvmGAoceBhEakcJhDkbqesbACrvxGecvBnnvfxshGxBJhr/Fuji_Speedway_F_1.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile2.posterous.com/getfile/files.posterous.com/temp-2011-08-24/rftDHbffcItgzoIvmGAoceBhEakcJhDkbqesbACrvxGecvBnnvfxshGxBJhr/Fuji_Speedway_F_1.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile6.posterous.com/getfile/files.posterous.com/temp-2011-08-24/gDzrvaDvfDhFbIhFdgefmeciwwquawmsfyxtjvFFjgBEGqDtDnBhDsafoApp/Fuji_Speedway_F_5.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile4.posterous.com/getfile/files.posterous.com/temp-2011-08-24/gDzrvaDvfDhFbIhFdgefmeciwwquawmsfyxtjvFFjgBEGqDtDnBhDsafoApp/Fuji_Speedway_F_5.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile2.posterous.com/getfile/files.posterous.com/temp-2011-08-24/rurfjvEFFJpnpdqytjIpxFsgeamIAqyIfIdseHgnbrGuDvhajhwcnkeEEgiB/Hangar_Red_Bull_7_1.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile1.posterous.com/getfile/files.posterous.com/temp-2011-08-24/rurfjvEFFJpnpdqytjIpxFsgeamIAqyIfIdseHgnbrGuDvhajhwcnkeEEgiB/Hangar_Red_Bull_7_1.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile2.posterous.com/getfile/files.posterous.com/temp-2011-08-24/gnDwAdxxrnkHCzgCmsHcrudnyCAgfyfrjfwdrIabtjGkqxtvJuAkpkIgofot/Hangar_Red_Bull_7_2.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile5.posterous.com/getfile/files.posterous.com/temp-2011-08-24/gnDwAdxxrnkHCzgCmsHcrudnyCAgfyfrjfwdrIabtjGkqxtvJuAkpkIgofot/Hangar_Red_Bull_7_2.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile1.posterous.com/getfile/files.posterous.com/temp-2011-08-24/DzmDgDJkgEmJdnnFGhFJHxrBtqkxHfpumfuCDlJrlHveeCqevvCarjxmuChs/Hangar_Red_Bull_7.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile1.posterous.com/getfile/files.posterous.com/temp-2011-08-24/DzmDgDJkgEmJdnnFGhFJHxrBtqkxHfpumfuCDlJrlHveeCqevvCarjxmuChs/Hangar_Red_Bull_7.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="2160" width="3840" url="http://getfile9.posterous.com/getfile/files.posterous.com/temp-2011-08-24/ifyuCoseJGsGjgoabFoxbxrdxItmpioEhizdqkGtcqbaJwyzumoDlAaEAehb/Lucerne_-_Pont_de_la_Chapelle.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile5.posterous.com/getfile/files.posterous.com/temp-2011-08-24/ifyuCoseJGsGjgoabFoxbxrdxItmpioEhizdqkGtcqbaJwyzumoDlAaEAehb/Lucerne_-_Pont_de_la_Chapelle.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile9.posterous.com/getfile/files.posterous.com/temp-2011-08-24/EqBFuJhpkIDbHlapmgrtipwfmigBAkJofdoEdAieeHqGEzatAExDtnGnywHm/Nurburgring_GP_D.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2011-08-24/EqBFuJhpkIDbHlapmgrtipwfmigBAkJofdoEdAieeHqGEzatAExDtnGnywHm/Nurburgring_GP_D.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile9.posterous.com/getfile/files.posterous.com/temp-2011-08-24/hmItHtulBIGpkJmqIGemujHIkrlsGwJsekakqggjkwGeEdmuphljzrepgtHI/Suzuka_Circuit.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile5.posterous.com/getfile/files.posterous.com/temp-2011-08-24/hmItHtulBIGpkJmqIGemujHIkrlsGwJsekakqggjkwGeEdmuphljzrepgtHI/Suzuka_Circuit.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile5.posterous.com/getfile/files.posterous.com/temp-2011-08-24/jmegpeoajdgifxArsxtwntnxngmtqsoHyiFtBokCdoprvjyknjjFjAlxAkqt/Toscane_1.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile1.posterous.com/getfile/files.posterous.com/temp-2011-08-24/jmegpeoajdgifxArsxtwntnxngmtqsoHyiFtBokCdoprvjyknjjFjAlxAkqt/Toscane_1.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile7.posterous.com/getfile/files.posterous.com/temp-2011-08-24/dvJcIaFtctipfjvCAwxzEzgculyvaydiBiFafBrCrgHbklzHrgGxDlsAHHwH/Toscane.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile6.posterous.com/getfile/files.posterous.com/temp-2011-08-24/dvJcIaFtctipfjvCAwxzEzgculyvaydiBiFafBrCrgHbklzHrgGxDlsAHHwH/Toscane.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1080" width="1920" url="http://getfile5.posterous.com/getfile/files.posterous.com/temp-2011-08-24/qhyFsvACeyzFecanhhFglbwwJutoozGlbzuvGigkoJFlbzyidmDmftuzCqis/Tsukuba_Circuit_1.jpg">
        <media:thumbnail height="281" width="500" url="http://getfile0.posterous.com/getfile/files.posterous.com/temp-2011-08-24/qhyFsvACeyzFecanhhFglbwwJutoozGlbzuvGigkoJFlbzyidmDmftuzCqis/Tsukuba_Circuit_1.jpg.scaled500.jpg" />
      </media:content>
    </item>
    <item>
      <pubDate>Wed, 27 Jul 2011 02:34:00 -0700</pubDate>
      <title>Announcing DLStats - A NodeJS Product Downloads Stats System</title>
      <link>http://live.julien.ponge.info/announcing-dlstats-a-nodejs-product-downloads</link>
      <guid>http://live.julien.ponge.info/announcing-dlstats-a-nodejs-product-downloads</guid>
      <description>
        <![CDATA[<p>
	<div>There is no better way to create a project than scratching your very own itch.</div>
<p />
<div>I have been more than pleased by the&nbsp;<a href="http://codehaus.org/">Codehaus</a>&nbsp;infrastructure since we moved&nbsp;<a href="http://izpack.org/">IzPack</a>&nbsp;there a few years back. At some point we had the ability to gather downloads stats through a REST endpoint, but it's been 2 years-something that we lost such metrics. Crawling HTTP server logs is not supposed to be a very complicated thing, but it looks like it is one at Codehaus.</div>
<p />
<div>For sure properly tracking download stats is not that simple: you need to cater with incomplete downloads, robots, you need to balance the numbers with those of other distribution systems like Maven repositories&hellip;&nbsp;<strong>but what if all you need is a gross idea of how many downloads you get?</strong></div>
<p />
<div>This is why I created&nbsp;<a href="https://github.com/jponge/dlstats">DLStats</a>&nbsp;based on a simple idea:&nbsp;<strong>provide clean download URLs, track hits, then redirect to the actual download URLs.</strong></div>
<p />
<div>I have been using the application in production for 3 months. This allows me to have URLs such as&nbsp;<a href="http://get.izpack.org/izpack/5.0.0-beta8">http://get.izpack.org/izpack/5.0.0-beta8</a></div>
<p />
<div>The application itself is written using&nbsp;<a href="http://nodejs.org/">NodeJS</a>&nbsp;and uses a&nbsp;<a href="http://redis.io/">Redis database</a>. There is also a minimalistic stats viewer, but frankly I would welcome any SproutCore / jQuery / whatever guru who would have the time to develop a better interface.</div>
<div><div class='p_embed p_image_embed'>
<a href="http://getfile1.posterous.com/getfile/files.posterous.com/jponge/IBYSQaQyzUSmC8F72Do79T9BKwJ00C3GYzBvGE42FxaWyw8Eo4JAnSYSwk0D/statsview.png.scaled.1000.jpg"><img alt="Statsview" height="424" src="http://getfile9.posterous.com/getfile/files.posterous.com/jponge/xsfeekhCmP9fN75qW121917koXLq8AaNr2wbZKKKKwmneIZdSJBsncj9SceB/statsview.png.scaled.500.jpg" width="500" /></a>
</div>
</div>
<div>I opted for the&nbsp;<a href="http://www.gnu.org/licenses/agpl-3.0.html">AGPL license</a>, with the reasons being explained in the Q&amp;A section of the files that pretends to be a documentation.</div>
<p />
<div>The code is quite small and simple, yet I hope that&nbsp;<a href="https://github.com/jponge/dlstats">DLStats</a>&nbsp;will be useful to you as well!</div>
<p />
<div><a href="https://github.com/jponge/dlstats">DLStats - A NodeJS Product Downloads Stats System&nbsp;on GitHub</a></div>
	
</p>

<p><a href="http://live.julien.ponge.info/announcing-dlstats-a-nodejs-product-downloads">Permalink</a> 

	| <a href="http://live.julien.ponge.info/announcing-dlstats-a-nodejs-product-downloads#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1254910/Screen_shot_2011-02-01_at_3.47.18_PM_reasonably_small.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hesW7ScPOPef8</posterous:profileUrl>
        <posterous:firstName>Julien</posterous:firstName>
        <posterous:lastName>Ponge</posterous:lastName>
        <posterous:nickName>jponge</posterous:nickName>
        <posterous:displayName>Julien Ponge</posterous:displayName>
      </posterous:author>
      <media:content type="image/png" height="986" width="1162" url="http://getfile8.posterous.com/getfile/files.posterous.com/jponge/OsQIsQg9h5CFlwfigt83XATJfWUSndRFCM1bQpLWmPZjbEitjjuqo9XmatdS/statsview.png">
        <media:thumbnail height="424" width="500" url="http://getfile9.posterous.com/getfile/files.posterous.com/jponge/xsfeekhCmP9fN75qW121917koXLq8AaNr2wbZKKKKwmneIZdSJBsncj9SceB/statsview.png.scaled.500.jpg" />
      </media:content>
    </item>
    <item>
      <pubDate>Fri, 22 Jul 2011 09:10:00 -0700</pubDate>
      <title>Slides of my LyonJUG Java 7 Launch Talk</title>
      <link>http://live.julien.ponge.info/slides-of-my-lyonjug-java-7-launch-talk</link>
      <guid>http://live.julien.ponge.info/slides-of-my-lyonjug-java-7-launch-talk</guid>
      <description>
        <![CDATA[<p>
	<div style=""><strong style="display: block; margin: 12px 0 4px;"><a href="http://www.slideshare.net/julien.ponge/java-7-launch-event-at-lyonjug-lyon-france-fork-join-framework-and-project-coin" title="Java 7 Launch Event at LyonJUG, Lyon France. Fork / Join framework and Project Coin." target="_blank">Java 7 Launch Event at LyonJUG, Lyon France. Fork / Join framework and Project Coin.</a></strong> <iframe scrolling="no" marginheight="0" marginwidth="0" src="http://www.slideshare.net/slideshow/embed_code/8664568" frameborder="0" height="355" width="425"></iframe>
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/" target="_blank">presentations</a> from <a href="http://www.slideshare.net/julien.ponge" target="_blank">julien.ponge</a></div>
</div>
<div>I did not cover all Java SE 7 of course, but focused on the fork/join framework and the language evolutions brought through Project Coin.</div>
	
</p>

<p><a href="http://live.julien.ponge.info/slides-of-my-lyonjug-java-7-launch-talk">Permalink</a> 

	| <a href="http://live.julien.ponge.info/slides-of-my-lyonjug-java-7-launch-talk#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1254910/Screen_shot_2011-02-01_at_3.47.18_PM_reasonably_small.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hesW7ScPOPef8</posterous:profileUrl>
        <posterous:firstName>Julien</posterous:firstName>
        <posterous:lastName>Ponge</posterous:lastName>
        <posterous:nickName>jponge</posterous:nickName>
        <posterous:displayName>Julien Ponge</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Fri, 22 Jul 2011 01:38:22 -0700</pubDate>
      <title>A Few Pictures of the Java 7 Launch Event in Lyon</title>
      <link>http://live.julien.ponge.info/a-few-pictures-of-the-java-7-launch-event-in</link>
      <guid>http://live.julien.ponge.info/a-few-pictures-of-the-java-7-launch-event-in</guid>
      <description>
        <![CDATA[<p>
	<p><div class='p_embed p_image_embed'>
<a href="http://getfile7.posterous.com/getfile/files.posterous.com/jponge/owfhvArtCbjHnuGlAHqehgHFhGEGinJpnukzpplwxkhwmaAHtulfbrpwkyvz/p229.jpg.scaled1000.jpg"><img alt="P229" height="373" src="http://getfile5.posterous.com/getfile/files.posterous.com/jponge/owfhvArtCbjHnuGlAHqehgHFhGEGinJpnukzpplwxkhwmaAHtulfbrpwkyvz/p229.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile6.posterous.com/getfile/files.posterous.com/jponge/idnmDgjpqAajvuDxrnJbdtttCuJDxrotxvcjnunuqwzwIrgzwnaxfdewwewm/p245.jpg.scaled1000.jpg"><img alt="P245" height="373" src="http://getfile7.posterous.com/getfile/files.posterous.com/jponge/idnmDgjpqAajvuDxrnJbdtttCuJDxrotxvcjnunuqwzwIrgzwnaxfdewwewm/p245.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile3.posterous.com/getfile/files.posterous.com/jponge/BsiohbtBDGxfsxhjJpEaFJyfjsHjkDyIaqwxCCgcBDxzJbyefxphImlGwrqJ/p243.jpg.scaled1000.jpg"><img alt="P243" height="373" src="http://getfile7.posterous.com/getfile/files.posterous.com/jponge/BsiohbtBDGxfsxhjJpEaFJyfjsHjkDyIaqwxCCgcBDxzJbyefxphImlGwrqJ/p243.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile5.posterous.com/getfile/files.posterous.com/jponge/lHemppcBzduFgkguCAmpIzxnxCthkJiAlphmCwCnClGakwApazheJCexBiJi/p241.jpg.scaled1000.jpg"><img alt="P241" height="373" src="http://getfile1.posterous.com/getfile/files.posterous.com/jponge/lHemppcBzduFgkguCAmpIzxnxCthkJiAlphmCwCnClGakwApazheJCexBiJi/p241.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile6.posterous.com/getfile/files.posterous.com/jponge/frzfdzygBHACwuleAqEoqHqaHHhCpFsdzaHralgEbnnxbujlGzIxqJljJwrq/p239.jpg.scaled1000.jpg"><img alt="P239" height="373" src="http://getfile0.posterous.com/getfile/files.posterous.com/jponge/frzfdzygBHACwuleAqEoqHqaHHhCpFsdzaHralgEbnnxbujlGzIxqJljJwrq/p239.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile1.posterous.com/getfile/files.posterous.com/jponge/ayGhsbzcEqrzGCJHzivuFwjzEttCFEJchkjedjghdvJAvatevDCpprnkDfDr/p237.jpg.scaled1000.jpg"><img alt="P237" height="373" src="http://getfile0.posterous.com/getfile/files.posterous.com/jponge/ayGhsbzcEqrzGCJHzivuFwjzEttCFEJchkjedjghdvJAvatevDCpprnkDfDr/p237.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile2.posterous.com/getfile/files.posterous.com/jponge/cFIAlqaDzqboyqHDdynhFvpGkyGBuzhmwFvyxdAouEkxosoIIpywegGJvasq/p235.jpg.scaled1000.jpg"><img alt="P235" height="373" src="http://getfile9.posterous.com/getfile/files.posterous.com/jponge/cFIAlqaDzqboyqHDdynhFvpGkyGBuzhmwFvyxdAouEkxosoIIpywegGJvasq/p235.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile9.posterous.com/getfile/files.posterous.com/jponge/EChrdqyBAFGpiBcqetIcBGgCEfhhuGgByrEhqqzlbtuGzylErfiewjwFoEjj/p233.jpg.scaled1000.jpg"><img alt="P233" height="669" src="http://getfile2.posterous.com/getfile/files.posterous.com/jponge/EChrdqyBAFGpiBcqetIcBGgCEfhhuGgByrEhqqzlbtuGzylErfiewjwFoEjj/p233.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile1.posterous.com/getfile/files.posterous.com/jponge/FgFEtEvCIvcspijpAxgIGfaCuvylgirsogpxqsEaJmiDwdzsJzGvfHkcqjFA/p249.jpg.scaled1000.jpg"><img alt="P249" height="373" src="http://getfile8.posterous.com/getfile/files.posterous.com/jponge/FgFEtEvCIvcspijpAxgIGfaCuvylgirsogpxqsEaJmiDwdzsJzGvfHkcqjFA/p249.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile5.posterous.com/getfile/files.posterous.com/jponge/EjyjFvEspneyitcwypAjIvECaxzHjbehzBCHgGoGpeegagBnxIvFtlcbHdtg/p231.jpg.scaled1000.jpg"><img alt="P231" height="669" src="http://getfile0.posterous.com/getfile/files.posterous.com/jponge/EjyjFvEspneyitcwypAjIvECaxzHjbehzBCHgGoGpeegagBnxIvFtlcbHdtg/p231.jpg.scaled500.jpg" width="500" /></a>
<a href="http://getfile8.posterous.com/getfile/files.posterous.com/jponge/hkzsoyiEzalwIhfkyxqpjcyhHrqrwcrJdHcjGFlqtFjpuorlAvjzwyjjHxtD/p247.jpg.scaled1000.jpg"><img alt="P247" height="373" src="http://getfile8.posterous.com/getfile/files.posterous.com/jponge/hkzsoyiEzalwIhfkyxqpjcyhHrqrwcrJdHcjGFlqtFjpuorlAvjzwyjjHxtD/p247.jpg.scaled500.jpg" width="500" /></a>
<div class='p_see_full_gallery'><a href="http://live.julien.ponge.info/a-few-pictures-of-the-java-7-launch-event-in">See the full gallery on Posterous</a></div>
</div>
</p>Great session shared with my friend Alexis Moussine-Pouchkine organized by the LyonJUG. Sorry for the pictures quality, I only had my iPhone...
	
</p>

<p><a href="http://live.julien.ponge.info/a-few-pictures-of-the-java-7-launch-event-in">Permalink</a> 

	| <a href="http://live.julien.ponge.info/a-few-pictures-of-the-java-7-launch-event-in#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1254910/Screen_shot_2011-02-01_at_3.47.18_PM_reasonably_small.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hesW7ScPOPef8</posterous:profileUrl>
        <posterous:firstName>Julien</posterous:firstName>
        <posterous:lastName>Ponge</posterous:lastName>
        <posterous:nickName>jponge</posterous:nickName>
        <posterous:displayName>Julien Ponge</posterous:displayName>
      </posterous:author>
      <media:content type="image/jpeg" height="1936" width="2592" url="http://getfile9.posterous.com/getfile/files.posterous.com/jponge/frzfdzygBHACwuleAqEoqHqaHHhCpFsdzaHralgEbnnxbujlGzIxqJljJwrq/p239.jpg">
        <media:thumbnail height="373" width="500" url="http://getfile0.posterous.com/getfile/files.posterous.com/jponge/frzfdzygBHACwuleAqEoqHqaHHhCpFsdzaHralgEbnnxbujlGzIxqJljJwrq/p239.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1936" width="2592" url="http://getfile7.posterous.com/getfile/files.posterous.com/jponge/hkzsoyiEzalwIhfkyxqpjcyhHrqrwcrJdHcjGFlqtFjpuorlAvjzwyjjHxtD/p247.jpg">
        <media:thumbnail height="373" width="500" url="http://getfile8.posterous.com/getfile/files.posterous.com/jponge/hkzsoyiEzalwIhfkyxqpjcyhHrqrwcrJdHcjGFlqtFjpuorlAvjzwyjjHxtD/p247.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1936" width="2592" url="http://getfile1.posterous.com/getfile/files.posterous.com/jponge/idnmDgjpqAajvuDxrnJbdtttCuJDxrotxvcjnunuqwzwIrgzwnaxfdewwewm/p245.jpg">
        <media:thumbnail height="373" width="500" url="http://getfile7.posterous.com/getfile/files.posterous.com/jponge/idnmDgjpqAajvuDxrnJbdtttCuJDxrotxvcjnunuqwzwIrgzwnaxfdewwewm/p245.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1936" width="2592" url="http://getfile5.posterous.com/getfile/files.posterous.com/jponge/BsiohbtBDGxfsxhjJpEaFJyfjsHjkDyIaqwxCCgcBDxzJbyefxphImlGwrqJ/p243.jpg">
        <media:thumbnail height="373" width="500" url="http://getfile7.posterous.com/getfile/files.posterous.com/jponge/BsiohbtBDGxfsxhjJpEaFJyfjsHjkDyIaqwxCCgcBDxzJbyefxphImlGwrqJ/p243.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1936" width="2592" url="http://getfile6.posterous.com/getfile/files.posterous.com/jponge/lHemppcBzduFgkguCAmpIzxnxCthkJiAlphmCwCnClGakwApazheJCexBiJi/p241.jpg">
        <media:thumbnail height="373" width="500" url="http://getfile1.posterous.com/getfile/files.posterous.com/jponge/lHemppcBzduFgkguCAmpIzxnxCthkJiAlphmCwCnClGakwApazheJCexBiJi/p241.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1936" width="2592" url="http://getfile5.posterous.com/getfile/files.posterous.com/jponge/ayGhsbzcEqrzGCJHzivuFwjzEttCFEJchkjedjghdvJAvatevDCpprnkDfDr/p237.jpg">
        <media:thumbnail height="373" width="500" url="http://getfile0.posterous.com/getfile/files.posterous.com/jponge/ayGhsbzcEqrzGCJHzivuFwjzEttCFEJchkjedjghdvJAvatevDCpprnkDfDr/p237.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1936" width="2592" url="http://getfile4.posterous.com/getfile/files.posterous.com/jponge/cFIAlqaDzqboyqHDdynhFvpGkyGBuzhmwFvyxdAouEkxosoIIpywegGJvasq/p235.jpg">
        <media:thumbnail height="373" width="500" url="http://getfile9.posterous.com/getfile/files.posterous.com/jponge/cFIAlqaDzqboyqHDdynhFvpGkyGBuzhmwFvyxdAouEkxosoIIpywegGJvasq/p235.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="2592" width="1936" url="http://getfile3.posterous.com/getfile/files.posterous.com/jponge/EChrdqyBAFGpiBcqetIcBGgCEfhhuGgByrEhqqzlbtuGzylErfiewjwFoEjj/p233.jpg">
        <media:thumbnail height="669" width="500" url="http://getfile2.posterous.com/getfile/files.posterous.com/jponge/EChrdqyBAFGpiBcqetIcBGgCEfhhuGgByrEhqqzlbtuGzylErfiewjwFoEjj/p233.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1936" width="2592" url="http://getfile1.posterous.com/getfile/files.posterous.com/jponge/FgFEtEvCIvcspijpAxgIGfaCuvylgirsogpxqsEaJmiDwdzsJzGvfHkcqjFA/p249.jpg">
        <media:thumbnail height="373" width="500" url="http://getfile8.posterous.com/getfile/files.posterous.com/jponge/FgFEtEvCIvcspijpAxgIGfaCuvylgirsogpxqsEaJmiDwdzsJzGvfHkcqjFA/p249.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="2592" width="1936" url="http://getfile9.posterous.com/getfile/files.posterous.com/jponge/EjyjFvEspneyitcwypAjIvECaxzHjbehzBCHgGoGpeegagBnxIvFtlcbHdtg/p231.jpg">
        <media:thumbnail height="669" width="500" url="http://getfile0.posterous.com/getfile/files.posterous.com/jponge/EjyjFvEspneyitcwypAjIvECaxzHjbehzBCHgGoGpeegagBnxIvFtlcbHdtg/p231.jpg.scaled500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1936" width="2592" url="http://getfile6.posterous.com/getfile/files.posterous.com/jponge/owfhvArtCbjHnuGlAHqehgHFhGEGinJpnukzpplwxkhwmaAHtulfbrpwkyvz/p229.jpg">
        <media:thumbnail height="373" width="500" url="http://getfile5.posterous.com/getfile/files.posterous.com/jponge/owfhvArtCbjHnuGlAHqehgHFhGEGinJpnukzpplwxkhwmaAHtulfbrpwkyvz/p229.jpg.scaled500.jpg" />
      </media:content>
    </item>
    <item>
      <pubDate>Tue, 12 Jul 2011 13:45:00 -0700</pubDate>
      <title>New Article for Oracle "Fork and Join: Java Can Excel at Painless Parallel Programming Too!"</title>
      <link>http://live.julien.ponge.info/new-article-for-oracle-fork-and-join-java-can</link>
      <guid>http://live.julien.ponge.info/new-article-for-oracle-fork-and-join-java-can</guid>
      <description>
        <![CDATA[<p>
	

<div><span>Oracle has just published my second Java SE 7 article for the <em>Oracle Technology Network</em>:&nbsp;<a href="http://www.oracle.com/technetwork/articles/java/fork-join-422606.html">"Fork and Join: Java Can Excel at Painless Parallel Programming Too!"</a>.</span></div>
<p />
<div><span>While <a href="http://live.julien.ponge.info/otn-article-better-resource-management-with-j">the first article dealt with the new try-with-resources statement</a> which is more than useful for properly dealing with resources, this one tackles the new fork/join framework.</span></div>
<p />
<div><span>Java SE 5 made it easier to deal with concurrent programming. <strong>Java SE 7 makes another step towards making your CPU cores busy by making parallel programming just as easy.</strong></span></div>
<p />
<div><span>I highly encourage you to have a look at the fork/join framework. You may easily think that this is all for graphic or maths applications... which is of course wrong. I am pretty sure that even your typical business application has a few algorithms and batch jobs there and there that could be easily decomposed into parallel tasks!</span></div>


	
</p>

<p><a href="http://live.julien.ponge.info/new-article-for-oracle-fork-and-join-java-can">Permalink</a> 

	| <a href="http://live.julien.ponge.info/new-article-for-oracle-fork-and-join-java-can#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1254910/Screen_shot_2011-02-01_at_3.47.18_PM_reasonably_small.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hesW7ScPOPef8</posterous:profileUrl>
        <posterous:firstName>Julien</posterous:firstName>
        <posterous:lastName>Ponge</posterous:lastName>
        <posterous:nickName>jponge</posterous:nickName>
        <posterous:displayName>Julien Ponge</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Tue, 05 Jul 2011 02:41:33 -0700</pubDate>
      <title>Soirée de lancement de Java 7 sur Lyon</title>
      <link>http://live.julien.ponge.info/soiree-de-lancement-de-java-7-sur-lyon</link>
      <guid>http://live.julien.ponge.info/soiree-de-lancement-de-java-7-sur-lyon</guid>
      <description>
        <![CDATA[<p>
	 <div><a href="http://www.lyonjug.org/">Le LyonJUG (Lyon Java User Group)</a> organise la soirée de lancement de Java 7 le <b>21/07 à 19h</b> dans l'amphi Claude Chappe de l'<a href="http://telecom.insa-lyon.fr/">INSA Lyon Telecom</a> :</div><p /><div><iframe marginheight="0" scrolling="no" class="google-map" src="http://maps.google.fr/maps?q=batiment+claude+chappe+Avenue+des+Arts,+Villeurbanne&hl=fr&sll=45.783582,4.872844&sspn=0.00526,0.007253&output=embed" marginwidth="0" frameborder="0" height="400" width="500"></iframe><br />
            <a href="http://maps.google.fr/maps?q=batiment+claude+chappe+Avenue+des+Arts,+Villeurbanne&hl=fr&sll=45.783582,4.872844&sspn=0.00526,0.007253&source=embed">View Larger Map</a></div><div><br />Cet évènement est supporté par <a href="http://www.oracle.com/">Oracle</a> qui dépêche pour l'occasion un speaker de renom <a href="http://blogs.oracle.com/alexismp">(Alexis Moussine-Pouchkine)</a> et accrédite la présence d'un <a href="http://julien.ponge.info/">deuxième</a> qui a collaboré avec eux pour la rédaction d'articles techniques sur Java 7.<p />Je vous encourage à venir à cet évènement qui aura lieu dans une ambiance très conviviale et qui vous permettra de comprendre ce qui a changé dans cette version tant attendue de Java.<p />Inscriptions : <a href="http://www.jugevents.org/jugevents/event/40057">http://www.jugevents.org/jugevents/event/40057</a><p />N'hésitez pas à faire suivre cette annonce.<br /></div>  
	
</p>

<p><a href="http://live.julien.ponge.info/soiree-de-lancement-de-java-7-sur-lyon">Permalink</a> 

	| <a href="http://live.julien.ponge.info/soiree-de-lancement-de-java-7-sur-lyon#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1254910/Screen_shot_2011-02-01_at_3.47.18_PM_reasonably_small.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hesW7ScPOPef8</posterous:profileUrl>
        <posterous:firstName>Julien</posterous:firstName>
        <posterous:lastName>Ponge</posterous:lastName>
        <posterous:nickName>jponge</posterous:nickName>
        <posterous:displayName>Julien Ponge</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Sat, 02 Jul 2011 08:14:12 -0700</pubDate>
      <title>We Released IzPack 5.0.0-beta8 Yesterday</title>
      <link>http://live.julien.ponge.info/we-released-izpack-500-beta8-yesterday</link>
      <guid>http://live.julien.ponge.info/we-released-izpack-500-beta8-yesterday</guid>
      <description>
        <![CDATA[<p>
	<p>Just in case you would have missed the news through another channel,&nbsp;<a href="http://news.izpack.org/izpack-500-beta8-released">we released the 8th beta release of izPack 5.0.0 yesterday</a>!</p>
<p>This is another milestone towards a stabilized version 5 after the huge refactorings that the code base has had. In the news along with this release:</p>
<ul>
<li>there is already a good track record of people using those beta releases in production,</li>
<li>we launched <a href="http://news.izpack.org/">a community news website</a>&nbsp;and <a href="http://news.izpack.org/pages/submit-your-own-news">you are even welcome to submit your own</a>,</li>
<li><a href="http://github.com/bmuschko/gradle-izpack-plugin">a Gradle IzPack plugin project has emerged on GitHub</a> and it looks very promising.</li>
</ul>
<p>I believe and I hope that we will drop the beta stage soon.</p>
	
</p>

<p><a href="http://live.julien.ponge.info/we-released-izpack-500-beta8-yesterday">Permalink</a> 

	| <a href="http://live.julien.ponge.info/we-released-izpack-500-beta8-yesterday#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1254910/Screen_shot_2011-02-01_at_3.47.18_PM_reasonably_small.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hesW7ScPOPef8</posterous:profileUrl>
        <posterous:firstName>Julien</posterous:firstName>
        <posterous:lastName>Ponge</posterous:lastName>
        <posterous:nickName>jponge</posterous:nickName>
        <posterous:displayName>Julien Ponge</posterous:displayName>
      </posterous:author>
    </item>
    <item>
      <pubDate>Tue, 21 Jun 2011 16:18:00 -0700</pubDate>
      <title>OpenJDK 7 Mac OS X Port Project FTW!</title>
      <link>http://live.julien.ponge.info/openjdk-7-mac-os-x-port-project-ftw</link>
      <guid>http://live.julien.ponge.info/openjdk-7-mac-os-x-port-project-ftw</guid>
      <description>
        <![CDATA[<p>
	<div>
<div><span>I was very worried as a Mac OS X user when the <em>"Apple stops supporting Java"</em> news came out a few months back. I would have been extremely saddened having to choose between a first-class desktop operating system or the Java ecosystem.</span></div>
<p />
<div><span>Fortunately Apple rallied the OpenJDK community, and the Apple Java team is working on the <a href="http://openjdk.java.net/projects/macosx-port/">Mac OS X Port Project</a>. Although OpenJDK 7 for Mac OS X won't be released at the same time as the Windows, Linux and Solaris variants, a quality implementation of the Java SE 7 platform should follow in the next few months.</span></div>
<p />
<div><span>Building development versions of this port is relatively easy if you have <a href="http://developer.apple.com/xcode/">XCode</a>, <a href="http://mercurial.selenic.com/">Mercurial</a>, and follow the simple steps on the <a href="http://wikis.sun.com/display/OpenJDK/Mac+OS+X+Port">Mac OS X Port Project wiki</a>.</span></div>
<p />
<div>I follow the activity on the Mercurial repositories for both the <em>"official OpenJDK 7"</em> and the<em> "Mac OS X Port Project".</em>&nbsp;The reason why I do that is left as an exercise to the reader.</div>
<p />
<div>A few months back the Mac OS X port was running the AWT/Swing layers from X11. This was not very surprising given that the Mac OS X port is itself based on the <a href="http://openjdk.java.net/projects/bsd-port/">BSD port</a>. But now things are starting to look really good, as the recent commits do not need X11 anymore!</div>
<p />
<div>I did a private build this evening which says:</div>
<p />
<div>
<blockquote>
<div><span style="font-family: Courier New;"><strong>$ bin/java -version</strong></span></div>
<div><span style="font-family: Courier New;">openjdk version "1.7.0-internal"</span></div>
<div><span style="font-family: Courier New;">OpenJDK Runtime Environment (build 1.7.0-internal-julien_2011_06_21_18_52-b00)</span></div>
<div><span style="font-family: Courier New;">OpenJDK 64-Bit Server VM (build 21.0-b15, mixed mode)</span></div>
</blockquote>
<p />
<div>I then successfully ran a recent build of the <a href="http://izpack.org/">IzPack installer</a>&nbsp;and attached some screenshots to this post. As you can see the result is far from perfect, but there have definitely been huge leaps forward. Hats off to Mike Swingler, the Apple engineer that does most of the work!</div>
<p />
<div>On a final note I would like to mention the unofficial build project led by two frenchies: Henri Gomez and Gildas Cuisinier. <a href="http://code.google.com/p/openjdk-osx-build/downloads/list?q=label:Featured">They publish frequent builds based on the latest advancement of the OpenJDK 7 Mac OS X port</a>. If you are a Mac OS X user and would like to painlessly try Java SE 7 then I'm sure that you will definitely appreciate their work!</div>
</div>
</div>
<p><div class='p_embed p_image_embed'>
<img alt="Screen_shot_2011-06-21_at_21" height="552" src="http://getfile2.posterous.com/getfile/files.posterous.com/jponge/AmUxICUh02T5pUX9hz3GJJ1VXOXthWkY5Sb5H0e1Q5SXTKDWzqeAcSEiUY0J/Screen_shot_2011-06-21_at_21.4.png" width="380" />
<a href="http://getfile7.posterous.com/getfile/files.posterous.com/jponge/7NTy09UhyEAEHEZDLdWJCELbKKFvswRwc4s99Pgi2nmmTtyIuqstJdX58umX/0Screen_shot_2011-06-21_at_21.4.png"><img alt="0screen_shot_2011-06-21_at_21" height="411" src="http://getfile8.posterous.com/getfile/files.posterous.com/jponge/ptqvtPwvuNLAnrkvSawzxb0VBVSjsVSlnIJrriAHG9MYjMBpJa5yI3XZc3Nk/0Screen_shot_2011-06-21_at_21.4.png.scaled.500.jpg" width="500" /></a>
<a href="http://getfile2.posterous.com/getfile/files.posterous.com/jponge/tHFfwenP4OD4ZEeZHaypkWFH7BZauKMPCMIQXoazOYuiKhCYeAQzEYZOGZJy/1Screen_shot_2011-06-21_at_21.4.png"><img alt="1screen_shot_2011-06-21_at_21" height="411" src="http://getfile3.posterous.com/getfile/files.posterous.com/jponge/LAQKX8VdjhTEh4YDVHGeSc5hFz87ADXZgnj5ViBTzqrQa1jIYM2PQQDnvEn5/1Screen_shot_2011-06-21_at_21.4.png.scaled.500.jpg" width="500" /></a>
<a href="http://getfile7.posterous.com/getfile/files.posterous.com/jponge/voALRKiFEoKpLX2EN47llE0irTktkcS6ZhtmjBF6Ve94SK8bflsvALSCu6R0/2Screen_shot_2011-06-21_at_21.4.png"><img alt="2screen_shot_2011-06-21_at_21" height="416" src="http://getfile8.posterous.com/getfile/files.posterous.com/jponge/FiWfiutv5oOLbj4l6811Ags4LmYRLc4J9DWqEdPdtVob3g6Bb1Ompy3hjswM/2Screen_shot_2011-06-21_at_21.4.png.scaled.500.jpg" width="500" /></a>
<div class='p_see_full_gallery'><a href="http://live.julien.ponge.info/openjdk-7-mac-os-x-port-project-ftw">See the full gallery on Posterous</a></div>
</div>
</p>
	
</p>

<p><a href="http://live.julien.ponge.info/openjdk-7-mac-os-x-port-project-ftw">Permalink</a> 

	| <a href="http://live.julien.ponge.info/openjdk-7-mac-os-x-port-project-ftw#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1254910/Screen_shot_2011-02-01_at_3.47.18_PM_reasonably_small.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hesW7ScPOPef8</posterous:profileUrl>
        <posterous:firstName>Julien</posterous:firstName>
        <posterous:lastName>Ponge</posterous:lastName>
        <posterous:nickName>jponge</posterous:nickName>
        <posterous:displayName>Julien Ponge</posterous:displayName>
      </posterous:author>
      <media:content type="image/png" height="552" width="380" url="http://getfile2.posterous.com/getfile/files.posterous.com/jponge/AmUxICUh02T5pUX9hz3GJJ1VXOXthWkY5Sb5H0e1Q5SXTKDWzqeAcSEiUY0J/Screen_shot_2011-06-21_at_21.4.png">
        <media:thumbnail height="552" width="380" url="http://getfile2.posterous.com/getfile/files.posterous.com/jponge/AmUxICUh02T5pUX9hz3GJJ1VXOXthWkY5Sb5H0e1Q5SXTKDWzqeAcSEiUY0J/Screen_shot_2011-06-21_at_21.4.png" />
      </media:content>
      <media:content type="image/png" height="780" width="950" url="http://getfile7.posterous.com/getfile/files.posterous.com/jponge/7NTy09UhyEAEHEZDLdWJCELbKKFvswRwc4s99Pgi2nmmTtyIuqstJdX58umX/0Screen_shot_2011-06-21_at_21.4.png">
        <media:thumbnail height="411" width="500" url="http://getfile8.posterous.com/getfile/files.posterous.com/jponge/ptqvtPwvuNLAnrkvSawzxb0VBVSjsVSlnIJrriAHG9MYjMBpJa5yI3XZc3Nk/0Screen_shot_2011-06-21_at_21.4.png.scaled.500.jpg" />
      </media:content>
      <media:content type="image/png" height="780" width="950" url="http://getfile2.posterous.com/getfile/files.posterous.com/jponge/tHFfwenP4OD4ZEeZHaypkWFH7BZauKMPCMIQXoazOYuiKhCYeAQzEYZOGZJy/1Screen_shot_2011-06-21_at_21.4.png">
        <media:thumbnail height="411" width="500" url="http://getfile3.posterous.com/getfile/files.posterous.com/jponge/LAQKX8VdjhTEh4YDVHGeSc5hFz87ADXZgnj5ViBTzqrQa1jIYM2PQQDnvEn5/1Screen_shot_2011-06-21_at_21.4.png.scaled.500.jpg" />
      </media:content>
      <media:content type="image/png" height="524" width="630" url="http://getfile7.posterous.com/getfile/files.posterous.com/jponge/voALRKiFEoKpLX2EN47llE0irTktkcS6ZhtmjBF6Ve94SK8bflsvALSCu6R0/2Screen_shot_2011-06-21_at_21.4.png">
        <media:thumbnail height="416" width="500" url="http://getfile8.posterous.com/getfile/files.posterous.com/jponge/FiWfiutv5oOLbj4l6811Ags4LmYRLc4J9DWqEdPdtVob3g6Bb1Ompy3hjswM/2Screen_shot_2011-06-21_at_21.4.png.scaled.500.jpg" />
      </media:content>
    </item>
    <item>
      <pubDate>Thu, 09 Jun 2011 08:19:00 -0700</pubDate>
      <title>Java EE 6 and Glassfish on a BeagleBoard xM Embedded System</title>
      <link>http://live.julien.ponge.info/java-ee-6-and-glassfish-on-a-beagleboard-xm-e</link>
      <guid>http://live.julien.ponge.info/java-ee-6-and-glassfish-on-a-beagleboard-xm-e</guid>
      <description>
        <![CDATA[<p>
	<div>
<div>
<div>
<div>We are very fortunate at the&nbsp;<a href="http://www.citi.insa-lyon.fr/">CITI Laboratory</a>&nbsp;to have the possibility of playing with weird hardware and software combinations. I am absolutely no embedded systems expert at all, but I had the chance to play with an ARM board a few months back.</div>
<p />
<div>I managed to run the&nbsp;<a href="http://glassfish.org/">Glassfish Java EE 6 Application Server</a>&nbsp;on it and due to&nbsp;<a href="http://twitter.com/#!/alexismp/statuses/68410665496350720">strong demand for more details about it</a>, here is a quick post relating this experiment.</div>
<p />
<div><div class='p_embed p_image_embed'>
<a href="http://getfile2.posterous.com/getfile/files.posterous.com/jponge/vqQJsk1cnO9ReOfhe1OnNQAag1snM3xt2B6lUI6oTw5qJc5e3F8vRTf8cIIX/beagleboard.png"><img alt="Beagleboard" height="500" src="http://getfile3.posterous.com/getfile/files.posterous.com/jponge/qyL0iZdOBNrhecUeI7wKm90LGN1fGgs35YiDNtcrS0Q5JLqHTRWGBe17UI7Z/beagleboard.png.scaled.500.jpg" width="500" /></a>
<a href="http://getfile1.posterous.com/getfile/files.posterous.com/jponge/H8RuoV1AhBlOXz4NZ0qmrLRMAifGnBRsgWelZB9K66xGiedWVfTTu5FG0CnE/beagleboard-xm.jpg.scaled.1000.jpg"><img alt="Beagleboard-xm" height="373" src="http://getfile9.posterous.com/getfile/files.posterous.com/jponge/75o6j6EaOINaqzKveNFjfosGKeMEV2MFvHVQwQYdMOCAprRnrEqINxfoxZV2/beagleboard-xm.jpg.scaled.500.jpg" width="500" /></a>
<a href="http://getfile7.posterous.com/getfile/files.posterous.com/jponge/IyB6c7mBaYIaTSW9Yn06qFVBiIDooaWah0Tc5TttUak1n8i9jOJwnQuVTCn8/wicket-1.png.scaled.1000.jpg"><img alt="Wicket-1" height="407" src="http://getfile5.posterous.com/getfile/files.posterous.com/jponge/qrsu12IvXiAh8FUr3e6XV5nCwLSIRP9UPrCXvHKyiHlKkUY70EJTy1633YbA/wicket-1.png.scaled.500.jpg" width="500" /></a>
<a href="http://getfile5.posterous.com/getfile/files.posterous.com/jponge/FrfI29W1fWXxGoXnXPkDzeeEY810xwWoBT9uifdrYlBczeSTeNmOGvZT5G0k/wicket-2.png.scaled.1000.jpg"><img alt="Wicket-2" height="407" src="http://getfile2.posterous.com/getfile/files.posterous.com/jponge/Iobw2TkPP7dncuKsiltK2gIlGAoVlAS9Got8ilvxcYYq6ExKGpMSr7HPTb6u/wicket-2.png.scaled.500.jpg" width="500" /></a>
<div class='p_see_full_gallery'><a href="http://live.julien.ponge.info/java-ee-6-and-glassfish-on-a-beagleboard-xm-e">See the full gallery on Posterous</a></div>
</div>
</div>
<p />
<div><strong><span style="font-size: medium;">The BeagleBoard xM</span></strong></div>
<p />
<div><a href="http://beagleboard.org/hardware-xM">The BeagleBoard xM</a>&nbsp;is a relatively inexpensive board featuring an ARM processor. The board is packed with some decent hardware:</div>
<div>
<blockquote>
<div>BeagleBoard-xM delivers extra ARM (R) Cortex TM -A8 MHz now at 1 GHz and extra memory with 512MB of low-power DDR RAM, enabling hobbyists, innovators and engineers to go beyond their current imagination and be inspired by the&nbsp;<a href="http://BeagleBoard.org">BeagleBoard.org</a>&nbsp;community. Designed with the community inputs in mind, this open hardware design improves upon the laptop-like performance and expandability, while keeping at hand-held power levels. Direct connectivity is supported by the on-board four-port hub with 10/100 Ethernet, while maintaining a tiny 3.25" x 3.25" footprint.</div>
</blockquote>
<div>It does not consume much energy, you can put your finger on the processor without getting burned, and it has relatively good performance.</div>
<p />
</div>
</div>
<div>
<div><strong><span style="font-size: medium;">Operating System</span></strong></div>
<p />
<div>
<div>You can install lots of different operating systems on the BeagleBoard, ranging from exotic L4 kernel based ones to good old Linux distributions.</div>
<p />
<div>The easiest way to get started is to go with&nbsp;<a href="http://www.angstrom-distribution.org/">Angstrom Linux</a>.</div>
<p />
</div>
<div>
<div>Once you have prepared a SD Card with the operating system image, you should be able to boot into it. Just plug the SD Card in and power on the board.</div>
<p />
<div>You should also configure an OpenSSH server so that you can remotely log into the board.</div>
<p />
</div>
<div><strong><span style="font-size: medium;">Java SE 6 on an ARM board</span></strong></div>
<p />
<div>A very common misconception regarding Java for embedded systems is that you have no choice but to resort to some alternative virtual machine implementations such as&nbsp;<a href="http://jamvm.sourceforge.net/">JamVM</a>&nbsp;and&nbsp;<a href="http://jamvm.sourceforge.net/)">GNU Classpath</a>&nbsp;for the standard Java platform classes. While you may run lots of Java 5 applications with such a combo, there is a simpler alternative.</div>
<p />
<div>Contrarily to what many people think, you can run a&nbsp;<a href="http://www.oracle.com/technetwork/java/javame/embedded/download/javase/index.html">genuine Java SE 6 for embedded systems</a>!&nbsp;This is essentially the full equivalent of a&nbsp;<a href="http://www.oracle.com/technetwork/java/javase/overview/index-jsp-136246.html">regular Java SE 6 Runtime Environment</a>.</div>
<p />
<div><span style="font-size: medium;"><strong>Running Glassfish</strong></span></div>
<p />
<div>Running Glassfish is equally easy.&nbsp;<a href="http://glassfish.java.net/public/downloadsindex.html">Download a ZIP distribution of Glassfish v3.1</a>&nbsp;and just place it anywhere you like.</div>
<p />
<div>You can now easily launch Glassfish and deploy some applications to it!&nbsp;It is not as snappy as what you may be used to, but it starts and runs flawlessly.</div>
<p />
<div>I was able to deploy and run the&nbsp;<a href="http://wicketstuff.org/wicket14/">Apache Wicket examples</a>. After a few requests, you wouldn't notice that you were actually talking to such as small board.</div>
<p />
</div>
<div>
<div><strong><span style="font-size: medium;">The Good, The Bad</span></strong></div>
<p />
<div>
<div>Ok, that was fun, but where do we go from here? Could you really deploy Java EE 6 applications to such embedded systems?</div>
<p />
<div>The answer is of course somewhere in the middle. You are basically doomed if you take your average JPA / EJB / JTA / JSF business application and expect it to be fast here:</div>
</div>
<div>
<ul>
<li>it's a single CPU unit,</li>
<li>SD Card are dead slow, hence any I/O work is costly,</li>
<li>...because Java SE 6 Embedded does not ship with a&nbsp;<em>javac</em>&nbsp;compiler,<strong>&nbsp;JSP/JSF such as in the Glassfish administration console do not work!</strong></li>
</ul>
<div>That being said Glassfish just works with no special tuning, so if you have those constraints in mind, you can actually build embedded applications with the familiar Java EE 6 programming model!</div>
<p />
</div>
<div>Especially:</div>
<div>
<div>
<ul>
<li>you can always plug a USB flash or hard drive for the I/O work, including relational databases on Java DB,</li>
<li>you can certainly tweak the configuration to make it even lighter than by default,</li>
<li>Servlets and JAX-RS work, so you have a wide range of possibilities for exposing web interfaces and web services,</li>
<li>you can take advantage of hybrid Java EE + OSGi applications to plug with UPnP in an embedded context,</li>
<li>you may use the BeagleBoard as a _DAS_ to centrally manage a Glassfish cluster made of SSH nodes running on server hardware,</li>
<li><strong>...sky is the limit!</strong></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<p>&nbsp;</p>
	
</p>

<p><a href="http://live.julien.ponge.info/java-ee-6-and-glassfish-on-a-beagleboard-xm-e">Permalink</a> 

	| <a href="http://live.julien.ponge.info/java-ee-6-and-glassfish-on-a-beagleboard-xm-e#comment">Leave a comment&nbsp;&nbsp;&raquo;</a>

</p>]]>
      </description>
      <posterous:author>
        <posterous:userImage>http://files.posterous.com/user_profile_pics/1254910/Screen_shot_2011-02-01_at_3.47.18_PM_reasonably_small.png</posterous:userImage>
        <posterous:profileUrl>http://posterous.com/users/hesW7ScPOPef8</posterous:profileUrl>
        <posterous:firstName>Julien</posterous:firstName>
        <posterous:lastName>Ponge</posterous:lastName>
        <posterous:nickName>jponge</posterous:nickName>
        <posterous:displayName>Julien Ponge</posterous:displayName>
      </posterous:author>
      <media:content type="image/png" height="612" width="612" url="http://getfile2.posterous.com/getfile/files.posterous.com/jponge/vqQJsk1cnO9ReOfhe1OnNQAag1snM3xt2B6lUI6oTw5qJc5e3F8vRTf8cIIX/beagleboard.png">
        <media:thumbnail height="500" width="500" url="http://getfile3.posterous.com/getfile/files.posterous.com/jponge/qyL0iZdOBNrhecUeI7wKm90LGN1fGgs35YiDNtcrS0Q5JLqHTRWGBe17UI7Z/beagleboard.png.scaled.500.jpg" />
      </media:content>
      <media:content type="image/jpeg" height="1936" width="2592" url="http://getfile8.posterous.com/getfile/files.posterous.com/jponge/VAHhRtyx2odwxgPROYHUwpIYhcAuRIGKJH062lv42YYpss9afpAVyu9u1SVx/beagleboard-xm.jpg">
        <media:thumbnail height="373" width="500" url="http://getfile9.posterous.com/getfile/files.posterous.com/jponge/75o6j6EaOINaqzKveNFjfosGKeMEV2MFvHVQwQYdMOCAprRnrEqINxfoxZV2/beagleboard-xm.jpg.scaled.500.jpg" />
      </media:content>
      <media:content type="image/png" height="894" width="1098" url="http://getfile4.posterous.com/getfile/files.posterous.com/jponge/PiBYjP6RhdSJUUQjHBbJj4O2K7krJNtUxExqbUfdKADOYv8AEQk0fjMyf5sn/wicket-1.png">
        <media:thumbnail height="407" width="500" url="http://getfile5.posterous.com/getfile/files.posterous.com/jponge/qrsu12IvXiAh8FUr3e6XV5nCwLSIRP9UPrCXvHKyiHlKkUY70EJTy1633YbA/wicket-1.png.scaled.500.jpg" />
      </media:content>
      <media:content type="image/png" height="894" width="1098" url="http://getfile1.posterous.com/getfile/files.posterous.com/jponge/qCjulQWBe1RJ39ga2qIeKoUAlm01CVN1UCzIWet78YNi1z1LJcteHjyEtiVD/wicket-2.png">
        <media:thumbnail height="407" width="500" url="http://getfile2.posterous.com/getfile/files.posterous.com/jponge/Iobw2TkPP7dncuKsiltK2gIlGAoVlAS9Got8ilvxcYYq6ExKGpMSr7HPTb6u/wicket-2.png.scaled.500.jpg" />
      </media:content>
    </item>
  </channel>
</rss>

