Gof's weblog Blog de Olivier Goffart

Aller au contenu | Aller au menu | Aller à la recherche

A bit of Plasma profiling.

I tend to have lot of windows: between 50 and 100 windows spreads over 9 virtual desktops. My taskbar only show the windows from the current virtual desktop (I don't understand why this is not the default yet).

Switching from desktop to desktop is very fast, but in KDE 4.1, the taskbar take several seconds to update the windows. This is not acceptable for my use. This blog will explain how I did to make it fast and use this as an example/tutorial on how to profile with valgrind/callgrind so KDE developers can keep their applications fast...

Kjeragbolten

Kjeragbolten Une photo de moi sur un caillou suspendu à 1 km au dessus du fjord. Il s'agit du Kjeragbolten. Situé dans le sud de la Norvège à plus de 5 heures de route de Oslo. (Et trois heures de marche dans la montagne)

I'm going to Akademy

Everything is in the title.

[1]

Notes

[1] This image is much more funny than the other one

Déménagement

Ça fait déjà une semaine que j'ai déménagé dans mon nouvel appartement. En voici quelques photos (sauf la dernière qui est prise à mon bureau)

De la neige

Enfin la neige est tombée hier dans la ville de Oslo après plus d'une semaine de températures sous zéro. Aujourd'hui il y a du soleil, et les enfants font de la luge dans les parcs. La rivière est gelée, c'est impressionnant au niveau des cascades. Ça donne de beaux paysages dans la ville.

Hier je suis allé en faire une randonnée hors de la ville avec deux collègues. Voici quelques photos Paysage Norvégien

Voyage à Oslo

J'ai donc pris l'avion avec toutes mes affaire pour quitter la Belgique pour une durée indéterminée. Merci à tout ceux qui m'ont dit au revoir. Arrivé à l'aéroport, j'étais tout contant de voir que tout était enneigé. Mais il n'y a pas de neige à Oslo.

Je n'ai pas encore internet à mon appartement temporaire. Je reste donc assez tard au boulot pour rester sur internet. Et c'est aussi une des raisons pour laquelle je poste mon blog seulement maintenant.

Oslo est une ville assez agréable. Il y a beaucoup de bars, de restaurants, de parcs, de rues piétonnes. Il y a assez peu de trafic dans la ville et les voitures s'arrêtent systématiquement pour laisser passer les piétons. Ce qui fait qu'il est agréable de marcher dans la ville et que on peut traverser toute la ville facilement.

Quelques photos

Working for Trolltech

Trolltech I have just started my first job. I had the chance to be hired by Trolltech. I'm now working in the Oslo office, in the Qt development team. Actually I'm working on fixings bugs on widgets and dialogs.

Working for Trolltech is wonderful so far.

Using your Webcam with Kopete and Jabber

Long time ago (end of 2006) I developed a patch to use your webcam with the Kopete Jabber plugin. I used the MSN webcam code 'as it' and wrapped it into XMPP XML. [1]

Here is the patch against Kopete 0.12 (in KDE 3.5) for those who want it: http://bepointbe.be/files/jabber_webcam.diff

Anyway, it has several negative issue

  • This is not a XMPP standard, so it only work with person who have applied the same patch.
  • It would be difficult for other client to include it (It was easy in Kopete because Kopete has an MSN implementation).
  • Because of that I do not plan to include it in any official release.
  • It doesn't use jingle, this is totally unrelated.

The only positive issue of this protocol is that it would be easy to implement it in the MSN gateway. But this has no real interest since only Kopete support it, and Kopete support MSN natively

It could also make happy linuxers that want to use their webcam without using the evil MSN. But they could also use other free conferencing software such as Ekiga.

Notes

[1] Microsoft probably did the same anyway: they wrapped an existing webcam protocol into the MSN one.

Server Archive Online Reader

One year ago, I developed a module for ejabberd to archive messages : mod_archive. Few time later, I also had developed an online reader in PHP that I never published. So I publish it now as it may interest people: it's located there : http://bepointbe.be/jabwebhist/

It use one old version of the XEP-0136, and is compatible with my version of mod_archive(version 0.0.4). [1]

It's a very basic implementation, but it could help someone who want to develop one better implementation.

Why is server archive important?

You probably already know why messages archives (also called logs) are usefull. To remember the URL/phone number/password/sample code/or whatever someone sent you over IM. Or simply to remember the last conversation with a contact. Most clients include a logging feature.

But what if I connect with several client, from different places (home, school, in friends, ...), or with webclient or mobile client? Logs are not always saved, or disparate.

That's the point of server archive. Every message you receive or send is saved on your jabber server, by your server. No matter which client you do use, or your location. And log may be available from every places.

Notes

[1] Process One developers upgraded mod archive to match with the new XEP-0136. My version is there

Looking for a job.

I've just finished my last year at the university, and got my diploma last week.

Now, I'm looking for a fun job.

I would be interrested to work in a foreign country (from Belgium). In a small company, with fun ambiance.

My interest are embedded or low level programming, but I'm open to almost everything as long as it is in development sector.

Continuing working on free software would also please me, specially for KDE.

As a free software developper, I have acquired a great programming experience. And my studies has provided me deep theoretical knowledge.

If you know a company that could interrest me, or if you are interrested by my profile, just contact me.

Get my CV

mod_otr: Man in the midle for OTR (module for ejabberd)

In the jabber world, almost every connection between different entities (clients and servers) are encrypted using TLS. But some people claim that it's not enough, because the server can still read the messages. The solution, for paranoic people that can't trust their server, is to use end to end (e2e) encryption, such as OTR.

OTR (for Off The Record messaging) is a protocol that make the e2e encryption easy. But it is vulnerable to the man in the middle attack, specially because the server can read and modify all messages. To prevent against this attack, user must check carefully the peer's fingerprint using another media, but honestly, who does that ?

Recently, Michael Zanetti announced he was working on an implementation of OTR for Kopete.
I have now a working implementation of OTR on the hand. And I decided to break it :-)

That's why I wrote mod_otr . It is a module for ejabberd, which do the man in the middle attack at server level. It will intercept message and decrypt them. It can be used in combination with the mod_logmnesia module which log all messages.

The problem I have with e2e encryption is that it make impossible some other desirable feature such as automatic message history on the server. [1] All the proposals of an easy to use e2e encryption suffer from the same problem. The lambda user don't really care about privacy, so they will never check their fingerprints.

Download

The source code of mod_otr is there:
http://bepointbe.be/files/mod_otr-20070329.tar.gz

The instructions about how to install are in the README file

Notes

[1] for which i have made an implementation, see mod_archive

Bonne année 2007

Je souhaite à tout le monde une bonne année 2007

I wish to everyone an happy new year for 2007

Mi bondeziras al ĉiuj feliĉan novjaron 2007

Notifications in KDE4 with KNotify

In KDE3, KNotify was already a very powerfull tool used for desktop notification. From the developer point of view this is done in few lines of code. And the advanced user may do almost everything.

Anyway there was still few limitations: The application had no control over the notification once it is fired. No way to add link on the popup or having persistant notification. In Kopete, we had to fork knotify and do some hack in order to add the "chat" link in the popup.

That's why, for KDE4 , I rewritten KNotify almost entirely. It has already more feature than the previous one. I did not anyway redesigned the UI yet. The popup is still as ugly as before, and the configure dialog as complex. But this will probably be improved later.

I've decided to blog about it in order to let developper know about possible stuff in their application.

Nouveautés

Ça fait longtemps que je n'ai plus écrit de billet ici, mais je ne suis pas mort. C'est juste les vacances.

Voici quelques unes des choses que j'ai faites dernièrement.

  • Divers petites chose dans les kdelibs (notament KAssistantDialog)
  • Un peu de travail sur KNotify. Les contextes fonctionnent bien. Kopete utilise maintenant KNotify entièrement pour la notification des messages, plus de bulle. Je ferais un billet spécifique à KNotify plus tard.
  • Support des URI xmpp: dans Kopete comme spécifié dans la RFC 4622 et la JEP-0147. Quand, dans Konqueror (version 4), on clic sur un lien du type xmpp:romeo@montague.net?message, ça ouvre une fenêtre de discussion de Kopete avec ce contact.
  • Andre a codé le support de la prévisualisation des images pour le transfert de fichier dans le plugin Yahoo Messenger de Kopete. J'en ai alors fait de même pour le plugin Jabber (voir capture d'écran). Et j'ai proposé ce qui sera peut-être ma première JEP Transfer de fichier avec prévisualisation
  • J'ai aussi un peu codé en erlang pour faire mod_arhcive, un une implémentation de la JEP-0136 pour ejabberd. Ça permet d'avoir l'historique de nos conversations enregistrée automatiquement sur le serveur. Il s'agit de la première implémentation de cette version de la JEP qui permet l'archivage automatique. Les implémentations existante se basait sur une ancienne version de la JEP dans lequel le client devais lui même stocker les messages sur le serveur. JWChat est à ma connaissance le seul client qui implémente cette JEP (dans son ancienne version).

Toutes ces améliorations seront bien sur pour KDE 4 (sauf mod_archive qui n'a rien à voir avec KDE).

De l'interêt des clients multi-protocoles.

Je ne veux absolument pas éloigner les utilisateurs de Kopete, que je considère très bien comme client Jabber uniquement. Par contre, je ne vois que très peu d'avantages à utiliser MSN directement par rapport à l'utiliser au travers d'une passerelle.

Dernièrement, mon cokoteur est passé de Gaim à Gajim, utilisant ainsi une passerelle MSN. D'après ce que j'ai pu voir il en est très satisfait. Il fut notamment contant de s'apercevoir que le transferts des fichier avec ses contacts d'MSN fonctionnais mieux en utilisant une la passerelle [1]

Prenons l'exemple de Kopete et MSN. Au niveau des fonctionalités, si on est pas un utilisateur de webcam, on ne perd quasiment rien en utilisant un transport au lieu du support natif. Il y a juste les wizz et les émoticons personnalisées qui ne sont plus disponibles.

Enfin soit, j'avais déjà expliqué ça il y a quelque mois, en plus détaillé, mais en anglais ici

Mais Kopete restera un client multi-protocoles. Bien que mon opinion soit clair, il faut admettre que le support natif a certains avantages. Et certains autre protocoles de messageries instantanée ouvert peuvent ne pas être implémenter sous forme de passerelles Jabber. De plus, j'aime l'architecture et le design de Kopete, modulaire, permettant le support de plusieurs protocoles.

Cependant, j'entends souvent des mauvaises langues dire que Kopete n'est pas un bon client Jabber, juste parce que c'est un client multi-protocoles. Je penses que Kopete peut très bien être utilisé pour Jabber uniquement sans que le fait qu'il soit multi-protocoles soit un problème, même su on préfaire utiliser des passerelles. Certes, Kopete a encore beaucoup de progrès à faire dans son implémentation de Jabber, mais il a déjà un très bon support à l'heure actuelle. Et on peu s'attendre à des améliorations significatives dans le future

En conclusion: utilisez Kopete , et n'hésitez pas à essayer les passerelles

Notes

[1] Forcément, la passerelle règle le problème du NAT, mais ajoute néanmoins un intermédiaire


Parse error: syntax error, unexpected ',' in /space_3/o/ogoffart/blog/ecrire/tools/bbclone/var/access.php on line 353