
GCDS: Discrimination by accent
Apparently, the «Catalina Park» apartments booked by the nice people at the GNOME Foundation, have a namesake near Playa de Inglés.


From top to bottom: where I wanted to go, where I was, where I ended up (locations provided «by ear», do not try to replicate at home). Yippee!
FreeFA
In other news the FreeFA tournament is going to happen next Thursday, from 15:00 to 17:00. I'll put the details onto the Wiki when I can remember my password.

Why I disagree with RMS concerning Mono
The GNOME press contact alias got a mail last weekend from Sam Varghese asking about the possibility of new Mono applications being added to GNOME 3.0, and I answered it. I didn’t think much about it at the time, but I see now that the reason Sam was asking was because of Richard Stallman’s recent warnings about Mono - Sam’s article has since appeared with the ominous looking title “GNOME 3.0 may have more Mono apps“. And indeed it may. It may also have more alien technology, we’re not sure yet. We’re still working on an agreement with the DoD to get access to the alien craft in Fort Knox.
Anyway - that aside, Richard’s position is that it’s dangerous to include Mono to the point where removing it is difficult, should that become necessary to legally distribute your software. On the surface, I agree. But he goes a little further, saying that since it is dangerous to depend on Mono, we should actively discourage its use. And on this point, we disagree.
I’m not arguing that we should encourage its use either, but I fundamentally disagree with discouraging someone from pursuing a technology choice because of the threat of patents. In this particular case, the law is an ass. The patent system in the United States is out of control and dysfunctional, and it is bringing the rest of the world down with it. The time has come to take a stand and say “We don’t care about patents. We’re just not going to think about them. Sue us if you want.”
The healthy thing to do now would be to provoke a test case of the US patent system. Take advantage of one of the many cease & desist letters that get sent out for vacuous patented technology to make a case against the US PTO’s policy pertaining to software and business process patents. Run an “implement your favourite stupid patent as free software” competition.
In all of the projects that I have been involved in over the years, patent fears have had a negative affect on developer productivity and morale. In the GIMP, we struggled with patent issues related to compression algorithms for GIF and TIFF, colour management, and for some plug-ins. In GNOME, it’s been Mono mostly, but also MP3, and related (and unrelated) issues have handicapped basic functionality like playing DVDs for years. In Openwengo, the area of audio and video codecs is mined with patent restrictions, including the popular codecs G729 and H264 among others.
What could we have achieved if standards bodies had a patent pledge as part of their standardisation process, and released reference implementations under an artistic licence? How much further along would we be if cryptography, filesystems, codecs and data compression weren’t so heavily handicapped by patents? Or if we’d just ignored the patents and created clean-room implementations of these patented technologies?
That’s what I believe we need to do. Ignore the patent system completely. I believe strongly in respecting licencing requirements related to third party products and developer packs. I think it’s reasonable to respect people’s trademarks and trade secrets. But having respect for patents, and the patent system, is ridiculous. Let a thousand flowers bloom, and let the chips fall where they may.
So if you want to write a killer app in Mono, then don’t let anyone tell you otherwise. If you build it, they will come.

Newsflash: Ice Cream Deathmatch!
Woo, Jan Schmidt just created a wiki page so people can register to the most important part of GUADEC: the Ice Cream Deathmatch (renamed to Ice Cream Eating Competition
, probably because Jan doesn't feel he can win ;-)). So go ahead and register! If you want to help organize this, send us a small note — we don't know yet the date or format of this competition.
Last year, the deathmatch was crazy, with Henri being stunningly fast. And fast
is actually not giving him enough credit...
Vincent wandering in Berlin (LinuxTag 2009)
Last week was LinuxTag, in Berlin, and I went there to help with the openSUSE booth. We had a really nice booth, where people could play with laptops, try the build service or SUSE Studio. Oh, and we enjoyed writing words with magnetic letters on a board :-)
Attendees were mostly german people, of course. So it was quite funny to start talking with people in English, and have them reply in German ;-) But after some time, I got used to German again, so I could talk a bit, or at least understand what people were saying. Yes, you might not know about it, but I'm supposed to have a good level of German. Let me stress the supposed
...
Image from Adrian Schröter
This was a great opportunity to meet various people from the community. I discovered how active the people from the openSUSE Education are — quite impressive! As usual, it was good to also be able to put faces on names, and catch up with friends, or discuss various topics (login-time performance, UI design, openSUSE Conference, etc.). I definitely came back with some food for thoughts.
Sven made sure the GNOME booth was working well The stickers that GNOME-FR had printed for Solutions Linux were quite nice to have, at least I would think so ;-) At some point, Sven and I created a new lovely background for the GNOME desktop, based on Big Buck Bunny; I'm pretty sure it would make a great default background! Ah, if only I had kept a copy of it...
Among the tidbits worth mentioning, I demoed GNOME Shell to various people — mostly people from the KDE community ;-) —, and although the version I had was quite old (it was git master as of May 1st), people seemed to like it. That makes me even more confident there will be quite some positive action around GNOME Shell during the GUADEC/Desktop Summit.
Image from Adrian Schröter
All in all, this event was obviously quite some hard work for me :-)
I came back from Berlin on Sunday evening, and I'm leaving for Gran Canaria tomorrow. No need to mention that the three days between those dates were incredibly busy, if only for the part where I naively try to catch up with all mails ;-) Still, I find time to be quite excited about the Desktop Summit: it will probably be a busy week, but it'll be amazing for sure! It was also a good surprise to see people thanking the Foundation for sponsoring them to go! The travel committee did a really great job there!
See you all in Gran Canaria!

Secure Simple Pairing support, now in Fedora 11
The update currently lives in the updates-testing repository, but will be in the normal updates when we've had enough good feedback about it.
If you have Bluetooth devices in your possession that don't work as expected with your systems, and fancied a bit of playful testing, find me at GCDS, and we'll try and fix that.

VCAT ingénieur informaticien à la Réunion [v008]

I'm currently in UK for the week-end and this morning my French mobile phone operator (SFR) sent me a wonderful SMS: WAP sessions within European Union are charged 1.20 euros for the first 50kB and then 5 euros per MB. I was so happy to learn that the prices are still crazy...
Then a friend pointed me to this Europe press release. It tells that starting on July 1st, the maximum price in Europe will be €1/MB, then it will decrease to €0.80 in 2010 and to €0.50 in 2011. SFR had not the nice idea to inform me about this price drop (5 times cheaper) which will happen in 34 hours...
This decision also tells that sending SMS in Europe will not be charged more than 0.11€ (before VAT). That explains why SFR was so proud to annouce me one month ago that starting on July 1st they will decrease the price of SMS in Europe from 0.30€ to 0.13 (VAT included).
I hope the 4th mobile license will be given soon and real competition will enter French mobile market, so that we don't need European laws to have reasonable prices (mobile prices in UK are so low compared to France...).
Les plans les mieux conçus des souris et des hommes souvent ne se réalisent pas
J'y étais presque, j'allais enfin partir en vacances depuis 3 ans. J'avais tout: des tas de fringues, une nouvelle paire de lunettes de soleil, retiré plein de liquide. J'avais tout prévu. Plus qu'un vendredi à travailler et j'étais bon.
Ce matin, je me gare devant mon travail, je reviens avec mon portable d'astreinte, mais j'oublie de prendre mon ibook et même mon portefeuilles rangé avec. Quand je suis revenu vers 12H00, plus rien. Vitre cassée. Plus de portable, plus d'argent, plus d'identité. C'est arrivé près de chez vous.
Après-midi au commissariat, banque, assurance, carrossier, etc.
Donc voilà, je repars de zéro, même au niveau de mon compte ça va se sentir. Demain je taille la route vers Madrid et avec un peu de chance, je me ferais arrêter sans papier aucun.
Bonnes vacances à tous !

Il y a une dizaine de jours, j'allais être en avance à un rendez-vous, une vieille habitude dont je tends à me défaire, je décide donc d'un rapide tour dans ma librairie habituelle. Vite fait bien fait, me voilà à la caisse, bonjour, voici voilà, ça fera 36 euros, oh vous pourriez ajouter celui-ci, bien sûr c'est donc 38 euros, et hop, payés, merci, au revoir. Les petits livres pas chers étalés à côté de la caisse, c'est bien trop tentant. Cette fois je craque donc pour « Petit éloge de l'excès » de Caryl Férey, une dizaine de courts textes.
J'aurais du avoir la puce à l'oreille il y a quelques mois, en lisant l'épisode du Poulpe du même auteur (D'amour et dope fraîche), ce n'est pas tous les livres qui citent Vaneigem...
Pour revenir au petit éloge de l'excès, il commence fort, clair et net, et continue de bien bonne manière, jusqu'à un "comment j'ai rencontré Raoul Vaneigem" (dont le titre exact ne me revient pas, et n'étant pas chez moi je n'ai pas le bouquin sous la main pour vérifier) que je trouve, forcément, tout bonnement excellent.
Mais là je me dis que le point fort a été atteint, et c'est donc une magistrale surprise qui arrive deux ou trois textes plus loin, où c'est Jacques Brel qui parle, en fait la retranscription d'une émission (radio ou télé, je dirais radio), pas si curieuse coïncidence la même émission que celle figurant dans le dernier spectacle de (l'indispensable) Tristan-Edern Vaquette, grande interview du grand Jacques, avec entre autres ce moment : « La difficulté pour aller de Vilvorde à Hong Kong, c'est pas d'aller de Bruxelles à Hong Kong, c'est d'aller de Vilvorde à Bruxelles. »

8 years after I filed bug 1349 in AbiWord, I implemented it. Definitely something that should have been done sooner.
It is about JPEG support. AbiWord has been able to import JPEG images for a good while, but it always converted the JPEG to PNG for internal storage. This is IMHO wrong, but at the time it was debated that it was the right tradeoff to allow using AbiWord on embedded platforms (I'm too lazy to dig up the archive). Anyway.
Tuesday I sat down and implemented the JPEG support, removing cruft, and cleaning up the rest. Basically when import and bitmap image, if the format is JPEG, the JPEG stream is kept as is, otherwise we convert to PNG, as usual. It hit SVN last night. The bonus is that a file with a JPEG in it will open properly in AbiWord 2.6 (and likely older), so even the issue I had with compatibility isn't.
This is probably the last real feature implemented for 2.8, and it will be in 2.7.6. Back to bug fixing.
Ayant la chance d'être chez cretin.fr (c'est-celui-qui-dit-qui-l'est), je connais le triple-pay, la triple-peine mais pas le triple-play. Chez Free, si t'as besoin de rien, t'es servi...
- J'habite dans une commune de 3.000 habitants qui jouxte une agglomération de 100.000 habitants. Grâce au formidable FAI qui ne m'a pas dégroupé premier semestre 2008 (comme il l'annonce toujours), je bénéficie d'une Freebox V4 qui me fournit 1Mbps et le téléphone un jour sur deux (le reste de mon temps étant consacré à redémarrer cette boîte).
- J'ai tenté ma chance avec le support pour avoir une Freebox HD pour avoir le wifi - comme tout le monde -, c'est niet.
- Et maintenant je découvre que ne disposant pas d'une Freebox HD, je ne peux pas utiliser FreeWifi puisqu'il faut avoir une boîte HD pour s'inscrire. (Idem chez Neuf d'ailleurs).
Bref, là où Free vend de la HD, de la téléphonie, du 25Mbps, du FreeWifi, de l'IPv6, du "il a tout, il a Free, il a tout compris", j'ai bien compris que je me fais triplement couilloné.
Long time no blog…
I’ve been busy lately working on adding a UI extension to Libgda: merging the good parts of Libgnomedb and Mergeant (which have not been kept up to date) into Libgda. This new UI “extension” will remain optional (built only if GTK+ is found) and includes:
- some data bound widgets (grid anf form views)
- some “administrative” widgets such as a login widget to enter credentials when opening a connection
- a reworked control center where one can manage named data sources (DSN) and check the list of installed database providers (drivers)
- a re-write of the browser tool usefull to analyse the structure of a database and run some statements; this a a kind of merge with the one which existed in Libgnomedb and Mergeant but with a much improved user interface.
This is now all in the master branch in git.gnome.org, works (except for some DnD) on Windows and MacOSX. Here are some screenshots of the new browser, taken using a PostgreSQL database. One can open several connections at the same time in the browser, and for each connection, several windows can be opened. Each window displays a “perspective” (similar to Eclipse’s perspectives), and currently the schema browser perspective is implemented, which is shown below, more will come later (statements execution, reports, etc).

The shot above shows the index page where all the database objects are displayed (tables only for the moment), and the favorites bar on the left where one can drag n drop tables (or later other objects types) for quick access (the trashcan at the bottom is to remove favorites by dragging them on it). Clicking on a table opens a new tab as shown:

The shot above shows the details of table “products” with the traditional fields list and the constraints below (here clicking on the “warehouses” link opens yet another tab for the warehouses table). You can note in the bottom that when showing a table, it is also possible to display the table’s relations, ie. which table are referenced by the current table and which tables reference the current table, as show:

The shot above cleary shows that the “customers” table references the “locations” and “salesrep” tables and is itself referenced by the “orders” table. The canvas is drawn using GooCanvas and can be exported to PNG and SVG or printed.
That’s all for now, more later…

Friendly reminder: the days left to vote to select foundation board members are running down!
Make it happen here: http://foundation.gnome.org/vote/vote.php?id=13
Photo (cc) by caribb: a typical sight during elections in Montréal, Québec.
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? ![]()

Maemo Summit - help make it great
This year, I’ve been asked to help with the content selection for the Maemo Summit, which will be held in October, in Amsterdam. We’re aiming for a very cool conference with lots of tips, tricks, hacks and general hardware coolness over 3 days.
Nokia is organising the first day, and the second and third days are entirely organised by the community. After a round of discussion, myself, Valerio Valerio and Jamie Bennett will be choosing content for the summit from among presentations proposed by the community. We’re aiming for presentations which will target three main audiences: tablet users, application developers and platform developers.
You can read more about the call for content or how to submit a presentation on the Maemo wiki. We’ve agreed on a fairly novel way of filling the schedule - we are starting from an empty grid, with three tracks, a couple of plenary sessions, and some lightning talks. As great talks come in, we will add them directly to the grid. If we don’t think that talks are up to scratch, they will be rejected, the submission will move to the Talk page for the Submissions wiki page, and if we are hesitant, the proposals will stay in the Submissions queue.
This has some great benefits over the usual call for papers/deadline/selection/publish the entire schedule scheme of things. Most proposers will know straight away whether their talk has been accepted, rejected, or converted into a lightning talk. Attendees will see the schedule building up and be able to propose sessions to account for topics that are not yet accounted for. And we will be able to keep some small number of slots until quite late in the organisation cycle for “late breaking news” - those great presentations that arrive too late for your deadline, but which you would really love to see get onto the schedule. And it is a kind of auction system - you have a great interest in getting your presentation proposal in early, rather than waiting for the last minute.
Anyway - let’s see how it works. You can follow the progress of the schedule on the wiki as well.
Good luck to all!

I finally got a livejournal account in January to be able to comment, and now I get this email...
Hi pterjan,
pterjan's birthday is coming up on June 21!
You can:
* Post to wish them a happy birthday * Send them a virtual gift * Gift them with a paid account
So nice of them... They don't wish me a happy birthday but ask me to do it myself...

I just uploaded Gnote 0.5.0.
Get it from GNOME FTP
Read up the announcement on the new mailing list for a detailled changelog.
Beside the bug fixes, the new feature is auto import of Tomboy (and eventually Sticky Notes) notes at first run. Also I reduced a bit the dependencies: no more libxml++, no more boost.regex, but pcre instead.

Geolocation in Empathy: now real
Last January, I announced Geolocation in Empathy. All pending branches have now been merged and released in Empathy 2.27.3.
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.
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.
The map is now interactive: right clicking on a contact will bring up the same context menu you get on the contact list.
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.
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 partly ugly and contains duplicate information
It will be improved before final release.
Finally, the contact information dialog now displays a map and the detailed information about the contact’s location.
Don’t miss the FAQ that I populated with questions I was often asked during development. Report bugs on the Geolocation component of Empathy (you can also see that we have work left to do).
I am not the only one who worked on this exiting feature, here are the details:
- Alban Crequy worked on the XMPP support and reviews;
- Dafydd Harries did the early work on the XMPP support;
- Guillaume Desmottes wrote the XMPP PEP code (the same used for OLPC) and reviewed the code;
- Pierre-Luc Beaudoin did the UIs, the libchamplain and geoclue integration and pursued the XMPP support;
- Xavier Claessens reviewed many times.
I can’t wait to see more people using this and show up on my map!

Finally, 4 years and 5 months after my first contibution to GNOME (the JoinGnome page of the wiki), I did my first commit in the GNOME repositories. It's been quite a nice trip since these old days. I finally applied to an account, so you won't hear me again telling you "no, I can't commit my patch, I don't have commit rights". I hope I won't f*ck things up, especially with my little git knowledge. Now let me grow these stats !

Workshop on the Analysis of System Logs
Just a reminder, we are approaching the June 29th deadline for WASL, http://www.systemloganalysis.com/

Elisa Media Center RTBF plugin 0.6 released
I just released the 0.6 version of my Elisa/Moovida RTBF plugin. The goal of this release is to integrate better with Moovida's user interface.
- Fix "Use this plugin" hook with Moovida. - Use new, Moovida style, square icon. - Move radios menu to "Internet -> Radio"
It should hopefully be available through Moovida's plugin section next week.


Après quelques dizaines de jours bien remplis niveau GNOME, la semaine dernière a renversé la balance avec d'une part le « vrai » boulot (avec visite de potentiels nouveaux bureaux, (qui seront quand même loins de ceux d'Igalia mais surtout la soirée de l'année, la Panik Party, promotion le jeudi midi sur Radio Campus (merci Debs), transport de matériel le vendredi, montages de mille trucs le samedi, avnat le coup d'envoi à 19h.
Il faisait beau, les gens arrivaient peu à peu, après quelque temps passé sur le stream de la soirée je mangeais un morceau, puis je remplaçais Seb au son de la petite scène installée dans le café, et je croisais des gens, et je voyais le monde remplir l'esplanade devant Recyclart. Du monde et des discussions sur mille sujets à recroiser des gens, échanger quelques mots à propos d'Ardour avec Stéphanie, de la Cyclonudista avec Jérôme, de sa prochaine performance avec Marjolaine, c'était un mix hallucinant de personnes.
Et puis à une heure trente fermer la petite scène, ranger le tout, prendre un peu d'air, d'abord du dehors (waaa, tant de monde!) puis de la grande salle (waaa, tant de monde! (bis)), continuer à croiser des gens jusque très tard, encore ranger, démontage du sommaire cablâge réseau à sept heures, rentrer, dormir. Pour être debout à 18h pour la discussion débat Minitel 2.0 au Nova.

This year, 2 students will be hacking on Rhythmbox. Paul Bellamy (who I am be mentoring) started hacking on synchronization between Rhythmbox and media players.
And John Iacona (mentored by Jonathan Matthew) will spend the whole summer working on a contextual information pane for Rhythmbox. This information pane will display various information about the song being played (artist bio, similar artists, ...)

You can find the slides for the lecture Philippe and I gave at Eicar for download.
Enjoy! (feedback greatly appreciated)

My goal was to do something similar with udev, ie get udev to run a binary when an iPod is inserted and then associate some information with the iPod device in udev database so that other applications can access it.
Running a binary when the iPod is inserted wasn't too hard, it's done with a udev rule file (the format is documented in udev manpage, don't forget to read it if you have to write such a file! ) which goes to /lib/udev/rules.d. My first version was simple enough:
After double checking everything and fiddling a bit to try to figure out what was wrong, I read again Kay's email, and I saw there was another difference between his code and mine: he is using an IMPORT rule to run his binary while I was still using a RUN rule.
However, the $tempnode variable can be used as an argument to the binary that is being run to give it access to a temporary device node which can be interacted with. And indeed, after adding this argument to my udev rule, I could do everything that I wanted to :)
David Zeuthen was (as always) really helpful by pointing me at the udev/devicekit equivalent for info.desktop.icon and info.desktop.name: DKD_PRESENTATION_NAME and DKD_PRESENTATION_ICON_NAME. I also cooked up some variable names in a LIBGPOD namespace to have an udev equivalent to the stuff provided by podsleuth, let me know if it could be useful in your projects, it can be changed to fit your needs :)
# udevadm info --query=env --name=sdb2
DKD_PRESENTATION_ICON_NAME=multimedia-player-apple-ipod-color
LIBGPOD_VERSION=1
LIBGPOD_IS_UNKNOWN=0
LIBGPOD_FIREWIRE_ID=000A270002BAD546
LIBGPOD_SERIAL_NUMBER=JQ446FN4R5Q
LIBGPOD_FIRMWARE_VERSION=1.2.1
LIBGPOD_IMAGES_ALBUM_ART_SUPPORTED=1
LIBGPOD_IMAGES_PHOTOS_SUPPORTED=1
LIBGPOD_IMAGES_CHAPTER_IMAGES_SUPPORTED=1
LIBGPOD_DEVICE_CLASS=color
LIBGPOD_MODEL_GENERATION=4.000000
LIBGPOD_MODEL_SHELL_COLOR=white
LIBGPOD_PRODUCTION_FACTORY_ID=JQ
LIBGPOD_PRODUCTION_YEAR=2004
LIBGPOD_PRODUCTION_WEEK=46
LIBGPOD_PRODUCTION_INDEX=20272
LIBGPOD_MODEL_CONTROL_PATH=/iPod_Control
Et voilà! The code is available from the devicekit branch of my libgpod git repo
and will be committed to libgpod svn soon.

Quels sont les avantages et inconvénients de Linux par rapport à Windows ?
C'est une question qu'on me pose souvent... Je mets ma réponse type ici pour la retrouver plus facilement. Si vous avez d'autres idées, mettez les en commentaires, je mettrai à jour le post...
Avantages de Windows :
- Équipe 90% du parc informatique grand public, donc plus simple de trouver un pote « qui s'y connait » pour filer un coup de main.
- C'est l'environnement des joueurs qui veulent jouer au dernier jeu 3D qui vient de sortir.
- On peut trouver des logiciels pour Windows facilement dans les magasins.
Inconvénients de Windows :
- Garder un système sain, exempt de virus, spywares et autres, demande beaucoup (trop) de connaissances.
- C'est très cher pour ce que c'est : Microsoft fait la majorité de ses bénéfices sur Windows et Office, et vu que les gens pensent qu'ils n'ont pas le choix, ils continuent soit de les acheter, soit de les « pirater ». Mais même un logiciel piraté occupe le terrain et empêche ainsi la concurrence de s'installer, cela ne résoud donc pas le problème.
- Microsoft utilise une technique illégale (la vente liée) pour contraindre l'utilisateur à acheter une licence d'utilisation de Windows à l'achat d'un ordinateur, même si l'acheteur possède déjà un système d'exploitation. Les utilisateurs qui se retrouvent à devoir payer cette « taxe Microsoft » ne sont pas que des utilisateurs de systèmes alternatifs comme GNU/Linux. Il y a aussi ceux qui ont déjà acheté une autre version de Windows en version boîte (par exemple une version Pro à la place de la version Familiale livrée d'origine), ou les étudiants qui bénéficient par leur école d'un partenariat pour avoir une licence Windows gratuite ou à prix réduit.
- Windows facilite l'utilisation de DRM qui décident de ce que l'on a le droit de faire avec de la musique, même légalement achetée. De nombreux services de vente de musique avec DRM ont fermé, laissant les utilisateurs se démerder avec leur musique (virgin, leclerc, wall mart, etc.)
- Le « Windows rot », littéralement la « Pourriture Windows », phénomène qui fait qu'après avoir installé et désinstallé plein d'applications à la noix, on se retrouve avec un système instable, lent au démarrage, et à l'utilisation, et qui fait croire à l'utilisateur Windows qu'il est normal de devoir reformater sa machine tous les 6 mois.
Avantages de GNU/Linux :
- On peut bien souvent installer un système Linux sans payer un centime, ou acheter du support technique avec certaines distributions Linux. Bref on a le choix entre investissement en temps ou en argent.
- Insensibilité aux virus, spywares et menaces diverses qui ciblent quasiment toutes Windows uniquement.
- Choix très étendu : il existe plein de distributions Linux, on peut donc en trouver une qui couvre ses besoins.
- Plus de piratage de logiciels : la plupart sont gratuits, et utilisables en toute légalité.
- Les mises à jour sont centralisées : le système d'exploitation et les applications se mettent à jour ensemble.
- Moins exigeant en ressources matérielles.
- Pour installer une application, le plus dur c'est de se souvenir de son nom, pas besoin de fouiner sur le site de l'éditeur.
- Les applications sont traduites dans de nombreuses langues, les messages non traduits présentés à l'utilisateur sont rares.
Inconvénients de GNU/Linux :
- Difficile d'acheter des logiciels en magasin (très dur d'en trouver pour Linux), et les logiciels pour Windows ne fonctionnent sous Linux qu'au cas par cas (en utilisant Wine).
- Certains périphériques n'ont pas de pilote pour Linux, ou sont mal gérés. Cela arrive quand les constructeurs ne fournissent pas de pilotes Linux, ou ne fournissent pas les spécifications du matériel pour que la communauté Linux le fasse. Il faut donc faire un peu plus attention à l'achat, et vérifier la compatibilité avant l'achat.
- Il peut être difficile d'installer une version récente d'une application si le distributeur de la distribution GNU/Linux ne l'a pas mise à disposition.

Nice fonts with Emacs 23 (GTK+)
Emacs 23 is a real improvement from the previous release (GTK+, xft, faster with DVCS, etc) and with a bit of tuning (it’s still Emacs :), it’s again better:
- the rendering of anti-aliased fonts is strange in Emacs 23 but the Terminus font is really great IMHO:
(setq default-frame-alist '((font . "terminus"))) - the post Recipe: Bearable Emacs is a must-read and provides the wonderful Wombat theme.
- the on-the-fly syntax checker, flymake, is also really pleasant to use when you code in Python. I’ve copied the configuration from the Emacs Wiki and added this line to limit the use at Python
'(flymake-allowed-file-name-masks (quote nil))

Telepathy Jaunty PPA open for business
As Jaunty is now almost released, I synced the Jaunty Telepahy PPA with Debian packages. Main user visible changes include:
- File transfer support in Gabble
- Better Theora support in video calls
- Support of Google relays improving connectivity when trying to establish audio/video calls using a gtalk account.
As usual, we'll try to keep the PPA as sync as possible with latest released versions. So if you are interested in bleeding edge Telepathy components just add this repo:
deb http://ppa.launchpad.net/telepathy/ppa/ubuntu jaunty main


GNOME release team is happy to announce

planning for GNOME 3.0
Enjoy (other members of Release Team did blog about it too : Vincent, Lucas, Andre).
Now, back to work, folks !

La baisse de TVA dans l'Horeca n'est pas une mesure sociale mais un leurre du secteur
Comment le secteur de l'Horeca nous a menti ?
En allumant mon poste de télévision pour écouter la rediffusion du journal télévisé, j'ai pu découvrir en 1er titre cette directive européenne permettant à partir de 2010 de diminuer la TVA dans l'Horeca et dans la construction.
Cette mesure était réclamée à grands coups de cris par les responsables des restaurants et autres tavernes.
Rappelons que la TVA est bien une taxe pour le consommateur final (les particuliers et les entreprises non assujetties grosso modo) qui est perçue par les "acteurs économiques" et reversée par ceux-ci à l'État. Il n'y a donc aucune charge directe pour les acteurs économiques (les restaurants en résumé). Ils n'agissent qu'en temps que collecteurs de taxes.
Donc, pourquoi réclamaient-ils ? Baisse d'affluence, crise économique (que doivent-ils dire aujourd'hui alors ?), ... étaient les causes principales selon eux. Une baisse de TVA permettrait donc de diminuer les prix donc ... moins de taxes, donc moins cher vu que leur chiffre d'affaire reste identique. En terme chiffré cela donne qu'un plat à 12,10 EUR hier devrait coûter 10,60 EUR après diminution. Aucune perte pour le restaurateur, moins cher pour le client et moins d'argent pour les rentrées fiscales.
Personnellement, je doutais vraiment de cette argumentation mais bon ... puisque le secteur de la restauration le disait.
L'avenir m'a donné raison ;-)
Première interview d'un restaurateur après cette annonce :
"Oui, grâce à la baisse de TVA, le travail en noir va baisser."
Je me dis qu'il y a un soucis de logique ne voyant pas le rapport entre le client qui paye moins et le travail en noir mais je m'attendais à la suite.
"Le secteur pourra être mieux rémunéré."
Ohhh, le loup sort de sa tannière, les prix vont augmenter et la TVA va compenser l'augmentation. Donc, le chiffre d'affaire augmente et donc, les restaurateurs augmentent l'argent dans leur poche au détriment des clients qui payent. C'est un revirement de situation amusant mais prévisible.
Donc en reprenant notre plat à 12,10 EUR (10,00 EUR HTVA + 2,10 EUR de TVA) deviendrait par exemple 11,66 EUR (11,00 EUR HTVA + 0,60 TVA).
Quand le journaliste posa la dernière question ... "La baisse de TVA va-t-elle profiter au client ?" Le restaurateur un peu embêté et gêné répondit "Euh, un peu mais cela va avant tout aider le secteur". Et crac dedans, il n'y a plus qu'à le pendre.
Donc en définitive, plutôt que de donner de l'argent à l'État, vous allez le donner directement au restaurateur ... çà c'est de la mesure sociale (ironie inside). Déjà que le secteur de l'Horeca est celui avec le plus de travailleur en noir avec la construction et qu'ils ont une facheuse tendance à oublier de déclarer certains revenus dans leurs déclaration fiscale et de TVA (oui, l'argent que VOUS avez donné pour reverser à l'Etat, ils le mettent dans leur poche).
Je ne peux être que dubitatif sur ce mensonge honteux du secteur de l'Horeca ayant porté visiblement ses fruits ... il reste le dindon le client qui ne va presqu pas ou pas du tout voir le résultat de cette mesure sur son addition.
Conclusions : moins d'argent dans les caisses de l'État pour pour payer la Sécurité sociale, l'enseignement, .... plus dans les poches des indépendants.
Démocratie sociale ou démocratie libérale ?
PS : j'ai quelques connaissances dans le secteur, je les respecte et je ne souhaite pas extrapoler inutilement à tout restaurateur. Je n'ai pas dit non plus que les restaurateurs gagnaient bien leur vie mais la question était bien une diminution de taxe payée par les clients qui va presque rien changer à ce qu'ils déboursent pour se sustenter. L'avenir nous répondra sur la question mais je doute énormément.

Reçu par le biais de la mailing-list du GUL-Héros, le GUL local sur Montpellier :
Salut ;
nous venons de définir nos sujets de stages et les avons mis en ligne sur :
http://www.cr2i-reseaux.univ-montp2.fr/index.php?param=stages/2009/index.html
Merci de diffuser ce message autour de vous !
A +
==================================================================
Marc FANGEAUD
Equipe Réseau du CR2I
CR2I – Case Courrier 427
Universite Montpellier II
Place Eugene Bataillon
34095 MONTPELLIER CEDEX 5
Tel : 04.67.14.31.31
Fax : 04.67.14.31.30
E-Mail : reseaux@univ-montp2.fr
web : http://www.cr2i-reseaux.univ-montp2.fr
web : https://www.cr2itools.univ-montp2.fr ==================================================================

Discover new features by translating
Last week, Fred (the Release Team member of course) has invited me to a famous radio show[1], “Good Morning, Stallman”. During the show, I said the translating is good way to discover new features before the releases, sometimes it’s also the only way!
For example, I’ve discovered a powerful feature of Tasks by translating some regular expressions, you can enter a task as:
![]()
then the date will be extracted from the message:

You can use days, weeks, months and various prepositions, eg. in 3 weeks, by w32, due 1st June.
Of course, this feature works fine in French too!
[1] http://www.radiopanik.org is the most famous radio in Brussels or in its street!
Synchronization Vs. Direct access, the case of contacts
Maintaining accurate and useful contact information data is not an easy task, especially when that information is spread over several places. The solution usually proposed for this problem is refered as synchronization. Synchronization is a mechanism involving copies of data between sources in order to reflect the same state everywhere, also known as data replication.
Synchronization brings several problems. It usually tends to cast information patterns into one predifined one. It flattens the information and causes the loss of the “origin” dimension, which may have important semantics on how and where to use it. It usually breaks the link with the source, thus the newly available information from an updated source won’t be distributed until next synchronization. It implies merging choices which result into inconsistencies, loss and duplication of information.
The worst thing with synchronization is that it actually solves nothing. It may be a sufficient solution when considering only local sources like computer or cellphone addressbooks but with the era of Web 2.0, most of the contact information is to be found on the Internet. Contact sources there are whatever services manipulating people, contact of friend objects. This obviously includes social networks. The diversity of those sources make synchronization impossible to consider, their purpose is different hence the provided content shouldn’t be merged, it should be used differently, depending on the context. And why would you actually want to do synchronization? Since all the information is always out there, you only need to access it.
This is why for People, we made the choice not to copy and merge the contact information from the web to a smashed local version of it but instead provide a unified way of accessing it. Using direct access, the only effort to be done is to explicit the grouping of contact information from different sources defining a single person entity. Direct access ensures integrity and reliability of data (it is not manipulated between access and use), allows knowing about the sources thus consider the relevance of it (the full name of a contact is more likely to be accurate on LinkedIn than on Last.fm), and the update of the information is done by the actual owners of it, your contacts. Associating a cache mechanism to avoid network roundtrips and maybe an offline mode to that way of doing things should benefit the user better than forcing him to understand and suffer the mist of the broken synchronization scenarios.


Le coup du firewall - VPN - Routeur
J'étais en pleine interrogation dernièrement.
Je devais installer un firewall qui ferait aussi VPN pour une PME. Carte blanche ...
J'avais essayé des distributions Linux spécialisées que je connaissais mais elles calaient toutes sur les cartes réseaux D-Link que je leur proposais (je dois encore vérifier le modèle). Cela m'a un peu refroidi avec les distributions linux orienté firewall vu que l'installation se passait bien mais je ne pouvais pas faire les mises à jour de sécurité sous le risque de voir le driver de la carte D-link concerné disparaître sans que je puisse faire un modprobe au redémarrage ...
Vu que cela n'était pas super pressé, j'ai préféré me concentrer sur autre chose en attendant.
Je me remet un peu à l'ouvrage et je suis donc face à diverses solutions :
- Le système CISCO bête et méchant (méchant prix aussi et pour les accès multi-plateforme, il y a le Cisco Systems VPN Client) de type "ASA 5505" car le "PIX 501" n'est plus censé être vendu (End-of-Sale et End-of-Life bientôt)
- Le système PC de récupération qui n'est pas cher mais prend aussi de la place et consomme pour des composants inutiles dans le cas de figure
- le système appliance genre "Linksys RV0042" moins cher mais pas plus Linux-friendly à la base car comme toujours basé pour des clients Windows donc non testé pour interopérabilité
- le système appliance monté maison style Soekris
- le système routeur "flashé" Linux de type Linksys WRT54GL
Les besoins sont assez limités :
- Accès à Internet à 5-6 personnes - Web Proxy est un atout
- VPN pour un remote accès par 1-2 personnes en même temps (OpenVPN ou autre) sous différents systèmes d'exploitation
- Firewall de type SPI
- Client de synchronisation NTP
- Client DynDNS vu que la ligne aura une IP dynamique
Personnellement, je me pencherais bien sur une appliance de type Soekris 4801 avec une distribution m0n0wall ou pfSense avant tout pour le gain de consommation électriques qu'elles pourraient apporter par rapport aux PC "traditionnels". Le coût estimé est de 190 EUR HTVA pour le Soekris, une carte mémoire Compact Flash et quelques heures pour la confirguration ...
Si vous avez d'autres idées/conseils/...

Last release was in late November 2008. Too many things to do I guess.
This release is about pushing out all the little bugfixes that happened since 0.6.4. We have been fixing little quirks here and there as they were appearing during our day to day use of the tool. The result is a tool that a bit more pleasant to use, at least for my personal workflows :)
Apart from that, the Nemiver repository moved from SVN to git and the mailing list moved to the GNOME infrastructure. You can now browse the source code from here and checkout the code by typing:
git clone git://git.gnome.org/nemiverFedora 9, 10 and rawhide packages should hit a mirror near you soon, but the impatients can grab them here.

Ok, let’s imagine you’re fed up with the GObject boilerplate code, and decide to use a mature serious language which gives easier access to classes : C++.
C++ followers will tell you how wonderful that language is, where performance with respect to both speed and space is taken very seriously. Read any document about C++ : this language has all bells and whistles, with options everywhere (do I dare saying “A real KDE!”? No, that would be trollish). Let me review some features of this both high and low level language. Performance!
Let’s begin with the most frustating issue, that of inheritance. When you override a method, by default you have done almost nothing : if your object is accessed as being from the base class, then the old method will be called. You have to use the “virtual” keyword on a method you think you’ll need to override later on. If someone else want to override and can’t modify your class, (s)he’s a two-sided toast. On the other hand, the performance!
Sigh, so you add the “virtual” keyword everywhere you think, run your program, and things just go wrong : it’s perfectly normal, you didn’t think C++. Yes, you should declare your base destructor virtual, otherwise when you try to destroy an object through its base pointer, things break, without warning. But with performance!
One more thing about inheritance, and more specifically multiple inheritance : you have to be extra careful in the diamond configuration, because you may end up with copies of data members, which may not be what you had in mind. In such a case, you will again have to use the “virtual” keyword — not where you form the diamond, but on the two branches : again, in C++ you don’t deal with inheritance when it happens, but much sooner. For performance!
The language has also nice things like constructors which get called automatically. Say you wrote an array-like class, with a constructor from integers, and you work with two arrays of integer ; at some point you want to do a comparison tab1[i] == tab2[i], but your fingers type tab1==tab2[i] — ah, you’re comparing a full array with an integer : no problem, the compiler will use the right-hand side to build an array and do a stupid comparison… isn’t it wonderful? Nonsense, but with performance! (for completeness, you saw the previous paragraphs, so I hope you guessed: there’s a keyword to avoid that problem : “explicit”.)
Another case of automatic (and unsafe) promotion is with conversion operators, but I have seen quite a few advices of not using them. I think the “explicit” keyword doesn’t apply to them (yet…).
As closing words, let me explain the link between the title and this post : Fernand Raynaud was a french humorist, and one of its most famous sketches, “Le tailleur” (the tailor) was the story of a man coming back to his tailor to complain about a bad suit. Of course, the tailor finds the suit perfect and puts the blame on his customer, who ends up admitting the suit is indeed perfect, once he has put his left shoulder a little higher, his right shoulder a little back, turned his hips a little, and raised one arm slightly…
PS: if some C++ lover wants to tell me I just don’t have the right mindset, lack the skills or whatever explanation that puts the blame on me and not the language itself : put your comment in /dev/null and read the last paragraph again, tailor!

fatal: protocol error: expected sha/ref
Dear Lennart,
You should probably know that typing the correct URL would work better for cloning a bzr branch (yes a branch, not a repository).
This is what I get when I try to feed git a random invalid URL:
$ git clone git://github.com/idontexist
Initialized empty Git repository in /home/asabil/Desktop/idontexist/.git/
fatal: protocol error: expected sha/ref, got ‘
*********’No matching repositories found.
*********’
Now is probably the time to stop this non constructive “my DVCS is better than yours”, and focus on writing code and fixing bugs.


So, Fosdem is over. Yes I am late. As always.
I caught quite a serious cold even before going to Fosdem this year, so I spent the entire event drinking tea and sleeping at 23h30 at worst. Believe it or not, I was able to wake up quite early on Saturday and Sunday, so I didn't miss any morning conference and, although I came back with the flu still, I was less destroyed than after the previous Fosdems.
"Early to bed and early rise makes a man healthy, wealthy and wise", they say. I still have to practise that one. I am not there yet :)
What is sure though, is that I had a voice extinction quite on time for my talk. yay.
So How did my Nemiver talk go ? Well, I haven't received much tomatoes so I guess either the ton of my voice was okay-ish enough to not disturb the audience during its nap, or the talk was okay-ish, or ...
Well, I guess that question shall remain unanswered for years to come.
In any case, the pdf slides of the presentation are here.
All in all, this Fosdem event was nice. Aside from the talks, I met lots of cool people and hang around with the Mandriva crew. Very nice chaps. They even took some nice photos.
Fedora
So I've finally been approved as a Fedora packager. \o/
The packages I'll be (co)maintaining so far are:
I've always be willing to take part in packaging. I was just too

Today, I upgraded my parents’ computer. From ubuntu 8.04 to ubuntu 8.10. Summary : ouch.
No more keyboard in X. No more mouse in X. No more soundcard.
What happened to X? Eh, it commented the keyboard and mouse sections in xorg.conf — because now it’s magically hal-detected, so those are useless now. So useless uncommenting makes things work again.
It works, but a shiny button proposes to install nvidia drivers. Shiny, click! Let’s restart X. Uh… doesn’t start. But we get a nice dialog asking what to do. One of the choices is to reconfigure. Let’s do that. No keyboard nor mouse — again!!!???!!! Of course, it just made a configuration file without the needed sections. A dpkg-reconfigure xserver-xorg later, the situation is sane again.
Now, what about sound? lsmod | grep snd makes it clear there are no sound modules loaded. After a quick updatedb, I check where the .ko are… none for the running kernel. A google later, I learn that I need a driver package (linux-ubuntu-drivers or something like this, but with the kernel version in the name), and synaptic says it doesn’t have one for the running kernel version. Gasp!
Let’s install a newer kernel, with all we need. Reboot (I hate rebooting… that’s so… stupid). Sound is back.
The fear I have is that it will now overwrite xorg.conf regularly, and hence stop working regularly. I need to find out how to make that box just work!!!
Edit: it turns out the keyboard&mouse issues were caused by the start of X before hal… reversing their initialization order makes things work : it won’t stop working behind my back (and worse, while I’m not there to fix back).


Booting fast, is it important ?
Boot time has been a hot topic for the past few months in Linux community, either by chip and SSD manufacturers who want to show how fast their hardware can go when software is fixed properly (Moblin fastboot) or even by distributions, mostly on Netbook and OEM, such as various Mandriva Linux based products, like Hercules eCafé, G-dium, TouchDiva which are using Mandriva finit.
However, most of those initiatives are focused on fixed hardware configuration and software install, which ease boot speed optimization according to system specifications.
Unfortunately, on a generic distribution where many features are available and might be enabled or not, based on user choices, not all optimisations can't be applied blindly.
This is why we have created speedboot for Mandriva Linux 2009 Spring.
What is speedboot ?
Speedboot is a specific boot time mode on a standard Mandriva Linux 2009 Spring where graphical system is started as early. This mode allows users to interact with their system much earlier than it was possible before, so they don't feel frustrated because their system isn't ready yet.
In Speedboot mode, some tasks are done very early in the boot process, other are delayed after graphical display manager has been displayed, and some tasks are ignored completely.
Speedboot has been designed to be transparent for our users : if system meets some criterias (not using network based authentication, not using encrypted partitions, ...), speedboot will be automatically enabled and used, with a fallback mecanism, in the event display manager could not be started properly, so standard (ie slow) boot would still be used to start display manager (for instance, if you boot on a new kernel and your dkms driver haven't been rebuilt yet). Of course, users will also have the possibility to completely disable speedboot if they don't like it.
But you are cheating, you are slowing boot process by running stuff in the background !!
I'm not sure it is cheating, but it is true we are deferring some tasks which used to be executed before display manager. It is a matter of perception for users. For years (since 2002), Mandriva have been starting display manager as soon needed services for X and display manager where running, to give a better user experience in the boot process, so some services (network, ssh server, etc..) were already being started in the background. We improved this system by using a parallel initscript system (prcsys) in 2006, allowing to reduce again boot time and in Mandriva Linux 2009.0, we tuned the system again and added readahead and preload, which, in most cases, reduced again boot time.
However, we also discovered those techniques didn't work everywhere : not everybody has a fast harddrive or SSD, so readhead could sometime slow boot time. Based on user configurations and system power, parallel initscript could sometime "clutters" initial boot time (since some services had no dependencies on other services, they were started early and precious CPU cycles (or IO) were used by them instead of the critical path for display manager startup.
So, we needed to find a path between a fully sequential system (à la finit) which can't be generalized on everybody system, and a fully parallel system (à la prcsys) which can't be optimized easily. We already did some of those optimisation for Mandriva 2009.0 and speedboot is the next step.
So, what do you really do in speedboot mode ?
We are still using standard initscripts, which have been modified a little to do the following :
- start udev almost immediatly after rc.sysinit is up, but do not do ask for coldplug events (this is what eat a lot of CPU on standard systems). Instead, ask udev to coldplug specific components which are needed for Xorg to start. And do this in the background
- check filesystems
- mount filesystems
- in a new specially created runlevel (and in background) start display manager and its dependencies (syslog, dbus, hal, acpid)
- do some cleanups on various directories
- wait until display manager is up and running (with a timeout, just in case) and then continue the standard boot process in runlevel 5 (using prcsys to use parallel init)
- do not use readahead (nor sreadahead) : atm, I've been confusing on average harddisk and readahead doesn't help in that case, because we are already using too much IO on the disk and even idle IO are slowing the boot. I'll need to check on fast harddrive and SSD and maybe only enable readahead depending on the disk speed (but I'm not a fan of this, because it implies running a disk speed test at some point)
How can I test speedboot ?
That is quite simple : download Mandriva Linux 2009 Spring Beta release, install it and add speedboot to your kernel cmdline (either manually on in your grub / lilo configuration). Be aware speedboot can cause issues like changing kernel version (because it is started before dkms). Those issues will be fixed in future pre-releases of Mandriva 2009 Spring, as well as automatic activation of speedboot. Anyway, if you found issues, please fill bug reports on our bugzilla, against initscripts components or email cooker mailing list.
You lied, bootchart says my boot time is longer with speedboot than without
Well, unfortunately, bootchart is measuring the entire system boot time and with speedboot, we are favoring X early startup (what I call "perceived boot time") at the expense of total boot time (ie when all services are up and running). If you want to compare bootcharts with and without speedboot, look at timing for gdmgreeter (or kdmgreeter) startup. This will mean system is ready for login. On average, we found a gain of 10s, which means you can get graphical login available between 8s and 20s (this varies on your system specification). You can check some results here : you get kdm greeter in 12s instead of 23s. And you can also check the influence of using ext4 vs ext3, which isn't giving that much gain some people thought it would : just 1s with speedboot for kdm greeter.
But you are slowing the desktop login !
Yes, we might, but not that much. Possible solutions would be to start the various services with ionice / nice, but it is a little dangerous since they should be renice back to standard niceness once login is finished and you can't be sure to be able to do that without any leftover. Some people also suggested to us at command but this would not integrate transparently with initscripts provided by various services.
Why didn't use upstart ?
We tested it but it is still very young, changing a lot, breaking its configuration file between major releases and to be able to have a full event based system would require rewriting all initscripts to upstart format, without being sure we would have gain. So, for now, we are keeping with standard technologies, which are LSB compliant as a bonus.
We hope you will like speedboot and are waiting for your feedback, either on cooker mailing list or bugzilla.
Enjoy !

Yesterday we gave our talk on the People framework in the GNOME devroom at FOSDEM. I have to say that it was the most unprepared presentation I ever gave, which actually resulted in a stress-free and satisfying experience. Most of the demos failed, because of lack of Hinternet access and Bluetooth stack breakage but in the overall I’m quite happy since the feedback is good. I’m hoping to turn the project into reality for users as soon as possible.

Efficient SQL console, follow-up
Following my post on the new embedded web server feature of Libgda’s SQL console, I have spent some time on improving the user experience (the web server is optionnaly enabled and serves pages containing information about the current opened connections).
Here are the improvements so far:
- the UI is more polished thanks to the usage of AJAX (through the very nice JQuery javascript library) and to some CSS work
- a simplified authentication mechanism has been implemented where one can specifiy (when starting the embedded web server) a “token string” which is requested when a browser first connects to the server
- a “terminal emulator” page has been added, which behaves almost like a normal terminal emulator and where commands can be entered. Through it, one can execute SQL commands and internal commands (commands specific to Libgda’s console for various tasks such as opening and closing connections).
The following screenshot shows a sample session in the terminal emulator; the “.c SalesTest” command requires that the “SalesTest” connection be used, the “.d” command lists all the tables and views of the connection.
This second screenshot is similar to the one above except that the result of the “.d” command has been folded (by double clicking on it) so it just shows the number of rows:

The first beta of Ekiga 3.1.0 is now available on GNOME FTP.
Please note that I started the development of Ekiga 9 years ago.
Here is the list of changes :
- Added support for the G.722 audio codec: G.722 is a 16 kHz wideband audio codec advertised as HD Voice by the famous Polycom. It is a great boost in quality and interoperability.
- Added support for the CELT ultral-low delay audio codec: CELT delivers high quality audio at 32 kHz or 48 kHz, allowing to transmit music in high quality, with low delay and low bitrate.
- Added support for SIP dialog-info notifications: they allow displaying notifications of incoming calls in the roster. With software like kamailio or Asterisk, it allows being informed of incoming calls reaching your colleagues.
- Largely improved LDAP support: the OpenLDAP guys contributed several patches to provide state-of-the-art LDAP support in the Ekiga address book. The new code even supports authentication.
- Added support to disable STUN detection: some routers do not need it anymore as they implement NAT traversal for SIP.
- Killed the gconf_test_age test: when GConf was released, Ekiga was among the first to adopt it. That annoying ‘gconf error’ was a relique of those early times.
- More efficient memory handling using gmref_ptr.
- Better handling of multiple network interfaces with dynamic addition and removal.
- libgnome is not required anymore when using GTK+ 2.14.
- Many code cleanups, new GObjects, …
The Ekiga developers team is also working on interesting new features that should be available after the 3.2 release :
- XCAP support & Resource List support: It allows storing the contacts list on the Ekiga.net server.
- GStreamer audio and video capture support.
Stay tuned for more news!
Thanks to all contributors and welcome to Eugen Dedu, our new release manager!

I’m in Bangalore for foss.in. First, the country is awesome, the Indian food is amazing, etc, etc. The weather is also pretty nice this time of year, not too warm, not too cold, just right. Although it has been a bit rainy in the last three days.
But its not only the country that is nice, it is also an awesome conference, the organizers are really doing a great job. The venue is nice, the speakers are really well treated, etc. But more importantly, the level of the conference is also quite impressive. It is a great place to meet lots of good developers that we rarely meet in the “western” conferences. Free Software is really alive in India and it is great to meet the people here. After my Farsight 2 talk (slides), there were some really good questions, from people who had actually tried to use it. It’s the fourth (and last) time that I give this talk in front of different audiences, and I really got the best questions and the best interaction. The organizers wanted to make it into a truly developer oriented conference and they’ve really succeeded.

It's all for the moment :)

Living in France? Not an April member? You are WRONG.
I’ve been a member of April, the french association for promotion and defense of Free Software, for a bit more than a year, and I often regret not becoming a member earlier. (I was feeling so guilty and shameful about not being a member that I actually postponed becoming a member.)
Stop feeling guilty and shameful, become an April member today!
Why Is becoming an April member so important?
- Clearly, April doesn’t address the same problems as your local LUG. April is a country-wide organization, and it works on country-wide problems. It’s the only group able to work on such problems at this scale (I’m not sure of the situation in other countries, but I think CCC shares a similar role in Germany for example).
- Each time I talk to people really involved in April (which I’m not), I’m amazed by how powerful they have become. They are able to talk to french or european deputies or ministers’ cabinets, and are considered important. They are doing a fantastic job spreading what matters to us to legislative and executive powers in France and Europe.
Some of the things they worked on recently (from the top of my head):
- Lobbying on :
- OOXML
- General announcements about politics (Plan France Numérique 2012, aka Plan Besson).
- European telecom package and HADOPI law (french graduated response) law, through Quadrature du net. (OK, it doesn’t have anything to do with April, but most of the people involved in Quadrature du Net are also involved in April :-)
- vente liée : the fact that it’s not possible to buy a computer without a Windows license. It’s illegal in French law, but still the de facto situation almost everywhere.
- Organization of a campaign where candidates to elections in France where asked questions, or asked to sign a declaration about Free Software. In 2007, 8 out of the 12 candidates of the french presidential election answered April’s questions.
So, really, become a member today. It’s only 10 EUR, and you already know they will be well used. April is trying to reach 5000 members by the end of 2008.
(Apparently, if you use that address, April will now that you came from me. No benefit for me at all.)

Few people know that maintaining Ekiga also means maintaining Ekiga.net, the VoIP service platform for our users.
Today, we upgraded Ekiga.net, and that’s a lot of work !
Ekiga.net is now running Kamailio as frontend (recently renamed to SIP Router due to the merge between Kamailio and the old SIP Express Router project)
and Asterisk 1.4.
Among others, it allows to run the echo test with codecs like H.264, and better SIP presence support.
The old WEB interface has been replaced by a more intuitive one thanks to
Yannick Defais. The look and feel is now similar to the one you can see on the
brother ekiga.org website.
I would also like to thank Jan Schampera who helps me daily maintaining
ekiga.net and who helped a lot for the upgrade.
You can enjoy to the new infrastructure daily by signing up for an account at
http://www.ekiga.net.

It’s really funny to see how popular things can get, and then totally disappear. Some time ago, there was a TV show on the french TV called “Un an de +”, that talked about what was in the news one year before. It was really interesting to see how quickly everybody can forget stuff that looks so important now.
For example, who remembers Second Life? Apparently, it has been on the decline for some time already, according to Google Trends:

Will Facebook be the next Second Life?

fsck failure drops me into a shell
One of my non-geeky friends is currently trying Linux on his laptop. For some reason, he stopped it incorrectly and on the next reboot a fsck was forced and the fsck failed… he gets this:
*** An error occurred during the file system check.
*** Dropping you to a shell; the system will reboot
*** when you leave the shell.
Give root password for maintenance
(or type Control-D to continue):
Obviously, at this point, he had no idea what to do… He couldn’t boot into his system and he had no idea how to fix it.
THIS IS REALLY REALLY STUPID AND BAD!
And it seems all distributions are doing it, including the supposedly user friendly ones like Fedora and Ubuntu. All non-geeks will be completely lost at this point…
What should be done is: “Repairing your file system may cause errors!!! Do you want to: [F]orce Repair, get to a [S]hell or [R]eboot?” .. ideally in a nice curses front-end. And in the force repair case, just run “fsck -y”.

On September I finish my studies of computer science, so I start to search a job. I really enjoyed my current job at Collabora maintaining Empathy, I learned lots of things about the Free Software world and I would like to keep working on free software related projects if possible. My CV is available online here.
Do you guys know any company around the free software and GNOME looking for new employees? You can contact me by email to xclaesse@gmail.com

A new release: libvirt-0.4.3
After two months a lot of patches had accumulated, including a lot of improvements for Xenner and Linux container support. But this release brings a massive set of code cleanup, and just looking at the patches there there is a lot of obscure case failures which should now be properly handled (or at least better handled, like out of memory situations). I'm pushing testing updates for F-8 and F-9 if you have time and use virtualisation please review them, thanks !
A new name ?
I got married to Miss Wei LI last saturday, it was kept a simple family event with just a few close friends, everything went well except for a bit of rain ! For the name I wouldn't mind being called Mr Li, but it's probably not very practical at this point (ah and good luck getting the li.com domain, and I guess hijacking li.org would not be well accepted either ;-)
A very simple picture, people interested for more should know where to look for already. Oh it also made me fight with the Panasonic HDC-SD9 'new' MPEG-4 output, to get videos to render properly on that other OS, I didn't expect to learn so much about video format so quickly. I will post recipe and scripts later.

La parallaxe de Suzumiya Haruhi
On peut, au regard des concepts développés par Slavoj Zizek dans "La Parallaxe", tenter une nouvelle interprétation, plus fondamentale, des aventures de Suzumiya Haruhi.
La mélancolie de Suzumiya Haruhi est due au sentiment de malaise créé par l'incomplétude fondamentale qui nous caractérise tous. Haruhi part donc à la recherche du grand Autre, réponse censée venir combler ce vide, ici fétichisé dans les extra-terrestres, extra-lucides et voyageurs dans le temps. Ce comportement peut être vu comme semblable à ceux des individus cherchant la réponse à leur malaise constitutif dans la religion, voir, et nous y reviendrons, dans la philosophie et la politique.
Cependant, la réalité du monde de Haruhi est qu'il n'existe pas de grand Autre, aucun extra-ordinaire comblant les vides ennuyeux de la réalité, aucun personnage tirant les ficelles dans l'ombre. Ou plutôt, de façon plus importante, que ce grand Autre est Haruhi elle-même, ce qui constitue la réponse fondamentale : c'est bien elle-même qu'elle cherche en voulant résoudre cette incomplétude.
Selon ces hypothèses, le récit de ses aventures peut donc ultimement être vu comme celui de la recherche de la Vérité par les humains, les réflexions autour de son comportement précisant de façon très intéressantes plusieurs problématiques liées à ce processus.
L'interprétation de la fin de la série, où Haruhi semble trouver son bonheur avec Kyon, reste toujours problématique. Il n'existe pas de grand Autre, le manque ne peut donc pas être réellement comblé par quelque chose d'extérieur, donc pas par quelque chose qui soit matérialisé dans un fétiche, même humain, comme Kyon. Cependant Kyon n'est pas non plus quelque chose d'extérieur, puisqu'il est, comme tous les objets du monde de Haruhi, un produit de son imagination. Il s'agirait donc d'une pure matérialisation à figure humaine de la véritable réponse à son manque, ce qui ferait de Kyon une partie de Haruhi et non un personnage distinct. On peut donc avec un peu d'audace avancer que Kyon et Haruhi ne sont qu'un, qu'il est réellement sa moitié, ce qui n'est pas sans rappeler tout en lui redonnant une piquante nouvelle perspective le "happy end" chrétien par excellence. Malgré tout, le fait que Haruhi ne le reconnaisse pas comme tel, puisqu'ils sont clairement toujours deux personnes distinctes, laisse supposer que le problème n'est pas réglé.
On ne reconnaît habituellement qu'une religion pose problème que lorsqu'elle constitue un risque potentiel pour le système capitaliste libéral dans lequel nous vivons. De fait, ces religions ont donc on potentiel subversif.
C'est à cause de celui-ci que les nombreux individus touchés de plein fouet par le malaise créé par cette société se tournent en nombre de plus en plus important vers ce type de communautés religieuses.
Or, qu'est-ce que le processus de laïcisation tel que nous l'entendons dans la bouche des libéraux, sinon le fait de rendre les religions aptes à rentrer dans le cadre libéral, ou, à défaut, de marginaliser et stigmatiser celles qui ne le feraient pas, leur retirant ainsi tout aspect nocif pour lui ?
Ce processus peut donc être vu comme la condition sine qua non du fonctionnement de l'opium du peuple comme instrument des puissances qui font l'ordre social, même si la résurgence des intégrismes en période de crise nous montre qu'il est de toute façon voué à l'échec.
L'attitude ambivalente de la laïcité promue par la droite, qui dit oui à, voir encourage, la croyance qui se veut inconditionnelle, et simultanément y porte des restrictions, reflète d'ailleurs cette contradiction.
Pour illustrer ceci, on peut prendre l'exemple des lois interdisant à la religion tout caractère visible en public, par lesquelles on leur enlève tout caractère choquant pour ceux qui n'y prennent pas part, tout en ne faisant rien contre leur effet idéologique sur les populations concernées.
La gauche radicale n'a donc aucun intérêt à aider l'ordre libéral à se maintenir en normalisant la religion pour l'intégrer, puis se renforcer, par cette laïcité.
Ce qu'elle devrait favoriser, c'est la prise de conscience par la classe dominée du fait que son malaise est dû à la structure de la société et que le seul moyen d'y remédier est la lutte politique permettant de le dépasser. Par conséquent, la seule laïcité qu'il ait un sens pour elle de défendre est celle qui permette l'émancipation de chacun, pour parvenir à ce fait.

Enterprise Social Search slideshow
Enterprise Social Search is a way to search, manage, and share information within a company. Who can help you find relevant information and nothing but relevant information? Your colleagues, of course
Today we are launching at Whatever (the company I work for) a marketing campaign for our upcoming product: Knowledge Plaza. Exciting times ahead!

Releases
I pushed a bunch of releases on Tuesday, trying to catch the Fedora-9 train (I nearly missed it, it led to a not so fun curl_is_failing_to_upload debug session which led to nss3 for firefox3 is not compatible with nss3 for fedora8 curl), thanks to everybody who helped catch that train !
The releases are mostly bugfixes, libvirt-0.4.2 leading the pack, but libxml2-2.6.23 has a lot of fixes too thanks to various people reporting bug and giving patches, notably the Huawei team. Libxslt-1.1.23 includes the dozen or so fixes since last summer.
Developments
Clearly libxml2 and libxslt are in maintance mode, the focus is on libvirt, maybe I will just add support for the latest Proposed Recommendation of XML-1.0 in libxml2 before the Summer.
For libvirt, clearly we need to extend the number of hypervisor supported, maybe update and clean up the OpenVZ support too. IBM is actively contributing the Linux Container driver, I just commited a second set of patches today, you can expect good support in Fedora 10 I guess. On the high end side Sun just posted the patches for the lDOM virtualization on their Niagara based machines, lot of patch reviews those days. I also want to get a complete set of bindings for Java integrated, and now that Fedora java packaging guidelines are out, this is a good opportunity to add this.
History meme
that one is interesting, here is my contribution, as you can see I'm an old fashionned old fart, main workstation at home:
paphio:~ -> history | awk '{a[$2]++ } END{for(i in
a){print a[i] " " i}}'|sort -rn|head
319 vi
257 ssh
255 cd
156 cvs
130 make
125 ls
79 svn
60 scp
48 su
43 ping
paphio:~ ->
and on my second workstation in Annemasse:
wei:~ -> history | awk '{a[$2]++ } END{for(i in
a){print a[i] " " i}}'|sort -rn|head
362 vi
263 cd
262 make
136 cvs
115 svn
105 ssh
78 ls
67 scp
40 xmllint
38 grep
wei:~ ->
There was some blog entries this week about GNOME stable updates on Ubuntu. There is no reason new bug fix versions could not be uploaded to stable out of the fact that the SRU rules require to check carrefully all the changes and doing this job on all the GNOME tarballs is quite some work, or the ubuntu desktop team is quite small and already overworked.
There is a list of packages which have a relaxed rules though, we have discussed adding GNOME to those since the stable serie usually has fixes worth having and not too many unstable changes (though the stable SVN code usually doesn’t get lot of testing) and decided than the stable updates which look reasonable should be uploaded to hardy-update.
There was also some concerns about gnome-games, 2.20.3 has been uploaded to gutsy-proposed today which should reduce the number of bugs sent to the GNOME bugzilla. The new dependencies on ggz has also been reviewed and 2.21 should be built soon in hardy.
The FOSSCamp and UDS week has been nice and a good occasion to talk to upstream and people from other distributions. We had desktop discussions about the new technologies landing in GNOME this cycle (the next Ubuntu will be a LTS so we need a balance between new features and stability), the desktop changes we want to do, and how Ubuntu contributes to GNOME.
Some random notes about the Ubuntu upstream contributions:
- Vincent asked again for an easy way to browse the Ubuntu patches and Scott picked up the task, the result is available there
- The new Canonical Desktop Team will focus on making the user experience better, most of the changes will likely be upstream material and discussed there, etc
- Canonical has open Ubuntu Desktop Infrastructure Developer and Ubuntu Conceptual Interface Designer positions, if you want to do desktop work for a cool open source company you might be interested by those
GNOME updates in gutsy and hardy
- Selected GNOME 2.20.1 changes have been uploaded to gutsy-updates
- The GNOME 2.21.2 packaging has started in hardy, some updates and lot of Debian merges are still on the TODO though
- We have decided to use tags in patches to indicate the corresponding Ubuntu and upstream bugs so it’s easier to get the context of the change, technical details still need to be discussed though
Update: Scott pointed that you can use http://patches.ubuntu.com/n/nautilus/extracted to access to the current nautilus version

I’ve been working wit git lately but I have also missed the darcs user interface. I honestly think the darcs user interface is the best I’ve ever seen, it’s such a joy to record/push/pull (when darcs doesn’t eat your cpu)
I looked at git add --interactive because it had hunk-based commit, a pre-requisite for darcs record-style commit, but it has a terrible user interface, so i just copied the concept: running a git diff, filtering hunks, and then outputing the filtered diff through git apply --cached.
It supports binary diffs, file additions and removal. It also asks for new files to be added even if this is not exactly how darcs behave but I always forget to add new files, so I added it. It will probably break on some extreme corner cases I haven’t been confronted to, but I gladly accept any patches
Here’s a sample session of git-darcs-record script:
$ git-darcs-record
Add file: newfile.txt
Shall I add this file? (1/1) [Ynda] : y
Binary file changed: document.pdf
Shall I record this change? (1/7) [Ynda] : y
foobar.txt
@@ -1,3 +1,5 @@
line1
line2
+line3
line4
+line5
Shall I record this change? (2/7) [Ynda] : y
git-darcs-record
@@ -1,17 +1,5 @@
#!/usr/bin/env python
-# git-darcs-record, emulate "darcs record" interface on top of a git repository
-#
-# Usage:
-# git-darcs-record first asks for any new file (previously
-# untracked) to be added to the index.
-# git-darcs-record then asks for each hunk to be recorded in
-# the next commit. File deletion and binary blobs are supported
-# git-darcs-record finally asks for a small commit message and
-# executes the 'git commit' command with the newly created
-# changeset in the index
-
-
# Copyright (C) 2007 Raphaël Slinckx
#
# This program is free software; you can redistribute it and/or
Shall I record this change? (3/7) [Ynda] : y
git-darcs-record
@@ -28,6 +16,19 @@
# along with this program; if not, write to the Free Software
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+# git-darcs-record, emulate "darcs record" interface on top of a git repository
+#
+# Usage:
+# git-darcs-record first asks for any new file (previously
+# untracked) to be added to the index.
+# git-darcs-record then asks for each hunk to be recorded in
+# the next commit. File deletion and binary blobs are supported
+# git-darcs-record finally asks for a small commit message and
+# executes the 'git commit' command with the newly created
+# changeset in the index
+
+
+
import re, pprint, sys, os
BINARY = re.compile("GIT binary patch")
Shall I record this change? (4/7) [Ynda] : n
git-darcs-record
@@ -151,16 +152,6 @@ def read_answer(question, allowed_responses=["Y", "n", "d", "a"]):
return resp
-def setup_git_dir():
- global GIT_DIR
- GIT_DIR = os.getcwd()
- while not os.path.exists(os.path.join(GIT_DIR, ".git")):
- GIT_DIR = os.path.dirname(GIT_DIR)
- if GIT_DIR == "/":
- return False
- os.chdir(GIT_DIR)
- return True
-
def git_get_untracked_files():
Shall I record this change? (5/7) [Ynda] : y
# On branch master
# Changes to be committed:
# (use "git reset HEAD file..." to unstage)
#
# modified: document.pdf
# modified: foobar.txt
# modified: git-darcs-record
# new file: newfile.txt
#
# Changed but not updated:
# (use "git add file file..." to update what will be committed)
#
# modified: git-darcs-record
#
What is the patch name? Some cute patch name
Created commit a08f34e: Some cute patch name
4 files changed, 3 insertions(+), 29 deletions(-)
create mode 100644 newfile.txt
Get the script here: git-darcs-record script and put in somewhere in your $PATH. Any comments or improvements is welcome !

De retour des RMLL, cette année à Amiens, j'allume enfin mon PC après 15 jours d'absence... En réalité, je n'ai pas fait un vrai break informatique, j'avais mon portable ;o)
Comme d'hab, une très bonne édition. Dès que j'ai mis mes photos en ligne, je fournis l'URL.
Les points forts de cette édition : un nouvel étalon pour le terme "cocktail dinatoire", un repas du libre qui n'a pas démérité, des nocturnes sympathiques et bien sûr les confs et ateliers où j'ai pu faire de nouvelles rencontres intéressantes. Cerise sur le gateau, j'était logé en VIP, au même titre qu'Alan Cox (rien que ça), au QG de l'équipe d'organisation. Un lieu calme entouré de verdure et bordé par un canal. Idéal pour récupérer des longues soirées mais qui n'incite pas à se lever tôt pour assister aux premières confs.
On m'a invité à y rester une semaine de plus pour prendre le temps de visiter Amiens et sa région, invitation que j'ai malheureusement du décliner à cause d'un emploi du temps hélàs peu favorable :((
J'avais entre autres prévu d'assister aux festivités nocturnes du 14 juillet à Paris. Étant hébergé chez un copain qui habite prés de Montparnasse, ce fut déjà une immense galère pour arriver chez lui en voiture... tout le centre de Paris étant coupé à la circulation, et bien sûr pas un seul symphatique policier pour indiquer courtoisement et avec le sourire par où passer pour arriver à destination. 2 heures de perdu dans des embouteillages à la con et la pollution qui va avec ! Enfin arrivé, visite touristique de Paris en vélo... départ 19h... on tourne, on tourne, on tourne, pour info, Notre Dame de Paris ne vaut pas sa renommée en comparaison de Notre Dame d'Amiens. Les parigots devraient sortir du périphérique de temps en temps pour gagner en humilité... vers 23h on se dirige vers le Champ de Mars et là, on voit une marée humaine gigantesque qui visiblement quitte les lieux. J'ai loupé les festivités !!!!!! Mais qu'est-ce que c'est que ce délire, il parait que Paris est une ville nocturne et ils font un feu d'artifice à 10h30 !!! Aucun village en France ne fait ça si tôt !!! Je m'en foutait complètement du concert d'un vieux qui vient finir sa vie tranquille en France après s'être exilé à l'étranger pour ne pas payer ses impots, mais pas le feu d'artifice, pas ça !! 'Fin bon, j'aurais au moins vu de près ce que représente 600 000 personnes (selon la police). À traverser en vélo à contre sens, c'est GIGANTESQUE, SANS FIN, INIMAGINABLE. À déconseiller ABSOLUMENT aux ochlophobes ;o)
Revenons un instant aux RMLL. Je vais donner un coup de projecteur sur un projet qui en vaut vraiment la peine : OpenStreetMap. Ce projet consiste à créer des cartes routières libres. A partir des traces relevé par un GPS, on établi des cartes qui peuvent êtres ensuite utilisé librement pour tout type d'usage. Aux RMLL précédentes, à Nancy, le projet UPCT avait déjà retenu mon attention mais il me manquait à l'époque le GPS. Entre temps je me suis acheté un module GPS Bluetooth et j'ai profité du stand OpenStreetMap et de la présence d'Amaury Jacquot pour configurer mon portable pour acquerir les traces de mes déplacements. Mission réussi, j'ai publié sur le serveur mon parcours Paris - Bordeaux - Pau ainsi qu'un paquet de déplacements sur l'agglomération de Pau. Il ne manque plus maintenant qu'à reprendre ces traces au propre pour indiquer le type, sens et nom des routes, rues et voies. Les points d'intérêts et toutes autres informations utiles.
C'est un projet aussi ambitieux et fou que Wikipedia, mais c'est un enjeu d'avenir ou tout le monde peut contribuer. Téléchargez JOSM, regardez si il existe déjà des traces GPS aux alentours de chez vous, et mettez les en forme.
Voilà, voilà, vivement la prochaine édition des RMLL...













