<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xmlns:planet="http://planet.intertwingly.net/" xmlns:indexing="urn:atom-extension:indexing" indexing:index="no"><access:restriction xmlns:access="http://www.bloglines.com/about/specs/fac-1.0" relationship="deny"/>
  <title>Planet Koalabs</title>
  <updated>2012-02-06T06:00:11Z</updated>
  <generator uri="http://intertwingly.net/code/venus/">Venus</generator>
  <author>
    <name>koalabs</name>
    <email>admins@koalas.org</email>
  </author>
  <id>http://koalabs.org/atom.xml</id>
  <link href="http://koalabs.org/atom.xml" rel="self" type="application/atom+xml"/>
  <link href="http://koalabs.org" rel="alternate"/>

  <entry xml:lang="en">
    <id>http://imhotep.koalabs.org/?p=143</id>
    <link href="http://imhotep.koalabs.org/?p=143" rel="alternate" type="text/html"/>
    <title>Android: clean &amp; uninstall &amp; package &amp; start app</title>
    <summary>In case you were wondering ant clean &amp;&amp; adb uninstall com.example &amp;&amp; ant debug install &amp;&amp; adb shell am start -a android.intent.action.MAIN -n com.example/.ExampleActivity add -d for a device or -e for emulator.</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>In case you were wondering</p>
<p><code>ant clean &amp;&amp; adb uninstall com.example &amp;&amp; ant debug install &amp;&amp; adb shell am start -a android.intent.action.MAIN -n com.example/.ExampleActivity</code></p>
<p>add <em>-d</em> for a device or <em>-e</em> for emulator.</p></div>
    </content>
    <updated>2012-02-02T00:17:23Z</updated>
    <category term="Uncategorized"/>
    <author>
      <name>imhotep</name>
    </author>
    <source>
      <id>http://imhotep.koalabs.org</id>
      <link href="http://imhotep.koalabs.org/?feed=rss2" rel="self" type="application/atom+xml"/>
      <link href="http://imhotep.koalabs.org" rel="alternate" type="text/html"/>
      <subtitle>FR-DZ geek in CA</subtitle>
      <title>imhotep's blog</title>
      <updated>2012-02-02T01:00:07Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://henry.precheur.org/web/atom_title.html</id>
    <link href="http://henry.precheur.org/web/atom_title.html" rel="alternate" type="text/html"/>
    <title>An unfortunate design decision in Atom</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><blockquote>
  <p><a href="http://tools.ietf.org/html/rfc4287" title="The Atom Syndication Format">Atom</a> is an XML-based document format that describes lists of related
  information known as "feeds"</p>
</blockquote>

<p>I use Atom for my Blog. Overall I’m pretty happy with it, the specification is
clear and complete. There’s no weird edge cases like with RSS.</p>

<p>I’m working on a virtual scratch pad/notebook. It’s a mix between a Blog &amp;
Twitter: Just text with links, and no artificial limitation like 140 characters.
I want it to be minimal, just text and links, no more.</p>

<p>Atom requires every entry of a feed to <a href="http://tools.ietf.org/html/rfc4287#section-4.1.2">have a title</a>:</p>

<blockquote>
  <p>atom:entry elements MUST contain exactly one atom:title element.</p>
</blockquote>

<p>That’s an unfortunate design choice: many things don’t have a title or a name.
We give title to images, essays, &amp; songs, but they don’t really need it,
it’s for our own convenience. Requiring everything to have a name can be
inconvenient. Every Email must have a subject, which reduces the value of <em>real</em>
subjects. Because instead of a relevant information we sometime get unhelpful
stuff like “Re”, “Re: mail”, or “Re: your mail”. If Emails that don’t need a
subject didn’t have one, Emails might be slightly easier to sort and search.</p>

<p>Another example: In Twitter’s Atom feed every entry contains the complete tweet
in the content element, and in the title element. This is misleading because
tweets don’t have titles, tweets are not titles.</p>

<p>Small decisions like that can have all short of unintended consequences. What
should I put as a title when there’s really no proper title? It will most likely
be a duplicate of information already present in the feed. Unfortunate, but I
can live with it.</p></div>
    </content>
    <updated>2012-01-11T08:00:00Z</updated>
    <source>
      <id>http://henry.precheur.org/</id>
      <author>
        <name>Henry Prêcheur</name>
        <email>henry@precheur.org</email>
        <uri>http://henry.precheur.org/</uri>
      </author>
      <link href="http://henry.precheur.org/feed.atom" rel="self" type="application/atom+xml"/>
      <link href="http://henry.precheur.org/" rel="alternate" type="text/html"/>
      <title>Henry’s Weblog</title>
      <updated>2012-01-11T08:00:00Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://henry.precheur.org/code/C%2C_an_old_friend.html</id>
    <link href="http://henry.precheur.org/code/C%2C_an_old_friend.html" rel="alternate" type="text/html"/>
    <title>C, old friend</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>I’ve abandoned all the things I once used and liked. My editor, operating
system, browser, database, API’s, &amp; development tools changed —often
multiple times— during the past 15 years.</p>

<p>I’ve left everything, except <a href="http://en.wikipedia.org/wiki/C_%28programming_language%29" title="Wikipedia">C</a>. C was the first programming language I learned
and wrote real programs in. I though I would move to another, better language
later. I didn’t realize at the time how beautiful C was.</p>

<p>After 15 years, C is still fun, it still challenges me, it still makes me happy.
The older I get, the more I love it.</p></div>
    </content>
    <updated>2011-12-05T08:00:00Z</updated>
    <source>
      <id>http://henry.precheur.org/</id>
      <author>
        <name>Henry Prêcheur</name>
        <email>henry@precheur.org</email>
        <uri>http://henry.precheur.org/</uri>
      </author>
      <link href="http://henry.precheur.org/feed.atom" rel="self" type="application/atom+xml"/>
      <link href="http://henry.precheur.org/" rel="alternate" type="text/html"/>
      <title>Henry’s Weblog</title>
      <updated>2012-01-11T08:00:00Z</updated>
    </source>
  </entry>

  <entry>
    <id>http://henry.precheur.org/code/C%2C_an_old_friend</id>
    <link href="http://henry.precheur.org/code/C%2C_an_old_friend" rel="alternate" type="text/html"/>
    <title>C, old friend</title>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>I've abandoned all the things I once used and liked. My editor, operating
system, browser, database, API's, &amp; development tools changed --often multiple
times-- during the past 15 years.</p>

<p>I've left everything, except <a href="http://en.wikipedia.org/wiki/C_%28programming_language%29">C</a>. C was the first programming language I learned
and wrote real programs in. I though I would move to another, better language
later. I didn't realize at the time how beautiful C was.</p>

<p>After 15 years, C is still fun, it still challenges me, it still makes me happy.
The older I get, the more I love it.</p></div>
    </content>
    <updated>2011-12-05T08:00:00Z</updated>
    <source>
      <id>http://henry.precheur.org/</id>
      <author>
        <name>Henry Precheur</name>
      </author>
      <link href="http://henry.precheur.org/feed.atom" rel="self" type="application/atom+xml"/>
      <link href="http://henry.precheur.org/" rel="alternate" type="text/html"/>
      <title>Henry’s Weblog</title>
      <updated>2011-12-05T08:00:00Z</updated>
    </source>
  </entry>

  <entry xml:lang="fr-FR">
    <id>http://tonio.ngyn.org/weblog/2011/11/23/la-magie-du-perl/</id>
    <link href="http://tonio.ngyn.org/weblog/2011/11/23/la-magie-du-perl/" rel="alternate" type="text/html"/>
    <title>La magie du perl ?</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Pour mon <a class="reference external" href="http://www.streamcore.com">employeur actuel</a>, je suis amené à écrire pas mal de code en <a class="reference external" href="http://www.perl.org/">Perl</a>. C'est un langage je j'apprécie moyennement, notamment pour la raison suivante.</p>
<p>Il y a quelques jours, j'ai cherché comment stocker une référence sur une méthode de classe. Technique relativement commune, j'ai d'abord écrit quelque chose dans ce goût là:</p>
<div class="highlight"><pre><span class="c1">#!/usr/bin/perl -w</span>

<span class="nb">package</span> <span class="n">test</span><span class="p">;</span>

<span class="k">sub </span><span class="nf">new</span> <span class="p">{</span> <span class="k">return</span> <span class="nb">bless</span> <span class="p">{};</span> <span class="p">}</span>

<span class="k">sub </span><span class="nf">hello</span> <span class="p">{</span>
  <span class="k">my</span> <span class="nv">$self</span> <span class="o">=</span> <span class="nb">shift</span><span class="p">;</span>

  <span class="k">print</span> <span class="s">"Hello $self\n"</span><span class="p">;</span>
<span class="p">}</span>

<span class="nb">package</span> <span class="n">main</span><span class="p">;</span>

<span class="nv">$t</span> <span class="o">=</span> <span class="n">test</span><span class="o">-&gt;</span><span class="k">new</span><span class="p">();</span>
<span class="nv">$ref</span> <span class="o">=</span> <span class="o">\</span><span class="nv">$t</span><span class="o">-&gt;</span><span class="n">hello</span><span class="p">;</span>

<span class="nv">$ref</span><span class="o">-&gt;</span><span class="p">();</span>
</pre></div>
<p>Dans le cadre d'une méthode, ce code est <strong>incorrect</strong>. Au lieu de stocker une référence, la méthode est d'abord exécutée et c'est son éventuel résultat qui sera stocké.</p>
<p>Après quelques recherches sur la toile, je découvre qu'il existe plusieurs solutions (utilisation de la classe de base <a class="reference external" href="http://perldoc.perl.org/UNIVERSAL.html">UNIVERSAL</a> ou encapsulation de la méthode dans une <a class="reference external" href="http://fr.wikipedia.org/wiki/Fermeture_%28informatique%29">closure</a>).</p>
<p>La correction du code précédent peut donc se faire :</p>
<div class="highlight"><pre><span class="c1"># comme ceci</span>
<span class="nv">$ref</span> <span class="o">=</span> <span class="nv">$t</span><span class="o">-&gt;</span><span class="n">can</span><span class="p">(</span><span class="s">"hello"</span><span class="p">);</span>
<span class="c1"># ou comme cela</span>
<span class="nv">$ref</span> <span class="o">=</span> <span class="k">sub </span><span class="p">{</span> <span class="nv">$t</span><span class="o">-&gt;</span><span class="n">hello</span><span class="p">(</span><span class="nv">@_</span><span class="p">)</span> <span class="p">};</span>
</pre></div>
<p>Je vous laisse choisir laquelle est la plus belle ;-)</p>
<p>Il subsiste néanmoins un léger problème. En général, on ne stocke pas une référence sur une méthode (au lieu d'une fonction) juste pour faire joli. Pour ma part, je le fais lorsque je sais avoir besoin d'accéder à d'autres informations comme les attributs d'une classe.</p>
<p>Si je modifie ma classe <tt class="docutils literal">test</tt> comme suit :</p>
<div class="highlight"><pre><span class="nb">package</span> <span class="n">test</span><span class="p">;</span>

<span class="k">sub </span><span class="nf">new</span> <span class="p">{</span> <span class="k">return</span> <span class="nb">bless</span> <span class="p">{</span><span class="n">text</span> <span class="o">=&gt;</span> <span class="s">"world"</span><span class="p">};</span> <span class="p">}</span>

<span class="k">sub </span><span class="nf">hello</span> <span class="p">{</span>
  <span class="k">my</span> <span class="nv">$self</span> <span class="o">=</span> <span class="nb">shift</span><span class="p">;</span>

  <span class="k">print</span> <span class="s">"Hello $self-&gt;{text}\n"</span><span class="p">;</span>
<span class="p">}</span>
</pre></div>
<p>le code précédemment corrigé redevient invalide! Son exécution doit normalement donner le résultat suivant :</p>
<div class="highlight"><pre>Use of uninitialized value in concatenation <span class="o">(</span>.<span class="o">)</span> or string at ...
Hello
</pre></div>
<p>Mais que se passe-t-il? (<em>hmmmm mais qu'est ce qu'il se passe?!</em>)</p>
<p>Pour une raison que j'ignore encore, <em>Perl</em> ne passe pas l'instance de classe en tant que premier argument de la méthode comme il le fait d'habitude! Pour <em>corriger</em> ce problème, il suffit de passer manuellement l'instance de la classe en tant que premier argument <strong>à chaque utilisation</strong> de notre référence :</p>
<div class="highlight"><pre><span class="nv">$ref</span><span class="o">-&gt;</span><span class="p">(</span><span class="nv">$ref</span><span class="p">);</span>
</pre></div>
<p>Ce qui nous donnera enfin le résultat tant attendu :</p>
<div class="highlight"><pre>Hello world
</pre></div>
<p>Bref, <em>tout ça pour ça</em> comme dirait l'autre...</p></div>
    </summary>
    <updated>2011-11-23T13:26:13Z</updated>
    <category term="Geekage"/>
    <author>
      <name>tonio</name>
      <email>tonio@ngyn.org</email>
    </author>
    <source>
      <id>http://tonio.ngyn.org/weblog/</id>
      <link href="http://tonio.ngyn.org/weblog/" rel="alternate" type="text/html"/>
      <link href="http://tonio.ngyn.org/weblog/feeds/latest/" rel="self" type="application/atom+xml"/>
      <rights>Zinnia</rights>
      <subtitle>Les dernières actualités du site Mon blog</subtitle>
      <title>Mon blog - Dernières entrées</title>
      <updated>2012-02-06T06:00:11Z</updated>
    </source>
  </entry>

  <entry xml:lang="fr-FR">
    <id>http://tonio.ngyn.org/weblog/2011/11/03/avec-de-la-couleur-tout-va-mieux/</id>
    <link href="http://tonio.ngyn.org/weblog/2011/11/03/avec-de-la-couleur-tout-va-mieux/" rel="alternate" type="text/html"/>
    <title>Avec de la couleur tout va mieux</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Peut-être l'avez vous déjà remarqué mais les extraits de code présentés sur ce blog sont en couleur. La <a class="reference external" href="http://fr.wikipedia.org/wiki/Coloration_syntaxique">coloration syntaxique</a> est, de mon point de vue, un élément indispensable pour faciliter la lecture du code source.</p>
<p>Cette coloration est gentiment fournie par <a class="reference external" href="http://pygments.org/">Pygments</a> et son utilisation dans <a class="reference external" href="http://tonio.ngyn.org/weblog/2011/10/24/rediger-ses-billets-avec-classe/">zinnia en mode restructuredtext</a> se fait de la manière suivante :</p>
<ul class="simple">
<li>Récupérer le fichier contenant <a class="reference external" href="http://pygments.org/docs/rstdirective/">l'instruction sourcecode</a> fournie avec pygments,</li>
<li>Le copier quelque part au sein des sources de votre blog,</li>
<li>Importer le contenu de ce module dans le fichier <em>__init__.py</em> situé à la racine :</li>
</ul>
<div class="highlight"><pre><span class="kn">from</span> <span class="nn">rst_directive</span> <span class="kn">import</span> <span class="o">*</span>
</pre></div>
<ul class="simple">
<li>Extraire l'un des <a class="reference external" href="http://pygments.org/docs/styles/#getting-a-list-of-available-styles">styles CSS disponibles en standard</a> :</li>
</ul>
<div class="highlight"><pre><span class="nv">$ </span>pygmentize -f html -S colorful &gt; pygments.css
</pre></div>
<ul class="simple">
<li>Rendre cette feuille de style accessible par votre blog en l'intégrant au contenu statique.</li>
</ul>
<p>Vous voilà rendu!</p>
<p>Vous pouvez dès à présent utiliser cette nouvelle directive pour rédiger vos billets:</p>
<div class="highlight"><pre><span class="p">..</span> <span class="ow">sourcecode</span><span class="p">::</span> <span class="k">python</span>

  <span class="c">#!/usr/bin/env python</span>

  <span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">"__main__"</span><span class="p">:</span>
      <span class="k">print</span> <span class="s">"Bonjour le monde :p"</span>
</pre></div></div>
    </summary>
    <updated>2011-11-03T10:17:52Z</updated>
    <category term="Geekage"/>
    <author>
      <name>tonio</name>
      <email>tonio@ngyn.org</email>
    </author>
    <source>
      <id>http://tonio.ngyn.org/weblog/</id>
      <link href="http://tonio.ngyn.org/weblog/" rel="alternate" type="text/html"/>
      <link href="http://tonio.ngyn.org/weblog/feeds/latest/" rel="self" type="application/atom+xml"/>
      <rights>Zinnia</rights>
      <subtitle>Les dernières actualités du site Mon blog</subtitle>
      <title>Mon blog - Dernières entrées</title>
      <updated>2012-02-06T06:00:10Z</updated>
    </source>
  </entry>

  <entry xml:lang="fr-FR">
    <id>http://tonio.ngyn.org/weblog/2011/10/24/rediger-ses-billets-avec-classe/</id>
    <link href="http://tonio.ngyn.org/weblog/2011/10/24/rediger-ses-billets-avec-classe/" rel="alternate" type="text/html"/>
    <title>Rédiger ses billets avec classe</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p><a class="reference external" href="https://github.com/Fantomas42/django-blog-zinnia">Zinnia</a> offre la possibilité d'écrire des billets avec autre chose que de l'HTML. Il supporte plusieurs languages (parce que <a class="reference external" href="https://docs.djangoproject.com/en/dev/ref/contrib/markup/">Django le vaut bien</a>) comme, par exemple, le <a class="reference external" href="http://en.wikipedia.org/wiki/ReStructuredText">ReStructuredText</a>.</p>
<p>Certains se demanderont peut-être quel est l'intérêt d'utiliser une syntaxe aussi <em>archaique</em>. D'un point de vue tout à fait personnel, j'en vois plusieurs :</p>
<ul class="simple">
<li>Comme tout bon <em>pythonista</em> qui se respecte, j'écris de la documentation en utilisant cette syntaxe. Ce qui est cool en faisant cela, c'est que je peux par la suite utiliser <a class="reference external" href="http://sphinx.pocoo.org/">Sphinx</a> pour générer de la <a class="reference external" href="http://docs.modoboa.org">belle documentation</a>,</li>
<li>C'est lisible, le formatage est efficace et bien organisé,</li>
<li>C'est facile à retenir.</li>
</ul>
<p>Bref, je ne cherche pas à convaincre qui que ce soit, plutôt à combler un manque du côté de Zinnia car ce dernier ne propose pas d'outil de migration. Prenez l'exemple suivant (qui est celui de ce site) :</p>
<ul class="simple">
<li>Changement d'outil,</li>
<li>Une base existante rédigée en HTML,</li>
<li>Un besoin d'homogéinité (utiliser une seule et même syntaxe pour mes travaux de rédaction).</li>
</ul>
<p>C'est classique et je ne pense pas être le seul dans ce cas de figure.</p>
<p>En cherchant un peu, je suis tombé sur <a class="reference external" href="http://johnmacfarlane.net/pandoc/">Pandoc</a>, une sorte de <em>couteau suisse</em> de la conversion entre formats. J'ai même poussé le vice jusqu'à chercher un <a class="reference external" href="http://pypi.python.org/pypi/pyandoc">module python</a> parce que je suis un gros paresseux :p</p>
<p>En combinant ces outils avec une analyse rapide des modèles utilisés par Zinnia, le résultat obtenu est le suivant :</p>
<div class="highlight"><pre><span class="c">#!/usr/bin/env python</span>
<span class="c"># coding: utf-8</span>

<span class="kn">from</span> <span class="nn">django.conf</span> <span class="kn">import</span> <span class="n">settings</span>
<span class="kn">from</span> <span class="nn">zinnia.models</span> <span class="kn">import</span> <span class="n">Entry</span>
<span class="kn">import</span> <span class="nn">pandoc</span>

<span class="n">pandoc</span><span class="o">.</span><span class="n">core</span><span class="o">.</span><span class="n">PANDOC_PATH</span> <span class="o">=</span> <span class="s">"/usr/bin/pandoc"</span>

<span class="k">def</span> <span class="nf">migrate</span><span class="p">():</span>
    <span class="k">for</span> <span class="n">e</span> <span class="ow">in</span> <span class="n">Entry</span><span class="o">.</span><span class="n">objects</span><span class="o">.</span><span class="n">all</span><span class="p">():</span>
        <span class="k">print</span> <span class="s">"Converting '</span><span class="si">%s</span><span class="s">'..."</span> <span class="o">%</span> <span class="n">e</span><span class="o">.</span><span class="n">title</span>
        <span class="n">doc</span> <span class="o">=</span> <span class="n">pandoc</span><span class="o">.</span><span class="n">Document</span><span class="p">()</span>
        <span class="n">doc</span><span class="o">.</span><span class="n">html</span> <span class="o">=</span> <span class="n">e</span><span class="o">.</span><span class="n">content</span>
        <span class="n">e</span><span class="o">.</span><span class="n">content</span> <span class="o">=</span> <span class="n">doc</span><span class="o">.</span><span class="n">rst</span>
        <span class="n">e</span><span class="o">.</span><span class="n">save</span><span class="p">()</span>

<span class="k">if</span> <span class="n">__name__</span> <span class="o">==</span> <span class="s">"__main__"</span><span class="p">:</span>
    <span class="n">migrate</span><span class="p">()</span>
</pre></div>
<p>C'est court et, le plus important, cela fonctionne... presque toujours.</p>
<p>Le module python en question n'est pas très bien écrit et il utilise mal le module <a class="reference external" href="http://docs.python.org/library/subprocess.html">subprocess</a>. <strong>Le risque</strong> : un blocage potentiel en cours d'exécution.</p>
<p>Bref, il a au moins le mérite d'exister :-)</p></div>
    </summary>
    <updated>2011-10-24T15:28:04Z</updated>
    <category term="Geekage"/>
    <author>
      <name>tonio</name>
      <email>tonio@ngyn.org</email>
    </author>
    <source>
      <id>http://tonio.ngyn.org/weblog/</id>
      <link href="http://tonio.ngyn.org/weblog/" rel="alternate" type="text/html"/>
      <link href="http://tonio.ngyn.org/weblog/feeds/latest/" rel="self" type="application/atom+xml"/>
      <rights>Zinnia</rights>
      <subtitle>Les dernières actualités du site Mon blog</subtitle>
      <title>Mon blog - Dernières entrées</title>
      <updated>2012-02-06T06:00:10Z</updated>
    </source>
  </entry>

  <entry xml:lang="fr-FR">
    <id>http://tonio.ngyn.org/weblog/2011/10/21/indiquer-amavisd-ce-quil-doit-filtrer/</id>
    <link href="http://tonio.ngyn.org/weblog/2011/10/21/indiquer-amavisd-ce-quil-doit-filtrer/" rel="alternate" type="text/html"/>
    <title>Indiquer à amavisd ce qu'il doit filtrer</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Pour les besoins de ma boite actuelle, j'ai mis un peu de temps (trop à mon goût) à retrouver la manière d'indiquer à <a class="reference external" href="http://www.amavis.org/">Amavisd</a> de ne pas filtrer les emails sortant.</p>
<p>Outre le fait de désactiver tout filtrage pour la <em>policy bank</em> <tt class="docutils literal">MYNETS</tt>:</p>
<div class="highlight"><pre><span class="nv">$policy_bank</span><span class="p">{</span><span class="s">'MYNETS'</span><span class="p">}</span> <span class="o">=</span> <span class="p">{</span>
    <span class="c1"># Trucs avant...</span>
    <span class="n">bypass_spam_checks_maps</span>   <span class="o">=&gt;</span> <span class="p">[</span><span class="mi">1</span><span class="p">],</span>
    <span class="n">bypass_banned_checks_maps</span> <span class="o">=&gt;</span> <span class="p">[</span><span class="mi">1</span><span class="p">],</span>
    <span class="n">bypass_header_checks_maps</span> <span class="o">=&gt;</span> <span class="p">[</span><span class="mi">1</span><span class="p">],</span>
<span class="p">};</span>
</pre></div>
<p>il faut aussi indiquer à <a class="reference external" href="http://postfix.org/">Postfix</a> d'utiliser l'extension <a class="reference external" href="http://www.postfix.org/XFORWARD_README.html">XFORWARD</a> lorsqu'il cause avec amavisd. Extrait de mon fichier <em>master.cf</em>:</p>
<div class="highlight"><pre>smtp-amavis unix        -       -       n       -       2       smtp
    -o smtp_data_done_timeout=1200
    -o smtp_send_xforward_command=yes
    -o disable_dns_lookups=yes
</pre></div>
<p>On redémarre les services et le tour est joué!</p></div>
    </summary>
    <updated>2011-10-21T09:52:19Z</updated>
    <category term="Geekage"/>
    <author>
      <name>tonio</name>
      <email>tonio@ngyn.org</email>
    </author>
    <source>
      <id>http://tonio.ngyn.org/weblog/</id>
      <link href="http://tonio.ngyn.org/weblog/" rel="alternate" type="text/html"/>
      <link href="http://tonio.ngyn.org/weblog/feeds/latest/" rel="self" type="application/atom+xml"/>
      <rights>Zinnia</rights>
      <subtitle>Les dernières actualités du site Mon blog</subtitle>
      <title>Mon blog - Dernières entrées</title>
      <updated>2012-02-06T06:00:11Z</updated>
    </source>
  </entry>

  <entry xml:lang="fr-FR">
    <id>http://tonio.ngyn.org/weblog/2011/10/20/menage-dautomne/</id>
    <link href="http://tonio.ngyn.org/weblog/2011/10/20/menage-dautomne/" rel="alternate" type="text/html"/>
    <link href="/media/uploads/IMG_5203IMG_5203.jpg" length="100000" rel="enclosure" type="image/jpeg"/>
    <title>Ménage d'automne</title>
    <summary type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>Je l'avoue, j'ai quelque peu laissé tomber mon blog ces derniers temps. Manque de temps, de motivation et je ne sais quoi encore mais tout ça c'est terminé!</p>
<p>Pris par une soudaine envie de partager mes connaissances (un peu comme l'autre envie bien connue...), j'en ai profité pour dépoussiérer mon blog :</p>
<ul class="simple">
<li>Passage de <a class="reference external" href="http://wordpress.org/">Wordpress</a> à une solution qui me ressemble plus : <a class="reference external" href="http://django-cms.org/">Django CMS</a> + <a class="reference external" href="https://github.com/Fantomas42/django-blog-zinnia">Zinnia</a>,</li>
<li>Changement du thème graphique pour quelque chose de plus sobre,</li>
<li>Nettoyage des billets inutiles (oui, il m'arrive d'en faire),</li>
<li>Déplacement des billets concernant <a class="reference external" href="http://modoboa.org/">Modoboa</a> au sein du site de ce dernier,</li>
<li>etc.</li>
</ul>
<p>Bref, le résultat de tous ces petits travaux est devant vos yeux. S'il vous plait tant mieux, dans le cas contraire n'hésitez pas à partager vos remarques.</p></div>
    </summary>
    <updated>2011-10-20T11:07:29Z</updated>
    <category term="Geekage"/>
    <author>
      <name>tonio</name>
      <email>tonio@ngyn.org</email>
    </author>
    <source>
      <id>http://tonio.ngyn.org/weblog/</id>
      <link href="http://tonio.ngyn.org/weblog/" rel="alternate" type="text/html"/>
      <link href="http://tonio.ngyn.org/weblog/feeds/latest/" rel="self" type="application/atom+xml"/>
      <rights>Zinnia</rights>
      <subtitle>Les dernières actualités du site Mon blog</subtitle>
      <title>Mon blog - Dernières entrées</title>
      <updated>2012-02-06T06:00:10Z</updated>
    </source>
  </entry>

  <entry xml:lang="en">
    <id>http://imhotep.koalabs.org/?p=140</id>
    <link href="http://imhotep.koalabs.org/?p=140" rel="alternate" type="text/html"/>
    <title>Using git-stash with a branch</title>
    <summary>You’re working on something on master but you want your changes to be transfered to a branch Do this: [17:44:40][akadri@kryptonite:~/Projects/myproject]$ git stash save "message" Saved working directory and index state On master: stash message HEAD is now at 821a965 commit message You can list your stash with: [17:48:09][akadri@kryptonite:~/Projects/myproject]$ git stash list stash@{0}: On master: stash [...]</summary>
    <content type="xhtml"><div xmlns="http://www.w3.org/1999/xhtml"><p>You’re working on something on master but you want your changes to be transfered to a branch</p>
<p>Do this:</p>
<p><code>[17:44:40][akadri@kryptonite:~/Projects/myproject]$ git stash save "message"<br/>
Saved working directory and index state On master: stash message<br/>
HEAD is now at 821a965 commit message</code></p>
<p>You can list your stash with:</p>
<p><code>[17:48:09][akadri@kryptonite:~/Projects/myproject]$ git stash list<br/>
stash@{0}: On master: stash message</code></p>
<p>Now you transfer your changes to a new branch of your choosing and checkout that branch with:</p>
<p><code>[17:51:54][akadri@kryptonite:~/Projects/Wikipedia]$ git stash branch mybranch stash@{0}<br/>
Switched to a new branch 'mybranch'</code></p>
<p>That’s it!</p></div>
    </content>
    <updated>2011-10-18T01:13:14Z</updated>
    <category term="Uncategorized"/>
    <author>
      <name>imhotep</name>
    </author>
    <source>
      <id>http://imhotep.koalabs.org</id>
      <link href="http://imhotep.koalabs.org/?feed=rss2" rel="self" type="application/atom+xml"/>
      <link href="http://imhotep.koalabs.org" rel="alternate" type="text/html"/>
      <subtitle>FR-DZ geek in CA</subtitle>
      <title>imhotep's blog</title>
      <updated>2012-02-02T01:00:07Z</updated>
    </source>
  </entry>
</feed>

