PROJET AUTOBLOG


Le Geek Café

Archivé

source: Le Geek Café

⇐ retour index

Quand des robots inventent leur propre langue

mercredi 18 mai 2011 à 19:49
Des chercheurs de l'université de Queensland se sont livrés à une très intéressante expérience : en plaçant deux robots autonomes l'un en compagnie de l'autre dans un bâtiment fermé, ils ont été capables d'amener les deux à créer leur propre langage pour décrire leur environnement.

Communiquer sans connaître de mots



Imaginez que vous vous réveilliez un matin sans plus vous souvenir du moindre mot, ni de la moindre langue. Comment communiquer avec les personnes qui vous entourent ? Il est probable qu'elles essaieraient petit à petit de vous transmettre leur langue à elles, pour vous permettre de correspondre. Imaginez maintenant qu'elles soient dans le même cas que vous. Que va-t-il se passer ?

Dans une telle situation, il est probable que vous essaierez d'inventer de nouveaux mots, ensemble, pour pouvoir vous repérer — surtout si vous ne connaissez pas votre environnement, et que vous devez le découvrir en l'explorant. C'est en gros dans cette situation que les deux robots « Lingodroids » ont été placés par les chercheurs, dans un bâtiment clos inconnu qui comportaient plusieurs pièces.

Les robots, capables de se déplacer de façon autonome (sans pilotage), étaient équipés de caméras, de microphones et de haut-parleurs. Plutôt que d'imposer aux robots l'utilisation d'une langue prédéfinie, les chercheurs ont essayé de les faire communiquer d'après ce qu'ils voyaient tous les deux, en les forçant à inventer leur vocabulaire au fur et à mesure.

Une expérience qui fera parler (d'elle) !



Le but de l'expérience était d'observer l'apparition, au bout de quelques heures, de motifs vocaux récurrents. Selon l'endroit où ils se trouvaient, les robots prononçaient les mêmes suites de sons, et ce de façon coordonnée : ils venaient de créer leur propre langue, avec un vocabulaire tout à fait nouveau pour décrire l'endroit où ils se trouvaient, ou bien la destination qu'ils se fixaient lors d'un déplacement, ou encore leur provenance.

Pour les chercheurs, le fait que les deux robots aient été capables de se mettre d'accord sur un vocabulaire tout à fait nouveau est crucial : en comparant l'apprentissage des deux machines, ils se sont rendu compte que les mêmes mots désignaient pratiquement les mêmes zones du bâtiment, à quelques décimètres près.

A l'avenir, les chercheurs espèrent pouvoir pousser les robots à « parler » de concepts plus complexes, comme un chemin pour se rendre d'une pièce à une autre. Ces travaux pourraient servir à développer de nouvelles techniques de communication entre robots, ou même avec l'homme.

Linux dans un navigateur web

mardi 17 mai 2011 à 20:38
C'est une nouvelle prouesse que vient de réaliser Fabrice Bellard, le célèbre hacker français. En faisant tourner un émulateur pour processeur Intel x86 dans un navigateur, il a en effet réussi à charger et à démarrer le noyau du système d'exploitation Linux, ainsi qu'un shell fonctionnel et un environnement minimaliste.

Un émulateur Intel dans le navigateur



Cet émulateur, entièrement écrit en JavaScript, nécessite un navigateur web récent, tel Chrome 11 ou Firefox 4. Afin d'assurer les meilleures performances possibles, il repose en effet sur l'utilisation des . Cette fonctionnalité de JavaScript, encore nouvelle et peu connue, donne la possibilité au programmeur d'utiliser des tableaux plus performants que ceux que l'on trouve habituellement dans le langage, mais sur lesquels une contrainte de type forte est rajoutée : le contenu est obligatoirement un entier de taille fixée.

Fabrice Bellard a utilisé ce type de tableaux pour simuler le CPU et la mémoire d'un processeur de type x86 (la famille de processeurs des PC). S'inspirant de ses propres travaux sur le logiciel QEMU (dont il est le principal auteur), et poussant encore plus loin les travaux d'optimisation, il a été capable d'obtenir un émulateur suffisamment performant pour faire tourner le noyau du système Linux. Par dessus celui-ci, plusieurs programmes sont disponibles et fonctionnels : le célèbre éditeur emacs (dans sa version Qemacs, également écrite par Bellard), et le compilateur tcc (qui est lui aussi une création du hacker).

Hommage à Fabrice Bellard !



Ce travail est donc un véritable aboutissement pour Fabrice Bellard. Extrêmement productif et ingénieux, ce programmeur est en effet l'auteur de beaucoup de programmes très élaborés, et le détenteur d'au moins autant de records.

Par exemple, il est également connu pour avoir battu en l'an 2000 le record du plus long nombre premier calculé (avec un programme C de seulement 438 caractères de long), et pour avoir battu en 2009 le record du calcul du plus grand nombre de décimales du nombre π - sur son ordinateur portable (alors que ce genre de record est habituellement obtenu grâce à de coûteux supercalculateurs). JSLinux est donc un nouveau record, qui témoigne encore une fois de son soucis du détail, et de sa grande maîtrise du fonctionnement des ordinateurs.

Le futur de JavaScript



Mais au-delà de ce record personnel, JSLinux est une nouvelle preuve du grand changement qui s'est fait, ces dernières, dans nos navigateurs. Ceux-ci, toujours plus performants et complexes, cherchent désormais à supporter des programmes très complexes, et nécessitant beaucoup de performances (comme des lecteurs vidéo, des jeux vidéos en 3D (avec WebGL) ou, désormais, des émulateurs et systèmes d'exploitation). Beaucoup de travail a du être accompli pour en arriver là : outre les tableaux bas-niveaux précédemment évoqués, les nombreux moteurs haute-performances JavaScript tels v8 de Google ou SpiderMonkey de Firefox sont, plus que jamais, au centre de l'attention.

Ces moteurs bénéficient d'un gros travail de recherche qui a été fait sur l'optimisation des performances de JavaScript. De nombreuses techniques modernes sont appliquées, par exemple la compilation « JIT » (pour « Just In Time », une compilation juste avant l'exécution qui optimise au maximum les parties les plus utilisées du code, en les spécialisant notamment). Cependant, pour beaucoup de gens, il faut aller encore plus loin, en se débarrassant des contraintes habituelles de JavaScript, et en proposant plutôt d'exécuter un « bytecode » soigneusement conçu et normalisé — un peu sur le même principe de fonctionnement que la technologie Java.

Perl 5.14 vient de sortir

dimanche 15 mai 2011 à 03:02
Une nouvelle version du langage Perl 5 vient d'être (fondation à but non-lucratif qui maintient du langage Perl). Comme toutes les versions de Perl 5, c'est une version mineure, qui propose davantage des petites mises à jour sur des points très utilisés du langage que des fonctionnalités véritablement nouvelles.

Du côté des chaînes de caractères



Perl a, avant tout, été conçu pour manipuler des chaînes de caractères (ainsi que des expressions régulières et des fichiers de « logs », ou journaux). Il est donc normal que les principales nouveautés de Perl 5 concernent la gestion des chaînes : par exemple, , et est maintenant jusqu'à 100 fois plus rapide qu'avant sous certaines plate-formes.

D'autre part, Perl support désormais , ainsi qu'une fonctionnalité « unicode_strings » qui permet d'activer ce support dans toutes les manipulations de chaînes (modifications, expressions régulières...).

Enfin, le moteur d'expressions régulières supporte quelques nouvelles options, les qui affectent le comportement du moteur lors de la reconnaissance des chaînes. Par exemple, le modificateur /l demande à Perl d'utiliser la configuration linguistique locale (la langue dans laquelle est configurée votre système Perl, en gros) pour tester l'apparition d'un motif dans une chaîne ; /u force la reconnaissance Unicode, même sur des systèmes configurés en ASCII ou autres, etc.

Modifications de la syntaxe du langage



Des traits assez précis de la syntaxe du langage ont été améliorés. Il est par exemple possible de définir des procédures qui seront parsées différemment des procédures habituelles, avec une priorité plus forte que les opérateurs. Par exemple, en rajoutant « ; » dans la chaîne des arguments lors de la définition, le bout de code

Code : perl
  1. sub foo(;$);
  2. foo $a < $b;


est analysé comme
Code : perl
  1. (foo $a) < $b;
et non plus comme
Code : perl
  1. foo ($a < $b)


Les fonctions dédiées à la manipulation de hashtables et de tableaux acceptent désormais les références sans qu'il soit nécessaire de déréférencer la valeur. On peut par exemple désormais écrire pop $arrayref au lieu de pop @$arrayref.

Mises à jour des bibliothèques



Selon la Perl Foundation, cette nouvelle version représente un an de développement, et 550 000 lignes de modifications sur près de 3000 fichiers de code source. Ces fichiers sont principalement ceux du CPAN, le réseau de modules Perl prêts à l'emploi. Ces modifications sont de plusieurs genres : meilleur support d'IPv6, amélioration des performances, sans compter une très forte contribution aux fichiers de documentation.

Ainsi, cette mise à jour de Perl 5, bien qu'elle n'apporte pas de nouveauté fracassante, confirme la maturité du langage de scripts.

HP donne 10 raisons d'utiliser webOS

dimanche 15 mai 2011 à 00:22
Mercredi 11 mai, HP a (qui, malgré son nom, est un véritable système destiné avant tout aux smartphones et netbooks). Le principe ? Basé sur Linux, webOS devrait être familier aux geeks et aux développeurs, et très ouvert au bidouillage. HP espère ainsi attirer les développeurs vers son OS, ce qui est un pari pour le moins audacieux devant les géants que sont devenus l'iOS d'Apple et l'Android de Google.

Voici un résumé de ces raisons.

Une plate-forme idéale pour les développeurs



Bien plus accessible que certains de ses concurrents, le SDK de développement proposé par HP est gratuit, et un émulateur de webOS est disponible pour les plate-formes majeures que sont Windows, Mac OS X et Linux. De plus, il est gratuit de proposer une application.

Les technologies choisies par HP pour programmer webOS sont des technologies éprouvées, et familières pour beaucoup de programmeurs. Ainsi, les applications de plus haut niveau pourront être écrites avec des technologies web comme HTML, CSS et JavaScript (qui tourneront sur un moteur performant pour offrir des performances suffisantes). HP propose toutefois un framework supplémentaire pour développer des applications natives, capables d'interagir avec le système plus facilement. Cependant, C et C++ restent accessibles pour les applications les plus poussées telles les jeux, avec notamment SDL et OpenGL.

Un système ouvert



HP met en avant le côté ouvert de son OS. Premièrement, conscient que cela la démarque de ses concurrents, la société explique qu'il est inutile de chercher à jailbreaker son système, puisque celui-ci pourra être automatiquement configuré en mode « développeur », donnant accès aux mêmes choses que le jailbreak sous d'autres systèmes.

En outre, le système est basé sur un noyau Linux, et utilise des bibliothèques et outils libres comme WebKit, gcc, ssh ou gdb. Il est donc très facile de communiquer avec un périphérique webOS depuis d'autres systèmes, puisque les outils pour le faire sont ouverts, multiplateformes et éprouvés. Les sources des applications développées avec JavaScript seront bien sûr accessibles. Quant aux autres, le système lui-même notamment, des sites spéciaux tels opensource.palm.com seront prêts à les héberger.

webOS arrivera-t-il à percer ?



Il est évident que HP s'est beaucoup investi dans son système. Cependant, celui-ci arrive avec plusieurs années de retard sur la concurrence, et n'est pas encore vraiment prêt pour le grand public. Même si, d'un point de vue technologique, certaines caractéristiques sont alléchantes (par exemple l'utilisation de technologies très modernes comme le serveur Node.js pour permettre aux applications de proposer des services réseaux, ou l'API d'appel de code natif depuis JavaScript), les bonnes idées ne suffisent pas toujours à rattraper un retard marketing.

Cependant, la communication de HP semble claire : la firme semble d'abord s'adresser aux utilisateurs avertis, les « geeks », en espérant que son système sera suffisamment bon pour que ceux-ci puissent y contribuer et l'aider à gagner en popularité.

Détail concernant la wii2, la ps4 et la xbox 720

dimanche 1 mai 2011 à 19:55
<br />Bonjour &agrave; tous. Ces derniers jours , la wii2 a r&eacute;v&eacute;ler quelques d&eacute;tails , ainsi que ces (futurs)concurrents.
<br />
<br />Tout d'abord, la wii 2 (project caf&eacute;<img src="http://www.legeekcafe.com/upload/img/444clin.png" alt=";)"/> sera pr&eacute;sent&eacute;e &agrave; l'E3 2011 et sa sortie est pr&eacute;vue pour d&eacute;but 2012.
<br />Sa manette n'est autre qu'une sorte de tablette tactile avec un seul bouton et les graphismes &eacute;quivalent &agrave; celle de la ps3 ou de la xbox 360. Capable d'afficher des jeux en 3d, le wii 2 de nintendo est une petite bombe !
<br />
<br />Ensuite la ps4 de Sony ne sortira pas avant 2014 , car Sony esp&egrave;re rentabiliser sa ps3 qui a encore de beaux jours devant elle.
<br />Elle aussi sera 2 fois voire 3 fois sup&eacute;rieur &agrave; la ps3.
<br />
<br />Enfin la xbox 720 (ou 3&egrave;me) ne sortira pas avant fin 2013.
<br />Elle aussi sera diff&eacute;rente par rapport au design et aussi puissante que la future ps4.
<br />Une nouvelle manette sera aussi disponible.
<br />
<br />
<br />Merci beaucoup &agrave; tous d'avoir lu la news, &agrave; bient&ocirc;t pour d'autres pr&eacute;cisions !