Archives de l’auteur : Fab

Résolution de dysfonctionnement avec Anthy, Anki et Firefox

Voila deux problèmes que j’ai rencontrés (et contournés) avec Anthy (permet de saisir du japonais) sous Kubuntu.

Tout d’abord, la saisie de texte japonais avec Anthy ne fonctionnait des fois tout simplement pas dans Anki lors de la création/modification d’une carte. Rageant, non?! Un contournement simple: sélectionner temporairement le champ «marqueur», puis revenir dans un des champ de la carte. Et voila, Anthy fonctionnera à nouveau!

Un autre: des fois, la barre d’URL de Firefox (un petit moteur de recherche à elle-même) ne complétait plus les caractères saisis. C’était dû à un conflit avec Anthy. Quand cela arrive, je passe en mode Anthy, puis repasse en clavier français (bépo dans mon cas). Et hop, le complètement automatique revient.

MyKanji 0.3

J’ai écrit une petite extension pour Firefox permettant de voir dans une page les kanjis que je n’ai pas encore appris. On peut l’installer depuis cette page (pas encore vérifié par Mozilla), et les sources se trouvent sur GitHub.

Comment cela fonctionne-t-il?

  • Phase 1: installation et configuration
    • installez le module
    • mettez dans le presse-papier un texte contenant les kanjis que vous connaissez. Par exemple en faisant un export texte d’un paquet Anki, et en copiant le contenu de ce fichier texte.
    • cliquez sur le bouton «文» dans la barre d’outils.
    • dans la zone de texte, coller le texte que vous avez préparé
  • Phase 2: utilisation
    • dans une page web, sélectionnez du texte ou toute la page (control-a)
    • ouvrez le menu contextuel (clic droit) et sélectionnez «Mes Kanjis»
    • vous obtiendrez la liste des kanjis inconnus, avec leur niveau

Quelques mots « français » traduits en japonais

Quelques mots français traduits en japonais (surprise!):

  • kimono (pas celui de judo, l’habit traditionnel) ⇒ wafuku (和服, «vêtement japonais»)
  • saké ⇒ nihonshu (日本酒); en japonais sake est un terme générique pour les boissons alcoolisées
  • hara-kiriseppuku (切腹)
  • sumo (le lutteur, pas le sport) ⇒ rikishi (力士)
  • ju-jitsujūjutsu (柔術)

 

Cassé et réparé mon clavier Typematrix

En attrapant mal mon clavier, deux touches de celui-ci ont jouées les filles de l’air, et l’articulation (entre la touche et le boîtier) d’une d’entre elle s’est malencontreusement cassée… Heureusement, j’avais conservé mon ancien clavier (tombé en panne et gracieusement remplacé par Typematrix). La procédure pour démonter et remonter les touches s’est avérée assez simple. Il a juste fallu être délicat pour que les pièces se déclipsent (et qu’elles ne se brisent pas en deux). Une pince à épiler m’a été utile.

Microbenchmark: Expat outperforms Java and libxml2 in SAX parsing

I needed an XML parser for my tests with Rust (parsing a gigantic 2Go Wikivoyage XML dump) and there is no native one. So I would need a wrapper around a C implementation. At first, I used libxml2, because it has a very appealing name it has a very convenient XmlTextReader API where you are controlling the parsing loop (no callback like in SAX).

I wondered how it compared to the StAX API of Java, and made a simplistic test printing (to /dev/null) the names of all the nodes. And surprise, StAX was way faster:

  • the StAX (openjdk-7, Ubuntu 14.04, amd64)
    • 35 seconds
    • Memory usage: 30 Mo
  • XmlTextReader API of libxml2 (2.9.1), g++ 4.8.2
    • 50 seconds
    • 3.5 Mo

Then I made tests with SAX, comparing the default Java implementation with libxml2 and finally also libexpat 2.1:

  • Java: 30s (39Mo)
  • libxml2: 34s (2Mo)
  • libexpat: 21s (180ko)

Conclusions:

  • the Java implementation seems quite good (at least in this particular scenario)
  • libexpat is quite fast, but it’s SAX and not pull-parsing (which is very convenient)
  • if you are processing huge XML files, forget about libxml2