<?xml version="1.0" encoding="UTF-8"?>
<!-- Ceci est un fil rss. Ce fil devrait être lu à l'aide d'un lecteur RSS -->
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>iMeuble - Home</title>
    <atom:link type="application/rss+xml" href="http://www.imeuble.info/feed/atom.xml" rel="self"/>
    <description>La vie, et apr&#232;s ?</description>
    <link>http://www.imeuble.info/</link>
    <lastBuildDate>Fri, 18 Mar 2011 12:29:59 GMT</lastBuildDate>
    <item>
      <title>Wok Cooking</title>
      <dc:creator>Meuble</dc:creator>
      <category term="bouf"/>
      <category term="wok"/>
      <title>Wok Cooking</title>
<content type="html">
            &lt;p&gt;For St Paddy's night, you drink lots of Guinness and perhaps eat an Irish meal.&lt;/p&gt;

&lt;p&gt;But yesterday was an unusual St Paddy's night. Before going to drink some Gallia at &lt;a href=&quot;http://www.laplage-lecafe.com&quot;&gt;La Plage&lt;/a&gt;, we went to &lt;a href=&quot;http://www.qype.co.uk/place/84732-Wok-Cooking-Paris&quot;&gt;Wok Cooking&lt;/a&gt;. It's a asian restaurant where you choose every ingredient you want (and can fit in the bowl you have been given), you choose your sauce, and then a chef will cook all this in front of you in a wok. &lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;Wok Cooking&quot; src=&quot;http://imeuble.info/assets/2011/3/18/a_wok_1.jpg&quot; alt=&quot;My own bowl of wok&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This was good and very satiating (though a bit expensive), but more than that, seeing the chef cooking your meal is unusual and worth seeing.&lt;/p&gt;
          </content>      <pubDate>Fri Mar 18 11:46:00 UTC 2011</pubDate>
      <link href="http://www.imeuble.info/2011/3/18/wok-cooking" rel="alternate" type="text/html"/>
      <id>tag:www.imeuble.info,2011-03-18:144</id>
    </item>
    <item>
      <title>Concerts and photos</title>
      <dc:creator>Meuble</dc:creator>
      <category term="concert"/>
      <category term="photo"/>
      <title>Concerts and photos</title>
<content type="html">
            &lt;p&gt;So I got a brand new Canon 500D. Awesome. Now I have to practice and take photos. It seems so easy to press the shutter and have a beautiful image. But believe me, there are other things we may have to know before pretending to take some acceptable photos.&lt;/p&gt;

&lt;p&gt;I will post here some of mine. I sincerely hope that we will see improvements in some later posts...&lt;/p&gt;

&lt;p&gt;Here are 2 photos from a concert at Le Point Ephémère, in Paris. The first part was &lt;a href=&quot;http://transferband.com/&quot;&gt;Transfer&lt;/a&gt;, followed by the amazing &lt;a href=&quot;http://www.esbenandthewitch.co.uk/&quot;&gt;Esben and the witch&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://imeuble.info/assets/2011/2/24/micros.jpg&quot;&gt;&lt;img class=&quot;&quot; src=&quot;http://imeuble.info/assets/2011/2/24/micros_2.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Concert halls are very dark, with few very bright parts (under the spot lights). People on stage move constantly. As a noob, I don't know how to take a good photo in such bad conditions. I think I have to choose a very large aperture (to catch all the light available) and a very small exposure (to avoid fuzziness). But there must be something else because all my pictures are noisy in the dark parts.&lt;/p&gt;

&lt;p&gt;You can find more of my pictures of &lt;a href=&quot;http://www.flickr.com/photos/37641030@N06/sets/72157626130022954/&quot;&gt;Transfer&lt;/a&gt; and &lt;a href=&quot;http://www.flickr.com/photos/37641030@N06/sets/72157626004479293/&quot;&gt;Esben and the witch&lt;/a&gt; on my Flickr account.&lt;/p&gt;

&lt;p&gt;But if you really want some great concert photos, &lt;a href=&quot;http://www.photosconcerts.com/&quot;&gt;Robert Gil&lt;/a&gt; is your man. He took some of Esben, &lt;a href=&quot;http://www.photosconcerts.com/esben-and-the-witch-paris-point-ephemere-2011-02-21-4899&quot;&gt;check out this guy's work&lt;/a&gt;. I see him at every concert I go to and he's awesome.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://imeuble.info/assets/2011/2/24/lights.jpg&quot;&gt;&lt;img class=&quot;&quot; src=&quot;http://imeuble.info/assets/2011/2/24/lights_small.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
          </content>      <pubDate>Thu Feb 24 22:36:00 UTC 2011</pubDate>
      <link href="http://www.imeuble.info/2011/2/24/concerts-and-photos" rel="alternate" type="text/html"/>
      <id>tag:www.imeuble.info,2011-02-24:143</id>
    </item>
    <item>
      <title>RVM tips - Tell me my ruby version !</title>
      <dc:creator>Meuble</dc:creator>
      <category term="bash"/>
      <category term="ruby"/>
      <category term="rvm"/>
      <title>RVM tips - Tell me my ruby version !</title>
<content type="html">
            &lt;p&gt;Now that &lt;a href=&quot;http://weblog.rubyonrails.org/2010/8/29/rails-3-0-it-s-done&quot;&gt;Rails 3&lt;/a&gt; is out, I'm starting to use it on recent application. But I also have some work to do on older applications from time to time.&lt;/p&gt;

&lt;p&gt;The first annoying thing is that older applictions are built for &lt;code&gt;Ruby 1.8.6&lt;/code&gt; and &lt;code&gt;Rails 3&lt;/code&gt; works with &lt;code&gt;Ruby 1.9.2&lt;/code&gt;. The other thing is that the rails command is radicaly different from &lt;code&gt;Rails 2.3.8&lt;/code&gt; to &lt;code&gt;Rails 3&lt;/code&gt;. &lt;/p&gt;

&lt;p&gt;Using &lt;a href=&quot;http://rvm.beginrescueend.com/&quot;&gt;RVM&lt;/a&gt;, I'm able to easily switch from one Ruby version to another and from one gems configuration to another. And this depending on the shell I am on.&lt;/p&gt;

&lt;p&gt;The counterpart of this is that I'm very confused and never know on which configuration my shell is currently. So I needed a clear way to know it. It would be great if the prompt can tell it to me. Here is how to do that with bash :&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;bash&quot;&gt;# Copy this in ~/.bashrc
    __ruby_ps1 ()
    {
        local g=`ruby -v | cut -d' ' -f2`

        if [ -n &amp;quot;$1&amp;quot; ]; then
            printf &amp;quot;$1&amp;quot; &amp;quot;${g}&amp;quot;
        else
            printf &amp;quot;(%s)&amp;quot; &amp;quot;${g}&amp;quot;
        fi
    }

    export PS1='\u@\h$(__ruby_ps1):\w\$ '&lt;/code&gt;&lt;/pre&gt;
          </content>      <pubDate>Wed Oct 27 11:34:00 UTC 2010</pubDate>
      <link href="http://www.imeuble.info/2010/10/27/rvm-tips-prompt-me-my-ruby-version" rel="alternate" type="text/html"/>
      <id>tag:www.imeuble.info,2010-10-27:139</id>
    </item>
    <item>
      <title>OSDC.fr - Schedule</title>
      <dc:creator>Meuble</dc:creator>
      <category term="osdc"/>
      <category term="schedule"/>
      <title>OSDC.fr - Schedule</title>
<content type="html">
            &lt;p&gt;Samedi 9 et dimanche 10 octobre 2010 (dans 8h, en gros) si tiendrons la 2eme édition de &lt;a href=&quot;http://act.osdc.fr/osdc2010fr/&quot;&gt;l'OSDC.fr&lt;/a&gt; à la Villette.&lt;/p&gt;

&lt;p&gt;Afin de bien préparer mon week end, et en volant &lt;a href=&quot;http://sunfox.org/blog/2010/08/18/planning-de-concerts-en-ascii-pour-rock-en-seine/&quot;&gt;une idée originale&lt;/a&gt; de &lt;a href=&quot;http://sunfox.org/&quot;&gt;Sunny&lt;/a&gt;, j'ai identifié les présentation que je voulais suivre à grand renfort de monospace.&lt;/p&gt;

&lt;pre&gt;
1 caractère == 5 minutes
[A] : Agora
[N] : Classe Numérique
* : durée de la présentation
- : je serais à la présentation du dessus

Samedi matin : 
10h00 [A] Discour
**10H10
  10h10 [A] Presentation sponsors
  *****10h35
        10h40 [A] Nouveautés de la version 9 de PostgreSQL
        ********11h20
        --------
        10h40 [N] Listen and look at your PHP code‎
        ********11h20
                 11h25 [A] Introduction à Riak
                 ****11h45
                 11h25 [N] COMET, l'autre direction du web‎
                 ****11h45
                 ----
                  11h50 [A] Présentation de Gephi, logiciel de visualisation de graphes‎
                  ********12h30
                  --------
                  11h50 [N] Présentation de Symfony2
                  ********12h30

Samedi après midi :                
14h [A] Organisation du projet PostgreSQL‎
********14h40
--------
14h [N] Services web SOAP et REST avec symfony‎
********14h40
         14h45 [A] Wrangling Git: Advanced Tips and Tricks‎
         ********15h25
         --------
         14h45 [N] Plone 4, le CMS haut de gamme‎
         ****15h05
             15h05 [A] Comment déployer des démos Drupal, Plone ou OpenERP en 1 clic‎
             ****15h25
                  15h30 [N] Git::Repository: contrôler Git depuis Perl‎
                  ********16h10
                  15h30 [N] Choisir un outil CMS‎ 
                  ********16h10
                  --------
                              16h30 [A] ooc
                              ********17h10
                              --------
                              16h30 [N] Plack
                              ********17h10
                                       17h15 [A] NodeJS
                                       ********17h55
                                       --------
                                       17h15 [N] Le développement web avec Perl Dancer
                                       ********17h55


Dimanche matin :
10h00 [A] Accueil
**10h10
--
  10h10 [A] Présentation du langage Clojure‎
  ****10h30
  ----
  10H10 [N] Can we beat Perl hash table‎
  ****10h30
       10h35 [A] Hard-core bug reporting‎
       ****10h55
       10h35 [N] Spore, une spécification pour des clients ReST‎
       ****10h55
       ----
             11h05 [A] Tracing and profiling production code with SystemTap‎ 
             ********11h45
             11h05‎[N] Redis
             ********11H45
             --------
                      11H50 [A] Chef: cuisiner ses infrastructures‎
                      ********12h30
                      11h50 [N] Introduction à Smalltalk‎ 
                      ********12h30
                      --------

Dimanche après midi :
14h [A] Langage de programmation Go‎
********14h40
--------
14h [N] Web Development with Seaside‎
********14h40
         14h45 [A] Perl 6: there's some madness to the method after all‎
         ********15H25
         --------
         14h45 [N] Développement dynamique avec Pharo‎
         ********15h25
                  15h30 [A] Perl 6 Signatures: The Full Story‎
                  ********16h10
                  15h30 [N] Programmer des robots et des systèmes embarqués avec Smalltalk‎
                  ********16h10
                  --------
                             16h25 [A] Taking Rakudo Forwards: What I'm Hacking On‎ 
                             ********17h05
                             16h25‎[N] L'animation web en demo‎ 
                             ********17h05
                             --------
                                      17h10 [A] Présentations éclairs‎
                                      ********17h50
                                      --------
                                      17h50 [N] Discours de clôture‎
                                      **18h00
                                      --
&lt;/pre&gt;
          </content>      <pubDate>Sat Oct 09 00:57:00 UTC 2010</pubDate>
      <link href="http://www.imeuble.info/2010/10/9/osdc-fr-schedule" rel="alternate" type="text/html"/>
      <id>tag:www.imeuble.info,2010-10-09:136</id>
    </item>
    <item>
      <title>Thermomix</title>
      <dc:creator>Meuble</dc:creator>
      <category term="bouf"/>
      <category term="miam"/>
      <category term="thermomix"/>
      <title>Thermomix</title>
<content type="html">
            &lt;p&gt;Pour moi le Thermomix était un robot de cuisine des année 80 pour réduire en bouilli n'importe quel aliment. Un peu comme le Blender, sauf que le Blender, lui broie aussi des iPhones et des lingots d'or.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://imeuble.info/assets/2010/8/4/IMG_0977_2.jpg&quot;&gt;&lt;img src=&quot;http://imeuble.info/assets/2010/8/4/IMG_0977_3.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;En fait le Thermomix est maintenant un formidable outil de cuisine à tout faire. La preuve en est, ce plat préparé par ma nouvellement belle-soeur, Claire. Pâtes, haché de légumes vapeurs et coulis de tomates. Le tout fait au Thermomix. Mais à quoi servent les casseroles ?&lt;/p&gt;

&lt;p&gt;Et en plus c'est bon.&lt;/p&gt;
          </content>      <pubDate>Thu Aug 05 00:00:00 UTC 2010</pubDate>
      <link href="http://www.imeuble.info/2010/8/5/thermomix" rel="alternate" type="text/html"/>
      <id>tag:www.imeuble.info,2010-08-05:132</id>
    </item>
    <item>
      <title>La montagne, &#231;a vous gagne.</title>
      <dc:creator>Meuble</dc:creator>
      <category term="alpinisme"/>
      <category term="auiguille"/>
      <category term="montagne"/>
      <title>La montagne, &#231;a vous gagne.</title>
<content type="html">
            &lt;p&gt;En septembre dernier, j'avais déjà fait une tentative. Concours de circonstances professionnelles et privée, des nuits blanches ou presque, je n'étais pas en forme. Et puis la course était plus dure. J'avais eu du mal à aller jusqu'à &lt;a href=&quot;http://www.refuge-adele-planchard.fr&quot;&gt;Adèle Planchard&lt;/a&gt;, et la glace bleue de fin de saison m'avait effrayé.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://imeuble.info/assets/2010/7/6/34516_441946157999_785637999_5894341_2310335_n.jpg&quot;&gt;&lt;img class=&quot;&quot; src=&quot;http://imeuble.info/assets/2010/7/6/34516_441946157999_785637999_5894341_2310335_n_2.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Cette fois ci ce fut différent. Bien préparé, bien en forme, en début de saison. C'est plus simple il y a plus de neige. Alors j'y suis arrivée, au sommet, en haut de l'Aiguille du Tour.&lt;/p&gt;

&lt;p&gt;D'abord au refuge Albert 1er, bien plus accueillant qu'Adèle, pour y passer la nuit. Puis, le ledemain, au col supérieur du Tour après une belle pente en neige. Enfin l'escalade vertigineuse du pic.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://imeuble.info/assets/2010/7/6/35804_441946452999_785637999_5894369_7934543_n.jpg&quot;&gt;&lt;img class=&quot;&quot; src=&quot;http://imeuble.info/assets/2010/7/6/35804_441946452999_785637999_5894369_7934543_n_2.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Pour les curieux, il y a des photos pour &lt;a href=&quot;http://photos.imeuble.info/main.php?g2_itemId=939&quot;&gt;ceux qui ont une vie privée&lt;/a&gt; et &lt;a href=&quot;http://www.facebook.com/album.php?aid=226483&amp;amp;amp;id=785637999&amp;amp;amp;l=df800505d7&quot;&gt;ceux qui n'en n'ont pas&lt;/a&gt;.&lt;/p&gt;
          </content>      <pubDate>Tue Jul 06 21:50:00 UTC 2010</pubDate>
      <link href="http://www.imeuble.info/2010/7/6/la-montagne-a-vous-gagne" rel="alternate" type="text/html"/>
      <id>tag:www.imeuble.info,2010-07-06:131</id>
    </item>
    <item>
      <title>Building a streaming mp3 player</title>
      <dc:creator>Meuble</dc:creator>
      <category term="actionscript"/>
      <category term="code"/>
      <category term="flash"/>
      <category term="mtasc"/>
      <category term="sound"/>
      <title>Building a streaming mp3 player</title>
<content type="html">
            &lt;p&gt;I wanted to write a post on an open source old initiative to build Flash application without any Adobe stuff : &lt;a href=&quot;http://www.mtasc.org/&quot;&gt;mtasc&lt;/a&gt;. This is for later.&lt;/p&gt;

&lt;p&gt;For a &lt;a href=&quot;http://apps.facebook.com/radio-france&quot;&gt;professionnal project&lt;/a&gt;, I had to make a mp3 streaming player for some famous french radios. And &lt;a href=&quot;http://imeuble.info/assets/2009/12/11/fbjs_prez.pdf&quot;&gt;remember&lt;/a&gt; I hate Flash.&lt;/p&gt;

&lt;p&gt;I was tempted to try it with Javascript, you know, with something like :&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;javascript&quot;&gt;&amp;lt;script&amp;gt;
function EvalSound(soundobj) {
  var thissound=document.getElementById(soundobj);
  thissound.Play();
}
&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And then :&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;html&quot;&gt;&amp;lt;embed src=&amp;quot;success.wav&amp;quot; autostart=false width=0 height=0 id=&amp;quot;sound1&amp;quot; enablejavascript=&amp;quot;true&amp;quot; /&amp;gt;
    &amp;lt;form&amp;gt;
        &amp;lt;input type=&amp;quot;button&amp;quot; value=&amp;quot;Play Sound&amp;quot; onClick=&amp;quot;EvalSound('sound1')&amp;quot;&amp;gt;
    &amp;lt;/form&amp;gt;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;But even if I wasn't sure that stremed mp3 (you know, endless files) were compatible with this, some Facebook specific required features prevent me to go further. I had to use Flash.&lt;/p&gt;

&lt;p&gt;Since I don't have any licence for using Flash IDE, I've found &lt;a href=&quot;http://www.mtasc.org/&quot;&gt;mtasc&lt;/a&gt;. And started to code the player with actionscript 2. The code to load and play a sound is pretty simple :&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;javascript&quot;&gt;public class SoundPlayer {

    private var _sound:Sound;
    private var _soundUrl:String;

    public var isPlaying:Boolean = false;
    public var isLoaded:Boolean = false;

    public function SoundPlayer(soundUrl) {
        _soundUrl = soundUrl;
    }

    public function preLoadSound():Void {
        this._sound = new Sound();
        this._sound.loadSound(_soundUrl, true);
    }

    public function play():Void {
    if (!this.isLoaded) {
        this.preLoadSound();
    }

    if (!this.isPlaying) {
        this._sound.start(0, 1);
    }

        this.isPlaying = true;
    }

    public function stop():Void {
        this._sound.stop();
        this.isPlaying = false;
        this.isLoaded = false;
    }
}&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And this was good. We went to test it on various computer configurations and it apear that some plugins on Internet Explorer 7 and 8 where causing the browser to freeze and relaunch. We identified this list of plugins, but I'm sure there is some others: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;WsftpBrowserHelper Class&lt;/li&gt;
&lt;li&gt;RealPLayer Downloader and record&lt;/li&gt;
&lt;li&gt;AcrolEHlprObj Class&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;At first, I thought it was mtasc that didn't compile properly the Sound object, but I tried to compile it with the Flash IDE under the latest Flash versions (&gt; 10) and that didn't resolve the bug.&lt;/p&gt;

&lt;p&gt;The answer was to translate the code from ActionScript 2 to ActionScript 3. ActionScript 3 add a new Sound class and Event listener to control it. The code in ActionScript 3 is something like: &lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;javascript&quot;&gt;package streamPlayer {

    import flash.media.Sound;
    import flash.media.SoundChannel;
    import flash.media.SoundTransform;
    import flash.media.SoundLoaderContext;
    import flash.net.URLRequest;

    public class SoundPlayer {
        private var _sound:Sound;
        private var _channel:SoundChannel;
        private var _soundUrl:String;

        public var isPlaying:Boolean = false;
        public var isLoaded:Boolean = false;

        public function SoundPlayer(soundUrl) {
            _soundUrl = soundUrl;
        }

        public function preLoadSound() {
            this._sound = new Sound();
            var req:URLRequest = new URLRequest(_soundUrl);
            var context:SoundLoaderContext = new SoundLoaderContext(100, true);
            this._sound.load(req, context);
        }

        public function play() {
        if (!this.isLoaded) {
            this.preLoadSound();
        }

        if (!this.isPlaying) {
            this._channel = this._sound.play();
        }

            this.isPlaying = true;
        }

        public function stop() {
            var transform:SoundTransform = this._channel.soundTransform;
            transform.volume = 0;
            this._channel.soundTransform = transform;
            this._sound.close();
            this.isPlaying = false;
            this.isLoaded = false;
        }
    }
}&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And it work perfectly well!&lt;/p&gt;
          </content>      <pubDate>Wed Feb 10 23:28:00 UTC 2010</pubDate>
      <link href="http://www.imeuble.info/2010/2/10/building-a-streaming-mp3-player" rel="alternate" type="text/html"/>
      <id>tag:www.imeuble.info,2010-02-10:121</id>
    </item>
    <item>
      <title>Timezone, one of the developer's plagues</title>
      <dc:creator>Meuble</dc:creator>
      <category term="date"/>
      <category term="rails"/>
      <category term="ruby"/>
      <category term="time"/>
      <category term="timezone"/>
      <title>Timezone, one of the developer's plagues</title>
<content type="html">
            &lt;p&gt;Timezones, along with charset and multi-browser support, are a pain in the ass to deal with.&lt;/p&gt;

&lt;p&gt;With rails, since 2.1, timezones are supported by default via the &lt;code&gt;config.time_zone&lt;/code&gt; option :&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;ruby&quot;&gt;# config/environment.rb
config.time_zone = ‘UTC’&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;You can configure it to something else like : &lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;ruby&quot;&gt;# config/environment.rb
config.time_zone = 'Paris'&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Or in the controller, per user basis : &lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;ruby&quot;&gt;# controllers/application.rb
before_filter :set_time_zone

def set_time_zone
    Time.zone = @current_user.time_zone if @current_user
end&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;With all this, rails and active record handle timezones for you. But be very careful when building SQL queries by hand. &lt;/p&gt;

&lt;p&gt;ActiveRecord converts dates to UTC timezone before saving them to the database, and convert them back to the current timezone when you load the record from the database. And this can lead to something strange when doing queries like: &lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;ruby&quot;&gt;User.all(:conditions =&amp;gt; [&amp;quot;created_at &amp;gt; ?&amp;quot;, Date.today.at_beginning_of_day])&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;ActiveRecord converts date, but only when saving or loading records. But you can deal with it if you don't forget timezones:&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;ruby&quot;&gt;User.all(:conditions =&amp;gt; [&amp;quot;created_at &amp;gt; ?&amp;quot;, Time.zone.now.at_beginning_of_day])&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Something strange is that Rails adds timezone support to the Time class, but not to the date calculations: &lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;ruby&quot;&gt;&amp;gt;&amp;gt; Time.zone = 'Paris'
&amp;gt;&amp;gt; Date.today.to_s(:db)
=&amp;gt; &amp;quot;2010-02-05&amp;quot;
&amp;gt;&amp;gt; Time.now.to_s(:db)
=&amp;gt; &amp;quot;2010-02-05 00:07:49&amp;quot; # The same date everywhere
&amp;gt;&amp;gt; Time.zone.today.to_s(:db)
=&amp;gt; &amp;quot;2010-02-05&amp;quot;
&amp;gt;&amp;gt; Time.zone.now
=&amp;gt; Fri, 05 Feb 2010 00:06:13 CET +01:00 # All is right here&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Let's make some calculations :&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;ruby&quot;&gt;&amp;gt;&amp;gt; Time.zone.today.at_beginning_of_day.to_s(:db)
=&amp;gt; &amp;quot;2010-02-05 00:00:00&amp;quot; # Seems to be ok, but
&amp;gt;&amp;gt; Time.zone.now.at_beginning_of_day.to_s(:db)
=&amp;gt; &amp;quot;2010-02-04 23:00:00&amp;quot; # Woot ! the database is still yesterday !&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Something you can do if you absolutely need to use Time.today (something stolen from &lt;a href=&quot;http://bjhess.com/blog/2009/01/19/rails-date-calculations-could-stand-some-timezone-love/&quot;&gt;Barry Hess&lt;/a&gt;):&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;ruby&quot;&gt;class ::Date
  def beginning_of_day_in_zone
    Time.zone.parse(self.to_s)
  end
  alias_method :at_beginning_of_day_in_zone, :beginning_of_day_in_zone
  alias_method :midnight_in_zone, :beginning_of_day_in_zone
  alias_method :at_midnight_in_zone, :beginning_of_day_in_zone

  def end_of_day_in_zone
    Time.zone.parse((self+1).to_s) – 1
  end
end&lt;/code&gt;&lt;/pre&gt;
          </content>      <pubDate>Thu Feb 04 23:19:00 UTC 2010</pubDate>
      <link href="http://www.imeuble.info/2010/2/4/timezone-one-of-the-developer-s-plagues" rel="alternate" type="text/html"/>
      <id>tag:www.imeuble.info,2010-02-04:120</id>
    </item>
    <item>
      <title>Facebook Developer Garage - LeWeb09 edition</title>
      <dc:creator>Meuble</dc:creator>
      <category term="facebook"/>
      <category term="presentation"/>
      <category term="sociabliz"/>
      <category term="yaps"/>
      <title>Facebook Developer Garage - LeWeb09 edition</title>
<content type="html">
            &lt;p&gt;Yesterday, tuesday december 10th, took place at &lt;a href=&quot;http://www.leweb.net/&quot;&gt;LeWeb09&lt;/a&gt; a &lt;a href=&quot;http://www.facebook.com/event.php?eid=350205870642&quot;&gt;Facebook Developer Garage&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;It's an event where local Facebook Application and Facebook Connect developers join together and share on their works. This year, a team of Facebook representatives came from the US to meet local developers and answer specific questions. As a social marketing agency, &lt;a href=&quot;http://www.sociabliz.com&quot; title=&quot;Sociabliz - Social marketing agency - Facebook applications&quot;&gt;Sociabliz&lt;/a&gt; was naturaly there to share its experience of Facebook development.&lt;/p&gt;

&lt;p&gt;I gave a talk on &lt;a href=&quot;http://github.com/meuble/yaps&quot; title=&quot;YAPS - Facebook javascript Framework&quot;&gt;YAPS&lt;/a&gt; and &lt;a href=&quot;http://github.com/meuble/yapopup&quot; title=&quot;Yapopup - Facebook custom popups and dialogs&quot;&gt;other tools&lt;/a&gt; i've build to encourage Javascript based UI over Flash based UI in Facebook Application. You can find here the slides of &lt;a href=&quot;http://imeuble.info/assets/2009/12/11/fbjs_prez.pdf&quot; title=&quot;Deep into FBJS - Advanced JavaScript User Interface for Facebook Applications&quot;&gt;Deep into FBJS&lt;/a&gt;. All the event was also live on UStream so you can watch it at this url : &lt;a href=&quot;http://www.ustream.tv/recorded/2843545&quot; title=&quot;UStream - Facebook developer Garage&quot;&gt;http://www.ustream.tv/recorded/2843545&lt;/a&gt; (talks start around 0:50, mine is between 1:19 and 1:35).&lt;/p&gt;

&lt;p&gt;The live demo can be found on &lt;a href=&quot;http://apps.facebook.com/yaps_app/&quot; title=&quot;YAPS demo application on Facebook&quot;&gt;the yaps demo application&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I hate watching me again, I feel so stupid. My english seems so bad, I'm kind of ashamed. Speaking english in front of a hundred people was much harder than I expected. Finding the good words is sometimes painful. Anyway, the talk was good, everybody understood it or at least the slides where helpful.&lt;/p&gt;
          </content>      <pubDate>Fri Dec 11 10:45:00 UTC 2009</pubDate>
      <link href="http://www.imeuble.info/2009/12/11/facebook-developer-garage-le-web-edition" rel="alternate" type="text/html"/>
      <id>tag:www.imeuble.info,2009-12-11:118</id>
    </item>
    <item>
      <title>Berlin &amp; blockcamp</title>
      <dc:creator>Meuble</dc:creator>
      <category term="berlin"/>
      <category term="geek"/>
      <category term="infos"/>
      <category term="pr&#233;sentation"/>
      <category term="ruby"/>
      <category term="sociabliz"/>
      <title>Berlin &amp; blockcamp</title>
<content type="html">
            &lt;p&gt;Nan, y a pas de rapport. J'suis en retard, c'est tout.&lt;/p&gt;

&lt;h2&gt;Berlin&lt;/h2&gt;

&lt;p&gt;Le week end avant-dernier (20-23 novembre), Charlotte et moi sommes parti passer 4 jours à Berlin.&lt;/p&gt;

&lt;p&gt;En un mot : unwahrscheinlich !&lt;/p&gt;

&lt;p&gt;Bon, pour faire vite, façon carte postale, nous avons décollé de Paris à 6h30, pour atterrir à Berlin vers 8h. Ensuite, train vers le centre ville, visite de l'hôtel et dépôt des bagages, petit dèjeuner à Hackesher Markt, traversée de l'île des Musée, descente de Unter den Linden jusqu'à la porte de Brandebourg, visite du Bundestag et de sa coupole, admiration de la Hauptbahnhof, petite bière au café de la Hamburger Bahnhof et visite de celui ci (musée d'art contemporain). Pour le soir nous avons rejoins &lt;a href=&quot;http://manu.manusauvage.com/&quot;&gt;Manu&lt;/a&gt; accompagné de &lt;a href=&quot;http://www.machezdanois.com/&quot;&gt;kiddik&lt;/a&gt; et de Johnathan (venus de Copenhague) pour aller manger des raviolis russes dans un resto bulgare, puis pour aller boire un coup non pas au huit millimètre, mais dans un autre bar, typé ancienne Allemagne de l'est.    &lt;/p&gt;

&lt;p&gt;Le lendemain, levé assez tard pour aller manger des currywurst, voir Checkpoint Charlie, sortir en courant du musée du même nom, vagabonder du coté d'un morceau de mur puis entre les tours de Potsdamer Platz, admirer le chapiteaux du Sony Center et les pub géante d'Intel et Microsoft, et enfin aller boir une bière avec le même &lt;a href=&quot;http://manu.manusauvage.com/&quot;&gt;Manu&lt;/a&gt; dans un bar pas pour touristes dans les tréfonds de Rosenthaler Strasse. Ensuite après une tentative raté de resto, nous avons mangé italien sur la même rue et bu dans un bar à la serveuse sympathique.    &lt;/p&gt;

&lt;p&gt;Le dimanche, levé plus tôt, nous avons entrepris une journée musées, avec l'ancienne galerie nationnalle, la nouvelle galerie nationnalle et la pinacothèque. Nous avons loupé de peu Bill Kaulitz pour la première d'Arthur und die Minimoys, pour aller manger dans un White Trash Fast Food à la carte hilarante et boire des tequila sunrise et des gin tonic dans le même bar que la veille.   &lt;/p&gt;

&lt;p&gt;Enfin, le dernier jour, après une visite d'un squatte artistique sur Orianenburger Strasse, nous sommes allés jusqu'à Bellevue et traversé le Tiergarten (en passant par la colonne de la victoire) pour rejoindre Potsdamer Platz. Enfin il a fallu prendre le train pour l'aéroport, non sans encombres du à des travaux et des changements de ligne en teuton. L'atterrissage à Orly fut un peu mouvementé pour cause de météo défavorable et le pilote s'y est pris à deux fois pour poser l'appareil sans dégât.&lt;/p&gt;

&lt;p&gt;Pour les photos, &lt;a href=&quot;http://www.facebook.com/album.php?aid=161784&amp;amp;amp;id=785637999&quot;&gt;c'est sur facebook&lt;/a&gt;, avec les commentaires, &lt;a href=&quot;http://photos.imeuble.info/main.php?g2_itemId=639&quot;&gt;ou sur imeuble&lt;/a&gt;, sans rien.&lt;/p&gt;

&lt;h2&gt;Blockcamp&lt;/h2&gt;

&lt;p&gt;Rien à voir, puisqu'il s'agit ici d'un série de mini conférences portant sur Ruby et sur Smaltalk.&lt;/p&gt;

&lt;p&gt;Samedi dernier (28 novembre), cet événement a réuni à l'&lt;a href=&quot;http://insia.org&quot;&gt;Insia&lt;/a&gt; des gens de ces deux mondes. J'y ai rencontré &lt;a href=&quot;http://wtf.cyprio.net&quot;&gt;oz&lt;/a&gt;, Jean, Renaud, Ol, Damien et d'autres habitués comme Jean Francois (merci à lui pour l'organisation) et Shingara.&lt;/p&gt;

&lt;p&gt;J'y ai parlé de ruby et de temps réel. L'effet démo de ce sujet que je ne maîtrisais pas n'a pas manqué : impossible de connecter un vidéo projecteur et la carte Arduino ne répondait pas aux signaux d'upload... Malgré cela, les discussions qui s'en sont suivis ont été très intéressantes. Pour ceux qui veulent, &lt;a href=&quot;http://imeuble.info/assets/2009/11/30/blockcamp.pdf&quot;&gt;les slides sont là&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Dans la journée, j'ai pu assister à une démo de l'étrange Seaside et de ses copains Magrite et Pier, ainsi qu'à eux présentation d'Ol sur MacRuby et Chef. Je regrette un peu de ne pas m'être plus intéressé au Smalltalk.&lt;/p&gt;

&lt;p&gt;Il est à noter que c'était le premier événement que &lt;a href=&quot;http://www.sociabliz.com&quot;&gt;Sociabliz&lt;/a&gt; sponsorisait. J'espère que ce ne sera pas le dernier.&lt;/p&gt;

&lt;p&gt;Un ami venu du Luxembourg a assisté à une partie des conférences et nous nous sommes rejoint ensuite pour aller manger grec à Cluny et écouter les &lt;a href=&quot;http://www.facebook.com/becsbienzen&quot;&gt;Bec Bien zen&lt;/a&gt; à la péniche Bateau El-Alamein.&lt;/p&gt;
          </content>      <pubDate>Mon Nov 30 23:46:00 UTC 2009</pubDate>
      <link href="http://www.imeuble.info/2009/11/30/berlin-blockcamp" rel="alternate" type="text/html"/>
      <id>tag:www.imeuble.info,2009-11-30:117</id>
    </item>
    <item>
      <title>Away we go to tag</title>
      <dc:creator>Meuble</dc:creator>
      <category term="film"/>
      <category term="love"/>
      <title>Away we go to tag</title>
<content type="html">
            &lt;p&gt;We went to see &lt;a href=&quot;http://www.imdb.com/title/tt1176740/&quot;&gt;Away We Go&lt;/a&gt;. It was a good movie. Showing the joy and the sadness to be a familly, to have kids, to be in love with somebody. And the soundtrack is huge!&lt;/p&gt;

&lt;p&gt;On our way home, we met Nicolas. &lt;/p&gt;

&lt;p&gt;Nicolas is in love with Elsa. Elsa comes back from Lyon tomorrow, and tomorrow, Nicolas wants to be sure Elsa knows about his feelings for her. So we found him painting the wall in front of her window. And we helped him complete his work by putting stickers in the shape of letters.&lt;/p&gt;

&lt;p&gt;Look at our first tag! Our first work of art! &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://imeuble.info/assets/2009/11/16/IMG_0140.JPG&quot;&gt;&lt;img src=&quot;http://imeuble.info/assets/2009/11/16/IMG_0140_4.JPG&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
          </content>      <pubDate>Mon Nov 16 23:42:00 UTC 2009</pubDate>
      <link href="http://www.imeuble.info/2009/11/16/away-we-go-to-tag" rel="alternate" type="text/html"/>
      <id>tag:www.imeuble.info,2009-11-16:112</id>
    </item>
    <item>
      <title>Drunk (almost)</title>
      <dc:creator>Meuble</dc:creator>
      <category term="highlander"/>
      <category term="party"/>
      <title>Drunk (almost)</title>
<content type="html">
            &lt;p&gt;&lt;a href=&quot;http://imeuble.info/assets/2009/11/9/IMG_0049.jpg&quot;&gt;&lt;img class=&quot;il&quot; src=&quot;http://imeuble.info/assets/2009/11/9/IMG_0049_2.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;D'abord, on va là.&lt;/p&gt;

&lt;p&gt;Ensuite, on boit. Du cidre, parce que la calédonian et la guinness c'est pas bon. Il y a là quelques potes, un pote d'un pote, une petite copine. Et du cidre, encore. Tout le monde n'est pas venu, la fête sera plus folle encore. On sort, on mange on va dans un autre bar, on revient.&lt;br /&gt;
On se moque d'une fille, elle me demande de la retrouver sur Facebook. Charmant, mais non, merci. En d'autres circonstances peut être. &lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://imeuble.info/assets/2009/11/9/IMG_0050.jpg&quot;&gt;&lt;img class=&quot;ir&quot; src=&quot;http://imeuble.info/assets/2009/11/9/IMG_0050_2.jpg&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;On rentre, on se dit que dans 3h, on ouvre l'Apple Store. On voit ça et on prend un vélo.&lt;/p&gt;

&lt;p&gt;Dodo.&lt;/p&gt;

&lt;p&gt;Et on loupe l'ouverture de l'Apple Store. C'est pas grave il y avait trop de monde.&lt;/p&gt;
          </content>      <pubDate>Mon Nov 09 13:23:00 UTC 2009</pubDate>
      <link href="http://www.imeuble.info/2009/11/9/drunk-almost" rel="alternate" type="text/html"/>
      <id>tag:www.imeuble.info,2009-11-09:109</id>
    </item>
    <item>
      <title>Custom facebook ajax will_paginate renderer</title>
      <dc:creator>Meuble</dc:creator>
      <category term="ajax"/>
      <category term="custom"/>
      <category term="facebook"/>
      <category term="fbml"/>
      <category term="renderer"/>
      <category term="will_paginate"/>
      <title>Custom facebook ajax will_paginate renderer</title>
<content type="html">
            &lt;p&gt;&lt;a href=&quot;http://github.com/mislav/will_paginate&quot;&gt;will_paginate&lt;/a&gt; is one of the most used rails plugin. It take care of pagination of a large collectoon of item, automatically limiting records to display. It also display a pagination bar, with next, previous and numbered pages. &lt;/p&gt;

&lt;p&gt;The fact is that by default, links are just normal link to relative path. It what you want most of the time. Some times you want some AJAX. There is &lt;a href=&quot;http://weblog.redlinesoftware.com/2008/1/30/willpaginate-and-remote-links&quot;&gt;many&lt;/a&gt; &lt;a href=&quot;http://www.botvector.net/2008/08/willpaginate-on-ajax.html&quot;&gt;different&lt;/a&gt; &lt;a href=&quot;http://www.google.com/search?hl=fr&amp;amp;amp;client=safari&amp;amp;amp;rls=en&amp;amp;amp;q=will_paginate+ajax+renderer&amp;amp;amp;btnG=Rechercher&amp;amp;amp;lr=&amp;amp;amp;aq=f&amp;amp;amp;oq=&quot;&gt;way&lt;/a&gt; to do it. But some times, you want some AJAX in a Facebook Application...&lt;/p&gt;

&lt;p&gt;Here is how I do it.&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;ruby&quot;&gt;# In RAILS_ROOT/app/helpers/remote_link_renderer.rb
class RemoteLinkRenderer &amp;lt; WillPaginate::LinkRenderer
  def prepare(collection, options, template)
    @remote = options.delete(:remote) || {}
    super
    @options[:params].is_a?(Hash) ? @options[:params].merge({:only_path =&amp;gt; false, :canvas =&amp;gt; false}) : @options[:params] = {:only_path =&amp;gt; false, :canvas =&amp;gt; false}
  end

protected
  def page_link(page, text, attributes = {})
    @template.link_to(text, &amp;quot;#&amp;quot;, :onclick =&amp;gt; &amp;quot;#{@remote[:method_name]}({url: '#{url_for(page)}', container: '#{@remote[:container]}', parameters: { type: '#{@remote[:type]}' }}); return false;&amp;quot;)
  end
end&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;will_paginate allow us to use different renderer in order to customize our pagination. I've build one here. The &lt;code&gt;prepare&lt;/code&gt; method is called by will_paginate to let us initialize our renderer before rendering anything. The main thing is to prepare &lt;code&gt;url_for&lt;/code&gt; to return absolute, non canvas url because the Facebook FBJS AJAX proxy doesn't allow anything else.&lt;/p&gt;

&lt;p&gt;In the &lt;code&gt;page_link&lt;/code&gt; method, we generate links displayed by will_paginate. We can't set the href attribute to the url because again, the Facebook FBJS AJAX proxy doesn't allow anything but &lt;code&gt;#&lt;/code&gt; here. And since in Profile Boxes and Tabs, we can't use onLoad event, we use onClick in order to call our AJAX builder. Parameters of that function are specific to my need, but it's just to show you that we can pass in variables and build a custom link.&lt;/p&gt;

&lt;p&gt;Here is a sample code showing the way to specify our renderer to will_paginate.&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;ruby&quot;&gt;# Somewhere in the view
&amp;lt;%= will_paginate users, :renderer =&amp;gt; 'RemoteLinkRenderer' , :remote =&amp;gt; {:method_name =&amp;gt; 'ajaxizer', :container =&amp;gt; container, :type =&amp;gt; type}, :previous_label =&amp;gt; &amp;quot;precedent&amp;quot;, :next_label =&amp;gt; &amp;quot;suivant&amp;quot; %&amp;gt;&lt;/code&gt;&lt;/pre&gt;
          </content>      <pubDate>Mon Nov 02 23:44:00 UTC 2009</pubDate>
      <link href="http://www.imeuble.info/2009/11/2/custom-facebook-ajax-will_paginate-renderer" rel="alternate" type="text/html"/>
      <id>tag:www.imeuble.info,2009-11-02:108</id>
    </item>
    <item>
      <title>Paris Carnet</title>
      <dc:creator>Meuble</dc:creator>
      <category term="blog"/>
      <category term="paris-carnet"/>
      <title>Paris Carnet</title>
<content type="html">
            &lt;p&gt;Hier soir, &lt;a href=&quot;http://kaorunokimi.kobay.org/&quot;&gt;Charlotte&lt;/a&gt; et moi sommes allé à notre premier &lt;a href=&quot;http://paris-carnet.org/&quot;&gt;paris-carnet&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Quel drôle d'événement que ce paris-carnet ! Il y a ce &lt;a href=&quot;http://www.lassassin.com/&quot;&gt;bar&lt;/a&gt;, où quelques blogueurs de Paris et d'ailleurs se rencontrent. Il y a ces blogueurs &lt;a href=&quot;http://386a.net/blog/&quot;&gt;célèbres&lt;/a&gt; et &lt;a href=&quot;http://www.le-dernier-bon-samaritain.fr/&quot;&gt;influents&lt;/a&gt;. Il y a nous au milieu, anonyme. Il y a &lt;a href=&quot;http://sunfox.org/&quot;&gt;quelques&lt;/a&gt; &lt;a href=&quot;http://melodye.canalblog.com/&quot;&gt;têtes&lt;/a&gt; connues. Il y a beaucoup de geeks, mais aussi des gens normaux. Il y a cette bière qui n'a pas le même goût parce qu'on parle. Il y a ces rencontres&lt;/p&gt;

&lt;p&gt;Et c'est pratique parce que c'est pas loin de chez nous. Peut-être qu'on y retournera.&lt;/p&gt;
          </content>      <pubDate>Thu Oct 08 13:51:00 UTC 2009</pubDate>
      <link href="http://www.imeuble.info/2009/10/8/paris-carnet" rel="alternate" type="text/html"/>
      <id>tag:www.imeuble.info,2009-10-08:105</id>
    </item>
    <item>
      <title>Stage Ruby/Rails</title>
      <dc:creator>Meuble</dc:creator>
      <category term="facebook"/>
      <category term="rails"/>
      <category term="ruby"/>
      <category term="sociabliz"/>
      <title>Stage Ruby/Rails</title>
<content type="html">
            &lt;p&gt;Allez, un peu de pub.&lt;/p&gt;

&lt;p&gt;Pour aller directement au but : nous cherchons un stagiaire pour du développement ruby (ruby on rails principalement) entre septembre 2009 et juillet / août 2010. &lt;/p&gt;

&lt;p&gt;Sociabliz est une jeune société de marketing spécialisée dans les réseaux sociaux (Facebook principalement, mais aussi MySpace, Twitter, ...) basée dans le centre de Paris. &lt;/p&gt;

&lt;p&gt;Nous avons plus de 3 ans d'expérience web et ruby et nous sommes maintenant riches d'une expérience d'un an dans le développement d'applications à forte composante sociale. &lt;/p&gt;

&lt;p&gt;Nous participons beaucoup aux événements sur le sujet dans les environs de Paris (tant du coté spectateur que du côté acteur) et sommes également actifs dans le domaine de l'open source pour partager nos connaissances. &lt;/p&gt;

&lt;p&gt;En terme de sujet de stage : il s'agira de rejoindre une équipe réduite, jeune et dynamique, pour participer au développement et à l'optimisation technique d'applications web. L'objectif est de proposer des applications évolutives et le plus intégrées possible à l'expérience Facebook habituelle. &lt;/p&gt;

&lt;p&gt;En parallèle de ce projet, quelques chantiers internes annexes seront à mettre en place (outils analytiques, ...). &lt;/p&gt;

&lt;p&gt;Les chantiers sont nombreux et le candidat sera amené rapidement à être responsable de certains d'entre eux de manière autonome (mais toujours accompagné par un référent en fonction du sujet). &lt;/p&gt;

&lt;p&gt;Tout cela en Ruby on Rails, dans des méthodes agiles et en TDD (test driven development). &lt;/p&gt;

&lt;p&gt;Une rémunération est prévue, variable suivant le profil du candidat. &lt;/p&gt;

&lt;p&gt;Vous pouvez nous contacter à : contact [chez] sociabliz [point] com.&lt;/p&gt;
          </content>      <pubDate>Mon Aug 03 18:06:00 UTC 2009</pubDate>
      <link href="http://www.imeuble.info/2009/8/3/stage-ruby-rails" rel="alternate" type="text/html"/>
      <id>tag:www.imeuble.info,2009-08-03:104</id>
    </item>
  </channel>
</rss>

