12/20/2006

Théorème Chinois

Suite à une petite discussion avec Wendell, une petite présentation du théorème chinois. Au 3ème siècle, Sun Tsu a développé une technique élégante pour compter le nombre de soldat de la Grande Armée chinoise. Il les fait s'aligner sur 13, 17, 19, 23 colonnes et compte seulement le nombre de soldat qui ne forme pas une rangée complète: petit schéma d'explication sur 3 rangs:
razzrazzrazzrazzrazzrazzrazz

razzrazzrazzrazzrazzrazzrazz

razzrazzrazzrazzrazzrazz

résultat: Sun Tsu ne compte que jusqu'à 2... Notons N le nombre de soldat de la grande armée et A le produit a1.a2.a3 ... Le problème s'écrit alors:
N = n1 [a1]
N = n2 [a2]
N = n3 [a3]
...
si on choisit a1, a2, a3 ... tels qu'ils soient premiers 2 à 2 alors N s'écrit sous la forme:
cool N=n1.n1.(A/a1) + n2.n2.(A/a2) + n3.n3.(A/a3)...
Comment calculer e1, e2, e3....? Ben en fait c'est super simple: il suffit de calculer e1 avec une identité de Bezout:
idea e1 tel que e1.a1 + n1.(A/a1) = 1
et donc arrow n1.n1.(A/a1) = n1 [a1]
à partir de là on vérifie facilement que la solution est la bonne modulo A. Voila Wendell : c'est ça le théorème Chinois... razz


12/19/2006

Un nouveau moteur de recherche: Special Photos

Je viens juste de découvrir un service nouveau : RIYA, qui permet de faire de la reconnaissance d'images. Mais quel peut bien être l'interêt d'un tel outil… Vous avez surement déjà fait une recherche d'image sur Google ou Flickr ? La majeure partie du temps vous trouvez tout et rien…rolleyes Si vous essayez de rechercher une voiture : vous trouverez des jeux vidéo au sujet des voitures et beaucoup d'autres choses… mais probablement pas ce que vous recherchez exactement, du moins pas dans les premiers résultats… Tout simplement parce que Google recherche dans le contenu de la page, qui contient l'image… mais pas l'image elle-même. Cela signifie que si je crée une page Web au sujet des voitures mais avec une photo de pizza : si vous recherchez la « voiture », vous trouverez probablement ma « pizza »twisted. C'est pourquoi Google veut créer des labels pour les différentes photos… et demande aux utilisateurs de marquer un certain nombre d'image qu'il leur présente comme jeu : très intelligent idea.
Riya fait cela seul, automatiquement et identifie les visages et lit directement l'information à l'intérieur de l'image. Vous devez ajouter votre images, et puis entraîner le système en selectionnant le visage d'une personne et en indiquant le nom associé à ce visage… Après la phase d'apprentissage le moteur de recher finit par faire cela seul… Imaginer maintenant que vous voulez trouver toutes images de Clint Eastwood : le moteur de recherche trouvera seulement les photos de Clint Eastwood… Vous voulez une image pas le texte avec l'image : le moteur de recherche indexe le contenu de l'image: c'est là toute la différence! Je ne sais pas la technologie qu'ils emploient mais les résultats semblent plutôt bons… biggrin

12/17/2006

Emoticons for Blogger

ça y est mon petit script pour Greasemonkey fonctionne razz vous pouvez le trouver à cette page: emoticons pour blogger ainsi que comment l'installer, je peux ajouter des émoticones dans mes billets sur Blogger: la preuve en image:


je trouve que les émoticones sont un moyen parfait et agréable pour faire passer un état d'esprit, une émotion ou un point de vue. C'était vraiment le plus gros manque de Blogger, mais grâce à Greasemonkey (une extension de Firefox) vous pouvez modifier la page à la volée lors de son chargement pour y ajouter les éléments dont vous avez besoin biggrin ce dont je me suis servi pour ce script. Ce qu'il me reste à faire est la possibilité d'ajouter l'émoticone à la position du curseur (pour l'instant l'émoticone est ajoutée à la fin du message).


12/16/2006

Mis à jour des clés Debian

Ce matin, en voulant mettre à jour ma Debian, je suis tombé sur ce message cry:
Lecture des listes de paquets... Fait
W: Aucune clé publique n'est disponible pour la/les clé(s) suivante(s) :
A70DAF536070D3A1
W: Aucune clé publique n'est disponible pour la/les clé(s) suivante(s) :
A70DAF536070D3A1
W: Vous pouvez lancer « apt-get update » pour corriger ces problèmes.
Dans ces cas là, deux choses sont envisageables: la version de la clé en mémoire à expire: il vous faut la recharger ou bien le serveur est compromis eek... Dans tous les cas, il vous suffit de recharger la clé pour vous assurer que tout va bien, pour cela en tant que root:
# gpg --recv-key --keyserver wwwkeys.eu.pgp.net A70DAF536070D3A1
gpg: requête de la clé 6070D3A1 du serveur hkp wwwkeys.eu.pgp.net
gpg: /root/.gnupg/trustdb.gpg: base de confiance créée
gpg: clé 6070D3A1: clé publique « Debian Archive Automatic Signing Key (4.0/etch) » importée
gpg: aucune clé de confiance ultime n'a été trouvée
gpg: Quantité totale traitée: 1
gpg: importée: 1
Si vous ne tombez pas sur ce message... C'est qu'il y a un gros problème et que le serveur a été compromis eek ... Ne rigolez pas cela peut arriver même aux meilleurs... Si tout se passe bien comme c'est le cas pour moi, il faut ensuite ajouter la clé au programme apt:
# gpg --export A70DAF536070D3A1 | apt-key add -
OK
on réessaye et tout fonctionne cette fois: youpi razz



12/09/2006

Firefox et Java

Vous est-il déjà arriver sur une page avec un applet java et que vous ne soyez pas capable de le voir... Voici la solution: il suffit d'installer dans un premier temps le java de SUN (sun-java5-jre)
apt-get install sun-java5-jre
le plugin qui va avec... Maintenant allez dans le répertoire des plugins de Firefox:
cd ~/.mozilla/plugins
et il ne suffit plus que de créer un lien symbolique:
ln -sfn /usr/lib/jvm/java-1.5.0-sun/jre/plugin/i386/ns7/libjavaplugin_oji.so ./
ça y est le tour est joué: amusez vous bien

Freemind sur ma Debian

Freemind est une application java, permettant de créer facilement des cartes cognitives. Freemind est publié sous licence GNU GPL. Il existe donc un paquet sous Debian ;-) Installons le... Mais lorsque vous essayez de lancer Freemind, vous allez vous retrouver avec une erreur du genre:
Exception in thread "main" java.awt.AWTError: Cannot load AWT toolkit: gnu.java.awt.peer.gtk.GtkToolkit at java.awt.Toolkit.getDefaultToolkit(libgcj.so.7) at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(libgcj.so.7) at java.awt.Window.(libgcj.so.7) at java.awt.Frame.(libgcj.so.7) at javax.swing.JFrame.(libgcj.so.7) at freemind.main.FreeMind.(FreeMind.java:68) at freemind.main.FreeMind.main(FreeMind.java:500) Caused by: java.lang.ClassNotFoundException: gnu.java.awt.peer.gtk.GtkToolkit at java.lang.Class.forName(libgcj.so.7) at java.lang.Class.forName(libgcj.so.7) at java.awt.Toolkit.getDefaultToolkit(libgcj.so.7) ...6 more zsh: exit 1 freemind
en fait il ne peut charger le toolkit gnu.java.awt.peer.gtk.GtkToolkit, qu'à cela ne tienne: installons le java de SUN: java-1.5.0-sun (jre) soit:
apt-get install sun-java5-jre
Réessayons... Même problème: cela signifie qu'il faut indiquer à Debian où regarder: ajoutons donc ces deux petites lignes:
export PATH=$PATH:/usr/lib/jvm/java-1.5.0-sun/bin
export JAVA_HOME=/usr/lib/jvm/java-1.5.0-sun/
La première indique où regarder pour trouver l'application Java, et l'autre où regarder quand on a démarrer Java pour les librairies et autres... Réessayons: ça marche

12/07/2006

Casino Royal

Le dernier James Bond... Je dois avouer, qu'étant trop jeune pour avoir pu apprécier les James Bond de Sean Connery... Je préférais de loin Pierce Brosnan, même s'il était un peu vieillissant... J'étais donc un peu curieux de voir Daniel Craig incarner le célèbre agent secret au service de sa majesté... et je n'ai pas été déçu: il est parfaitement à son aise dans le costume d'un 007 qui vient juste d'être promu double 00. D'ailleurs savez vous ce que signifie 007? Le premier 0 signifie qu'il a le droit de tuer, le second qu'il l'a déjà fait et le 7 est là pour rappeler qu'il est le 7ème agent. Vous verrez donc les premiers meurtres de James Bond... mais contrairement aux James Bond précédants excepté "Meure un autre jour"... Daniel Craig s'en prend plein la figure (pour ne pas citer d'autres parties de son anatomie)... et l'intrigue n'est pas trop plate ;-) Un très très bon divertissement: de l'action mais avec un fond: du très grand James Bond ;-) à aller voir ;-)


Petite paranoïa passagère...

ça y est ça me reprends... Je ne veux pas que Big Brother regarde au dessus de mon épaule à chaque fois que je fais une recherche sur Internet... Donc aidé de mon fidèle Renard, j'ai installé quelques extensions pour rendre la vie un peu plus difficile à Yahoo, Google ou MSN...
  1. CookieCuller: il vous permet de spécifier quels sont les cookies intéressants et que vous voulez garder... Une fois la sélection terminée, il suffit d'aller dans
    Edit > Preferences > Privacy et d'indiquer tous les cookies à la fermeture de Firefox... Ne vous inquiétez pas CookieCuller protège les cookies que vous avez sélectionné: ces dernier seront encore là au prochain démarrage de Firefox.
  2. TrackMeNot: j'aime bien ce nom, qui ressemble un peu au contraire de ForgetMeNot... Cette fois vous aller inonder (à raison d'une requête par minute, par défaut) les grands moteurs de recherches avec des recherches bidons du genre Pamela Anderson, Truck, Irak et j'en passe... Vous pouvez même personnaliser cette liste ;-)
  3. BlackBox Greasemonkey Extension: cette extension renvoie toutes vos requêtes faites sur Google, Yahoo ou MSN vers le site BlackBoxSearch qui est un proxy sécurisé...
ça ce n'est que pour la première partie... Je pense que je vais installer Privoxy et Tor, pour finir de disparaitre des bases de données des géants de l'Internet...


12/06/2006

Métaphore de la virtualisation

Il y a quelque temps, j'ai assisté à une conférence au cours de laquelle un intervenant a utilisé cette métaphore pour explique le principe de la virtualisation au sein de l'entreprise:
Imaginez que vous utilisez Google Earth, que vous zoomez Place de la Concorde à 18H. Vous voyez l'obelisque et plein de voitures... C'est un véritable cauchemar plein d'embouteillage et où on n'avance pas. Vous zoomez encore et vous vous apercevez que dans chaque voiture il n'y a qu'une seule personne... Imaginez maintenant que vous pratiquiez le co-voiturage... dans chaque voiture il y a 5 personnes maintenant: ce qui signifie que sur la place de la Concorde, il y a 5 fois moins de voitures... Le trafic est fluide... Mais encore faut-il que toutes les personnes au sein d'une même voiture veuillent aller dans la même direction... C'est ça les promees et les difficultés de la virtualisation...

J'ai adapté un peu parce qu'il ne parlait pas de co-voiturage mais de bus... Ce qui est bien mais qui suppose de changer toutes les machines... ce qui en matière de cout n'est pas vraiment optimal... Surtout que des solutions comme Xen, Qemu ou VmWare sont quasiment multi-plateforme... Je voulais seulement partager avec vous ce petit moment de poésie ;-)


12/05/2006

Vague de spam...

Est-ce moi ou bien y a-t-il une recrudescence du spam... ou bien est-ce le moteur d'anti-spam de Gmail qui n'est plus à la hauteur...? Dans tous les cas voici le genre de spam que je reçois depuis quelque temps... Il vous noie le moteur anti-spam avec un charabia qui semble normal à une machine mais qui ne signifie absolument rien pour un être humain... J'ai beau les signaler à Google régulièrement... Rien ne change... J'en ai déjà éliminé une partie grace à une série de filtres, mais c'est un peu une rustine... M'enfin, je me demande ce que les spammeurs veulent faire passer avec ce genre de truc:

When companies falter or are under-valued they quickly get scooped off of the public markets. So what happens when you extrapolate an estimate based on two measurements of differing certainty?
Clients include AOL, eBay, MySpace, plus virtually every major interactive agency in the US. OK, then, on to Excel. I disabled trackbacks on my site because of spam. Asa Julian showed up a week and a half early this Saturday afternoon.
And I was trying to read the article about it over her shoulder, while she open and closed windows, checked her email, and otherwise made it hard for me to read anything on her screen. I'm arguing that the most attractive equity returns are being systematically removed from the pubilc markets. Public companies are being taken private to avoid costs and to take better risks with their capital beyond what Wall Street's quarterly thinking allows.
It just gives an answer. How many cells are there in the total sample?
It just gives an answer.
Efficient markets, perfect information, etc. Not much room for new sites in that flow.
Instead, the borrower signed a contract guaranteeing the payment of a certain percentage of their post-graduation income. Not sure how I'm going to deal for a week until the replacement arrives.
If they need to find something, they Google it. How many cells are there in the total sample? But, a SWEAR BEAR that says EAT SHIT and. And the nursing staff at Beth Israel hospital is soooo nice.

12/02/2006

Flash Player 9.0 pour Linux

Youpi, ça y est, je vais enfin pouvoir jouer aux jeux flash et pouvoir profiter entièrement du Web 2.0 basé sur Flex2.0. En plus pour une fois rien de difficile: c'est l'enfance de l'art ;-) il suffit de récupérer le plugin à cette adresse:
http://www.adobe.com/go/fp9_update_b2_installer_linuxplugin
vous le décompressez et il ne suffit plus que de copier libflashplayer.so dans votre répertoire utilisateur des plugins de votre renard préféré (Firefox), ce doit être quelque chose comme: ~/.mozilla/plugins/ ... ça y est redémarrez le renard et en route pour tous les sites en flash (vous pouvez tester un jeu MacDo) And now enjoy ...