Le cyberblog du coyote

 

Extra

Editorial

Ce blog a pour objectif principal d'augmenter la culture informatique de mes élèves. Il a aussi pour ambition de refléter l'actualité technologique dans ce domaine.

mardi 26 mai 2009

Le robot le plus petit jamais inventé: la taille d'une bactérie !

Ce robot a pour but d'appliquer certains traitements dans le corps humain, en quantité et aux endroits adéquats. Il ressemble à un tire-bouchon et se déplace grâce à son flagelle, comme certaines bactéries. Dénommé ABF (Bacterial Artificial Flagella), il a été étudié et conçu par le laboratoire Robotique et Systèmes intelligents de l’Ecole fédérale polytechnique de Zurich.


Robot ABF - Laboratoire Robotique et Systèmes intelligents de l’Ecole fédérale polytechnique de Zurich.

Sa taille est de 25 à 60 µm. Son "corps" est composé de plusieurs couches superposées d’iridium, de gallium, d’arsenic et de chrome, qui ont été découpées en rubans. Sa "tête" est composée de chrome, de nickel et d'or. Son déplacement est réalisé grâce à un champ magnétique. Le nickel réagit à ce champ et un logiciel (Un logiciel ou une application est un ensemble de programmes, qui permet à un ordinateur ou à un système informatique...) dirige le robot vers une destination spécifique à une vitesse de 20 micromètres par seconde.
Lors des premiers tests effectués, ce robot a été capable de transporter des microsphères de polystyrène. De nombreuses améliorations sont encore nécessaires, telle que la précision des déplacements, ou encore arriver à stopper le robot une fois la mission accomplie.
A terme, nous pouvons imaginer que ce robot pourrait être capable d'administrer des doses de médicament, ou encore d'éliminer les plaques d'athérome obstruant les artères et pouvant être à l'origine d'infarctus du myocarde...

Sources : Site de l'IRIS, Techno-Science

samedi 23 mai 2009

Commander son ordinateur par la pensée avec OpenVibe

Lancé en 2005 par l'Institut national de la recherche en informatique et en automatique (Inria) et l'Institut national de la santé et de la recherche médicale (Inserm), le projet OpenVibe permet de commander son ordinateur par simple pensée. C'est ce que l'on nomme une interface BCI ou Brain-Computer Interfaces.
Pour l'instant, pour que le logiciel fonctionne, l'utilisateur doit se munir d'un casque électroencéphalographique, lui permettant de "connecter" des electrodes sur son crane, afin de capter son activité cérébrale (différents signaux émis par le cortex moteur du cerveau).
Il s'agit d'un logiciel "intelligent" qui "apprend" en fonction des signaux émis par son utilisateur: dans un premier temps, l'utilisateur devra réaliser plusieurs mouvements demandés (lever une main, écarter les bras..), afin que le logiciel détecte et analyse le signal cérébral reçu. Dans un second temps, l'utilisateur devra penser au mouvement demandé, sans le faire pour autant. Chacun des signaux émis sera recueilli, analysé, et traduit en commandes informatiques.
A terme, de nouvelles applications pourraient révolutionner le monde du jeu vidéo. Cette technique pourrait également venir en aide aux personnes handicapées dans l'utilisation quotidienne des outils informatiques. Nous pourrions enfin imaginer une communication avec une personne dans le coma: tenter de l'interroger et de détecter l'expression cérébrale d'une réponse.

Le logiciel libre et ouvert est téléchargeable depuis: http://openvibe.inria.fr
Une démonstration est présentée à l'adresse : http://videotheque.inria.fr/videotheque/doc/615

Source : Techno-science

jeudi 21 mai 2009

Quand le laser devient un générateur de nombres aléatoires

Un groupe de chercheurs japonais vient de domestiquer le chaos volontairement créé au sein d'un faisceau laser afin de produire d'énormes listes de nombres aléatoires, aujourd'hui indispensables dans de nombreux domaines, technologiques ou scientifiques.

Chaos et hasard sont généralement synonymes d'effets non désirables. Pourtant les chercheurs ont appris à les apprivoiser et le hasard est mis à profit depuis des dizaines d’années par les mathématiciens, les physiciens et les ingénieurs. Pour effectuer des simulations complexes (expériences à réaliser au sein d'accélérateurs, formation de planétésimaux du système solaire...), un outil mathématique puissant est utilisé : l’algorithme, ou méthode, de Monte-Carlo.
Le grand physicien Enrico Fermi l’utilisait dans les années 1930 pour comprendre les résultats d'expériences de physique nucléaire mettant en jeu la diffusion de neutrons. Elle fut redécouverte indépendamment et développée à partir de la seconde guerre mondiale par les grands mathématiciens Stanislaw Ulam et John von Neumann, en collaboration avec Nicholas Metropolis, lorsqu’ils travaillaient sur la bombe atomique. Le nom de Monte-Carlo vient d'ailleurs de Metropolis et fait référence au fait qu’elle nécessite une liste de nombres générés de façon aléatoire ou s’en rapprochant autant que faire se peut.
Par exemple, lorsqu'un neutron se déplace dans un matériau, chaque collision avec un noyau dévie sa trajectoire de façon aléatoire. Pour simuler le comportement d’un grand nombre de neutrons dans une pile atomique ou une bombe nucléaire, il faut donc disposer d’une grande liste de nombres aléatoires.
Il existe bien sûr dans la nature des phénomènes dans lesquels des grandeurs physiques fluctuent aléatoirement et qui peuvent donc fournir de telles listes de nombres. C'est par exemple le cas des désintégrations radioactives ou du bruit thermique dans des composants électroniques. Malheureusement, les nombres ne sont fournis qu’assez lentement, ce qui limite leur utilisation.

Simuler le hasard, tout un art...

On peut essayer de contourner le problème en utilisant des algorithmes mathématiques générant une suite de nombres apparemment aléatoires, von Neumann fut l’un des premiers à proposer des algorithmes de ce genre. On peut ainsi programmer des ordinateurs pour qu’ils deviennent de puissants générateurs de nombres pseudo-aléatoires. On peut alors mettre en pratique la méthode de Monte-Carlo pour, par exemple, simuler les collisions de particules dans les détecteurs du LHC avec l’apparition de nouvelles particules selon des lois de probabilités. Malheureusement, comme l’expression l’indique, un générateur de nombres pseudo-aléatoires ne génère pas vraiment au hasard une suite de nombres et la méthode a donc des limites.
Un groupe de chercheurs japonais vient d’apporter une solution brillante au problème de la génération rapide de listes de nombres aléatoires et ils exposent leur méthode dans un article de Nature Photonics.
L’idée est simple. On prend un faisceau de photons issu d’un laser semi-conducteur et on l’injecte en partie dans le dispositif qui l'a généré. On réalise ainsi une boucle de rétroaction que l’on connaît bien avec les composants électroniques. De cette manière, des effets chaotiques non linéaires de fortes amplitudes apparaissent dans l’émission des impulsions lasers, laquelle ne se fait plus à intervalles réguliers dans le temps. La série aléatoire d’impulsions laser est convertie en une suite de 0 et de 1 et on réalise ainsi un puissant générateur de nombres aléatoires.
Pour être sûr de leur coup, les chercheurs ont utilisé deux lasers chaotiques dont les sorties sont couplées avec une porte logique, un Ou exclusif. Les suites de nombres obtenues passent toutes les tests les qualifiant comme vraies listes de nombres aléatoirement générés. C’est important pour les usagers de ces listes dans le domaine de la cryptographie où, évidemment, une liste pseudo-aléatoire est un facteur de vulnérabilité. Actuellement le débit de ce générateur est de 1,7 Gbit/s mais les chercheurs envisagent de passer dans un avenir proche à 10 Gbits/s.

Source : Futura-Sciences

mercredi 20 mai 2009

Nouvel ordinateur

mardi 19 mai 2009

Les questions secrètes ne le restent pas longtemps...

Les experts en sécurité critiquent depuis longtemps le mécanisme de récupération de mot de passe basé sur une question secrète. Bien souvent, la question est relativement simple et la réponse facile à trouver. Bien plus facile que le mot de passe...
En mars, Brian Green s’est loggué sur son compte World of Warcraft pour y trouver ses personnages en sous-vêtements. Quelqu’un s’était connecté et avait revendu tout l’équipement. Pas de keylogger ou de hacking en cause ici, on a simplement deviné la réponse à sa question secrète.
Pour un jeu, même s’il coûte relativement cher, les conséquences restent minimes. Mais dans d’autres cas, cela aurait pu avoir des effets bien plus dommageables. Ainsi, la candidate à la vice-présidence des États-Unis, Sarah Palin, s’était fait voler son compte Yahoo! Par des petits malins qui avaient utilisé le nom de l’endroit où elle avait rencontré son mari pour accéder au compte.
Une étude a montré que 28 % des personnes proches d’une victime peuvent deviner la réponse de ses questions secrètes. Techniquement, c’est comme si elles avaient le mot de passe. Et les personnes plus éloignées conservaient plus d’une chance sur 6 de deviner juste. Pour des questions comme « Quelle est votre ville/équipe sportive favorite? », le pourcentage pouvait monter de 30 à 57 %.
Cette méthode n’est définitivement pas adaptée pour les changements de mots de passe, et devient carrément inquiétante lorsqu’elle est utilisée par des institutions financières ou des comptes email utilisés pour ce type de service. Reste une solution : répondre volontairement à côté de la plaque. Si pour une question concernant votre ville d’origine vous donnez le nom de votre chien, ce sera déjà plus difficile à deviner. Et si vous y mettez un mot de passe aléatoire, ce sera encore mieux.

Source : Sur-la-Toile

lundi 18 mai 2009

Wolfram|Alpha

Wolfram|Alpha est un nouveau moteur de recherche basé sur le concept de question (en anglais :answer-engine) développé par la compagnie internationale Wolfram Research. Il s'agit d'un service internet qui répond directement à la saisie de questions factuelles par le calcul de la réponse à partir d'une base de données, au lieu de procurer une liste de documents ou de pages web pouvant contenir la réponse. Il a été annoncé en mars 2009 par le physicien britannique et père de Mathematica Stephen Wolfram. Il a été lancé le le 16 mai 2009 à 3h00 du matin.
Olivier Leguay a écrit sur son blog un intéressant article sur les différences entre Wolfram|Alpha et Google.

vendredi 15 mai 2009

Initiation au traitement d'image avec Numpy

A la fin de ce tutoriel vous saurez récupérer les données brutes d'une image, les mettre en forme afin de les traiter et de reconstruire l'image résultat. Tout cela sera fait avec l'aide des librairies PIL et NumPy. Côté traitement d'images, nous traiterons la segmentation à deux seuils, la dilatation et l'érosion.

mardi 12 mai 2009

Le Plug-In MathMap pour GIMP

MathMap est un plug-in pour GIMP qui permet de faire des distorsions d'image (par exemple une mise en abyme) spécifiées dans un langage de programmation simple.

Voir une démo.

lundi 11 mai 2009

Des journalistes dupés par une citation sur Wikipédia

Shane Fitzgerald, jeune étudiant en sociologie, a dupé de nombreux journalistes en plaçant de fausses citations dans la biographie de Maurice Jarre sur Wikipedia, peu après son décès. De grands journaux comme le Guardian, le Daily Mail, The Independant et le site de la BBC ont repris les citations sans en vérifier l’authenticité.
Il faut dire que les citations tombaient à pic : « On pourrait dire que ma vie elle-même a été une musique de film. La musique était ma vie, la musique m'a donné la vie, et la musique est ce pour quoi je vais rester dans les mémoires longtemps après que j'aie quitté cette vie. Quand je mourrai, il y aura une dernière valse jouant dans ma tête, que je pourrai seul entendre. »
Fitzgerald dit qu’il s’agissait d’une expérience liée à ses recherches sur la globalisation. Il souhaitait voir comment ses citations seraient reprises, mais ne s’attendait pas à ce qu’elles le soient par des médias importants.
Le canular est passé inaperçu pendant des semaines, jusqu’à ce que Fitzgerald explique ce qu’il avait fait aux journaux concernés. Cela montre que, même pour les journalistes, le fonctionnement de Wikipedia reste un mystère. Les habitués savent que chaque information citée dans l’encyclopédie a la valeur de sa source, et que si elle n’est pas citée, l’information devrait être vérifiée.
Bien que l'étudiant ait réédité 3 fois la biographie, les citations n'y sont restées que quelques heures.

Source : Sur-la-Toile

dimanche 10 mai 2009

Le botnet ZeuS/Zbot saborde 100.000 PCs

Les pirates responsables d’un botnet ZeuS/Zbot ont sabordé 100.000 PCs. Les victimes se sont vu afficher un écran bleu, après quoi l’ordinateur fut incapable de rebooter. Les données stockées sur l’ordinateur ne sont apparemment pas affectées.
Ce réseau ZeuS/Zbot a commencé à s’étendre en mars. Il récolte les informations personnelles et bancaires des victimes. On ignore pourquoi les pirates ont décidé de saborder les machines, et du même coup, leur réseau. Il est possible qu’ils aient souhaité gagner du temps pour utiliser les informations collectées sans que les victimes ne puissent modifier quoi que ce soit. Il se peut aussi que ce soit le résultat d’une guerre entre deux clans de pirates qui convoitaient le réseau.

Source : Sur-la-Toile

vendredi 8 mai 2009

Le jeu de go et la révolution de Monte Carlo

Le jeu de go, un domaine où les ordinateurs ne sont pas à la hauteur du cerveau humain. Mais ils y font des progrès spectaculaires en utilisant les méthodes dites « de Monte Carlo ».

Lire l'article complet sur Interstices.

mercredi 6 mai 2009

Codes sources

Tout bon ingénieur vous le dira : plutôt que de réinventer la roue, regardons d'abord si quelqu'un n'a pas déjà fait quelque chose qui ressemble à notre projet. PythonFrance.com met à disposition des codes sources en Python proposés par des internautes. Il y en a pour tous les goûts.

dimanche 3 mai 2009

Plus Court Solveur de Sudoku

Voici un programme en Python de 173 caractères seulement qui serait le plus court solveur de sudoku connu actuellement :

def r(a): i=a.find('0') if i<0:print a [m in[(i-j)%9*(i/9^j/9)*(i/27^j/27|i%9/3^j%9/3)or a[j]for j in range(81)]or r(a[:i]+m+a[i+1:])for m in`14**7*9`]r(raw_input())

Ce programme est extrêmement compact et condensé, voire cryptique. Ce n’est pas la meilleure façon de programmer, mais ça révèle souvent la puissance cachée de certains langages. Ce programme est décrit en anglais et en détail ici, mais voici son principe en gros et en français:

def r(a): ... r(raw_input()) // définit la fonction “r” qui résout le sudoku, puis on l’appelle en passant en paramètre ce que l’utilisateur a entré au clavier. Ca doit être une chaine de 81 caractères contenant ligne par ligne les chiffres de 1 à 9 donnés, et des 0 aux emplacements vides.

i=a.find('0') if i<0:print a // au début de la fonction, on cherche le premier emplacement vide. Si on ne le trouve pas, on imprime le sudoku résolu
la partie principale de la fonction utilise deux concepts puissants de Python:

  • la “lazy evaluation” qui fait que l’expression “a or b” est équivalente à “if not(a):b”
  • la “compréhension de liste” qui permet de créer une liste en écrivant une boucle à l’intérieur de [crochets]. Par exemple “l = [x**2 for x in range(10)]” crée la liste des carrés des 10 premiers nombres entiers
ainsi cette expression [(i-j)%9*(i/9^j/9)*(i/27^j/27|i%9/3^j%9/3)or a[j]for j in range(81)] fournit la “liste d’exclusion” contenant les chiffres qui ne peuvent pas figurer dans le trou à la position i. On l’obtient en parcourant toutes les celllules et en ajoutant à la liste la valeur des cases a[j] situées sur la même ligne, la même colonne ou dans le même bloc que i. Le grand test compliqué détermine ces conditions en utilisant les opérateurs modulo (%), ou binaire (|) et ou exclusif (^).

Finalement, le [m in [...] or r(a[:i]+m+a[i+1:])for m in`14**7*9`] remplit successivement la grille avec les chiffres possibles en utilisant la ‘lazy evaluation’ une fois de plus : ce n’est que si le chiffre m n’est pas dans la liste d’exclusion qu’on execute la partie droite du or, laquelle appelle récursivement la fonction r en lui passant la grille en paramètre la grille a[:i]+m+a[i+1:]. Ici , l’opérateur + sert à concaténer des listes : d’abord les i-èmes premières cases, puis le chiffre m proposé pour la case vide, puis les cases à partir de la i+1 ème.

Ce programme utilise donc une approche “force brute” loin d’être optimale en temps de calcul : on essaie les chiffres possibles dans chaque case vide jusqu’à ce que ça marche.

Reste à découvrir une astuce de geek que je ne connaissais pas : 14**7*9 vaut 948721536, un nombre qui contient les chiffres 123456789, dans le désordre, mais ça va aussi pour notre application. Les backquotes ´…´ servent à former une chaine, comme d’ailleurs la fonction str(). L’avantage de ´14**7*9´sur “123456789″ ? ben c’est évident : il faut deux bytes de moins …

Source : Dr Goulu

samedi 2 mai 2009

Piet

En informatique, celui qui connaît un, ou plus, langage de programmation passe facilement pour un cador. Chaque langage, qu’il permette de créer des logiciels ou des pages web, a une syntaxe, une grammaire et un vocabulaire propres, qui les rendent incompréhensibles aux novices. Et puis voir des lignes de code, c’est rarement intéressant. D’où l’idée de David Morgan-Mar, développeur, de créer un langage de programmation plus graphique que les autres. Et pas qu’un peu : son langage permet de créer des programmes dont le code ressemble à des oeuvres d’Art moderne. Plus précisément de Piet Mondrian. D’où le nom du langage : Piet.


A gauche, un programme qui affiche « Piet » et qui ressemble à du Mondrian. A droite, un programme qui affiche les 100 premiers nombres d’une suite Fibonacci.

Piet se base sur un ensemble de 20 couleurs et propose la plupart des fonctions basiques des langages de programmation (les opérations mathématiques, la gestion de la mémoire...). Afin de permettre à chacun de créer un programme-oeuvre d’art, David Morgan-Mar a inventé un système où chaque commande correspond à une variation de couleurs (quelles que soient les couleurs). Le résultat (on peut voir quelques exemples sur cette page) ne ressemble finalement que rarement à du Mondrian, mais oh, allez bon, hein. Pour les amateurs, on peut même développer son programme Piet en ligne. A noter que David Morgan-Mar n’en est pas à son coup d’essai : il avait déjà créé il y a quelques années un langage de programmation intitulé ZOMBIE, et un autre nommé Ook !, d’après le cri d’un orang-outan dans les livres de Terry Pratchett.