08 mai 2005

Imlib2 : 1 - ImageMagick : 0

Ces derniers temps, j'essayé mes prototypes sur de grosses bases d'images ; je travaille sur une base de 5000 pour le moment et j'espere pouvoir optimiser mon code pour travailler sur 10 000 (oui, je sais, ca ne paraît pas enorme ; mais vu les graphes que j'utilise ca bouffe vite beaucoup de mémoire).

Alors traditionnellement j'utilisais ImageMagick. Vu qu'il y avait visiblement une fuite de mémoire dans les bindings Ruby (quand on parcours 5000 images pour extraire leurs propriétés, c'est un peu gênant si la mémoire n'est pas liberée), j'ai essayé Imlib2, la bibliothèque de traitement d'image d'Enligthenment. Ça fait beaucoup moins de choses que ImageMagick, mais ça le fait de façon plus efficace.

Et je suis vraiment surpris : non seulement le problème de fuite de mémoire a disparu, mais en plus c'est 5 fois plus rapide. Bravo Rasterman !

29 avril 2005

Recette du Curry Japonais

Une fois n'est pas coutume, je vous donne une recette de cuisine japonaise : le curry. Comme vous le savez probablement, le curry est indien, mais il s'est repandu dans le monde entier et le Japon a "developpe" sa propre variante du plat au curry. J'essayerai de poster des photos plus tard.

Pour cela, vous aurez besoin de cubes de curry que vous trouverez dans une epicerie japonaise ou asiatique. C'est possible de le faire a partir de la poudre de curry qu'on trouve en France, mais c'est plus complique et je ne connais pas la recette.

INGREDIENTS

  • Riz
  • Viande (au choix : en morceau ou hachee ; boeuf, poulet ou porc)
  • oignons
  • legumes: pommes de terre, carottes, chou, champignons, etc. (mettez-y ce que vous voulez, par exemple des aubergines)
  • cubes de curry

Facultatif, selon votre gout:

  • herbes
  • vin
  • lait ou yaourt

Le RIZ

Vous pouvez utiliser du riz classique (indien) mais je profite de l'occasion pour vous donner la recette du riz japonais. Vous trouverez du riz rond (par opposition au riz long plus courant en France) un peu partout, il n'est pas vendu en sachets. Il est directement dans un sac comme du sucre ou de la farine.

- commencez par laver le riz 3 ou 4 fois avec de l'eau froide (mettez de l'eau, melangez bien puis tu enlevez l'eau).
- dans la casserole, mettz le riz puis de l'eau froide. En tout, le niveau de l'eau doit etre 2 fois le niveau du riz.
- laisser comme ca pendant 30min a 1h. Quand l'eau a bien impregne le riz, c'est bon.
- Obligatoirement couvrir la casserole, et apres avoir mis a chauffer ne jamais soulever le couvercle, meme pour regarder. Sinon la vapeur s'echappe et le riz seche.
- Au debut, a feu vif jusqu'a ce que l'eau bout (sans soulever le couvercle ! on voit que ca bout au bruit et au couvercle qui bouge)
- Ensuite, a feu doux environ 15 minutes (mais ca depend du feu) jusqu'a ce qu'on n'entende plus bouillir (ca veut dire qu'il n'y a plus d'eau)
- Enlever du feu, laisser comme ca avec le couvercle pendant 5 minutes.
- Enlever le couvercle, et melanger (bien ramener ce qu'il y avait au fond sur le dessus) puis remettre couvercle et laisser comme ca pendant 10 minutes. Quand vous melangez, faites-le avec une cuillere humide, sinon ca colle.

C'est pret !

Le CURRY

- Faire revenir les oignons a la poele
- Vers la fin, mettre la viande dans la poele (et sel+poivre). Vous pouvez mettre de la viande hachee (comme on avait fait) ou des morceaux de viande. Porc, boeuf, poulet... Comme vous voulez !
- Mettre tout ca dans une tres grande casserole. Mettez de l'eau (la quantite est ecrite sur le paquet de curry ; si vous ne savez pas, il vaut mieux en mettre pas assez que trop. On peut toujours en rajouter en cours de route, mais pas en enlever.)
- Quand l'eau bout, mettez les legumes coupes en morceaux (a votre gout: on avait mis des carottes, des pommes de terre et des champignons ; vous pouvez aussi mettre des aubergines, du chou... Ce que vous voulez.)
- La graisse de la viande forme une mousse blanche qui surnage : enlevez-la peu a peu, au fur et a mesure qu'elle apparait. Si c'est difficile ce n'est pas grave d'en laisser, mais c'est meilleur sans.)
- Quand les legumes les plus durs a cuire sont bien ramollis (quand on l'avait fait les pommes de terres n'etaient pas assez cuites) mettre les cubes de curry.
- Melanger sans s'arreter jusqu'a la fin de la cuisson, sinon ca risque de cramer au fond.
- Apres les cubes de curry, vous pouvez mettre diverses choses dedans : laurier, basilic, toutes les herbes que vous aimez... Certains mettent du vin, d'autres du yaourt ou de la creme fraiche pour l'adoucir.

Vous pouvez le manger tout de suite, ou alors refroidi puis rechauffe le jour suivant c'est tres bon aussi. Comme ca on peut se regaler deux fois !

Ensuite, on presente le riz et le curry separe et chacun melange dans son assiette.

10 février 2005

Mon Voisin Jon Il

Ces derniers temps, et comme d’habitude, les informations japonaises nous parle de la Coree du Nord. Quand on entend le discours des dirigeants nord-coreens, on a envie de rire - mais on se retient quand on sait ce que subit la population.

Dans la serie “les aventures de Kim Jong Il", depuis que je suis au Japon on a eu le droit a:

  • La Coree renvoie enfin les otages japonais ! Ils avaient ete enleves 30 ans plus tot alors qu’ils avaient environ 20 ans, pour former ses espions a la langue et aux coutumes japonaises. Apres de dures negociations, la Coree du Nord reconnait les avoir enleve et declare “De toutes facons on en a plus besoin, vous pouvez les recuperer. Mais la moitie, ben ils sont morts de mort naturelle, maladie, le truc classique.” Bon, ils avaient entre 20 ans et 50 lors de leur sejour, ca fait un taux de mortalite eleve.
  • La visite du fils du “leader” a Tokyo, avec un faux passeport… Pour visiter Disneyland. Il a ete arrete des son atterissage a l’aeoroport de Narita puis renvoye en Coree du Nord.
  • Episode plus recent : les parents de l’une des otages demande a recevoir les ossements de leur fille (l’incineration est traditionnelle, donc tres generalisee). La Coree accepte, et envoie des ossements. Resultats de tests ADN : c’est une personne differente.
  • La Coree du Nord accepte finalement de renvoye les vrais ossements ! “Desole, on s’est trompe…” Resultats des test: des ossements de deux origines ; une autre personnes, et des ossements d’origine animale. Reaction de l’opinion publique japonaise: “Elle est morte, c’est bon, on dit rien et on continue l’aide humanitaire. Mais ca vous sert a quoi tous ces mensonges sur les ossements ? Arretez de faire n’importe quoi !”
  • Le dernier rebondissment : au lendemain de la defaite de la Coree du Nord contre le Japon dans un match de qualification pour la Coupe du Monde, le regime de Pyongyang fait un communique a sa television publique : “D’abord y’en a marre, les japonais ils sont mechants a nous traiter de menteurs sur les ossements, et puis on arrete les negociations pour notre desarmement nucleaire. On garde nos bombes !”

Allez, pour finir deux liens un peu plus joyeux:

Mon Voisin Jon Il

Ma Coree du Nord Adoree

14 décembre 2004

Google Japan R&D

Depuis le 1er decembre dernier, Google Japon qui n’avait que des commerciaux a ouvert un laboratoire de recherche et developpement dans ses locaux de Shibuya, Tokyo.

A ce titre, Google Japon ouvrait ses portes aux etudiants, professeurs et professionnels de l’informatique pour son recrutement. Nous avions consigne de venir habilles “normalement”, tout le monde etait en jeans et pull – meme les pontes de Google ! La Californie et le Japon, ce sont vraiment des methodes de travail (et une ambiance de travail) differentes. Ca a du faire un choc a pas mal de japonais.

Wayne Rosing etait la, ainsi que les deux ingenieurs venus de Montain View pour diriger le nouveau laboratoire et six ingenieurs venus faire part de leur experience. Ca se passait principalement en anglais.

Bosser chez Gogle ?

Bien sur, l’objectif de Google etait de se presenter comme un entreprise attrayante, mais il faut reconnaitre qu’il savent comment faire pour attirer les ingenieur et les chercheurs.

  • Projets developpes en petites equipe de 3 a 5 persones;
  • Grande autonomie, ce sont les ingenieurs qui decident et pas un service marketing;
  • Les gens de Google developpent des outils utilises par des millions de personnes.

En particulier, les ingenieurs sont encourages a travailler 20% de leur temps sur un projet personnel. C’est par exemple le cas de gmail : un gars chez Google trouvait ca interessant, il en a fait un proto en quelques mois. Vu que ca sembalait prometteur il a pu y monter une petite equipe et finalement lancer le service.

Les cadres presents n’ont pas voulu dire combien de personnes ils comptaient employer : la reponse etait invariablement “autant qu’on trouvera de personnes intelligentes ! Si on a pas la place, on prendra un etage de plus.” Mais l’un d’entre eux a quand meme glisse que ca pourrait tourner autour de 30 personnes.

Un collegue etant motive par la recherche academique a demande pourquoi Google publiait si peu d’articles de recherche (“On voit souvent des gens de Google aux conferences, mais ils viennent comme auditeurs.” ) La reponse a ete assez evasive, Google n’est pas vraiment contre les publications mais ca vient surtout du fait que les ingenieurs/chercheurs n’ont pas envie d’ecrire des articles. Google publie quand meme les decouvertes qui, selon eux, ont un veritable interet pour la communaute scientifique, comme le PageRank ou Google File System.

Les projets de Google

Les gens de Google etaient la pour parler de leur recrutement, de l’ambiance de travail dans leur entreprise ; ils bottaient generalement en touche quand on leur posait des questions techniques… Secret industriel !

Par contre j’ai entendu dire qu’il y avait effectivement des gens qui travaillaient sur la recherche d’image par le contenu, on peut donc esperer avoir quelque chose de meilleur que Google Images (qui se fait distancer par ses concurrents).

Concernant GMail, d’apres Rosing les interrogations sur la vie privee (en particulier l’impossibilite d’effacer completement un email) sont dus aux ingenieurs, qui n’ont pas suffisement ecoute les gens des relations publiques. Dans la tete des ingenieurs, il y a de la place et un bon moteur de recherche, donc il est inutile d’effacer les messages ! On les garde tous. Les gens des relations publique les ont prevenus qu’il allait y avoir une levee de boucliers, mais comme ce sont les ingenieurs qui ont le dernier mot ca a ete lance comme ca. Le tir a ete rectifie et on peut maintenant effacer facilement un message. Par contre, on lit sur certains sites que quand le message est efface depuis l’interface, il reste sur les serveurs de Google ! Comment se fait-ce ? C’est simplement du au fait que Google se base beaucoup sur la redondance de donnees pour avoir de meilleures performances et une totale tolerance aux pannes (en gros, si un serveur qui hebergeait vos emails meure, il en reste d’autre et vous ne vous en rendrez pas compte). Rosing m’a tout de meme affirme que meme si la suppression sur l’ensemble des serveurs n’etait pas immediate, l’email efface finit par disparaitre.


Compte-rendu sur le Google blog

Recrutement Google Japan

19 juin 2004

Jean Reno Eyewear

Notre brave star nationale va bientôt avoir assez d'argent pour arrêter le cinema. Il fait des publicités au Japon depuis longtemps, mais je viens d'en voir une à la télévision où Reno dessinait des lunettes sur ses propres portraits pour trouver quelles montures seraient les meilleures. "Non, ça ne va pas... Ah, oui : comme ça !"

Résultat : toute une ligne de montures au nom de l'acteur de Léon chez Megane Top (megane ça veut dire lunettes, tout simplement). Il y a bien sûr les petites montures rondes, c''est le modèle "moi-même".

http://www.meganetop.co.jp/jean_reno/top.html

"De la part de Jean Reno, à tous les amoureux des lunettes, hommes et femmes."

22 mai 2004

Plaidoyé anti-anti-téléphones mobiles

Avec pour titre une contrepétrie aussi drôle que classique, M. Olivier Houdart du Monde nous sort un article pour taper (une fois de plus) sur les téléphones mobiles.

Résumé : Les utilisateurs de téléphones portables sont impolis, où va le monde, ah ma bonne dame je vous le demande ! (Et moi je me demande parfois où va Le Monde).

Je commencerai par répondre que les Français (on peut même dire les Européens du Sud) n'ont pas attendu ces téléphones mobiles pour ignorer complètement les bonnes manières. Plus simplement : un connard, même sans téléphone mobile, reste un connard. Le pauvre petit appareil fait pourtant de son mieux : aujourd'hui ils ont tous un mode vibreur, on a une messagerie vocale quand on ne peut pas prendre un appel et des messages textes pour communiquer quand on doit rester silencieux.

Encore, qu'un journaliste jette son fiel sur une invention récente n'est pas si notable ; il est même bien en retard dans le "mobile bashing", a moins de pratiquer ce sport depuis plusieurs années sans lassitude (chapeau bas). Mais je ne peux pas laisser passer la dernière partie sans rien dire.

[Il] existe un antidote à ces liaisons intempestives : des brouilleurs individuels de portables, disponibles sur Internet. Il suffit de taper brouilleur, ou jammer, sur un moteur de recherche.[...] Petit bémol : en France, ils sont interdits [...] mais quel bonheur d'usurper un peu de ces privilèges étatiques et de flâner avec autour de soi son petit halo régalien !

Formidable. Le Monde, le journal français qui fait référence nous incite à violer la loi, et nous dit comment faire. Qu'est-ce qu''on disait déjà, les Français ne respectent rien ? Si ces horreurs doivent rester interdites, c''est pour des raisons simples :


  • On est pas au Far West, chacun n'a pas a faire appliquer les règles - fussent-elles des règles élémentaires de savoir-vivre - lui-même par la force.

  • Ces engins emettent du bruit sur une large bande pour être sûr de bien tout bousiller. Résultat, tant pis pour le papy équipé d'un pacemaker qui traverse le "petit halo régalien" d'un maniaque anti-mobiles.
Dernier point : Petit bémol : en France, ils sont interdits (mais pas au Japon, où ils font fureur) nous dit le journaliste. Ils sont en vente libre, c'est vrai. On en trouve dans le quartier d'Akihabara a Tokyo. Mais j'aimerai voir les chiffres qui font écrire qu'ils "font fureur". Je ne connais personne qui en possède, et je ne pense pas m''être déjà trouvé dans le champs d'un de ces engins. Pourquoi les Japonais n''auraient pas recours à ces pratiques ? Parce qu'ils ont l'habitude de respecter les autres, que ce soit quand ils ont envie de téléphoner ou qu'au contraire ils n'aimeraient pas être dérangés.

19 avril 2004

Saisie Multilingue sous Linux

Ce qui suit a est destiné aux utilisateurs de Linux, cependant une bonne partie des informations doivent être valables pour tous les Unix, en particulier les xBSD.

Encodage

Pour résumer le problème des encodages, il faut rappeler que l'informatique nous vient des États-Unis. Par conséquent, les premiers ordinateurs utilisaient l'ASCII, codé sur 7 bits qui permettent de travailler sur 128 caractères. Les caractères accentués n'étaient pas utilisables, les caractères non romains encore moins.

Forcément, les Européens voulaient pouvoir saisir des accents, donc l'ASCII à été étendu a 8 bits, soit 256 caractères. C'est l'ISO_8859-1, qui est maintenant remplacé par l'ISO-8859-15. Mais bien sûr, pour les Japonais (ainsi que pour les Grecs, les Russes, les Coréens, les Arabes et quelques milliards de personnes qui ont une langue qui ne se base pas sur l'alphabet romain) ça n'a pas apporté grand chose. Chacun a donc établi sa propre norme, et le Japon ne compte pas moins de trois normes ! ISO, EUC-JP et SJIS. Sous Unix, c'est généralement EUC-JP qui est préféré.

Saisie du Français

J'imagine que vous savez déjà comment saisir du français : si vous avez un clavier français, aucun problème. Si vous utilisez un clavier américain, japonais ou autre, voici une astuce pour saisir le français ajoutez "keycode 0x73 = Multi_key" au fichier .Xmodmap qui se trouve dans votre répertoire "home". S'il n'existe pas, créez-le. Ensuite, lancez xmodmap ~/.Xmodmap depuis un terminal.

Saisie du Japonais

Il faut deux choses pour saisir du japonais :

  1. Un serveur qui tourne en fond et fait la conversion kana -> kanji quand on lui le demande.
  2. Une application côte interface graphique qui récupere la saisie, et demande au serveur de conversion les possibilités et permet à l'utilisateur de sélectionner de façon commode la bonne combinaison.

Serveur de conversion kana - kanji

Au choix, Canna, FreeWnn ou SKK. Pour ma part, j'utilise généralement Canna. L'installation dépend généralement de la distribution, mais notez bien que le serveur doit tourner en tâche de fond. Là encore, la façon de l'ajouter au scripts de démarrage dépend de votre distribution/système, mais c'est généralement automatique.

Chez moi c'est Canna, j'ai donc la ligne suivante quand je fais un 'ps aux' :

root 5035 0.0 0.1 1820 780 ? S 00:59 0:00 /usr/sbin/cannaserver

Interface graphique

kinput2

kinput2 était jusqu'il y a peu la seule interface graphique libre à fonctionner pour toutes les applis X Windows, donc on pouvait difficilement s'en passer. J'en parle ici parce que j'essaye d'être exhaustif, mais je vous recommande plutôt im-ja. Le seul intérêt de kinput2 sur im-ja, c'est qu'il ne dépend que de la Xlib. Le problème, c'est que c'est assez laid et très minimaliste. Mais ça marche. Pour kinput2, il faut necessairement avoir les variables d'environnement en japonais. Voici un exemple de script pour lancer un logiciel avec kinput2 :

#!/bin/sh
# Environnement japonais, mais messages en francais !
export LANG=ja_JP.utf8
export LC_MESSAGES=ja_JP.eucJP
export LC_CTYPE=ja_JP.eucJP
export LANGUAGE=fr
# On lance kinput2
export XMODIFIERS=@im=kinput2
kinput2 -xim -kinput -canna &
ooffice

Pour avoir en tout le temps la saisie en japonais, il suffit d'ajouter ces lignes a votre .xsession.

gtk-im et im-ja

gtk-im est le système de saisie pour les applications gtk+2 : très moderne et très pratique. Une fois que tout est installé, il suffit de faire un clic droit dans n'importe quel champ (en plein milieu de gedit par exemple) et on peut choisir "methode de saisie"->"japonais". C'est complètement indépendant des variables d'environnement.

On peut aussi configurer gtk pour lui dire que la methode de saisie par défaut c'est le japonais et ce sera indépendement des variables d'environnement.