Select All: Ctrl A: Selects all content in the current document.
Whose bright idea was it to have Ctrl-A close the current note in the version of Tomboy shipping with Ubuntu 8.04? This was a really bad idea.
Select All: Ctrl A: Selects all content in the current document.
Whose bright idea was it to have Ctrl-A close the current note in the version of Tomboy shipping with Ubuntu 8.04? This was a really bad idea.
About DSA-1571 openssl , I totally aggree with Eric ... openssl is just like this XKCD strip. So whatever distro you run, cross your fingers while you generate your keys from so-called uninitialized memory so it's uninitialized enough. Why don't we just drop openssl ?
PS: http://wiki.debian.org/SSLkeys gives better explanation. The problem is that one of the cleanups is harmless, while the other one actually commented the code that seeds the PRNG with real entropy. Ouch.
Cette Déclaration concerne directement l'avenir de notre société de l'information. http://www.digistan.org/hague-declaration:fr
J'espère que vous supporterez cette position (et que vous la ferez connaître ;-) ).
Merci d'avance.
http://lists.debian.org/debian-security-announce/2008/msg00152.html
Ca semble spécifique à Debian et dérivés (donc Ubuntu aussi) mais il y a également 2 failles dans OpenSSH ce qui veut dire que ce n'est probablement pas propre à Debian.
Pour les clés et certificats, il faut les regénérer après application du correctif ou installation des nouveaux paquets.
Au passage, je constate que cette annonce date de ce mardi 13 mai à 14h et le correctif est déjà disponible aussi bien en Debian que sur Ubuntu en fin de soirée.
Je sais, c'est normal... ça ne surprend plus que les Windowsiens et les nouveaux convertis à la secte du pingouin. :p
You’ve installed a fresh Ubuntu and you’re not English. Just try:
$ strace gnome-terminal
and you’ll see this long list of calls only to open gtk20.mo (12 calls on Hardy Heron):
open("/usr/share/locale/fr_FR.UTF-8/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/fr_FR.utf8/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/fr_FR/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/fr.UTF-8/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/fr.utf8/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale/fr/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/fr_FR.UTF-8/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/fr_FR.utf8/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/fr_FR/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/fr.UTF-8/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/fr.utf8/LC_MESSAGES/gtk20.mo", O_RDONLY) = -1 ENOENT (No such file or directory)
open("/usr/share/locale-langpack/fr/LC_MESSAGES/gtk20.mo", O_RDONLY) = 3
There are many solutions to workaround this performance problem, either you use my little script reduce-mo-open-calls.sh which detect your current locale and create only some symlinks, or you can try someting more adventurous (I don’t know the result after a upgrade of your langpack), move /usr/share/locale-langpack/fr/LC_MESSAGES/* to /usr/share/locale/fr/LC_MESSAGES/ and create the following symlinks after deleting of /usr/share/locale-langpack/fr:
ln -s /usr/share/locale/fr /usr/share/locale-langpack/fr
then from /usr/share/locale/, /usr/share/locale-langpack and /usr/lib/locale:
ln -sfvT fr fr_FR.UTF-8 ln -sfvT fr fr_FR.utf8 ln -sfvT fr fr.UTF-8 ln -sfvT fr fr.utf8 ln -sfvT fr fr_FR
If someone knows a better solution to configure the paths order, I’m interested! I’m intend to post a bug report if I don’t see any strange systems calls in the next weeks.
This hack removes 89 open calls at the launch of gnome-terminal (the result is better with bigger applications), it’s pretty nice, isn’t it?
I spent 5 great days in Saint Petersburg this week!
This was my first visa and I was worried about the needed paperwork (insurance, hosting certificate, ...), and then the registration after arriving. Getting the visa was not easy as you need to go to the embassy on Monday, Tuesday or Thursday between 9:00 and 12:00 and spend some time there (queuing 3 times...). Then you can chose to get the visa as soon as it is ready (the same day) for 70 euros, or wait 7 days before picking it up and only pay 35 euros...
At the airport I was welcomed with huge queues for passport checks (I think I spent about 30 minutes there) and then by Ирнина which was better :)
Apart from usual buildings and museums (I admit I haven't visited some major ones), I visited a great bar/club on the first evening, which I enjoyed even if I had not slept the night before (We went there again the next day and it was much better :) ).
I can now pronounce most letters (not all) and often understand the word when it sounds like French or English (or other, like CYШИ for sushi) but reading letter by letter is so slow... And I can't manage to read anything hand written :(
I hope I'll have the opportunity to go there again!
Photos are already online!

I often find the need to rebuild a package with debug symbols (if no -dbg is available).
sudo apt-get build-dep <package> apt-get source <package> cd <package> # eventually patch sources DEB_BUILD_OPTIONS=nostrip dpkg-buildpackage -rfakeroot -uc -us cd .. dpkg -i <package>.deb
Et voilà
Now i can gdb it or run sysprof.
(It's also a very fast way to start hacking on a program)
Claude was kind enough to add JHBuild Manual to damned lies, in the infrastructure section; translations teams that were sitting on their 100% waiting for something to happen can rejoice, that's 561 new messages for you to translate. Keep up the excellent work.
Totally unrelated I played a little bit with Clutter to add nice explanations (fading in, moving out, with alpha channel) to some screencasts, as a proof of concept for some I would want to do at work (ultra-basic example, Epiphany on Acid3).
Clutter is really great there; but the whole screencast process is tedious at the moment, lacking solid tools. I had to resort to xvidcap for capture (Istanbul and Byzanz were failing, and I forgot about gtk-recordMyDesktop) and I had to write a Clutter program embedding a video texture, moving some rectangles and texts on it and recapturing it all again with xvidcap; tedious, as I wrote.
I thought a little bit about the correct architecture and I believe the ideal would be a gstclutteroverlay, just like there is gsttextoverlay; anybody working on this ?
I just committed some code in libopenraw that allow displaying digital camera RAW files in eog (or anything else using GdkPixbuf). The colors and the gamut are still off, that's because I only perform the demosaic.

Just to be clear, I haven't changed a single line of code in eog. It is the stock version from openSUSE 10.3.
Free Software Magazine published a long interview of the main Ekiga developers and contributors.
It gives a deeper insight of what Ekiga is, what it will become, how we are working together. I think it is always good to remember that Ekiga is a pure collaborative project, on which people program during their spare time only, without any funding unlike much free software nowadays.
Enjoy the reading and big thanks to Tony Mobily for the time spent with us for this interview!
À côté de combien de belles et grandes histoires passe-t-on parce que « oh la, 9h20, qui sonne à la porte, tant pis, je reste sous la douche » ? Combien de Machine le doigt sur la sonnette, « hep, il fait beau, tu veux pas venir t'ébattre entre pelouse et soleil, dans un de nos beaux parcs ? »; combien de Marotte hors d'haleine, « coucou je viens d'arriver à Bruxelles, tape des affaires dans un sac, on part enfin »; combien ?
18 août 2005, parc du Cinquantenaire
Mais là c'était encore le voisin qui avait oublié ses clés, et de toute façon il pleut.
As toady pointed out on IRC, you no longer need to tell tar that it needs to uncompress an archive with gzip or bzip2. So, instead of calling tar xzf on tar.gz archives and tar xjf on tar.bz2 ones, you can now call tar xf on both.
Update: To answer Beranger, this was introduced by tar 1.15 on 2004-12-29, and should be available in all recent distributions (According to Distrowatch: Mandriva since 10.2, Debian since Etch, Ubuntu since 5.10, Fedora since FC4).
Just released a bug fix version of exempi. Version 2.0.1 address issues with error handling and some building issues on non-Linux systems.
This is likely to be the last 2.0.x release. 2.1.0 is on its way.
Along with Laurent and Victor, we've written a Netfilter connection tracking manipulation tool based on the fabulous Wolfenstein 3d game.
You need only two dependencies: SDL library and libnetfilter_conntrack.
Description from the release notes:The idea is simple: with statefull firewall such as Netfilter, the Linux kernel firewall, connection states are kept in memory and allow you to use this simple rule to only allow answers to a previously initiated connection:Tears were flowing from our bellowed
Administrators out there.
Connection tracking is not always easy,
hence Wolfotrack, the conntrack killer that
aims to reduce the firewall use difficulty
that many people complained about for years.
This software makes this time gone! We are now
enhancing netfilter at the user level.
# iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPTvoid ct_list_create(void)
{
int ret;
u_int8_t family = AF_INET;
h = nfct_open(CONNTRACK, 0);
if (!h) {
perror("nfct_open error: Oh my god! this is terrible! you cannot kill conntracks out from Netfilter!!");
return;
}
nfct_callback_register(h, NFCT_T_ALL, ct_cb, NULL);
ret = nfct_query(h, NFCT_Q_DUMP, &family);
if ( ret == -1 ) {
exit(EXIT_FAILURE);
}
}int ct_cb(enum nf_conntrack_msg_type type,
struct nf_conntrack *ct,
void *data)
if (nfct_get_attr_u8(ct, ATTR_ORIG_L3PROTO) == AF_INET) {
ip_src = nfct_get_attr_u32(ct, ATTR_ORIG_IPV4_SRC);
saddr = strdup(inet_ntoa(ip_src));
ip_dst = nfct_get_attr_u32(ct, ATTR_ORIG_IPV4_DST);
daddr = strdup(inet_ntoa(ip_dst));
port_src = nfct_get_attr_u16(ct, ATTR_ORIG_PORT_SRC);
sport = strdup(port_ntoa(port_src));
port_dst = nfct_get_attr_u16(ct, ATTR_ORIG_PORT_DST);
dport = strdup(port_ntoa(port_dst));
}void ct_remove_from_id(int id)
{
if (ct_list_get(id))
nfct_query(h, NFCT_Q_DESTROY, ct_list_get(id)->ct);
}i = 0x5f3759df - ( i >> 1 );void US_PrintXY(char *str, word X, word Y)
{
char c, *se, *s, *sz = strdup(str);
word w, h;
s = sz;
while (*s)
{
se = s;
while ((c = *se) && (c != '\n'))
se++;
*se = '\0';
USL_MeasureString(s,&w,&h);
px = X;
py = Y;
USL_DrawString(s);
s = se;
if (c)
{
*se = c;
s++;
X = WindowX;
Y += h;
}
else
X += w;
}
px = X;
py = Y;
free(sz);
} if (*visspot
|| (*(visspot-1) && !*(tilespot-1))
|| (*(visspot+1) && !*(tilespot+1))
|| (*(visspot-65) && !*(tilespot-65))
|| (*(visspot-64) && !*(tilespot-64))
|| (*(visspot-63) && !*(tilespot-63))
|| (*(visspot+65) && !*(tilespot+65))
|| (*(visspot+64) && !*(tilespot+64))
|| (*(visspot+63) && !*(tilespot+63)))int ActorDead(objtype *obj)
{
int retval = 0;
switch(obj->state) {
case s_grddie4:
retval = 1;
break;
default:
retval = 0;
}
return retval;
}if ( ( obj->obclass == guardobj ) && ( ! ActorDead(obj)) ) {source = malloc(strlen(entry->saddr) +
strlen(":") +
strlen(entry->sport) + 1);
target = malloc(strlen(entry->daddr) +
strlen(":") +
strlen(entry->dport) + 1);
sprintf(source, "%s:%s", ct_list_get(obj->id)->saddr, ct_list_get(obj->id)->sport );
sprintf(target, "%s:%s", ct_list_get(obj->id)->daddr, ct_list_get(obj->id)->dport );
SETFONTCOLOR(68, BKGDCOLOR);
US_PrintXY(source, 30, 20);
US_PrintXY(target, 30, 30);
SETFONTCOLOR(TEXTCOLOR,BKGDCOLOR);
free(source);
free(target);ct_remove_from_id(ob->id);
So, Richard is giving his talk about PackageKit. But you, know even his talk has major bugs. Clearly bad. I guess he will argue that it's not his fault, and that's because we went to a typical spanish restaurant on Friday evening. I'm not sure I can talk about this unique experience, though, to be honest. Will doesn't want to share too much details either, but I'm sure Richard will be glad to write about the whole story.
On the constructive side, yesterday, I've been hacking a bit on desktop-file-utils and ironing out the plan to take over the world, err, I mean, the plan to fix many issues with the fd.o specs. Hopefully, everything will go smooth.
It feels like summer here. Oh, you might not know where "here" is: Valencia. I got invited to talk at GUADEMY, and so far it's pretty good. Good to see some friendly faces (can't find all the links to all blogs), and to be lost in translation again (although I can get a few words here and there if I listen carefully). Thanks to the organizers for having thought to me (and of course, to Novell for having let me come ;-)).
I finished my freedesktop.org specifications: are they boring?
talk nearly a hour ago. I should probably put the slides somewhere, but basically it was about explaining the current status of the specifications and describing the huge list of things that we're doing wrong there. But there's no need to be negative about the future: there are some basic steps that we can follow to help improve the situation. Like better hosting, better update process, better consistency, more visibility. I'll probably talk a bit more about this in the future. The feedback was good, so at least, it seems I'm not thinking totally wrong ;-) Also, the talk was live-translated, which was pretty amazing, although I can't be sure I wasn't insulted in some way in the translations (nah, kidding, everybody is warmly welcoming here).
Oh, and I wish we had university campus in France as nice as the one in Valencia. It surely feels good. Or maybe it's just that it feels like summer :-)
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!
Here's an insightful vision of the current Linux distro's market, from Dave Neary, former member of the GNOME foundation board.
I don’t want to pick on Mandriva, but it’s true that right now they’re aiming for the general consumer, the enterprise desktop and the enterprise server, and are not competing particularly well with the front-runners in any of those markets.
And I agree with him. Even if there was some good progress on the general consumer market, the short/mid/long-term strategy is still unclear...
PS: I also noticed that the free (as in beer) mention about Mandriva One disapeared from the french download page... I'm pretty sure it was there before...
Dimanche 13 avril est né mon deuxième fils, Pierre, quelle merveilleuse surprise !
Tant de bonheur à partager…
Thanks to the hard work of the Empathy, Telepathy and Farsight teams, VoIP is finally usable with Empathy. So you can now very easily do audio/video calls using Jingle and SIP. There is still a lot of UI polishing to do but it should basically work, so feel free to test and report problems.
You'll need Empathy 0.22.1, recent versions of Farsight, telepathy-stream-engine, gstreamer, gstreamer-plugins-farsight, and a gstreamer0.10-ffmpeg with H263 encoder if you want video support.
If you're using Debian Sid you should have the right versions of the Telepathy stack but need the Debian multimedia repo for video support (which is optinnal).
On Ubuntu Hardy you have to use Telepathy PPA and Medibuntu repos if you want video support. So just add to your sources.list:
deb http://ppa.launchpad.net/telepathy/ubuntu hardy main restricted universe multiverse deb http://fr.packages.medibuntu.org/ hardy free non-free
Happy calling!
Un conflit d'intérêts
L'hypothèse de base de cette analyse est que tout acteur social est influencé de façon consciente ou, et c'est très souvent le cas, inconsciente, par la défense de ses propres intérêts, qui peuvent se traduire comme la défense de son pouvoir relativement aux autres acteurs.
Le créateur, travailleur spécialisé
Un créateur est avant tout un individu qui s'est spécialisé dans la création, de la même façon que d'autres travailleurs se spécialisent dans la médecine ou la plomberie. La fonction de créateur est donc une création comme une autre du principe de la division du travail, qui veut que la spécialisation augmente la productivité.
Division du travail et effets de monopole
Selon un principe économique d'efficacité très simple, les individus spécialisés dans la création étant, du fait de cette spécialisation, bien plus productifs que les autres, le reste de la population tend donc à abandonner la création pour devenir consommateur des spécialistes, ce qui a pour effet de laisser à ces créateurs le monopole de la création.
Ayant accès dans une certaine mesure, du fait de leur fonction, à l'instruction et à la communication, et présentant une relative communauté d'intérêts objectifs, ces créateurs développent une conscience de classe, souvent d'ailleurs partiellement inconsciente, qui les pousse à aligner leurs positions dans le but de la défense de leurs intérêts.
Tout d'abord, du fait de leur monopole, ils sont indispensables, et peuvent user de ce fait pour augmenter leur pouvoir, comme pouvoir de marché.
Ensuite, du fait de leur monopole et dans le but de le consolider, ils sont amenés à définir eux-mêmes ce qui est ou n'est pas création culturelle : ainsi, ils empêchent l'arrivée de franc-tireurs, concurrents aux intérêts divergeants, organisent la pénurie en contrôlant leur propre nombre, et moralisent ou mystifient leur pouvoir en ne divulguant pas leurs critères de distinction aux individus extérieurs.
Culture et domination
Dans une société capitaliste, le seul pouvoir matériel direct est le capital, qui est donc la seule ressource matériellement indispensable, dont la bourgeoisie détient le monopole. De la même façon que les travailleurs, détenant le monopole du travail, doivent sous la forme du salariat passer des accords avec la bourgeoisie pour obtenir du capital, les créateurs doivent passer un contrat avec la bourgeoisie. Si le travail est nécessaire à la bourgeoisie pour augmenter sa masse de capital, la culture lui est nécessaire pour masquer la nature de sa domination et donc la renforcer.
La différence de pouvoir entre la bourgeoisie et les travailleurs vient du fait que la possession de capital facilite infiniement plus le développement d'une conscience de classe que la possession de force de travail dans le monde capitaliste. Cependant, la bourgeoisie et les créateurs sont autant à même de développer cette conscience, leur contrat se fait donc sur des bases égalitaires et non de domination. Ainsi, les créateurs servent la bourgeoisie et sa domination, et la bourgeoisie sert les créateurs en reconnaissant leur pouvoir symbolique et en leur fournissant du capital.
Culture légitime
La culture légitime est donc celle qui est validée par les créateurs. Par la division du travail, elle est reconnue par le peuple, contraint de leur fait confiance. Par effet de monopole des critères culturels, il est impossible pour des individus extérieurs de la maîtriser : pour qu'il le fasse, un individu doit se spécialiser dans cette culture, ce qui a également pour effet d'aligner ses intérêts objectifs sur ceux des créateurs, de la même façon qu'un travailleur voulant acquérir du capital en masse devient objectivement un capitaliste.
Est alors automatiquement défini comme sous culture toute production culturelle qui n'est pas validée par les créateurs ; typiquement, toute culture produite par des individus ne partageant pas les intérêts objectifs des créateurs, comme des travailleurs effectuant des créations dans le cadre d'un travail salarié ou durant leur temps libre, et mettant donc en péril leur monopole.
I find the recent posts about that project pretty interesting ; and since I’m the one who rewrote most of ekiga’s contact management code, you can tell having a look at the api is of great interest to me : can ekiga easily integrate and use that?
Unfortunately, it seems there’s no good doc yet, which isn’t that surprising for such a young project. Luckily, I’m not that bad at code-diving, and this is where things get interesting : vala!!! Don’t take me wrong, vala is a nice and interesting idea (didn’t I already blog about it?), but for a framework which is supposed to get wide use, I’m not sure that’s such a good idea : doesn’t a vala interface mean a GObject-based interface? If so, won’t that alienate kde, gnustep and enlightenment people (yes, they are people, and they do interesting things)?
Aside from the previous points, there are a number of questions which spring to mind when reading the vala api : an addressbook seems to be something which can be opened and closed, and to which one can ask a contact from an identifier. How do I find the correct identifiers? Ah, there’s a view interface, and the comment there tell I get it from performing a request on an addressbook — but there’s nothing about it in the addressbook api! There a nice iterator api on a view, which does the strict minimum : next and get… It’s pretty young, indeed.
I hope it will age well!
PS: sigh… that meme looks less stupid than the others :
jpuydt@noether:~$ history|awk ‘{a[$2]++ } END{for(i in a){print a[i] ” ” i}}’|sort -rn|head
49 make
48 git-checkout
41 git-rebase
38 cd
36 git-gui
28 ./src/ekiga
25 git-svn
21 git-status
20 su
20 grep
(can you guess I keep several branches in my ekiga.git/ directory?)
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:~ -> Yup, Mandriva Linux 2008.1 Spring has been released today. What is amazing is that it's been released on time, which hasn't been the case for years !
I've started testing it quite late in this development cycle (RC2), but I still was able to find a few annoying bugs, which were corrected on time, thanks to Mandriva's hard working team. While I was a bit disapointed with 2008.0 (and 2007.0), what I saw pleased me, ans I really think this release is Mandriva Linux at its best (200X.1 releases seem to be better at Mandriva).
Everything you should know about it is here:
And the most important : the link to download Mandriva Linux with your
prefered bittorrent client (Transmission in my case).
Many thanks to everyone who worked on this release. Now Enjoy !
(Où le lecteur apprendra avec stupéfaction qu'il est possible de réfléchir sérieusement sur le monde à partir de l'animation japonaise.)
Suzumiya Haruhi est une jeune lycéenne, belle, intelligente et sportive. Son problème : elle s'ennuie. Aucune des activités proposées à ses camarades ne lui convient, et, à longueur de journée, elle ne rêve que d'extraordinaire : rencontrer des aliens, des voyageurs dans le temps ou des individus dotés de perceptions extra-sensorielles. Elle décide donc de créer un club dont le but est de rechercher parmis les évènements de la vie quotidienne des éléments permettant de remonter à ces éléments extraordinaires.
Cependant, au cours du récit, le spectateur apprend que ce monde dans lequel Haruhi vit n'est en fait que le produit de son imagination, créé pour combler son ennui ; mais qu'il est impossible de le lui révéler directement sans provoquer la destruction de ce monde, ce qui aurait de graves conséquences sur son esprit.
La jeune fille se retrouve donc dans une quête désespérée d'aliens, de voyageurs dans le temps et d'extra-lucides dans un monde dans lequel sa propre imagination les a placés, mais dont le rôle est précisément de se cacher à tout prix, car leur découverte effective provoquerait la découverte de la vérité et donc l'effondrement de ce monde.
La série s'achève par l'apaisement de Haruhi par le seul vrai élément extra-ordinaire qu'il lui est possible de découvrir : l'amour.
La particularité de cet anime est d'illustrer les propos de Hiroki Azuma dans "Génération Otaku". Il y explique qu'après l'abandon des grands récits transcendants, qui permettaient autrefois d'expliquer la multitude de petits récits constituant la vie, les individus se sont mis à tenter de retrouver ces grands récits à travers les petits, quitte à en créer de toutes pièces des fictifs. Cependant, comme ils sont factices, les individus en question ne peuvent les trouver ; pire, s'ils les trouvent, c'est que la frontière entre réel est irréel est tombée dans leur esprit, et donc qu'ils sont devenus fous. Ils sont donc condamnés à les croire, sans poursuivre cette croyance jusqu'au bout.
Ainsi, ne trouvant aucun sens à sa vie, Haruhi crée un monde imaginaire dans lequel des causes extra-ordinaires se cachent derrière des évènements banals ; cependant, pour éviter son effondrement psychique, elle ne peut les y trouver, ce qui provoque également son désespoir, et donc aussi un effondrement potentiel.
Le point de comparaison évoqué par Azuma est l'étude menée par Slavoj Zizek des soutiens soviétiques au régime stalinien. Ces cadres étaient en quelque sorte condamnés à croire au grand récit que constituait l'idéologie du système ; s'ils en doutaient, non seulement l'ensemble de leurs certitudes et convictions s'effondraient, mais en plus ils risquaient leur vie, ainsi qu'une éventuelle guerre civile en cas d'écroulement de l'autorité de l'État.
Cependant, à la fois la réalité, ne correspondant pas aux prédictions énoncées, ainsi que l'idéologie marxiste elle-même, les empêchaient d'y croire totalement. En effet, le parxisme prône notamment le refus de la domination d'une classe sur une autre, ce que les dirigeants du Parti pratiquaient en URSS tout en se disant marxistes. L'idéologie elle-même aurait donc dû pousser le peuple à se révolter, ce que les cadres staliniens ne souhaitaient pas.
Pris dans cette situation où ils doivent croire sans croire totalement, les individus sont poussés au cynisme, c'est-à-dire à un mode de vie dans lequel ils évoluent, voir tirent parti, sans se poser de questions, pour éviter de remettre en question l'ordre social. Pour Azuma, de façon métaphorique, et avec des intensités et enjeux différents, ce dilemme est également celui des otakus "vivant" dans leur monde artificiel, le monde réel n'offrant plus aucun sens à leur vie. Haruhi offre donc une allégorie de ce type de problématique.
Enfin, si la conclusion de cette histoire, c'est-à-dire l'oubli par Haruhi de son ennui grâce à la rencontre de l'amour, peut passer pour un happy end hollywoodien tranchant le problème de manière définitive mais banale, il soulève tout de même une question.
Dans l'imaginaire classique, la découverte d'une transcendance, comme l'amour, est un moyen de mettre fin au monde imaginaire, qui permettait jusque là d'échapper au réel, en redonnant du sens à la réalité. Air TV, autre série d'animation réalisée par le studio Kyoto Animation, illustre dans l'une de ses sous-histoires, consacrée à la jeune Minagi, ce principe.
Pour échapper à la réalité, dans laquelle la plus jeune fille de la famille, Michiru, est décédée, Minagi et sa mère vivent dans un monde imaginaire dans lequel Minagi est en fait Michiru, et où Minagi est partie rejoindre son père dans une ville lointaine. Cependant, réalisant le caractère malsain et triste de la situation, Yukito, le héros de l'histoire, fait redécouvrir à Minagi et sa mère l'amour qu'elles éprouvent l'une pour l'autre, ce qui a pour effet de mettre un terme à l'illusion.
Mais, concernant Haruhi, le but de la découverte de l'amour n'est absolument pas de sortir de ce monde que son esprit a créé ; au contraire, son rôle est de lui faire oublier à la fois sa recherche d'éléments qui lui prouveraient son caractère factice ainsi que son insatisfaction, qui auraient pu mener à sa destruction. L'amour renforce donc le monde imaginaire au lieu de le détruire.
Ainsi, dans Air TV, un choc, une révolution, peut bouleverser le monde en brisant le mirage pour l'amener à une situation meilleure ; mais dans Haruhi, en dehors du rêve, il n'y a que l'obscurité, et on doit donc à tout prix s'y accrocher : la révolution est impensable.
Voilà qui nous emmènera sur une réflexion future sur le cynisme moderne et le "There Is No Alternative" thatchérien comparé aux les résistances anti-capitalistes et anti-staliniennes de la guerre froide. Otanoshimini !
En Challenge européen, Montpellier et Brive : out. Dommage.
En Coupe d’Europe, Perpignan out, mais bravo Toulouse. Le Stade Toulousain ira donc en demi-finale contre les London Irish.
A few days ago Johann wrote a nice blog post about the People Framework, explaining what People is and what is the scope of the project. Unfortunately he didn’t include any kind of graphic, so here is one:

This diagram is based on icons from the Tango project and is licensed under CC Attribution Share Alike 3.0.

Students! There are only a few days left (until Monday) for you to submit your Google summer of code applications. This year, I’m hoping to mentor students working on Farsight 2 or on integrating Farsight in various applications. The most interesting project I’m proposing this year is adding plugins for the various non-free protocols to Farsight (see details), MSN is particularly easy since most of the reverse-engineering has already been done, its just a matter of coding it. GStreamer has a page on how to write a good application (hint hint, Farsight’s project are part of GStreamer this year!). I’m also a mentor on Gnome & Gentoo in case anything interesting is proposed there, so if you have good idea, go submit them now, time is running out!
Update: Google has extended the application period for one more week, so there’s still time… And we already have a good applicant for MSN, but please do apply for Yahoo, AIM, ICQ, etc!
Today, people subscribe to social networks, use instant messaging, subscribe to podcasts and blog feeds, use electronic mail, and communication devices to exchange information but more importantly to keep in contact with their contacts and their entourage. Tomorrow people may use different means to achieve this same goal, but in the end it will always be about contacting people, and maybe by then smarter solutions would be found. But in the mean time, we are are stuck with the proliferation of independent and disconnected applications and appliances, each one tearing unique logical entities away to make them fit into limited models. In simpler words, the way applications treat contacts brings a bad user experience.
Unfortunately, we cannot really do much about it, but we can still try to attenuate the effects on the Free Desktop by providing a unified vision of who is a person to the user. The solution we propose is named “People“.
Many people agree that, in the desktop, a “people framework” is needed. Things get more complicated when it comes to define the scope of it. The People project intends to provide an unified way to access and manipulate contacts for the desktop applications. The goal is not, at first, to gather the pieces and simulate unity, but more to bring the tools allowing to do it in a smart way, among other things. In People, we consider that each contact source is incomplete and provides just a restricted vision on contacts (the way they are represented and the way we can act on them). With that vision, contact sources can be as numerous and lightweight as needed to cover every place where the notion of person appears: LDAP, Google Contacts, Facebook, MIT Public Key Server, Telepathy, EDS, phone address book…
Among the possible top level components that People aim to bring, a service providing meta-contacts (gathering all the little pieces of contacts and bringing back the notion of unique persons) is fundamental, as well as a synchronization solution (to update or enhance whatever contact source from another one). Another idea would be to provide a service managing ephemeral contact-related information (like the presence status of a person) to be shared among applications. An obvious and really great use of People would be an address book management application.
The idea behind the People Project is people sanity for the desktop: when some start to talk about amazing people integration in GNOME, the first step is to get consistency around the notion of a person. As the semantic of a person can’t be defined as a standard, we have to allow and exploit all the possible representations of it.
There are tons of possible applications to be explored: meta-contacts in Empathy, Gimmie or Soylent, integration with Seahorse, personal presence handling, activity framework, contact relationships, multiplayer games… People also fits the definition of what the address book component should be in the Online Desktop.
People is architectured around two libraries: a low level one to build backends and a higher one on top of which will lay a D-Bus interface. That interface must not be tainted by People as other implementations could come up. The libraries are developed using the Vala programming language. We want to allow backends to implement custom interfaces when it makes sense so we are not heading to a less common denominator syndrome. As an example, a relationship interface could be implemented by backends supporting FOAF. We have neat feature ideas that we take care to bring with several hot spots in mind, amongst which stand memory usage, network bandwidth usage (use on mobile devices) and i18n (name representation, automatic phone number formatting, …).
The idea that gave birth to People came up during a discussion I had one year ago with Felipe Contreras. It took some time for us to realize the potential of it. Few months ago, Ali Sabil got interested and passed it as a university project to get some time to hack on it, which brought some helpful hands as well. Lately, the development of People has been more and more active. We are constantly questioning our work in an iterative process to get the better implementation we can provide and each added feature is tested. Our effort aims to provide a working and validating implementation as soon as possible (with the release of a first usable version by June). There is currently a resource request for the People project at Freedesktop.org.
We hope to give a talk at GUADEC to get more people interested!

I just discovered that, since I enabled the TV over DSL option, Tele2 limited my downstream bandwidth to 8mbps (instead of 20 mbps). All the time. Even when I don’t use the TV. Because allowing 20 mbps could have affected the quality of TV reception (when the TV is off?).
They proudly advertise that offer as:
It seems that they forgot the “OR” in between.
Yesterday I updated the bzr-record plugin and renamed it to bzr-interactive. The name change comes from the fact that the plugin aims at adding support for user interactivity for the core commands in a similar fashion to Darcs. For now bzr-interactive only supports the commit command.
The plugin works by adding a –interactive (-i) option to the supported commands. For the commit command, running bzr commit -i will prompt you for the hunks you want to commit in an interactive manner, and also prompt you for the commit message. I hope to add support for other commands in the future, especially for the merge command (cherry-picking :p).
Concerning the record-patch command, it works by asking which hunks you want to save into a patch, the patches are saved in the patches/ subdirectory, and should be easily manageable using quilt. I would however suggest using bzr-loom instead, if your goal is upstream tracking.

Few months ago I wrote a bug report on the freedesktop.org bugzilla to ask for means to start a new project. The goal of that project, called “OpenIM” was to gather effort on the opening of closed instant messaging protocols. In the bug thread and on the pidgin mailing list, a discussion started to determine if freedesktop was the right place to host that kind of project (i.e. support reverse engineering and documentation of proprietary protocols) and a lot of people joined it, agreeing that such an effort was needed, regarding the poor and all over the place documentation parcels (at least referring to the MSN protocol ones). Those people included valuable guys from amsn, pidgin, pymsn, jabber, and other worthy individuals of the IM field.
Instead of freedesktop, the pidgin guys proposed to host the initiative on IMFreedom, a Foundation they did setup as a façade when they got justice problems with AOL. We all agreed that using IMFreedom for OpenIM would make more sense. That gave birth to a brand new wiki to collect our efforts.
Be interested, sweat, contribute!

Hier, je me suis levé à Paris, j’ai déjeuné à Bruxelles, j’ai diné à Londres, soupé à Chicago et je me suis couché à Montréal.
A few months ago, I asked a set of questions on development mailing lists of a few GNU/Linux distributions. This resulted in very interesting discussions. As promised back then, all the answers from all distros I contacted can be read on the web or as an mbox file.
Also, Freedesktop.org kindly agreed to host a mailing list to ease discussions between distributions, and act as a central point of contact. You can subscribe, and post to distributions at lists dot freedesktop dot org.
This mailing list is for people involved (or interested) in the development of distributions. Questions that are on-topic are both technical and social/organizational issues, like:
Off-topic stuff obviously include trolling about which distribution is the best one, or user support.
Don’t hesitate to forward this announcement to all interested parties. Let’s make this mailing list something useful together!
Also, I really apologize for procastinating announcing this list for sooo long. I’m really good at procastinating interesting stuff, it seems.
Yesterday Xavier merged my Empathy irc-account branch. You can now very easily configure IRC accounts using empathy-accounts. We ship a XML file containing lot of well know IRC networks so users don't have to care about server address, port, etc.
This is the first step in my "use Empathy as a real IRC client" plan. Now we'll start a new set of libempathy-gtk widgets in order to create a dedicated application for multi users conversations (probably based on the interface of xchat-gnome).
A few years ago, we wanted to make it as easy as possible to port then-gnomemeeting to win32, and of course, since we had no access to a win32 box, that mostly meant we would make as much of the code portable as we could, by relying on as few dependancies as possible, which meant : glib/gtk+ for the frontend and pwlib/openh323 for the backend.
For that reason, one of us (Damien?) made bonobo optional with careful #ifdef magic ; I took the gnome-druid source and made it pure gtk+ (so gnomemeeting with gnome used normal gnome druid, and gnomeeting without gnome used those butchered sources) ; this took care of most of the ‘offenders’.
Unfortunately, there was still one big hurdle, in the form of numerous and scattered lines of code : we used gconf! So I did the obvious thing : I wrote a nice gmconf api to act as a proxy for gconf, with a mostly trivial gconf implementation, and a mostly trivial glib implementation, and replaced the thousands of call to gconf by calls to gmconf (boring to say the least).
Once there, I could store, modify and react to changes during runtime, but couldn’t store them across runs. This problem is closely related to the issue of default settings. That was also something gconf was doing for us, which had to be handled separately. Creating another default settings file besides the existing .schema didn’t look like a bright idea : that would have meant keeping them in sync, by hand!
This is where GMarkup comes into the picture : it’s a nice and easy way to handle simplified XML, readily available in glib. And what is a gconf .schema file? A simplified XML file! So I dived into GMarkup’s documentation and examples, and quickly had an honestly working piece of code.
This code is still used in ekiga today : when compiled either without gnome support on GNU/* or *BSD or on win32, parsing settings (system or user) is still GMarkup’s task. I’m not sure that will last very long : it’s much easier to port to win32 those days, with already-ported and already-packaged base libs, so perhaps having a non-gnome version loses interest — especially since the gmconf-glib implementation is a piece of code which only us ekiga developpers maintain (although most bugs must have been ironed out since…).
Happy new Year
yeah it's either really late or a bit too early for Chinese New year, proof that I should blog more often !
backlog
I have been away for the last month and a half, first vacation in China, and then in Paris for Solution Linux expo. As a result an awful lot of mail piled up in various folders that I didn't really had time to process, I am slowly trying to go though them, so if you get replies from a mail in November that's normal, or if you didn't get a reply, it's probably a good idea to ask again !
libvirt and Co.
libvirt development is progressing fast thanks to DanB, Rich, Jim and the many people porting, testing and using it. I really hope we will soon have easy support for most platform - including Windows and OS-X - at least as a client to remotely access the virtualization servers, Rich did most of the work. The development of the CIM provider seems to be progressing nicely thanks to DanS and the IBM'ers :-). During last week Solution Linux i got asked a few times about P2V tools i.e. tools allowing to automatically save the state of a server to allow to start it as a virtualized domain, Rich just released virt-p2v 0.9.1, it is still experimental, what it needs now is a wider range of testing to find and remove limitations, give it a try and provide feedback, thanks !
For libvirt core we still have a number of pending extensions, like support for new hypervisors, adding APIs for storage management which have been worked on by DanB, we also need to finalize a good XML scheme for 'partition' based virtualization, probably update OpenVZ, and add sound and more USB support. I will post on the list soon to try to clarify the roadmap, much work ahead !
Solution Linux
SL 08 was last week, it's the Linux event of the year where I'm sure to go, it was good seeing people around the Fedora and Gnome booth, and of course Red Hat one. My presentation on virtualization went well, even if it was more than 2 hour long, the PDF is available and a lot of people seems to have fetched it already, I assume it's a positive feedback from the audience :-)
China
I was for a month in China, what a blast! It's impossible to try to describe in just a few lines, but we went from the very cold Dalian and Beijing to tropical Xishuanbanna, most of the time within the chinese family and environment, picking only a few selected tourist spot. Things like Shanghai museum, the Great Wall or the Forbidden city are definitely must-go, but to me the most amazing was to stay and live with the chinese inside the family. The cultural gap is huge, there is so much to learn, too bad mandarin is so hard to an occidental brain (and ears), very challenging, but also very fun and enjoyable !
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:
GNOME updates in gutsy and hardy
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 pa