I am nothing, no one, nobody, no more

Get out of life alive le blog de SnippyHolloW.

Archive pour la catégorie ‘geekerie’

« Articles plus anciens

Opera Unite

Mardi 16 juin 2009

Pour ceux que ça intéresse, la nouvelle version d’Opéra inclus un serveur web qui tourne avec le browser et vous permet de lancer des services. Si la mayonnaise prend, gageons qu’il va vite y avoir l’embarras du choix (avec l’API).

Dans l’idée, c’est bien. Je suis plutôt “pour” que le web se décentralise, que chacun ai son webserveur, son serveur jabber wave, son serveur de fichiers, et son PQ. Dans le fond toujours, on a vraiment maintenant des connections et des machines qui peuvent faire tourner leurs propres web serveurs sans vrais problèmes, sauf pour du gros streaming bien sûr, d’où ma préférence pour le p2p pour les fichiers.

Par contre, on a un problème avec le nombre de connections firewallés dans tous les sens. À la maison ça va très bien (et le serveur perso devrait être à la maison) pour quiconque sait configurer sa box. Mais alors c’est quoi ce morceau de flûte où on voit M. et Mme Michus avec leurs laptops dans un parc qui communiquent par une boule orange ? Déjà pour l’effet de shader, on est loin. Mais alors pour Opera Unite sur du wifi public, j’attends de voir (oui j’ai lu ça, mais ça va en fait du traffic). Sur le fond toujours, ça fait aussi bon gros trou de sécurité (le password dans l’url sans SSL). Beaucoup trop clair pour moi. Vais-je me retrouver avec du spam sur le réfrigérateur et des leechers qui vont écouter (illégalement) ma musique (par ma faute et donc je vais payer à Super Albanel). Sur la forme maintenant, pourquoi est-ce que ce joli monde où on aboli les serveurs centralisés pour que tout le monde devienne son propre provider de contenu doit-il passer par operaunite.com ? Et puis on n’a tjs pas les sources d’Opéra.

Soirée Française SIGGRAPH 09

Vendredi 29 mai 2009

Juste pour vous faire partager un lien refilé par des amis dans les “computer graphics” parce que je pense que ça en intéresse plus d’un. (On peut même en voir un sur la première photo) Au programme : courts métrages et recherche en 3D.

This is the beginning of a set of articles in English and marked as [GSoC], standing for Google Summer of Code. I am working on The Apertium Project (Apertium’s wiki, wikipedia), I will here present my project, what I have done and what is the very next step.

The Apertium Project

Apertium is an free software machine translation (MT) platform that first began with closely related languages like Catalan-Spanish-Galician and so on… The goals of the project are mainly:

  1. to provide an “human comprehensible” translation for language-pairs that are not well supported by other MT engine and/or that are closely related.
  2. to be good (efficient) for build MT systems for smaller languages with little of no parallel corpora.
  3. to be fast.

It is indeed also a sandbox for linguistic researchers. My supervisor has been working on Welsh-English and Breton-French pairs for example.

My project

My project is to build a multi-engine translation synthetizer for Apertium. Why? Because multi-engine machine translation (MEMT) researchers have shown that it could lead to improvements and Apertium’s translation is far from being perfect. Are Google translate or Systran perfect? No! We would like to combine the strengths (and not the weaknesses!) of different open source (free software compatible) engines. One of them is Moses, a statistical machine translation engine (MTE). As it is very different from Apertium, which is a ~shallow transfer ruled based MTE, we hope that it would enable us to use this differences to make a better translation by merging two translations: one from MOSES, one from Apertium.

The project would be to generate different hypotheses from the “best” possible combinations of the two translations and then to rank them and propose the better one(s). It should be able to deal with other MTE than Moses so the hypoptheses generation will be “generic” (syntactic). My part of the repository for this project is here, there is also my page on Apertium’s wiki. People that are interested in more details can consult my proposal (pdf).

What has been done

The strong point of Moses is that it needs only a corpus with pairwise traductions of phrases to statistically learn a pair. The weak point with MOSES is that it is very slow with big phrase-tables. Spectie (my beloved mentor whose name should be preceded by “Ô”) provided one corpus for Welch-English (cy-en) that will be used as . The generated phrase-table has to be shrinked down (it is currently 2.62 GB big) using statistical methods: Fisher exact test on frequencies of pairs. What I have done until now was to implement Johnson, J.H., Martin, J., Foster, G., and Kuhn, R. (2007): Improving Translation Quality by Discarding Most of the Phrasetable. My implementation prunes 30k lines in 6min. This time can still be lowered, but I have a lot of others things to do right now.

And the next step

We will compute both traductions and then merge them to form a composed traduction better than Apertium’s or MOSES’ alone. Easy? The very next step is to generate the aligment for words from both traductions. The first implementation that I will do will be a pair-wise (word to word) alignment and apply some kind of “minimal crossing edges” heuristic. To get the idea, it would be trying to minimize the crossing number on a word to word alignment. I don’t state that this is the way to align two hypotheses, and this is “already worked on” stuff. There are already other things in the TODO list that can be found in my proposal. This is for our next rendez-vous.

10 réactions chimiques sympa

Des vidéos jolies et/ou mignones sur Linux dont :
http://www.vimeo.com/3771567

Le Calvin and Hobbes le plus triste :

Et 2 clips trouvés grâce à un pote (dans l’ordre, celui qui fout le blues en premier et celui qui rend le sourire ensuite) :
YouTube Preview Image

YouTube Preview Image

EDIT : J’oubliais de vous dire comment ma chérie est plus géniale que celle de Sarko’ :

Sinon mon capteur est toujours crade, c’est gras : je pense à du pollen, et il va donc falloir passer au kit. Tout ce que j’ai pu tenter n’a fait qu’étaler le gras. :/

iD Software en 1993

Mardi 7 avril 2009

http://www.vimeo.com/4022128

Et même avant :

Source : http://rome.ro/

[Photo ?] Video depuis jpegs

Vendredi 20 mars 2009

Ce qui suit est plutôt un détail technique qu’un conseil artistique. J’explique comment, en 2 lignes de shell (qui utilisent 2 programmes) vous pouvez convertir une série de photos en une vidéo. Ceux qui ont un Pentax k20d, je vous rappelle qu’il fait du 21fps en 1536×1024 même si il n’y jamais de pub là-dessus.

Sur votre distribution Linux / BSD préférée où votre Mac, vous pouvez facilement installer deux programmes : jpeg2yuv et ffmpeg. Sous Windows, je sais que ffmpeg est également disponible mais pour faire jpeg to yuv … Je ne sais pas.

On a un dossier contenant une série de jpegs, chez moi ce sont des IMGPxxxx.JPG avec xxxx qui commence à 6598. Donc j’utilise cette commande :

snippy:video snippy$ jpeg2yuv -f 15 -j IMGP%04d.JPG -b 6598 -I p >> result.yuv

-f pour framerate, -j pour le format du nom de fichier (%04 digits), -b pour commencer avec la IMGP6598 et -I p pour interpolation progressive

Puis un coup de :

snippy:video snippy$ ffmpeg -i result.yuv -b 6000k blur.avi

avec -i pour l’input et -b pour spécifier le bitrate (en bits/s).

Et le tour et joué ! Ça donne des trucs comme ça :

Flickr Video Flickr Video

Si vous voulez recouper ou réduire, n’oubliez pas ImageMagick.

Et pour finir, ma vignette de la journée :
mother_and_son

Et apparement, les gens de l’Illinois ne veuillent pas vieillir. Un petit peu de sentiment patriotique mal placé combiné au fait que l’astronome qui a découvert Pluton était de l’Illinois et hop (boom) ! C’est un peu la réponse de pluton ! Toujours dans le même blog, on trouve qu’un sénateur américain bien corrompu (et con, sans doute) veut obliger les chercheurs à publier dans des revues payantes. Alors que, vraiment, le libre échange d’informations est crucial au succès de la recherche. On n’est plus au temps de Lavoisier [1] où il suffisait d’être un gentillhomme éduqué et libéré des carcans de la religion pour découvrir quelque chose dans l’immensité de l’ignorance scientifique de l’époque. Il est nécessaire d’avoir étudié plusieurs préliminaires et de s’appuyer sur les travaux des autres pour avancer (qu’aurait fait Einstein sans Poincaré ? à cette époque déjà !). Ça me fait penser aux brevets, tiens ! Mais tout ceci est une autre histoire …

[Appengine] Les RSS sont là

Jeudi 5 mars 2009

Après une petite hésitation,  j’ai implémenté les RSS en allant au plus simple. Il faudrait vraiment que je refactore ce bout de code mais bon, on verra quand j’aurais eu le courage d’implémenter OAuth.

http://hnewsfr.appspot.com/

Sur une idée de Jye, je me suis escrimé à tester le framework tout nouveau tout beau de Big Brother. C’est plus un exercice qu’une killer webapp mais vous pouvez tester l’engin (béta) ici : http://hnewsfr.appspot.com/

Il manque les RSS (soon) et on ne peut encore se logguer qu’avec un compte Google, le prochain truc à implémenter est donc quelque chose comme OAuth (OAuth lui même me paraît bien !).

Les (très fins) observateurs auront remarqué que je tiens une page à droite sur ce petit projet. Le code est en Do What The Fuck You Want Public License et se trouve ici : http://github.com/SnippyHolloW/hnewsfr La CSS m’a gracieusement été faite par ma copine. Le hack (très moche) pour simuler une tâche cron (on ne peux pas en faire sur l’Appengine) qui recalcule le rang va vite dégager, ne serait-ce que parce que le serv d’Appengine ne fonctionne pas comme celui de dev et qu’il ferme très vite le fichier python si ce dernier est inutilisé donc peut-être vaut-il mieux calculer le rang au début du fichier et faire confiance au fait que “fichier python non clos = activité des utilisateurs = liens soumis”, auquel cas on recalcule le rang. Tout comme la formule de classement (rang), c’est à expérimenter.

C’est à peu près tout pour l’instant ! Si ça en intéresse certains :

  • Je peux faire un rapide How-To / Tuto didactique de comment je m’y suis pris (comment on utilise Appengine en gros) et vous pourrez vous moquer de mes erreurs …
  • Vous pouvez tester toutes les failles de sécu qu’il peut y avoir et je serais ravi de les corriger … si vous ne le faites pas !
  • Vous pouvez donner des idées de features et/ou les implémenter (mais je préfère garder mon code léger perso, c’est WTFPL anyway).
  • Je n’ai pas spécialement envie de l’administrer, si vous voulez en faire un vrai site, vous pouvez le prendre le code ou demander à ce que je vous mette admin sur mon appspot.

Moi le premier ! Mais là je vous écris en dual screen depuis le Japon sur mon bon vieux Macbook Pro (Santa Rosa). J’ai Firefox 3 avec une 20aine de tabs, Google AppEngine SDK, 2 Vim, un latex qui tourne de temps en temps, Macports qui compile des packages (là c’est GCC), un programme de résolution en Java qui tourne depuis 2h et qui va pas s’arrêter de si tôt, 4 pdfs d’ouvert, deux gros documents office (xlsx) ouverts dans OOo, mon iTunes continue de me jouer les Gun’s sans interruption et mes changements de bureaux (4×2) se font de manière fluide. J’ai les archi-bases en OS et processus concurrents : c’en est quand même bluffant !

Il a bien raison l’acteur …