<?xml version="1.0" encoding="utf-8" standalone="yes" ?>
<feed xmlns="http://www.w3.org/2005/Atom">

	<title>Planet Libre-entreprise.org</title>
	<link rel="self" href="http://planet.libre-entreprise.org/atom.xml"/>
	<link href="http://planet.libre-entreprise.org/"/>
	<id>http://planet.libre-entreprise.org/atom.xml</id>
	<updated>2012-02-04T09:30:05+00:00</updated>
	<generator uri="http://www.planetplanet.org/">Planet/1.0 +http://www.planetplanet.org</generator>

	<entry>
		<title type="html">Commit Digests</title>
		<link href="http://www.0d.be/2012/01/31/commit-digests/"/>
		<id>http://www.0d.be/posts/455</id>
		<updated>2012-01-31T19:41:07+00:00</updated>
		<content type="html">&lt;p&gt;After several months on hiatus, then some January evenings to process the backlog, I am happy to have the &lt;a class=&quot;reference external&quot; href=&quot;http://blogs.gnome.org/commitdigest/&quot;&gt;commit digests&lt;/a&gt; back to the present day.&lt;/p&gt;
&lt;p&gt;What now? I'll try to get back to the weekly updates, whatever the weather.&lt;/p&gt;
&lt;p&gt;Of course you can help; whenever you see a noteworthy commit, whenever you &lt;em&gt;make&lt;/em&gt; a noteworthy commit, just send me an email, or ping me on IRC, this will help me, and could also bring other perspectives on what constitutes a “noteworthy” commit. And if you love the commit digests, if you have time on your hands, you can help extending the projects to new heights, got an interest in statistics? got an interest in interviews? there's a place for you.&lt;/p&gt;
&lt;p&gt;Happy reading!&lt;/p&gt;</content>
		<author>
			<name>Frédéric Péters</name>
			<uri>http://www.0d.be</uri>
		</author>
		<source>
			<title type="html">Entre code et gazon</title>
			<link rel="self" href="http://www.0d.be/feed-planet.xml/atom"/>
			<id>http://www.0d.be/feeds/default/atom</id>
			<updated>2012-02-04T09:30:02+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Passé midi…</title>
		<link href="http://www.0d.be/2012/01/29/passe-midi/"/>
		<id>http://www.0d.be/posts/454</id>
		<updated>2012-01-30T01:37:01+00:00</updated>
		<content type="html">&lt;p&gt;…&lt;/p&gt;
&lt;!-- Bien sûr il y a des lecteurs, la famille peut-être, j'oublie ça, il est maintenant passé midi, c'est la route pour chez moi, je m'arrête dans un bar, un café pour pousser la nuit, un biscuit est posé sur le côté. --&gt;
&lt;!-- Et je m'interroge. Après quelques mois *off*, d'un souvenir tranquille — bières et occasionels pétards —, le monde a-t-il vraiment changé ? la pause a-t-elle été si longue ? Est-ce seulement moi, ou une igorance d'alors, ou d'autres contacts maintenant ? mais MDMA et C. sont-ils vraiment devenus le lot commun ? --&gt;</content>
		<author>
			<name>Frédéric Péters</name>
			<uri>http://www.0d.be</uri>
		</author>
		<source>
			<title type="html">Entre code et gazon</title>
			<link rel="self" href="http://www.0d.be/feed-planet.xml/atom"/>
			<id>http://www.0d.be/feeds/default/atom</id>
			<updated>2012-02-04T09:30:02+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">2012</title>
		<link href="http://www.0d.be/2012/01/06/2012/"/>
		<id>http://www.0d.be/posts/453</id>
		<updated>2012-01-06T12:57:26+00:00</updated>
		<content type="html">&lt;p&gt;À trainer à gauche à droite j'ai forcément lu quelques bilans 2011, je passe mon tour (dyslexique j'aurais écrit « je passe mon trou » et ça nous aurait fait rire un peu) mais je m'étais dit que dans mon billet sur Montréal (ses gens, ses bars, la &lt;a class=&quot;reference external&quot; href=&quot;http://www.casadelpopolo.com&quot;&gt;casa del popolo&lt;/a&gt;) j'aurais une place pour les lectures, et ce billet, il n'arrivera pas, tant pis pour les photos, mais quand même, bilans 2011, listes de lecture, prétexte et phrase trop longue.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Capitalisme, désir et servitude&lt;/em&gt;, de Frédéric Lordon. Énorme. Oublié dans l'avion au retour, à nouveau acheté lors des emplettes de Noël pour en lire les dernières pages. Sous-titré « Marx et Spinoza ». Et de ce dernier, la mise en exergue de cette phrase, «&amp;nbsp;Par réalité et par perfection, j'entends la même chose&amp;nbsp;», qui est quand même la phrase illico recopiée lors de ma lecture de l'Éthique…&lt;/p&gt;
&lt;p&gt;Un livre, beaucoup(?) d'autres, et après avoir lu &lt;a class=&quot;reference external&quot; href=&quot;http://amrhaps.net/post/2011/12/30/De-onze-a-douze&quot;&gt;De onze à douze&lt;/a&gt; je me suis motivé à enfin faire l'inventaire de ma bibliothèque (en sous-texte il y a la perspective d'un déménagement…), &lt;a class=&quot;reference external&quot; href=&quot;http://www.goodreads.com&quot;&gt;goodreads&lt;/a&gt;, quelques soirées d'encodage, bien sûr ponctuées d'écroulages de piles, mais en sortie, enfin, un tableau. Et un tas de statistiques amusantes à faire. Une autre fois.&lt;/p&gt;
&lt;p&gt;Et pour finir dans le sous-texte, &lt;a class=&quot;reference external&quot; href=&quot;http://www.goodreads.com/book/show/4675400-anne-ledroit-and-vincent-pierret&quot;&gt;première lecture de l'année&lt;/a&gt;.&lt;/p&gt;</content>
		<author>
			<name>Frédéric Péters</name>
			<uri>http://www.0d.be</uri>
		</author>
		<source>
			<title type="html">Entre code et gazon</title>
			<link rel="self" href="http://www.0d.be/feed-planet.xml/atom"/>
			<id>http://www.0d.be/feeds/default/atom</id>
			<updated>2012-02-04T09:30:02+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-us">
		<title type="html">Google Calendar notifications using pynotify</title>
		<link href="http://julien.danjou.info/blog/2012/google-calendar-pynotify"/>
		<id>http://julien.danjou.info/blog/2012/google-calendar-pynotify</id>
		<updated>2012-01-03T17:00:03+00:00</updated>
		<content type="html">&lt;p&gt;I use &lt;a href=&quot;http://google.com/calendar&quot;&gt;Google Calendar&lt;/a&gt; to manage my calendars,
and I really missed something to warn me whenever I have an appointment with
an alert set.&lt;/p&gt;
&lt;p&gt;So here is an example of a Python program to do such a thing. It is written using
the &lt;a href=&quot;http://code.google.com/p/gdata-python-client/&quot;&gt;Google Data APIs Python client library&lt;/a&gt;
and pynotify.&lt;/p&gt;
&lt;p&gt;I'll detail the code here, so you can build your own and adapt it to your needs.&lt;/p&gt;
&lt;p&gt;First, we need to import GTK+ and pynotify, and initialize it.&lt;/p&gt;
&lt;pre class=&quot;prettyprint python&quot;&gt;
import gtk
import pynotify
pynotify.init(sys.argv[0])
&lt;/pre&gt;

&lt;p&gt;Then, we need to import gdata Calendar API and connect to the calendar. I'll
use the simple email/password way to login, which is clearly not the best,
but it's also the simplest. Feel free to use OAuth 2.0. :-)&lt;/p&gt;
&lt;pre class=&quot;prettyprint python&quot;&gt;
calendar_service = gdata.calendar.service.CalendarService()
calendar_service.email = 'mygooglelogin'
calendar_service.password = 'mygooglepassword'
calendar_service.ProgrammaticLogin()
&lt;/pre&gt;

&lt;p&gt;Now we're ready to request stuff and notify! First, request the events from
the default calendar.&lt;/p&gt;
&lt;pre class=&quot;prettyprint python&quot;&gt;
feed = calendar_service.GetCalendarEventFeed()
&lt;/pre&gt;

&lt;p&gt;Now we can iterate over &lt;em&gt;feed&lt;/em&gt; and do various checks.&lt;/p&gt;
&lt;pre class=&quot;prettyprint python&quot;&gt;
for event in feed.entry:
    # If the event status is not confirmed, go to the next event.
    if event.event_status.value != &quot;CONFIRMED&quot;:
        continue
    # Now iterate over all the event dates (usually it has one)
    for when in event.when:
        # Parse start and end time
        try:
            start_time = datetime.datetime.strptime(when.start_time.split(&quot;.&quot;)[0], &quot;%Y-%m-%dT%H:%M:%S&quot;)
            end_time = datetime.datetime.strptime(when.end_time.split(&quot;.&quot;)[0], &quot;%Y-%m-%dT%H:%M:%S&quot;)
        except ValueError:
            # ValueError happens on parsing error. Parsing errors
            # usually happen for &quot;all day&quot; events since they have
            # not time, but we do not care about this events.
            continue
        now = datetime.datetime.now()
        # Check that the event hasn't already ended
        if end_time &gt; now:
            # Check each alert
            for reminder in when.reminder:
                # We handle only reminders with method &quot;alert&quot;
                # and whose start time minus the reminder delay has passed
                if reminder.method == &quot;alert&quot; \
                        and start_time - datetime.timedelta(0, 60 * int(reminder.minutes))  now:
                    # Build the notification
                    notification = pynotify.Notification(summary=event.title.text,
                                                         message=event.content.text)
                    # Set an icon from the GTK+ stock icons
                    notification.set_icon_from_pixbuf(gtk.Label().render_icon(gtk.STOCK_DIALOG_INFO,
                                                                              gtk.ICON_SIZE_LARGE_TOOLBAR))
                    notification.set_timeout(0)
                    # Show the notification
                    notification.show()
&lt;/pre&gt;

&lt;p&gt;Running this program, you should see a notification if an appointment has an
alert to be raised at that time.&lt;/p&gt;
&lt;p&gt;This should be enough to start to build something.&lt;/p&gt;
&lt;p&gt;If you don't want to program this into Python, you might want to take a look
at &lt;a href=&quot;http://code.google.com/p/gcalcli/wiki/HowTo&quot;&gt;gcalcli&lt;/a&gt;.&lt;/p&gt;</content>
		<author>
			<name>Julien Danjou</name>
			<uri>http://julien.danjou.info/blog/</uri>
		</author>
		<source>
			<title type="html">jd:/dev/blog</title>
			<subtitle type="html">Julien Danjou's blog</subtitle>
			<link rel="self" href="http://julien.danjou.info/blog/index.xml"/>
			<id>http://julien.danjou.info/blog/index.xml</id>
			<updated>2012-01-03T17:00:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-us">
		<title type="html">Using GTK+ stock icons with pynotify</title>
		<link href="http://julien.danjou.info/blog/2011/python-notify-with-gtk-stock-icon"/>
		<id>http://julien.danjou.info/blog/2011/python-notify-with-gtk-stock-icon</id>
		<updated>2011-12-27T11:55:00+00:00</updated>
		<content type="html">&lt;p&gt;It took me a while to find this, so I'm just blogging it so other people
will be able to find it.&lt;/p&gt;
&lt;p&gt;I wanted to send a &lt;a href=&quot;http://www.galago-project.org/specs/notification/&quot;&gt;desktop
notification&lt;/a&gt; using
pynotify, but using a &lt;a href=&quot;http://developer.gnome.org/gtk/2.24/gtk-Stock-Items.html&quot;&gt;GTK+ stock
icons&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;With the following snippet, I managed to do it.&lt;/p&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;
import pynotify
pynotify.init(&quot;myapp&quot;)
import gtk
n = pynotify.Notification(summary=&quot;Summary&quot;, message=&quot;Message!&quot;)
n.set_icon_from_pixbuf(gtk.Label().render_icon(gtk.STOCK_HARDDISK, gtk.ICON_SIZE_LARGE_TOOLBAR))
n.show()
&lt;/pre&gt;

&lt;p&gt;Note that the use of a &lt;em&gt;Label&lt;/em&gt; is just to have a widget instanciated to use
the &lt;em&gt;render_icon()&lt;/em&gt; method. It could be any widget type as far as I
understand.&lt;/p&gt;</content>
		<author>
			<name>Julien Danjou</name>
			<uri>http://julien.danjou.info/blog/</uri>
		</author>
		<source>
			<title type="html">jd:/dev/blog</title>
			<subtitle type="html">Julien Danjou's blog</subtitle>
			<link rel="self" href="http://julien.danjou.info/blog/index.xml"/>
			<id>http://julien.danjou.info/blog/index.xml</id>
			<updated>2012-01-03T17:00:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-us">
		<title type="html">My OpenStack work</title>
		<link href="http://julien.danjou.info/blog/2011/my-openstack-work"/>
		<id>http://julien.danjou.info/blog/2011/my-openstack-work</id>
		<updated>2011-12-16T17:34:00+00:00</updated>
		<content type="html">&lt;p&gt;Like I already wrote here last week, I've been heavily working on
&lt;a href=&quot;http://openstack.org&quot;&gt;OpenStack&lt;/a&gt; for the last weeks.&lt;/p&gt;
&lt;p&gt;My first assignment was to package OpenStack for Debian. The packages
already present in unstable were mainly done by &lt;a href=&quot;http://thomas.goirand.fr/&quot;&gt;Thomas
Goirand&lt;/a&gt;, who based its work on the one done in
&lt;a href=&quot;http://ubuntu.com&quot;&gt;Ubuntu&lt;/a&gt;. Therefore, the packages where not in a very
good shape for Debian.&lt;/p&gt;
&lt;p&gt;Today Ghe Rivero and I (members of the &lt;a href=&quot;https://alioth.debian.org/projects/openstack&quot;&gt;OpenStack Debian packaging
team&lt;/a&gt;) managed to push the
&lt;a href=&quot;https://launchpad.net/openstack/+milestone/essex-2&quot;&gt;OpenStack Essex 2
milestone&lt;/a&gt; into unstable
with great success. You can now test and deploy OpenStack Essex 2 very easily!&lt;/p&gt;
&lt;p&gt;Packaging OpenStack &lt;a href=&quot;https://review.openstack.org/#dashboard,1669&quot;&gt;made me write several
patches&lt;/a&gt;, mainly related to
packaging, patches which were all accepted and merged by upstream. This is
nice because most of the OpenStack Debian packages lost their
&lt;em&gt;debian/patches&lt;/em&gt; directories now!&lt;/p&gt;
&lt;p&gt;Finally, I've finished to implement one blueprint I really missed: the
&lt;a href=&quot;https://blueprints.launchpad.net/nova/+spec/support-kvm-boot-from-iso&quot;&gt;ability to boot from an ISO
image&lt;/a&gt;
using &lt;a href=&quot;http://libvirt.org&quot;&gt;libvirt&lt;/a&gt;. The code still needs a review, but it
should be included in the Essex 3 milestone if everything's right.&lt;/p&gt;</content>
		<author>
			<name>Julien Danjou</name>
			<uri>http://julien.danjou.info/blog/</uri>
		</author>
		<source>
			<title type="html">jd:/dev/blog</title>
			<subtitle type="html">Julien Danjou's blog</subtitle>
			<link rel="self" href="http://julien.danjou.info/blog/index.xml"/>
			<id>http://julien.danjou.info/blog/index.xml</id>
			<updated>2012-01-03T17:00:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-us">
		<title type="html">New job, new blog</title>
		<link href="http://julien.danjou.info/blog/2011/new-job-new-blog"/>
		<id>http://julien.danjou.info/blog/2011/new-job-new-blog</id>
		<updated>2011-12-07T13:47:00+00:00</updated>
		<content type="html">&lt;p&gt;It has been a while since I blogged but I've been very busy, with my new job and this new blog!&lt;/p&gt;
&lt;h1&gt;New job!&lt;/h1&gt;
&lt;p&gt;I quitted my job last September, and found another one that I started in
October. I'm now the lead developer of &lt;a href=&quot;http://www.enovance.com/fr/produits-solutions/opencloud-opensource/enovance-labs&quot;&gt;eNovance
Labs&lt;/a&gt;,
where I work on the &lt;a href=&quot;http://openstack.org/&quot;&gt;OpenStack&lt;/a&gt; project. So far, this allowed me to contribute heavily to the &lt;a href=&quot;https://alioth.debian.org/projects/openstack&quot;&gt;Debian packaging of OpenStack&lt;/a&gt;.&lt;/p&gt;
&lt;h1&gt;New blog!&lt;/h1&gt;
&lt;p&gt;In the meantime, I took some time to redesign my personal homepage and this
blog, which is now using &lt;a href=&quot;https://github.com/hyde/hyde&quot;&gt;Hyde&lt;/a&gt;, the
&lt;a href=&quot;http://python.org&quot;&gt;Python&lt;/a&gt; equivalent of &lt;a href=&quot;http://jekyllrb.com/&quot;&gt;Jekyll&lt;/a&gt;,
which is in &lt;a href=&quot;http://www.ruby-lang.org/&quot;&gt;Ruby&lt;/a&gt;. Since I dislike Ruby
(sorry), I preferred to use a Python based generator, and I admit Hyde is really
cool.
Since I really suck at Web design, this one is obviously based on &lt;a href=&quot;http://twitter.github.com/bootstrap/&quot;&gt;Twitter's bootstrap&lt;/a&gt;&lt;/p&gt;</content>
		<author>
			<name>Julien Danjou</name>
			<uri>http://julien.danjou.info/blog/</uri>
		</author>
		<source>
			<title type="html">jd:/dev/blog</title>
			<subtitle type="html">Julien Danjou's blog</subtitle>
			<link rel="self" href="http://julien.danjou.info/blog/index.xml"/>
			<id>http://julien.danjou.info/blog/index.xml</id>
			<updated>2012-01-03T17:00:03+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">C'était</title>
		<link href="http://www.0d.be/2011/11/22/c-etait/"/>
		<id>http://www.0d.be/posts/452</id>
		<updated>2011-11-22T01:30:06+00:00</updated>
		<content type="html">&lt;p&gt;C'était ce week-end, journées du logiciel libre à Lyon, c'était le week-end dernier, Ubuntu Party à Paris, c'était il y a déjà plus d'un mois, Montréal, c'était il y a, oh, cinq mois… déjà.&lt;/p&gt;
&lt;p&gt;C'était, calibré, rythme de six mois, Ubuntu Party à Paris; c'était, rythme d'un an, JDLL l'année dernière, et voilà donc qu'il y a maintenant plus d'un an j'étais ainsi, assis, sur les pentes d'une croix rousse, à discuter, à ne pas savoir. Entre… et …&lt;/p&gt;
&lt;p&gt;Pour, aujourd'hui, une question en moins. Mais je ne sais quoi.&lt;/p&gt;</content>
		<author>
			<name>Frédéric Péters</name>
			<uri>http://www.0d.be</uri>
		</author>
		<source>
			<title type="html">Entre code et gazon</title>
			<link rel="self" href="http://www.0d.be/feed-planet.xml/atom"/>
			<id>http://www.0d.be/feeds/default/atom</id>
			<updated>2012-02-04T09:30:02+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="fr-fr">
		<title type="html">Randonnée vélo Tours - Bouchemaine - Dompierre-sur-Mer</title>
		<link href="http://rando-velo.esaracco.fr/semaines/tours-bouchemaine-dompierre-sur-mer"/>
		<id>http://www.esaracco.fr/91d5166f8962aaeca52f52e7308d27f0</id>
		<updated>2011-11-04T15:41:07+00:00</updated>
		<content type="html">Mise en ligne du journal de bord de ma &lt;a href=&quot;http://rando-velo.esaracco.fr/semaines/tours-bouchemaine-dompierre-sur-mer&quot;&gt;randonnée à vélo Tours - Bouchemaine - Dompierre-sur-Mer&lt;/a&gt;.</content>
		<author>
			<name>Emmanuel Saracco</name>
			<uri>http://www.esaracco.fr</uri>
		</author>
		<source>
			<title type="html">Emmanuel Saracco</title>
			<subtitle type="html">Les nouveaux logiciels, nouvelles musiques, nouvelles documentations ou nouvelles publications de textes sur le site de Emmanuel Saracco.</subtitle>
			<link rel="self" href="http://www.esaracco.fr/news_rss.php"/>
			<id>http://www.esaracco.fr/news_rss.php</id>
			<updated>2012-02-04T09:30:04+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Montreal Summit 2011</title>
		<link href="http://www.0d.be/2011/10/12/montreal-summit-2011/"/>
		<id>http://www.0d.be/posts/451</id>
		<updated>2011-10-11T23:35:30+00:00</updated>
		<content type="html">&lt;p&gt;The date came late, and it was definitely not at the best time wrt some projets at work, but I decided to go nevertheless, and have to give my thanks to the GNOME Foundation, and the travel committee, for quickly accepting when I asked for sponsorship.&lt;/p&gt;
&lt;p&gt;Probably because of the short notice it felt like some important teams didn't have enough representation, and while this gave ample place for some topics (building gnome!) I wish we had enough teams for a roundup of the different aspects of GNOME. On the positive side this wide cooperation is happening in the mailing list discussion on freezes, with translators, documentation team, release team and other interested parties.&lt;/p&gt;
&lt;p&gt;Still, back to Montreal and the summit, I spent much of the first day testing and reviewing jhbuild patches, and wrapping the day with the presentation of Baserock by Lars Wirzenius. The second day was more diverse, and more intense, with (I heard) a very interesting discussion on GNOME strategy (&lt;a class=&quot;reference external&quot; href=&quot;http://mimico-tiffany.tumblr.com/post/11247197512&quot;&gt;Tiffany wrote about it in details&lt;/a&gt;) that happened at the same time as a jhbuild (and more) session lead by Colin, and later in the afternoon a good serie of questions asked by Xan about our (lack of a clear) developer platform.&lt;/p&gt;
&lt;div class=&quot;figure&quot;&gt;
&lt;img alt=&quot;Colin on JHBuild&quot; src=&quot;http://www.0d.be/photos/colin-on-jhbuild.jpeg&quot; /&gt;
&lt;p class=&quot;caption&quot;&gt;Colin on JHBuild&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;And the Collabora party, of course.&lt;/p&gt;
&lt;p&gt;Then on Monday, more patch reviews, including (at last) &lt;a class=&quot;reference external&quot; href=&quot;https://bugzilla.gnome.org/show_bug.cgi?id=654872&quot;&gt;Bug 654872 - Delete no longer shipped files at install time&lt;/a&gt; but the day was short as many people had to leave early, so it ended with random hacking and bug filing, with the good luck of hitting a bug in glib-networking with Nicolas Dufresne sitting just behind.&lt;/p&gt;
&lt;p&gt;All in all this was my first summit and it went well, it would sure benefit from some earlier planning (both dates, and sessions), but this was a nice chance to see new heads (and known heads, of course), especially as I was not in Berlin this summer.&lt;/p&gt;</content>
		<author>
			<name>Frédéric Péters</name>
			<uri>http://www.0d.be</uri>
		</author>
		<source>
			<title type="html">Entre code et gazon</title>
			<link rel="self" href="http://www.0d.be/feed-planet.xml/atom"/>
			<id>http://www.0d.be/feeds/default/atom</id>
			<updated>2012-02-04T09:30:02+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Six mois</title>
		<link href="http://www.0d.be/2011/10/12/six-mois/"/>
		<id>http://www.0d.be/posts/450</id>
		<updated>2011-10-11T23:02:40+00:00</updated>
		<content type="html">&lt;p&gt;Six mois, presque, depuis les derniers messages, du temps, des lieux, pas de photos, des quenelles, et pour encore quelques jours, le Québec.&lt;/p&gt;
&lt;div class=&quot;figure&quot;&gt;
&lt;img alt=&quot;Vue depuis le Mont Royal, avec des feuilles&quot; src=&quot;http://www.0d.be/photos/montreal-belvedere-feuilles-small.jpeg&quot; /&gt;
&lt;p class=&quot;caption&quot;&gt;Montréal, 5 octobre 2011&lt;/p&gt;
&lt;/div&gt;</content>
		<author>
			<name>Frédéric Péters</name>
			<uri>http://www.0d.be</uri>
		</author>
		<source>
			<title type="html">Entre code et gazon</title>
			<link rel="self" href="http://www.0d.be/feed-planet.xml/atom"/>
			<id>http://www.0d.be/feeds/default/atom</id>
			<updated>2012-02-04T09:30:02+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-us">
		<title type="html">Google Contacts for Emacs</title>
		<link href="http://julien.danjou.info/blog/2011/google-contacts-for-emacs"/>
		<id>http://julien.danjou.info/blog/2011/google-contacts-for-emacs</id>
		<updated>2011-09-26T13:01:00+00:00</updated>
		<content type="html">&lt;p&gt;I finally finished a thing I was really missing: accessing my Google
Contacts from Emacs.&lt;/p&gt;
&lt;p&gt;That's now possible, thanks to my new
&lt;a href=&quot;http://julien.danjou.info/software/google-contacts.el&quot;&gt;google-contacts.el&lt;/a&gt;
package.&lt;/p&gt;
&lt;p&gt;

&lt;/p&gt;
&lt;p&gt;It includes searching for any contact and displaying the result in a window.
You can also jump to a contact from &lt;a href=&quot;http://gnus.org&quot;&gt;Gnus&lt;/a&gt; by pressing a
key, and complete e-mail addresses while composing a mail.&lt;/p&gt;</content>
		<author>
			<name>Julien Danjou</name>
			<uri>http://julien.danjou.info/blog/</uri>
		</author>
		<source>
			<title type="html">jd:/dev/blog</title>
			<subtitle type="html">Julien Danjou's blog</subtitle>
			<link rel="self" href="http://julien.danjou.info/blog/index.xml"/>
			<id>http://julien.danjou.info/blog/index.xml</id>
			<updated>2012-01-03T17:00:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-us">
		<title type="html">OAuth 2.0 for Emacs</title>
		<link href="http://julien.danjou.info/blog/2011/oauth-2.0-for-emacs"/>
		<id>http://julien.danjou.info/blog/2011/oauth-2.0-for-emacs</id>
		<updated>2011-09-23T18:01:00+00:00</updated>
		<content type="html">&lt;p&gt;This week, I've finished my &lt;a href=&quot;http://oauth.net/2/&quot;&gt;OAuth 2.0&lt;/a&gt;
client implementation for &lt;a href=&quot;http://www.gnu.org/software/emacs/&quot;&gt;GNU Emacs&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I have &lt;a href=&quot;http://bzr.savannah.gnu.org/lh/emacs/elpa/revision/126?start_revid=126&quot;&gt;imported it&lt;/a&gt;
into &lt;a href=&quot;http://elpa.gnu.org/&quot;&gt;GNU ELPA&lt;/a&gt; so Emacs 24 users will be soon able to
install it using the new Emacs packaging system.&lt;/p&gt;
&lt;p&gt;OAuth 2.0 can be used to access, among others,
&lt;a href=&quot;http://code.google.com/apis/accounts/docs/OAuth2.html&quot;&gt;Google APIs&lt;/a&gt; or the
&lt;a href=&quot;http://developers.facebook.com/docs/authentication/&quot;&gt;Facebook Graph API&lt;/a&gt;.&lt;/p&gt;</content>
		<author>
			<name>Julien Danjou</name>
			<uri>http://julien.danjou.info/blog/</uri>
		</author>
		<source>
			<title type="html">jd:/dev/blog</title>
			<subtitle type="html">Julien Danjou's blog</subtitle>
			<link rel="self" href="http://julien.danjou.info/blog/index.xml"/>
			<id>http://julien.danjou.info/blog/index.xml</id>
			<updated>2012-01-03T17:00:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="fr-fr">
		<title type="html">Randonnée vélo Tours - Saumur</title>
		<link href="http://rando-velo.esaracco.fr/week-ends/tours-saumur"/>
		<id>http://www.esaracco.fr/a6abcf0bb5f5af83391b65d841ea1411</id>
		<updated>2011-09-23T15:59:00+00:00</updated>
		<content type="html">Mise en ligne du journal de bord de ma &lt;a href=&quot;http://rando-velo.esaracco.fr/week-ends/tours-saumur&quot;&gt;randonnée à vélo Tours - Saumur&lt;/a&gt;.</content>
		<author>
			<name>Emmanuel Saracco</name>
			<uri>http://www.esaracco.fr</uri>
		</author>
		<source>
			<title type="html">Emmanuel Saracco</title>
			<subtitle type="html">Les nouveaux logiciels, nouvelles musiques, nouvelles documentations ou nouvelles publications de textes sur le site de Emmanuel Saracco.</subtitle>
			<link rel="self" href="http://www.esaracco.fr/news_rss.php"/>
			<id>http://www.esaracco.fr/news_rss.php</id>
			<updated>2012-02-04T09:30:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="fr-fr">
		<title type="html">Mes morceaux sur Grooveshark</title>
		<link href="http://grooveshark.com/#/search?q=emmanuel+saracco"/>
		<id>http://www.esaracco.fr/893b65717a487bb214aec3e6566a5c2c</id>
		<updated>2011-09-07T17:30:00+00:00</updated>
		<content type="html">Mise en ligne de quelques-uns de &lt;a title=&quot;Musique Emmanuel Saracco&quot; href=&quot;http://grooveshark.com/#/search?q=emmanuel+saracco&quot;&gt;mes morceaux&lt;/a&gt; sur le site &lt;a href=&quot;http://grooveshark.com/&quot;&gt;Grooveshark&lt;/a&gt;.</content>
		<author>
			<name>Emmanuel Saracco</name>
			<uri>http://www.esaracco.fr</uri>
		</author>
		<source>
			<title type="html">Emmanuel Saracco</title>
			<subtitle type="html">Les nouveaux logiciels, nouvelles musiques, nouvelles documentations ou nouvelles publications de textes sur le site de Emmanuel Saracco.</subtitle>
			<link rel="self" href="http://www.esaracco.fr/news_rss.php"/>
			<id>http://www.esaracco.fr/news_rss.php</id>
			<updated>2012-02-04T09:30:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-us">
		<title type="html">Quitting my job</title>
		<link href="http://julien.danjou.info/blog/2011/quitting-my-job"/>
		<id>http://julien.danjou.info/blog/2011/quitting-my-job</id>
		<updated>2011-08-29T10:57:00+00:00</updated>
		<content type="html">&lt;p&gt;After more than 5 years at &lt;a href=&quot;http://www.easter-eggs.com&quot;&gt;Easter-eggs&lt;/a&gt; as a
system engineer, I'll be leaving my job soon.&lt;/p&gt;
&lt;p&gt;It has been a fabulous adventure, also due to the &quot;cooperative&quot; nature of
the company. I've enjoyed worked here, with great people. I do wish them
luck for the future. Looking at the numerous things I did for the past
years, it has been quite productive!&lt;/p&gt;
&lt;p&gt;Therefore, I'll be looking for a new job in the next weeks, which will
probably keep me busy a bit. :-)&lt;/p&gt;</content>
		<author>
			<name>Julien Danjou</name>
			<uri>http://julien.danjou.info/blog/</uri>
		</author>
		<source>
			<title type="html">jd:/dev/blog</title>
			<subtitle type="html">Julien Danjou's blog</subtitle>
			<link rel="self" href="http://julien.danjou.info/blog/index.xml"/>
			<id>http://julien.danjou.info/blog/index.xml</id>
			<updated>2012-01-03T17:00:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="fr-fr">
		<title type="html">Voyage en Grèce</title>
		<link href="http://rando-velo.esaracco.fr/voyages-sans-velo/grece"/>
		<id>http://www.esaracco.fr/85712fca9d31624661daa7c0a65b17ec</id>
		<updated>2011-07-27T11:04:33+00:00</updated>
		<content type="html">Mise en ligne des photos de mon &lt;a href=&quot;http://rando-velo.esaracco.fr/voyages-sans-velo/grece&quot;&gt;voyage en Grèce&lt;/a&gt; (sans vélo cette fois-ci ;-) ).</content>
		<author>
			<name>Emmanuel Saracco</name>
			<uri>http://www.esaracco.fr</uri>
		</author>
		<source>
			<title type="html">Emmanuel Saracco</title>
			<subtitle type="html">Les nouveaux logiciels, nouvelles musiques, nouvelles documentations ou nouvelles publications de textes sur le site de Emmanuel Saracco.</subtitle>
			<link rel="self" href="http://www.esaracco.fr/news_rss.php"/>
			<id>http://www.esaracco.fr/news_rss.php</id>
			<updated>2012-02-04T09:30:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">python-oath v0.9</title>
		<link href="http://dedie.gyptis.org/~bdauvergne/wordpress/?p=36"/>
		<id>http://dedie.gyptis.org/~bdauvergne/wordpress/?p=36</id>
		<updated>2011-07-15T14:09:05+00:00</updated>
		<content type="html">&lt;p&gt;La bibliothèque a fait &lt;a href=&quot;http://pypi.python.org/pypi/oath/0.9&quot;&gt;son entrée sur pypi &lt;/a&gt;en version 0.9, le code pour HOTP et TOTP est complet et comprend une suite de test reprenant les vecteurs de test des RFC.&lt;/p&gt;
&lt;p&gt;Une nouvelle spécification a fait son entrée: OCRA ou &lt;a href=&quot;http://www.rfc-editor.org/rfc/rfc6287.txt&quot; target=&quot;_blank&quot;&gt;RFC-6287&lt;/a&gt;. OCRA ne définit pas un mais toute une suite d&amp;#8217;algorithmes d&amp;#8217;authentification simple ou mutuelle ainsi que de signature, à base de challenge sur les valeurs renvoyées par la fonction de hachage défini par HOTP. Chaque algorithme est défini par une chaine comme par exemple:&lt;/p&gt;
&lt;blockquote&gt;
&lt;pre&gt;OCRA-1:HOTP-SHA256-6:QN08&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;p&gt;Cette chaîne se lit comme il suit:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;selon la syntaxe V1 des spécifications OCRA: OCRA-1&lt;/li&gt;
&lt;li&gt;utilisant l&amp;#8217;agorithme HMAC/HOTP, via la fonction de hachage SHA256 et un résultat décimal à six caractères: HOTP-SHA256-6,&lt;/li&gt;
&lt;li&gt;en réponse à un challenge de type numérique de au maximum 8 chiffres: QN08.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;C&amp;#8217;est prévu pour couvrir un grand nombre de besoins et en même temps permettre à plusieurs implémentations d&amp;#8217;être facilement interopérable, le format de description permettant de vérifier et configurer l&amp;#8217;implémentation.&lt;/p&gt;
&lt;p&gt;La bibliothèque inclut le code d&amp;#8217;analyse de ces chaînes ainsi que le code de calcul des condensés (hash). La prochaine étape est l&amp;#8217;importation des vecteurs de test depuis la RFC et l&amp;#8217;écriture de tests unitaires les utilisant. Cela devrait donner la version 1.0.&lt;/p&gt;</content>
		<author>
			<name>Benjamin Dauvergne</name>
			<uri>http://dedie.gyptis.org/~bdauvergne/wordpress</uri>
		</author>
		<source>
			<title type="html">Mes nuits sont plus belles que vos jours » Libre Entreprise</title>
			<subtitle type="html">Un blog utilisant WordPress</subtitle>
			<link rel="self" href="http://benjamin.dauvergne.name/?cat=12&amp;feed=rss2"/>
			<id>http://benjamin.dauvergne.name/?cat=12&amp;feed=rss2</id>
			<updated>2011-07-15T14:15:02+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="fr-fr">
		<title type="html">Randonnée vélo Tours - Île de Groix</title>
		<link href="http://rando-velo.esaracco.fr/semaines/tours-ile-groix"/>
		<id>http://www.esaracco.fr/ca8c06767490f09f899638e070d7515e</id>
		<updated>2011-06-16T18:04:33+00:00</updated>
		<content type="html">Mise en ligne du journal de bord de ma &lt;a href=&quot;http://rando-velo.esaracco.fr/semaines/tours-ile-groix&quot;&gt;randonnée à vélo Tours - Île de Groix&lt;/a&gt;.</content>
		<author>
			<name>Emmanuel Saracco</name>
			<uri>http://www.esaracco.fr</uri>
		</author>
		<source>
			<title type="html">Emmanuel Saracco</title>
			<subtitle type="html">Les nouveaux logiciels, nouvelles musiques, nouvelles documentations ou nouvelles publications de textes sur le site de Emmanuel Saracco.</subtitle>
			<link rel="self" href="http://www.esaracco.fr/news_rss.php"/>
			<id>http://www.esaracco.fr/news_rss.php</id>
			<updated>2012-02-04T09:30:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="fr-fr">
		<title type="html">Randonnée vélo Tours - Rochefort-en-Terre</title>
		<link href="http://rando-velo.esaracco.fr/semaines/tours-dompierre-sur-mer-rochefort-en-terre"/>
		<id>http://www.esaracco.fr/e29b42ea4eb8672597640095fb49cb98</id>
		<updated>2011-05-24T12:47:44+00:00</updated>
		<content type="html">Mise en ligne du journal de bord de ma &lt;a href=&quot;http://rando-velo.esaracco.fr/semaines/tours-dompierre-sur-mer-rochefort-en-terre&quot;&gt;randonnée à vélo Tours - Rochefort-en-Terre&lt;/a&gt;.</content>
		<author>
			<name>Emmanuel Saracco</name>
			<uri>http://www.esaracco.fr</uri>
		</author>
		<source>
			<title type="html">Emmanuel Saracco</title>
			<subtitle type="html">Les nouveaux logiciels, nouvelles musiques, nouvelles documentations ou nouvelles publications de textes sur le site de Emmanuel Saracco.</subtitle>
			<link rel="self" href="http://www.esaracco.fr/news_rss.php"/>
			<id>http://www.esaracco.fr/news_rss.php</id>
			<updated>2012-02-04T09:30:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-us">
		<title type="html">Python sets comparisons</title>
		<link href="http://julien.danjou.info/blog/2011/python-sets-comparisons"/>
		<id>http://julien.danjou.info/blog/2011/python-sets-comparisons</id>
		<updated>2011-05-17T14:01:00+00:00</updated>
		<content type="html">&lt;p&gt;This week I lost some time playing with &lt;a href=&quot;http://python.org&quot;&gt;Python&lt;/a&gt;'s
&lt;a href=&quot;http://docs.python.org/library/stdtypes.html#set&quot;&gt;sets&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;After digging into
Python source code, I finally discovered there is what seems to be little
bug. Anyway, it has been &quot;fixed&quot; in Python 3, fortunately. I did not find if
it was reported somewhere, but since it's fixed, it's not a big deal.&lt;/p&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;
Python 2.7.1+ (default, Apr 20 2011, 10:53:33) 
[GCC 4.5.2] on linux2
Type &quot;help&quot;, &quot;copyright&quot;, &quot;credits&quot; or &quot;license&quot; for more information.
&gt;&gt;&gt; class A(object):
...     def __eq__(self, other):
...             return True
... 
&gt;&gt;&gt; A() == A()
True
&gt;&gt;&gt; [A()] == [A()]
True
&gt;&gt;&gt; set([A()]) == set([A()])
False
&lt;/pre&gt;

&lt;p&gt;This clearly did not make any sense to me. I've then tested under
Python 3.2:&lt;/p&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;
Python 3.2.1a0 (default, May  4 2011, 19:59:25) 
[GCC 4.6.1 20110428 (prerelease)] on linux2
Type &quot;help&quot;, &quot;copyright&quot;, &quot;credits&quot; or &quot;license&quot; for more information.
&gt;&gt;&gt; class A(object):
...     def __eq__(self, other):
...             return True
... 
&gt;&gt;&gt; set([A()]) == set([A()])
Traceback (most recent call last):
  File &quot;&quot;, line 1, in 
TypeError: unhashable type: 'A'
&lt;/pre&gt;

&lt;p&gt;At least, raising an error is saner. It actually helped me to understand
what I needed to do to have my sets working correctly with Python 2:&lt;/p&gt;
&lt;pre class=&quot;prettyprint&quot;&gt;
Python 2.7.1+ (default, Apr 20 2011, 10:53:33) 
[GCC 4.5.2] on linux2
Type &quot;help&quot;, &quot;copyright&quot;, &quot;credits&quot; or &quot;license&quot; for more information.
&gt;&gt;&gt; class A(object):
...     def __eq__(self, other):
...             return True
...     def __hash__(self):
...             return 123456789
... 
&gt;&gt;&gt; set([A()]) == set([A()])
True
&lt;/pre&gt;</content>
		<author>
			<name>Julien Danjou</name>
			<uri>http://julien.danjou.info/blog/</uri>
		</author>
		<source>
			<title type="html">jd:/dev/blog</title>
			<subtitle type="html">Julien Danjou's blog</subtitle>
			<link rel="self" href="http://julien.danjou.info/blog/index.xml"/>
			<id>http://julien.danjou.info/blog/index.xml</id>
			<updated>2012-01-03T17:00:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-us">
		<title type="html">Why not Lua</title>
		<link href="http://julien.danjou.info/blog/2011/why-not-lua"/>
		<id>http://julien.danjou.info/blog/2011/why-not-lua</id>
		<updated>2011-04-26T18:53:00+00:00</updated>
		<content type="html">&lt;p&gt;Since my latest announcement of the &lt;a href=&quot;http://julien.danjou.info/blog/2011/lua-workshop-at-Fabelier-tmplab&quot;&gt;Lua workshop&lt;/a&gt;, I received a couple of
emails asking why I discourage the use of &lt;a href=&quot;http://lua.org&quot;&gt;Lua&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Actually, I already wrote out many of &lt;a href=&quot;http://julien.danjou.info/blog/2008/rants-about-lua&quot;&gt;the things I dislike about Lua&lt;/a&gt;. I
won't come back on this technical issues here, but since Lua 5.2 is not yet
released (it's still at alpha stage), they are still relevant nowadays.&lt;/p&gt;
&lt;h1&gt;Stack based API is harder&lt;/h1&gt;
&lt;p&gt;The ease of integration of Lua into a C program is one of the point of Lua.
They claim it's very easy to integrate Lua into your C application, because
it does not use pointer, nor reference counting, nor anything that requires
a minimum amount of skills to be used.&lt;/p&gt;
&lt;p&gt;It uses a virtual stack based approach. You push or pop things on a stack,
and refers to them using a relative or absolute index.&lt;/p&gt;
&lt;p&gt;In order to people who never wrote Lua code to understand, here's a quick
example on how this work. The &lt;em&gt;L&lt;/em&gt; pointer is a Lua environment.&lt;/p&gt;
&lt;pre class=&quot;prettyprint lang-c&quot;&gt;
/* Create a table on the stack: index 1 */
lua_newtable(L);
/* Push a string on the stack: index 2 */
lua_pushstring(L, &quot;hello&quot;);
/* Push a number on the stack: index 3 */
lua_pushnumber(L, 123);
/* Set newtable[&quot;hello&quot;] = 123 */
lua_settable(L, -3);
&lt;/pre&gt;

&lt;p&gt;You first push a table (in Lua, a table is almost equivalent to what you'd
call a hash table in other language), then push the key, the value, and do
the assignment operation. In the settable, we use -3 as index, meaning the
&quot;3rd item on the stack counting from top&quot;. We could also have written
&lt;em&gt;lua_settable(L, 1)&lt;/em&gt;, since the table is also the first item on the stack from
the bottom.&lt;/p&gt;
&lt;p&gt;So far, so good.&lt;/p&gt;
&lt;p&gt;Problems arise when you do more complicated stuff. My previous example is
what you would typically find in a tutorial, but of course, real life is
different, and usually more complex. If you cut the things in different
parts, it can start to be more complicated.&lt;/p&gt;
&lt;p&gt;Let's take a look at the following:&lt;/p&gt;
&lt;pre class=&quot;prettyprint lang-c&quot;&gt;
/* Create a table on the stack: index 1 */
lua_newtable(L);
/* Push a string on the stack: index 2 */
lua_pushstring(L, &quot;hello&quot;);
/* Push a number on the stack: index 3 */
lua_pushnumbe(L, mycomputingfunction());
/* Set newtable[&quot;hello&quot;] = 123 */
lua_settable(L, -3);
&lt;/pre&gt;

&lt;p&gt;Here, we do exactly the same thing, but we do not push &lt;em&gt;123&lt;/em&gt; directly: we
compute it.&lt;/p&gt;
&lt;p&gt;And here's the trick: if your computing function is also using the Lua
stack, things can become &lt;em&gt;very&lt;/em&gt; messy. As long as your computing function use
the stack cleanly by pushing and poping all its item, and returning the
stack &lt;strong&gt;in the same state it was before&lt;/strong&gt;, you're safe. The problem is that in a
complex program, you also write bugs. You do not chose to, but you do. And
sometimes, you forget to pop one of the item you fetched from a table.&lt;/p&gt;
&lt;p&gt;Imagine that &lt;em&gt;mycomputingfunction&lt;/em&gt; is:&lt;/p&gt;
&lt;pre class=&quot;prettyprint lang-c&quot;&gt;
int
mycomputingfunctiong(void)
{
  /* Just push the table we want to fetch
     the number from on the stack */
  pushatableonstack(L);
  lua_pushstring(L, &quot;mykey&quot;);
  lua_gettable(L, -2);
  return lua_tonumber(L, -1);
}
&lt;/pre&gt;

&lt;p&gt;This function works perfectly. It pushes a table, then a key (&lt;em&gt;&quot;mykey&quot;&lt;/em&gt;), then
fetches mytable[&quot;mykey&quot;] and pops the key (lua_gettable does push value/pop
key itself), and then returns the numeric value of the last item (the
fetched one) of the stack.&lt;/p&gt;
&lt;p&gt;However, this function has a bug: it does not pop the table! This does not
prevent the function to work. It does not raise a segmentation fault. It
does not show any problem under &lt;a href=&quot;http://www.gnu.org/software/gdb/&quot;&gt;gdb&lt;/a&gt;. It does not show any leak under
&lt;a href=&quot;http://valgrind.org/&quot;&gt;Valgrind&lt;/a&gt;. It does now show any problem under &lt;strong&gt;any standard C debugging tool&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;But when you'll start using it, your program will start to do weird things,
and you'll have to spend a huge amount of time debugging it manually,
dumping the stack content at each step of your program to watch out what's
wrong.&lt;/p&gt;
&lt;p&gt;Another bad thing, that can happen, is some code poping accidentally an item
from the stack, or worst, from an empty stack. This does not raise any error
on the Lua side, but will break your program in very unfunny way.&lt;/p&gt;
&lt;p&gt;Even if I've been very meticulous writing &lt;a href=&quot;http://awesome.naquadah.org&quot;&gt;awesome&lt;/a&gt;, but we hit that problem
regularly.&lt;/p&gt;
&lt;p&gt;The easiest workaround is to use &lt;em&gt;lua_settop(L, 0)&lt;/em&gt; to reset the stack to 0
element. Doing this regularly (like after each program event or treatment)
can remove left-over items and avoid the never ending stack grow you may
experience if your left-over items continue to pile up. Did I tell you I
dislike work-around?&lt;/p&gt;
&lt;p&gt;You could also use &lt;em&gt;lua_call()&lt;/em&gt;, which would avoid such an error, but this
would require a huge amount of indirection, and would make write more
(useless) code.&lt;/p&gt;
&lt;p&gt;This kind of problem does not exists with pointer based API. If you screw
things up, the problem will cause a segmentation fault or leak memory, or
cause things you can (easily) debug with standard tools like gdb or
Valgrind.&lt;/p&gt;
&lt;h1&gt;No reference counting is a pain in the ass&lt;/h1&gt;
&lt;p&gt;Userdata objects are variable Lua size objects embedding a C struct you
define. It's the equivalent of an object in object oriented language.&lt;/p&gt;
&lt;p&gt;Lua does not provide any reference counting for the userdata objects. That
means you can push this objects on the stack, use them, but they cannot
directly reference each others. If you have a &quot;car&quot; userdata and a &quot;wheel&quot;
one, the car cannot hold directly a reference to the wheel. This is not
possible because userdata are allocated and garbage collected by Lua, and
there's no way to increase the reference counting yourself.&lt;/p&gt;
&lt;p&gt;So the common hack is to store the wheel into a table as a value, and store
the table index as an integer into the car data structure.&lt;/p&gt;
&lt;p&gt;This obviously makes memory leaks tracking harder, add huge level of
reference indirection in usage (still more code), and does not make the
whole process less error prone (at least in my opinion).&lt;/p&gt;
&lt;h1&gt;No paradigm makes you lose time&lt;/h1&gt;
&lt;p&gt;Lua is proud to come with no paradigm and to provide metatables.
&lt;a href=&quot;http://julien.danjou.info/blog/2008.html#_Rants_about_Lua&quot;&gt;I already showed 3 years ago that it has big flaws&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;To me, this ain't no good. Lua is not functional, nor it is object oriented.&lt;/p&gt;
&lt;p&gt;Most people, including me, want one of this paradigm, or any else. Plain old
imperative is not enough.&lt;/p&gt;
&lt;p&gt;So you'll start to build more, or to use something like &lt;a href=&quot;http://loop.luaforge.net/&quot;&gt;LOOP&lt;/a&gt;, which
implements an object model. You'll implement your paradigm. I say life is
too short to (re)write a paradigm.&lt;/p&gt;
&lt;p&gt;In &lt;a href=&quot;http://awesome.naquadah.org&quot;&gt;awesome&lt;/a&gt; we wanted to have an object oriented approach (this is kind of
typical in such a graphical application context), so we tried to build one.
To me, this started to be a show stopper when I realized that I've ended
writing Python object model into Lua while developing &lt;em&gt;awesome (which aims to
be a window manager, not a language)&lt;/em&gt;. This is one of the reason I stopped
hacking on Lua things.&lt;/p&gt;
&lt;p&gt;I liked Python object model and wanted to have it in Lua, and spending time
rewriting Python is just not worth it. I probably should have chose Python,
not Lua. YMMV.&lt;/p&gt;
&lt;h1&gt;Embedding may not be a good choice&lt;/h1&gt;
&lt;p&gt;This is not Lua related, but I want to mention it. Googling for
&quot;&lt;a href=&quot;http://www.google.fr/search?q=embedding+vs+extending&quot;&gt;embedding vs extending&lt;/a&gt;&quot; will probably tell you more about why you should
double check that you really need to embed Lua rather than to extend it.&lt;/p&gt;
&lt;h1&gt;Being small is not an excuse&lt;/h1&gt;
&lt;p&gt;One common argument to choose Lua is that it has a small footprint. Yeah,
that's true, but that's useless. Bummer! When I program, I don't have any
resource usage pressure. People who have such pressure are either paranoids
or playing in the world of embedded computers. This is also a no more
existing conception since quad core processors equiped phones are coming
into the market. I'm rather confident that what we used to call embedded
devices are just dead and are now plain computers. But as usual, YMMV.&lt;/p&gt;
&lt;p&gt;So start to forget about it, run in your underpants and yelling &quot;yay we
killed that shit!&quot;, and then use real computers stuff. :-)&lt;/p&gt;
&lt;p&gt;Even &lt;a href=&quot;http://shootout.alioth.debian.org/u32/lua.php&quot;&gt;if benchmarks show how Lua is damn fast&lt;/a&gt;, remember what a benchmark
proves: that you can do useless things very fast.&lt;/p&gt;
&lt;h1&gt;Too few extension modules&lt;/h1&gt;
&lt;p&gt;This is not directly Lua's fault, but there's too few extension modules for
Lua. The community is quite small compared to other big languages' ones.&lt;/p&gt;
&lt;h1&gt;So think twice&lt;/h1&gt;
&lt;p&gt;before you choose Lua (or any other language). My recommendations these days
would be not to embed, but to extend. If you really have no choice and need
to embed a language into your application, &lt;a href=&quot;http://www.gnu.org/s/guile/&quot;&gt;GNU Guile&lt;/a&gt; is probably worth
considering, because it's a Scheme and therefore a functional language :-),
and because it can provides also different languages.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://git.savannah.gnu.org/gitweb/?p=guile.git;a=shortlog;h=refs/heads/lua&quot;&gt;Including Lua&lt;/a&gt;.&lt;/p&gt;</content>
		<author>
			<name>Julien Danjou</name>
			<uri>http://julien.danjou.info/blog/</uri>
		</author>
		<source>
			<title type="html">jd:/dev/blog</title>
			<subtitle type="html">Julien Danjou's blog</subtitle>
			<link rel="self" href="http://julien.danjou.info/blog/index.xml"/>
			<id>http://julien.danjou.info/blog/index.xml</id>
			<updated>2012-01-03T17:00:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="fr-fr">
		<title type="html">Randonnée vélo Tours - Île d'Oléron</title>
		<link href="http://rando-velo.esaracco.fr/semaines/tours-dompierre-sur-mer-ile-oleron"/>
		<id>http://www.esaracco.fr/95c048fe7c12dd89a61f5c99a153f514</id>
		<updated>2011-04-25T20:19:02+00:00</updated>
		<content type="html">Mise en ligne du journal de bord de ma &lt;a href=&quot;http://rando-velo.esaracco.fr/semaines/tours-dompierre-sur-mer-ile-oleron&quot;&gt;randonnée à vélo Tours - Île d'Oléron&lt;/a&gt;.</content>
		<author>
			<name>Emmanuel Saracco</name>
			<uri>http://www.esaracco.fr</uri>
		</author>
		<source>
			<title type="html">Emmanuel Saracco</title>
			<subtitle type="html">Les nouveaux logiciels, nouvelles musiques, nouvelles documentations ou nouvelles publications de textes sur le site de Emmanuel Saracco.</subtitle>
			<link rel="self" href="http://www.esaracco.fr/news_rss.php"/>
			<id>http://www.esaracco.fr/news_rss.php</id>
			<updated>2012-02-04T09:30:04+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Rejuvenating your release team</title>
		<link href="http://www.0d.be/2011/04/19/rejuvenating-your-release-team/"/>
		<id>http://www.0d.be/posts/449</id>
		<updated>2011-04-19T08:21:27+00:00</updated>
		<content type="html">&lt;p&gt;Vincent is &lt;a class=&quot;reference external&quot; href=&quot;http://www.vuntz.net/journal/post/2011/04/18/Taking-my-release-manager-hat-off&quot;&gt;taking his release team hat off&lt;/a&gt; and dropped it on my head. I am a bit sad because the real blue hat has been lost, but I am very happy to be here at this time, GNOME 3 is out, people loves it.&lt;/p&gt;
&lt;p&gt;For 3.2 we will continue to have our work driven by design, and we are making adjustments to our schedule and processes to keep on going with a global vision, there have been a few emails about feature planning on desktop-devel-list, we will expand on that soon, but for now, I wanted this post  to give all my thanks to &lt;a class=&quot;reference external&quot; href=&quot;http://vuntz.net&quot;&gt;Vincent Untz&lt;/a&gt; (plenty of time for icecreams now), &lt;a class=&quot;reference external&quot; href=&quot;http://lucasr.org&quot;&gt;Lucas Rocha&lt;/a&gt; (don't forget to add ajax support to the board), and &lt;a class=&quot;reference external&quot; href=&quot;http://blog.crozat.net&quot;&gt;Frédéric Crozat&lt;/a&gt; (we will continue harassing you for live usb images), who are leaving the team, and to welcome our new members,&lt;/p&gt;
&lt;ul class=&quot;simple&quot;&gt;
&lt;li&gt;Luca Ferreti, he was a team member already but Vincent gave him a trainee badge as no one was leaving at that time; he has already been helping with releases;&lt;/li&gt;
&lt;li&gt;Javier Jardón, he arrived on #gnome-love someday, got hooked fixing build failures and went on to lead wide goals to improve our modules, and more;&lt;/li&gt;
&lt;li&gt;Alejandro Piñeiro Iglesias, I met him in the build brigade, but really he is now an accessibility guy, and his expertise in the domain will be immensely valuable;&lt;/li&gt;
&lt;li&gt;Colin Walters, shell developer, involved with gobject introspection from the beginning, his latest feat has been to push for a standalone spidermonkey release from our friends in Mozilla.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Let's now go to 3.2, and beyond!&lt;/p&gt;</content>
		<author>
			<name>Frédéric Péters</name>
			<uri>http://www.0d.be</uri>
		</author>
		<source>
			<title type="html">Entre code et gazon</title>
			<link rel="self" href="http://www.0d.be/feed-planet.xml/atom"/>
			<id>http://www.0d.be/feeds/default/atom</id>
			<updated>2012-02-04T09:30:02+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-us">
		<title type="html">Lua workshop at Fabelier/tmplab</title>
		<link href="http://julien.danjou.info/blog/2011/lua-workshop-at-Fabelier-tmplab"/>
		<id>http://julien.danjou.info/blog/2011/lua-workshop-at-Fabelier-tmplab</id>
		<updated>2011-04-14T14:04:00+00:00</updated>
		<content type="html">&lt;p&gt;It seems I'll be at the &lt;a href=&quot;http://fabelier.org/lua-programming-language-by-julien-danjou/&quot;&gt;Lua workshop at Fabelier/tmplab&lt;/a&gt; on April 28th 2011,
where I'll try to present and talk about &lt;a href=&quot;http://lua.org&quot;&gt;Lua&lt;/a&gt;, how to use it, and why you
should probably not use it. ;-)&lt;/p&gt;</content>
		<author>
			<name>Julien Danjou</name>
			<uri>http://julien.danjou.info/blog/</uri>
		</author>
		<source>
			<title type="html">jd:/dev/blog</title>
			<subtitle type="html">Julien Danjou's blog</subtitle>
			<link rel="self" href="http://julien.danjou.info/blog/index.xml"/>
			<id>http://julien.danjou.info/blog/index.xml</id>
			<updated>2012-01-03T17:00:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="fr-fr">
		<title type="html">Randonnée vélo Tours - Bouchemaine</title>
		<link href="http://rando-velo.esaracco.fr/week-ends/tours-bouchemaine2"/>
		<id>http://www.esaracco.fr/91c0f4499ee7974d04e78a837702b1e5</id>
		<updated>2011-04-11T06:22:38+00:00</updated>
		<content type="html">Mise en ligne du journal de bord de ma &lt;a href=&quot;http://rando-velo.esaracco.fr/week-ends/tours-bouchemaine2&quot;&gt;randonnée à vélo Tours - Bouchemaine&lt;/a&gt;.</content>
		<author>
			<name>Emmanuel Saracco</name>
			<uri>http://www.esaracco.fr</uri>
		</author>
		<source>
			<title type="html">Emmanuel Saracco</title>
			<subtitle type="html">Les nouveaux logiciels, nouvelles musiques, nouvelles documentations ou nouvelles publications de textes sur le site de Emmanuel Saracco.</subtitle>
			<link rel="self" href="http://www.esaracco.fr/news_rss.php"/>
			<id>http://www.esaracco.fr/news_rss.php</id>
			<updated>2012-02-04T09:30:04+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">GNOME 3.0</title>
		<link href="http://www.0d.be/2011/04/07/gnome-3-0/"/>
		<id>http://www.0d.be/posts/448</id>
		<updated>2011-04-07T06:58:45+00:00</updated>
		<content type="html">&lt;p&gt;With no consideration for Bangalore timezone or my sleep schedule, GNOME 3.0 has now been released! Live images are already updated (go &lt;a class=&quot;reference external&quot; href=&quot;http://www.gnome3.org/tryit.html&quot;&gt;try them&lt;/a&gt;) and packages are flowing into distributions.&lt;/p&gt;
&lt;img alt=&quot;/files/iamgnome.png&quot; src=&quot;http://www.0d.be/files/iamgnome.png&quot; /&gt;
&lt;p&gt;I originally had plans for some tourism in Bangalore after &lt;a class=&quot;reference external&quot; href=&quot;http://2011.gnome.asia/&quot;&gt;GNOME.Asia&lt;/a&gt; (fanstastic event) but didn't do much in the end as everyone was working hard on the release, and I certainly didn't want to let it happen without my part of the effort.&lt;/p&gt;
&lt;p&gt;And that effort has been concentrated on the documentation websites, &lt;a class=&quot;reference external&quot; href=&quot;http://library.gnome.org&quot;&gt;library.gnome.org&lt;/a&gt;, updated to the new website look, and &lt;a class=&quot;reference external&quot; href=&quot;http://developer.gnome.org&quot;&gt;developer.gnome.org&lt;/a&gt;, a revived site dedicated to developers, working on and with GNOME technologies. It couldn't have happened without the Berlin Development and Documentation Tools hackfest, and the collective effort of numerous hackers, inspired by the immense work &lt;a class=&quot;reference external&quot; href=&quot;http://blogs.gnome.org/shaunm/&quot;&gt;Shaun McCance&lt;/a&gt; has been doing for years.&lt;/p&gt;
&lt;p&gt;Thanks everyone for making it happen, and let's all step into the GNOME 3 era.&lt;/p&gt;</content>
		<author>
			<name>Frédéric Péters</name>
			<uri>http://www.0d.be</uri>
		</author>
		<source>
			<title type="html">Entre code et gazon</title>
			<link rel="self" href="http://www.0d.be/feed-planet.xml/atom"/>
			<id>http://www.0d.be/feeds/default/atom</id>
			<updated>2012-02-04T09:30:02+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-us">
		<title type="html">Using advanced filter with mod_authnz_ldap</title>
		<link href="http://julien.danjou.info/blog/2011/using-advanced-filter-with-mod_authnz_ldap"/>
		<id>http://julien.danjou.info/blog/2011/using-advanced-filter-with-mod_authnz_ldap</id>
		<updated>2011-04-04T14:02:00+00:00</updated>
		<content type="html">&lt;p&gt;As you may know, Apache's &lt;a href=&quot;http://httpd.apache.org/docs/2.2/mod/mod_authnz_ldap.html&quot;&gt;mod_authzn_ldap&lt;/a&gt; allows to authenticate users in
Apache HTTP server using an LDAP server. Unfortunately, it has a little
implementation flaw.&lt;/p&gt;
&lt;p&gt;The filter used to authenticate the user is built by abusing the &lt;a href=&quot;http://www.ietf.org/rfc/rfc2255.txt&quot;&gt;RFC 2255&lt;/a&gt;
which specifies the LDAP URL format. This format has an &quot;attribute&quot; field
which is normally used to specify which attributes should be returned. But
&lt;em&gt;mod_authzn_ldap&lt;/em&gt; uses this attribute to compare with the username given by
the client. That means that you have to have an attribute in your LDAP
entries which matches the username, and you have to use it in the
&quot;attribute&quot; part of the URL to get things working.&lt;/p&gt;
&lt;p&gt;Therefore, I wrote a patch to add a format string in the LDAP URL in order
to user the provided username in the filter, and ignore the attribute part
of the URL, which has no use in such a context anyway.&lt;/p&gt;
&lt;p&gt;The bug has been opened in ASF Bugzilla and has number &lt;a href=&quot;https://issues.apache.org/bugzilla/show_bug.cgi?id=51005&quot;&gt;#51005&lt;/a&gt;, with the
patch. The patch is backward compatible with the current configuration
format, which is not the best choice in theory, but probably the more
pragmatic.&lt;/p&gt;
&lt;p&gt;I've no clue on the typical delay for patches in clusion in Apache HTTP
server, so le
t's just wait'n see.&lt;/p&gt;</content>
		<author>
			<name>Julien Danjou</name>
			<uri>http://julien.danjou.info/blog/</uri>
		</author>
		<source>
			<title type="html">jd:/dev/blog</title>
			<subtitle type="html">Julien Danjou's blog</subtitle>
			<link rel="self" href="http://julien.danjou.info/blog/index.xml"/>
			<id>http://julien.danjou.info/blog/index.xml</id>
			<updated>2012-01-03T17:00:03+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Bad news for Mozilla embedders</title>
		<link href="http://www.0d.be/2011/03/31/bad-news-for-mozilla-embedders/"/>
		<id>http://www.0d.be/posts/447</id>
		<updated>2011-04-01T01:44:57+00:00</updated>
		<content type="html">&lt;p&gt;The Heise Online just published an article, &lt;a class=&quot;reference external&quot; href=&quot;http://www.h-online.com/open/news/item/Mozilla-kills-embedding-support-for-Gecko-layout-engine-1218990.html&quot;&gt;Mozilla kills embedding support for Gecko layout engine&lt;/a&gt;, without making any fuss it starts with &lt;em&gt;&amp;quot;Mozilla has officially ended support for embedding the Gecko layout engine in applications other than Mozilla core applications&amp;quot;&lt;/em&gt;, then it links to Benjamin Smedberg post on mozilla.dev.embedding but it doesn't offer much details, or reasons (other than &amp;quot;our product is firefox, we have to focus ressources there.&amp;quot;).&lt;/p&gt;
&lt;p&gt;This article ends with an open question, about applications that are currently using Gecko, but it erroneously cites Devhelp. Devhelp has been ported to Webkit a long time ago (I had a post title &amp;quot;&lt;a class=&quot;reference external&quot; href=&quot;http://www.0d.be/2007/08/26/devhelp-webkit/&quot;&gt;Devhelp with Webkit&lt;/a&gt; back in 2007).&lt;/p&gt;
&lt;p&gt;No worries for Devhelp then; but while it talks about Gecko only this decision may be of concern to us, if it was extended to Mozilla Javascript engine (SpiderMonkey); a few months ago Colin Walters was actually quite positive (&amp;quot;&lt;a class=&quot;reference external&quot; href=&quot;http://mail.gnome.org/archives/desktop-devel-list/2010-December/msg00062.html&quot;&gt;Actually we're discussing this upstream again very productively; there's renewed interest in supporting embedders, and I'm in the process of getting some patches in to help here.&lt;/a&gt;&amp;quot;) but who knows... Mozilla certainly keeps on ignoring some of our needs, I can't count the number of times jhbuild had to be updated because a xulrunner tarball was removed from their mirrors. (last time? two days ago, &lt;a class=&quot;reference external&quot; href=&quot;https://bugzilla.gnome.org/show_bug.cgi?id=645971&quot;&gt;bug 645971&lt;/a&gt;).&lt;/p&gt;</content>
		<author>
			<name>Frédéric Péters</name>
			<uri>http://www.0d.be</uri>
		</author>
		<source>
			<title type="html">Entre code et gazon</title>
			<link rel="self" href="http://www.0d.be/feed-planet.xml/atom"/>
			<id>http://www.0d.be/feeds/default/atom</id>
			<updated>2012-02-04T09:30:02+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">199 / 199</title>
		<link href="http://www.0d.be/2011/03/31/199-of-199/"/>
		<id>http://www.0d.be/posts/446</id>
		<updated>2011-03-31T11:58:50+00:00</updated>
		<content type="html">&lt;p&gt;Fourth day of the Bangalore release hackfest and things are going smoothly; after the Intel offices in the beginning of the week (thanks Intel!) we are now at the &lt;a class=&quot;reference external&quot; href=&quot;http://2011.gnome.asia/&quot;&gt;GNOME.Asia&lt;/a&gt; summit venue, the Dayananda Sagar Institutions, still hard working at &amp;quot;release team&amp;quot; stuff, and more.&lt;/p&gt;
&lt;p&gt;Today, between testing and approving patches (go read the &lt;a class=&quot;reference external&quot; href=&quot;http://blogs.gnome.org/ovitters/2011/03/30/on-the-road-to-gnome-3-0/&quot;&gt;On the road to GNOME 3.0&lt;/a&gt; post of Olav for details) and work on the future library.gnome.org and developer.gnome.org, I managed to reach the mythical &amp;quot;100% building&amp;quot; status on my build slave on &lt;a class=&quot;reference external&quot; href=&quot;http://build.gnome.org&quot;&gt;build.gnome.org&lt;/a&gt;, 199 out of 199 modules built correctly, at the same time.&lt;/p&gt;
&lt;p&gt;Good sign for the forthcoming release!&lt;/p&gt;</content>
		<author>
			<name>Frédéric Péters</name>
			<uri>http://www.0d.be</uri>
		</author>
		<source>
			<title type="html">Entre code et gazon</title>
			<link rel="self" href="http://www.0d.be/feed-planet.xml/atom"/>
			<id>http://www.0d.be/feeds/default/atom</id>
			<updated>2012-02-04T09:30:02+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Server upgraded from Debian Lenny to Debian Squeeze</title>
		<link href="http://labs.libre-entreprise.org/forum/forum.php?forum_id=762"/>
		<id>http://labs.libre-entreprise.org/forum/forum.php?forum_id=762</id>
		<updated>2011-03-30T16:00:07+00:00</updated>
		<content type="html">The server hosting this forge has just been upgraded to Debian Squeeze. Tell us if you found any new problem.</content>
		<author>
			<name>Labs</name>
			<uri>http://labs.libre-entreprise.org</uri>
		</author>
		<source>
			<title type="html">Labs Project News</title>
			<subtitle type="html">Labs Project News Highlights</subtitle>
			<link rel="self" href="http://labs.libre-entreprise.org/export/rss_sfnews.php"/>
			<id>http://labs.libre-entreprise.org/export/rss_sfnews.php</id>
			<updated>2012-02-04T09:30:05+00:00</updated>
			<rights type="html">Copyright 1999-2000 VA Linux Systems, Inc.</rights>
		</source>
	</entry>

	<entry>
		<title type="html">Bangalore Release Hackfest</title>
		<link href="http://www.0d.be/2011/03/28/bangalore-release-hackfest/"/>
		<id>http://www.0d.be/posts/445</id>
		<updated>2011-03-28T18:51:22+00:00</updated>
		<content type="html">&lt;p&gt;First day of the hackfest and Allan Day &lt;a class=&quot;reference external&quot; href=&quot;http://afaikblog.wordpress.com/2011/03/28/gnome-3-hackfest-day-one/&quot;&gt;wrote we would do release team things&lt;/a&gt;, but what would those &amp;quot;release team things&amp;quot; be? Many things!&lt;/p&gt;
&lt;p&gt;Just go and see all the things &lt;a class=&quot;reference external&quot; href=&quot;http://blogs.gnome.org/aklapper/2011/03/28/now-let-me-break-stuff/&quot;&gt;Andre did today&lt;/a&gt;, or the &lt;a class=&quot;reference external&quot; href=&quot;http://git.gnome.org/browse/gnome-panel/log/?h=wip/3.0-freeze-break&quot;&gt;gnome-panel branch&lt;/a&gt; of Vincent (299 files changed, 17334 insertions(+), 27275 deletions(-)).&lt;/p&gt;
&lt;p&gt;&amp;quot;Now let me break stuff&amp;quot;, &amp;quot;3.0-freeze-break&amp;quot;, noticed the pattern? But don't take it seriously, we are making 3.0 rock, together with the release team members that couldn't join us and are also working hard.&lt;/p&gt;
&lt;p&gt;What about me, some details about what I did? I went for boring things, like pushing a preliminary set of modules for our second release candidate, which was initially planned for today, then building and smoketesting it, including the gnome-panel changes mentioned above. For the record that release will finally happen tomorrow, and I blame the timezone for this.&lt;/p&gt;
&lt;p&gt;That's it, you should now imagine a &amp;quot;Sponsored by the GNOME Foundation&amp;quot; badge here (thanks!), and a &amp;quot;meet me at GNOME.Asia summit 2011&amp;quot;  image on the other side; and go over to read what the other participants did, they've done so much already.&lt;/p&gt;</content>
		<author>
			<name>Frédéric Péters</name>
			<uri>http://www.0d.be</uri>
		</author>
		<source>
			<title type="html">Entre code et gazon</title>
			<link rel="self" href="http://www.0d.be/feed-planet.xml/atom"/>
			<id>http://www.0d.be/feeds/default/atom</id>
			<updated>2012-02-04T09:30:02+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-us">
		<title type="html">Org contacts now part of org-contrib</title>
		<link href="http://julien.danjou.info/blog/2011/org-contacts-now-part-of-org-contrib"/>
		<id>http://julien.danjou.info/blog/2011/org-contacts-now-part-of-org-contrib</id>
		<updated>2011-03-18T18:08:00+00:00</updated>
		<content type="html">&lt;p&gt;Thanks to my recent promotion allowing me to commit directly in Org-mode,
I've moved &lt;a href=&quot;http://julien.danjou.info/software/org-contacts.el&quot;&gt;Org-contacts&lt;/a&gt;
into the contrib directory of the &lt;a href=&quot;http://www.orgmode.org&quot;&gt;Orgmode&lt;/a&gt;
distribution.&lt;/p&gt;</content>
		<author>
			<name>Julien Danjou</name>
			<uri>http://julien.danjou.info/blog/</uri>
		</author>
		<source>
			<title type="html">jd:/dev/blog</title>
			<subtitle type="html">Julien Danjou's blog</subtitle>
			<link rel="self" href="http://julien.danjou.info/blog/index.xml"/>
			<id>http://julien.danjou.info/blog/index.xml</id>
			<updated>2012-01-03T17:00:03+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Libnotify Adoption</title>
		<link href="http://www.0d.be/2011/03/13/libnotify adoption/"/>
		<id>http://www.0d.be/posts/444</id>
		<updated>2011-03-13T16:16:08+00:00</updated>
		<content type="html">&lt;p&gt;This is a quiet Sunday, perfect to spend time reading blogs, and doing so made me want to look in Bugzilla if requests for supporting appindicators had been mistreated, but the first bug report I read was about Empathy, and I read the following comment:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;«&amp;nbsp;My understanding of the GNOME release process is that the release team prefers to see a library used as a configure time option of several projects before accepting it as a dependency.  This removes the &amp;quot;I built a library that sounds good but no one really uses&amp;quot; problem of adding libraries to the platform.  For instance, libnotify has been used by many programs before it was a blessed dependency for 2.26.&amp;nbsp;»&lt;/p&gt;
&lt;p class=&quot;attribution&quot;&gt;&amp;mdash;Ted Gould, in &lt;a class=&quot;reference external&quot; href=&quot;https://bugzilla.gnome.org/show_bug.cgi?id=574744#c12&quot;&gt;bug 574744&lt;/a&gt;, &amp;quot;Empathy could take advantage of the Messaging Indicator&amp;quot;, 2009-04-06.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;So I was derailed and went looking for the case of libnotify, which I had forgotten, and indeed, libnotify was proposed for 2.20, and refused,&lt;/p&gt;
&lt;pre class=&quot;literal-block&quot;&gt;
+ libnotify
  - mixed feelings within the release team.
  - this is being used more and more, so it's pretty clear
    there's a demand for this.
  - some of us still strongly feel that it should live in one
    of the libraries we already have in our stack (probably
    GTK+). We'd like to see people working on integrating
    this in our stack, or explaining why it's not possible to
    do so.
  - what might be worth is accepting the dbus API: this is
    something that will happen more and more in the future
    (think Xesam, for example). The API probably needs to be
    standardized, though.
&lt;/pre&gt;
&lt;p&gt;— Vincent Untz, in &lt;a class=&quot;reference external&quot; href=&quot;http://mail.gnome.org/archives/devel-announce-list/2007-August/msg00004.html&quot;&gt;New module decisions for 2.20&lt;/a&gt;, 2007-08-10&lt;/p&gt;
&lt;p&gt;And it was finally in 2.26 that is was approved, and it was still noted at that time that it would be better to have it in GTK+.&lt;/p&gt;
&lt;pre class=&quot;literal-block&quot;&gt;
+ libnotify (external dependency)
 - widely used
 - would be nice to have a more active development
 - feature that should live in GTK+ in the future (when dbus
   can be used there)
 =&amp;gt; approved
   The release team wants to stress out that it should really
   not be abused (as it tends to be).
&lt;/pre&gt;
&lt;p&gt;— Vincent Untz, in &lt;a class=&quot;reference external&quot; href=&quot;http://mail.gnome.org/archives/devel-announce-list/2009-January/msg00006.html&quot;&gt;New module decisions for 2.26&lt;/a&gt;, 2009-01-21&lt;/p&gt;
&lt;p&gt;For reference I found this list of requests for appindicator support: &lt;a class=&quot;reference external&quot; href=&quot;https://bugzilla.gnome.org/show_bug.cgi?id=574744&quot;&gt;Empathy&lt;/a&gt;, &lt;a class=&quot;reference external&quot; href=&quot;https://bugzilla.gnome.org/show_bug.cgi?id=606673&quot;&gt;Ekiga&lt;/a&gt;, &lt;a class=&quot;reference external&quot; href=&quot;https://bugzilla.gnome.org/show_bug.cgi?id=606674&quot;&gt;Epiphany&lt;/a&gt;, &lt;a class=&quot;reference external&quot; href=&quot;https://bugzilla.gnome.org/show_bug.cgi?id=606419&quot;&gt;Vino&lt;/a&gt;, and &lt;a class=&quot;reference external&quot; href=&quot;https://bugzilla.gnome.org/show_bug.cgi?id=606671&quot;&gt;GNOME Control Center&lt;/a&gt;, in case someone wants to look for mistreatments.&lt;/p&gt;</content>
		<author>
			<name>Frédéric Péters</name>
			<uri>http://www.0d.be</uri>
		</author>
		<source>
			<title type="html">Entre code et gazon</title>
			<link rel="self" href="http://www.0d.be/feed-planet.xml/atom"/>
			<id>http://www.0d.be/feeds/default/atom</id>
			<updated>2012-02-04T09:30:02+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-us">
		<title type="html">Second OrgCamp Paris</title>
		<link href="http://julien.danjou.info/blog/2011/second-orgcamp-paris"/>
		<id>http://julien.danjou.info/blog/2011/second-orgcamp-paris</id>
		<updated>2011-03-11T17:01:00+00:00</updated>
		<content type="html">&lt;p&gt;I'll be at the &lt;a href=&quot;http://www.lifehacking.fr/mediawiki/index.php/OrgModeCampAvril2011&quot;&gt;OrgCamp April 2011&lt;/a&gt; in Paris next month. However, I'm not yet
sure of what I'll talk about this time.&lt;/p&gt;
&lt;p&gt;&lt;img alt=&quot;Org camp logo&quot; src=&quot;http://orgmode.org/worg/images/orgcamps/orgcamp-paris-january-2011.png&quot; /&gt;&lt;/p&gt;</content>
		<author>
			<name>Julien Danjou</name>
			<uri>http://julien.danjou.info/blog/</uri>
		</author>
		<source>
			<title type="html">jd:/dev/blog</title>
			<subtitle type="html">Julien Danjou's blog</subtitle>
			<link rel="self" href="http://julien.danjou.info/blog/index.xml"/>
			<id>http://julien.danjou.info/blog/index.xml</id>
			<updated>2012-01-03T17:00:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-us">
		<title type="html">Second OrgCamp Paris</title>
		<link href="http://julien.danjou.info/blog/index.html#Second_OrgCamp_Paris"/>
		<id>http://julien.danjou.info/blog/index.html#Second_OrgCamp_Paris</id>
		<updated>2011-03-11T16:01:00+00:00</updated>
		<content type="html">&lt;p class=&quot;first&quot;&gt;I'll be at the &lt;a href=&quot;http://www.lifehacking.fr/mediawiki/index.php/OrgModeCampAvril2011&quot;&gt;OrgCamp April 2011&lt;/a&gt; in Paris next month. However, I'm not yet
sure of what I'll talk about this time.&lt;/p&gt;

&lt;center&gt;
&lt;p&gt;&lt;img src=&quot;http://orgmode.org/worg/images/orgcamps/orgcamp-paris-january-2011.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;/center&gt;




&lt;br /&gt;
&lt;a href=&quot;http://flattr.com/thing/47923/Julien-Danjous-blog&quot; target=&quot;_blank&quot;&gt;
Flattr me!&lt;/a&gt;</content>
		<author>
			<name>Julien Danjou</name>
			<email>julien@danjou.info</email>
			<uri>http://julien.danjou.info/blog/</uri>
		</author>
		<source>
			<title type="html">jd:/dev/blog</title>
			<subtitle type="html">Julien Danjou's blog</subtitle>
			<link rel="self" href="http://julien.danjou.info/blog/index.xml"/>
			<id>http://julien.danjou.info/blog/index.xml</id>
			<updated>2012-01-03T17:00:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-us">
		<title type="html">My latest contributions to the Emacs' world</title>
		<link href="http://julien.danjou.info/blog/index.html#My_latest_contributions_to_the_Emacs_world"/>
		<id>http://julien.danjou.info/blog/index.html#My_latest_contributions_to_the_Emacs_world</id>
		<updated>2011-03-01T13:36:00+00:00</updated>
		<content type="html">&lt;p class=&quot;first&quot;&gt;I spend too much time writing Emacs Lisp code these days. Unfortunately, the
more I do the more I find new useful tools to improve my work-flow and save
time for doing more Lisp. D'oh.&lt;/p&gt;

&lt;p&gt;I did not work on any big thing these last weeks, so I'm thinking it's a
good time to talk about the various code and patches I sent to multiple
Emacs packages.&lt;/p&gt;

&lt;h3&gt;el-get&lt;/h3&gt;

&lt;p&gt;&lt;a href=&quot;https://github.com/dimitri/el-get&quot;&gt;el-get&lt;/a&gt;, a fabulous tool that installs and handles all the external Emacs
packages I use. A friendly war started on the &lt;a href=&quot;http://blog.gmane.org/gmane.emacs.el-get.devel&quot;&gt;development list&lt;/a&gt; about
autoloads handling. The discussion was overall pointless, since we had a
very hard time to communicate our ideas, and we did not understand each
others several times.&lt;/p&gt;

&lt;p&gt;In the end, &lt;em&gt;el-get&lt;/em&gt; now supports autoload correctly and do not load
automatically all your packages, improving the startup time, and using the
Emacs way to do things. Which is always better, obviously.&lt;/p&gt;


&lt;h3&gt;git-commit-mode&lt;/h3&gt;

&lt;p class=&quot;first&quot;&gt;I've started to use &lt;a href=&quot;https://github.com/rafl/git-commit-mode&quot;&gt;git-commit-mode&lt;/a&gt; some times ago. I usually use &lt;em&gt;git-commit&lt;/em&gt;
with the &lt;em&gt;-v&lt;/em&gt; option to see what I'm committing. I though it would be useful
to color the diff with &lt;em&gt;diff-mode&lt;/em&gt;, so I &lt;a href=&quot;https://github.com/rafl/git-commit-mode/commit/3e2d1047fff31358c39486cd890d1eb87a464404&quot;&gt;wrote a patch&lt;/a&gt; just to do that, which
was merged today by Florian.&lt;/p&gt;


&lt;h3&gt;magit&lt;/h3&gt;

&lt;p class=&quot;first&quot;&gt;Some weeks ago, I decided to give a try to &lt;a href=&quot;http://philjackson.github.com/magit/&quot;&gt;magit&lt;/a&gt;, and loved it. I am not
always using it, but for basic operations it is very useful. But I really
soon found some things I did not like and therefore send patches to enhance
it.&lt;/p&gt;

&lt;p&gt;First, I've added &lt;a href=&quot;https://github.com/philjackson/magit/commit/0314e7fd1df2b37b3cd1699afdf2dc3b98aee2d1&quot;&gt;a patch to honor status.showUntrackedFiles&lt;/a&gt; which I use in
my home directory. In the mean time, I've also added
&lt;a href=&quot;https://github.com/philjackson/magit/commit/43cd05081b7e60d3f2dcce696f3a07c135f4e306&quot;&gt;a patch to allow adding an arbitrary file&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Yesterday, I sent another &lt;a href=&quot;https://github.com/philjackson/magit/pull/128&quot;&gt;pull request&lt;/a&gt;, not closed for now, which adds the
&lt;a href=&quot;https://github.com/jd/magit/commit/73afce9f0220146a55c6c63735ce48561a277632&quot;&gt;possibility to visit files in another window&lt;/a&gt; from a diff file, and
&lt;a href=&quot;https://github.com/jd/magit/commit/82d43edb123f493d639ef0835734e58fca1b8c0a&quot;&gt;the support for add-change-log-entry&lt;/a&gt; directly from the displayed diff.
Useful for these old projects still using &lt;em&gt;ChangeLog&lt;/em&gt; files but accessible
through git (hi Emacs &amp;amp; Gnus!).&lt;/p&gt;


&lt;h3&gt;Gnus&lt;/h3&gt;

&lt;p class=&quot;first&quot;&gt;Nothing remarkable, but I write a couple of &lt;a href=&quot;http://git.gnus.org/cgit/gnus.git/commit/?id=3ccee76adca8a830cf781e697119b980cd9fcbe1&quot;&gt;fixes&lt;/a&gt; and &lt;a href=&quot;http://git.gnus.org/cgit/gnus.git/commit/?id=01c211faea248b5d9e35f3662670bb8d12b9b137&quot;&gt;enhancements&lt;/a&gt; to the
Sieve manage mode, to the &lt;a href=&quot;http://git.gnus.org/cgit/gnus.git/commit/?id=d715adda2809176649227153d9e97564e755efb6&quot;&gt;Gravatar code&lt;/a&gt; and cleaned-up some very very old
code. Also added the possibility to
&lt;a href=&quot;http://git.gnus.org/cgit/gnus.git/commit/?id=2bd6537597f51762a4b04f81c70d8f2be5dcb690&quot;&gt;set list-identifier as a group parameter&lt;/a&gt;.&lt;/p&gt;


&lt;h3&gt;Org-mode&lt;/h3&gt;

&lt;p class=&quot;first&quot;&gt;I spent most of my time working on my &lt;a href=&quot;http://git.naquadah.org/?p=~jd/org-mode.git;a=shortlog;h=refs/heads/jd/agenda-format&quot;&gt;jd/agenda-format&lt;/a&gt; branch, which is soon
to be merged. I've also just got developer access to the Org-mode patch work
and repository, so I'll be able to break things even more! ;-)&lt;/p&gt;


&lt;h3&gt;ERC&lt;/h3&gt;

&lt;p class=&quot;first&quot;&gt;I &lt;a href=&quot;http://git.savannah.gnu.org/cgit/emacs.git/commit/?id=391de97a758c44e5d38e0c8f0bd50fe5eae09d5f&quot;&gt;fixed&lt;/a&gt; &lt;strong&gt;the&lt;/strong&gt; bug that annoyed me for a long time. Now &lt;em&gt;erc-track&lt;/em&gt; does not
reset the last channel status on window visibility changes not made by the
user.&lt;/p&gt;




&lt;br /&gt;
&lt;a href=&quot;http://flattr.com/thing/47923/Julien-Danjous-blog&quot; target=&quot;_blank&quot;&gt;
Flattr me!&lt;/a&gt;</content>
		<author>
			<name>Julien Danjou</name>
			<email>julien@danjou.info</email>
			<uri>http://julien.danjou.info/blog/</uri>
		</author>
		<source>
			<title type="html">jd:/dev/blog</title>
			<subtitle type="html">Julien Danjou's blog</subtitle>
			<link rel="self" href="http://julien.danjou.info/blog/index.xml"/>
			<id>http://julien.danjou.info/blog/index.xml</id>
			<updated>2012-01-03T17:00:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-us">
		<title type="html">Handling my music collection with git-annex</title>
		<link href="http://julien.danjou.info/blog/index.html#Handling_my_music_collection_with_git-annex"/>
		<id>http://julien.danjou.info/blog/index.html#Handling_my_music_collection_with_git-annex</id>
		<updated>2011-02-23T16:44:00+00:00</updated>
		<content type="html">&lt;p&gt;&lt;a href=&quot;http://git-annex.branchable.com/&quot;&gt;git-annex&lt;/a&gt; is a recent tool allowing to manage files with git without having
theirs contents checked into git. I've been looking at it with some interest in
the past few weeks in order to use it to handle my music collection on the
various computers I use.&lt;/p&gt;

&lt;p&gt;My laptop just got a new SSD drive which is quite small and cannot handle
the whole collection. By using git-annex, I'm now able to only check out
part of my music collection and keeping it synchronized with all my others
computers.&lt;/p&gt;

&lt;p&gt;Using &lt;em&gt;git-annex&lt;/em&gt; is pretty trivial once you understand the concepts.&lt;/p&gt;

&lt;p&gt;I've set up a a git repository in my &lt;em&gt;Music&lt;/em&gt; directory, like that:&lt;/p&gt;

&lt;pre class=&quot;example&quot;&gt;
% git init
Initialized empty Git repository in /home/jd/Music
&lt;/pre&gt;

&lt;p&gt;Then I initialized git annex:&lt;/p&gt;

&lt;pre class=&quot;example&quot;&gt;
% git annex init &amp;quot;Music on keller&amp;quot;
&lt;/pre&gt;

&lt;p&gt;So now I'm able to import all my date into git annex. &lt;em&gt;git-annex&lt;/em&gt; offers
several backends to store data. WORM is the default, but is not a good
choice for file that could be modified, and music files can be, at least
when editing the metadata. Therefore, I chose the slow but more reliable
SHA1 backend.&lt;/p&gt;

&lt;pre class=&quot;example&quot;&gt;
% git annex add --backend=SHA1 .
&lt;/pre&gt;

&lt;p&gt;That can be long, so you should be patient. Then you should commit the fact
you annexed files:&lt;/p&gt;

&lt;pre class=&quot;example&quot;&gt;
% git commit -a -m &amp;quot;Imported my music collection&amp;quot;
[master 82d060f] Imported my music collection
&lt;/pre&gt;

&lt;p&gt;Now, it's done. You can go on another computer and clone the repo:&lt;/p&gt;

&lt;pre class=&quot;example&quot;&gt;
% git clone ssh://keller/~/Music
% cd Music
% git annex get &amp;quot;Incubus - Light Grenades&amp;quot;
&lt;/pre&gt;

&lt;p&gt;And then let the magic happens. It will retrieve the whole directory for
you. Do not forgot to commit the fact that you got those album on that
machine!&lt;/p&gt;

&lt;p&gt;The concept used by git-annex is quite simple. All files are replaced by
symlinks pointing to &lt;em&gt;.git-annex/SHA1:filechecksum.log&lt;/em&gt;. This file contains
lines, whose format is:&lt;/p&gt;

&lt;pre class=&quot;example&quot;&gt;
retrieval-timestamp is-file-present uuid-of-the-repository
&lt;/pre&gt;

&lt;p&gt;Indicating if the file is present in a repository. This logs file are
commited into the repository, whereas the real content is stored in the
&lt;em&gt;.git/annex&lt;/em&gt; directory and therefore not commited.&lt;/p&gt;

&lt;p&gt;I recommend to take a look to the &lt;a href=&quot;http://git-annex.branchable.com/walkthrough/&quot;&gt;walkthrough&lt;/a&gt; page to get more idea and what
you can and &lt;a href=&quot;http://git-annex.branchable.com/not/&quot;&gt;cannot&lt;/a&gt; do with git-annex.&lt;/p&gt;




&lt;br /&gt;
&lt;a href=&quot;http://flattr.com/thing/47923/Julien-Danjous-blog&quot; target=&quot;_blank&quot;&gt;
Flattr me!&lt;/a&gt;</content>
		<author>
			<name>Julien Danjou</name>
			<email>julien@danjou.info</email>
			<uri>http://julien.danjou.info/blog/</uri>
		</author>
		<source>
			<title type="html">jd:/dev/blog</title>
			<subtitle type="html">Julien Danjou's blog</subtitle>
			<link rel="self" href="http://julien.danjou.info/blog/index.xml"/>
			<id>http://julien.danjou.info/blog/index.xml</id>
			<updated>2012-01-03T17:00:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="fr-fr">
		<title type="html">Publication papier du recueil de poèmes &quot;Teneurs du vide&quot;</title>
		<link href="http://www.ilv-edition.com/librairie/teneurs-vide.html"/>
		<id>http://www.esaracco.fr/d31f20971cdf45c6c8956db400ef9d74</id>
		<updated>2011-02-23T13:00:00+00:00</updated>
		<content type="html">Publication papier du recueil de poèmes &lt;strong&gt;Teneurs du vide&lt;/strong&gt; aux éditions ILV-Edition.&lt;p&gt;&lt;/p&gt;&lt;a href=&quot;http://www.ilv-edition.com/librairie/teneurs-vide.html&quot;&gt;Fiche&lt;/a&gt; - &lt;a href=&quot;http://www.ilv-edition.com/panier.php?add=622&quot;&gt;Commander&lt;/a&gt;</content>
		<author>
			<name>Emmanuel Saracco</name>
			<uri>http://www.esaracco.fr</uri>
		</author>
		<source>
			<title type="html">Emmanuel Saracco</title>
			<subtitle type="html">Les nouveaux logiciels, nouvelles musiques, nouvelles documentations ou nouvelles publications de textes sur le site de Emmanuel Saracco.</subtitle>
			<link rel="self" href="http://www.esaracco.fr/news_rss.php"/>
			<id>http://www.esaracco.fr/news_rss.php</id>
			<updated>2012-02-04T09:30:04+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="fr-fr">
		<title type="html">Sortie de gurlchecker 0.13.1</title>
		<link href="http://gurlchecker.labs.libre-entreprise.org"/>
		<id>http://www.esaracco.fr/c85a61940e58a222899180c1681dfbda</id>
		<updated>2011-02-22T08:31:00+00:00</updated>
		<content type="html">&lt;a href=&quot;http://gurlchecker.labs.libre-entreprise.org&quot;&gt;gurlchecker&lt;/a&gt; est un vérificateur graphique de sites web pour GNU/Linux et autres systèmes POSIX. Il fonctionne sur un site entier, une page locale ou un fichier de signets.</content>
		<author>
			<name>Emmanuel Saracco</name>
			<uri>http://www.esaracco.fr</uri>
		</author>
		<source>
			<title type="html">Emmanuel Saracco</title>
			<subtitle type="html">Les nouveaux logiciels, nouvelles musiques, nouvelles documentations ou nouvelles publications de textes sur le site de Emmanuel Saracco.</subtitle>
			<link rel="self" href="http://www.esaracco.fr/news_rss.php"/>
			<id>http://www.esaracco.fr/news_rss.php</id>
			<updated>2012-02-04T09:30:04+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">gurlchecker 0.13.1 released</title>
		<link href="http://labs.libre-entreprise.org/forum/forum.php?forum_id=754"/>
		<id>http://labs.libre-entreprise.org/forum/forum.php?forum_id=754</id>
		<updated>2011-02-22T05:40:14+00:00</updated>
		<content type="html">- Added option to export IP address.
- Added option to export only external links.
- Fixed a bug in header request.
- Fixed memory leaks.
- Fixed a problem with libclamav6 &amp;gt;= 0.96 (do not call cl_init() twice).
- Fixed want_*_path detection for LDFLAGS and yes/no logic in configuration.
- Fixed a build problem with po.</content>
		<author>
			<name>Labs</name>
			<uri>http://labs.libre-entreprise.org</uri>
		</author>
		<source>
			<title type="html">Labs Project News</title>
			<subtitle type="html">Labs Project News Highlights</subtitle>
			<link rel="self" href="http://labs.libre-entreprise.org/export/rss_sfnews.php"/>
			<id>http://labs.libre-entreprise.org/export/rss_sfnews.php</id>
			<updated>2012-02-04T09:30:05+00:00</updated>
			<rights type="html">Copyright 1999-2000 VA Linux Systems, Inc.</rights>
		</source>
	</entry>

	<entry>
		<title type="html">My GNOME OS is called Debian</title>
		<link href="http://www.0d.be/2011/02/11/my-gnome-os-is-called-debian/"/>
		<id>http://www.0d.be/posts/443</id>
		<updated>2011-02-11T15:20:18+00:00</updated>
		<content type="html">&lt;p&gt;Debian Squeeze was released a few days ago, this makes it a good opportunity to post about that distribution. Nowadays, even if I have more duties in GNOME than in Debian, I still believe Debian may be one step closer to me in terms of core values.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Free Software&lt;/strong&gt;. Debian litterally stands for Free Software, the Debian Free Software Guidelines were the actual basis for the Open Source Definition, years ago. This is still going strong and an enormous effort hasa come to fruition with the release of Squeeze with a kernel clean of closed firmwares.&lt;/p&gt;
&lt;p&gt;Or the discussion that gave birth to the Freedom Box project, that happened this year in Debconf10, (Eben Moglen talked about this during the FOSDEM, there is an article on lwn.net: &lt;a class=&quot;reference external&quot; href=&quot;http://lwn.net/Articles/426763/&quot;&gt;Moglen on Freedom Box and making a free net&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Universality&lt;/strong&gt;. While it was written that &lt;a class=&quot;reference external&quot; href=&quot;http://www.redhat.com/archives/rhl-devel-list/2008-January/msg00861.html&quot;&gt;Linux is not about choice&lt;/a&gt; Debian still sports the inspiring &amp;quot;Universal Operating System&amp;quot; motto.&lt;/p&gt;
&lt;p&gt;And it's true in so many areas, the vast number of supported architectures (and this has practical uses, ARM or MIPS devices are more common these days), or the attention to translations, from the website to the package descriptions (the joy of demonstrating a &amp;quot;babel box&amp;quot;, demonstrating how the debian installer supported lots of languages, years ago).&lt;/p&gt;
&lt;p&gt;I'd even say that this goes way further, and a projet like &lt;a class=&quot;reference external&quot; href=&quot;http://women.debian.org/&quot;&gt;Debian Woman&lt;/a&gt; came to Debian before GNOME or Mozilla in part because of that &amp;quot;universality&amp;quot; tagline.&lt;/p&gt;
&lt;div class=&quot;figure&quot;&gt;
&lt;img alt=&quot;Squeeze on laptop&quot; src=&quot;http://www.0d.be/photos/squeeze-on-laptop.jpeg&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;I will be updating various servers and other computers to Squeeze in the coming weeks, I don't worry about those updates, and I know they will keep working without causing me any stress for two more years, at least.&lt;/p&gt;
&lt;p&gt;As of my personal computer, it will continue to run the Sid branch, just like it has been doing for more than ten years. And it will run GNOME 3, as Emilio Pozuelo Monfort, and others, are already doing a fantastic job packaging it.&lt;/p&gt;
&lt;p&gt;Thank you Debian community.&lt;/p&gt;</content>
		<author>
			<name>Frédéric Péters</name>
			<uri>http://www.0d.be</uri>
		</author>
		<source>
			<title type="html">Entre code et gazon</title>
			<link rel="self" href="http://www.0d.be/feed-planet.xml/atom"/>
			<id>http://www.0d.be/feeds/default/atom</id>
			<updated>2012-02-04T09:30:02+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-us">
		<title type="html">Announcing Org-contacts</title>
		<link href="http://julien.danjou.info/blog/index.html#Announcing_Org-contacts"/>
		<id>http://julien.danjou.info/blog/index.html#Announcing_Org-contacts</id>
		<updated>2011-02-08T11:22:00+00:00</updated>
		<content type="html">&lt;p class=&quot;first&quot;&gt;When I started to use Emacs, I got hooked by many stuff like &lt;a href=&quot;http://gnus.org&quot;&gt;Gnus&lt;/a&gt; and
&lt;a href=&quot;http://orgmode.org&quot;&gt;Org-mode&lt;/a&gt;. One thing I quickly started to hate is how the Lisp code can be
old and unmaintained. That especially applies to &lt;a href=&quot;http://bbdb.sourceforge.net&quot;&gt;BBDB&lt;/a&gt;, which has been
unmaintained for years, and has very very very old and obsolete code.&lt;/p&gt;

&lt;p&gt;Therefore I've decided to develop my own BBDB replacement based on my lovely
Org-mode. It's called &lt;a href=&quot;http://julien.danjou.info/org-contacts.html&quot;&gt;org-contacts&lt;/a&gt;, and it allows you to handle your contact
like anything you would handle in Org. This way you can manage them the way
you want, without any preset fields or any assumptions like BBDB has.&lt;/p&gt;

&lt;p&gt;I had the chance to present it at the Paris OrgCamp a couple of weeks ago,
and due to the enthusiastic audience I had, I'm now releasing it to the wide
Internet.&lt;/p&gt;



&lt;a href=&quot;http://flattr.com/thing/47923/Julien-Danjous-blog&quot; target=&quot;_blank&quot;&gt;
&lt;img src=&quot;http://api.flattr.com/button/button-compact-static-100x17.png&quot; alt=&quot;Flattr this&quot; title=&quot;Flattr this&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;</content>
		<author>
			<name>Julien Danjou</name>
			<email>julien@danjou.info</email>
			<uri>http://julien.danjou.info/blog/</uri>
		</author>
		<source>
			<title type="html">jd:/dev/blog</title>
			<subtitle type="html">Julien Danjou's blog</subtitle>
			<link rel="self" href="http://julien.danjou.info/blog/index.xml"/>
			<id>http://julien.danjou.info/blog/index.xml</id>
			<updated>2012-01-03T17:00:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-us">
		<title type="html">Naquadah theme for Emacs</title>
		<link href="http://julien.danjou.info/blog/index.html#Naquadah_theme_for_Emacs"/>
		<id>http://julien.danjou.info/blog/index.html#Naquadah_theme_for_Emacs</id>
		<updated>2011-01-31T15:31:00+00:00</updated>
		<content type="html">&lt;p class=&quot;first&quot;&gt;I often post Emacs screenshots on this blog, and consequently receive a
bunch of request for my Emacs theme. Therefore I decided to &lt;a href=&quot;http://git.naquadah.org/?p=naquadah-theme.git;a=summary&quot;&gt;publish it&lt;/a&gt;.&lt;/p&gt;




&lt;a href=&quot;http://flattr.com/thing/47923/Julien-Danjous-blog&quot; target=&quot;_blank&quot;&gt;
&lt;img src=&quot;http://api.flattr.com/button/button-compact-static-100x17.png&quot; alt=&quot;Flattr this&quot; title=&quot;Flattr this&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;</content>
		<author>
			<name>Julien Danjou</name>
			<email>julien@danjou.info</email>
			<uri>http://julien.danjou.info/blog/</uri>
		</author>
		<source>
			<title type="html">jd:/dev/blog</title>
			<subtitle type="html">Julien Danjou's blog</subtitle>
			<link rel="self" href="http://julien.danjou.info/blog/index.xml"/>
			<id>http://julien.danjou.info/blog/index.xml</id>
			<updated>2012-01-03T17:00:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-us">
		<title type="html">Emacs snapshot Ubuntu packages</title>
		<link href="http://julien.danjou.info/blog/index.html#Emacs_snapshot_Ubuntu_packages"/>
		<id>http://julien.danjou.info/blog/index.html#Emacs_snapshot_Ubuntu_packages</id>
		<updated>2011-01-24T14:13:00+00:00</updated>
		<content type="html">&lt;p&gt;&lt;a href=&quot;http://emacs.naquadah.org&quot;&gt;Emacs snapshot packages for Ubuntu&lt;/a&gt; are now available, thanks to
&lt;a href=&quot;http://blog.tapoueh.org&quot;&gt;Dimitri Fontaine&lt;/a&gt;.&lt;/p&gt;




&lt;a href=&quot;http://flattr.com/thing/47923/Julien-Danjous-blog&quot; target=&quot;_blank&quot;&gt;
&lt;img src=&quot;http://api.flattr.com/button/button-compact-static-100x17.png&quot; alt=&quot;Flattr this&quot; title=&quot;Flattr this&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;</content>
		<author>
			<name>Julien Danjou</name>
			<email>julien@danjou.info</email>
			<uri>http://julien.danjou.info/blog/</uri>
		</author>
		<source>
			<title type="html">jd:/dev/blog</title>
			<subtitle type="html">Julien Danjou's blog</subtitle>
			<link rel="self" href="http://julien.danjou.info/blog/index.xml"/>
			<id>http://julien.danjou.info/blog/index.xml</id>
			<updated>2012-01-03T17:00:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-us">
		<title type="html">OrgCamp Paris 2011 review</title>
		<link href="http://julien.danjou.info/blog/index.html#OrgCamp_Paris__review"/>
		<id>http://julien.danjou.info/blog/index.html#OrgCamp_Paris__review</id>
		<updated>2011-01-23T12:26:00+00:00</updated>
		<content type="html">&lt;p class=&quot;first&quot;&gt;Yesterday afternoon, I was at the first &lt;a href=&quot;http://www.lifehacking.fr/mediawiki/index.php/OrgModeCampJanvier2011&quot;&gt;OrgCamp in Paris&lt;/a&gt;. It was my first
attendance to a &lt;a href=&quot;http://en.wikipedia.org/wiki/BarCamp&quot;&gt;BarCamp&lt;/a&gt;, and I really liked it. It's basically the first
geek event I do not find boring nor useless.&lt;/p&gt;

&lt;p&gt;There was about 18-20 persons participating, which was quite high, since we
all initially though we would have been only 5.&lt;/p&gt;

&lt;p&gt;We had several presentations of various features and personal usages of
&lt;a href=&quot;http://www.orgmode.org&quot;&gt;Org-mode&lt;/a&gt;. For my part, I've quickly presented the agenda, and my &lt;a href=&quot;http://bbdb.sourceforge.net/&quot;&gt;BBDB&lt;/a&gt;
replacement named &lt;a href=&quot;http://git.naquadah.org/?p=org-contacts.git;a=summary&quot;&gt;org-contacts&lt;/a&gt; (I'll probably talk about it on this blog in
another post later).&lt;/p&gt;

&lt;p&gt;The only downside was that Bastien (the new Org-mode maintainer) was not
able to come and join us. On the other side, there were so much to tell for
a first time, I did not have so much time to code. I only have been able to
&lt;a href=&quot;http://lists.gnu.org/archive/html/emacs-orgmode/2011-01/msg01002.html&quot;&gt;fix one bug&lt;/a&gt; reported during my agenda presentation.&lt;/p&gt;

&lt;p&gt;In the end, the overall atmosphere was very enthusiastic and friendly, which
was extremely pleasant. The #org-mode-fr IRC channel has been created on
&lt;a href=&quot;http://freenode.net&quot;&gt;Freenode&lt;/a&gt;, following this event. Feel free to join us.&lt;/p&gt;

&lt;p&gt;Since people liked it so badly, it seems there should be another barcamp in
the next months. Stay tuned.&lt;/p&gt;




&lt;a href=&quot;http://flattr.com/thing/47923/Julien-Danjous-blog&quot; target=&quot;_blank&quot;&gt;
&lt;img src=&quot;http://api.flattr.com/button/button-compact-static-100x17.png&quot; alt=&quot;Flattr this&quot; title=&quot;Flattr this&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;</content>
		<author>
			<name>Julien Danjou</name>
			<email>julien@danjou.info</email>
			<uri>http://julien.danjou.info/blog/</uri>
		</author>
		<source>
			<title type="html">jd:/dev/blog</title>
			<subtitle type="html">Julien Danjou's blog</subtitle>
			<link rel="self" href="http://julien.danjou.info/blog/index.xml"/>
			<id>http://julien.danjou.info/blog/index.xml</id>
			<updated>2012-01-03T17:00:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-us">
		<title type="html">Code fontification with Gnus and Org-mode</title>
		<link href="http://julien.danjou.info/blog/index.html#Code_fontification_with_Gnus_and_Org-mode"/>
		<id>http://julien.danjou.info/blog/index.html#Code_fontification_with_Gnus_and_Org-mode</id>
		<updated>2011-01-20T13:45:00+00:00</updated>
		<content type="html">&lt;p class=&quot;first&quot;&gt;I've added code fontification using &lt;a href=&quot;http://orgmode.org/manual/Working-With-Source-Code.html#Working-With-Source-Code&quot;&gt;Org src blocks&lt;/a&gt; inside &lt;a href=&quot;http://gnus.org&quot;&gt;Gnus&lt;/a&gt;.&lt;/p&gt;

&lt;center&gt;
&lt;p&gt;&lt;img src=&quot;http://julien.danjou.info/images/gnus-org-buffer-fontification.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;/center&gt;

&lt;p&gt;This interprets the block as an Org buffer and fontify it accordingly if
&lt;em&gt;org-src-fontify-natively&lt;/em&gt; it set to &lt;em&gt;t&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Thanks to &lt;a href=&quot;http://news.gmane.org/find-root.php?message_id=%3c80k4lj78ui.fsf%40mundaneum.com%3e&quot;&gt;Sébastien Vauban for the original idea&lt;/a&gt; and implementation. Now it
works out of the box without any customization.&lt;/p&gt;




&lt;a href=&quot;http://flattr.com/thing/47923/Julien-Danjous-blog&quot; target=&quot;_blank&quot;&gt;
&lt;img src=&quot;http://api.flattr.com/button/button-compact-static-100x17.png&quot; alt=&quot;Flattr this&quot; title=&quot;Flattr this&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;</content>
		<author>
			<name>Julien Danjou</name>
			<email>julien@danjou.info</email>
			<uri>http://julien.danjou.info/blog/</uri>
		</author>
		<source>
			<title type="html">jd:/dev/blog</title>
			<subtitle type="html">Julien Danjou's blog</subtitle>
			<link rel="self" href="http://julien.danjou.info/blog/index.xml"/>
			<id>http://julien.danjou.info/blog/index.xml</id>
			<updated>2012-01-03T17:00:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-us">
		<title type="html">OrgCamp 2011</title>
		<link href="http://julien.danjou.info/blog/index.html#OrgCamp_"/>
		<id>http://julien.danjou.info/blog/index.html#OrgCamp_</id>
		<updated>2011-01-17T12:51:00+00:00</updated>
		<content type="html">&lt;p class=&quot;first&quot;&gt;I'll be at the &lt;a href=&quot;http://www.lifehacking.fr/mediawiki/index.php/OrgModeCampJanvier2011&quot;&gt;OrgCamp 2011&lt;/a&gt; in Paris next Saturday.&lt;/p&gt;

&lt;center&gt;
&lt;p&gt;&lt;img src=&quot;http://orgmode.org/worg/images/orgcamps/orgcamp-paris-january-2011.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;/center&gt;



&lt;a href=&quot;http://flattr.com/thing/47923/Julien-Danjous-blog&quot; target=&quot;_blank&quot;&gt;
&lt;img src=&quot;http://api.flattr.com/button/button-compact-static-100x17.png&quot; alt=&quot;Flattr this&quot; title=&quot;Flattr this&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;</content>
		<author>
			<name>Julien Danjou</name>
			<email>julien@danjou.info</email>
			<uri>http://julien.danjou.info/blog/</uri>
		</author>
		<source>
			<title type="html">jd:/dev/blog</title>
			<subtitle type="html">Julien Danjou's blog</subtitle>
			<link rel="self" href="http://julien.danjou.info/blog/index.xml"/>
			<id>http://julien.danjou.info/blog/index.xml</id>
			<updated>2012-01-03T17:00:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-us">
		<title type="html">Emacs snapshot Debian packages</title>
		<link href="http://julien.danjou.info/blog/index.html#Emacs_snapshot_Debian_packages"/>
		<id>http://julien.danjou.info/blog/index.html#Emacs_snapshot_Debian_packages</id>
		<updated>2011-01-12T14:54:00+00:00</updated>
		<content type="html">&lt;p class=&quot;first&quot;&gt;I've decided to take over the maintenance of the unofficial &lt;em&gt;emacs-snapshot&lt;/em&gt;
Debian packages that were maintained by &lt;a href=&quot;http://emacs.orebokech.com&quot;&gt;Romain Francoise&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;They are available on a &lt;a href=&quot;http://emacs.naquadah.org&quot;&gt;dedicated page&lt;/a&gt;.&lt;/p&gt;



&lt;a href=&quot;http://flattr.com/thing/47923/Julien-Danjous-blog&quot; target=&quot;_blank&quot;&gt;
&lt;img src=&quot;http://api.flattr.com/button/button-compact-static-100x17.png&quot; alt=&quot;Flattr this&quot; title=&quot;Flattr this&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;</content>
		<author>
			<name>Julien Danjou</name>
			<email>julien@danjou.info</email>
			<uri>http://julien.danjou.info/blog/</uri>
		</author>
		<source>
			<title type="html">jd:/dev/blog</title>
			<subtitle type="html">Julien Danjou's blog</subtitle>
			<link rel="self" href="http://julien.danjou.info/blog/index.xml"/>
			<id>http://julien.danjou.info/blog/index.xml</id>
			<updated>2012-01-03T17:00:03+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Some results from the dev doc tools hackfest</title>
		<link href="http://www.0d.be/2010/12/07/dev-doc-tools-hackfest-2/"/>
		<id>http://www.0d.be/posts/442</id>
		<updated>2010-12-07T10:41:07+00:00</updated>
		<content type="html">&lt;p&gt;Johannes did a &lt;a class=&quot;reference external&quot; href=&quot;http://blogs.gnome.org/johannes/2010/12/06/development-documentation-and-tools-hackfest-wrap-up/&quot;&gt;nice wrap-up of the hackfest&lt;/a&gt;, I'll just point to a few things.&lt;/p&gt;
&lt;ol class=&quot;arabic simple&quot;&gt;
&lt;li&gt;There is a library.gnome.org featuring the new gnome.org design almost ready to go, but it won't get out before the real gnome.org goes live, I am confident it won't take five more years. That new site also has a new &amp;quot;GNOME Developer Center&amp;quot; page, featuring quick access to important ressources and links to the demos and tutorials we have been working on during the hackfest. This is the page that is currently screenshoted on &lt;a class=&quot;reference external&quot; href=&quot;http://developer.gnome.org/&quot;&gt;developer.gnome.org&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;The demos and tutorials are also up on the existing library website, but not integrated in any way, &lt;a class=&quot;reference external&quot; href=&quot;http://library.gnome.org/devel/demos/nightly/&quot;&gt;http://library.gnome.org/devel/demos/nightly/&lt;/a&gt; It is all automated already, it will get updated every night.&lt;/li&gt;
&lt;li&gt;There's a test server, running as &lt;a class=&quot;reference external&quot; href=&quot;http://lgo.0d.be/&quot;&gt;lgo.0d.be&lt;/a&gt;, I just added some HTTP authentication, to make sure it doesn't get indexed in any way. There's no automation there, and it doesn't feature the live search in API symbols.&lt;/li&gt;
&lt;/ol&gt;
&lt;div class=&quot;figure&quot;&gt;
&lt;img alt=&quot;Leaving Berlin&quot; src=&quot;http://www.0d.be/photos/berlin-hbf-small.jpeg&quot; /&gt;
&lt;p class=&quot;caption&quot;&gt;Leaving Berlin, December 6th 2010&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Thanks again to everyone involved, and a special mention to &lt;a class=&quot;reference external&quot; href=&quot;http://blixtra.org/blog/&quot;&gt;Chris&lt;/a&gt; for having me.&lt;/p&gt;</content>
		<author>
			<name>Frédéric Péters</name>
			<uri>http://www.0d.be</uri>
		</author>
		<source>
			<title type="html">Entre code et gazon</title>
			<link rel="self" href="http://www.0d.be/feed-planet.xml/atom"/>
			<id>http://www.0d.be/feeds/default/atom</id>
			<updated>2012-02-04T09:30:02+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">At the dev doc tools hackfest</title>
		<link href="http://www.0d.be/2010/12/04/dev-doc-tools-hackfest/"/>
		<id>http://www.0d.be/posts/441</id>
		<updated>2010-12-04T23:16:44+00:00</updated>
		<content type="html">&lt;p&gt;We had some glühwein this evening in freezing Berlin, so of course the hackfest is going well… I came with my very own tasklist, mostly centered on improvements to &lt;a class=&quot;reference external&quot; href=&quot;http://library.gnome.org&quot;&gt;library.gnome.org&lt;/a&gt;, this means I didn't participate in the writing of the 10-minute tutorials (they are progressing nicely) and mostly went hacking on my own instead.&lt;/p&gt;
&lt;p&gt;My first objective was to improve Mallard support, as I wrote initial support last year and it needed a serious refresh to work with current documents. Basically it meant switching to yelp-xsl and updating the generation of Mallard cache file. It's already pushed to the repository, and you can have a look at the &lt;a class=&quot;reference external&quot; href=&quot;http://library.gnome.org/users/empathy/2.32/&quot;&gt;Empathy documentation&lt;/a&gt; for an example.&lt;/p&gt;
&lt;div class=&quot;figure&quot;&gt;
&lt;img alt=&quot;/captures/libgo-improved-mallard.png&quot; src=&quot;http://www.0d.be/captures/libgo-improved-mallard.png&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;Next thing was to get live API search, something I actually did three years ago, but missing SCGI packages on RHEL meant that it was never deployed. Now that we have been getting used to deploy Django applications (snowy, shell-perf, damned-lies) it made sense to rewrite this using the Django framework. It's now waiting for a GNOME sysadmin to deploy, I hope you'll all be able to enjoy this soon.&lt;/p&gt;
&lt;div class=&quot;figure&quot;&gt;
&lt;img alt=&quot;/captures/libgo-api-live-search.png&quot; src=&quot;http://www.0d.be/captures/libgo-api-live-search.png&quot; /&gt;
&lt;/div&gt;
&lt;p&gt;Then I went on updating the library.gnome.org theme to match what is being done for the future gnome.org website (amazing work by Vinicius and Andreas on this), this is still a work in progress, and it won't be deployed before the gnome.org website goes live, but it was also the opportunity to move pages around, create a more clear API references page, and so on, different things that will make it easier to be used for a future &amp;quot;GNOME Developer Center&amp;quot;.&lt;/p&gt;
&lt;p&gt;To sum it up it's really nice to have dedicated time to work on GNOME, something which is quite difficult in normal days, between work and other activities, so thanks a lot to the GNOME foundation for sponsoring my travel!&lt;/p&gt;</content>
		<author>
			<name>Frédéric Péters</name>
			<uri>http://www.0d.be</uri>
		</author>
		<source>
			<title type="html">Entre code et gazon</title>
			<link rel="self" href="http://www.0d.be/feed-planet.xml/atom"/>
			<id>http://www.0d.be/feeds/default/atom</id>
			<updated>2012-02-04T09:30:02+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-us">
		<title type="html">Color contrast correction</title>
		<link href="http://julien.danjou.info/blog/index.html#Color_contrast_correction"/>
		<id>http://julien.danjou.info/blog/index.html#Color_contrast_correction</id>
		<updated>2010-11-23T15:04:00+00:00</updated>
		<content type="html">&lt;p class=&quot;first&quot;&gt;I finally took some time to finish my color contrast corrector.&lt;/p&gt;

&lt;p&gt;It's now able to compare two colors and to tell if they are readable when
used as foreground and background color for text rendering. If they are too
close, the code corrects both colors so to they'll become distant enough to
be readable.&lt;/p&gt;

&lt;p&gt;To do that, it uses color coordinates in the &lt;a href=&quot;http://en.wikipedia.org/wiki/Lab_color_space&quot;&gt;CIE L*a*b* colorspace&lt;/a&gt;. This
allows to determine the luminance difference between 2 colors very easily by
comparing the &lt;em&gt;L&lt;/em&gt; component of the coordinates. The default threshold used to
determine readability based on luminance difference is 40 (on 100), which
seems to give pretty good results so far.&lt;/p&gt;

&lt;p&gt;Then it uses the &lt;a href=&quot;http://en.wikipedia.org/wiki/Color_difference#CIEDE2000&quot;&gt;CIE Delta E 2000&lt;/a&gt; formula to obtain the distance between
colors. A distance of 6 is considered to be enough for the colors to be
distinctive in our case, but that can be adjusted anyway. That depends on
reader's eyes.&lt;/p&gt;

&lt;p&gt;If both the color and luminance distances are big enough, the color pair is
considered readable when used upon each other.&lt;/p&gt;

&lt;p&gt;If these criteria are not satisfied, the code simply tries to correct the
color by adjusting the &lt;em&gt;L&lt;/em&gt; (luminance) component of the colors so their
difference is 40. Optionally, the background color can be fixed so only the
foreground color would be adjusted; this is especially handy when the color
background is not provided by any external style, but it the screen one
(like the Emacs frame background in my case).&lt;/p&gt;

&lt;p&gt;Here is an example result generated over 10 pairs of random colors. Left
colors are randomly generated, and right colors are the corrected one.&lt;/p&gt;

&lt;p&gt;    
    &lt;!--
      .ATTRLIST {
        /* (:background &quot;#9c0060&quot; :foreground &quot;#ff55b9&quot;) */
        color: #ff55b9;
        background-color: #9c0060;
      }
      .ATTRLIST-1 {
        /* (:background &quot;medium violet red&quot; :foreground &quot;DeepPink1&quot;) */
        color: #ff1493;
        background-color: #c71585;
      }
      .ATTRLIST-10 {
        /* (:background &quot;grey43&quot; :foreground &quot;chartreuse3&quot;) */
        color: #66cd00;
        background-color: #6e6e6e;
      }
      .ATTRLIST-11 {
        /* (:background &quot;#9e78ed&quot; :foreground &quot;#f0fff0&quot;) */
        color: #f0fff0;
        background-color: #9e78ed;
      }
      .ATTRLIST-12 {
        /* (:background &quot;MediumPurple2&quot; :foreground &quot;honeydew&quot;) */
        color: #f0fff0;
        background-color: #9f79ee;
      }
      .ATTRLIST-13 {
        /* (:background &quot;#131313&quot; :foreground &quot;#6c6c6c&quot;) */
        color: #6c6c6c;
        background-color: #131313;
      }
      .ATTRLIST-14 {
        /* (:background &quot;grey13&quot; :foreground &quot;grey36&quot;) */
        color: #5c5c5c;
        background-color: #212121;
      }
      .ATTRLIST-15 {
        /* (:background &quot;#9faec0&quot; :foreground &quot;#005700&quot;) */
        color: #005700;
        background-color: #9faec0;
      }
      .ATTRLIST-16 {
        /* (:background &quot;SlateGray4&quot; :foreground &quot;forest green&quot;) */
        color: #228b22;
        background-color: #6c7b8b;
      }
      .ATTRLIST-17 {
        /* (:background &quot;#4a6b4b&quot; :foreground &quot;#cccccc&quot;) */
        color: #cccccc;
        background-color: #4a6b4b;
      }
      .ATTRLIST-18 {
        /* (:background &quot;DarkSeaGreen4&quot; :foreground &quot;gray67&quot;) */
        color: #ababab;
        background-color: #698b69;
      }
      .ATTRLIST-2 {
        /* (:background &quot;#9cff38&quot; :foreground &quot;#b28282&quot;) */
        color: #b28282;
        background-color: #9cff38;
      }
      .ATTRLIST-3 {
        /* (:background &quot;chartreuse1&quot; :foreground &quot;RosyBrown3&quot;) */
        color: #cd9b9b;
        background-color: #7fff00;
      }
      .ATTRLIST-4 {
        /* (:background &quot;#525252&quot; :foreground &quot;#cfb58c&quot;) */
        color: #cfb58c;
        background-color: #525252;
      }
      .ATTRLIST-5 {
        /* (:background &quot;gray33&quot; :foreground &quot;NavajoWhite3&quot;) */
        color: #cdb38b;
        background-color: #545454;
      }
      .ATTRLIST-6 {
        /* (:background &quot;#6c9fa4&quot; :foreground &quot;#0000e1&quot;) */
        color: #0000e1;
        background-color: #6c9fa4;
      }
      .ATTRLIST-7 {
        /* (:background &quot;CadetBlue4&quot; :foreground &quot;blue1&quot;) */
        color: #0000ff;
        background-color: #53868b;
      }
      .ATTRLIST-8 {
        /* (:background &quot;linen&quot; :foreground &quot;DeepPink2&quot;) */
        color: #ee1289;
        background-color: #faf0e6;
      }
      .ATTRLIST-9 {
        /* (:background &quot;#5e5e5e&quot; :foreground &quot;#79de25&quot;) */
        color: #79de25;
        background-color: #5e5e5e;
      }
    --&gt;
    
    &lt;pre&gt;
&lt;span class=&quot;ATTRLIST-18&quot;&gt;bg: DarkSeaGreen4 fg: gray67 -&amp;gt;&lt;/span&gt;&lt;span class=&quot;ATTRLIST-18&quot;&gt;                             &lt;/span&gt;&lt;span class=&quot;ATTRLIST-17&quot;&gt;bg: #4a6b4b fg: #cccccc
&lt;/span&gt;&lt;span class=&quot;ATTRLIST-16&quot;&gt;bg: SlateGray4 fg: forest green -&amp;gt;&lt;/span&gt;&lt;span class=&quot;ATTRLIST-16&quot;&gt;                          &lt;/span&gt;&lt;span class=&quot;ATTRLIST-15&quot;&gt;bg: #9faec0 fg: #005700
&lt;/span&gt;&lt;span class=&quot;ATTRLIST-14&quot;&gt;bg: grey13 fg: grey36 -&amp;gt;&lt;/span&gt;&lt;span class=&quot;ATTRLIST-14&quot;&gt;                                    &lt;/span&gt;&lt;span class=&quot;ATTRLIST-13&quot;&gt;bg: #131313 fg: #6c6c6c
&lt;/span&gt;&lt;span class=&quot;ATTRLIST-12&quot;&gt;bg: MediumPurple2 fg: honeydew -&amp;gt;&lt;/span&gt;&lt;span class=&quot;ATTRLIST-12&quot;&gt;                           &lt;/span&gt;&lt;span class=&quot;ATTRLIST-11&quot;&gt;bg: #9e78ed fg: #f0fff0
&lt;/span&gt;&lt;span class=&quot;ATTRLIST-10&quot;&gt;bg: grey43 fg: chartreuse3 -&amp;gt;&lt;/span&gt;&lt;span class=&quot;ATTRLIST-10&quot;&gt;                               &lt;/span&gt;&lt;span class=&quot;ATTRLIST-9&quot;&gt;bg: #5e5e5e fg: #79de25
&lt;/span&gt;&lt;span class=&quot;ATTRLIST-8&quot;&gt;bg: linen fg: DeepPink2 -&amp;gt;&lt;/span&gt;&lt;span class=&quot;ATTRLIST-8&quot;&gt;                                  &lt;/span&gt;&lt;span class=&quot;ATTRLIST-8&quot;&gt;bg: linen fg: DeepPink2
&lt;/span&gt;&lt;span class=&quot;ATTRLIST-7&quot;&gt;bg: CadetBlue4 fg: blue1 -&amp;gt;&lt;/span&gt;&lt;span class=&quot;ATTRLIST-7&quot;&gt;                                 &lt;/span&gt;&lt;span class=&quot;ATTRLIST-6&quot;&gt;bg: #6c9fa4 fg: #0000e1
&lt;/span&gt;&lt;span class=&quot;ATTRLIST-5&quot;&gt;bg: gray33 fg: NavajoWhite3 -&amp;gt;&lt;/span&gt;&lt;span class=&quot;ATTRLIST-5&quot;&gt;                              &lt;/span&gt;&lt;span class=&quot;ATTRLIST-4&quot;&gt;bg: #525252 fg: #cfb58c
&lt;/span&gt;&lt;span class=&quot;ATTRLIST-3&quot;&gt;bg: chartreuse1 fg: RosyBrown3 -&amp;gt;&lt;/span&gt;&lt;span class=&quot;ATTRLIST-3&quot;&gt;                           &lt;/span&gt;&lt;span class=&quot;ATTRLIST-2&quot;&gt;bg: #9cff38 fg: #b28282
&lt;/span&gt;&lt;span class=&quot;ATTRLIST-1&quot;&gt;bg: medium violet red fg: DeepPink1 -&amp;gt;&lt;/span&gt;&lt;span class=&quot;ATTRLIST-1&quot;&gt;                      &lt;/span&gt;&lt;span class=&quot;ATTRLIST&quot;&gt;bg: #9c0060 fg: #ff55b9
&lt;/span&gt;&lt;/pre&gt;
&lt;/p&gt;

&lt;p&gt;All this has been written in Emacs Lisp. The code is now available in &lt;a href=&quot;http://www.gnus.org&quot;&gt;Gnus&lt;/a&gt;
(and therefore in Emacs 24) in the packages &lt;a href=&quot;http://git.gnus.org/cgit/gnus.git/tree/lisp/color-lab.el&quot;&gt;color-lab&lt;/a&gt; and &lt;a href=&quot;http://git.gnus.org/cgit/gnus.git/tree/lisp/shr-color.el&quot;&gt;shr-color&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;A future work would be to add support for colour blindness.&lt;/p&gt;

&lt;p&gt;As a side note, several people pointed me at the &lt;a href=&quot;http://www.w3.org/TR/WCAG10/&quot;&gt;WCAG&lt;/a&gt; formulas to determine
luminance and contrast ratio. These are probably good criteria to choose
your color when designing a user interface. However, they are not enough to
determine if displayed color will be readable. This means you can use them
if you are a designer, but IMHO they are pretty weak for detecting and
correcting colors you did not choose.&lt;/p&gt;



&lt;a href=&quot;http://flattr.com/thing/47923/Julien-Danjous-blog&quot; target=&quot;_blank&quot;&gt;
&lt;img src=&quot;http://api.flattr.com/button/button-compact-static-100x17.png&quot; alt=&quot;Flattr this&quot; title=&quot;Flattr this&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;</content>
		<author>
			<name>Julien Danjou</name>
			<email>julien@danjou.info</email>
			<uri>http://julien.danjou.info/blog/</uri>
		</author>
		<source>
			<title type="html">jd:/dev/blog</title>
			<subtitle type="html">Julien Danjou's blog</subtitle>
			<link rel="self" href="http://julien.danjou.info/blog/index.xml"/>
			<id>http://julien.danjou.info/blog/index.xml</id>
			<updated>2012-01-03T17:00:03+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">Designers, mockups, and developers</title>
		<link href="http://www.0d.be/2010/11/22/designers-mockups-and-developers/"/>
		<id>http://www.0d.be/posts/440</id>
		<updated>2010-11-22T12:37:11+00:00</updated>
		<content type="html">&lt;p&gt;In a hallway conversation in Fórum GNOME, there was a question about the mockups presented by Vinicius Depizzol, and if maintainers were receptive. The answer was that the design team got trusted by many, and acceptance of proposed changes was not a problem.&lt;/p&gt;
&lt;p&gt;But we sure have a problem of ressources, designers have been working hard, producing many ideas, rendered in many mockups, and quite often they are not (yet) implemented. This was an extraordinary moment when &lt;a class=&quot;reference external&quot; href=&quot;http://mail.gnome.org/archives/gnome-multimedia/2010-August/msg00002.html&quot;&gt;Florent Thévenet posted to the gnome multimedia list&lt;/a&gt;, about the work he started, implementing the mockups Hylke Bons did for a voice recorder.&lt;/p&gt;
&lt;p&gt;Perhaps we could work making it happen more often, some mockups are profound changes, hard to do as a newcomer, but others are easier, little changes, attention to details, and they would fit perfectly to revive some GNOME Love activity, and as tasks for Google Code-In.&lt;/p&gt;
&lt;p&gt;Maybe it's just a matter of more advertising of the design work, pushing developers, &amp;quot;hey! look at them! you want to code this!&amp;quot;, but maybe it could also be more organized, for example we could organize regular &amp;quot;remote hackfests&amp;quot;, on weekends to get more volunteers get in, where we would have experienced hackers and maintainers ready to review patches, guiding newcomers into their first contributions.&lt;/p&gt;
&lt;p&gt;What do you think?&lt;/p&gt;</content>
		<author>
			<name>Frédéric Péters</name>
			<uri>http://www.0d.be</uri>
		</author>
		<source>
			<title type="html">Entre code et gazon</title>
			<link rel="self" href="http://www.0d.be/feed-planet.xml/atom"/>
			<id>http://www.0d.be/feeds/default/atom</id>
			<updated>2012-02-04T09:30:02+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-us">
		<title type="html">Elisp color manipulation routines</title>
		<link href="http://julien.danjou.info/blog/index.html#Elisp_color_manipulation_routines"/>
		<id>http://julien.danjou.info/blog/index.html#Elisp_color_manipulation_routines</id>
		<updated>2010-11-20T21:11:00+00:00</updated>
		<content type="html">&lt;p class=&quot;first&quot;&gt;Last week, I spent some time implementing various color manipulation
routines. The ultimate goal was to find a way to determine if a text in
a certain color was readable on a background with a different color.&lt;/p&gt;

&lt;p&gt;Something I failed to do so far, despite my research in the area.&lt;/p&gt;

&lt;p&gt;However, since I think my code could be useful for other people, I've set up
a tiny &lt;a href=&quot;http://git.naquadah.org/?p=~jd/color-el.git;a=summary&quot;&gt;git repository&lt;/a&gt; with the routines I wrote.&lt;/p&gt;

&lt;p&gt;The funniest one to implement was &lt;a href=&quot;http://en.wikipedia.org/wiki/Color_difference#CIEDE2000&quot;&gt;CIEDE2000&lt;/a&gt;. I verified &lt;a href=&quot;http://git.naquadah.org/?p=~jd/color-el.git;a=blob;f=color.el;h=31b166457f41fad2e466e0e7b6ad628a471bad85;hb=HEAD&quot;&gt;my code&lt;/a&gt; with the
data given in &lt;a href=&quot;http://www.ece.rochester.edu/~gsharma/ciede2000/ciede2000noteCRNA.pdf&quot;&gt;the specifications&lt;/a&gt; and can assure it's correct. :-)&lt;/p&gt;



&lt;a href=&quot;http://flattr.com/thing/47923/Julien-Danjous-blog&quot; target=&quot;_blank&quot;&gt;
&lt;img src=&quot;http://api.flattr.com/button/button-compact-static-100x17.png&quot; alt=&quot;Flattr this&quot; title=&quot;Flattr this&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;</content>
		<author>
			<name>Julien Danjou</name>
			<email>julien@danjou.info</email>
			<uri>http://julien.danjou.info/blog/</uri>
		</author>
		<source>
			<title type="html">jd:/dev/blog</title>
			<subtitle type="html">Julien Danjou's blog</subtitle>
			<link rel="self" href="http://julien.danjou.info/blog/index.xml"/>
			<id>http://julien.danjou.info/blog/index.xml</id>
			<updated>2012-01-03T17:00:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-us">
		<title type="html">Org-mode and holidays</title>
		<link href="http://julien.danjou.info/blog/index.html#Org-mode_and_holidays"/>
		<id>http://julien.danjou.info/blog/index.html#Org-mode_and_holidays</id>
		<updated>2010-11-15T15:11:00+00:00</updated>
		<content type="html">&lt;p&gt;&lt;a href=&quot;http://orgmode.org&quot;&gt;Org&lt;/a&gt; has a nice option which allows you to show week-end days in a different
color in your agenda. That means that Saturday and Sunday (when I do not
work) are fontified with &lt;em&gt;`org-agenda-date-weekend'&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;But there are other days I do not work, like my vacations or holidays.
Therefore, I've wrote a patch to add &lt;em&gt;`org-agenda-day-face-function'&lt;/em&gt; which is
optionally called to determine what should be the face used to fontify a
day. &lt;a href=&quot;http://lists.gnu.org/archive/html/emacs-orgmode/2010-11/msg00542.html&quot;&gt;This&lt;/a&gt; allows me to use the same face for holidays and for week-end days,
like for last Thursday which was an holiday in France.&lt;/p&gt;

&lt;center&gt;
&lt;p&gt;&lt;img src=&quot;http://julien.danjou.info/images/emacs-org-mode-holidays.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;/center&gt;

&lt;p&gt;That patch has been merged in Org last week.&lt;/p&gt;




&lt;a href=&quot;http://flattr.com/thing/47923/Julien-Danjous-blog&quot; target=&quot;_blank&quot;&gt;
&lt;img src=&quot;http://api.flattr.com/button/button-compact-static-100x17.png&quot; alt=&quot;Flattr this&quot; title=&quot;Flattr this&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;</content>
		<author>
			<name>Julien Danjou</name>
			<email>julien@danjou.info</email>
			<uri>http://julien.danjou.info/blog/</uri>
		</author>
		<source>
			<title type="html">jd:/dev/blog</title>
			<subtitle type="html">Julien Danjou's blog</subtitle>
			<link rel="self" href="http://julien.danjou.info/blog/index.xml"/>
			<id>http://julien.danjou.info/blog/index.xml</id>
			<updated>2012-01-03T17:00:03+00:00</updated>
		</source>
	</entry>

	<entry>
		<title type="html">VII Fórum GNOME</title>
		<link href="http://www.0d.be/2010/11/10/vii-forum-gnome/"/>
		<id>http://www.0d.be/posts/439</id>
		<updated>2010-11-10T13:16:39+00:00</updated>
		<content type="html">&lt;p&gt;After some eventful flights, including a night in Lisbon as a bonus surprise, I arrived in Natal for ENSL (and more specifically for Fórum GNOME) on Wednesday, and was welcomed by Gustavo, Pablo &amp;amp; Rafael, and immediately we went to a restaurant to eat delicious shrimps.&lt;/p&gt;
&lt;p&gt;I already gave three names, there should be many more, as everybody has been really nice, this is a very friendly and open community, and I enjoyed many discussions, with so many of them mentioning Lucas, friend, student, nice guy in general, at times it felt like a &amp;quot;everybody loves Lucas Rocha&amp;quot; meme was going on :)&lt;/p&gt;
&lt;div class=&quot;figure&quot;&gt;
&lt;img alt=&quot;Walking down to the conference&quot; src=&quot;http://www.0d.be/photos/natal-walking-down-small.jpeg&quot; /&gt;
&lt;p class=&quot;caption&quot;&gt;Walking down to the conference, Natal, November 6th 2010&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;Speaking about the conference, I had two talks; the first talk was about &lt;a class=&quot;reference external&quot; href=&quot;http://www.0d.be/files/natal-gnome-3.pdf&quot;&gt;GNOME 3&lt;/a&gt;, gnome shell, and more, I have mixed feelings about this one, as I often got stopping midsentence as I suddenly remembered Everaldo had to translate it... But there were questions, and I had many discussions about GNOME 3 afterwards. More on this later.&lt;/p&gt;
&lt;p&gt;The second talk was  &amp;quot;&lt;a class=&quot;reference external&quot; href=&quot;http://www.0d.be/files/natal-gnome-internet.pdf&quot;&gt;GNOME on the internet&lt;/a&gt;&amp;quot;, it was much better in my opinion, I learned from the previous day and added more text to the slides (and I have to thanks Cornelius and Vincent for the part about the Franklin Street Statement), there was basically two parts to that talk, the first one was how we already integrate with the internet, protocols and web services, and how we could do it even better, the second part was about going for free web services, whether it's something we want to do, and how we could make it happen (and how it's already happening with snowy, of course).&lt;/p&gt;
&lt;div class=&quot;figure&quot;&gt;
&lt;img alt=&quot;GNOME-BR Discussion&quot; src=&quot;http://www.0d.be/photos/natal-gnome-br-discussion-small.jpeg&quot; /&gt;
&lt;p class=&quot;caption&quot;&gt;Lively GNOME-BR discussion, Natal, November 5th 2010&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;There were also some opportunities for hacking, and Vinicius Depizzol and Lincoln Sousa got working on the translation workflow for the possibly future gnome.org website, that will be very nice; on my side I started hacking on jhbuild improvements to make it easier to take advantage of distribution packages, with the overall goal of making it faster to get a development environment; this is a job to continue at the doc &amp;amp; devtools hackfest in Berlin next month…&lt;/p&gt;
&lt;p&gt;I have many things to write down now, about GNOME 3 and &amp;quot;classic GNOME&amp;quot;, design &amp;amp; mockups, local user communities, and more, I hope I can get this done soon.&lt;/p&gt;
&lt;div class=&quot;figure&quot;&gt;
&lt;img alt=&quot;Ponta Negra beach&quot; src=&quot;http://www.0d.be/photos/natal-ponta-negra-beach-small.jpeg&quot; /&gt;
&lt;p class=&quot;caption&quot;&gt;Ponta Negra beach, Natal, November 8th 2010&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;I'll now go back and enjoy the beach, but before that I really want to thank the GNOME Foundation for sponsoring both the event and my travel, this is really an acknowledgment of the importance of the Brazilian community, and that I am kind of doing a few useful things :) Thanks.&lt;/p&gt;
&lt;p&gt;And everybody, go and become a &lt;a class=&quot;reference external&quot; href=&quot;http://www.gnome.org/friends/&quot;&gt;friend of GNOME&lt;/a&gt;!&lt;/p&gt;</content>
		<author>
			<name>Frédéric Péters</name>
			<uri>http://www.0d.be</uri>
		</author>
		<source>
			<title type="html">Entre code et gazon</title>
			<link rel="self" href="http://www.0d.be/feed-planet.xml/atom"/>
			<id>http://www.0d.be/feeds/default/atom</id>
			<updated>2012-02-04T09:30:02+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-us">
		<title type="html">Google Maps for Emacs: moving, caching and home</title>
		<link href="http://julien.danjou.info/blog/index.html#Google_Maps_for_Emacs_moving_caching_and_home"/>
		<id>http://julien.danjou.info/blog/index.html#Google_Maps_for_Emacs_moving_caching_and_home</id>
		<updated>2010-11-08T11:33:00+00:00</updated>
		<content type="html">&lt;p class=&quot;first&quot;&gt;Last week, I worked on my &lt;a href=&quot;http://julien.danjou.info/google-maps-el.html&quot;&gt;Google Maps for Emacs&lt;/a&gt; extension. I've introduced a
new format handling for locations which include the longitude and latitude.
The initial format was just a string describing the location, which was
obviously too limited.&lt;/p&gt;

&lt;p&gt;It now prints coordinates of the different elements when the mouse is over
the map, with other information.&lt;/p&gt;

&lt;p&gt;It also center the map on &lt;em&gt;M-x google-maps&lt;/em&gt; and set a default zoom level. This
is something which was not set because it's not a good idea to set center
coordinates in order to see all points on the map automatically. But you can
still remove the centering by pressing &lt;em&gt;&quot;C&quot;&lt;/em&gt;. On the other hand, setting it
automatically allows to move the map easily, and I think that what most
users want to do.&lt;/p&gt;

&lt;p&gt;I've also added a &quot;place my home on the map&quot; feature, accessible by pressing
&lt;em&gt;&quot;h&quot;&lt;/em&gt; on any map. That adds a marker according to the location set in Emacs
using the &lt;em&gt;calendar-&lt;/em&gt; variables.&lt;/p&gt;

&lt;p&gt;This feature is also available under &lt;a href=&quot;http://orgmode.org&quot;&gt;Org&lt;/a&gt; by pressing &lt;em&gt;C-u C-c M-l&lt;/em&gt;, which
shows the location of your appointment with your home on the map too.&lt;/p&gt;

&lt;p&gt;Finally, you also get caching so it does not request images you already
seen, which makes the moving nicer and faster to use, and prompt history.&lt;/p&gt;

&lt;center&gt;
&lt;p&gt;&lt;img src=&quot;http://julien.danjou.info/images/emacs-google-maps-move.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;/center&gt;




&lt;a href=&quot;http://flattr.com/thing/47923/Julien-Danjous-blog&quot; target=&quot;_blank&quot;&gt;
&lt;img src=&quot;http://api.flattr.com/button/button-compact-static-100x17.png&quot; alt=&quot;Flattr this&quot; title=&quot;Flattr this&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;</content>
		<author>
			<name>Julien Danjou</name>
			<email>julien@danjou.info</email>
			<uri>http://julien.danjou.info/blog/</uri>
		</author>
		<source>
			<title type="html">jd:/dev/blog</title>
			<subtitle type="html">Julien Danjou's blog</subtitle>
			<link rel="self" href="http://julien.danjou.info/blog/index.xml"/>
			<id>http://julien.danjou.info/blog/index.xml</id>
			<updated>2012-01-03T17:00:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-us">
		<title type="html">Icon category support in Org-mode</title>
		<link href="http://julien.danjou.info/blog/index.html#Icon_category_support_in_Org-mode"/>
		<id>http://julien.danjou.info/blog/index.html#Icon_category_support_in_Org-mode</id>
		<updated>2010-11-04T12:11:00+00:00</updated>
		<content type="html">&lt;p class=&quot;first&quot;&gt;My latest patch for &lt;a href=&quot;http://orgmode.org&quot;&gt;Org mode&lt;/a&gt; has been accepted by Carsten today. It adds
support for custom category icons in all views, like agenda or todo.&lt;/p&gt;

&lt;p&gt;You just need to configure &lt;em&gt;org-agenda-category-icon-alist&lt;/em&gt; and it will work
out of the box.&lt;/p&gt;

&lt;center&gt;
&lt;p&gt;&lt;img src=&quot;http://julien.danjou.info/images/emacs-org-category-icons.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;/center&gt;



&lt;a href=&quot;http://flattr.com/thing/47923/Julien-Danjous-blog&quot; target=&quot;_blank&quot;&gt;
&lt;img src=&quot;http://api.flattr.com/button/button-compact-static-100x17.png&quot; alt=&quot;Flattr this&quot; title=&quot;Flattr this&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;</content>
		<author>
			<name>Julien Danjou</name>
			<email>julien@danjou.info</email>
			<uri>http://julien.danjou.info/blog/</uri>
		</author>
		<source>
			<title type="html">jd:/dev/blog</title>
			<subtitle type="html">Julien Danjou's blog</subtitle>
			<link rel="self" href="http://julien.danjou.info/blog/index.xml"/>
			<id>http://julien.danjou.info/blog/index.xml</id>
			<updated>2012-01-03T17:00:03+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en">
		<title type="html">Implémentation python des premiers algorithmes du projet OATH</title>
		<link href="http://dedie.gyptis.org/~bdauvergne/wordpress/?p=34"/>
		<id>http://dedie.gyptis.org/~bdauvergne/wordpress/?p=34</id>
		<updated>2010-11-03T00:24:52+00:00</updated>
		<content type="html">&lt;p&gt;Le projet &lt;a title=&quot;Initiative for Open Authentication&quot; href=&quot;http://en.wikipedia.org/wiki/Initiative_For_Open_Authentication&quot; target=&quot;_blank&quot;&gt;OATH&lt;/a&gt; vise à produire des spécifications détaillées pour l&amp;#8217;adoption de moyens d&amp;#8217;authentification forte. Le résultat en est trois spécifications HOTP et TOTP pour des algorithmes de mots de passes à usage unique basé sur une séquence ou sur le temps et OCRA pour un algorithme d&amp;#8217;authentification par défis-réponse. Tous trois sont basés sur les signatures HMAC à l&amp;#8217;aide de fonctions à sens unique de la famille SHA (SHA1, SHA256, SHA512, etc.).&lt;/p&gt;
&lt;p&gt;J&amp;#8217;ai commencé une &lt;a href=&quot;http://github.com/bdauvergne/python-oath&quot; target=&quot;_blank&quot;&gt;implémentation en python&lt;/a&gt; des spécifications HOTP et TOTP pour un usage dans &lt;a href=&quot;https://dev.entrouvert.org/projects/authentic&quot;&gt;Authentic 2&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Les fonctions totp() et accept_totp() sont d&amp;#8217;ores et déjà fonctionnelles. L&amp;#8217;algorithme TOTP est le plus simple à utiliser des trois car il ne nécessite pas de stockage particulier en dehors du secret partagé avec l&amp;#8217;utilisateur, comme un mot de passe.&lt;/p&gt;
&lt;p&gt;Je mène en parallèle un projet pour utiliser la bibliothèque javascript &lt;a href=&quot;http://gitorious.org/hotp-js&quot;&gt;hotp-js&lt;/a&gt; pour créer des bookmarklet contenant directement un token TOTP en logiciel. Pour l&amp;#8217;utilisateur il suffirait de bookmarker un lien contenant l&amp;#8217;applet pour disposer du token. Un simple clic sur le bookmark suffisant à l&amp;#8217;activer et à obtenir un mot de passe.&lt;/p&gt;
&lt;p&gt;Pour des implémentations en hard ou soft de ces spécifications au niveau «token» vous avez l&amp;#8217;embarras du choix:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://itunes.apple.com/us/app/oath-token/id364017137?mt=8&quot;&gt;pour votre iPhone&lt;/a&gt;,&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://www.gooze.eu/otp-c200-token-time-based-1-unit&quot;&gt;pour 10 euros,&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Pour des implémentations coté serveur:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://developer.sysco.ch/multiotp/&quot;&gt;en PHP&lt;/a&gt;,&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://code.google.com/p/authen-oath/wiki/HomePage&quot;&gt;en Perl&lt;/a&gt;.&lt;/li&gt;
&lt;/ul&gt;</content>
		<author>
			<name>Benjamin Dauvergne</name>
			<uri>http://dedie.gyptis.org/~bdauvergne/wordpress</uri>
		</author>
		<source>
			<title type="html">Mes nuits sont plus belles que vos jours » Libre Entreprise</title>
			<subtitle type="html">Un blog utilisant WordPress</subtitle>
			<link rel="self" href="http://benjamin.dauvergne.name/?cat=12&amp;feed=rss2"/>
			<id>http://benjamin.dauvergne.name/?cat=12&amp;feed=rss2</id>
			<updated>2011-07-15T14:15:02+00:00</updated>
		</source>
	</entry>

	<entry xml:lang="en-us">
		<title type="html">Transparent GIF support in Emacs 24</title>
		<link href="http://julien.danjou.info/blog/index.html#Transparent_GIF_support_in_Emacs_"/>
		<id>http://julien.danjou.info/blog/index.html#Transparent_GIF_support_in_Emacs_</id>
		<updated>2010-11-02T10:43:00+00:00</updated>
		<content type="html">&lt;p class=&quot;first&quot;&gt;Last week, I wrote a &lt;a href=&quot;http://lists.gnu.org/archive/html/emacs-devel/2010-10/msg01009.html&quot;&gt;couple of patches&lt;/a&gt; to add support for transparency when
Emacs is displaying &lt;a href=&quot;http://en.wikipedia.org/wiki/Graphics_Interchange_Format&quot;&gt;GIF&lt;/a&gt; images. Until now, it was displaying the color used
to define transparency in the file data. Now it displays the image correctly
by using the frame color as the transparency color, like it's done for other
image formats.&lt;/p&gt;

&lt;center&gt;
&lt;p&gt;&lt;img src=&quot;http://julien.danjou.info/images/emacs-gif-transparent.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;
&lt;/center&gt;

&lt;p&gt;The patches have not been merged yet, but will probably be soon.&lt;/p&gt;




&lt;a href=&quot;http://flattr.com/thing/47923/Julien-Danjous-blog&quot; target=&quot;_blank&quot;&gt;
&lt;img src=&quot;http://api.flattr.com/button/button-compact-static-100x17.png&quot; alt=&quot;Flattr this&quot; title=&quot;Flattr this&quot; border=&quot;0&quot; /&gt;&lt;/a&gt;</content>
		<author>
			<name>Julien Danjou</name>
			<email>julien@danjou.info</email>
			<uri>http://julien.danjou.info/blog/</uri>
		</author>
		<source>
			<title type="html">jd:/dev/blog</title>
			<subtitle type="html">Julien Danjou's blog</subtitle>
			<link rel="self" href="http://julien.danjou.info/blog/index.xml"/>
			<id>http://julien.danjou.info/blog/index.xml</id>
			<updated>2012-01-03T17:00:03+00:00</updated>
		</source>
	</entry>

</feed>

