Brèves de mai

(Gabriel Scherer (gasche) @ 2012-05-27 15:40:00)

Ce matin j’ai lu tous les liens qui m’avaient l’air intéressants, mais trop longs pour que je prenne le temps de les lire pendant la semaine. Ils font donc parti de la petite centaine de nouvelles, issues principalement de mes flux de syndication, que j’ai accumulées au cours de la semaine. Je me suis dit que cette sélection serait parfaite pour un petit billet, et le voilà.

Xerox parc et la naissance de l’informatique contemporaine

http://interstices.info/jcms/int_64091/xerox-parc-et-la-naissance-de-linformatique-contemporaine

(source : Ptival)

C’est intéressant et bien raconté ; en particulier j’aime bien le soin qui a été pris dans cet article de s’intéresser aux chercheurs individuellement, et de garder leur trace pour montrer d’où les gens venaient et où ils sont partis. Ça donne une meilleure vision du milieu des laboratoires privés de recherche aux USA dans ces années là. J’ai l’impression que nous manquons un peu de ce genre de choses en France : quelles sont aujourd’hui les entreprises installées en France qui ont une politique de recherche ambitieuse et intéressante en informatique ? Il y a des interactions avec des acteurs industriels (dans le domaine de la fiabilité du logiciel par exemple, les entreprises d’aéronautique, de train ou d’automobile ont des contacts avec le milieu de la recherche), mais pas à ma connaissance de vrais laboratoires de recherche non publics ayant une politique sur le long terme, en tout cas dans les domaines qui m’intéressent le plus.

Il y a par contre un petit je ne sais quoi qui est casse-pieds sur ce site. Il y a beaucoup de liens externes vers Wikipédia (liens « W »), et c’est bien, mais sinon il y a des « encarts » qui sont désagréables à utiliser (liens « ? »), et de même les liens internes (liens « i ») sont malcommodes.

Story Bricks : The Future of User-Driven Narrative is At Stake

Http://aigamedev.com/open/interview/storybricks-preview/

Un point intéressant sur l’interface graphique que l’on voit, qui est bien une forme de programmation visuelle : il y a du typage apparent. Ça se voit bien sur cette image par exemple : les connecteurs entre blocs ont une forme précise qui définit leur type ; par exemple les émotions ont un connecteur en forme de cœur, et les messages (de conversation) en forme de bulle. C’est une technique maintenant bien connue pour rendre le typage tangible aux utilisateurs, mais il est intéressant de voir que même des gens dont le domaine métier n’est pas directement la conception de langages (même s’il en est proche) les ont intégrées.

Ça me fait penser, au moins visuellement, au travail de Sean Mcdirmid sur le concept de touch programming (sur Lambda-the-Ultimate (LtU), et sur le blog de Jonathan Edwards).

Plus généralement c’est le genre de projet qui montre qu’il continue à y avoir une interaction intéressante entre le domaine de l’intelligence artificielle (AI) et celui des langages de programmation. Je connais peu le domaine mais j’ai l’impression qu’une des questions importantes en AI des jeux vidéos est de trouver le bon langage déclaratif pour décrire le système désiré (automates, behavior trees, rule-based systems, …).

Par contre je n’aime pas trop la façon dont le projet se vend. Ils ont une page Kickstarter qui demande au public de leur donner de l’argent pour financer le développement, mais pour donner quoi en retour ? Ils comptent simplement commercialiser leur produit et le revendre ensuite à d’autres concepteurs de jeux vidéo. Je pense qu’un travail entièrement financé par le public devrait, au final, revenir au public — par exemple sous la forme d’un logiciel libre. Je peux comprendre que ce n’est pas dans la culture du domaine du jeu vidéo ; que certains joueurs soient satisfaits de financer un jeu pour pouvoir simplement y jouer en retour, parce qu’il a l’air bien (mais je m’attends au moins à ce que les personnes qui ont donné reçoivent une version du jeu en retour), ou financer un groupe de musique pour le simple plaisir de pouvoir entendre leur nouvel album. Visiblement ça ne marche pas bien fort pour ce projet ; et je pense que c’est parce qu’il joue plutôt sur le développement de nouvelles abstractions, qui auraient sans doute, au moins au départ, peu d’impact sur l’utilisateur final, et qui gagneraient donc plus à être rendues libres.

En plus, même moi qui ne fait plus partie du milieu du jeu vidéo, j’ai déjà entendu trop de fois le refrain « avec notre nouveau jeu, les personnages auront de vraies émotions et ce sera formidable ». Je ne comprends pas comment on peut encore séduire avec un discours aussi stéréotypé. En plus leur discours est parfois franchement condescendant :

But, it takes a bit of imagination to draw the line between where we are today and what we can be. Imagination that gamers have that others tend to lack. Game developers are happy providing the same old types of gameplay that people are ready to pay for rather than taking risks. Investors aren’t sure that there is even a demand for MMOs or new forms of gameplay.

The quest to replace passwords

http://www.lightbluetouchpaper.org/2012/05/22/the-quest-to-replace-passwords/

(source : Bruce Schneier)

Une présentation intéressante d’un article de recherche sur les façons de comprendre et comparer les techniques d’authentification. L’auteur dit explicitement que cette recherche est le fruit d’une section Related Works bien écrite, ce qui renforce mon idée que c’est souvent la partie la plus importante d’un article.

A uTouch architecture introduction

http://lwn.net/SubscriberLink/497905/b8c6ef50db5cfb2c/

(Je trouve que LWN fait un boulot formidable; si vous vous intéressez à GNU/Linux, n’hésitez pas à vous abonner !)

Ce lien sans grande prétention fait une description technique des interrogations que se posent les développeurs desktop Linux pour la gestion du « touch », toutes ces nouvelles méthodes d’entrée que l’on caresse des doigts. L’article, et les commentaires qui le suivent, montrent bien que ces nouvelles méthodes d’entrée posent des problèmes pour les développeurs.

Le problème de fond est que langage des événement d’entrées est ambigu : contrairement aux appuis de touches atomiques sur un clavier ou de boutons sur une souris, un même signal peut être interprété de plusieurs façons différentes. L’appui à un endroit peut être un clic ou, s’il est prolongé dans le temps et suivi par un déplacement du doigt, être en fait seulement le début d’un déplacement ; pour le savoir il faut attendre, mais les bons principes d’interface utilisateur poussent au contraire à envoyer un retour immédiat à l’utilisateur ; il devient donc nécessaire de modéliser des états intermédiaires ambigus, et ce n’est pas de la tarte à gérer pour le développeur.

(On avait déjà des problèmes de ce genre avec les doubles et triple clics, ou les « accords » sur le clavier, mais dans le cadre du « touch » ils semblent prendre une place encore plus importante.)

Ce que je trouve intéressant est que c’est exactement le problème dont parlait dmbarbour dans son dernier billet, Abandoning Commitment in Human Computer Interfaces (fun fact : mon cerveau a fait une typo et j’ai commencé par écrire Huser Computer Interfaces). Ce billet a d’ailleurs donné lieu à une discussion fournie sur reddit ; mais son niveau d’abstraction un peu trop élevé rend difficile, je trouve, une discussion vraiment convaincante.

Je me demande comment ces choses-là vont évoluer avec l’apparition de nouvelles méthodes d’entrée. dmbarbour (il est un peu trop insistant sur ses sujets fétiches, et un peu trop abstrait, mais c’est quand même un type intéressant) en parle dans une autre discussion sur LtU.

En ce moment on nous fait rêver avec des gants 3D (« comme dans Minority Report huhu ») et autres gadgets du genre. Je pense qu’une généralisation de ces périphériques pourrait changer les outils qu’on utilise pour éditer les programmes1, et donc la syntaxe, mais sans doute pas fondamentalement la sémantique des langages de programmation.

1 Ça me semble plus facile que pour éditer du texte libre

(par exemples pour les auteurs et journalistes), parce que les programmes informatiques sont plus structurés.

How the professor who fooled Wikipedia got caught by reddit

http://www.theatlantic.com/national/archive/2012/05/how-the-professor-who-fooled-wikipedia-got-caught-by-reddit/257134/

(source : Bruce Schneier)

J’ai un peu honte de le mettre entre d’autres liens que je trouve objectivement intéressants, mais je trouve l’histoire amusante. Un professeur fait un cours sur « comment falsifier des faits historiques », ils montent un hoax qui survit sur Wikipédia, et l’année d’après ils essaient de faire pareil sur reddit, et se font démontrer. Un petit moment de Schadenfreude.

Les communs culturels et la justice sociale : fondations pour un nouvel humanisme européen

http://paigrain.debatpublic.net/?p=4846

Un billet qui a le tout premier avantage de me faire déculpabiliser un peu à l’idée d’écrire systématiquement des pavés.

Il y a quelque chose qui me met mal à l’aise dans les débats actuels sur le partage des fichiers soumis au droit d’auteur, le piratage, HADOPI, etc. Une grande partie du débat concerne « ce qui est juste », et des discussions de comment adapter les moyens techniques à cette idée de ce qui est juste.

J’ai l’intuition que ce n’est pas forcément la bonne approche : quand un changement technique rend extrêmement simple de faire quelque chose (partager des fichiers), et que tout le monde le fait, est-ce que ça a du sens d’essayer de discuter de si c’est « bien » ou « mal » ? Mon intuition est que dans ce cas c’est à la société d’adapter ses notions de justice aux possibilités techniques, et pas l’inverse.

Je n’ai jamais réfléchi très en profondeur à la question (par manque de temps) et je pense qu’il y a des choses à dire sur le sujet. Philippe Aigrain met en avant une notion d’« échanges non marchands » (il a écrit un livre sur le sujet, que je n’ai pas eu le temps de lire) qui est intéressante et qui s’approche peut-être de cette idée de reconnaître et accepter les pratiques de société.

Je trouve le billet un peu (trop) politique, sans doute parce qu’il s’agit d’une transcription d’un texte initialement écrit dans un autre contexte ; mais ça reste une lecture intéressante sur ce sujet d’ensemble.

Dans le même genre et aussi dans mes lectures de ces derniers jours :

2 quand on cherche "les limbes" sur internet on trouve dans les

premier résultats "définition des limbes dans Inception". Où va-t-on, mon bon monsieur ou ma bonne dame ?

Flymake

http://flymake.sourceforge.net/

Il faudrait vraiment que j’apprenne à m’en servir.

En route pour HTTP 2.0

http://linuxfr.org/news/en-route-pour-http-2-0

Il y a vraiment de bonnes dépêches sur LinuxFR (oui, je suis un groupie de patrick_g, je lis religieusement ses dépêches noyau ; d’ailleurs j’ai essayé de l’encourager à faire traduire ses dépêches vers l’anglais, pour leur donner un lectorat plus large, mais il n’a pas pris ma suggestion au sérieux et je n’ai pas le temps de m’en occuper tout seul). Cette présentation de HTTP 2.0 est vraiment passionnante (bon après c’est technique, hein), en particulier l’interview de Willie Tarreau qui dit des choses très intéressantes sur les processus de normalisation.

D’ailleurs, contrairement à d’autres fois, la discussion dans les commentaires est plutôt intéressante. J’ai l’impression que les visiteurs de LinuxFR sont souvent très pertinents sur les questions d’administration système et de réseau, beaucoup plus que par exemple les langages de programmation (j’arrête de lire les commentaires sur les dépêches Go, Pypy ou Scala sur LinuxFR, le rapport signal/bruit est trop faible).

Thoughts on Gamifying Textbooks

http://blog.ezyang.com/2012/05/thoughts-on-gamifying-textbooks/

Edward Yang est un type très intéressant et, bien que j’aie arrêté de suivre Planet Haskell (signal/bruit), son blog est resté dans mes flux de syndication. Récemment il a fait le pari d’implémenter du logiciel interactif sur le web pour jouer avec des arbres de preuve formelle (le résultat n’est pas non plus à en tomber par terre à mon avis, mais la combinaison technique, Haskell + Ur/Web + Coq, mérite le plus grand respect). Ça l’a mis en verve et il fait des grands discours sur l’éducation avec de nouveaux moyens techniques, et ce n’est pas mal.

No-cost desktop software development is dead on Windows 8

http://arstechnica.com/information-technology/2012/05/no-cost-desktop-software-development-is-dead-on-windows-8/

Le choix de Microsoft de restreindre l’accès à leurs outils de développement et utilitaires de compilation pour Windows me paraît très mauvais, et surtout susceptible d’avoir des conséquences importantes sur le long terme (s’ils ne changent pas d’avis, ce que je leur souhaite).

Pour conclure, j’ai discuté de ça avec Nhat (rz0) par e-mail, et, en tant que développeur orienté bas niveau, il semble partager mon scepticisme sur la question :

Il est dommage de voir Microsoft abandonner, voire rejeter, certaines catégories de programmeurs après ce qui est apparu pendant quelques années comme une période d’ouverture, avec Visual Studio Express. C’est peut-être une option défendable d’un point de vue marketing à court terme, mais le risque dans la durée est de voir une raréfaction des talents dans des domaines tels que la programmation systèmes sous Windows, pourtant essentiels à leur propre écosystème.