<?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:dc="http://purl.org/dc/elements/1.1/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
<channel>
  <title>The road to 42</title>
  <link>http://blog.ac-graphic.net/</link>
  
  <description />
  <language>en</language>
  <pubDate>Thu, 02 Jul 2009 12:27:27 +0200</pubDate>
  <copyright>http://creativecommons.org/licenses/by-nc-sa/2.0/be/</copyright>
  <docs>http://blogs.law.harvard.edu/tech/rss</docs>
  <generator>Dotclear</generator>
  
    
  <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/media-box/antoine" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
    <title>Depth of field</title>
    <link>http://blog.ac-graphic.net/post/Depth-of-field</link>
    <guid isPermaLink="false">urn:md5:0d95b05c69d491aefd8035bc60595189</guid>
    <pubDate>Wed, 15 Apr 2009 11:02:00 +0200</pubDate>
    <dc:creator>ancailliau</dc:creator>
        <category>computer graphics</category><category>java</category><category>ray tracing</category><category>raycasting</category><category>raytracing</category>    
    <description>&lt;p&gt;I was a bit frustrated that the depth-of-field was not so visible on the rendering of yesterday. So, here is an other rendering with an obvious depth of field.&lt;/p&gt;


&lt;p&gt;&lt;img src="http://blog.ac-graphic.net/public/dof.png" alt="dof.png" style="display:block; margin:0 auto;" title="dof.png, avr. 2009" /&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/media-box/antoine/~4/yesuyAWqo8g" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://blog.ac-graphic.net/post/Depth-of-field#comment-form</comments>
      <wfw:comment>http://blog.ac-graphic.net/post/Depth-of-field#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.ac-graphic.net/feed/atom/comments/58</wfw:commentRss>
      </item>
    
  <item>
    <title>Vim and the registers</title>
    <link>http://blog.ac-graphic.net/post/Vim-and-the-registers</link>
    <guid isPermaLink="false">urn:md5:541bf5eafa367e9548f51e02d5b52db4</guid>
    <pubDate>Tue, 14 Apr 2009 10:59:00 +0200</pubDate>
    <dc:creator>ancailliau</dc:creator>
        <category>tips</category><category>vi</category><category>vim</category>    
    <description>&lt;p&gt;I just discovered a really cool tips about the registers in Vim. First of all, everybody knows and use differents registers when he code with Vim. You can copy in this register using&lt;/p&gt;
&lt;pre&gt;
&amp;quot;ay
&lt;/pre&gt;

&lt;p&gt;where &lt;code&gt;a&lt;/code&gt; is the name of the register. You can cut and put the content in the register with&lt;/p&gt;
&lt;pre&gt;
&amp;quot;ad
&lt;/pre&gt;

&lt;p&gt;and paste it with&lt;/p&gt;
&lt;pre&gt;
&amp;quot;ap
&lt;/pre&gt;

&lt;p&gt;But one major drawback is that when you copy a new section to the register, the content is erased. To rearrange your code, it is not efficient at all. If you wan't to rearrange a text by appending section of text in the same register you can use an uppercase letter for the name of the register. So&lt;/p&gt;
&lt;pre&gt;
&amp;quot;Ad
&lt;/pre&gt;

&lt;p&gt;will cute the selected lines and append them to the register &lt;code&gt;a&lt;/code&gt;.&lt;/p&gt;


&lt;p&gt;For instance, let's consider the following text:&lt;/p&gt;
&lt;pre&gt;
line1
line3
line2
&lt;/pre&gt;

&lt;p&gt;You select the first line, and type &lt;code&gt;"ad&lt;/code&gt; (the register &lt;code&gt;a&lt;/code&gt; contains &lt;code&gt;line1&lt;/code&gt;. Now you select the third line (well, the second one since the first was deleted) and type &lt;code&gt;"Ad&lt;/code&gt; (the register contains &lt;code&gt;line1\nline2&lt;/code&gt;) and you can past it at the begining of the line using &lt;code&gt;"aP&lt;/code&gt;. Great, no?&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Edit&lt;/strong&gt; Sorry for the confusion between register and buffer&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/media-box/antoine/~4/v-mT1zRHrmA" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://blog.ac-graphic.net/post/Vim-and-the-registers#comment-form</comments>
      <wfw:comment>http://blog.ac-graphic.net/post/Vim-and-the-registers#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.ac-graphic.net/feed/atom/comments/57</wfw:commentRss>
      </item>
    
  <item>
    <title>Raytracing in Java, Take 2</title>
    <link>http://blog.ac-graphic.net/post/Raytracing-in-Java%2C-Take-2</link>
    <guid isPermaLink="false">urn:md5:c421cc0f45dd474e7d3e08900a635eda</guid>
    <pubDate>Tue, 14 Apr 2009 10:45:00 +0200</pubDate>
    <dc:creator>ancailliau</dc:creator>
        <category>java</category><category>ray tracing</category><category>raycasting</category><category>raytracing</category>    
    <description>&lt;p&gt;After two days of intensive rewriting of my raycasting engine, I'm quite proud of the results but this is definitly not the end, just a milestone in my development. The time to fix the documentation and the unit tests. I attached a rendering with 35 spheres, one light point, ambient occlusion and a camera with depth of field (this is not obvious on this rendering). I shoot 767 rays per pixels, so, in total 161 070 000 rays on this image (in ~17 minutes on a single-core 1.2Ghz laptop)&lt;/p&gt;


&lt;p&gt;&lt;img src="http://blog.ac-graphic.net/public/temp.png" alt="occlusionandlight" style="float:left; margin: 0 1em 1em 0;" title="occlusionandlight, avr. 2009" /&gt;&lt;/p&gt;


&lt;p&gt;My new code is heavily based on the excellent book &lt;em&gt;ray tracing from the ground up&lt;/em&gt; by K. Suffern. I also have plenty of cool stuff like fisheye camera. Next steps? Soft shadows and area lighting.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/media-box/antoine/~4/r0uT5uh4nFo" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://blog.ac-graphic.net/post/Raytracing-in-Java%2C-Take-2#comment-form</comments>
      <wfw:comment>http://blog.ac-graphic.net/post/Raytracing-in-Java%2C-Take-2#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.ac-graphic.net/feed/atom/comments/56</wfw:commentRss>
      </item>
    
  <item>
    <title>Raytracing and rasterization in Java</title>
    <link>http://blog.ac-graphic.net/post/Raytracing-and-rasterization-in-Java</link>
    <guid isPermaLink="false">urn:md5:ffc1df6f81a82d1189f00d7f31471abd</guid>
    <pubDate>Mon, 30 Mar 2009 13:36:00 +0200</pubDate>
    <dc:creator>ancailliau</dc:creator>
        <category>3D</category><category>computer graphics</category><category>java</category><category>rasterization</category><category>raycasting</category><category>raytracing</category><category>render</category>    
    <description>&lt;p&gt;In the past weeks, I you &lt;a href="http://twitter.com/ancailliau" hreflang="en"&gt;followed me on twitter&lt;/a&gt; you probably a lot of news about a teapot as well as rasterization and raytracing algorithms. It was one of my last project I had to do for my courses at university.&lt;/p&gt;


&lt;p&gt;It was a very interresting project, one of the project I enjoyed the most since 4 years. The fact you see or you can show something is also probably one of the major factor in this subjective opinion. Here are some rendering I achieved with the first release of the code (I continued to work on the code and the rendering is now a bit different and a lot faster)&lt;/p&gt;


&lt;p&gt;&lt;img src="http://blog.ac-graphic.net/public/rendering.png" alt="rendering.png" style="display:block; margin:0 auto;" title="rendering.png, mar. 2009" /&gt;&lt;/p&gt;


&lt;p&gt;I'll release my code as soon as my project is finished (so end of may or june) with the documentation and the unit tests. Obviously the code is not to use for any real rendering but can be, I think, a good entry point for anybody that wanna learn such algorithms.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/media-box/antoine/~4/oBtgtkajpIs" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://blog.ac-graphic.net/post/Raytracing-and-rasterization-in-Java#comment-form</comments>
      <wfw:comment>http://blog.ac-graphic.net/post/Raytracing-and-rasterization-in-Java#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.ac-graphic.net/feed/atom/comments/55</wfw:commentRss>
      </item>
    
  <item>
    <title>Java, when generic types are not given</title>
    <link>http://blog.ac-graphic.net/post/Java%2C-when-generic-types-are-not-given</link>
    <guid isPermaLink="false">urn:md5:d4d4add66e68ba64ee5125b06fbc1d44</guid>
    <pubDate>Thu, 12 Mar 2009 15:11:00 +0100</pubDate>
    <dc:creator>ancailliau</dc:creator>
        <category>generic type</category><category>java</category>    
    <description>&lt;p&gt;Why does Java ignore the String class parameter in the Test class if I do not give the generic type in the instanciation&amp;nbsp;!&lt;/p&gt;

&lt;pre class="java"&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;package&lt;/span&gt; misc&lt;span style="color: #66cc66;"&gt;;&lt;/span&gt;
&amp;nbsp;
&lt;span style="color: #a1a100;"&gt;import java.util.ArrayList;&lt;/span&gt;
&amp;nbsp;
&lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;class&lt;/span&gt; Dummy &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;
&amp;nbsp;
	&lt;span style="color: #000000; font-weight: bold;"&gt;private&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;static&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;class&lt;/span&gt; Test&lt;span style="color: #66cc66;"&gt;&amp;lt;&lt;/span&gt;E&lt;span style="color: #66cc66;"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;
		&lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; ArrayList&lt;span style="color: #66cc66;"&gt;&amp;lt;&lt;/span&gt;String&lt;span style="color: #66cc66;"&gt;&amp;gt;&lt;/span&gt; mylist&lt;span style="color: #66cc66;"&gt;;&lt;/span&gt;
	&lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
	&lt;span style="color: #000000; font-weight: bold;"&gt;private&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;static&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;class&lt;/span&gt; Test2 &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;
		&lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; ArrayList&lt;span style="color: #66cc66;"&gt;&amp;lt;&lt;/span&gt;String&lt;span style="color: #66cc66;"&gt;&amp;gt;&lt;/span&gt; mylist&lt;span style="color: #66cc66;"&gt;;&lt;/span&gt;
	&lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
	&lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;static&lt;/span&gt; &lt;span style="color: #993333;"&gt;void&lt;/span&gt; main&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #aaaadd; font-weight: bold;"&gt;String&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt; args&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;
&amp;nbsp;
		Test mytest = &lt;span style="color: #000000; font-weight: bold;"&gt;new&lt;/span&gt; Test&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;;&lt;/span&gt;
		&lt;span style="color: #b1b100;"&gt;for&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #aaaadd; font-weight: bold;"&gt;String&lt;/span&gt; str : mytest.&lt;span style="color: #006600;"&gt;mylist&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;
			&lt;span style="color: #aaaadd; font-weight: bold;"&gt;System&lt;/span&gt;.&lt;span style="color: #006600;"&gt;out&lt;/span&gt;.&lt;span style="color: #006600;"&gt;println&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;str&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;;&lt;/span&gt;
		&lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
		Test2 mytest2 = &lt;span style="color: #000000; font-weight: bold;"&gt;new&lt;/span&gt; Test2&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;;&lt;/span&gt;
		&lt;span style="color: #b1b100;"&gt;for&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #aaaadd; font-weight: bold;"&gt;String&lt;/span&gt; str : mytest2.&lt;span style="color: #006600;"&gt;mylist&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;
			&lt;span style="color: #aaaadd; font-weight: bold;"&gt;System&lt;/span&gt;.&lt;span style="color: #006600;"&gt;out&lt;/span&gt;.&lt;span style="color: #006600;"&gt;println&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;str&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;;&lt;/span&gt;
		&lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
	&lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;
&lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;


&lt;p&gt;The line that do not work is&lt;/p&gt;
&lt;pre class="java"&gt;&lt;span style="color: #b1b100;"&gt;for&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #aaaadd; font-weight: bold;"&gt;String&lt;/span&gt; str : mytest.&lt;span style="color: #006600;"&gt;mylist&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;and the error is&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Type mismatch: cannot convert from element type Object to String&lt;/p&gt;&lt;/blockquote&gt;&lt;img src="http://feeds.feedburner.com/~r/media-box/antoine/~4/MtapayhE6jY" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://blog.ac-graphic.net/post/Java%2C-when-generic-types-are-not-given#comment-form</comments>
      <wfw:comment>http://blog.ac-graphic.net/post/Java%2C-when-generic-types-are-not-given#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.ac-graphic.net/feed/atom/comments/54</wfw:commentRss>
      </item>
    
  <item>
    <title>Lenny is out</title>
    <link>http://blog.ac-graphic.net/post/Lenny-is-out</link>
    <guid isPermaLink="false">urn:md5:b0e57a528d2224c6cf28262141c69a82</guid>
    <pubDate>Sun, 15 Feb 2009 16:24:00 +0100</pubDate>
    <dc:creator>ancailliau</dc:creator>
            
    <description>&lt;p&gt;After 21 months, the next release of the &lt;a href="http://www.debian.org/News/2009/20090214" hreflang="en"&gt;stable version of Debian&lt;/a&gt; is out.&lt;/p&gt;


&lt;p&gt;&lt;img src="http://blog.ac-graphic.net/public/lenny.png" alt="lenny.png" style="display:block; margin:0 auto;" title="lenny.png, fév. 2009" /&gt;&lt;/p&gt;


&lt;p&gt;As a remainder, Lenny are the blue binoculars in toy story movies. The next stable release will be named as Squeeze&amp;nbsp;!&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/media-box/antoine/~4/S3NUA44baOY" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://blog.ac-graphic.net/post/Lenny-is-out#comment-form</comments>
      <wfw:comment>http://blog.ac-graphic.net/post/Lenny-is-out#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.ac-graphic.net/feed/atom/comments/51</wfw:commentRss>
      </item>
    
  <item>
    <title>Usability Design a course from KUL</title>
    <link>http://blog.ac-graphic.net/post/Usability-Design-a-course-from-KUL</link>
    <guid isPermaLink="false">urn:md5:0c33968614cf72cdc538dbe31b7f16c6</guid>
    <pubDate>Wed, 11 Feb 2009 10:48:00 +0100</pubDate>
    <dc:creator>ancailliau</dc:creator>
        <category>course</category><category>design</category><category>kul</category><category>usability</category>    
    <description>&lt;p&gt;Some months ago, while discussing with some girls from &lt;a href="http://www.u-sentric.com/" hreflang="en"&gt;U-sentric&lt;/a&gt;, I discovered some really interresting courses from the KUL: Usability design and Human-Computer Interactions. At first, I appeared to me as a huge administrative montain to climb on but UCL and KUL have some agreements that allow student from both univesity to follow courses in the other one without any administrative tasks.  Thanks to them I can follow those courses, one this year and one next year.&lt;/p&gt;    &lt;p&gt;I decided to follow the course about &lt;a href="http://www.kuleuven.ac.be/onderwijs/aanbod/syllabi/S0C78AE.htm" hreflang="en"&gt;Usability Design&lt;/a&gt; given by &lt;a href="http://www.linkedin.com/pub/4/369/881" hreflang="en"&gt;Bieke Zaman&lt;/a&gt; those four months. Yesterday, it was the introduction sessions and we got a brief but well motivated overview of the course. The only point that affraid me at first was the group work, but some nice people accepted my in their group. I think this will a great experience since they are coming from strategic communication and that I study software engineering, a good point to learn how communication department and developpers can work together.&lt;/p&gt;


&lt;p&gt;We will see a lot of practical thing in that course like:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Personas&lt;/li&gt;
&lt;li&gt;Workflow&lt;/li&gt;
&lt;li&gt;Wireframe&lt;/li&gt;
&lt;li&gt;Prototyping&lt;/li&gt;
&lt;li&gt;User testing (in real labs !)&lt;/li&gt;
&lt;li&gt;...&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The organisation of the course is very different to what I know. We only have 20 minutes of theoritical introduction (and we have to read a book) and the next hour and half, we work by group with the feedbacks of our teacher and project manager. Each group had to chose a project among cases like: kids game, RFID interactions, i-community, virtual bookshelf, etc. I do not know what project will be assigned to our groupe but all the cases allow the application of the method and so, the essence (or the really-interessting-part) of the course.&lt;/p&gt;


&lt;p&gt;That promise to be exciting. I hope that I will be smart enough to integrate what I learnt in my other projects or in opensource projects.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/media-box/antoine/~4/9WFmxLpqHpo" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://blog.ac-graphic.net/post/Usability-Design-a-course-from-KUL#comment-form</comments>
      <wfw:comment>http://blog.ac-graphic.net/post/Usability-Design-a-course-from-KUL#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.ac-graphic.net/feed/atom/comments/49</wfw:commentRss>
      </item>
    
  <item>
    <title>Pourquoi ce que dit Fred Cavazza est techniquement faux ?</title>
    <link>http://blog.ac-graphic.net/post/pourquoi-ce-que-dit-Fred-Cavazza-est-techniquement-faux</link>
    <guid isPermaLink="false">urn:md5:c6a626e818688a6f9e39a3ad341fc9bd</guid>
    <pubDate>Mon, 22 Dec 2008 15:28:00 +0100</pubDate>
    <dc:creator>ancailliau</dc:creator>
        <category>cavazza</category><category>google</category><category>nativeclient</category><category>technique</category>    
    <description>&lt;p&gt;Le billet &lt;a href="http://www.fredcavazza.net/2008/12/22/native-client-la-technologie-revolutionnaire-de-google-qui-risque-de-faire-long-feu/" hreflang="fr"&gt;Native Client, la technologie révolutionnaire de Google qui risque de faire long feu&lt;/a&gt; m'a fait sourire à sa lecture. Fred Cavazza vient de perdre, à mes yeux, tout crédibilité technique. Ce qu'il dit sur le marketing, les interfaces riches, etc. est peut-être correct mais dorénavant, techniquement, je relirai à deux fois. Le geek qui someille en moi vient de se réveiller.&lt;/p&gt;


&lt;p&gt;Si vous ne l'avez lu, je vous conseille de lire le billet avant de lire ma réponse. Ma réponse est probablement loin d'être complète et ne se veut pas nécessairement constructive.&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;Pour faire simple, Native Client est un… “truc” que vous installez sur votre ordinateur pour pouvoir exécuter au travers de votre navigateur des applications en ligne écrites en code natif (C ou C++).&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Pour mémoire, qu'est-ce qu'un &lt;a href="http://fr.wikipedia.org/wiki/Code_natif" hreflang="fr"&gt;code natif&lt;/a&gt;, soit ni du C, ni du C++. Ces langages étant des langages de haut niveau.&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;Quand vous consultez une interface riche en Flash, celle-ci repose sur du code qui est interprété par le plug-in, par le navigateur, par le système d’exploitation et finalement par le processeur (qui ne comprend que l’assembleur).&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Un processeur ne comprends pas l'assembleur mais bien le langage natif, résultat d'une conversion à partir de code assembleur. L'assembleur étant encore lisible par un être humain.&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;Si la promesse est belle (des performances sans commune mesure) et l’exploit technologie réel, il y a une contre-partie&amp;nbsp;: les applications en ligne doivent être développées en C ou C++. Pourquoi&amp;nbsp;? Parce que ce sont des langages de bas niveau qui sont très proches de l’assembleur (donc des 0 et 1 puisque le processeur ne comprend rien d’autre).&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;On remarquera que Fred Cavazza se contredit lui-même, preuve d'un manque de compréhension à ce niveau d'un ordinateur. (Edit: notons également que le C et le C++ ne sont pas des langages de bas niveau)&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;Le problème c’est que nous sommes maintenant en 2009, que  la ressource n’est plus un problème et que plus personne ne programme en C.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Cette phrase est tellement mythique qu'aucun commentaire ne peut l'accompagner. Les ressources informatiques restent un problème et risquent de le (re)devenir avec l'apparition des ordinateurs tels que EeePc, les smartphones, etc.&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;il permet aux éditeurs de ne développer qu’une seule version de leurs applications et de les distribuer via le web (en évitant les circuits de distribution classiques avec boîtes et DVD). Vous noterez au passage que cette solution n’a été rendu viable que depuis l’adoption d’une architecture commune (x86 sur processeur Intel) par les constructeurs et éditeurs de système d’exploitation (Microsoft / Windows, Apple / Mac OSX, Linux).&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;L'architecture commune facilite certes le portage d'applications mais ne permet toutefois pas de distribuer le même binaire à tout le monde (ou la même machine virtuelle dans le cas des langages interpretés).&lt;/p&gt;


&lt;p&gt;Dans la réponse, on trouve aussi&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Quand je dis que plus personne ne développe en C c’est une image. Bien évidement qu’il existe de nombreuses personnes qui connaissent le C, mais est-ce une réalité de marché&amp;nbsp;? Illustration&amp;nbsp;: je n’ai aucun mal à trouver un bon développeur PHP sur Paris à 750 € la journée (500€/j. au Maroc et 250$/j. en Inde), peut-on en dire autant des développeurs C&amp;nbsp;?&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Il était donc vrai que l'on mesure si le C est encore utilisé en regardant sur des sites d'emploi si l'on trouve un développeur à 750€ la journée. L'utilisation de cet argument tente de changer le "niveau" de la phrase. Techniquement, la phrase ne tiens pas, alors pourquoi ne pas la rattraper en retombant dans ce que l'on maitrise&amp;nbsp;? Même si l'on change le sens.&lt;/p&gt;


&lt;blockquote&gt;&lt;p&gt;De plus, il y a bien longtemps que la filière informatique ne forme plus les étudiants au C de façon intensive, c’est un langage qui est étudié dans les premières années mais les formations se concentrent sur des langages qui offrent un maximum de débouchés aux jeunes diplômés (Java, PHP…).&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Dans ce cas, je crois que je ne suis pas les mêmes cours que ceux des copains de Fred Cavazza.&lt;/p&gt;


&lt;p&gt;En conclusion, je dirais simplement, contentez-vous de parler de ce que vous connaissez...&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/media-box/antoine/~4/KKVXmG0a0xo" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://blog.ac-graphic.net/post/pourquoi-ce-que-dit-Fred-Cavazza-est-techniquement-faux#comment-form</comments>
      <wfw:comment>http://blog.ac-graphic.net/post/pourquoi-ce-que-dit-Fred-Cavazza-est-techniquement-faux#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.ac-graphic.net/feed/atom/comments/48</wfw:commentRss>
      </item>
    
  <item>
    <title>An interresting problem in Java</title>
    <link>http://blog.ac-graphic.net/post/An-interresting-problem-in-Java</link>
    <guid isPermaLink="false">urn:md5:a1d073d56ac3fb7fc736fa5fe8ad8304</guid>
    <pubDate>Tue, 02 Dec 2008 15:45:00 +0100</pubDate>
    <dc:creator>ancailliau</dc:creator>
        <category>java</category><category>oo</category><category>polymorphism</category><category>poo</category>    
    <description>&lt;p&gt;It looks like something unexpected, no&amp;nbsp;?&lt;/p&gt;

&lt;pre class="java"&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;class&lt;/span&gt; Main &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;
&amp;nbsp;
	&lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;static&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;class&lt;/span&gt; Top &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;
		&lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #993333;"&gt;void&lt;/span&gt; f&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #aaaadd; font-weight: bold;"&gt;Object&lt;/span&gt; o&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;
			&lt;span style="color: #aaaadd; font-weight: bold;"&gt;System&lt;/span&gt;.&lt;span style="color: #006600;"&gt;out&lt;/span&gt;.&lt;span style="color: #006600;"&gt;println&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;Top.f(Object)&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;;&lt;/span&gt;
		&lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;
	&lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
	&lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;static&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;class&lt;/span&gt; Middle &lt;span style="color: #000000; font-weight: bold;"&gt;extends&lt;/span&gt; Top &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;
		&lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #993333;"&gt;void&lt;/span&gt; f&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #aaaadd; font-weight: bold;"&gt;Object&lt;/span&gt; o&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;
			&lt;span style="color: #aaaadd; font-weight: bold;"&gt;System&lt;/span&gt;.&lt;span style="color: #006600;"&gt;out&lt;/span&gt;.&lt;span style="color: #006600;"&gt;println&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;Middle.f(Object)&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;;&lt;/span&gt;
		&lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;
		&lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #993333;"&gt;void&lt;/span&gt; f&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #aaaadd; font-weight: bold;"&gt;String&lt;/span&gt; s&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;
			&lt;span style="color: #aaaadd; font-weight: bold;"&gt;System&lt;/span&gt;.&lt;span style="color: #006600;"&gt;out&lt;/span&gt;.&lt;span style="color: #006600;"&gt;println&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;Middle.f(String)&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;;&lt;/span&gt;
		&lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;
	&lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;
&amp;nbsp;
	&lt;span style="color: #000000; font-weight: bold;"&gt;public&lt;/span&gt; &lt;span style="color: #000000; font-weight: bold;"&gt;static&lt;/span&gt; &lt;span style="color: #993333;"&gt;void&lt;/span&gt; main&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #aaaadd; font-weight: bold;"&gt;String&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#91;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#93;&lt;/span&gt; args&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #66cc66;"&gt;&amp;#123;&lt;/span&gt;
		Top top = &lt;span style="color: #000000; font-weight: bold;"&gt;new&lt;/span&gt; Middle&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;;&lt;/span&gt;
		top.&lt;span style="color: #006600;"&gt;f&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #000000; font-weight: bold;"&gt;new&lt;/span&gt; java.&lt;span style="color: #006600;"&gt;util&lt;/span&gt;.&lt;span style="color: #aaaadd; font-weight: bold;"&gt;Vector&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;;&lt;/span&gt;
		top.&lt;span style="color: #006600;"&gt;f&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #ff0000;"&gt;&amp;quot;hello&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;;&lt;/span&gt;
		top.&lt;span style="color: #006600;"&gt;f&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#40;&lt;/span&gt;&lt;span style="color: #aaaadd; font-weight: bold;"&gt;Object&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt; &lt;span style="color: #ff0000;"&gt;&amp;quot;bye&amp;quot;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;&amp;#41;&lt;/span&gt;&lt;span style="color: #66cc66;"&gt;;&lt;/span&gt;
	&lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;
&lt;span style="color: #66cc66;"&gt;&amp;#125;&lt;/span&gt;&lt;/pre&gt;

&lt;p&gt;And the result is&lt;/p&gt;
&lt;pre&gt;
Middle.f(Object)
Middle.f(Object)
Middle.f(Object)
&lt;/pre&gt;

&lt;p&gt;What I expected was&lt;/p&gt;
&lt;pre&gt;
Middle.f(Object)
Middle.f(String)
Middle.f(Object)
&lt;/pre&gt;


&lt;p&gt;Thanks to Fred and Erick for raising this issue in my mind! More information about the problem may found at &lt;a href="http://www.javaspecialists.co.za/archive/Issue009.html" hreflang="en"&gt;Javaspecialist&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/media-box/antoine/~4/Nfg-z4RVvxQ" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://blog.ac-graphic.net/post/An-interresting-problem-in-Java#comment-form</comments>
      <wfw:comment>http://blog.ac-graphic.net/post/An-interresting-problem-in-Java#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.ac-graphic.net/feed/atom/comments/47</wfw:commentRss>
      </item>
    
  <item>
    <title>Dotclear 2 : Créer et administrer son blog</title>
    <link>http://blog.ac-graphic.net/post/Dotclear-2-%3A-Cr%C3%A9er-et-administrer-son-blog</link>
    <guid isPermaLink="false">urn:md5:600b8ee8dd2e0c1c4d6c96e6efc0ed87</guid>
    <pubDate>Wed, 26 Nov 2008 09:43:00 +0100</pubDate>
    <dc:creator>ancailliau</dc:creator>
        <category>dotclear</category><category>eyrolles</category><category>livre</category>    
    <description>&lt;p&gt;C'est sans aucun doute avec une émotion semblable à celle eue lors de l'ouverture de mon premier ouvrage que j'ai ouvert le second. Je suis fier de vous présenter mon nouveau livre&amp;nbsp;: &lt;a href="http://books.maximux.be/dotclear2/" hreflang="fr"&gt;Dotclear 2&amp;nbsp;: Créer et administrer son blog&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;&lt;img src="http://blog.ac-graphic.net/public/9782212124071.jpg" alt="9782212124071.jpg" style="display:block; margin:0 auto;" title="9782212124071.jpg, nov. 2008" /&gt;&lt;/p&gt;


&lt;p&gt;Ce livre traite de Dotclear 2, passant par les diverses nouvelles fonctionnalités de ce dernier. Les étapes sont simples et facile à suivre, j'ai essayé d'être le plus pédagogique possible. Au sommaire&amp;nbsp;:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Dotclear, un moteur de blog convivial et efficace&lt;/li&gt;
&lt;li&gt;Installer Dotclear&lt;/li&gt;
&lt;li&gt;Ecrire et publier sur le web&lt;/li&gt;
&lt;li&gt;Interagir avec ses lecteurs&lt;/li&gt;
&lt;li&gt;Organiser son blog&lt;/li&gt;
&lt;li&gt;Illustrer son blog&lt;/li&gt;
&lt;li&gt;Administrer et configurer son blog&lt;/li&gt;
&lt;li&gt;Personnaliser son blog&lt;/li&gt;
&lt;li&gt;Promouvoir son blog&lt;/li&gt;
&lt;li&gt;Se protéger&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;N'hésitez pas à passer le mot et le &lt;a href="http://books.maximux.be/dotclear2/" hreflang="fr"&gt;lien&lt;/a&gt;.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/media-box/antoine/~4/AUe9lDh-0_E" height="1" width="1"/&gt;</description>
    
    
    
          <comments>http://blog.ac-graphic.net/post/Dotclear-2-%3A-Cr%C3%A9er-et-administrer-son-blog#comment-form</comments>
      <wfw:comment>http://blog.ac-graphic.net/post/Dotclear-2-%3A-Cr%C3%A9er-et-administrer-son-blog#comment-form</wfw:comment>
      <wfw:commentRss>http://blog.ac-graphic.net/feed/atom/comments/46</wfw:commentRss>
      </item>
    
</channel>
</rss>
