Un escargot à Manhattan

Google RISE Summit 2014

Prologin a été invité à un congrès sur l’enseignement de l’informatique au siège de Google du lundi 14 au mercredi 16 avril 2014. Nous étions deux (avec le président) à représenter notre association parmi les 421 lauréates, issues de 19 pays.

Lyft

L’idée la plus géniale que j’aie vue à San Francisco : au lieu du taxi, on peut appeler un Lyft avec son smartphone (30 % moins cher) et suivre la géolocalisation de son chauffeur. On recense 400 conducteurs Lyft à San Francisco qui doivent vérifier un certain nombre de conditions (notamment avoir une note moyenne de 4,5/5).

La start-up connaît un succès qui semble caractéristique de San Francisco : en un an, Lyft a compté 100 000 utilisateurs et a atteint 30 000 courses par semaine.

Google Code Jam

Google Code Jam est un concours d’algorithmique similaire à Prologin (à moins que ce ne soit le contraire).

Cette année, le lancement du concours était prévu pour vendredi 11 avril 2014 à 23 h 00 UTC, c’est-à-dire 20 minutes avant la fermeture de notre embarquement à Chicago. S’est donc ensuivi une sorte de course folle à partir d’une connexion Wi-Fi d’aéroport limitée à 20 minutes (déjà bien entamée). Le moment le plus cocasse : lire le sujet en mangeant son burger, courir se laver les mains en réfléchissant à une solution, coder la solution, se rendre compte que la connexion a expiré, filer le code à son voisin sur clé USB, le laisser soumettre la solution : « **Correct!** », filer à la porte d’embarquement.

Google RISE Summit

L’organisation était impeccable, nous avons été chaleureusement accueillis par l’équipe RISE. Au congrès proprement dit, il y avait :

  • Diverses conférences, par exemple du fondateur de code.org.
  • Des résultats de recherche confidentiels de l’équipe K-122 de Google.
  • Diverses stratégies : une séance de brainstorming 10x thinking (qui s’est révélée fort décevante), de précieux conseils d’experts en crowdfunding ou en évaluation de performances.
  • Des présentations de programmes Google : CS First, App Inventor (maintenant développé par le MIT) ainsi que de divers outils : Google Drive, YouTube, Hangouts et notamment le petit nouveau, Helpouts (aide en ligne via Hangouts).
  • Diverses activités pour échanger avec les membres des autres organisations, par exemple des lightning pitches de 2 minutes chrono sans slides pour que chacun présente son association.

Voici un compte rendu de l’événement.

Les pitches ne me semblaient pas le meilleur format3 : dans la mesure où nous avions tous des objectifs similaires en enseignement de l’informatique, après une succession de 14 pitches, il était impossible de se rappeler qui avait dit quoi. Cela dit, certaines présentations étaient amusantes.

Au niveau des associations, certaines ne concernaient que les filles, d’autres ne concernaient que les gens de couleur, d’autres encore ne touchaient que leur intersection. Nous faisions partie des rares à avoir pour cible un public sachant déjà coder (la première étape du concours Prologin est déjà de la programmation) et étions les seuls à organiser un concours non de robotique mais de programmation. Mais même si nos problématiques étaient parfois plus techniques, notre désir de sensibiliser une plus grande population à l’importance de l’enseignement de l’informatique est le même.

Parmi les activités, il y avait une visite surprise d’une entreprise viticole. On s’est alors demandé si on avait réellement parcouru 9000 km pour boire du vin français. La dégustation était agrémentée d’un concours de mélanges de vin (il fallait choisir un nom de vignoble, de vin, préparer une petite mise en scène4). Évidemment, nous avons fait participer une Japonaise de 15 ans, évidemment, nous avons présenté le vin en français, et évidemment, elle a fini en disant « I understand nothing. » (c’était prévu) puis « Anyway, I’m 15, I’m underage, I can’t drink, so I don’t care! » (ça ne l’était pas). On nous a complimenté sur notre français (??!) alors que tout le mérite revenait à la petite :-)

En tout cas, rencontrer d’autres organisations surmenées éprouvant des difficultés similaires et être poussés à prendre du recul5 nous a remotivés pour promouvoir l’informatique, en commençant par nous faire connaître par les professeurs de l’option Informatique et sciences du numérique. Vous aussi, faites passer une heure de code à vos élèves !

  1. Si. 

  2. Une façon américaine de dire « collège-lycée ». 

  3. Et je ne dis pas ça seulement parce que je me suis planté. 

  4. Le rapport avec l’enseignement de l’informatique ? Je ne sais pas. Mais qu’est-ce qu’on s’est marrés. 

  5. Antithèse ? 

Prednisolone

— Bonjour docteur, je tousse encore.
— Ah, on va passer à la cortisone alors. Vous pesez combien1 ?
— 55 kg.
— … Vous vous foutez de moi ?

Le docteur m’avait prévenu : limiter la consommation de sucre (sinon on gonfle) et de sel (sinon on enfle), et ne pas interrompre le traitement (sinon risque d’effet rebond de la maladie). D’ailleurs c’est très pervers, parce que ça augmente aussi la sensation de faim :D (à ce sujet, la réponse à ce post est hilarante) et ça abaisse les défenses immunitaires.

Mais ce que je ne savais pas, c’est que c’est aussi un excitant. Ça doit expliquer pourquoi hier j’ai cru sage de faire une immense lessive, de passer l’aspirateur et la serpillère dans tout l’appartement à 21 h 30 (?!) et de vouloir contacter les équipes du Google Hash Code pour écrire un post de blog récapitulant toutes les stratégies considérées.

Ça doit aussi expliquer pourquoi aujourd’hui j’ai sur un coup de tête décidé d’aller récupérer mon chargeur de Mac à Google Paris (en vain), de rédiger dans le bus m’y menant TOUS les mails super importants que je fais traîner depuis un mois, de m’acheter des pantoufles à Uniqlo, de constater que les pantoufles achetées sont trop petites, de me dire alors : « Ah mais t’es con aussi les Japonais ont des petits pieds », de alors que j’écris ce post taper « pantoufles uniqlo trop petites » dans Google, et surtout de juger bon de commenter absolument tout ce qui m’est arrivé aujourd’hui (je vais cesser les niveaux de méta ici, merci pour votre attention).

S’ajoute à ces symptômes une capacité accrue à geeker. Je ne pense pas que dans d’autres circonstances je me serais intéressé avec minutie à la teneur en coton et polyester de mes couettes et draps (pour tenter d’expliquer les sueurs nocturnes caractéristiques des traitements sous corticoïdes) ; ni qu’à la lecture de la mention « 0,5 à 1 mg·kg-1 du premier au dernier jour », j’aurais ri en me disant que je dois blâmer l’imparité du chiffre des dizaines de mon poids pour la posologie de 2,5 comprimés de 20 mg par jour à peine sécables.

Bref. Plus que 3 jours de traitement.

  1. J’ai toujours peur lorsqu’on me pose cette question avant de me prescrire quelque chose, ça fait un peu « Non parce qu’une trop forte dose pourrait tuer un éléphant. » 

Yasuhiro Yoshiura

日本人をようこそ!2014年02月18日に、吉浦康裕はパリで「パテマ」を示した。以下に吉浦さんの映画についての私の個人的な意見です。

Le mardi 18 février 2014, Yasuhiro Yoshiura était présent à Paris pour une avant-première de son film Sakasama no Patema.

Le jeune réalisateur-scénariste(-monteur-animateur) Yasuhiro Yoshiura n’a pas son pareil pour créer des univers de science-fiction à partir de concepts très simples (un antagonisme entre le monde réel et un monde inversé, ou encore des androïdes voulant vivre paisiblement avec les humains) à partir desquels il exprime un message de tolérance dans une atmosphère unique, avec un peu d’humour et beaucoup de poésie. En découlent trois perles que je vais détailler ci-après.

Sakasama no Patema (Patema et le monde inversé)

Le pitch est simple : « Boy meets inverted girl. »1 Ce n’est pas sans rappeler l’échec Upside Down, mais aucun des deux films ne s’inspire de l’autre, les deux étant sortis pratiquement en même temps. Le monde dans lequel vit le garçon est si totalitaire que ça pourrait paraître exagéré, mais à part ça l’intrigue quant à l’antagonisme des deux mondes est soigneusement ficelée. Et esthétiquement, c’est superbe.

Ce film, annoncé depuis décembre 2011, est finalement sorti le 9 novembre 2013 au Japon et sortira le 12 mars 20142 en France. Il a été présenté au Festival d’Annecy les 13 et 14 juin et a reçu le prix du jury et le prix du public au festival Scotland Loves Animation en mai 2013.

En voici la bande-annonce, dont le thème principal est interprété par une chanteuse française, Estelle Micheau (ça ressemble beaucoup à Bratja, de la même compositrice).

J’ai demandé à l’auteur ce qu’il pensait de Satoshi Kon et Yasutaka Tsutsui, il m’a répondu qu’il s’agissait de ses écrivains préférés. Le personnage de Lagos dans Patema rend d’ailleurs hommage à un roman de Yasutaka Tsutsui : Lagos on a Journey (旅のラゴス).

Eve no Jikan (Time of Eve)

Dans un monde où les humains cohabitent avec des androïdes domestiques (indistinguables des humains à part une auréole au-dessus de leur tête), un garçon (Rikuo) se rend compte en consultant les logs de son androïde (Sammy) qu’elle s’est déplacée de sa propre initiative à un endroit inconnu. Il décide alors de s’y rendre et découvre un café atypique (« Time of Eve ») régi par une unique loi : « Il est interdit de faire de la discrimination entre androïdes et humains », agrémentée de la particularité que les auréoles de tous les androïdes s’y trouvant sont désactivées. Ce concept de lieu où une poignée d’androïdes peuvent se ressourcer après le travail et se raconter leur vie de tous les jours, ou interagir avec des humains sans être considérés comme des objets est élégante ; ça m’a fait penser aux chatrooms où quiconque peut se rendre incognito et plus généralement aux réseaux virtuels au sein desquels seule la réputation endogène est considérée.

Là encore, non seulement les effets visuels sont magnifiques, mais ce film est une véritable bouffée d’air. Je ne sais pas si beaucoup de gens ont fait du slice of life en science-fiction, mais c’est très agréable et la simplicité de l’histoire participe à rendre cet anime accessible à tout âge, y compris à des non initiés.

À l’origine, il s’agissait d’un anime destiné à une diffusion sur Internet. Les 6 épisodes sont d’ailleurs toujours consultables librement sur Crunchyroll.

Pale Cocoon

Il faut que je revoie ce moyen métrage pour pouvoir en parler. L’ambiance m’avait fait penser au début de L’Armée des douze singes et visiblement, ce blogueur a eu la même impression !

… Sinon, je pensais que c’étaient les parents de Yasuhiro Yoshiura qui lui avaient attribué une anagramme en guise de prénom mais en fait, pas vraiment :

  1. « Oui, mais si on danse ? » 

  2. Qui est entre autres le jour d’ouverture des écrits de l’agrég’, mais je ne pense pas que ce soit directement lié. 

Prologin, le concours national d'informatique

À l’occasion des Google RISE Awards qui ont tout récemment récompensé l’association Prologin pour son engagement dans la promotion de l’algorithmique chez les jeunes, j’aimerais rappeler en quoi consiste ce concours.

L’association Prologin organise le concours national d’informatique, ouvert aux jeunes de 20 ans et moins. Celui-ci se déroule en trois parties :

  • En octobre, un questionnaire de culture informatique et d’algorithmique.
  • En février et mars, des épreuves régionales dans diverses villes de France et de Belgique.
  • En mai, une finale de 36 heures non stop à l’EPITA à Paris, sur un projet d’IA.

Le concours est entièrement gratuit et les dix meilleurs reçoivent un prix (un ordinateur portable, une console, mais aussi parfois des lots plus exotiques comme une caméra GoPro ou un kit Arduino).

Le questionnaire de sélection

Pour exemple, le sujet de 2011 s’intéressait à un logiciel minimaliste (ProloGIMP) de traitement d’images représentées par des matrices de 0 et de 1.

Les questions allaient de la simple écriture d’une fonction pour inverser les bits d’une image jusqu’à des questions plus difficiles telles que : à partir d’une image initialisée à 0 et d’un pinceau de curseur en forme de + qui inverse les bits sur lesquels on l’applique, est-il possible de dessiner une certaine image ? Notez que ce problème est identique au jeu Lights Off (merci Alexis Comte !) où il faut éteindre toutes les lampes sachant que les interrupteurs sont interdépendants.

Si vous voulez essayer ces exercices, en vous inscrivant vous pourrez tester vos algorithmes sur le serveur d’entraînement.

Les épreuves régionales

L’épreuve régionale se déroule un samedi dans un centre d’examen. Le matin une épreuve écrite, l’après-midi une épreuve machine. Le déjeuner est offert par l’association.

Un sujet écrit d’algorithmique

Le samedi 17 mars 2012 vers neuf heures, la vidéo suivante a été diffusée dans un amphithéâtre à l’École polytechnique juste avant la distribution des sujets de l’épreuve écrite.

(Activez les sous-titres, cela nécessitera peut-être de passer par la version Flash, hélas.)

Et voici le sujet correspondant, qui contenait une grille semblable à celle dont il est question dans la vidéo avec l’ensemble des candidats à l’épreuve écrite en haut et « finaliste » ou « non finaliste » en bas. La première question du sujet était d’ailleurs :

Question 1. Alors ? Êtes-vous sélectionné en finale ?

Ces grilles, nommées amidakuji, sont très répandues au Japon : c’est effectivement un moyen très simple de créer une permutation aléatoire.

Aussi, savez-vous comment on dit « une machine à deux anneaux » en anglais ?

Un sujet machine de programmation

Voici un exemple d’exercice que j’aime beaucoup : Épiphanie.

C’est l’épiphanie, Joseph Marchand doit se couper une part de gâteau des rois. En fait, la brioche ne l’a jamais intéressé ; non, ce qu’il aime, ce sont les fruits confits. Tradition familiale oblige, il va se servir une part de gâteau. Déterminer les endroits où couper de sorte à ce que Joseph obtienne la plus petite part contenant au moins une fois chaque fruit confit.

On pourrait certes tester toutes les parts, mais cette approche pour 1 000 fruits confits réaliserait 1 000 000 opérations, ce qui dépasserait la limite de temps. Il existe en réalité une approche qui n’explore que 2 000 parts.

La finale

La dernière épreuve rassemble les 100 meilleurs candidats à l’EPITA pendant trente-six heures au cours desquelles la restauration et l’hébergement sont entièrement pris en charge par l’association. En 2006, les candidats pouvaient découvrir les premières lignes du sujet (de 24 pages !) :

Bonjour à toi, vainqueur de l’édition 2006 de Prologin ! Ce fut une belle finale, et ce marathon de programmation aura été serré. Mais fort heureusement, tu t’en es bien sorti. Reste à savoir qui tu es, puisque autour de toi les autres candidats lisent précisément le même texte. Car c’est toi — ou plutôt moi — qui as écrit ce sujet, à la différence que moi, j’ai participé à la finale, et toi pas encore.

Ce métasujet, inspiré de Retour vers le futur décrivait les règles du jeu et les différentes fonctions utilisables par les programmes des candidats. Le but : contrôler des joueurs sur une carte pour récupérer le fameux almanach et la DeLorean afin de parier dans des casinos dans le passé pour gagner le plus d’argent possible. Comme chaque année, chaque candidat devait programmer une intelligence artificielle nommée champion qui jouait au jeu et des tournois étaient organisés entre les différents champions pour déterminer un classement.

Après la présentation du sujet, en sortant dans la cour pour accéder à la salle machine, on pouvait découvrir une véritable DeLorean.

Car en plus de concevoir les règles du sujet et d’établir l’infrastructure de la finale, les orgas travaillent la déco. Et à l’issue des trente-six heures, d’une courte nuit et des oraux pour les dix premiers du classement devant un jury, à l’ouverture de la remise des prix, une vidéo est projetée retraçant l’événement. L’équipe EPTV avait donc travaillé d’arrache-pied la dernière nuit pour nous offrir le spectacle suivant :

Et pour la vidéo de la finale 2013, c’est ici. Bon code à tous !

Carrés magiques

Le musée de Grenoble a fêté ses 20 ans ce week-end, avec actuellement Sigmar Polke à l’honneur. L’une de ses œuvres s’intitule « Carrés magiques I-VII (Saturne, Jupiter, Mars, Soleil, Vénus, Mercure, Lune) », et se compose de figures obtenues en reliant les nombres d’un carré magique d’ordre N dans l’ordre croissant, et ce pour N variant de 3 à 9 :

On peut alors s’intéresser à la génération de carrés magiques d’ordre N. Apparemment, il existe une méthode simple pour le cas N impair, si simple qu’il en existe une implémentation en une ligne de Python :

n=5
print [[(i+j-1+n/2)%n*n+(i+2*j-2)%n+1 for j in range(n)] for i in range(n)]

La page Wikipédia associée présente diverses méthodes plus ou moins compliquées pour le cas N pair, notamment une solution pour N multiple de 4 et une autre solution pour le cas général.

Mais heureusement, l’implémentation des carrés magiques dans le logiciel de calcul numérique Octave est succincte.

Study the magic.m (Figure 2) code and appreciate the wisdom inside this succinct script.

Il existe également une version Python de cette implémentation que l’on peut utiliser pour refaire les dessins de Polke en TikZ. Le code est sur Bitbucket.

À noter qu’il existe aussi un package en R, qui permet de générer des hypercubes magiques de dimension quelconque.