Jabber clients and OS usage stats

I used XMPP4R to do some stats about Jabber clients usage on the Apinc Jabber server, which hosts im.apinc.org, jabber.fr, and many more using virtual hosting.

The stats were done by sending jabber:iq:version requests to online users, and 651 replies were received. It was done at 6:30 PM, french local time. Here are the results :

Systems :

  • GNU/Linux : 34% (226)
  • Windows: 34% (223)
  • MacOS : 23% (150)
  • Others (AmigaOS, FreeBSD, NetBSD, OpenBSD, SunOS) : 1% (7)
  • Unknown (Gaim doesn’t always report the sytem) : 6% (45)

Clients :

  • Psi : 28% (186)
  • gaim : 25% (166)
  • iChatAgent : 18% (121)
  • Kopete : 7% (46)
  • libgaim : 3% (23)
  • Gajim : 3% (23)
  • Pandion : 2% (18)
  • Trillian : 2% (16)
  • Miranda : 1% (13)
  • neos : 1% (10)
  • Exodus : 1% (8)
  • BitlBee : 0% (6)
  • Tkabber : 0% (4)
  • Imendio Gossip : 0% (3)
  • JAJC : 0% (2)
  • webjabber.net : 0% (2)
  • Gabber : 0% (1)
  • Jabberwocky : 0% (1)
  • Mafia : 0% (1)
  • JETI : 0% (1)

The results might be biased by the facts that :

The script to do the mass-jabber:iq:version sending is available in the XMPP4R SVN repository (data/doc/xmpp4r/examples/advanced/versionpoll.rb). The ruby script to analyze results can be sent on demand. So please run the scripts on your servers :-)

"Faux" espaces avec Ubuntu

Depuis que j’utilise Ubuntu, j’ai un problème assez embêtant. De temps en temps, je tape un espace, et ça fait des choses comme ça :

***lucas@blop:~$ ls | grep a bash:  grep: command not found

Plutôt étrange, non ? Après des mois où j’ai simplement accepté ce petit désagrément, j’ai pris le taureau par les cornes et j’ai essayé de comprendre.

Le caractère qui s’affiche n’est pas un espace (code ascii 0x20) mais un espace insécable (code ascii 0xc2a0). Oui, mais pourquoi s’affiche-t-il sous Ubuntu, et pas sous Debian, par exemple ? En fait, le clavier “français” par défaut sous Ubuntu est fr-latin9, alors que sous Debian, on utilise généralement fr. Et si on regarde /etc/X11/xkb/symbols/fr, on comprend vite le problème : fr-latin9 complète fr en rajoutant plein de caractères accessibles via la touche ALTGR. Par exemple, Ë s’obtient avec ALTGR + Maj + d. Le comportement de la barre d’espace change également, avec l’envoi d’un Nobreakspace lorsqu’on fait ALTGR + espace.

En tapant “ls | grep a” je relâche parfois ALTGR après avoir appuyé sur espace, d’où l’apparition de ce caractère.

Solutions : il y en a plusieurs.

  • Utiliser fr à la place de fr-latin9 en supprimant Option “XkbVariant” “latin9″ dans /etc/X11/xorg.conf (ne pas oublier de redémarrer X ensuite, évidememment).
  • Utiliser xmodmap pour modifier le comportement de la barre d’espace avec la commande xmodmap -e “keycode 65 = space space space NoSymbol space” ou simplement xmodmap -e “keycode 65 = space”. Pour que le changement soit durable, on peut ajouter keycode 65 = space à son fichier .xmodmap.
  • Apprendre à taper : oui, mais c’est dur, car on ne voit pas la différence entre un espace insécable et un espace. Certains éditeurs permettent d’utiliser des mappings pour remplacer certains caractères. Dans vim, par exemple, on peut utiliser imap <espace insécable ici> X. Ainsi, les espaces insécables sont remplacés par des “X”, et plus facilement détectés.

La liste des combinaisons de touches disponibles est visible dans le fichier /etc/X11/xkb/symbols/fr. Je la recopie ici :

//  ____                                     _________ _____________ _______ // | S A| S = Shift,  A = AltGr + Shift     | Imprime | Arrêt défil | Pause | // | s a| s = normal, a = AltGr             |  Exec   |             | Halte | //  ¯¯¯¯                                     ¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯¯¯¯¯¯¯ ¯¯¯¯¯¯¯ //  ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ ____ _______ // | ½ "| 1 ·| 2 É| 3 ,| 4 '| 5 "| 6 || 7 È| 8 ¯| 9 Ç| 0 À| ° ÿ| + °| | | a â| z å| e ¤| r ç| t þ| y ý| u û| i î| o ô| p ¶| ^ ~| £ ê|   | W  | X  | C  | V  | B  | N  | ?  | .  | /  | §  |     ^     | // | |   |