<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
<channel>
	<title>PlanetOCRACY</title>
	<link>http://planet.ocracy.org/</link>
	<language>en</language>
	<description>PlanetOCRACY - http://planet.ocracy.org/</description>

<item>
	<title>Marco Barisione (bari): Custom ringtones for your contacts</title>
	<guid>http://blog.barisione.org/?p=349</guid>
	<link>http://blog.barisione.org/2010-07/custom-ringtones-for-your-contacts/</link>
	<description>&lt;img src="img/heads/bari.png" align="right" alt=""&gt;&lt;p&gt;Yesterday I finished implementing the first release of a new program (ringtoned, i.e. ringtone daemon, i.e. I don’t have any imagination for program names) that allows setting a custom ringtone for specific contacts. Ringtoned tries to integrate nicely with the system:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;You can select the default ringtone in Settings → Profiles as usual&lt;/li&gt;
&lt;li&gt;To set a custom ringtone you go to the Contacts application, select the contact and press the new “Set custom ringtone” button in the menu&lt;/li&gt;
&lt;li&gt;The dialog to set custom ringtones tries to be a perfect copy of the dialog to set the global ringtone&lt;/li&gt;
&lt;li&gt;It works both for normal phone calls and GTalk/SIP/Skype calls, thanks to &lt;a href=&quot;http://telepathy.freedesktop.org/wiki/&quot;&gt;Telepathy&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;The ringtone is played only when the normal one would be played and at the same volume, thanks to some &lt;a href=&quot;http://www.pulseaudio.org/&quot;&gt;PulseAudio&lt;/a&gt; magic&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Ringtoned also &lt;em&gt;tries&lt;/em&gt; not to break your phone, if for any reasons it crashes the default behaviour &lt;em&gt;should&lt;/em&gt; be restored. Nevertheless, this is just version 0.1, so it could be full of bugs and could make you miss phone calls. You have been warned! Moreover, replacing the default ringtone components with something more complex could make the ringtone start slightly later in case of heavy load, see &lt;a href=&quot;http://blog.barisione.org/2010-07/how-hard-can-it-be/&quot;&gt;my previous blog post&lt;/a&gt;. You have been warned again!&lt;/p&gt;
&lt;p&gt;If you still want to give it a try, ringtoned is now in &lt;a href=&quot;http://wiki.maemo.org/Extras-devel&quot;&gt;Maemo extras-devel&lt;/a&gt; under the name “Custom ringtones for your contacts”. If you don’t want to add the extras-devel repository (as it contains a lot of unstable software), you can download ringtoned directly from my personal repository:&lt;/p&gt;
&lt;p align=&quot;center&quot; class=&quot;img&quot;&gt;&lt;a href=&quot;http://people.collabora.co.uk/~bari/maemo/per-contact-ringtones.install&quot;&gt;&lt;img src=&quot;http://people.collabora.co.uk/~bari/maemo/ac_install_icon.png&quot; alt=&quot;Install per-contact-ringtones&quot; style=&quot;border: 0px;&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;small&gt;&lt;a href=&quot;http://people.collabora.co.uk/~bari/maemo/per-contact-ringtones.install&quot;&gt;Install from my personal repository&lt;/a&gt;&lt;br /&gt;(follow the link on the N900 browser)&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;If you are interested in the source code, it’s in &lt;a href=&quot;http://git.collabora.co.uk/?p=user/bari/ringtoned.git;a=summary&quot;&gt;Collabora’s git repositories&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The are two major features that are missing at the moment: the ability to set a custom ringtone for anonymous phone calls and for calls from an unknown number, and the ability to set ringtones for groups and not only for single contacts. The former feature should be easy and it mainly just requires some UI, so it will be hopefully implemented shortly.&lt;br /&gt;
Groups are more difficult to implement because they are not supported at all by the Maemo address book; I would first have to implement support for groups and then add ringtones for the groups. I hope to be able to find time for this, but I cannot guarantee anything.&lt;/p&gt;
&lt;p&gt;In a future post I will explain the architecture of ringtoned and how to extend it: the code that chooses the custom ringtone is actually just a small plugin of the ringtone daemon and it’s possible to write other similar plugins for different needs.&lt;/p&gt;</description>
	<pubDate>Fri, 09 Jul 2010 08:02:51 +0000</pubDate>
</item>
<item>
	<title>Marco Barisione (bari): How hard can it be? (Or why you don’t have custom per contact ringtones on Maemo)</title>
	<guid>http://blog.barisione.org/?p=335</guid>
	<link>http://blog.barisione.org/2010-07/how-hard-can-it-be/</link>
	<description>&lt;img src="img/heads/bari.png" align="right" alt=""&gt;&lt;p&gt;Often in blogs, forums or IRC you can find people complaining of missing features in some programs (&lt;a href=&quot;http://www.penny-arcade.com/comic/2004/03/19/&quot;&gt;and some of them are very rude&lt;/a&gt;). While they can be right some times, other times they just make me angry because they don’t know how difficult writing software can be, and they don’t understand the difference between a semi-working prototype and a proper stable application written by professional developers, designed by professional UI designers and tested by professional testers.&lt;/p&gt;
&lt;p&gt;Implementing some features can actually be quite difficult and it could be better to skip those from your product and focus on other things; on the N900 one of these missing features is the ability to set customised ringtones for specific contacts.&lt;br /&gt;
Several people wondered how hard it can be, after all a lot of old phones do it. What they don’t consider is that, in many ways, the N900 is not a traditional phone and is more similar to a small computer. On the other hand, the N900 still needs to be reliable to be certified as a phone; for ringtones this means that the ringtone should be played as soon as the phone call is received, or the user could miss it.&lt;br /&gt;
Now suppose your N900 is under heavy load due to multitasking (&lt;em&gt;real&lt;/em&gt; multitasking, like on a normal computer) and you receive a phone call from a friend; being a close friend that often calls you, you have an MP3 ringtone set just for him. The phone has to look up for the contact corresponding to the phone number, load the file from the (slow) memory card, load the libraries for playing the ringtone, uncompress the file, and finally play it. All of this on a phone under heavy load with most programs swapped out of memory!&lt;br /&gt;
To workaround this problem the N900 &lt;abbr title=&quot;I never worked on this part of Maemo and I never saw the code, so I just know what I discovered by myself&quot;&gt;seems&lt;/abbr&gt; to do some tricks: the ringtone is uncompressed into a (big) WAV file and saved on the faster (but small) internal memory, and the component playing the ringtone is memlocked (i.e. never removed from memory). Of course, you cannot do this for all the possible ringtones or the already small disk space would be used immediately. Choosing not to uncompress the files, on the other hand, would mean keeping loaded in memory all the possible codecs.&lt;/p&gt;
&lt;p&gt;Does this mean that it’s impossible to have a different ringtone for a specific contact on Maemo? No, it just means that if you want it you have to be ready to accept that the ringtone could start playing a couple of seconds later in some &lt;em&gt;uncommon&lt;/em&gt; heavy load conditions. When you are ready to do that you just have to wait a couple of days, so that I can polish and publish the program I wrote to have custom ringtones &lt;img src=&quot;http://farm1.static.flickr.com/205/458651139_21126b48de_o.png&quot; alt=&quot;:D&quot; /&gt;&lt;/p&gt;
&lt;p&gt;In other news, I’m going to GUADEC for the whole week: see you there!&lt;/p&gt;
&lt;p align=&quot;center&quot; class=&quot;img&quot;&gt;&lt;a href=&quot;http://www.guadec.org/&quot;&gt;&lt;img src=&quot;http://www.guadec.org/img/guadec-oranje.png&quot; alt=&quot;I'm going to GUADEC&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Wed, 07 Jul 2010 19:42:46 +0000</pubDate>
</item>
<item>
	<title>Marco Barisione (bari): Contacts merger in Maemo extras</title>
	<guid>http://blog.barisione.org/?p=328</guid>
	<link>http://blog.barisione.org/2010-06/contacts-merger-in-maemo-extras/</link>
	<description>&lt;img src="img/heads/bari.png" align="right" alt=""&gt;&lt;p&gt;Just a quick post to inform the N900 users that didn’t enable the extras-devel or extras-testing repositories that the contacts merger has been promoted to Maemo extras. Just look for “Merge your duplicate contacts” in the application manager and enjoy &lt;img src=&quot;http://farm1.static.flickr.com/189/458651157_780851832e_o.png&quot; alt=&quot;:)&quot; /&gt;&lt;/p&gt;</description>
	<pubDate>Sun, 20 Jun 2010 12:55:40 +0000</pubDate>
</item>
<item>
	<title>Marco Barisione (bari): Handling phone numbers</title>
	<guid>http://blog.barisione.org/?p=312</guid>
	<link>http://blog.barisione.org/2010-06/handling-phone-numbers/</link>
	<description>&lt;img src="img/heads/bari.png" align="right" alt=""&gt;&lt;p&gt;I’m often asked questions about the handling and parsing of phone numbers, so I’m going to explain how we do it on Maemo 5. I hope this can be useful also for developers of other applications.&lt;/p&gt;
&lt;p&gt;There is no unique standardised way to write phone numbers; in the UK the phone number of the Buckingham Palace Visitor Office can be written as 02073212233, &lt;abbr title=&quot;This is a common but wrong way to indicate that the “0” can be omitted if the international prefix is used&quot;&gt;+44 (0)20 7321 2233&lt;/abbr&gt;, 0044 207 321 2233, etc. If you omit the international prefix +44, the number 02073212233 could be used by somebody else in another country, for instance to me it looks like a phone number for somebody living in Milan.&lt;/p&gt;
&lt;p&gt;When storing a phone number you should keep it as you got it, including spaces, parenthesis, etc.&lt;br /&gt;
When you want to use the number you should drop all the useless characters, but keep the extensions numbers. For instance 44-555-P1 would become 44555P1, which means: call the Vodafone UK balance information number 44555, pause for some seconds waiting for the recorded voice to start speaking, and send a 1 (i.e. ask for a text message with the remaining minutes for this month).&lt;/p&gt;
&lt;p&gt;When comparing phone numbers to see if they belong to the same contact you also want to strip all the extra digits sent after a pause as those are not really part of the phone number. At this point you still have to somehow handle the craziness of international and local prefixes, for instance all these numbers &lt;em&gt;could&lt;/em&gt; be a valid way to call the same person in &lt;a href=&quot;http://en.wikipedia.org/wiki/San_Marino&quot;&gt;San Marino&lt;/a&gt;: &lt;span title=&quot;Calling from Italy or San Marino&quot;&gt;0549 123 456&lt;/span&gt;, &lt;span title=&quot;Calling from anywhere using the San Marino calling code (+378)&quot;&gt;+378 0549 123 456&lt;/span&gt;, &lt;span title=&quot;Calling from anywhere using the Italian calling code (+39)&quot;&gt;+39 0549 123 456&lt;/span&gt;, &lt;span title=&quot;Calling from a country where the international call prefix is 00&quot;&gt;0039 0549 123 456&lt;/span&gt;, &lt;span title=&quot;Calling from a country where the international call prefix is 011, like the US&quot;&gt;011 39 0549 123 456&lt;/span&gt;.&lt;br /&gt;
How do phones handle this? Just by comparing the last 7 digits of the phone number, that is the minimum length used &lt;a href=&quot;https://bugs.maemo.org/show_bug.cgi?id=7227#c8&quot; title=&quot;Bugs happening only in Qatar for the win!&quot;&gt;somewhere&lt;/a&gt; for phone numbers.&lt;br /&gt;
This of course leaves a chance of false matches, but as you can see there is no real generic solution for this.&lt;/p&gt;
&lt;p&gt;Here’s some code to show how to handle phone numbers. I used Python as a sort of pseudo-language, so I preferred readability for non-Python developers over good pythonic code.&lt;/p&gt;
&lt;pre&gt;extension_chars &lt;span style=&quot;color: #808030;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #808030;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000e6;&quot;&gt;'p'&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #0000e6;&quot;&gt;'P'&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #0000e6;&quot;&gt;'w'&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #0000e6;&quot;&gt;'W'&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #0000e6;&quot;&gt;'x'&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #0000e6;&quot;&gt;'X'&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;)&lt;/span&gt;

&lt;span style=&quot;color: #800000; font-weight: bold;&quot;&gt;def&lt;/span&gt; normalize_phone_number&lt;span style=&quot;color: #808030;&quot;&gt;(&lt;/span&gt;number&lt;span style=&quot;color: #808030;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;:&lt;/span&gt;
    common_delimiters &lt;span style=&quot;color: #808030;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #808030;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000e6;&quot;&gt;','&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #0000e6;&quot;&gt;'.'&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #0000e6;&quot;&gt;'('&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #0000e6;&quot;&gt;')'&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #0000e6;&quot;&gt;'-'&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #0000e6;&quot;&gt;' '&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;,&lt;/span&gt;
                         &lt;span style=&quot;color: #0000e6;&quot;&gt;'\t'&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #0000e6;&quot;&gt;'/'&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;)&lt;/span&gt;
    valid_digits &lt;span style=&quot;color: #808030;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #808030;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000e6;&quot;&gt;'#'&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #0000e6;&quot;&gt;'*'&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #0000e6;&quot;&gt;'0'&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #0000e6;&quot;&gt;'1'&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #0000e6;&quot;&gt;'2'&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #0000e6;&quot;&gt;'3'&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #0000e6;&quot;&gt;'4'&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;,&lt;/span&gt;
                    &lt;span style=&quot;color: #0000e6;&quot;&gt;'5'&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #0000e6;&quot;&gt;'6'&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #0000e6;&quot;&gt;'7'&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #0000e6;&quot;&gt;'8'&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #0000e6;&quot;&gt;'9'&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;)&lt;/span&gt;

    normalized &lt;span style=&quot;color: #808030;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0000e6;&quot;&gt;''&lt;/span&gt;

    &lt;span style=&quot;color: #800000; font-weight: bold;&quot;&gt;for&lt;/span&gt; digit &lt;span style=&quot;color: #800000; font-weight: bold;&quot;&gt;in&lt;/span&gt; number&lt;span style=&quot;color: #808030;&quot;&gt;:&lt;/span&gt;
        &lt;span style=&quot;color: #800000; font-weight: bold;&quot;&gt;if&lt;/span&gt; digit &lt;span style=&quot;color: #800000; font-weight: bold;&quot;&gt;in&lt;/span&gt; extension_chars&lt;span style=&quot;color: #808030;&quot;&gt;:&lt;/span&gt;
            &lt;span style=&quot;color: #696969;&quot;&gt;# Keep the extension characters P, W and X,&lt;/span&gt;
            &lt;span style=&quot;color: #696969;&quot;&gt;# but be sure they are upper case.&lt;/span&gt;
            digit &lt;span style=&quot;color: #808030;&quot;&gt;=&lt;/span&gt; digit&lt;span style=&quot;color: #808030;&quot;&gt;.&lt;/span&gt;upper&lt;span style=&quot;color: #808030;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;)&lt;/span&gt;
        &lt;span style=&quot;color: #800000; font-weight: bold;&quot;&gt;elif&lt;/span&gt; digit &lt;span style=&quot;color: #808030;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0000e6;&quot;&gt;'+'&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;:&lt;/span&gt;
            &lt;span style=&quot;color: #696969;&quot;&gt;# &quot;+&quot; is valid only at the beginning of phone&lt;/span&gt;
            &lt;span style=&quot;color: #696969;&quot;&gt;# numbers or after the number suppression&lt;/span&gt;
            &lt;span style=&quot;color: #696969;&quot;&gt;# prefix. (No idea why we support only this&lt;/span&gt;
            &lt;span style=&quot;color: #696969;&quot;&gt;# GSM code, but not the VSC ones.)&lt;/span&gt;
            &lt;span style=&quot;color: #800000; font-weight: bold;&quot;&gt;if&lt;/span&gt; normalized &lt;span style=&quot;color: #800000; font-weight: bold;&quot;&gt;not&lt;/span&gt; &lt;span style=&quot;color: #800000; font-weight: bold;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #808030;&quot;&gt;(&lt;/span&gt;&lt;span style=&quot;color: #0000e6;&quot;&gt;''&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #0000e6;&quot;&gt;'*31#'&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;,&lt;/span&gt; &lt;span style=&quot;color: #0000e6;&quot;&gt;'#31#'&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;:&lt;/span&gt;
                &lt;span style=&quot;color: #800000; font-weight: bold;&quot;&gt;print&lt;/span&gt; &lt;span style=&quot;color: #0000e6;&quot;&gt;'Wrong &quot;+&quot; in &quot;%s&quot;'&lt;/span&gt; &lt;span style=&quot;color: #808030;&quot;&gt;%&lt;/span&gt; number
                &lt;span style=&quot;color: #696969;&quot;&gt;# Skip this &quot;+&quot;.&lt;/span&gt;
                &lt;span style=&quot;color: #800000; font-weight: bold;&quot;&gt;continue&lt;/span&gt;
        &lt;span style=&quot;color: #800000; font-weight: bold;&quot;&gt;elif&lt;/span&gt; digit &lt;span style=&quot;color: #800000; font-weight: bold;&quot;&gt;in&lt;/span&gt; common_delimiters&lt;span style=&quot;color: #808030;&quot;&gt;:&lt;/span&gt;
            &lt;span style=&quot;color: #696969;&quot;&gt;# Skip this delimiter.&lt;/span&gt;
            &lt;span style=&quot;color: #800000; font-weight: bold;&quot;&gt;continue&lt;/span&gt;
        &lt;span style=&quot;color: #800000; font-weight: bold;&quot;&gt;elif&lt;/span&gt; digit &lt;span style=&quot;color: #800000; font-weight: bold;&quot;&gt;in&lt;/span&gt; valid_digits&lt;span style=&quot;color: #808030;&quot;&gt;:&lt;/span&gt;
            &lt;span style=&quot;color: #696969;&quot;&gt;# Ok, let's keep it.&lt;/span&gt;
            &lt;span style=&quot;color: #800000; font-weight: bold;&quot;&gt;pass&lt;/span&gt;
        &lt;span style=&quot;color: #800000; font-weight: bold;&quot;&gt;else&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;:&lt;/span&gt;
            &lt;span style=&quot;color: #696969;&quot;&gt;# What is this? It doesn't seem valid but we&lt;/span&gt;
            &lt;span style=&quot;color: #696969;&quot;&gt;# just keep it&lt;/span&gt;
            &lt;span style=&quot;color: #800000; font-weight: bold;&quot;&gt;print&lt;/span&gt; &lt;span style=&quot;color: #0000e6;&quot;&gt;'Unknown character &quot;%s&quot; in &quot;%s&quot;'&lt;/span&gt; &lt;span style=&quot;color: #808030;&quot;&gt;%&lt;/span&gt; \
                    &lt;span style=&quot;color: #808030;&quot;&gt;(&lt;/span&gt;digit&lt;span style=&quot;color: #808030;&quot;&gt;,&lt;/span&gt; number&lt;span style=&quot;color: #808030;&quot;&gt;)&lt;/span&gt;

        normalized &lt;span style=&quot;color: #808030;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;=&lt;/span&gt; digit

    &lt;span style=&quot;color: #800000; font-weight: bold;&quot;&gt;return&lt;/span&gt; normalized

&lt;span style=&quot;color: #800000; font-weight: bold;&quot;&gt;def&lt;/span&gt; remove_extension_chars&lt;span style=&quot;color: #808030;&quot;&gt;(&lt;/span&gt;number&lt;span style=&quot;color: #808030;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;:&lt;/span&gt;
    clean &lt;span style=&quot;color: #808030;&quot;&gt;=&lt;/span&gt; &lt;span style=&quot;color: #0000e6;&quot;&gt;''&lt;/span&gt;

    &lt;span style=&quot;color: #800000; font-weight: bold;&quot;&gt;for&lt;/span&gt; digit &lt;span style=&quot;color: #800000; font-weight: bold;&quot;&gt;in&lt;/span&gt; number&lt;span style=&quot;color: #808030;&quot;&gt;:&lt;/span&gt;
        &lt;span style=&quot;color: #800000; font-weight: bold;&quot;&gt;if&lt;/span&gt; digit &lt;span style=&quot;color: #800000; font-weight: bold;&quot;&gt;in&lt;/span&gt; extension_chars&lt;span style=&quot;color: #808030;&quot;&gt;:&lt;/span&gt;
            &lt;span style=&quot;color: #696969;&quot;&gt;# Extension character, drop this character and&lt;/span&gt;
            &lt;span style=&quot;color: #696969;&quot;&gt;# the rest of the string.&lt;/span&gt;
            &lt;span style=&quot;color: #800000; font-weight: bold;&quot;&gt;break&lt;/span&gt;

        clean &lt;span style=&quot;color: #808030;&quot;&gt;+&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;=&lt;/span&gt; digit

    &lt;span style=&quot;color: #800000; font-weight: bold;&quot;&gt;return&lt;/span&gt; clean

&lt;span style=&quot;color: #800000; font-weight: bold;&quot;&gt;def&lt;/span&gt; phone_numbers_equal&lt;span style=&quot;color: #808030;&quot;&gt;(&lt;/span&gt;number1&lt;span style=&quot;color: #808030;&quot;&gt;,&lt;/span&gt; number2&lt;span style=&quot;color: #808030;&quot;&gt;)&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;:&lt;/span&gt;
    number1 &lt;span style=&quot;color: #808030;&quot;&gt;=&lt;/span&gt; normalize_phone_number&lt;span style=&quot;color: #808030;&quot;&gt;(&lt;/span&gt;number1&lt;span style=&quot;color: #808030;&quot;&gt;)&lt;/span&gt;
    number1 &lt;span style=&quot;color: #808030;&quot;&gt;=&lt;/span&gt; remove_extension_chars&lt;span style=&quot;color: #808030;&quot;&gt;(&lt;/span&gt;number1&lt;span style=&quot;color: #808030;&quot;&gt;)&lt;/span&gt;

    number2 &lt;span style=&quot;color: #808030;&quot;&gt;=&lt;/span&gt; normalize_phone_number&lt;span style=&quot;color: #808030;&quot;&gt;(&lt;/span&gt;number2&lt;span style=&quot;color: #808030;&quot;&gt;)&lt;/span&gt;
    number2 &lt;span style=&quot;color: #808030;&quot;&gt;=&lt;/span&gt; remove_extension_chars&lt;span style=&quot;color: #808030;&quot;&gt;(&lt;/span&gt;number2&lt;span style=&quot;color: #808030;&quot;&gt;)&lt;/span&gt;

    &lt;span style=&quot;color: #696969;&quot;&gt;# Compare only the last 7 digits.&lt;/span&gt;
    &lt;span style=&quot;color: #696969;&quot;&gt;# If one of the numbers is shorter than 7 digits it's&lt;/span&gt;
    &lt;span style=&quot;color: #696969;&quot;&gt;# important that the comparison is done on the full&lt;/span&gt;
    &lt;span style=&quot;color: #696969;&quot;&gt;# length of the numbers and not only on the last tiny&lt;/span&gt;
    &lt;span style=&quot;color: #696969;&quot;&gt;# bits of the 2 numbers.&lt;/span&gt;
    &lt;span style=&quot;color: #800000; font-weight: bold;&quot;&gt;return&lt;/span&gt; number1&lt;span style=&quot;color: #808030;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #008c00;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;]&lt;/span&gt; &lt;span style=&quot;color: #808030;&quot;&gt;=&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;=&lt;/span&gt; number2&lt;span style=&quot;color: #808030;&quot;&gt;[&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;-&lt;/span&gt;&lt;span style=&quot;color: #008c00;&quot;&gt;7&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;:&lt;/span&gt;&lt;span style=&quot;color: #808030;&quot;&gt;]&lt;/span&gt;
&lt;/pre&gt;
&lt;p align=&quot;center&quot; class=&quot;img&quot;&gt;&lt;small&gt;Python code for handling phone numbers&lt;br /&gt;&lt;a href=&quot;http://people.collabora.co.uk/~bari/phone.py&quot;&gt;(Download the full code with tests)&lt;/a&gt;&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;If you are handling phone numbers on Maemo 5, there are already some useful functions to use: &lt;a href=&quot;http://maemo.org/api_refs/5.0/5.0-final/libebook/libebook-e-book-util.html#e-normalize-phone-number&quot;&gt;e_​normalize_​phone_​number&lt;/a&gt;, &lt;a href=&quot;http://maemo.org/api_refs/5.0/5.0-final/libosso-abook/libosso-abook-osso-abook-util.html#osso-abook-phone-numbers-equal&quot;&gt;osso_​abook_​phone_​numbers_​equal&lt;/a&gt;, &lt;a href=&quot;http://maemo.org/api_refs/5.0/5.0-final/libosso-abook/OssoABookContact.html#osso-abook-contact-matches-phone-number&quot;&gt;osso_​abook_​contact_​matches_​phone_​number&lt;/a&gt; and &lt;a href=&quot;http://maemo.org/api_refs/5.0/5.0-final/libosso-abook/libosso-abook-osso-abook-util.html#osso-abook-query-phone-number&quot;&gt;osso_​abook_​query_​phone_​number&lt;/a&gt;.&lt;/p&gt;</description>
	<pubDate>Mon, 14 Jun 2010 07:21:51 +0000</pubDate>
</item>
<item>
	<title>Marco Barisione (bari): Contacts merger 0.1.3 in Maemo extras-testing</title>
	<guid>http://blog.barisione.org/?p=306</guid>
	<link>http://blog.barisione.org/2010-06/contacts-merger-013-in-maemo-extras/</link>
	<description>&lt;img src="img/heads/bari.png" align="right" alt=""&gt;&lt;p&gt;Since my &lt;a href=&quot;http://blog.barisione.org/2010-06/finding-the-duplicate-contacts-in-your-address-book/&quot;&gt;previous post about the contacts merger&lt;/a&gt;, I fixed a crash, made it handle better broken vcards, improved the partial matching and made the installer quit the address book when the plugin is installed, so no reboot is needed.&lt;br /&gt;
The new 0.1.3 merger is now available in &lt;a href=&quot;http://wiki.maemo.org/Extras-testing&quot;&gt;Maemo extras-testing&lt;/a&gt;, just look for “Merge your duplicate contacts” in the application manager.&lt;/p&gt;
&lt;h4&gt;What’s next&lt;/h4&gt;
&lt;p&gt;Suppose I &lt;em&gt;could&lt;/em&gt; have some spare time to write some &lt;em&gt;small&lt;/em&gt; applications relating to the N900 address book; what would you want me to work on? The application should be small and not require changes to the closed source components. Suggestions are welcome in the comments, but I cannot assure you anything &lt;img src=&quot;http://farm1.static.flickr.com/189/458651157_780851832e_o.png&quot; alt=&quot;:)&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;small&gt;&lt;b&gt;Update:&lt;/b&gt; I meant extras-testing of course, not extras&lt;/small&gt;&lt;/p&gt;</description>
	<pubDate>Tue, 08 Jun 2010 20:47:46 +0000</pubDate>
</item>
<item>
	<title>Marco Barisione (bari): Finding duplicate contacts in your address book</title>
	<guid>http://blog.barisione.org/?p=299</guid>
	<link>http://blog.barisione.org/2010-06/finding-the-duplicate-contacts-in-your-address-book/</link>
	<description>&lt;img src="img/heads/bari.png" align="right" alt=""&gt;&lt;p&gt;One of the common complaints about the Maemo address book is that it’s easy to get a lot of duplicate contacts as the address book is able to pull your contacts from various IM services. From the beginning there has been a way to merge duplicates, but it meant manually going through all of your contacts hunting down the duplicates.&lt;br /&gt;
Today I finished writing the first version of a program that tries to automatically detect duplicates based on the IM names, emails, phone numbers and names. Of course this is just based on heuristics; you still have to go through the list and select the contacts that you want to merge. You can find this utility under the name “Merge your duplicate contacts” in the application manager and it’s available in &lt;a href=&quot;http://wiki.maemo.org/Extras-devel#How_to_activate_Extras-devel&quot;&gt;Maemo extras-devel&lt;/a&gt;. Remember that extras-devel contains unstable software: enable it only if you really know what you are doing!&lt;br /&gt;
After installing Contacts Merger you have to reboot your phone&lt;sup&gt;[1]&lt;/sup&gt; and then you will get a “Find duplicate contacts” button in the menu of the main address book window.&lt;/p&gt;
&lt;p align=&quot;centre&quot; class=&quot;img&quot;&gt;&lt;a href=&quot;http://farm5.static.flickr.com/4010/4667729768_034435a3d0_b.jpg&quot;&gt;&lt;img src=&quot;http://farm5.static.flickr.com/4010/4667729768_034435a3d0_b.jpg&quot; alt=&quot;The window suggesting the possible merges&quot; class=&quot;scaled&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;small&gt;The window suggesting the possible merges&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Update:&lt;/b&gt; I released 0.1.1 that fixes a crasher in case of malformed contacts.&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Update 2:&lt;/b&gt; Forgot to say &lt;a href=&quot;http://git.collabora.co.uk/?p=user/bari/contacts-merger.git;a=summary&quot;&gt;where to get the code&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;small&gt;&lt;b&gt;[1]&lt;/b&gt; Sadly the address book doesn’t automatically load newly installed plugins without a restart; see &lt;a alt=&quot;Maemo bugzilla: Reboot needed after installing the contacts merger&quot; href=&quot;https://bugs.maemo.org/show_bug.cgi?id=10542&quot;&gt;bug #10542&lt;/a&gt;.&lt;/small&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 04 Jun 2010 08:21:20 +0000</pubDate>
</item>
<item>
	<title>Marco Barisione (bari): Plugins for the N900 address book</title>
	<guid>http://blog.barisione.org/?p=294</guid>
	<link>http://blog.barisione.org/2010-05/plugins-for-the-n900-address-book/</link>
	<description>&lt;img src="img/heads/bari.png" align="right" alt=""&gt;&lt;p&gt;Finally the new update for Maemo 5 is out; it’s good to see that months of bug fixes and new features are finally available to everybody! One of the new features, not directly visible to users, is that developers can now add new buttons to the Contacts application menu. At the beginning we wanted to make the plugin system more powerful, but sadly it required too many changes and we didn’t have enough time to finish and test it properly.&lt;/p&gt;
&lt;p align=&quot;centre&quot; class=&quot;img&quot;&gt;&lt;a href=&quot;http://farm5.static.flickr.com/4005/4638741953_03df615705_o.png&quot;&gt;&lt;img src=&quot;http://farm5.static.flickr.com/4005/4638741953_03df615705_o.png&quot; alt=&quot;A “Hello World” button added by the example plugin&quot; class=&quot;scaled&quot; width=&quot;400&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;small&gt;A “Hello World” button added by the example plugin&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;To add new buttons you have to create a new object that derives from &lt;code&gt;OssoABookMenuExtension&lt;/code&gt; and implements the required methods. For an example of this, see the &lt;a href=&quot;http://maemo.gitorious.org/osso-abook-plugin-example/osso-abook-plugin-example&quot;&gt;example on gitorious&lt;/a&gt; that &lt;a href=&quot;http://taschenorakel.de/mathias/&quot;&gt;Mathias&lt;/a&gt; wrote and the &lt;a href=&quot;http://maemo.org/api_refs/5.0/5.0-final/libosso-abook/OssoABookMenuExtension.html&quot;&gt;API documentation&lt;/a&gt;.&lt;br /&gt;
Please, don’t go crazy with this new feature and don’t add 2000 different buttons to the menu!&lt;/p&gt;</description>
	<pubDate>Tue, 25 May 2010 16:06:48 +0000</pubDate>
</item>
<item>
	<title>Marco Barisione (bari): Merge back your Facebook contacts</title>
	<guid>http://blog.barisione.org/?p=282</guid>
	<link>http://blog.barisione.org/2010-05/merge-back-your-facebook-contacts/</link>
	<description>&lt;img src="img/heads/bari.png" align="right" alt=""&gt;&lt;p&gt;As I said in &lt;a href=&quot;http://blog.barisione.org/2010-05/facebook-and-the-n900-address-book/&quot;&gt;my previous blog post&lt;/a&gt;, some changes in the Facebook XMPP servers lead to the unmerging of the Facebook contacts that were merged with local contacts in the N900 address book. To fix this problem I wrote the small utility Facebook migrator, now available in &lt;a href=&quot;http://wiki.maemo.org/Extras-testing&quot;&gt;Maemo extras-testing&lt;/a&gt;, that automatically merges back your contacts. Please remember that extras-testing contains unstable software and mine is not an exception! The source code is available on the &lt;a href=&quot;http://git.collabora.co.uk/?p=user/bari/fb-migrator.git;a=summary&quot;&gt;Collabora git repositories&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you have any feedback, please let me know in the comments to this post. The only known issue at the moment is that saving your contacts is quite slow, but I didn’t bother making it fast considering that it’s just a one time operation.&lt;/p&gt;
&lt;h3&gt;Wordpress troubles&lt;/h3&gt;
&lt;p&gt;In other news, I noticed that I don’t get an email notification anymore when somebody comments on my blog, but a simple PHP script that uses the &lt;code&gt;mail()&lt;/code&gt; function sends emails correctly. In the logs I don’t see anything useful and I’m sure the notifications are not in the spam folder. Does anybody have any suggestion on how to debug this?&lt;/p&gt;</description>
	<pubDate>Thu, 20 May 2010 20:21:50 +0000</pubDate>
</item>
<item>
	<title>Marco Barisione (bari): Facebook and the N900 address book</title>
	<guid>http://blog.barisione.org/?p=275</guid>
	<link>http://blog.barisione.org/2010-05/facebook-and-the-n900-address-book/</link>
	<description>&lt;img src="img/heads/bari.png" align="right" alt=""&gt;&lt;p&gt;The N900 address book can merge multiple contacts into a single entity: if you have a friend that has a phone number, an email address, a Jabber user name, a MSN one and so on, then you can merge all of the different entities into a single meta-contact.&lt;/p&gt;
&lt;p align=&quot;centre&quot; class=&quot;img&quot;&gt;&lt;a href=&quot;http://farm4.static.flickr.com/3525/4031796040_62de75ded3_o.png&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3525/4031796040_62de75ded3_o.png&quot; alt=&quot;Locally stored details and an IM user name in the same contact&quot; class=&quot;scaled&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;small&gt;Locally stored details and an IM user name in the same contact&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;The different IM contacts are tracked through their username and should be immutable&lt;sup&gt;&lt;small&gt;[1]&lt;/small&gt;&lt;/sup&gt;, but yesterday Facebook changed all the IDs from something like “u123456789@chat.facebook.com” to “-123456789@chat.facebook.com”. For the address book this means that all the previous contacts were deleted from the IM roster and new contacts were added, so you get duplicate contacts. Moreover, when a contact is removed from the roster we leave the IM user name in the contact details, if you click the button you can add the contact back to one of your rosters. In the Facebook case this means that you end up with all of your meta-contacts with a useless button that cannot do nothing.&lt;/p&gt;
&lt;p&gt;The fix for this is to remove the old IDs and merge your contacts again, simple but tedious. A better way to do it is to be patient and wait until I finish a program that will do it for you in a few click &lt;img src=&quot;http://farm1.static.flickr.com/218/458651141_54bbc48288_o.png&quot; alt=&quot;;)&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Update:&lt;/b&gt; I finished and release the program, see &lt;a href=&quot;http://blog.barisione.org/2010-05/merge-back-your-facebook-contacts/&quot;&gt;my blog post about Facebook migrator&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;small&gt;[1] Actually, some changes in the IDs are possible for normalisation purposes; if you add “FooBar@example.COM” it will become “foobar@example.com” in your roster. (And yes, the normalisation is buggy in PR1.1, but it will be fixed in PR1.2.)&lt;/small&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 13 May 2010 16:46:23 +0000</pubDate>
</item>
<item>
	<title>Marco Barisione (bari): GTK surprises on Maemo</title>
	<guid>http://blog.barisione.org/?p=259</guid>
	<link>http://blog.barisione.org/2010-05/gtk-surprises-on-maemo/</link>
	<description>&lt;img src="img/heads/bari.png" align="right" alt=""&gt;&lt;p&gt;Sometimes the creation of the contact chooser used on the N900 can be slow so, using callgrind and kcachegrind, I tried to understand what is the source of the slowness. This lead me to find some unexpected, and apparently undocumented, differences between upstream GTK and the Maemo version.&lt;/p&gt;
&lt;p align=&quot;centre&quot; class=&quot;img&quot;&gt;&lt;a href=&quot;http://farm5.static.flickr.com/4012/4576575676_7c4bee3997_o.png&quot;&gt;&lt;img src=&quot;http://farm5.static.flickr.com/4012/4576575676_7c4bee3997_o.png&quot; alt=&quot;The Maemo 5 contact chooser&quot; class=&quot;scaled&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;small&gt;The Maemo 5 contact chooser&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;The widget contains a GtkTreeView that uses a model with just one column for the contact objects. How can its creation be so slow? To my surprise most of the time was spent decompressing the avatar images!&lt;br /&gt;
The avatars of the contacts are loaded, scaled and cropped in the &lt;a href=&quot;http://library.gnome.org/devel/gtk/stable/GtkTreeViewColumn.html#gtk-tree-view-column-set-cell-data-func&quot;&gt;cell data function&lt;/a&gt; of the GtkTreeViewColumn as, for various reasons, we cannot cache on disk the resulting image or generate it before the creation of the widget. Following calls of the cell data function for the same row won’t need to generate the avatar anymore. Doing non-trivial operations in the cell data function is not the nicest thing to do, but this should not be a problem as the cell data function is called only for the visible rows, right? No, at least not on Maemo!&lt;br /&gt;
To verify it just try &lt;a href=&quot;http://people.collabora.co.uk/~bari/tmp/cell-test.c&quot;&gt;this example program&lt;/a&gt;: on Maemo the &lt;code&gt;cell_func()&lt;/code&gt; function is called once per item in the model plus once per visible item, elsewhere only once per visible item.&lt;/p&gt;
&lt;p&gt;After a bit of investigation together with &lt;a href=&quot;http://people.gnome.org/~csaavedra/&quot;&gt;Claudio&lt;/a&gt;, we discovered that on Maemo there is a function called &lt;code&gt;gtk_​tree_​view_​column_​get_​cell_​data_​hint()&lt;/code&gt; that returns &lt;code&gt;GTK_​TREE_​CELL_​DATA_​HINT_​KEY_​FOCUS&lt;/code&gt;, &lt;code&gt;GTK_​TREE_​CELL_​DATA_​HINT_​SENSITIVITY&lt;/code&gt; or &lt;code&gt;GTK_​TREE_​CELL_​DATA_​HINT_​ALL&lt;/code&gt;. The hint tells you why the function was called; in the example code the function is called on the hidden rows only to get their sensitivity so there is no need to set the “&lt;code&gt;pixbuf&lt;/code&gt;” property of the cell at this point.&lt;/p&gt;
&lt;p&gt;Just this tiny change in the address book code makes the contact chooser open much faster if you have a lot of contacts with big avatars, like the ones that &lt;a href=&quot;http://hermes.garage.maemo.org/&quot;&gt;Hermes&lt;/a&gt; creates. On the other hand the delayed loading made the scrolling become non-smooth &lt;img src=&quot;http://farm1.static.flickr.com/217/458651161_e4a46b807b_o.png&quot; alt=&quot;:(&quot; /&gt;&lt;br /&gt;
To fix the scrolling I had to implement some asynchronous loading of the avatars. The contact chooser now tries to load as many avatars as possible in idle moments and also tries to load first the avatars for the contacts that the user is more likely to see. The results seem quite good; now the contact list is fast, scrolling is smooth and the delayed loading of avatars should not be visible in normal cases.&lt;/p&gt;</description>
	<pubDate>Tue, 04 May 2010 08:07:44 +0000</pubDate>
</item>
<item>
	<title>Pierre-Luc Beaudoin (pierlux): Wikipedia Path extension for my browser?</title>
	<guid>http://blog.pierlux.com/?p=1435</guid>
	<link>http://blog.pierlux.com/2010/04/11/wikipedia-path-extension-for-my-browser/en/</link>
	<description>&lt;img src="img/heads/pierlux.png" align="right" alt=""&gt;&lt;p&gt;Dear &lt;a href=&quot;http://en.wikipedia.org/wiki/Lazyweb&quot;&gt;Lazyweb&lt;/a&gt;,&lt;/p&gt;
&lt;p&gt;On this partly-cloudy day of April, I’ve thrown myself at &lt;a href=&quot;http://en.wikipedia.org/&quot;&gt;Wikipedia&lt;/a&gt; seeking mercy upon my insatiable need to know more about diverse subjects such as the &lt;a href=&quot;http://en.wikipedia.org/wiki/International_Phonetic_Alphabet&quot;&gt;International Phonetic Alphabet&lt;/a&gt;.  But, as with any visit to Wikipedia, I ended up reading about even more diverse subjects such as  the &lt;a href=&quot;http://en.wikipedia.org/wiki/Mortgage&quot;&gt;Mortgage&lt;/a&gt; word (from &lt;a href=&quot;http://en.wikipedia.org/wiki/Law_French&quot;&gt;Law French&lt;/a&gt;), the Arabic loanword &lt;a href=&quot;http://en.wikipedia.org/wiki/Orange_%28word%29&quot;&gt;Orange&lt;/a&gt; and the &lt;a href=&quot;http://en.wikipedia.org/wiki/Merovingian&quot;&gt;Merovingian dynasty&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This was all great to read upon (thanks Wikipedians!).  But I’d like an easy way to find my way back to the original piece.  I’d like a nice Firefox extension to draw for me the threads of articles I’ve read.  Each time I’d open a new tab it would create a new branch from this article.  When an article links to an already open tab, it should be identified with a dashed line.&lt;/p&gt;
&lt;p&gt;I’ve drawn an example of what it could look like (click for more details):&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2010/04/wikipedian_path.svg&quot;&gt;&lt;img src=&quot;http://blog.pierlux.com/wp-content/uploads/2010/04/wikipedian_path.png&quot; alt=&quot;My path through Wikipedia today&quot; class=&quot;size-medium wp-image-1439&quot; title=&quot;My Wikipedia Day&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;So please, tell me someone already wrote that piece of software? (It took me quite too long to draw this funny diagram).&lt;/p&gt;
&lt;p&gt;Regards,&lt;/p&gt;
&lt;p&gt;Pierre-Luc&lt;/p&gt;
&lt;p&gt;NB: An attentive reader will realize that I like reading on History, Languages and History of Languages.&lt;/p&gt;</description>
	<pubDate>Sun, 11 Apr 2010 19:13:57 +0000</pubDate>
</item>
<item>
	<title>Marco Barisione (bari): Thanks Barclays…</title>
	<guid>http://blog.barisione.org/?p=252</guid>
	<link>http://blog.barisione.org/2010-04/thanks-barclays/</link>
	<description>&lt;img src="img/heads/bari.png" align="right" alt=""&gt;&lt;p&gt;I cannot understand if this email that Barclaycard (it’s not a scam, the email really comes from them) sent me is a sick April Fools’ joke or what:&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;
Dear Mr Barisione,&lt;/p&gt;
&lt;p&gt;You were recently upgraded to a Barclaycard Cashback card.&lt;/p&gt;
&lt;p&gt;As you’re registered with mybarclaycard to manage your account online, we’d like to let know about a technical issue that means you will not be able log in to your account. We’re working to resolve this issue, but it will take until 1st June 2010.&lt;/p&gt;
&lt;p&gt;[...]
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;If it’s a joke I want to stop using their services, if it’s not do they really need 2 months to fix this issue? This plus receiving fraud prevention phone calls every time I use the Barclays debit card in a shop (it happened three times in the last two weeks, twice just yesterday) and getting the transaction blocked makes me really want to change bank.&lt;br /&gt;
Suggestions for a decent bank in the UK? For now the only suggestion I got was Nationwide.&lt;/p&gt;</description>
	<pubDate>Thu, 01 Apr 2010 14:09:33 +0000</pubDate>
</item>
<item>
	<title>Pierre-Luc Beaudoin (pierlux): The rumors of our extinction have been greatly exaggerated</title>
	<guid>http://blog.pierlux.com/?p=1407</guid>
	<link>http://blog.pierlux.com/2010/03/02/the-rumors-of-our-extinction-have-been-greatly-exaggerated/en/</link>
	<description>&lt;img src="img/heads/pierlux.png" align="right" alt=""&gt;&lt;p&gt;This is a public announcement to everyone who have seen the opening and closing ceremonies of the 2010 Winter Olympics in Vancouver: Canada is still inhabited by French speakers.&lt;/p&gt;
&lt;p id=&quot;firstHeading&quot; class=&quot;firstHeading&quot;&gt;Despite all the criticism the Vancouver Organizing Committee received after the opening ceremonies, little changed in the closing one.  Yes, the VANOC’s CEO made an effort to speak in French but that’s about the only change you could see.  That and the fact that Canada’s Olympic Broadcast Media Consortium added a live translator on French TV so that the less “fortunate” can understand the ceremonies in their own country.&lt;/p&gt;
&lt;p class=&quot;firstHeading&quot;&gt;Would have it been too much to ask for one of the monologues to have been in French? After all, I am sure there are Francophones outside Québec ready to do such a creed for Canada.  They probably just didn’t try to find one but I personally believe finding one could also have been a hard job, considering that doing such a creed, even if it’s a caricature, could mean professional suicide for a Québec comedian in Québec’s French market (where such creeds on any side isn’t popular these days).&lt;/p&gt;
&lt;p class=&quot;firstHeading&quot;&gt;In short, we still exist.  What you have witnessed is a sad image for a country with 2 official languages.  It is reminiscent of old English-French frictions which we all would like to believe were long gone.  As it has been pointed out on this &lt;a href=&quot;http://blog.fagstein.com/2010/03/01/vanoc-disappointed-me/&quot;&gt;blog&lt;/a&gt; (a post worth reading) and in the professional &lt;a href=&quot;http://www.cyberpresse.ca/opinions/chroniqueurs/nathalie-petrowski/201003/02/01-4256565-canadian-please.php&quot;&gt;press&lt;/a&gt; (in French!), denying French Canadians such visibility has done more for the sovereignty movement of Québec than the current leaders of the movement themselves. And that’s quite a job, considering the health of the movement at the moment (the leading party not being the ruling government for 7 years now).&lt;/p&gt;
&lt;p class=&quot;firstHeading&quot;&gt;This is also reminiscent of West-East frictions.  The (mostly English) West feels bilingualism is being wrongly imposed on them. They feel too much power is given to the central provinces (where 60 % of the population lives).  They probably also feel (rightfully) they are paying for our social wealth services considering the thriving west economy of tar sands and, I have to admit, their just efficient administrations.  Those frictions may never disappear, after all British Colombia was almost part of the United States of America if it were not of the Canadian rails built in 1870s.  My point of view on the subject is that parts of Canada and United States are being unnecessarily separated on political reasons.  Vancouver’s economy is probably more active with Seattle’s than the rest of Canada.  The same applies with the province of Québec and state of New York.  Politically enforcing an horizontal relationship where the natural flow of business is vertical.  This argument has been mentioned in the latest High Speed Trains plans of Québec–Windsor and Montréal–New York.  I am going to stop here but this could lead to interesting debates on history and politics. &lt;img src=&quot;http://blog.pierlux.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p class=&quot;firstHeading&quot;&gt;In conclusion, just don’t forget we still exist.  We have a thriving musical culture (among other) as you can see &lt;a href=&quot;http://www.youtube.com/watch?v=T36n53N7n9c&quot;&gt;here&lt;/a&gt;, &lt;a href=&quot;http://www.youtube.com/watch?v=vVAYnO45nC8&amp;amp;feature=related&quot;&gt;here&lt;/a&gt;, &lt;a href=&quot;http://www.youtube.com/watch?v=0Z5UoYdcakk&quot;&gt;here&lt;/a&gt; and &lt;a href=&quot;http://www.youtube.com/watch?v=E-0SShvHvGo&quot;&gt;here&lt;/a&gt; (my personal favourite local artists these years).  Its absence from the Olympics is an anecdotal abnormality.&lt;/p&gt;
&lt;p class=&quot;firstHeading&quot;&gt;&lt;/p&gt;</description>
	<pubDate>Tue, 02 Mar 2010 14:33:33 +0000</pubDate>
</item>
<item>
	<title>Pierre-Luc Beaudoin (pierlux): My upcoming talks at Confoo.ca</title>
	<guid>http://blog.pierlux.com/?p=1400</guid>
	<link>http://blog.pierlux.com/2010/02/03/my-upcoming-talks-at-confooca/en/</link>
	<description>&lt;img src="img/heads/pierlux.png" align="right" alt=""&gt;&lt;p&gt;After touring FOSS events all around the world, I decided to see what’s happening on the local software scene.   I met with the guys from &lt;a href=&quot;http://montrealpython.org/&quot;&gt;Montreal-Python&lt;/a&gt;, the &lt;a href=&quot;http://www.ubuntu.com&quot;&gt;Ubuntu&lt;/a&gt; Québec local team guys (after all Montréal is the home of Canonical’s Global Support Services) and the local start-ups at DemoCamp.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.confoo.ca/en/schedule&quot;&gt;&lt;img src=&quot;http://confoo.ca/images/propaganda/2010/en/speaking.jpg&quot; style=&quot;border: 0pt none;&quot; height=&quot;100&quot; width=&quot;150&quot; alt=&quot;confoo.ca Web Techno Conference&quot; class=&quot;alignright&quot; /&gt;&lt;/a&gt;They convinced me I should give a talk at &lt;a href=&quot;http://www.confoo.ca&quot;&gt;Confoo.ca&lt;/a&gt;.  In fact I decided to submit 2 talks and both were accepted.  Confoo.ca is a new conference building on the famous &lt;a href=&quot;http://www.phpquebec.org&quot;&gt;PhpQuébec&lt;/a&gt; conferences but gathering much more communities together: .Net, Python, Ruby and Web developers. The conference will cover technical topics as well as project management, marketing and social medias.&lt;/p&gt;
&lt;p&gt;Based on my personal knowledge and the experiments I’ve been doing lately with Web + Desktop apps combinations, I’ve submitted the following talks.&lt;/p&gt;
&lt;h3&gt;&lt;a href=&quot;http://confoo.ca/en/2010/session/django-restful-apis-as-an-application-server&quot;&gt;Django + RESTful APIs as an application server&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;Application servers are the central part of data applications. They are responsible for mission critical activities of businesses and yet have to be cost effective. &lt;a href=&quot;http://www.djangoproject.com/&quot;&gt;Django&lt;/a&gt; offers a lot of flexibility by providing rapid application development. &lt;a href=&quot;http://bitbucket.org/jespern/django-piston/wiki/Home&quot;&gt;Django-piston&lt;/a&gt; makes it easy to add RESTful APIs to existing Django apps. Web servers are very common and rather cheap to rent or host in house.&lt;/p&gt;
&lt;p&gt;Once your application has a &lt;a href=&quot;http://en.wikipedia.org/wiki/Representational_State_Transfer&quot;&gt;RESTful&lt;/a&gt; API, nothing is keeping desktop applications to access your web services. For example, using &lt;a href=&quot;http://moblin.org/projects/librest&quot;&gt;librest&lt;/a&gt; on the desktop, &lt;a href=&quot;http://www.novopia.com/emerillon/&quot;&gt;Emerillon&lt;/a&gt; accesses on-line databases such as &lt;a href=&quot;http://www.geonames.org/&quot;&gt;Geonames&lt;/a&gt;. Librest simplifies accessing RESTful web services and makes parsing XML fun again (that’s a Robert Bradford quote if I am not mistaken).&lt;/p&gt;
&lt;h3&gt;&lt;a href=&quot;http://confoo.ca/en/2010/session/introduction-to-openstreetmap-and-how-to-use-it&quot;&gt;Introduction to OpenStreetMap and how to use it&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;When thinking of online maps, &lt;a href=&quot;http://maps.google.com&quot;&gt;Google Maps&lt;/a&gt; is often mentioned as a reference. But you can’t use their data in all the exciting ways you could ever imagine. Enters &lt;a href=&quot;http://www.openstreetmap.org&quot;&gt;OpenStreetMap&lt;/a&gt;: community built openly licensed map data. You are virtually free to do anything with the data, short of not giving proper attribution of its origins.&lt;/p&gt;
&lt;p&gt;With this gained freedom, you can explore and create unique maps adjusted to your needs. You can also simply reuse the default one available on OpenStreetMap.org, in some locations it is way more complete than any other maps anyway.&lt;/p&gt;
&lt;p&gt;Come and attend &lt;a href=&quot;http://www.confoo.ca&quot;&gt;Confoo.ca&lt;/a&gt;!&lt;/p&gt;</description>
	<pubDate>Wed, 03 Feb 2010 21:01:21 +0000</pubDate>
</item>
<item>
	<title>Marco Barisione (bari): jid-to-email</title>
	<guid>http://blog.barisione.org/?p=238</guid>
	<link>http://blog.barisione.org/2010-02/jid-to-email/</link>
	<description>&lt;img src="img/heads/bari.png" align="right" alt=""&gt;&lt;p&gt;During the Christmas holidays I managed to find some time to write a couple of small programs related to the address book on the N900; they are nothing too fancy (no UI, no proper packaging, not the best code quality, etc.) as I wrote them for my personal use, but I still think it could be useful to share them with other people.&lt;/p&gt;
&lt;p&gt;The one I’m talking about today is a simple command-line utility that adds an email address to your contacts based on the Jabber ID (or on the ID of other protocols). This is very useful to me as in Collabora we all have a roster automatically filled with the other Collaborans, this way I can automatically have their email addresses in my address book.&lt;/p&gt;
&lt;p&gt;This cannot be done automatically for all the contact as, usually, it’s not true that a Jabber ID is also a valid email address (for instance it’s not true for jabber.org users), but it’s true at least for the GMail and Collabora servers.&lt;/p&gt;
&lt;p&gt;If you want to try jid-to-email get the &lt;a href=&quot;http://people.collabora.co.uk/~bari/jid-to-email&quot;&gt;already compiled arm executable&lt;/a&gt; or &lt;a href=&quot;http://git.collabora.co.uk/?p=user/bari/jid-to-email.git;a=summary&quot;&gt;the source code&lt;/a&gt;. &lt;b&gt;Remember to take a backup&lt;/b&gt; before trying it, I don’t want to be blamed if something goes horribly wrong &lt;img src=&quot;http://farm1.static.flickr.com/218/458651141_54bbc48288_o.png&quot; alt=&quot;;)&quot; /&gt;.&lt;/p&gt;
&lt;p&gt;The program accepts two arguments: the vcard field for the IM protocol and a regular expression. For instance, if you cd to the directory where the program is and do “./jid-to-email X-JABBER @collabora.co.uk”, an email address will be added to all the contacts that have a Jabber ID containing “@collabora.co.uk”. Similarly “./jid-to-email X-JABBER ‘@g(oogle)?mail\.com’” will add an email address to all the contacts with a Jabber ID containing “@gmail.com” or “@googlemail.com”. You could also try using “X-MSN” to do the same thing for contacts that use their GMail address as MSN ID.&lt;/p&gt;
&lt;p&gt;Please, let me know if you know any other server where the Jabber ID is always a valid email address.&lt;/p&gt;
&lt;p&gt;By the way, this week-end I’m going to Brussels for FOSDEM: hope to meet a lot of GNOME people there!&lt;/p&gt;
&lt;p align=&quot;centre&quot; class=&quot;img&quot;&gt;&lt;a href=&quot;http://www.fosdem.org&quot;&gt;&lt;img src=&quot;http://www.fosdem.org/promo/going-to&quot; alt=&quot;I'm going to FOSDEM, the Free and Open Source Software Developers' European Meeting&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Wed, 03 Feb 2010 08:37:00 +0000</pubDate>
</item>
<item>
	<title>Pierre-Luc Beaudoin (pierlux): MapBuddy 0.2, libchamplain 0.4.4 and 0.5</title>
	<guid>http://blog.pierlux.com/?p=1395</guid>
	<link>http://blog.pierlux.com/2010/01/29/mapbuddy-02-libchamplain-044-and-05/en/</link>
	<description>&lt;img src="img/heads/pierlux.png" align="right" alt=""&gt;&lt;p&gt;What a big release week!&lt;/p&gt;
&lt;p&gt;First, a quick update to &lt;a href=&quot;http://www.pierlux.com/map-buddy/&quot;&gt;MapBuddy&lt;/a&gt;:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2010/01/screenshot23.png&quot;&gt;&lt;img src=&quot;http://blog.pierlux.com/wp-content/uploads/2010/01/screenshot23-300x180.png&quot; title=&quot;MapBuddy&quot; height=&quot;180&quot; width=&quot;300&quot; alt=&quot;&quot; class=&quot;aligncenter size-medium wp-image-1396&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Translations (French, Spanish, German, Swedish, Polish, Slovak)&lt;/li&gt;
&lt;li&gt;A “Add to addressbook” button on merchant’s window (with the help of Jonathon Jongsma)&lt;/li&gt;
&lt;li&gt;A precision circle is drawn around your position&lt;/li&gt;
&lt;li&gt;Kinetic scrolling is turned on&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Then, a bigger update for &lt;a href=&quot;http://project.gnome.org/libchamplain&quot;&gt;libchamplain&lt;/a&gt; 0.4.4:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;API clean up (with API backward compatibility): champlain_view_set_size should have never existed&lt;/li&gt;
&lt;li&gt;Fix to make Python bindings work out of the tarballs!&lt;/li&gt;
&lt;li&gt;Use shared paths by all tiles consumers on Maemo devices to store tiles (saves bandwidth)&lt;/li&gt;
&lt;li&gt;Load tiles in a spiral manner from the centre (thanks to &lt;a href=&quot;http://jasonwoof.org/jason_woofenden&quot;&gt;Jason Woofenden&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Optimizations resulting in
&lt;ul&gt;
&lt;li&gt;Faster start-up&lt;/li&gt;
&lt;li&gt;Smoother scrolling&lt;/li&gt;
&lt;li&gt;Energy savings (by doing less computations)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Then, a huge update for &lt;a href=&quot;http://project.gnome.org/libchamplain&quot;&gt;libchamplain&lt;/a&gt; 0.5:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;First development release with new APIs:
&lt;ul&gt;
&lt;li&gt;Local map rendering (Google Summer of Code of Simon Wenner)&lt;/li&gt;
&lt;li&gt;New Map Source mechanism à la Pipe and Filter (Jiří Techet)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;</description>
	<pubDate>Fri, 29 Jan 2010 05:40:24 +0000</pubDate>
</item>
<item>
	<title>Pierre-Luc Beaudoin (pierlux): I invited Clutter for Christmas</title>
	<guid>http://blog.pierlux.com/?p=1348</guid>
	<link>http://blog.pierlux.com/2010/01/20/i-invited-clutter-for-christmas/en/</link>
	<description>&lt;img src="img/heads/pierlux.png" align="right" alt=""&gt;&lt;p&gt;It’s now an established tradition at my mother’s Christmas Eve party, we all gather for a good meal, exchange gifts and then play a game.  Not any game, an home made game built for this occasion only.  For example, in the last 2 years, we played a giant &lt;a href=&quot;http://en.wikipedia.org/wiki/Snakes_and_ladders&quot;&gt;Snakes and ladders&lt;/a&gt; game on my mom’s wall and an adaptation of &lt;a href=&quot;http://en.wikipedia.org/wiki/Deal_or_No_Deal_%28U.S._game_show%29&quot;&gt;Deal or No Deal&lt;/a&gt;.  During the game, each player wins little gifts.  Usually the games include special rules so that everyone finishes with the same amount of gifts.&lt;/p&gt;
&lt;div style=&quot;width: 310px;&quot; id=&quot;attachment_1352&quot; class=&quot;wp-caption aligncenter&quot;&gt;&lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2010/01/noel2008.jpg&quot;&gt;&lt;img src=&quot;http://blog.pierlux.com/wp-content/uploads/2010/01/noel2008-300x198.jpg&quot; title=&quot;The Snakes and Lader game of 2008&quot; height=&quot;198&quot; width=&quot;300&quot; alt=&quot;The Snakes and Lader game of 2008&quot; class=&quot;size-medium wp-image-1352&quot; /&gt;&lt;/a&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;The Snakes and Ladders game of 2008 (the ladder is 20 cm long)&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;But 2009 was special.  I was going to host the party.  I was going to be the one to build a game for this occasion.  My mother is creative and resourceful when comes the time to use whatever materials are at hand, but I am not.  I decided to build a computer game instead! &lt;em&gt;Noël de fortune&lt;/em&gt; was born.&lt;/p&gt;
&lt;div style=&quot;width: 310px;&quot; id=&quot;attachment_1350&quot; class=&quot;wp-caption aligncenter&quot;&gt;&lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2010/01/splash.png&quot;&gt;&lt;img src=&quot;http://blog.pierlux.com/wp-content/uploads/2010/01/splash-300x168.png&quot; title=&quot;Splash Screen&quot; height=&quot;168&quot; width=&quot;300&quot; alt=&quot;Splash Screen of the game&quot; class=&quot;size-medium wp-image-1350&quot; /&gt;&lt;/a&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;Splash screen of the game&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;After consulting with my co-host, we elaborated the basic rules of the game: a turn-based game where players have to guess an expression.  They would be able to give letters that would then be revealed.  If the letter is not in the expression, the player loses one point and it is then to the next player to play.  The players can try to solve but if they fail it costs them 5 points.  Each player have their own expression to find.  When he finds his expression, he wins a gift.  There should be 3 rounds.  To help the players, during the first round the whole alphabet is displayed with the letters he already said highlighted. During the second round, only the given letters are displayed, and nothing during the last round.  It makes it harder &lt;img src=&quot;http://blog.pierlux.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; The player who finds his expression with the less tries wins an extra gift at the end of the game. These rules probably remind you of &lt;a href=&quot;http://en.wikipedia.org/wiki/Wheel_of_Fortune_%28U.S._prime_time%29&quot;&gt;The Wheel of Fortune&lt;/a&gt; without the wheel, or of &lt;a href=&quot;http://en.wikipedia.org/wiki/Hangman_%28game%29&quot;&gt;Hangman&lt;/a&gt;.&lt;/p&gt;
&lt;div style=&quot;width: 310px;&quot; id=&quot;attachment_1354&quot; class=&quot;wp-caption aligncenter&quot;&gt;&lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2010/01/jeu.png&quot;&gt;&lt;img src=&quot;http://blog.pierlux.com/wp-content/uploads/2010/01/jeu-300x168.png&quot; title=&quot;During the game&quot; height=&quot;168&quot; width=&quot;300&quot; alt=&quot;During the game&quot; class=&quot;size-medium wp-image-1354&quot; /&gt;&lt;/a&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;During the game&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;We built a list of 400 possible expressions for the game so that we could also play with everyone. There were 3 themes, one per round: &lt;em&gt;Christmas&lt;/em&gt;, &lt;em&gt;Things to do&lt;/em&gt; and &lt;em&gt;Famous People&lt;/em&gt;.  Not unexpectedly, the first theme was quite easy to guess, but the 2 others were more challenging.&lt;/p&gt;
&lt;p&gt;To create the game, I decided to go with &lt;a href=&quot;http://en.wikipedia.org/wiki/Python_%28programming_language%29&quot;&gt;Python&lt;/a&gt; as I wanted to have a language with rich built-in types such as lists, sets and dictionaries.  They came handy in the implementation.  A game has to be exciting to the eye and considering I already had a fair amount of experience with &lt;a href=&quot;http://en.wikipedia.org/wiki/Clutter_%28toolkit%29&quot;&gt;Clutter&lt;/a&gt;, it was an obvious choice. The graphics are simple: everything is an image (except text!) and is animated using Clutter.  When the player says a letter, all the cards bounce as if something passed under to read them and they turn around if the letter matches.  A nice &lt;a href=&quot;http://www.freesound.org/samplesViewSingle.php?id=51711&quot;&gt;magic sound&lt;/a&gt; is played out.  There are error dialogs (the letter was previously given or the letter is not found) and solution dialogs too!  When the turn is over, the score is displayed using vertical bars that show up one by one (adding a little stress hehe).&lt;/p&gt;
&lt;div style=&quot;width: 310px;&quot; id=&quot;attachment_1356&quot; class=&quot;wp-caption aligncenter&quot;&gt;&lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2010/01/solution.png&quot;&gt;&lt;img src=&quot;http://blog.pierlux.com/wp-content/uploads/2010/01/solution-300x168.png&quot; title=&quot;The solution dialog&quot; height=&quot;168&quot; width=&quot;300&quot; alt=&quot;The solution dialog&quot; class=&quot;size-medium wp-image-1356&quot; /&gt;&lt;/a&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;The solution dialog&lt;/p&gt;&lt;/div&gt;
&lt;div style=&quot;width: 310px;&quot; id=&quot;attachment_1355&quot; class=&quot;wp-caption aligncenter&quot;&gt;&lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2010/01/mauvais.png&quot;&gt;&lt;img src=&quot;http://blog.pierlux.com/wp-content/uploads/2010/01/mauvais-300x168.png&quot; title=&quot;The bad solution dialog&quot; height=&quot;168&quot; width=&quot;300&quot; alt=&quot;The bad solution dialog&quot; class=&quot;size-medium wp-image-1355&quot; /&gt;&lt;/a&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;The bad solution dialog&lt;/p&gt;&lt;/div&gt;
&lt;div style=&quot;width: 310px;&quot; id=&quot;attachment_1358&quot; class=&quot;wp-caption aligncenter&quot;&gt;&lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2010/01/pointage.png&quot;&gt;&lt;img src=&quot;http://blog.pierlux.com/wp-content/uploads/2010/01/pointage-300x168.png&quot; title=&quot;Points screen&quot; height=&quot;168&quot; width=&quot;300&quot; alt=&quot;The points screen&quot; class=&quot;size-medium wp-image-1358&quot; /&gt;&lt;/a&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;The score screen (not actual game scores ;-)&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;&lt;/p&gt;&lt;center&gt;&amp;lt;video controls=&quot;true&quot; src=&quot;http://blog.pierlux.com/wp-content/uploads/2010/01/cards.ogg&quot;&amp;gt;&lt;br /&gt;
[Oops, your browser does not support the video tag!] Download the video &lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2010/01/cards.ogg&quot;&gt;instead&lt;/a&gt;!&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;/center&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;It took quite over 80 hours to create the game.  Overall, it was a great success &lt;img src=&quot;http://blog.pierlux.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; Our guests liked it and fun lasted for hours!&lt;/p&gt;
&lt;div style=&quot;width: 310px;&quot; id=&quot;attachment_1359&quot; class=&quot;wp-caption aligncenter&quot;&gt;&lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2010/01/explications.jpg&quot;&gt;&lt;img src=&quot;http://blog.pierlux.com/wp-content/uploads/2010/01/explications-300x198.jpg&quot; title=&quot;Gabriel explaining the rules&quot; height=&quot;198&quot; width=&quot;300&quot; alt=&quot;Gabriel explaining the rules&quot; class=&quot;size-medium wp-image-1359&quot; /&gt;&lt;/a&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;Gabriel explaining the rules. You can see all the gifts surrounding the LCD screen.&lt;/p&gt;&lt;/div&gt;
&lt;p&gt;I will not be releasing the game.  Quite honestly, the code is a mess: it was my first game, my first Python application from scratch and in the end I was just fixing bugs without fixing core issues. But hey it works: I am sure there are worst proprietary apps out there &lt;img src=&quot;http://blog.pierlux.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;p&gt;Some of the graphics are composed of images available under &lt;a href=&quot;http://en.wikipedia.org/wiki/Creative_commons&quot;&gt;Creative Common&lt;/a&gt; such as the background.  Unfortunately, I did a lazy job keeping track of my sources and I lost the link/name of the author of the nice graphics I used.  If you find it, I’ll link it!&lt;/p&gt;
&lt;p&gt;Oh by the way, since my mom got her hands free of creating a game, she invested herself in the packaging of the gifts.  Has anyone of your ever received a gift wrapped like a &lt;a href=&quot;http://en.wikipedia.org/wiki/B%C3%BBche_de_No%C3%ABl&quot;&gt;Bûche de Noël&lt;/a&gt; or a drummer boy’s drum? &lt;img src=&quot;http://blog.pierlux.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;div style=&quot;width: 310px;&quot; id=&quot;attachment_1349&quot; class=&quot;wp-caption aligncenter&quot;&gt;&lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2010/01/buche.jpg&quot;&gt;&lt;img src=&quot;http://blog.pierlux.com/wp-content/uploads/2010/01/buche-300x210.jpg&quot; title=&quot;Gift wrapped as a Bûche de Noël&quot; height=&quot;210&quot; width=&quot;300&quot; alt=&quot;&quot; class=&quot;size-medium wp-image-1349 &quot; /&gt;&lt;/a&gt;&lt;p class=&quot;wp-caption-text&quot;&gt;My gift was wrapped like a Bûche de Noël. I won this gift by finding the word &quot;meat ball stew&quot;.&lt;/p&gt;&lt;/div&gt;</description>
	<pubDate>Thu, 21 Jan 2010 00:20:39 +0000</pubDate>
</item>
<item>
	<title>Pierre-Luc Beaudoin (pierlux): OpenStreetMap mappers band to improve Haiti’s map</title>
	<guid>http://blog.pierlux.com/?p=1328</guid>
	<link>http://blog.pierlux.com/2010/01/13/openstreetmap-mappers-band-to-improve-haitis-map/en/</link>
	<description>&lt;img src="img/heads/pierlux.png" align="right" alt=""&gt;&lt;p&gt;In order to help people, free and widely available maps are a good tool to rescue parties.  Many users of OpenStreetMap have organized a &lt;a href=&quot;http://wiki.openstreetmap.org/wiki/WikiProject_Haiti#2010_Earthquake_Response&quot;&gt;wiki page&lt;/a&gt; to manage the work that needs to be done to quickly improve OpenStreetMap for this part of the world.  Thankfully, Yahoo has high resolution imagery of the region making it possible to trace the streets.  Note: remember that only Yahoo imagery can be used, as OpenStreetMap has a signed derivative work permission with Yahoo.&lt;/p&gt;
&lt;p&gt;If you know how to edit maps, maybe you can land a hand! &lt;a href=&quot;http://crisiscommons.org/wiki/index.php?title=Haiti/2010_Earthquake&quot;&gt;CrisisCommon&lt;/a&gt; also has other resources.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Follow-up:&lt;/strong&gt; &lt;a href=&quot;http://brainoff.com/weblog/2010/01/14/1518&quot;&gt;Mikel Maron&lt;/a&gt; has before and after images along with more info.&lt;/p&gt;
&lt;p&gt;&lt;a style=&quot;text-decoration: none;&quot; href=&quot;http://www.openstreetmap.org/?lat=18.89&amp;amp;lon=-72.83&amp;amp;zoom=9&quot; title=&quot;See this map on OpenStreetMap.org&quot;&gt;&lt;img src=&quot;http://osm-tah-cache.firefishy.com/~ojw/MapOf/?lat=18.494&amp;amp;long=-72.373&amp;amp;z=9&amp;amp;w=450&amp;amp;h=380&amp;amp;format=jpeg&quot; alt=&quot;Slippy Map&quot; height=&quot;380&quot; border=&quot;0&quot; width=&quot;450&quot; /&gt;&lt;br /&gt;
&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Wed, 13 Jan 2010 19:59:41 +0000</pubDate>
</item>
<item>
	<title>Pierre-Luc Beaudoin (pierlux): One more map app for the N900</title>
	<guid>http://blog.pierlux.com/?p=1318</guid>
	<link>http://blog.pierlux.com/2010/01/12/one-more-map-app-for-the-n900/en/</link>
	<description>&lt;img src="img/heads/pierlux.png" align="right" alt=""&gt;&lt;p&gt;Well, I finaly got my hands on a N900 (given as a Christmas gift by Collabora to Gabriel).  This gave me the occasion to observe first hand that the Ovi Maps, while having a lot of features, is slow and that the Hildon &lt;a href=&quot;http://www.novopia.com/emerillon&quot;&gt;Emerillon&lt;/a&gt; port is less than perfect.  It is hard to use with fingers and feels alien to the platform.&lt;/p&gt;
&lt;p&gt;To solve this, I created &lt;a href=&quot;http://www.pierlux.com/map-buddy/&quot;&gt;Map Buddy&lt;/a&gt;: a map application specifically designed for Maemo 5.  It is quite simple to use and works out of the box (no configuration or selection of plug-ins required!).  It also has something other apps don’t: it uses web-services to provide business search capabilities.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://www.pierlux.com/map-buddy/screenshots/screenshot2.png&quot; title=&quot;A search for Pizza in Montréal using Map Buddy&quot; height=&quot;480&quot; width=&quot;800&quot; alt=&quot;&quot; class=&quot;alignnone&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Here’s the use case I built Map Buddy upon: you just arrived in Montréal and want to find a sushi restaurant.&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;You start Map Buddy, it will be centred on the place you closed  Map Buddy on.  You can click on the “Center on me” icon on the bottom left, and it will centre the map on Montréal ‒ remember you are in Montréal for this example! By the way, your position is marked by a blue dot. Later version will display the precision too.&lt;/li&gt;
&lt;li&gt;To search for businesses, you have to switch in business search mode, tap on the magnifying glass to do so.&lt;/li&gt;
&lt;li&gt;Enter sushi in the search bar and press enter! The map will be populated with markers representing the places tagged with sushi (powered by &lt;a href=&quot;http://www.praizedmedia.com&quot;&gt;Praized Media&lt;/a&gt;, a Montréal start-up).&lt;/li&gt;
&lt;li&gt;To get the name of the place, tap once on the marker.&lt;/li&gt;
&lt;li&gt;To get the complete details about a place, tap once on the name: a new window will be opened with the business’ address, phone number and web site if available.  Map Buddy even provides a call button!&lt;/li&gt;
&lt;li&gt;To clear the search results, tap on the trash can in the search bar or do a new search.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;It’s that simple!&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://www.pierlux.com/map-buddy/screenshots/screenshot3.png&quot; alt=&quot;&quot; height=&quot;480&quot; class=&quot;alignnone&quot; width=&quot;800&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Map Buddy includes a place search so that if you are looking for Pizza in New York, you don’t have to scroll from San Francisco to New York to get there.  Select the Place search mode, enter New York in the search field and press enter.  A picker dialog will be opened to let you select the correct New York.&lt;/p&gt;
&lt;p&gt;To switch to other maps, click on the layer icon, it will bring up the list of possible maps to display.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.pierlux.com/map-buddy/mapbuddy.install&quot;&gt;&lt;img src=&quot;http://www.pierlux.com/map-buddy/img/ac_install_icon.png&quot; alt=&quot;&quot; height=&quot;75&quot; class=&quot;alignleft&quot; width=&quot;85&quot; /&gt;&lt;/a&gt;I hope you like it!  Try it today! &lt;strong&gt;WARNING: &lt;/strong&gt;Installing Map Buddy in this early stage requires adding the extras-devel repository which might install unstable software on your device.  &lt;em&gt;Try it at your own risk or if you are a professional &lt;img src=&quot;http://blog.pierlux.com/wp-includes/images/smilies/icon_wink.gif&quot; alt=&quot;;-)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;NB: Praized Media only has strong data sets for Canada and United States.  They plan to sign business partnerships to get data for Europe in 2010.  In the mean time, you can directly add businesses using this &lt;a href=&quot;http://praized.com/merchants/new/&quot;&gt;form&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;NB: Help is appreciated to translate it!&lt;/p&gt;</description>
	<pubDate>Tue, 12 Jan 2010 20:24:03 +0000</pubDate>
</item>
<item>
	<title>Pierre-Luc Beaudoin (pierlux): Can you spot what’s new?</title>
	<guid>http://blog.pierlux.com/?p=1309</guid>
	<link>http://blog.pierlux.com/2010/01/04/can-you-spot-whats-new/en/</link>
	<description>&lt;img src="img/heads/pierlux.png" align="right" alt=""&gt;&lt;p&gt;&lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2010/01/scale1.png&quot;&gt;&lt;img src=&quot;http://blog.pierlux.com/wp-content/uploads/2010/01/scale1-300x225.png&quot; title=&quot;Emerillon with a scale&quot; height=&quot;225&quot; width=&quot;300&quot; alt=&quot;&quot; class=&quot;alignnone size-medium wp-image-1310&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Yes! Libchamplain now has a scale! It was long overdue.  In fact, I first started to work on it way before libchamplain 0.2.2 was even released (1.25 year ago).  It got impeded by more important features and bug fixes. Two or three months ago &lt;a href=&quot;http://err.no/personal/blog/&quot;&gt;Tollef Fog Heen&lt;/a&gt; took over the branch and added the magic required maths to compute the scale.  I then took over his work (as he was quite busy and I wanted this too) to provide the final result.&lt;/p&gt;
&lt;p&gt;Since all the changes are backward compatible, I’ll soon release a libchamplain 0.4.3 with the scale disabled by default (to ensure the same visual behaviour as before upgrade).  To display a scale, an application just has to change the &lt;em&gt;show-scale&lt;/em&gt; property to TRUE.&lt;/p&gt;
&lt;p&gt;&lt;code&gt;#if CHAMPLAIN_CHECK_VERSION (0, 4, 3)&lt;br /&gt;
g_object_set (champlain_view, &quot;show-scale&quot;, TRUE, NULL);&lt;br /&gt;
#endif&lt;br /&gt;
&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;The scale also supports other exotic units than the SI/metric ones.  It can display miles and feet, if you’re into that. &lt;img src=&quot;http://blog.pierlux.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; By the way, the scale will automatically switch from kilometres to metres when it makes more sense.  That was quite more complex to do with miles and feet as they are not simply a power of 10.  Set the &lt;em&gt;scale-unit&lt;/em&gt; property to &lt;em&gt;CHAMPLAIN_UNIT_MILES&lt;/em&gt; to get miles.&lt;/p&gt;
&lt;p&gt;You can limit the width (in pixels) of the scale with the &lt;em&gt;max-scale-width&lt;/em&gt; property.  If you watch closely, the scale will adjust itself right away when you move the map.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2010/01/scale2.png&quot;&gt;&lt;img src=&quot;http://blog.pierlux.com/wp-content/uploads/2010/01/scale2-150x150.png&quot; title=&quot;Emerillon with a scale&quot; height=&quot;150&quot; width=&quot;150&quot; alt=&quot;&quot; class=&quot;alignnone size-thumbnail wp-image-1312&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2010/01/scale1_miles.png&quot;&gt;&lt;img src=&quot;http://blog.pierlux.com/wp-content/uploads/2010/01/scale1_miles-150x150.png&quot; title=&quot;Emerillon with a scale&quot; height=&quot;150&quot; width=&quot;150&quot; alt=&quot;&quot; class=&quot;alignnone size-thumbnail wp-image-1313&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2010/01/scale2_miles.png&quot;&gt;&lt;img src=&quot;http://blog.pierlux.com/wp-content/uploads/2010/01/scale2_miles-150x150.png&quot; title=&quot;Emerillon with a scale&quot; height=&quot;150&quot; width=&quot;150&quot; alt=&quot;&quot; class=&quot;alignnone size-thumbnail wp-image-1314&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Mon, 04 Jan 2010 18:39:46 +0000</pubDate>
</item>
<item>
	<title>Marco Barisione (bari): Some lovely people out there</title>
	<guid>http://blog.barisione.org/?p=230</guid>
	<link>http://blog.barisione.org/2009-12/some-lovely-people-out-there/</link>
	<description>&lt;img src="img/heads/bari.png" align="right" alt=""&gt;&lt;p&gt;Some &lt;em&gt;lovely&lt;/em&gt; guy sent me this email:&lt;/p&gt;
&lt;pre&gt;From:    ****@gmx.de
Subject: Freedom!

Take your closed source crap out of this planet, nobody cares about it.

--
Freedom Lover
--
Jetzt kostenlos herunterladen: Internet Explorer 8 und Mozilla Firefox 3.5 -
sicherer, schneller und einfacher! http://portal.gmx.net/de/go/chbrowser
&lt;/pre&gt;
&lt;p&gt;Note the irony of using an email service that adds to your email an advertisement for Internet Explorer…&lt;/p&gt;</description>
	<pubDate>Sun, 13 Dec 2009 18:07:54 +0000</pubDate>
</item>
<item>
	<title>Marco Barisione (bari): Essere inglesi</title>
	<guid>http://diario.barisione.org/?p=39</guid>
	<link>http://diario.barisione.org/p=39</link>
	<description>&lt;img src="img/heads/bari.png" align="right" alt=""&gt;&lt;p&gt;Mettersi a litigare all’una e mezza di notte per decidere se la fila per i taxi deve andare da sinistra verso destra o da destra verso sinista.&lt;/p&gt;</description>
	<pubDate>Sat, 12 Dec 2009 14:57:27 +0000</pubDate>
</item>
<item>
	<title>Marco Barisione (bari): Early Christmas</title>
	<guid>http://blog.barisione.org/?p=219</guid>
	<link>http://blog.barisione.org/2009-12/early-christmas/</link>
	<description>&lt;img src="img/heads/bari.png" align="right" alt=""&gt;&lt;p&gt;It looks like Santa Claus arrived early for the Collabora employees &lt;img src=&quot;http://farm1.static.flickr.com/205/458651139_21126b48de_o.png&quot; alt=&quot;:D&quot; /&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot; class=&quot;img&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/barisione/4171063869/&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2538/4171829148_ea37c76e01_o.jpg&quot; alt=&quot;The N900 pyramid&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;small&gt;N900 pyramid, and sadly some of them didn’t arrive yet&lt;/small&gt;&lt;/p&gt;</description>
	<pubDate>Wed, 09 Dec 2009 13:00:00 +0000</pubDate>
</item>
<item>
	<title>Pierre-Luc Beaudoin (pierlux): A new plugin to lead them all :)</title>
	<guid>http://blog.pierlux.com/?p=1252</guid>
	<link>http://blog.pierlux.com/2009/11/09/a-new-plugin-to-lead-them-all/en/</link>
	<description>&lt;img src="img/heads/pierlux.png" align="right" alt=""&gt;&lt;p&gt;In the last weeks I (among other things) worked on a new &lt;a href=&quot;http://git.gnome.org/cgit/emerillon-plugins/&quot;&gt;plugin repository&lt;/a&gt; (vastly inspired by &lt;a href=&quot;http://live.gnome.org/EyeOfGnome/Plugins&quot;&gt;EOG&lt;/a&gt;’s) for third party plug-ins for Emerillon.  There are currently 4 &lt;a href=&quot;http://live.gnome.org/Emerillon/Plugins&quot;&gt;plugins&lt;/a&gt; being worked on and not all of them should be distributed with the base Emerillon application. Enters emerillon-plugins.&lt;/p&gt;
&lt;p&gt;It currently has 1 plug-in.  This plugin is one that will be useful to Montréalers: it displays the status of the &lt;a href=&quot;http://www.bixi.com&quot;&gt;Bixi&lt;/a&gt; network.  Bixi is Montréal’s self-serve public bike system.  Apparently its design is so good — the bike system, not the plug-in &lt;img src=&quot;http://blog.pierlux.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; — that it’ll be implemented in both London (UK) and Boston (USA) very soon.&lt;/p&gt;
&lt;p&gt;So the plug-in is quite simple: you have a drop down list where you select to see available bikes in stations near you or available docking stations.  The map is updated instantly to display the new values.  The markers on the map change in size depending on the available bikes/docks.  The information is automatically updated every 5 minutes.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2009/11/bixi1.png&quot;&gt;&lt;img src=&quot;http://blog.pierlux.com/wp-content/uploads/2009/11/bixi1-300x225.png&quot; title=&quot;Bixi Plugin&quot; height=&quot;225&quot; width=&quot;300&quot; alt=&quot;&quot; class=&quot;alignnone size-medium wp-image-1253&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2009/11/bixi2.png&quot;&gt;&lt;img src=&quot;http://blog.pierlux.com/wp-content/uploads/2009/11/bixi2-300x225.png&quot; title=&quot;Bixi Plugin&quot; height=&quot;225&quot; width=&quot;300&quot; alt=&quot;&quot; class=&quot;alignnone size-medium wp-image-1254&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;After all the legal verifications, this plug-in is now free for everyone to share.  It should serve as a good example of what you can do with Emerillon and libchamplain.  It is the first piece of code (that I am aware of) to demonstrate ChamplainMarker sub-classing to implement unique look &amp;amp; feel.&lt;/p&gt;
&lt;p&gt;Disclaimer: This plug-in has been independently developed by &lt;a href=&quot;http://www.novopia.com&quot;&gt;Novopia Solutions&lt;/a&gt; and is not in anyway related to or endorsed by &lt;a href=&quot;http://www.bixi.com&quot;&gt;Bixi&lt;/a&gt;, the operator of Montréal’s public bike system.  Bixi is a trade mark of Société de vélo en libre-service.&lt;/p&gt;</description>
	<pubDate>Mon, 09 Nov 2009 22:56:34 +0000</pubDate>
</item>
<item>
	<title>Marco Barisione (bari): New #empathy IRC channel</title>
	<guid>http://blog.barisione.org/?p=212</guid>
	<link>http://blog.barisione.org/2009-11/new-empathy-irc-channel/</link>
	<description>&lt;img src="img/heads/bari.png" align="right" alt=""&gt;&lt;p&gt;In the last months the traffic on the #telepathy IRC channel on Freenode has been constantly growing, reaching the point where communication among developers is difficult and, at the same time, some new Empathy users are scared and don’t talk on the channel. This is why we just created a new #empathy channel on GIMPNet (&lt;a href=&quot;irc://irc.gnome.org/&quot;&gt;irc.gnome.org&lt;/a&gt;) for all the empathy users, while #telepathy will be used for development-related discussions.&lt;/p&gt;
&lt;p&gt;See you all on #empathy!&lt;/p&gt;</description>
	<pubDate>Mon, 09 Nov 2009 13:43:32 +0000</pubDate>
</item>
<item>
	<title>Pierre-Luc Beaudoin (pierlux): Looking for a tool to draw pipe networks</title>
	<guid>http://blog.pierlux.com/?p=1246</guid>
	<link>http://blog.pierlux.com/2009/11/05/looking-for-a-tool-to-draw/en/</link>
	<description>&lt;img src="img/heads/pierlux.png" align="right" alt=""&gt;&lt;p&gt;Dear knowledgeable(lazy)web,&lt;/p&gt;
&lt;p&gt;I have a friend who’s looking for a free software application to draw pipeline networks using the &lt;a href=&quot;http://controls.engin.umich.edu/wiki/index.php/PIDStandardNotation&quot;&gt;&lt;em&gt;Piping and Instrumentation Diagram Standard Notation&lt;/em&gt;&lt;/a&gt; such as this example:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://www.jbii.com/OilFiltration/images/MottPLE8.jpg&quot; alt=&quot;&quot; height=&quot;291&quot; class=&quot;alignnone&quot; width=&quot;300&quot; /&gt;&lt;/p&gt;
&lt;p&gt;He didn’t find any and resorted to draw each possible elements in svgs he later intend to import as symbols in Dia.  Does such a thing already exist? or is there another specialized tool that comes with such symbols?&lt;/p&gt;
&lt;p&gt;Answer in comments to this post. Thanks!&lt;/p&gt;</description>
	<pubDate>Fri, 06 Nov 2009 03:56:51 +0000</pubDate>
</item>
<item>
	<title>Pierre-Luc Beaudoin (pierlux): Trying GnuCash</title>
	<guid>http://blog.pierlux.com/?p=1243</guid>
	<link>http://blog.pierlux.com/2009/10/30/trying-gnucash/en/</link>
	<description>&lt;img src="img/heads/pierlux.png" align="right" alt=""&gt;&lt;p&gt;When I realized &lt;a href=&quot;http://bugzilla.gnome.org&quot;&gt;Gnome Bugzilla&lt;/a&gt; passed the &lt;a href=&quot;https://bugzilla.gnome.org/show_bug.cgi?id=600000&quot;&gt;600 000th bug&lt;/a&gt; mark, I went to see which project got the “honours”.  Turns out &lt;a href=&quot;http://gnucash.org&quot;&gt;GnuCash&lt;/a&gt; is the big winner!   I had never started GnuCash before and I though it was a good moment to try it!&lt;/p&gt;
&lt;p&gt;First of all, the learning curve is high.  That’s to be expected, after all GnuCash is a complete accounting application. While the UI is quite simple and lean, there’s terminology and procedures to learn. That where the documentation comes handy.&lt;/p&gt;
&lt;p&gt;The documentation covers many topics: terminology, accounting principles and howtos for many specific uses.  In about 2 hours, I was setup: I had setup my accounts (based on their very well localized presets: it even included Québec’s taxes and perceptions accounts), I had imported transactions from my bank account and credit cards.  Now if only &lt;a href=&quot;http://www.desjardins.com&quot;&gt;Desjardins&lt;/a&gt; also provided retirement savings (&lt;a href=&quot;http://en.wikipedia.org/wiki/Registered_Retirement_Savings_Plan&quot;&gt;RRSP&lt;/a&gt;) details in a computer readable format beside their brochure PDFs… I’ll have to wait ’till I get my detailed printed report (once every 3 months) before I can manually enter the data in GnuCash.&lt;/p&gt;
&lt;p&gt;All in all, I’d like to kudo the GnuCash contributors.  Somehow I didn’t expect so much polish on a 12 years old application (and don’t get me wrong, but sometimes apps get stuck in time).  The ledger view comes with handy keyboard shortcuts designed to speed up data entry and I like it. Custom reports? that even more awesome.&lt;/p&gt;
&lt;p&gt;I’ll submit some localization bugs (or request a fr_CA version) because somehow it looks like French and Québécois accountants didn’t agree on all the words (ie. conciliation).&lt;/p&gt;</description>
	<pubDate>Fri, 30 Oct 2009 14:55:48 +0000</pubDate>
</item>
<item>
	<title>Guido Vicino (guido): Webmin</title>
	<guid>http://guidovicino.com/blog/?p=611</guid>
	<link>http://guidovicino.com/blog/2009/10/23/webmin/</link>
	<description>&lt;img src="img/heads/guido.png" align="right" alt=""&gt;&lt;p&gt;&lt;a href=&quot;http://www.webmin.com/index.html&quot;&gt;Webmin&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Webmin is a web-based system configuration tool for OpenSolaris, Linux and other Unix-like systems, although recent versions can also be installed and run on Windows.&lt;/p&gt;</description>
	<pubDate>Fri, 23 Oct 2009 10:47:50 +0000</pubDate>
</item>
<item>
	<title>Marco Barisione (bari): Contacts on Maemo</title>
	<guid>http://blog.barisione.org/?p=197</guid>
	<link>http://blog.barisione.org/2009-10/contacts-on-maemo/</link>
	<description>&lt;img src="img/heads/bari.png" align="right" alt=""&gt;&lt;p&gt;After the Maemo Summit the details on the address book application and framework in Maemo 5 are finally completely public so I can openly talk about what &lt;a href=&quot;http://wiki.maemo.org/Documentation/Maemo_5_Developer_Guide/Using_Generic_Platform_Components/Using_Address_Book_API&quot;&gt;I worked on&lt;/a&gt; during the past year and, even better, I actually have a smartphone that runs this software! (Thanks to Nokia that gave out 300 N900s, but I will talk about this in my next post)&lt;/p&gt;
&lt;p align=&quot;center&quot; class=&quot;img&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/barisione/4031795864/&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2567/4031795864_86a282108f.jpg&quot; alt=&quot;Contacts on the N900&quot; class=&quot;scaled&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;small&gt;Contacts on the N900&lt;/small&gt;&lt;/p&gt;
&lt;p align=&quot;center&quot; class=&quot;img&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/barisione/4031796040/&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3525/4031796040_33e4c44322.jpg&quot; alt=&quot;Contact details&quot; class=&quot;scaled&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;small&gt;Contact details&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;As you can see from the screenshots, the Contacts application has everything you would expect from a normal phone address book but it also tightly integrates IM. Your local, Jabber/GTalk and Skype contacts will appear in the same address book and, if you have a friend on multiple IM protocols, you can easily merge all the contacts into a single entity.&lt;/p&gt;
&lt;p&gt;My main task has been making the component responsible for the IM part of the address book work properly, this component is an evolution-data-server backend (recently &lt;a href=&quot;http://maemo.gitorious.org/eds-backend-telepathy/eds-backend-telepathy&quot;&gt;released under LGPL&lt;/a&gt;) that acts as a bridge between the Telepathy IM framework and evolution-data-server. See the &lt;a href=&quot;http://maemo.gitorious.org/eds-backend-telepathy/eds-backend-telepathy/blobs/raw/master/README&quot;&gt;README file&lt;/a&gt; for more details.&lt;br /&gt;
Sadly the library on top of evolution-data-server that does the magic contact merging and contains the widgets used on Maemo is not open, but there is &lt;a href=&quot;https://bugs.maemo.org/show_bug.cgi?id=5549&quot;&gt;some hope for it&lt;/a&gt;.&lt;/p&gt;
&lt;p align=&quot;center&quot; class=&quot;img&quot;&gt;&lt;a href=&quot;http://farm3.static.flickr.com/2646/4031042575_4769654a27_o.png&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2548/4031810672_d240ffdee4_o.png&quot; alt=&quot;Address book components&quot; /&gt;&lt;/a&gt;&lt;br /&gt;&lt;small&gt;Address book components&lt;/small&gt;&lt;/p&gt;
&lt;p&gt;At the Maemo Summit I also gave a talk on Telepathy and how it’s used on Maemo, both for messaging/VOIP and for the contacts integration. The slides are available in &lt;a href=&quot;http://people.collabora.co.uk/~bari/slides/telepathy-maemo-summit-2009.pdf&quot;&gt;PDF&lt;/a&gt; or in &lt;a href=&quot;http://people.collabora.co.uk/~bari/slides/telepathy-maemo-summit-2009.odp&quot;&gt;OpenOffice.org format&lt;/a&gt; (but for some reason colours look wrong in some recent versions of OpenOffice).&lt;/p&gt;</description>
	<pubDate>Wed, 21 Oct 2009 10:20:49 +0000</pubDate>
</item>
<item>
	<title>Guido Vicino (guido): Danziger - The People are still behind me</title>
	<guid>http://guidovicino.com/blog/?p=604</guid>
	<link>http://guidovicino.com/blog/2009/10/20/danziger-the-people-are-still-behind-me/</link>
	<description>&lt;img src="img/heads/guido.png" align="right" alt=""&gt;&lt;p&gt;&lt;img src=&quot;http://guidovicino.com/blog/wp-content/uploads/2009/10/losangelestimes_danziger.png&quot; title=&quot;Danziger - The People are still behind me&quot; height=&quot;293&quot; width=&quot;550&quot; alt=&quot;Danziger - The People are still behind me&quot; class=&quot;aligncenter size-full wp-image-605&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;i&gt;Danziger,&lt;br /&gt;&lt;br /&gt;
from Los Angeles Times (Unknow number…let me know which if you know.)&lt;/i&gt;&lt;/p&gt;</description>
	<pubDate>Tue, 20 Oct 2009 19:31:29 +0000</pubDate>
</item>
<item>
	<title>Pierre-Luc Beaudoin (pierlux): Back from Boston with an Emerillon release</title>
	<guid>http://blog.pierlux.com/?p=1238</guid>
	<link>http://blog.pierlux.com/2009/10/14/back-from-boston-with-an-emerillon-release/en/</link>
	<description>&lt;img src="img/heads/pierlux.png" align="right" alt=""&gt;&lt;p&gt;So I am finally back from the Boston Summit, a unique occasion to get updates on latest developments, and I am releasing Emerillon 0.1 for distributions eager to package.&lt;/p&gt;
&lt;h3&gt;Mandatory Greyhound rant&lt;/h3&gt;
&lt;p&gt;With a 3 hour delay on departure (making a total of 5 hours of wait in Boston’s 10 ℃ station), we managed to arrive 5 hours late in Montréal, due to a defective heater in the bus.  Add moving everyone at 5 AM from that defective ’70s bus to a freezing ’90s bus with actually less seats than the previous one, and the fact that there was enough people to fill 3 buses in Boston, but only 54 managed to leave on the first one and you’ve got a complete picture of the fiasco.&lt;/p&gt;
&lt;p&gt;I am not going to run in too much details but all this could have been so easily avoided.  The delays were due to the fact that the bus that was supposed to bring us had been delayed at the US border.  Fine, shit happens.  What is not fine is that they waited until our expected departure time to get a replacement driver (since he had busted his legal driving time).  See, it takes about 5 hours from the border to Boston.  Knowing he was going to be late (and therefore busting his hours), the driver should have called his manager, which should have prepared a replacement driver for the next departure in 10 hours! But none of that happened.  And, to top it all, there were no Greyhound dispatcher to be called by the Boston station employees to inform them of a missing departure bus.  Complete utter fail.&lt;/p&gt;
&lt;h3&gt;Emerillon 0.1.0 release&lt;/h3&gt;
&lt;p&gt;Now for the fun part.  With all that time on hands, I created 2 new plugins for Emerillon (Copy a link of the current view to online maps, and display map position in statusbar) and cooked a release including all the 5 submitted translations.  Woot! Grab the release &lt;a href=&quot;http://www.novopia.com/emerillon/download.html&quot;&gt;here&lt;/a&gt;.  This is a preview release with no guaranty on plugin API stability.  See the complete announce &lt;a href=&quot;http://mail.gnome.org/archives/libchamplain-list/2009-October/msg00007.html&quot;&gt;email&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://www.novopia.com/emerillon/screenshots/copylink.png&quot; title=&quot;Screenshot of Emerillon&quot; height=&quot;506&quot; width=&quot;671&quot; alt=&quot;&quot; class=&quot;alignnone&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Before anyone asks, I am using the &lt;a href=&quot;http://code.google.com/p/gnome-colors/&quot;&gt;gnome-colors Shiki-Wize&lt;/a&gt; theme.&lt;/p&gt;
&lt;p&gt;For those who missed the original announcement: &lt;a href=&quot;http://www.novopia.com/emerillon/&quot;&gt;Emerillon&lt;/a&gt; is a map viewer. Aiming at simple user interface, Emerillon is a powerful, extensible application. It features OpenStreetMap based&lt;br /&gt;
maps.  Use it to browse maps, search the map for places, placemark places for later quick access and more!&lt;/p&gt;
&lt;p&gt;There are even packages of this release for Ubuntu Hardy from &lt;a href=&quot;http://blog.cyphermox.net/&quot;&gt;Mathieu Trudel&lt;/a&gt;.  See his blog of the &lt;a href=&quot;http://blog.cyphermox.net/2009/10/debianubuntu-package-for-emerillon.html&quot;&gt;install instructions&lt;/a&gt;.&lt;/p&gt;</description>
	<pubDate>Thu, 15 Oct 2009 01:26:21 +0000</pubDate>
</item>
<item>
	<title>Pierre-Luc Beaudoin (pierlux): Just arrived in Boston</title>
	<guid>http://blog.pierlux.com/?p=1236</guid>
	<link>http://blog.pierlux.com/2009/10/09/just-arrived-in-boston/en/</link>
	<description>&lt;img src="img/heads/pierlux.png" align="right" alt=""&gt;&lt;p&gt;I just arrived in Boston in time for the Boston Gnome Summit.  The trip down to Boston with Greyhound was less than wonderful, and to think I was complaining about Orléans Express’ service between Montréal and Québec city!  Comparing Greyhound to German trains would be comparing chaos to order.  We only had a lunch pause because we were offered one when we changed driver and we were not supposed to change driver… That would have been a very long 8 hours bus ride!&lt;/p&gt;
&lt;p&gt;At least the hotel we are staying at this year is in a more lively part of the city &lt;img src=&quot;http://blog.pierlux.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; See you tomorrow!&lt;/p&gt;</description>
	<pubDate>Sat, 10 Oct 2009 00:52:18 +0000</pubDate>
</item>
<item>
	<title>Pierre-Luc Beaudoin (pierlux): Announcing Emerillon, the map viewer</title>
	<guid>http://blog.pierlux.com/?p=1221</guid>
	<link>http://blog.pierlux.com/2009/10/06/announcing-emerillon-the-map-viewer/en/</link>
	<description>&lt;img src="img/heads/pierlux.png" align="right" alt=""&gt;&lt;p style=&quot;text-align: left;&quot;&gt;Didn’t I foretell you there’d be more announcements?  Here’s one: &lt;a href=&quot;http://www.novopia.com/emerillon&quot;&gt;Emerillon&lt;/a&gt;.  It is pronounced &lt;em&gt;Ey-may-ree-yon&lt;/em&gt;. It is destined to be GNOME’s Map Viewer.  You will quickly recognize its sister apps: Eye of Gnome, Evince and GEdit. After all, they share a lot of design concepts.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;http://www.novopia.com/emerillon/screenshots/search.png&quot; alt=&quot;&quot; height=&quot;500&quot; class=&quot;aligncenter&quot; width=&quot;666&quot; /&gt;&lt;/p&gt;
&lt;p&gt;Why another map application do you say? Simply because none of them is free AND targeted at the Gnome desktop AND has ease of use in its (visible) goals.  This project should be easy to use for anyone, not only for mapping geeks.&lt;/p&gt;
&lt;p&gt;Emerillon is an application designed to be extended.  There is a number of small specialized map applications that were created in the last year, I have hope this one will be the catalyst of the development efforts.  Out of the box, Emerillon comes with 2 plugins: a search and a placemark plugin.  There are numerous plugins ideas : a GPX viewer, GPS integration, Telepathy integration (both to share the app and to display your friends location), a plugin to display the position under the mouse cursor, a plugin to display personal markers and I have two special ideas that I want to keep for myself to implement &lt;img src=&quot;http://blog.pierlux.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; Other ideas are welcomed too!&lt;/p&gt;
&lt;p&gt;Emerillon is a project originally started by Marco Barisione in October 2008.  Due to various reasons, it remained dormant for almost a year, until I decided to take over and push it forward.   Turns out, Marco had laid out very good UI base on which I built upon.&lt;/p&gt;
&lt;p&gt;Visit &lt;a href=&quot;http://www.novopia.com/emerillon/&quot;&gt;http://www.novopia.com/emerillon/&lt;/a&gt; for more screenshots and details.&lt;/p&gt;
&lt;h3&gt;Kudos to be given&lt;/h3&gt;
&lt;p&gt;Emerillon is built of code inspired by other projects and very cool libraries.  Early on, Marco borrowed &lt;a href=&quot;http://projects.gnome.org/evince/&quot;&gt;Evince&lt;/a&gt;’s sidebar.  This sidebar is so nice and clean that it should be part of Gtk+! The problem is that this code is GPL but Gtk+ is not.&lt;/p&gt;
&lt;p&gt;Another quite common widget in Gnome apps is Epiphany’s spinning throbber.  Again, it is GPL’d and the code has to be copied from apps to apps.&lt;/p&gt;
&lt;p&gt;I am not going to kudo &lt;a href=&quot;http://projects.gnome.org/libchamplain&quot;&gt; libchamplain&lt;/a&gt; &lt;img src=&quot;http://blog.pierlux.com/wp-includes/images/smilies/icon_wink.gif&quot; alt=&quot;;)&quot; class=&quot;wp-smiley&quot; /&gt; Lets say I have found API omissions that will need to be addressed for Emerillon to work perfectly. Who needs a “selected” signal after all? &lt;img src=&quot;http://blog.pierlux.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; Still, libchamplain was quite necessary to build this app.&lt;/p&gt;
&lt;p&gt;Emerillon’s plugin system was faster to implement than I expected when I got this idea.  But thanks to &lt;a href=&quot;http://git.dronelabs.com/ethos/about/&quot;&gt;Ethos&lt;/a&gt;, it was a simpler task.  Ethos is a complete (Gedit/EOG alike) plugin architecture in a library.  It even provides UI widgets to manage the plugins.&lt;/p&gt;
&lt;p&gt;Emerillon’s search plugin uses &lt;a href=&quot;http://moblin.org/projects/librest&quot;&gt;librest&lt;/a&gt; to fetch its data from &lt;a href=&quot;http://geonames.org&quot;&gt;geonames.org&lt;/a&gt;.  Rob Bradford was right: it is now fun again to parse XML.  I mean really.  This library makes fetching web service data an easy task.&lt;/p&gt;
&lt;p&gt;Fetch Emerillon from Gnome’s git today and give it a try!&lt;/p&gt;</description>
	<pubDate>Tue, 06 Oct 2009 13:15:17 +0000</pubDate>
</item>
<item>
	<title>Pierre-Luc Beaudoin (pierlux): New beginnings</title>
	<guid>http://blog.pierlux.com/?p=1215</guid>
	<link>http://blog.pierlux.com/2009/10/02/new-beginnings/en/</link>
	<description>&lt;img src="img/heads/pierlux.png" align="right" alt=""&gt;&lt;p&gt;About a month ago, I left Collabora in order to bring new, different challenges in my life.  Today, I am announcing publicly that I have founded &lt;a href=&quot;http://www.novopia.com&quot;&gt;Novopia Solutions&lt;/a&gt;, a new player in free software.  Novopia’s long term goal will be to bring free and open source solutions to market that have yet to be penetrated by free software solutions.&lt;/p&gt;
&lt;p style=&quot;text-align: left;&quot;&gt;&lt;a href=&quot;http://www.novopia.com&quot;&gt;&lt;img src=&quot;http://www.novopia.com/img/logo.png&quot; alt=&quot;&quot; class=&quot;aligncenter&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;While this is a field where there are plenty of FOSS solutions, the primary focus in the upcoming weeks will be on improving the geolocation solutions in GNOME.  Commercial support for &lt;a href=&quot;http://projects.gnome.org/libchamplain&quot;&gt;libchamplain&lt;/a&gt; is of course on the list.&lt;/p&gt;
&lt;p&gt;More to be announced later. &lt;img src=&quot;http://blog.pierlux.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt;&lt;/p&gt;</description>
	<pubDate>Fri, 02 Oct 2009 12:00:14 +0000</pubDate>
</item>
<item>
	<title>Pierre-Luc Beaudoin (pierlux): Ubuntu Global Jam 2009 in Montréal, Québec</title>
	<guid>http://blog.pierlux.com/?p=1204</guid>
	<link>http://blog.pierlux.com/2009/10/01/ubuntu-global-jam-2009-in-montreal-quebec/en/</link>
	<description>&lt;img src="img/heads/pierlux.png" align="right" alt=""&gt;&lt;p&gt;If you are in Montréal this week-end, stop by the &lt;a href=&quot;http://www.etsmtl.ca&quot;&gt;École de technologie supérieure&lt;/a&gt; main building and attend the &lt;a href=&quot;https://wiki.ubuntu.com/QuebecTeam/GlobalJam2009&quot;&gt;Ubuntu Global Jam 2009&lt;/a&gt;!  I have to admit I am surprised this is happening at my former university, considering the lack of FOSS culture there was.  It is a sign of changes I am welcoming!&lt;/p&gt;
&lt;p&gt;This will be my first Ubuntu event and my first local conf.  After all, I realized I know more FOSS contributors in Europe than in Montréal.  And that’s not because there aren’t, I’ve just been more often to international conferences.  Time to make a shift.  To mark the start, I’ll be giving a tutorial on Saturday October 3rd around 14:00 about how to contribute to OpenStreetMap from an Ubuntu desktop ‒ for what matters, any GNU/Linux distro would be fine too :-).&lt;/p&gt;
&lt;p&gt;See you there.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2009/10/bubble_en.png&quot;&gt;&lt;img src=&quot;http://blog.pierlux.com/wp-content/uploads/2009/10/bubble_en.png&quot; title=&quot;bubble_en&quot; height=&quot;173&quot; width=&quot;300&quot; alt=&quot;&quot; class=&quot;size-full wp-image-1206 aligncenter&quot; /&gt;&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 01 Oct 2009 13:37:00 +0000</pubDate>
</item>
<item>
	<title>Pierre-Luc Beaudoin (pierlux): Those meals I gathered while traveling</title>
	<guid>http://blog.pierlux.com/?p=1171</guid>
	<link>http://blog.pierlux.com/2009/09/15/those-meals-i-gathered-while-traveling/en/</link>
	<description>&lt;img src="img/heads/pierlux.png" align="right" alt=""&gt;&lt;p&gt;During the last 2 years, I travelled… A LOT.  According to the table flags on my bookshelf, I visited more than 15 different countries.  During those trips I discovered new flavours and new ways to prepare meals.  The funny thing is that I don’t necessarily brought back a local meal from each country.  Let me demonstrate.&lt;/p&gt;
&lt;h3&gt;Stockholm, Sweden&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/53606017@N00/3751665638/&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2590/3751665638_6a0d39044b.jpg&quot; title=&quot;Meat Balls!&quot; height=&quot;375&quot; width=&quot;500&quot; alt=&quot;&quot; class=&quot;alignnone&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Swedish Meat Balls, (cc) CurryPuffy&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Meat balls&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;As server onboard Viking Line boats or at that very good restaurant Daf, Gabriel, Alban and I visited in Gamla Stan.&lt;/p&gt;
&lt;h3&gt;Sankt-Peterburg, Russia&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/pierlux/3354851948/in/set-72157615193909807/&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3135/3354851948_c8a6d0287b.jpg&quot; title=&quot;Beef Strogonoff&quot; height=&quot;332&quot; width=&quot;500&quot; alt=&quot;&quot; class=&quot;alignnone&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Boeuf Stogranoff pour souper, (cc) pierlux.com&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Beef Strogonoff&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Istanbul, Turkey&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/pierlux/2668572737/in/set-72157606170898573/&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3065/2668572737_0353ee6a19.jpg&quot; alt=&quot;&quot; height=&quot;332&quot; class=&quot;alignnone&quot; width=&quot;500&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Marché égyptien, (cc) pierlux.com&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Curry sauce chicken&lt;/li&gt;
&lt;li&gt;Lamb dishes&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Why curry sauce in Turkey? There was a very good curry sauce rice and chicken plate served at the University’s cafeteria during GUADEC 2008. &lt;img src=&quot;http://blog.pierlux.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;h3&gt;Berlin, Germany&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/gordonflood/2183780720/&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2233/2183780720_ce8aef583b.jpg&quot; title=&quot;58/365&quot; height=&quot;333&quot; width=&quot;500&quot; alt=&quot;&quot; class=&quot;alignnone&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Basil, Spinach &amp;amp; Pesto Spaghetti with Pine nuts, (cc) gordonflood.com&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Pine Nut and Pesto Pastas&lt;/li&gt;
&lt;li&gt;Pomodoro Fresco Pastas&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Why pastas in Berlin, the answer is simple: &lt;a href=&quot;http://www.vapiano-international.com&quot;&gt;Va Piano&lt;/a&gt;. It is a nice restaurant chain where you can see you pastas getting prepared for you. I liked so much my first visit (on Postdamer Platz) that I quickly found another one closer to my hotel and ate not less than 3 times in the 5 days I was in Berlin at these restaurants.&lt;/p&gt;
&lt;p&gt;Oh I did try the curry würst on my first trip to Berlin, but not my favourite &lt;img src=&quot;http://blog.pierlux.com/wp-includes/images/smilies/icon_wink.gif&quot; alt=&quot;;)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;h3&gt;Las Palmas, Gran Canaria, Spain&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/fernandocarmona/255212758/&quot;&gt;&lt;img src=&quot;http://farm1.static.flickr.com/108/255212758_3d7f2b42e2.jpg&quot; alt=&quot;&quot; height=&quot;375&quot; class=&quot;alignnone&quot; width=&quot;500&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p id=&quot;title_div255212758&quot;&gt;&lt;em&gt;Papas arrugadas con mojo, (cc) Fer..&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/pierlux/3754117902/in/set-72157621816187562/&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2638/3754117902_1138d3732f.jpg&quot; alt=&quot;&quot; height=&quot;332&quot; class=&quot;alignnone&quot; width=&quot;500&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;em&gt;Nouriture végétarienne, (cc) pierlux.com&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Tapas style potatoes with Mojo sauce&lt;/li&gt;
&lt;li&gt; Rice Burgers&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The rice burgers are from the very good Naturalis vegetarian restaurant close to the conference center. &lt;img src=&quot;http://blog.pierlux.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:)&quot; class=&quot;wp-smiley&quot; /&gt; &lt;/p&gt;
&lt;h3&gt;Cambridge, UK&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/papisc/2701234377/&quot;&gt;&lt;img src=&quot;http://farm4.static.flickr.com/3083/2701234377_a86987aa6b.jpg&quot; alt=&quot;&quot; height=&quot;355&quot; class=&quot;alignnone&quot; width=&quot;500&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p id=&quot;title_div2701234377&quot;&gt;&lt;em&gt;Penne speck e rucola, (cc) paPisc&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Champignon and Speck pastas&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Why pastas in Cambridge, that would be because of Marco Barisione.  He was my host and he cooked delicious Italian style pastas for me.  He clearly introduced me to the fact that you don’t need to buy pre-prepared pasta sauce.&lt;/p&gt;
&lt;h3&gt;Helsinki, Finland&lt;/h3&gt;
&lt;p&gt;&lt;a href=&quot;http://www.flickr.com/photos/tonx/3812499915/&quot;&gt;&lt;img src=&quot;http://farm3.static.flickr.com/2439/3812499915_19b12f3676.jpg&quot; alt=&quot;&quot; height=&quot;500&quot; class=&quot;alignnone&quot; width=&quot;375&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p id=&quot;title_div3812499915&quot;&gt;&lt;em&gt;good pizza, (cc) tonx&lt;/em&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Blue Cheese, Chicken and Peach Pizza&lt;/li&gt;
&lt;li&gt;Crème Fraiche and Champignon pastas&lt;/li&gt;
&lt;li&gt; Stews&lt;/li&gt;
&lt;li&gt;Mango &lt;a href=&quot;http://en.wikipedia.org/wiki/Lassi&quot;&gt;Lassi&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Barisione is this inspiration combined with Alban Crequy love for crème fraîche that explains the pastas for Helsinki. We also weekly made a nice stew. After 14 weeks, I think I got to master them hehe&lt;/p&gt;
&lt;p&gt;The rest of the meals come from a well known cafeteria down in Ruoholahti &lt;img src=&quot;http://blog.pierlux.com/wp-includes/images/smilies/icon_wink.gif&quot; alt=&quot;;-)&quot; class=&quot;wp-smiley&quot; /&gt; I admit I wasn’t very fond of all the meals, but some I quite liked!&lt;/p&gt;
&lt;p&gt;Generally, while travelling I got in touch with vegetarians.  I hadn’t met many before leaving Québec.  Discussing with people at SOTM 09, we identified that vegetarianisms is quite uncommon in French speaking nations.  I am not quite convinced by the ethical “don’t eat animals”, but I can understand the health and environmental reasons.  Therefore I now try to eat 25% of my meals vegetarian.  That’s better than none at all!&lt;/p&gt;
&lt;p&gt;I hope I didn’t open your appetite too much.&lt;/p&gt;</description>
	<pubDate>Tue, 15 Sep 2009 13:21:03 +0000</pubDate>
</item>
<item>
	<title>Pierre-Luc Beaudoin (pierlux): libchamplain hits 0.4</title>
	<guid>http://blog.pierlux.com/?p=1178</guid>
	<link>http://blog.pierlux.com/2009/09/14/libchamplain-hits-04/en/</link>
	<description>&lt;img src="img/heads/pierlux.png" align="right" alt=""&gt;&lt;p&gt;&lt;a href=&quot;http://projects.gnome.org/libchamplain&quot;&gt;&lt;img src=&quot;http://projects.gnome.org/libchamplain/data/images/logo.png&quot; alt=&quot;&quot; height=&quot;71&quot; width=&quot;256&quot; title=&quot;libchamplain logo&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;About a month after its 1 year birthday, &lt;a href=&quot;http://projects.gnome.org/libchamplain&quot;&gt;libchamplain&lt;/a&gt; hit the 0.4 mark - the first stable release of this new version.  It’s a Clutter based ClutterActor and Gtk+ widget to display street maps, cycle maps or other maps.  It comes with eye candy.&lt;/p&gt;
&lt;p&gt;Special thanks to all contributors to this release (in chronological order of first contribution):&lt;br /&gt;
Pierre-Luc Beaudoin, Jonathon Jongsma, Lorenzo Masini, Packz Enoch, Thomas Van Machelen, Anders M-Pedersen, Stephane Delcroix, Denk Padje, Mike Sheldon, Emmanuel Rodriguez, Emmanuele Bassi, Lionel Dricot, Simon Wenner, Kritarth Upadhyay, Debarshi Ray, Paulo Cabido, Sjoerd Simons, Victor Godoy Poluceno, Javier Jardón, Patryk Zawadzki, Sebastian Reichel, Tim Horton, Frederic Peters, Cosimo Cecchi, Vincent Untz, Felix Riemann&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2009/09/lubeck.png&quot;&gt;&lt;img src=&quot;http://blog.pierlux.com/wp-content/uploads/2009/09/lubeck-300x184.png&quot; title=&quot;lubeck&quot; height=&quot;184&quot; width=&quot;300&quot; alt=&quot;&quot; class=&quot;alignnone size-medium wp-image-1180&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;em&gt;Libchamplain in action in Eye of Gnome,&lt;br /&gt;
displaying a &lt;a href=&quot;http://www.flickr.com/photos/pierlux/3754180688/in/set-72157621691763689/&quot;&gt;picture&lt;/a&gt; of Lübeck, Germany.&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;New in this release (since 0.2.10)&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Support for custom map sources&lt;/strong&gt;: embedding apps can define their own map sources and provide tiles for libchamplain to display.  This includes a way to list available map sources.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Zoom on double click is now configurable&lt;/strong&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;View keeps centred when you resized the view.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;A way to convert screen coordinates to map coordinates&lt;/strong&gt;:  lets you interact with the map and its markers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Cache tiles&lt;/strong&gt;: downloaded tiles are cached.  The cache is intelligently validated against the server every 7 days for now.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Revamped marker API:&lt;/strong&gt; Default markers now have a nicer look with rounded corners, nicer colors and a shadow.  The API allows easy image and label markers to be created.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Limit visible zoom levels&lt;/strong&gt;: you can now limit what the user can view.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Feedback during loading&lt;/strong&gt;: ChamplainView will emit a state change when loading resources from network providing  better feedback possibilities to the user.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Line and polygon drawing API&lt;/strong&gt;: You can now easily draw lines and polygon over the map.  This is useful for indicating routes or highlighting areas.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;User Agent&lt;/strong&gt;: libchamplain now identifies itself in HTTP requests&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Marker selection support&lt;/strong&gt;: libchamplain provides a helpful API when you want to let user select a bunch of markers (or only one).  This API has been designed with Gtk+’s selection API in mind.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Ported to Clutter 1.0&lt;/strong&gt;: libchamplain now depends and use Clutter 1.0.  It allowed us to add the very nice in and out for markers.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Bindings&lt;/strong&gt;: the API is now bindable.  Only the Python bindings works for now but that’s not because the Perl binder didn’t try hard to get some too, try having a baby close to a release! :)  C# bindings and C++ have been worked on but didn’t make it on time for the release.&lt;/li&gt;
&lt;li&gt;Many bug fixes.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Plans for the future&lt;/h3&gt;
&lt;p&gt;Now that 0.4 is behind us, we already have a huge list of nice to have in 0.6 (due in same time as Gnome 2.30 or Gnome 3.0):&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Smooth zooming and animation;&lt;/li&gt;
&lt;li&gt;Rotation of the map;&lt;/li&gt;
&lt;li&gt;Display cached tiles while downloading new ones;&lt;/li&gt;
&lt;li&gt;Add a clustering layer: a layer where markers very close on a map will be merged into one marker;&lt;/li&gt;
&lt;li&gt;An MVC API for layers: use ClutterModel and support GtkTreeModel as sources of Marker data;&lt;/li&gt;
&lt;li&gt;Limit the visible area on the map;&lt;/li&gt;
&lt;li&gt;Have the map wrap horizontally;&lt;/li&gt;
&lt;li&gt;Have a nice dragging mode for markers;&lt;/li&gt;
&lt;li&gt;Add a map scale;&lt;/li&gt;
&lt;li&gt;Provide better accessibility;&lt;/li&gt;
&lt;li&gt;Better cache policies;&lt;/li&gt;
&lt;li&gt;Better animations;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;And most importantly: local rendering of maps. This project is well on its way with the recent conclusion of the &lt;a href=&quot;http://code.google.com/soc/&quot;&gt;Google Summer of Code 2009&lt;/a&gt;.  Simon Wenner, which you probably read the progress on &lt;a href=&quot;http://planet.gnome.org&quot;&gt;planet.gnome.org&lt;/a&gt;, did a marvellous job on this.  His work should be included in the first development release of libchamplain 0.5.&lt;/p&gt;</description>
	<pubDate>Mon, 14 Sep 2009 20:03:18 +0000</pubDate>
</item>
<item>
	<title>Pierre-Luc Beaudoin (pierlux): Creating a detailed map with Walking Papers</title>
	<guid>http://blog.pierlux.com/?p=1163</guid>
	<link>http://blog.pierlux.com/2009/08/09/creating-a-detailed-map-with-walking-papers/en/</link>
	<description>&lt;img src="img/heads/pierlux.png" align="right" alt=""&gt;&lt;p&gt;&lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2009/08/square_st_louis_before.png&quot;&gt;&lt;/a&gt;One of the things I learned about at &lt;a href=&quot;http://www.stateofthemap.org&quot;&gt;SOTM&lt;/a&gt;, is the existence of &lt;a href=&quot;http://walking-papers.org/&quot;&gt;walking-papers.org&lt;/a&gt;.  This tool renewed my interest of mapping around my house in order to create an higher quality map.  During SOTM, we were often presented with examples where &lt;a href=&quot;http://www.openstreetmap.org/&quot;&gt;OpenStreetMap&lt;/a&gt; was more accurate and more detailed than commercially available data.  I think I just contributed to that!&lt;/p&gt;
&lt;p&gt;First of all, what is Walking papers.  It’s a simple web site where you can print a map of an area.  You go walk around and note the missing information.  When you come back, you scan the page and upload it back.  From Walking papers you can edit the map using your scanned page as the background to the online &lt;a href=&quot;http://wiki.openstreetmap.org/index.php/Potlatch&quot;&gt;Potlatch&lt;/a&gt; editor.&lt;/p&gt;
&lt;p&gt;Since I am not a big fan of Potlatch (and that I gave away my scanner, not having used it for years), I used the paper as a reminder of what’s on the land when editing with &lt;a href=&quot;http://josm.openstreetmap.de/&quot;&gt;Josm&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Before SOTM, I never though about the high value of extra data (other than ways).  Now I highly value all the small details, such as mail boxes, restaurants and addresses.  The last one is pretty boring to do by the way.  It requires a lot of note taking and a lot of nodes to create and edit.  But addressing will be the ultimate step to make precise routing possible with OpenStreetMap data.&lt;/p&gt;
&lt;p&gt;So here is what I did (with a friend for Saint-Laurent and Prince-Arthur streets) over the week-end.  This represents about 4 hour person walking on site and 4 hour person putting all the data back in the computer.  I included a screenshot of Google Map’s Tele Atlas data just as an example to show how far they are from having complete data.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2009/08/square_st_louis_before.png&quot;&gt;&lt;img src=&quot;http://blog.pierlux.com/wp-content/uploads/2009/08/square_st_louis_before-150x150.png&quot; title=&quot;Old data for Square Saint-Louis&quot; height=&quot;150&quot; width=&quot;150&quot; alt=&quot;&quot; class=&quot;alignnone size-thumbnail wp-image-1167&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2009/08/square_st_louis_after.png&quot;&gt;&lt;img src=&quot;http://blog.pierlux.com/wp-content/uploads/2009/08/square_st_louis_after-150x150.png&quot; title=&quot;New data for Square Saint-Louis&quot; height=&quot;150&quot; width=&quot;150&quot; alt=&quot;&quot; class=&quot;alignnone size-thumbnail wp-image-1166&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2009/08/square_st_louis_google.png&quot;&gt;&lt;img src=&quot;http://blog.pierlux.com/wp-content/uploads/2009/08/square_st_louis_google-150x150.png&quot; title=&quot;Google's data for Square Saint-Louis&quot; height=&quot;150&quot; width=&quot;150&quot; alt=&quot;&quot; class=&quot;alignnone size-thumbnail wp-image-1168&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Note: The before screenshot dates after the first pass on Prince-Arthur.  I didn’t do the streets north of Prince-Arthur street yet, that’s why OpenStreetMap is missing a park.  I’ll add it when I see it with my eyes (we should never copy from other map sources).&lt;/p&gt;
&lt;p&gt;I am really happy with how the &lt;a href=&quot;http://osm.org/go/cIrN_K75@-&quot;&gt;Square Saint-Louis&lt;/a&gt; renders.  Unfortunately, the square’s page is only available in French on Wikipedia.  The square is bordered with Victorian style houses from the 1880s.  The square itself dates from the same years and has never lost its charm.  In its first years, it was where the upper French Canadian class settled.  Avenue Laval is bordered by georgious victorian houses.  I hope I could buy one some day, those houses are just very nice and we should protect them.&lt;/p&gt;</description>
	<pubDate>Sun, 09 Aug 2009 22:51:26 +0000</pubDate>
</item>
<item>
	<title>Pierre-Luc Beaudoin (pierlux): libchamplain 0.3.6 released, now using Clutter 1.0</title>
	<guid>http://blog.pierlux.com/?p=1155</guid>
	<link>http://blog.pierlux.com/2009/08/03/libchamplain-036-released-now-using-clutter-10/en/</link>
	<description>&lt;img src="img/heads/pierlux.png" align="right" alt=""&gt;&lt;p&gt;libchamplain’s development was not blocked by the never ending delays in Clutter 1.0’s release. But we were waiting for 1.0 with eager.  And now the results are in.  Clutter 1.0 introduces many changes that simplified libchamplain’s code and solved some of our long standing issues at the same time.&lt;/p&gt;
&lt;p&gt;Taking opportunity of the new introduced animations in Clutter, I added new marker animations in libchamplain:&lt;/p&gt;
&lt;p&gt;&amp;lt;video controls=&quot;true&quot; src=&quot;http://libchamplain.pierlux.com/images/marker-animation.ogv&quot;&amp;gt;&lt;br /&gt;
[Oops, your browser does not support the video tag!]&lt;br /&gt;
&amp;lt;/video&amp;gt;&lt;/p&gt;
&lt;p&gt;If you are viewing through a planet, or a non HTML5 capable browser, here’s the &lt;a href=&quot;http://libchamplain.pierlux.com/images/marker-animation.ogv&quot;&gt;file&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Since porting to Clutter 1.0 was the only condition set by the Gnome release team for libchamplain’s inclusion in Gnome 2.28, we can consider it a done deal!&lt;/p&gt;
&lt;p&gt;See the complete &lt;a href=&quot;http://mail.gnome.org/archives/libchamplain-list/2009-August/msg00005.html&quot;&gt;announcement&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In other news, libchamplain 0.3.5 was also &lt;a href=&quot;http://mail.gnome.org/archives/libchamplain-list/2009-August/msg00000.html&quot;&gt;released&lt;/a&gt; last Saturday. It is the last release to use Clutter 0.8, but it also has very good Perl and Python bindings.  Since Clutter 1.0’s bindings are not ready yet, libchamplain 0.3.5 is the last release to have bindings until Clutter gets some!&lt;/p&gt;</description>
	<pubDate>Tue, 04 Aug 2009 03:51:06 +0000</pubDate>
</item>
<item>
	<title>Guido Vicino (guido): The Modern Day Shugyosha</title>
	<guid>http://guidovicino.com/blog/?p=597</guid>
	<link>http://guidovicino.com/blog/2009/07/20/the-modern-day-shugyosha/</link>
	<description>&lt;img src="img/heads/guido.png" align="right" alt=""&gt;&lt;p&gt;&lt;a href=&quot;http://brokenbokken.wordpress.com/2008/01/31/it-consultant-the-modern-day-shugyosha/&quot;&gt;IT Consultant – The Modern Day Shugyosha&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;…ho sempre avuto il dubbio che Reply avesse il potere di chiedermi l’Harakiri!&lt;/p&gt;</description>
	<pubDate>Mon, 20 Jul 2009 17:27:06 +0000</pubDate>
</item>
<item>
	<title>Marco Barisione (bari): More GList anti-patterns</title>
	<guid>http://blog.barisione.org/?p=181</guid>
	<link>http://blog.barisione.org/2009-07/more-glist-anti-patterns/</link>
	<description>&lt;img src="img/heads/bari.png" align="right" alt=""&gt;&lt;p&gt;Ross, &lt;a href=&quot;http://www.burtonini.com/blog/computers/list-2009-07-16-16-11&quot;&gt;your examples&lt;/a&gt; are not as bad as something I found in some code I had to fix recently:&lt;/p&gt;
&lt;pre&gt;GList *list = e_vcard_get_attributes (evcard);

for (list = &lt;b&gt;g_list_first&lt;/b&gt; (list);
     list != NULL;
     list = g_list_next (list))
{
         /* Do something */
}

for (list = &lt;b&gt;g_list_first&lt;/b&gt; (list);
     list != NULL;
     list = g_list_next (list))
{
         /* Do something else */
         g_object_unref (list-&amp;gt;data);
}

g_free (&lt;b&gt;g_list_first&lt;/b&gt; (list));
&lt;/pre&gt;
&lt;p&gt;“Surprisingly” it was not working, but at least it was not leaking memory as the return value of &lt;a href=&quot;http://library.gnome.org/devel/libebook/stable/EVCard.html#e-vcard-get-attributes&quot;&gt;e_vcard_get_attributes&lt;/a&gt; is not supposed to be freed &lt;img src=&quot;http://farm1.static.flickr.com/218/458651141_54bbc48288_o.png&quot; alt=&quot;;)&quot; /&gt;&lt;/p&gt;</description>
	<pubDate>Thu, 16 Jul 2009 21:26:25 +0000</pubDate>
</item>
<item>
	<title>Guido Vicino (guido): Memo sull’Impermanenza</title>
	<guid>http://guidovicino.com/blog/?p=595</guid>
	<link>http://guidovicino.com/blog/2009/07/16/memo-sullimpermanenza/</link>
	<description>&lt;img src="img/heads/guido.png" align="right" alt=""&gt;&lt;p&gt;&amp;lt;object height=&quot;344&quot; width=&quot;425&quot;&amp;gt;&amp;lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/pgYA2c5iyzs&amp;amp;amp;hl=it&amp;amp;amp;fs=1&amp;amp;amp;&quot;/&amp;gt;&amp;lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot;/&amp;gt;&amp;lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot;/&amp;gt;&amp;lt;embed allowfullscreen=&quot;true&quot; allowscriptaccess=&quot;always&quot; height=&quot;344&quot; src=&quot;http://www.youtube.com/v/pgYA2c5iyzs&amp;amp;amp;hl=it&amp;amp;amp;fs=1&amp;amp;amp;&quot; type=&quot;application/x-shockwave-flash&quot; width=&quot;425&quot;&amp;gt;&amp;lt;/embed&amp;gt;&amp;lt;/object&amp;gt;&lt;/p&gt;
&lt;p&gt;…un bel memo sull’impermanenza.&lt;/p&gt;</description>
	<pubDate>Thu, 16 Jul 2009 19:12:37 +0000</pubDate>
</item>
<item>
	<title>Pierre-Luc Beaudoin (pierlux): Attending the State of the Map 2009</title>
	<guid>http://blog.pierlux.com/?p=1152</guid>
	<link>http://blog.pierlux.com/2009/07/12/attending-the-state-of-the-map-2009/en/</link>
	<description>&lt;img src="img/heads/pierlux.png" align="right" alt=""&gt;&lt;p&gt;I am in beautiful Amsterdam since Thursday attending the &lt;a href=&quot;http://www.stateofthemap.org&quot;&gt;State of the Map 2009&lt;/a&gt;.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.stateofthemap.org&quot;&gt;&lt;img src=&quot;http://blog.pierlux.com/wp-content/uploads/2009/07/sotm_logo_mid.png&quot; title=&quot;sotm_logo_mid&quot; height=&quot;255&quot; width=&quot;424&quot; alt=&quot;&quot; class=&quot;size-full wp-image-1153 aligncenter&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It is a nice conference, but having attended only free software conferences so far I was up for some cultural shocks.  First of all, everyone here has an iPhone, a Mac and a twitter account.  I signed up for one to be able to catch up with the virtual side of the conf.&lt;/p&gt;
&lt;p&gt;There are a lot of very short nice talks about what people are doing with the data or how they contributing data. So far, the most interesting one has been how &lt;a href=&quot;http://www.jumpstartinternational.org/&quot;&gt;JumpStart&lt;/a&gt; paid people to go to &lt;a href=&quot;http://jumpstart-mapping.blogspot.com/&quot;&gt;Palestine and the Gaza stripe&lt;/a&gt; to map the place as no maps were available. This is an exciting idea where they sent people on site to hire mappers and make this data available. They did encounter problems but the result is great! (and is in the process of being imported into &lt;a href=&quot;http://www.openstreetmap.org&quot;&gt;OpenStreetMap&lt;/a&gt;).&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://projects.gnome.org/libchamplain/&quot;&gt;&lt;img src=&quot;http://projects.gnome.org/libchamplain/data/images/logo.png&quot; alt=&quot;&quot; class=&quot;aligncenter&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I’ve been lucky to be able to fit a last minute lightning talk about &lt;a href=&quot;http://projects.gnome.org/libchamplain/&quot;&gt;libchamplain&lt;/a&gt;.  I think libchamplain will bring knowledge about OpenStreetMap to the GNOME desktop users and could be benefictal to the first, while we get nice maps for the latter.   As for technology, libchamplain seemed to be on par featurewize with commercial solutions presented here.  Let’s hope its usage picks up (already &lt;a href=&quot;http://live.gnome.org/libchamplain/applications&quot;&gt;5 applications&lt;/a&gt; and counting!)&lt;/p&gt;</description>
	<pubDate>Sun, 12 Jul 2009 11:57:55 +0000</pubDate>
</item>
<item>
	<title>Guido Vicino (guido): Umberto Veronesi</title>
	<guid>http://guidovicino.com/blog/?p=593</guid>
	<link>http://guidovicino.com/blog/2009/07/11/umberto-veronesi/</link>
	<description>&lt;img src="img/heads/guido.png" align="right" alt=""&gt;&lt;p&gt;« L’umanità rischia un effetto a catena distruttivo: esaurimento di energia, di acqua potabile, di alimenti base per soddisfare consumismi alimentari errati. In Cina e in India è aumentato il consumo di carne, così come non si ferma in Occidente. I conti non tornano. Sei miliardi di abitanti, tre miliardi di bovini da macello (ogni chilo di carne brucia 20 mila litri d’acqua), 15 miliardi di volatili da alimentazione, produzione di combustibili dai cereali. Tra un po’ non ci sarà più cibo. Grano, soia, riso, mais costano sempre di più e vanno a ingrassare gli animali da allevamento. Dobbiamo fermarci ora. Primo passo: diventare vegetariani, o quasi. »&lt;/p&gt;
&lt;p&gt;Umberto Veronesi, (citato in Corriere della sera, 20 maggio 2008, p.9)&lt;/p&gt;</description>
	<pubDate>Sat, 11 Jul 2009 10:58:32 +0000</pubDate>
</item>
<item>
	<title>Pierre-Luc Beaudoin (pierlux): At the Gran Canaria Desktop Summit</title>
	<guid>http://blog.pierlux.com/?p=1149</guid>
	<link>http://blog.pierlux.com/2009/07/04/at-the-gran-canaria-desktop-summit/en/</link>
	<description>&lt;img src="img/heads/pierlux.png" align="right" alt=""&gt;&lt;p&gt;So I arrived with the Montréal Collabora cabal on Friday after quite long flights (Montréal -&amp;gt; Paris -&amp;gt; Matrid -&amp;gt; Gran Canaria).  I was completely dead afterwards, it seems that sleep deprevation gives me flu symptomes and it is not enjoyable.  Good thing napping solves it quickly.&lt;/p&gt;
&lt;p&gt;The place is great and even thought quite warm, it is very windy so you don’t feel it much.  Has anyone been able to add Las Palmas (and get weather) to the Gnome Clock? It seems to be in the location.xml, but not showing up when typing.&lt;/p&gt;
&lt;p&gt;I’d like to kudos the swchag selection: useful stuff that can have multiple reuse! Not to point fingers at LCA, but I didn’t need 2 rubik cube of different sizes conference branded &lt;img src=&quot;http://blog.pierlux.com/wp-includes/images/smilies/icon_wink.gif&quot; alt=&quot;;-)&quot; class=&quot;wp-smiley&quot; /&gt; (but it came in a linen bag!).&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2009/07/gran_canaria.jpg&quot;&gt;&lt;img src=&quot;http://blog.pierlux.com/wp-content/uploads/2009/07/gran_canaria-300x191.jpg&quot; title=&quot;Gran Canaria&quot; height=&quot;191&quot; width=&quot;300&quot; alt=&quot;&quot; class=&quot;aligncenter size-medium wp-image-1150&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Any how, I am giving a talk tomorrow (Sunday the 5th) with Henri Bergius about the &lt;a href=&quot;http://www.grancanariadesktopsummit.org/node/299&quot;&gt;Location aware desktop&lt;/a&gt;. Don’t miss it 11:30, Room 2 “Cámara”.  The slot is quite short so don’t really expect demos &lt;img src=&quot;http://blog.pierlux.com/wp-includes/images/smilies/icon_sad.gif&quot; alt=&quot;:-(&quot; class=&quot;wp-smiley&quot; /&gt; Who needs demos when you can &lt;a href=&quot;http://blog.pierlux.com/2009/06/15/geolocation-in-empathy-now-real/en/&quot;&gt;try it by yourself&lt;/a&gt;!&lt;/p&gt;
&lt;p&gt;You shouldn’t miss either of the 9 talks Collaborans will be giving during GCDS: Sumana (our project manager) prepared an &lt;a href=&quot;http://www.ocf.berkeley.edu/~sumanah/cgi-bin/nb/nb.cgi/view/weblog/2009/06/30/0&quot;&gt;extensive list&lt;/a&gt;.&lt;/p&gt;</description>
	<pubDate>Sun, 05 Jul 2009 00:31:03 +0000</pubDate>
</item>
<item>
	<title>Pierre-Luc Beaudoin (pierlux): I voted, did you?</title>
	<guid>http://blog.pierlux.com/?p=1145</guid>
	<link>http://blog.pierlux.com/2009/06/20/i-voted-did-you/en/</link>
	<description>&lt;img src="img/heads/pierlux.png" align="right" alt=""&gt;&lt;p&gt;Friendly reminder: the days left to vote to select &lt;a href=&quot;http://live.gnome.org/FoundationBoard/Elections2009&quot;&gt;foundation board members&lt;/a&gt; are running down!&lt;/p&gt;
&lt;p&gt;Make it happen here: &lt;a href=&quot;http://foundation.gnome.org/vote/vote.php?id=13&quot;&gt;http://foundation.gnome.org/vote/vote.php?id=13&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://www.flickr.com/photos/caribb/434065911/&quot;&gt;&lt;img src=&quot;http://farm1.static.flickr.com/177/434065911_97bdef3b8d.jpg?v=0&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;Photo (cc) by &lt;a href=&quot;http://www.flickr.com/photos/caribb/&quot;&gt;caribb&lt;/a&gt;: a typical sight during elections in Montréal, Québec.&lt;/p&gt;
&lt;p&gt;It is my first participation in a such an online election, non national election.  Of course I am exited to be part of it.  Unfortunately, electronic voting makes a quite boring “Election’s night”.   I am used to the 3 or 4 hours of febrile waiting before the people’s choices are announced.  Where are the exit polls? &lt;img src=&quot;http://blog.pierlux.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:-)&quot; class=&quot;wp-smiley&quot; /&gt;&lt;/p&gt;</description>
	<pubDate>Sat, 20 Jun 2009 15:07:04 +0000</pubDate>
</item>
<item>
	<title>Guido Vicino (guido): L’ospite molesto</title>
	<guid>http://guidovicino.com/blog/?p=579</guid>
	<link>http://guidovicino.com/blog/2009/06/20/lospite-molesto/</link>
	<description>&lt;img src="img/heads/guido.png" align="right" alt=""&gt;&lt;div align=&quot;center&quot;&gt;
&lt;img src=&quot;http://guidovicino.com/pics/ospitemolesto_front.jpg&quot; title=&quot;Lospite molesto - Copertina&quot; height=&quot;545&quot; width=&quot;360&quot; alt=&quot;&quot; class=&quot;aligncenter&quot; /&gt;&lt;p&gt;&lt;/p&gt;
&lt;blockquote&gt;&lt;p&gt;”Non ti aspettavo”! E chi se lo aspetterebbe? Le fulgide e meritate proiezioni verso un futuro coltivato e sperato accompagnano giustamente le ore giovanili di ogni essere dotato di progettualità e passione: eppure Alda porta con sé, da epoche in cui non sospetta lontanamente la visita di quel futuro “Ospite molesto”, già l’avvisaglia di una Natura matrigna. Un preannuncio che la renderà forte inconsciamente “pronta” in vista dell’arrivo di un “mostro strisciante” il cui nome dovrà imparare a pronunciare e ad accettare: “Sclerosi Multipla”.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://rivistanugae.blogspot.com/&quot;&gt;Michele Nigro&lt;/a&gt;
&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;Riguardo al libro &lt;a href=&quot;http://sites.google.com/site/parolandolavita/&quot;&gt;“L’ospite molesto”&lt;/a&gt; di &lt;strong&gt;Alda Visconti Tosco&lt;/strong&gt; pubblicato da &lt;a href=&quot;http://www.ennepilibri.it&quot;&gt;ENNEPILIBRI&lt;/a&gt;.
&lt;/p&gt;&lt;/div&gt;</description>
	<pubDate>Sat, 20 Jun 2009 14:28:14 +0000</pubDate>
</item>
<item>
	<title>Marco Barisione (bari): Parsing names</title>
	<guid>http://blog.barisione.org/?p=149</guid>
	<link>http://blog.barisione.org/2009-06/parsing-names/</link>
	<description>&lt;img src="img/heads/bari.png" align="right" alt=""&gt;&lt;p&gt;In the last weeks I have been asked several times to modify some components I’m working on to add the ability to split a full name in its components (first name, family name, etc.).&lt;br /&gt;
It looks like most people have great expectations about this working correctly but they get annoyed when it fails, and you can be sure it will fail. It will fail because it’s impossible to parse a name correctly, for instance:&lt;/p&gt;
&lt;table rules=&quot;none&quot; cellpadding=&quot;4&quot; align=&quot;center&quot; border=&quot;1&quot; style=&quot;margin-bottom: 2em;&quot;&gt;
&lt;tbody&gt;&lt;tr&gt;
&lt;th&gt;Full name&lt;/th&gt;
&lt;th&gt;First&lt;/th&gt;
&lt;th&gt;Middle&lt;/th&gt;
&lt;th&gt;Last&lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Barack Hussein Obama&lt;/td&gt;
&lt;td&gt;Barack&lt;/td&gt;
&lt;td&gt;Hussein&lt;/td&gt;
&lt;td&gt;Obama&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Pier Silvio Berlusconi&lt;/td&gt;
&lt;td&gt;Pier Silvio&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;Berlusconi&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;José Rodríguez Zapatero&lt;/td&gt;
&lt;td&gt;José&lt;/td&gt;
&lt;td&gt;&lt;/td&gt;
&lt;td&gt;Rodríguez Zapatero&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;How can you do this automatically?&lt;/p&gt;
&lt;p&gt;This becomes particularly silly if you cannot be sure that the string you are going to parse is actually a full name, for instance don’t try to parse a chat nickname. It’s true that gmail/gtalk uses your full name by default, but this is only a default and it’s true only for gmail.&lt;/p&gt;
&lt;p&gt;To cut a long story short, please please please don’t try to parse names. You can see by yourself how hard it is, even if I’m just considering western-style names.&lt;br /&gt;
If you still don’t trust me here’s a quote from &lt;code&gt;e-name-western.c&lt;/code&gt;, i.e. the file that does name parsing in libebook &lt;img src=&quot;http://farm1.static.flickr.com/189/458651157_780851832e_o.png&quot; alt=&quot;:)&quot; /&gt;:&lt;/p&gt;
&lt;pre&gt;* &amp;lt;Nat&amp;gt; Jamie, do you know anything about name parsing?
* &amp;lt;jwz&amp;gt; Are you going down that rat hole? Bring a flashlight.
&lt;/pre&gt;
&lt;p&gt;On a side note when you are trying to understand why some code is broken you can find some funny commits, like the &lt;a href=&quot;http://git.gnome.org/cgit/evolution-data-server/commit/?id=d17494da8ebaba8673a581f256efc8a1d41e1e40&quot;&gt;great EDS purge&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update: &lt;/strong&gt; I found &lt;a href=&quot;http://bugzilla.gnome.org/show_bug.cgi?id=586225&quot;&gt;this “serious” bug&lt;/a&gt; in &lt;code&gt;e_name_western_parse&lt;/code&gt; &lt;img src=&quot;http://farm1.static.flickr.com/205/458651139_21126b48de_o.png&quot; alt=&quot;:D&quot; /&gt;.&lt;/p&gt;</description>
	<pubDate>Thu, 18 Jun 2009 09:22:23 +0000</pubDate>
</item>
<item>
	<title>Pierre-Luc Beaudoin (pierlux): Geolocation in Empathy: now real</title>
	<guid>http://blog.pierlux.com/?p=1134</guid>
	<link>http://blog.pierlux.com/2009/06/15/geolocation-in-empathy-now-real/en/</link>
	<description>&lt;img src="img/heads/pierlux.png" align="right" alt=""&gt;&lt;p&gt;Last January, I announced &lt;a href=&quot;http://blog.pierlux.com/2009/01/22/empathy-where-are-you/en/&quot;&gt;Geolocation in Empathy&lt;/a&gt;.  All pending branches have now been merged and released in &lt;a href=&quot;http://mail.gnome.org/archives/gnome-announce-list/2009-June/msg00019.html&quot;&gt;Empathy 2.27.3&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It took quite a lot of time to finalize it because we were quite busy and quite frankly while this is sexy, it isn’t a very important feature in Empathy :-).  In the following screenshots, you’ll discover that things have changed a lot since the original announcement.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2009/06/map-view.png&quot;&gt;&lt;img src=&quot;http://blog.pierlux.com/wp-content/uploads/2009/06/map-view.png&quot; title=&quot;map-view&quot; height=&quot;397&quot; width=&quot;500&quot; alt=&quot;&quot; class=&quot;size-full wp-image-1136 aligncenter&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;First of all, the markers now include more information about the contact.  This uses the new markers in libchamplain.  It works nice for now (as I only have 3 or 4 contacts publishing their location), we’ll see with usage if the markers are just too big.&lt;/p&gt;
&lt;p&gt;The map is now interactive: right clicking on a contact will bring up the same context menu you get on the contact list.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2009/06/preferences.png&quot;&gt;&lt;img src=&quot;http://blog.pierlux.com/wp-content/uploads/2009/06/preferences.png&quot; title=&quot;preferences&quot; height=&quot;434&quot; width=&quot;479&quot; alt=&quot;&quot; class=&quot;size-full wp-image-1140 aligncenter&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The Preferences UI was reworked to be simpler.  The previous UI left space for an hypothetical Manual address mode which was dropped.  The rationale is that Empathy shouldn’t have to care about addresses.  If you want to change the address, change it in Geoclue.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2009/06/tooltip.png&quot;&gt;&lt;img src=&quot;http://blog.pierlux.com/wp-content/uploads/2009/06/tooltip.png&quot; title=&quot;tooltip&quot; height=&quot;308&quot; width=&quot;399&quot; alt=&quot;&quot; class=&quot;size-full wp-image-1138 aligncenter&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is new since January: the tool tip now include your contact’s geolocation information.  This is the only part of all the geolocation changes that are present even if you don’t build with Geoclue or libchamplain.  It was impossible to display a map there as ClutterGtk doesn’t seem to like such windows hehe. We already know it is &lt;a href=&quot;http://bugzilla.gnome.org/show_bug.cgi?id=585340&quot;&gt;partly ugly&lt;/a&gt; and contains duplicate information &lt;img src=&quot;http://blog.pierlux.com/wp-includes/images/smilies/icon_smile.gif&quot; alt=&quot;:-)&quot; class=&quot;wp-smiley&quot; /&gt; It will be improved before final release.&lt;/p&gt;
&lt;p style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2009/06/contact-information.png&quot;&gt;&lt;img src=&quot;http://blog.pierlux.com/wp-content/uploads/2009/06/contact-information.png&quot; title=&quot;contact-information&quot; height=&quot;492&quot; width=&quot;403&quot; alt=&quot;&quot; class=&quot;size-full wp-image-1139 aligncenter&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Finally, the contact information dialog now displays a map and the detailed information about the contact’s location.&lt;/p&gt;
&lt;p&gt;Don’t miss the &lt;a href=&quot;http://live.gnome.org/Empathy/FAQ&quot;&gt;FAQ&lt;/a&gt; that I populated with questions I was often asked during development.  Report bugs on the &lt;a href=&quot;http://bugzilla.gnome.org/buglist.cgi?product=empathy&amp;amp;bug_status=NEW&amp;amp;bug_status=REOPENED&amp;amp;bug_status=ASSIGNED&amp;amp;bug_status=UNCONFIRMED&amp;amp;component=Geolocation&quot;&gt;Geolocation&lt;/a&gt; component of Empathy (you can also see that we have work left to do).&lt;/p&gt;
&lt;p&gt;I am not the only one who worked on this exiting feature, here are the details:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Alban Crequy worked on the XMPP support and reviews;&lt;/li&gt;
&lt;li&gt;Dafydd Harries did the early work on the XMPP support;&lt;/li&gt;
&lt;li&gt;Guillaume Desmottes wrote the XMPP PEP code (the same used for OLPC) and reviewed the code;&lt;/li&gt;
&lt;li&gt;Pierre-Luc Beaudoin did the UIs, the libchamplain and geoclue integration and pursued the XMPP support;&lt;/li&gt;
&lt;li&gt;Xavier Claessens reviewed many times.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I can’t wait to see more people using this and show up on my map!&lt;/p&gt;</description>
	<pubDate>Mon, 15 Jun 2009 23:04:20 +0000</pubDate>
</item>
<item>
	<title>Pierre-Luc Beaudoin (pierlux): Introducing geoclue-properties</title>
	<guid>http://blog.pierlux.com/?p=1122</guid>
	<link>http://blog.pierlux.com/2009/06/08/introducing-geoclue-properties/en/</link>
	<description>&lt;img src="img/heads/pierlux.png" align="right" alt=""&gt;&lt;p&gt;While deploying Geoclue with friends, I came to the conclusion that we need a GUI tool for end users to setup Geoclue.  Geoclue-properties was born.  gstreamer-properties was an inspiration (for the name, and part of the visual aspect).&lt;/p&gt;
&lt;p&gt;I started the project only last Monday night, but you can already do this with it:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;See your current address and postion according to Geoclue&lt;/li&gt;
&lt;li&gt;List installed providers and their provided services&lt;/li&gt;
&lt;li&gt;Set an address on the Manual provider&lt;/li&gt;
&lt;li&gt;Set the address for the current network on the Localnet provider&lt;/li&gt;
&lt;li&gt;List previously configured addresses in the Localnet provider&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Just the last items save the user of having to use dbus-send incantations.   For the screenshot lovers, here’s your dose.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2009/06/geoclue-properties-1.png&quot;&gt;&lt;img src=&quot;http://blog.pierlux.com/wp-content/uploads/2009/06/geoclue-properties-1-150x150.png&quot; title=&quot;geoclue-properties-1&quot; height=&quot;150&quot; width=&quot;150&quot; alt=&quot;&quot; class=&quot;alignnone size-thumbnail wp-image-1124&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2009/06/geoclue-properties-2.png&quot;&gt;&lt;img src=&quot;http://blog.pierlux.com/wp-content/uploads/2009/06/geoclue-properties-2-150x150.png&quot; title=&quot;geoclue-properties-2&quot; height=&quot;150&quot; width=&quot;150&quot; alt=&quot;&quot; class=&quot;alignnone size-thumbnail wp-image-1125&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2009/06/geoclue-properties-3.png&quot;&gt;&lt;img src=&quot;http://blog.pierlux.com/wp-content/uploads/2009/06/geoclue-properties-3-150x150.png&quot; title=&quot;geoclue-properties-3&quot; height=&quot;150&quot; width=&quot;150&quot; alt=&quot;&quot; class=&quot;alignnone size-thumbnail wp-image-1126&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2009/06/geoclue-properties-4.png&quot;&gt;&lt;img src=&quot;http://blog.pierlux.com/wp-content/uploads/2009/06/geoclue-properties-4-150x150.png&quot; title=&quot;geoclue-properties-4&quot; height=&quot;150&quot; width=&quot;150&quot; alt=&quot;&quot; class=&quot;alignnone size-thumbnail wp-image-1127&quot; /&gt;&lt;/a&gt; &lt;a href=&quot;http://blog.pierlux.com/wp-content/uploads/2009/06/geoclue-properties-5.png&quot;&gt;&lt;img src=&quot;http://blog.pierlux.com/wp-content/uploads/2009/06/geoclue-properties-5-150x150.png&quot; title=&quot;geoclue-properties-5&quot; height=&quot;150&quot; width=&quot;150&quot; alt=&quot;&quot; class=&quot;alignnone size-thumbnail wp-image-1128&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The project is still quite embryonic.  It is my first attempt at using Python for such a task and I lack knowledge (and quite frankly time) on how to create the project’s infrastructure (almost as if I am missing autotools — scary!).  If someone is willing to contribute that or point me the doc I’d appreciate!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://git.gnome.org/cgit/geoclue-properties/&quot;&gt;Try it!&lt;/a&gt;&lt;/p&gt;</description>
	<pubDate>Tue, 09 Jun 2009 03:26:28 +0000</pubDate>
</item>

</channel>
</rss>
