Archives de l’auteur : Fab

Go XML sax-like parsing is slow

I wanted to write a Openstreetmap XML processor in Go language, hoping that I would get a performance boost from my Python implementation. And it ended being slower. Python is using Expat (written in C) and maybe the Go module «encoding/xml» is not the state of the art of optimization.

In wrote simple programs handling the event «start element». In 10 seconds, I could parse the following amount of XML data (Athlon II X4 620):

  • PyPy: did not run because of a bug (no progressive parsing)
  • Go: 70Mo
  • Python 2.7: 210Mo
  • Python 3.2: 215Mo
  • Java 7: 460Mo
  • C++ / libxml: 675Mo

I tried to use Expat or Libxml in Go, but for the moment it is just too complicated. In Go code, It’s easy to call C functions located in shared libraries, but if you need to pass callback functions written in Go to a library written in C, you will have to do dirty things (create wrappers in a Go module having C code).

That’s a pity because the Go compiler automatically generates C wrappers for your exported Go functions, but you can not get an raw pointer to these wrappers (this way I would have been able to pass my callbacks to LibXML or Expat)… See you later, Go.

Berlin, Paris, Tokyo, and their respective size

I asked myself what were the respective size of Berlin, Paris and Tokyo inside of the Ringbahn (S41/S42), the Yamanote and the boulevards des Maréchaux (that are between 33 et 37km long), so I know which one is the longest to visit by feet.This image was created using the pifomètre method (rough approximation). I have made screen-shots on Openstreetmap.org, and I have resized them to the same scale.

By selecting the inner zones of each city, I get the following values:

  • Paris: 646 000 pixels
  • Berlin: 638 000 pixels
  • Tokyo: 463 000 pixels

Obviously, the comparison is futile. Tokyo is much wider than the sole Yamanote inner side and is much more dense than Berlin.

Berlin, Paris, Tokyo, et leur taille

Je me demandais quelles étaient les tailles respectives de Berlin, Paris et Tokyo à l’intérieur du Ringbahn (S41/S42), de la Yamanote et des boulevards des Maréchaux (qui font tous entre 33 et 37km), histoire de savoir laquelle est la plus longue à parcourir à pied

Les cartes de Berlin Paris et Tokyo, l'intérieur de leurs lignes de métro circulaires respectives sont mises en évidence.

Cette image a été réalisée par la méthode du pifomètre. J’ai effectué des captures d’écran sur Openstreetmap.org, et ensuite, j’ai remis les images à une échelle commune.

En sélectionnant les zones intérieures de chaque ville, j’ai obtenu les valeurs suivantes:

  • Paris: 646 000 pixels
  • Berlin: 638 000 pixels
  • Tokyo: 463 000 pixels

Bien sûr, la comparaison est futile. Tokyo s’étend bien au delà de la Yamanote et me semble bien plus dense que Berlin par exemple.

OVH met fin aux offres ADSL bêta et gamma les moins chères :-(

Triste revirement d’OVH. Selon son fondateur sur la mailing list, certaines leurs coûtent plus qu’elles ne leur rapportent. Je comprends sans peine pour des offres bêta à 10€ (HT). Mais s’être planté dans la rentabilité pour les offres «gamma» (dont la no!tv à 24€TTC, qui me convenait bien), ça ne donne pas une image de fiabilité auprès du client.

Au début de l’offre, j’ai du attendre 3 semaines pour avoir le téléphone (plus 1 semaine de migration ADSL). L’IPv6 promis a mis 10 mois (bref, je l’ai depuis 2 mois) pour arriver. Si j’avais été méchant, je me serais plaint auprès de la répression des fraudes et demandé un remboursement. J’avais également acheté pour l’occasion des adaptateurs CPL pour remplacer ceux de Free.

Je vais donc sûrement repartir chez Free (sauf si ma ligne est considérée comme rentable pour OVH). Je vais payer un peu plus cher, mon boîtier télé va rester dans le placard, les débits Youtube seront ridicules, mais j’aurai de la fibre et un abonnement téléphone pour le micro-consommateur de mobile que je suis.

Saleté de spam téléphonique

Je reçois des appels de centres d’appels que je retrouve sur mon répondeur. Les saligots utilisent le numéro bidon « 000000000000 » pour passer le rejet automatique des appels masqués.

Certains appels sans numéro passent également. J’ai contacté le support OVH (qui m’a rappelé par téléphone; sur ce point-là il n’y a pas à dire, ils sont super-pro), et malheureusement rien ne peut être fait. Certains équipements indiquent que les appels ont un numéro d’appelant, mais celui-ci est vide. Les bloquer provoqueraient des faux positifs. Dommage…

Fix for Amarok2LibreFM broken by Amarok 2.5 (Kubuntu 12.04)

It seems that Amarok 2.5 (present in Kubuntu 12.04) has an issue with the scripting: tracks are notified twice, and lastfmsubmitd (used by the script Amarok2LibreFM) doesn’t like that: the tracks are not submitted or submitted twice to Libre.fm. I slightly modified the the script so it behaves as expected. Download the main.js and save it there:

~/.kde/share/apps/amarok/scripts/Amarok2LibreFM/