David Madore's WebLog: 2011-10

This WebLog is bilingual, some entries are in English and others are in French. A few of them have a version in either language. Other than that, the French entries are not translations of the English ones or vice versa. Of course, if you understand only English, the English entries ought to be quite understandable without reading the French ones.

Ce WebLog est bilingue, certaines entrées sont en anglais et d'autres sont en français. Quelques-unes ont une version dans chaque langue. À part ça, les entrées en français ne sont pas des traductions de celles en anglais ou vice versa. Bien sûr, si vous ne comprenez que le français, les entrées en français devraient être assez compréhensibles sans lire celles en anglais.

Note that the first entry comes last! / Notez que la première entrée vient en dernier !

Index of all entries / Index de toutes les entréesXML (RSS 1.0) • Recent comments / Commentaires récents

Entries published in October 2011 / Entrées publiées en octobre 2011:

(lundi)

Musculation et futilité

Pour la quatrième fois consécutive, j'ai déboursé une somme ridiculement élevée (et qui augmente, d'ailleurs, nettement plus vite que l'inflation ; cette année j'ai eu de la chance, je suis arrivé la veille de la révision des tarifs, et je n'ai craché « que » 840€) pour m'inscrire au Club Med Gym afin d'y faire de la muscu.

C'est donc l'occasion de me demander pourquoi au juste je fais ça, et affronter mes contradictions à ce sujet. Enfin, affronter, peut-être pas, mais au moins contempler.

La première année je n'ai quasiment pas profité de cette inscription payée à prix d'or. Mais à partir de fin 2009 (environ), j'ai été raisonnablement sérieux (raisonnablement sérieux, ça veut dire quelque chose comme 3–4 séances chaque semaine, d'à peu près une heure, et en me fatiguant vraiment). Et je ne sais pas, en fait, pourquoi je le fais. Certainement pas pour la santé : je soupçonne que c'est même vaguement néfaste, et que si je voulais m'occuper de ma santé je devrais plutôt faire du cardio-training (j'ai à peu près autant d'endurance qu'un muon : 2.2µs) et pas de la muscu. Pas non plus pour regarder des jolis garçons : même si la faune dans une salle de muscu est à 95% masculine et respire la testostérone, en vérité elle n'est pas très intéressante du point de vue esthétique.

Pour soigner mon apparence, alors ? La différence (par rapport à il y a deux ans) est certaine si je me regarde nu dans un miroir, et c'est sûr que ce n'est pas désagréable. Mais les gens qui me voient nu ne sont pas très nombreux : il y a mon poussinet, qui s'en fout… et c'est tout. Comme je n'ai pas l'habitude de mettre des vêtements hyper moulants (au contraire, je porte plutôt du baggy), à part les quelques jours de l'été où j'aurai un débardeur, personne ne remarquera si j'ai des bras musclés ou encore moins des tablettes de chocolat. (Et même les quelques jours de l'été où je suis peu couvert, on va surtout voir que je suis blanc comme une endive.) De toute façon, j'ai un squelette à la carrure d'apparence chétive ; de toute façon je n'ai sans doute pas un métabolisme à prendre beaucoup de muscle ; et de toute façon je n'ai pas le temps d'y passer ma vie comme les gros bourrins qui ont l'air d'être toujours là quelle que soit l'heure à laquelle je puisse aller à la salle de muscu. Donc même si j'ai une petite satisfaction intérieure à constater que sur l'échelle impitoyable du curseur placé sur le tas de fonte (si certains se demandaient de quoi parlait ce fragment, vous avez la réponse…) je suis en fait plutôt dans les meilleurs, je n'ai aucune chance d'approcher le niveau de ces gros bourrins. Parce qu'il y a vraiment des gens qui prennent ça avec un sérieux impressionnant quand ils discutent de leur programme, quand ils parlent de phase de séchage ou de prise de poids, de la différence entre tel ou tel mouvement, on ne peut qu'admirer tant de science (même si, à vrai dire, je suis un peu sceptique quant aux fondements scientifiques de tous ces préceptes ; je crois que c'est juste le temps qu'ils y passent qui explique tout).

Il y a sans doute le fait de taper dans mes complexes d'ado moche et nul en sport, et qui m'autoconvainquais que je n'aimais pas le sport et que c'était un truc à la con. (Pardon, j'ai eu une discussion interminable avec un ami sur la question de savoir si la musculation peut être considérée comme un sport. Je corrige donc virtuellement sport en activité physique ou sportive dans ce qui précède.) Je voudrais me prouver à moi-même que je peux ne pas être malingre toute ma vie.

Mais finalement, je pense que c'est un exercice de futilité absurde. Soulever un poids et le reposer, recommencer, recommencer, recommencer, et compter les ordinaux, ça fait penser à quelque chose :

Je laisse Sisyphe au bas de la montagne ! On retrouve toujours son fardeau. Mais Sisyphe enseigne la fidélité supérieure qui nie les dieux et soulève les rochers. Lui aussi juge que tout est bien. Cet univers désormais sans maître ne lui paraît ni stérile ni fertile. Chacun des grains de cette pierre, chaque éclat minéral de cette montagne pleine de nuit, à lui seul, forme un monde. La lutte elle-même vers les sommets suffit à remplir un cœur d'homme. Il faut imaginer Sisyphe heureux.

(vendredi)

Ma peluche dans un webcomic !

Ciel, ma peluche Daisy se fait martyriser dans un webcomic ! Je vais de ce pas signer la pétition pour interdire les expériences de pensée sur les vaches sphériques.

(mercredi)

Comment se battre contre les programmeurs imbéciles de chez LCL

(Comment ça, ce blog est en train de devenir un blog de râlerie contre les banques ?)

Ayant ranimé un compte au CIC qui était dans le coma, je voulais me préparer la possibilité de faire des virements vers ce compte depuis mon compte LCL (pour les virements dans l'autre sens, on verra, euh, plus tard). L'interface en ligne de gestion des comptes de LCL permet de faire des virements, à condition d'avoir préalablement enregistré le RIB du compte destinataire. C'est une sécurité minimale qui ne me paraît pas absurde : on ne peut pas faire un virement vers n'importe où, il faut d'abord ajouter le RIB, on reçoit un courrier papier informant de ce fait (ce qui permet de crier au secours si c'est une tentative de vol), et quelques jours plus tard on peut faire les virements. Cependant, la sécurité du site en ligne a été améliorée de bidon à bidon++ (par exemple, maintenant pour saisir son code d'accès on ne peut plus le taper au clavier, il faut cliquer sur des petites images de chiffres — les non-voyants doivent adorer ça, c'est super pour l'accessibilité — et du coup n'importe qui qui voit l'écran voit le code, ce qui est assez bof au niveau sécurité). Maintenant, pour ajouter un RIB externe, il ne suffit pas de taper son code d'accès, il faut utiliser un certificat.

A priori, ça me plaît bien. Je suis cryptographe, j'aime bien la signature électronique. Mais le nombre de conneries auxquelles je suis confronté, et qui transforment la simple opération d'ajout d'un RIB en un véritable parcours du combattant, est effarant.

D'abord, la procédure est lourdingue au possible. Il faut : (1) se connecter au site pour faire une demande de certificat, (2) recevoir par courrier papier un code d'activation du certificat, (3) retourner sur le site pour « retirer » le certificat et (4) l'« activer ». C'est lourdingue mais ce n'est pas foncièrement idiot : l'étape (2) est une précaution minimale pour limiter les dommages si quelqu'un récupère les codes d'accès au site (ceci dit, s'il peut faire ça, il pourra probablement récupérer aussi l'accès au certificat, mais passons). L'étape (3) est celle où se fait la génération proprement dite, et il est possible qu'ils aient correctement fait les choses et qu'ils n'aient pas connaissance de la clé privée. Possible. L'étape (4) est une vérification dont je ne comprends pas bien le sens puisqu'ils signent eux-mêmes le certificat à l'étape (3), mais bon, ce n'est pas problématique en soi. Le problème est surtout qu'ils se sont chié dessus à tous les niveaux possibles.

Première connerie : utiliser Java côté client. C'est idiot, on peut tout faire en JavaScript (voir ceci, et penser aussi à la balise magique <keygen> du HTML), alors que Java dans un navigateur est lourdingue et marche atrocement mal. Mais admettons.

Premier problème pour moi : mon Java ne marche pas. Ça, je dois le reconnaître, ce n'est pas du tout la faute de LCL. C'est apparemment AdBlock Plus et/ou GreaseMonkey (outils malheureusement indispensables) qui empêchent le plugin Java de Firefox de fonctionner correctement (au moins sur mon Linux, je ne sais pas à quel point c'est général ; j'imagine que non, sinon le problème serait plus connu et probablement déjà résolu). Il faut les désactiver complètement (tous les deux) : il ne suffit pas de les désactiver sur le site, il faut vraiment relancer le navigateur sans ces extensions, si on veut que Java marche. Bon, deux bonnes heures de perdues à découvrir ça.

((Mise à jour () : On me souffle que seul le plugin Java de Sun Oracle souffre de ce problème. Si j'utilise le plugin Java IcedTea, il est, lui, compatible avec AdBlock Plus et GreaseMonkey (même si, en contrepartie, il semble beaucoup plus lent au démarrage). Comme c'est IcedTea qui est utilisé par Ubuntu, je suppose que c'est ça qui explique que le problème ne soit pas largement connu.))

Ayant enfin réussi à faire marcher mon Java, je retourne sur le site de ma banque, et j'arrive à retirer mon certificat. Maintenant, je veux m'en servir pour signer la demande d'ajout de RIB. Nouvelle applet Java, et celle-ci meurt immédiatement sans autre forme d'explication. Nouveau problème, donc : pourquoi ça ne marche pas ?

Je dois d'abord trouver le moyen d'ouvrir une console Java pour avoir quelques diagnostics. Pas évident de trouver la recette, mais une fois que c'est fait, la raison devient claire : non seulement ces andouilles croient indispensable d'utiliser Java, mais ils ne savent pas se débrouiller avec la bibliothèque standard de Java (qui fait pourtant tout en la matière, et surtout le café) : ils ont besoin d'un package à la con et non standard, com.dictao, dont la simple vue du site Web me laisse penser que c'est du bidon intégral. Mais le plus affligeant : pour faire une simple signature électronique, ils ont besoin non seulement d'un package Java externe, mais ils ont même besoin de bibliothèques natives. (Le lecteur non techniquement initié ne comprend sans doute pas un mot de ce que je raconte, mais c'est un peu comme si pour faire fonctionner une télé on prétendait devoir ouvrir mon compteur électrique et installer des choses dedans. C'est même pire que ça, tout le principe de Java est d'éviter d'avoir à utiliser du code natif !, et là ils arrivent à combiner les inconvénients des deux.)

Et évidemment, ces bibliothèques natives ne sont fournies que dans un petit nombre de versions : Windows 32-bits, Windows 64-bits, Mac OS (je ne sais pas exactement quelles architectures) et Linux 32-bits. Dommage pour ceux qui sont clients de LCL et qui utilisent FreeBSD, ou bien Linux sur un ARM (comme un téléphone mobile Android ?), ou n'importe quoi d'autre ; et dommage pour le principe de portabilité de Java. Dans mon cas, c'est Linux 64-bits, donc je suis baisé. Bon, il se trouve que j'ai un système 32-bits au chaud, donc une fois que j'ai compris le problème, j'ai pu m'en sortir. Tout de même, deux nouvelles heures de perdues ; et au passage, je ne suis pas spécialement content de laisser ces gens de Dictao, que je ne connais ni d'Ève ni des dents, faire tourner des bibliothèques que je ne maîtrise pas sur mon ordi. Ça aussi, c'est assez bof pour la sécurité.

Si quelqu'un veut analyser le truc, l'applet est ici : je serais bien curieux de savoir à quoi servent précisément toutes ces bibliothèques.

Ceci étant, je me rends compte, une fois que j'arrive à faire marcher l'applet de signature, que j'ai oublié l'étape d'« activation » du certificat que j'ai reçu. Celle-ci, apparemment, consiste en gros à refaire une connexion au site de la banque en s'authentifiant avec le nouveau certificat. Manque de chance, cette reconnexion constitue techniquement une renégociation SSL, ce qui est la base d'une vulnérabilité connue depuis deux ans, que tous les navigateurs vaguement décents, et en tout cas le mien, ont corrigé en interdisant le renégociation SSL. Du coup, cette étape ne marche pas (error ssl_error_renegotiation_not_allowed). Bon, heureusement, si on cherche un peu, on apprend que Firefox a des préférences permettant de lever cette interdiction (au cas par cas, ou globalement). Mais ça donne une idée du niveau de compétence en sécurité informatique des programmeurs qui ont pondu ce truc.

Au final j'ai bien réussi à activer mon certificat et à signer ma demande d'ajout de nouveau RIB… qui sera effective sous quelques jours, quand ils m'auront envoyé un nouveau courrier pour m'en avertir. Mais quel parcours semé d'embûches !

Ce que j'aimerais bien faire maintenant, c'est analyser ce que fait exactement cette applet Java, la reprogrammer moi-même, et contourner leur truc (par exemple avec GreaseMonkey) pour utiliser le mien à la place. Ça demanderait pas mal d'efforts, donc je ne sais pas si ça en vaut vraiment la peine, mais ça aurait quelque chose de jouissif de rendre public un tel script servant à réparer les idioties de LCL (et à le rendre accessible depuis n'importe quelle machine avec Firefox, pas seulement les Windows, Mac OS et Linux 32-bits).

Je pourrais aussi écrire une lettre à LCL en disant écoutez, je suis chercheur en crypto dans une grande école de télécommunications, et mon avis technique détaillé en tant que spécialiste de sécurité informatique est que vous êtes des quiches, mais je crois que je pourrais tout aussi bien pisser dans un violon que d'espérer pouvoir faire remonter mes critiques à ceux qui les méritent.

(vendredi)

Pas sûr que la banque nº2 vaille mieux que la nº1

Je suis allé tout à l'heure à l'agence du CIC la plus proche de chez moi, parce que j'ai depuis longtemps un compte dans cette banque (en fait, depuis qu'ils m'ont donné de l'argent comme ils le faisaient en Île-de-France avec tous les bacheliers mention très bien — depuis je crois qu'ils ont élargi le périmètre de leur cadeau), un compte qui a un temps servi à gérer un portefeuille d'obligations arrivé à terme il y a déjà des années, et qui est maintenant dormant. Je voulais le rapatrier de l'agence d'Orsay vers celle de Paris, et peut-être en faire quelque chose (à commencer par découvrir quel en est le solde parce que, à vrai dire, je n'en ai aucune idée). Je pensais que ce serait simplement l'affaire de me pointer à l'agence, donner une pièce d'identité, un RIB et peut-être un justificatif de domicile, signer un formulaire, et voilà tout. Non : il faut apparemment prendre rendez-vous et j'ai eu la faiblesse d'accepter au lieu de les envoyer au diable, si bien que je dois y retourner demain (et aux aurores : 11h du matin). La peste soit des banquiers et de leur formalisme à la noix.

En plus, le guichetier qui m'a reçu avait une attitude bizarre, un peu comme si je demandais un service rare et inhabituel et qu'il me regardait avec un mélange d'étonnement et de soupçon. Il m'a demandé de venir demain avec un bulletin de salaire récent : là aussi j'ai eu la faiblesse de ne pas l'envoyer chier, je me suis contenté de lui expliquer que mon salaire était versé chez une autre banque et que je ne comptais pas le mettre sur ce compte-là (mais ce n'est pas grave, m'a-t-il expliqué — je m'en doute bien, banane, mais je m'attendais plutôt à des explications sur pourquoi il veut voir un bulletin de salaire).

Je ne sais d'ailleurs franchement pas pourquoi je suis allé chez une agence qui me spamme régulièrement par téléphone pour ouvrir un compte chez eux !

(jeudi)

J'ai enfin ma carte bancaire !

Après trois semaines et seulement trois rappels à mon ancienne agence bancaire, j'ai enfin réussi à obtenir ma carte bleue flambant neuve.

Bien sûr, ces imbéciles ont trouvé nécessaire d'en changer le code (qui n'avait pourtant été ni perdu ni compromis), mais ne soyons pas mesquins : l'essentiel est que j'aie tout de même reçu cette carte. Ça mérite au moins une grande fête de célébration, une partouze où l'alcool et la drogue coulent à flots (Ils acceptent la carte bleue, les dealers et les prostitués du bois de Boulogne ?)

Que ceux qui se désolent de voir cette saga-dans-la-vie-de-Ruxor se terminer si vite se consolent, elle va recevoir un codicille, puisque mon accès au service e-Carte bleue ne marche toujours pas (il est toujours temporairement bloqué) : apparemment il fallait que j'y inscrivisse ma nouvelle carte, et je vais recevoir de nouveaux identifiants par courrier sous… dix jours. (De nouveau, insérez ici un réquisitoire contre tant de stupidité sachant que je n'ai ni perdu ni compromis mes identifiants actuels, et que le fait de les lier avec la carte physique est une idiotie.) Donc, dans le meilleur des cas, c'est-à-dire si miraculeusement ces nouveaux identifiants marchent et qu'il n'y a pas encore une merde, j'ai gagné encore dix jours de pénitence pour mon oubli.

(Et pour ceux qui me conseillent de changer de banque : oui, je compte aller demain dans une agence d'une autre banque — le CIC — où j'ai un compte dormant pour le faire transférer et sans doute en faire quelque chose, notamment voir combien ils facturent la carte bleue et la carte bleue électronique. Donc c'est en cours. Mais j'ai peur que ça ne fasse que démultiplier les emmerdes. Déjà, faut voir s'ils ne vont pas me dire ah, Monsieur, ça fait dix ans que vous n'avez pas touché à ce compte, on a repris votre argent et vous n'avez plus moyen de vous plaindre.)

(mercredi)

Je déteste les barres en haut des sites Web

Ça fait partie de ces petites manies du Web qui m'insupportent de plus en plus : le nombre de sites Web en tous genres qui croient nécessaire de se doter d'une petite barre en haut (ou parfois en bas) de la fenêtre ; laquelle barre ne contient d'ailleurs absolument rien d'utile ou d'intéressant, généralement une invitation à aller sur Facebook pour devenir « ami » du site, ou à s'inscrire, ou quelque chose comme ça. (Si vous voulez voir des exemples, prenez les sites d'AlloCiné, de Libération, de L'Express ou encore de Cracked où elle est en bas.) Je ne me plains pas de ce genre de barres si elles restent simplement en haut de la page (et donc cesseront d'être visibles dès que j'aurai défilé un peu), je me plains de celles qui sont ancrées à la fenêtre (position: fixed en CSS). Je ne me plains pas non plus vraiment de celles qui sont sur le côté (gauche ou droit), qui n'ont que l'inconvénient assez mineur de limiter la région utile pour la lecture. Et je tolère à la rigueur les barres en haut ou en bas quand il y a un bouton pour les fermer (à condition que ce bouton fasse vraiment disparaître la barre sans laisser la moindre trace polluant la colonne de lecture). Mais quand la barre n'offre aucun moyen de la faire disparaître et qu'elle s'accroche obstinément en haut ou en bas de ma fenêtre, je maudis le concepteur du site.

Si vous ne comprenez pas bien, cliquez ici.

Le problème n'est pas seulement que ça distrait mon attention, même si c'est déjà agaçant (certes, les menus ou la barre d'adresse de mon navigateur sont dans la même position, mais ceux-là j'en ai pris l'habitude, et leur graphisme rend évident pour mes yeux de les éviter). Le problème principal que je vois, c'est que je fais défiler les sites Web à la touche espace pour passer à la page suivante ; or le navigateur, quand j'appuie sur la touche espace, il défile d'une page, sans tenir compte de l'espace mangé par ce genre de petites barres à la con. Du coup, je me retrouve bien une page plus loin, mais la page en question est une page barre comprise, pas une page moins la barre, et j'ai raté quelques lignes de texte qui ont été cachées sous la barre en question.

(Bon, là, normalement, un petit malin me fait remarquer que les navigateurs ne défilent pas exactement d'une page, mais légèrement moins, et que ce légèrement moins est suffisant pour compenser la barre qui n'est pas bien grande. C'est vrai, mais ça ne répond pas vraiment au problème : le légèrement moins est prévu pour aider le fait de retrouver où on en est, donc manger dessus est de toute façon très gênant. Je suis habitué à savoir exactement quand défiler, en gros juste une ligne avant la fin de la page, et où me retrouver après défilement : si l'endroit n'est pas le bon, je perds du temps à remonter de quelques lignes et à me demander où j'en étais.)

L'arme absolue contre ce genre de conneries, c'est GreaseMonkey, l'extension à Firefox qui permet de modifier n'importe quelle page Web en exécutant le JavaScript qu'on veut juste après qu'elle s'est chargée. Donc je me fabrique des petits trucs comme :

// ==UserScript==
// @name           liberationRemoveBar
// @namespace      http://www.madore.org/~david/greasemonkey/
// @description    Remove top bar from liberation.fr
// @include        http://www.liberation.fr/*
// ==/UserScript==
function liberationRemoveBar() {
    var style = document.createElementNS("http://www.w3.org/1999/xhtml", "style");
    style.appendChild(document.createTextNode("#bar-liberation { display: none ! important }"));
    document.getElementsByTagName("head")[0].appendChild(style);
}
liberationRemoveBar();

Même comme ça, c'est agaçant, parce qu'à chaque nouveau site rencontré, il faut faire l'effort d'ouvrir un script GreaseMonkey, pondre le code qui va bien pour le corriger, sauvegarder, disséminer sur l'ensemble des ordis où j'utilise un navigateur…

Bon, s'agissant des sites d'information, j'en profite généralement aussi pour empêcher les commentaires de s'afficher, ça ménage ma vésicule biliaire.

Je devrais créer une catégorie first world problems à ce blog.

(lundi)

Sur le conseil de tout changer

Ceci est une réflexion générale dans la lignée d'une entrée récente sur la façon de donner des conseils :

Comme mes lecteurs réguliers le savent bien, je suis du genre râleur. C'est-à-dire que je me plains souvent de mon X pour toutes sortes de valeurs de X : mon téléphone mobile, mon ordinateur, mon système d'exploitation, ma banque, le pays dans lequel je vis, etc. Je parle de choses que j'ai plus ou moins choisies, j'écarte ici les choses dont je ne suis pas responsable (et dont je ne me prive pas de me plaindre aussi, mais la remarque que je veux faire ne s'applique pas). Une réponse que j'entends régulièrement à ces râleries est alors : tu n'as qu'à changer de X (c'est particulièrement fréquent dans le domaine de l'informatique où on va me proposer de changer de système d'exploitation, d'éditeur, de moteur de blog ou de navigateur Web ; mais on peut aussi me proposer de changer de banque, de déménager, etc.). Cette réponse est généralement accompagnée d'une déclaration de satisfaction de son auteur concernant son X à lui (ah, tu n'es pas content de ton téléphone Android ? tu devrais utiliser un iPhone, c'est ce que j'ai et j'en suis très content). Et c'est dit sur un ton généralement amical, mais parfois un peu agressif (ben c'est ton problème si tu as choisi ce X-là, c'était un choix bizarre, maintenant tu ne peux t'en prendre qu'à toi-même), et en tout cas avec un air de finalité (voilà, j'ai identifié la cause de ton problème). Je précise que je plaide coupable : je donne souvent des « conseils » de ce genre. Bref, si tu n'es pas content du X que tu as choisi (disons x), tu n'as qu'à en prendre un autre (disons x′).

J'identifie deux erreurs dans ce type de réponse. (A) C'est oublier que les problèmes que je soulève ne sont pas un choix aléatoire de tests sur un X, ni même à mes critères en général, ils correspondent justement aux problèmes que j'ai identifiés sur x, et donc qu'à côté de ces problèmes que je décris, il y a la masse énorme des non-problèmes qui sont également importants pour moi. Et (B) c'est oublier que le fait de changer de X a généralement un coût, parfois un coût astronomique, que ce soit dû à l'habitude ou à n'importe quelle autre prix de transition.

J'explicite.

(A) : Ce qui me fait choisir un X plutôt qu'un autre, quand il y a une décision explicite, ce sont des myriades de critères, pas forcément conscients, sur ce que je veux et ce que j'attends d'un X, bref, ce qui me plaît. Forcément, ce choix ne se fait pas de façon formalisée, il y a beaucoup d'heuristiques et de pifométrie. Mais au final, j'en sélectionne un, appelons-le x. Une fois que je suis sur ce x, j'en identifie un certain nombre de problèmes. Forcément, ma vision est biaisée : c'est parce que je suis sur x que j'en vois particulièrement les problèmes ! Je n'ai pas une conscience aussi aiguë des problèmes que présente x′, un autre élément de la classe X, puisque je n'y suis pas confronté. Je ne suis même pas forcément conscient des critères qui me font juger. Il n'empêche que je peux avoir une intuition, et qu'elle n'est pas forcément infondée.

Mon propos est peut-être difficile à comprendre car trop général. Prenons un exemple : j'utilise Linux comme système d'exploitation sur tous mes ordinateurs, et à l'intérieur des distributions Linux, j'ai choisi spécifiquement Debian et Ubuntu. Je me plains pourtant beaucoup de Linux (par exemple ici), et plus spécifiquement des deux distributions que j'ai choisies. D'aucuns me disent : mais pourquoi n'utilises-tu pas plutôt Windows / Mac OS / Fedora / quidlibet ? Tous les problèmes que tu signales ne se posent pas. Mais c'est évident que beaucoup des problèmes que je signale, qui sont justement choisis comme des problèmes que j'ai avec Linux (Debian/Ubuntu) ne se poseront pas avec, disons, Windows (je n'ai pas de doute que la 3D marcherait sans problème). Je suis cependant persuadé que j'aurais d'autres problèmes. Des problèmes dont j'ignore même la nature puisque, justement, je ne connais pas du tout Windows. Peut-être que je n'arriverais pas à faire fonctionner le RAID6 logiciel ; peut-être que je n'arriverais pas à configurer la touche Compose de mon clavier ; peut-être que j'aurais du mal à obtenir exactement ce que je veux en matière de focus dans les fenêtres : je n'en ai aucune idée. Ou peut-être que j'y arriverais au prix de beaucoup d'efforts, comme j'ai réussi à faire plein de choses sous Linux au prix de beaucoup d'efforts. Mais ça n'a aucun sens[#] de comparer x et x′ d'après les problèmes que j'ai identifiés sur x.

Et c'est un peu inutile de me dire moi je n'ai pas de problèmes avec mon X : si je suis râleur, c'est que mes critères sont nombreux et exigeants, ce n'est probablement pas parce que je suis mauvais pour choisir. Donc si celui qui me dit ça n'a pas de problème avec x′, ça en dit plus sur ses critères que sur x′. Ce n'est pas un reproche ! Ils ont bien de la chance, les gens qui sont plus tolérants, donc moins râleurs, que moi. Mais ça m'aide fort peu de savoir qu'ils le sont.

Ce n'est là qu'un aspect de la chose. L'autre, c'est l'habitude :

(B) : Des gens fort avisés l'ont dit mieux que moi :

Prudence, indeed, will dictate that [X] long established should not be changed for light and transient Causes; and accordingly all Experience hath shewn, that Mankind are more disposed to suffer, while Evils are sufferable, than to right themselves by abolishing the Forms to which they are accustomed.

Le poids de l'habitude n'est pas quelque chose dont il faut se moquer : changer a un coût, ce coût est souvent énorme, surtout si le gain en regard n'est qu'hypothétique. Il est sans doute vrai que je suis particulièrement conservateur dans mes choix, ou peu enclin à expérimenter la nouveauté, mais je ne pense pas que ce soit une attitude spécialement irrationnelle (ce qui n'interdit pas de penser, évidemment, que je la pratique à un degré trop élevé — ce sera juste difficile à établir avec certitude). Ce poids peut être dû au fait que changer en soi a un coût important (parce que c'est une opération compliquée, par exemple s'il s'agit de déménager) ou parce que l'habitude prise avec x, donc le fait de savoir contourner ou vivre avec ses problèmes, a une valeur, et qu'il faut du temps pour se familiariser de même avec x′ (un autre X).

C'est ainsi que bien qu'étant utilisateur de Linux depuis environ 15 ans, je doute que changer d'OS m'apporte un gain supérieur à ce que serait la perte de tant d'habitudes.

Mais je souligne bien : je ne suis pas utilisateur de Linux parce que je pense qu'il est meilleur que les autres OS. J'ai complètement cessé de faire de l'évangélisme, et je ne conseille jamais aux gens de changer leur OS même quand ils ont des problèmes avec le leur : j'utilise juste Linux, et telle distribution précise de Linux, parce que je me suis habitué à ses maux, et je pense que les maux seraient différents mais globalement équivalents avec un autre système, et je n'ai pas de temps à perdre à en apprendre un nouveau.

Je prétends pourtant que ça ne m'interdit pas de me plaindre des problèmes que je rencontre. Et pour redire ce que j'ai écrit dans un commentaire récent : même si je suis persuadé de vivre dans le meilleur des mondes possibles, j'ai quand même le droit de me plaindre qu'il est complètement merdique.

[#] Pour que les choses soient parfaitement claires, je le redis à l'intention des matheux. Imaginons que les X soit vus comme des parties de {1,2,3,…N} avec N (valant peut-être 100000) le nombre de problèmes qui peuvent se poser, chacun identifiant un problème particulier. Mon but est de trouver celui qui minimise le nombre de problèmes (donc le cardinal de l'ensemble). J'en choisis un, x, qui contient les problèmes 42, 666 et 1729, et je me plains publiquement de ceux-ci. Quelqu'un d'autre me dit qu'il utilise, lui, x′, qui ne contient aucun des problèmes 42, 666 et 1729. Fort bien, mais si tout ce que je sais de x′ est qu'il ne contient ni 42, ni 666, ni 1729, et si le nombre moyen de problèmes d'un X est de 500, ça me donne très peu de raisons de vouloir passer à x′ pour remplacer mon x={42,666,1729} qui n'en a que trois !

(dimanche)

Nanar d'espionage

C'est dur d'être un garçon homo qui a les mêmes goûts qu'une adolescente américaine de 17 ans : ça nous oblige, mon poussinet et moi, d'aller voir des films aussi mauvais que ça (Abduction, Identité secrète en français) pour les beaux yeux de l'acteur principal[#], aussi mauvais mais en l'occurrence pas assez spectaculairement nul pour faire un bon nanar. Vous allez me dire, pour ça je pouvais aller regarder la saga Twilight et voir Taylor Lautner exhiber ses pecs et ses abdos dans le rôle d'un loup-garou aussi improbable qu'huilé de partout ; mais là ça aurait complètement dépassé ma patience et ma tolérance à l'énormité. Donc tant qu'à faire, au moins choisir un film où il joue le rôle principal et où il y ait un peu d'action et de testostérone. Un film aussi formaté que le physique du bôgosse dont on devine qu'il a été formé pour être mannequin et pas acteur.

Mais mon but n'est pas de tirer sur une ambulance, ou en tout cas pas sur celle-là : je veux surtout m'amuser d'une chose, c'est la façon dont les films d'espionnage de ce genre imaginent le concept d'information. En l'occurrence, le cœur du scénario est une liste de noms (cryptée, paraît-il, mais ce point-là ne joue absolument aucun rôle, le mot semble avoir été simplement ajouté pour essayer de gagner de la technocreed) stockée dans le téléphone mobile du père du héros. En un unique exemplaire, évidemment.

Et je ne sais pas combien de fois j'ai porté ma main à mon front devant des films qui tournent autour de cette idée : qu'une information ultra-importante ou ultra-secrète (parce que de nos jours ça semble plus crédible qu'une information ait énormément de valeur plutôt qu'un objet matériel) existe en un seul exemplaire, que personne, bon ou mauvais, n'a l'idée qu'elle pourrait être recopiée ou avoir été recopiée, et que quelqu'un essaie de la récupérer, pas pour avoir une copie lui-même (ce qui aurait un sens), mais pour empêcher d'autres de l'avoir. Jusqu'à des niveaux de ridicule où tel personnage X prend en otage tel autre personnage Y pour demander de Z qu'il lui donne le CD, la clé USB, le téléphone mobile, ou je ne sais quoi, qui contient l'information, afin de la détruire. Hum, voyons, qu'est-ce qui lui prouve que cette information ne sera pas recopiée avant ? et s'il a moyen de s'en assurer, pourquoi ne pas utiliser ce moyen pour s'assurer que l'unique exemplaire sera détruit ?

That's not how information works, guys.

Et je ne sais combien de fois je me suis dit, en regardant tel ou tel film de ce genre, que si j'étais le héros je ferais N copies chiffrées du fichier ultra-compromettant que le méchant essaie de récupérer, j'en enverrais une à plein de grands journaux de la planète plus une sur différents torrents avec un nom bien alléchant, et je déposerais la clé de chiffrement chez plusieurs avocats, chacun ayant la mission que s'il arrive quoi que ce soit de suspect à moi, à mes proches, ou à un autre des avocats, il l'envoie à tous les dépositaires du fichier. Je conviens que mon scénario à moi souffre aussi de plein d'invraisemblances, mais aucune qui ne soit déjà copieusement exploitée dans ce genre de films, et en plus il a effectivement été utilisé dans la vraie vie, et je précise que j'avais cette idée bien avant que Julian Assange ne la mette en œuvre (et je ne prétends à aucune originalité).

Forcément, ce genre de façon de faire diminuerait pas mal les possibilités de courses-poursuites-avec-cascades pour récupérer l'exemplaire de l'information. Mais je pense qu'il y a quand même moyen de faire des scénarios intéressants, avec de l'action.

[#] De fait, quand je relis les entrées de la catégorie cinéma de ce blog, une bonne proportion des films n'a été vue que, ou principalement pour, l'acteur principal. Assumons : ce n'est pas ma faute si David Lynch ne fait pas jouer Zac Efron, hein !

(vendredi)

Je déteste de plus en plus ma banque

Suite de la saga « je n'ai plus de carte bancaire » commencée ici et  :

Ma carte bancaire est évidemment arrivée à l'agence LCL d'Orsay (avant que mon transfert de compte vers l'agence LCL près de chez moi ne fasse effet — on se demande pourquoi ces choses-là prennent deux semaines), et ils ont évidemment ignoré ma lettre qui leur demandait de la réexpédier vers l'autre agence. Et ils ne m'ont prévenu de rien. Cet après-midi, une guichetière de ma nouvelle agence a appelé de ma part l'ancienne agence pour découvrir ce fait et leur demander de réexpédier la carte. Il paraît que ça prendra encore une semaine. Miraculeusement, on ne m'a pas demandé de faire une nouvelle lettre portant ma signature pour appuyer cette demande. (Mais peut-être n'est-ce pas miraculeux, justement, et peut-être que faute de ça ils ne vont rien faire du tout : ils en sont capables.)

Je suppose aussi qu'ils vont décider de changer le code : il n'y a aucune raison de le faire (c'est la carte que j'ai perdue, pas le code, il n'y a aucune raison que la mise en opposition de la carte et la demande d'une nouvelle conduise à ce que le code soit changé), mais je m'attends à tout après tant de nullité.

Mais surtout, je viens de découvrir qu'ils ont aussi bloqué mon accès au service de carte bleue électronique sécurisée que j'utilise. Il n'y a évidemment aucune explication : Votre accès au Service e-Carte bleue est temporairement bloqué. (Le système bancaire, et particulièrement tout ce qui touche aux cartes de crédit, est notoirement doué pour produire des messages d'erreur qui ne donnent aucune sorte d'explication sur la raison du problème.)

C'est abyssalement crétin, parce qu'il ne devrait y avoir aucun lien entre le bout de plastique que j'ai perdu et que je fais refaire et ce service de paiement électronique, dont les codes et numéros sont totalement indépendants, et dont la sécurité n'a aucunement été compromise ; et ça m'emmerde gravement, parce que j'ai justement d'autant plus besoin de ce moyen de paiement électronique que je n'ai plus de moyen de paiement sous forme de rectangle de plastique.

Et je ne suis même pas sûr de ce que je dois faire : attendre que le problème se résolve de lui-même ? (Je vois mal pourquoi le fait d'aller chercher ma carte à l'agence quand celle-ci l'aura reçu va magiquement débloquer la carte bleue électronique.) Demander de nouveaux identifiants via le site Web ? (Possible, mais les identifiants que j'ai sont bons et sont reconnus : j'ai peur qu'essayer ça empire encore les choses.) Aller de nouveau pester à mon agence ? (J'ai l'impression qu'ils sont à peine au courant de l'existence du service de carte bleue électronique, à plus forte raison qu'ils n'ont aucun contrôle dessus.)

Quelle bande de cons, quand même.

(jeudi)

Mon autobiographie « informatique »

Puisqu'en réponse à la note en bas de texte de l'entrée précédente on me dit que ce n'est pas problématique de parler sur un blog de ce dont tout le monde parle déjà, la mort d'un grand génie de l'informatique, si on en parle d'un point de vue personnel, je me lance, profitant d'un peu de calme avant que, sans doute, tous les journaux en fassent leur une et que M. Obama prononce un discours saluant un grand visionnaire américain qui a changé le monde, puisqu'il n'y a aucun doute que le langage C et le système Unix ont eu beaucoup plus d'importance et d'influence que les produits Apple.

Bref, voici une petite histoire (que je recopie très largement d'un truc posté ailleurs il y a quelques années) de la façon dont j'ai été mis en contact avec l'informatique en général, et avec Unix en particulier (bon, le rapport avec Unix est très ténu, c'est juste un prétexte pour poster ça) :

Un jour, je pense que c'était en '81, donc j'avais juste cinq ans, mon père m'a emmené avec lui à l'IHP (à l'époque ça hébergeait divers labos qui devaient dépendre administrativement de Paris VI, et notamment celui où mon père bossait depuis sa thèse, à une brève excursion à Luminy près). Il devait parler avec quelqu'un donc on m'a laissé dans la grande salle commune (donnant sur la rue Pierre et Marie Curie — mais de toute façon tout l'intérieur a été complètement transformé maintenant, il n'y a plus rien de ce qui était là autrefois). Il y avait un PET de Commodore, alors on m'a dit de faire joujou avec l'ordinateur. Mon père a parlé pendant très longtemps, et s'est rendu compte qu'il m'avait complètement oublié : un peu inquiet, il est venu me retrouver, et moi je n'avais pas vu le temps passer, j'avais pianoté sur le clavier pendant des heures. Pour éviter qu'on me prenne pour un génie précoce, je précise que je ne savais à peine lire, et je ne me suis sûrement pas mis à programmer : j'ai juste joué à regarder ce que les touches pouvaient produire comme effet, à déplacer le curseur et à afficher des choses partout sur l'écran. Il faut dire que le clavier du PET avait quelque chose du Space Cadet, il y avait toutes sortes de choses qu'une même touche pouvait produire, et notamment des petits dessins (block drawing, je veux dire) sous les touches.

Cette révélation du premier contact avec l'informatique a eu pour conséquence que mon père a décidé d'acheter un micro-ordinateur (pour moi et lui, ma mère n'étant absolument pas intéressée — mais pour moi il estimait que ce serait un bon achat éducatif). Il a dû passer un bon moment à prospecter et à discuter avec moi pour savoir ce qu'on allait acheter. En attendant j'ai dû revenir plusieurs fois sur le PET de l'IHP pour programmer mes premiers trucs en BASIC — à peu près du niveau de 10 PRINT "BONJOUR"␊20 GOTO 10 ou des choses de ce style.

(lundi)

Personne ne lit les entrées trop longues

Mon poussinet me dit, à juste titre, que cette entrée est beaucoup trop longue et que, du coup, quand bien même j'aurais réussi mon défi de vulgarisation, personne ne la lira (ni ne jouera aux petits jeux en SVG+JavaScript que j'ai donc programmés pour rien). C'est d'autant plus idiot de ma part que, vu que de toute façon j'ai divisé l'entrée en deux parties (avec un joli petit plan) et que j'annonce que les deux parties sont indépendantes, j'aurais au moins pu la tronçonner ainsi pour la publier en deux entrées séparées.

Mais je ne sais pas pourquoi, j'ai du mal à garder quelque chose sous le coude : une fois que je l'ai écrit, ça me démange de le publier tout de suite. C'est pour ça que je n'arrive pas à faire ce que je conseillerais pourtant moi-même à n'importe quel bloggueur dont le blog n'est pas brûlant d'actualité[#] : se constituer un backlog d'entrées à publier un jour, et l'utiliser pour régulariser la vitesse à laquelle on publie.

[#] Il n'aura échappé à personne que je n'aime pas trop commenter l'actualité. Être le 299792458e bloggueur à raconter que Steve Jobs est mort et que j'aime ses produits / j'aime pas ses produits / j'aime pas le foin qu'on fait autour de sa mort / j'aime pas les gens qui n'aiment pas le foin qu'on fait autour de sa mort, ou de façon générale participer aux trends viraux, je trouve que ça n'a que très peu d'intérêt. Mais il y a une autre raison : pour commenter l'actualité, il faut s'y prendre vite, ce qui est incompatible avec un poussinet qui me dit bon, laisse ton blog pour le moment et viens te coucher, tu écriras ça demain. 😉

(lundi)

Nouvelles en vrac

  • Je commençais à trouver bizarre de ne recevoir aucune information concernant ma carte bancaire que j'ai perdue : j'avais immédiatement fait opposition par téléphone et, le lendemain, envoyé une lettre à mon agence pour (1) confirmer l'opposition et (2) demander que la nouvelle carte soit envoyée dans une autre agence ; une semaine plus tard, pas d'avis de mise à disposition de carte, pas de code qui arrive, rien. J'appelle un conseiller qui m'explique candidement que, non, aucune demande de nouvelle carte n'a été reçue pour moi : apparemment, le fait de faire opposition sur une carte et de demander que la nouvelle soit envoyée à tel endroit ne constitue pas une demande implicite de nouvelle carte. J'ai un peu l'impression de parler à des logiciens ! Bon, maintenant la demande a été faite, je suppose qu'ils vont trouver moyen d'oublier ma demande de réexpédition, et qu'entre temps le transfert d'agence va faire effet, et que ça va tout embrouiller. Face à tant de nullité, je me prépare donc mentalement à rester des mois sans carte.
  • Devant les manœuvres sournoises de la météo qui est passée presque du jour au lendemain du mois de juin au mois de novembre, mon corps a réagi comme il en a l'habitude : en me gratifiant d'un rhume carabiné. Si j'ai de la chance, je vais donc passer environ dix jours à grelotter et à me sentir épuisé dès que je soulève le petit doigt. Si j'ai moins de chance, ce sera comme l'an dernier où ça a duré des mois. Mais généralement, quand j'ai un rhume, le pire n'est pas tant les symptômes du rhume, le pire est la quantité de choses que je n'ai plus l'énergie de faire parce que je me sens complètement flagada. (Et loi de Murphy aidant, c'est bien sûr le moment que choisissent plein de gens pour me proposer des activités auxquelles j'aimerais participer.)
  • Dans la catégorie des petits tracas de santé, depuis quelques mois, mes gencives sont en train de se rétracter, surtout au niveau des canines (me transformerais-je en vampire ?), qui deviennent sensibles au froid et au chaud. Mon dentiste, qui y a vu l'effet d'un brossage trop agressif, m'a seulement conseillé de faire plus attention en me lavant les dents, mais j'ai beau le faire avec un soin infini, toujours de la gencive vers la dent, avec une brosse à dent souple et un dentifrice spécial gencives sensibles, j'ai beau ne plus jamais me faire saignoter en me brossant (alors qu'autrefois ça m'arrivait assez souvent), le problème persiste et semble même s'accélérer. De même que j'aimerais bien savoir comment j'ai pu vivre 25 ans sans avoir une seule carie et tout d'un coup m'en découvrir avec une régularité effrayante, j'aimerais bien comprendre comment ce problème peut apparaître aussi soudainement.

(dimanche)

Jeux combinatoires et ordinaux

Je continue ma série sur les ordinaux commencée ici et (tout en promettant de faire mon possible pour que chaque entrée soit au moins vaguement lisible si on n'a pas bien lu les précédentes !, sinon je n'aurai vite plus personne qui suive).

Je commence par évoquer un des jeux mathématiques les plus classiques (et dont j'ai déjà parlé par le passé), le jeu de nim (que j'ai parfois aussi entendu appeler jeu de Marienbad parce qu'il apparaît dans le film L'année dernière à Marienbad de Resnais). C'est un jeu extrêmement simple, que n'importe qui peut comprendre :

On dispose un certain nombre d'allumettes (bâtonnets, jetons, ce que vous voudrez) en un certain nombre de lignes, classiquement 1+3+5+7=16 allumettes dans la position de départ (cf. la figure ci-contre si votre navigateur supporte le SVG). Deux joueurs s'affrontent et chacun, tour à tour, retire des allumettes, autant qu'il en souhaite mais provenant d'une seule ligne (il peut retirer la totalité de la ligne s'il le souhaite, et il peut ne retirer qu'une seule allumette, ou n'importe quoi entre les deux ; mais il doit retirer au moins une allumette et ne doit affecter qu'une seule ligne). Le gagnant est celui qui retire la dernière allumette (de façon équivalente, celui qui ne peut plus jouer parce qu'il n'y a plus aucune allumette a perdu).

La variante misère, dans laquelle celui qui retire la dernière allumette a perdu, existe aussi, et est même peut-être plus fréquente, mais elle est moins satisfaisante mathématiquement et je ne vois aucune raison de la préférer.

Ce petit jeu peut avoir un certain succès auprès des gens qui ne le connaissent pas (et quand on connaît le truc, c'est rigolo de les faire perdre). Si vous ne connaissez pas, et si votre navigateur le supporte, la figure ci-contre est jouable (je vous laisse deviner le mode d'emploi, qui n'est peut-être pas terrible, mais je fais ce que je peux).

Évidemment, la seule chose qui importe pour définir un état du jeu est le nombre d'allumettes restant dans chaque ligne (on pourrait imposer que les joueurs retirassent les allumettes à partir de le droite, ça ne changerait rien). Mathématiquement, on peut dire que le jeu est basé sur les idées que (1) si on décroît un nombre, on finit forcément pas s'arrêter (parce qu'on tombe sur zéro) et que (2) on va faire perdre le joueur qui ne peut plus jouer (selon la logique que chaque joueur est obligé de jouer, donc celui qui ne le peut pas à perdu).

Décrit comme ça, et vu que j'ai présenté les ordinaux comme des lignes de bâtonnets et que j'ai lourdement insisté sur le fait que quand on décroît un ordinal on obtient un processus qui termine toujours, on devine bien sûr que je vais définir un jeu de nim transfini (ou ordinal), dans lequel les lignes peuvent comporter un nombre éventuellement infini de bâtonnets. Mais en fait, ceci sera mon deuxième thème : je commence par un type de jeu un petit peu différent selon le même genre d'idées.

(Les deux parties qui suivent sont indépendantes, et les deux sous-parties de la première le sont aussi à peu près.)

(mercredi)

Comment (ne pas) réserver un amphi dans une école

J'ai un ami (enfin, j'en ai même plusieurs) qui est co-organisateur d'un séminaire mathématique, à destination d'un large public étudiant et enseignant, appelé (un peu maladroitement à mon avis, mais peu importe) Mathematic Park. Ce séminaire a lieu, un samedi sur deux, normalement à l'Institut Henri Poincaré dans le 5e, mais à cause d'un conflit de dates malheureux, la séance du 19 novembre ne pouvait pas avoir lieu là. Mon ami me demande si je peux réserver un amphi à Télécom Paris (pour une centaine de personnes). A priori, ça ne pose pas de difficulté particulière, l'École en dispose de suffisamment. Naïvement, je contacte la personne en charge des réservations de salles pour lui demander comment je dois procéder (notamment pour faire entrer une centaine d'extérieurs un week-end, je suppose qu'il faut une autorisation) : elle me renvoie vers un formulaire à remplir mais surtout apporte une précision importante : l'École ne met pas ses amphis à disposition gratuitement, elle les facture. Le prix est de 1250€ la journée (pour un amphi de 100–150 personnes), qui peut éventuellement être ramené à 200€ si on explique de façon convaincante que l'événement extérieur est organisé par un partenaire de l'École (ce qui est probablement, mais pas certainement, le cas de l'IHP).

Je ne critique pas forcément cette politique en soi. Si un industriel veut organiser un événement qui ne concerne que marginalement l'École, il est normal de le lui facturer ; même pour une conférence scientifique, si cela permet à l'École de prélever une part du budget de la conférence pour rentrer dans ses frais, cela se défend. Mais on parle là d'un séminaire (je pense) relativement informel et bénévole. L'aberration est surtout que sauf peut-être à remonter au directeur de l'École, il n'y a apparemment personne qui ait le pouvoir de prendre la décision d'accorder la gratuité à l'événement. Ou en tout cas on n'a pas voulu me dire qui.

Un collègue m'explique que j'ai eu tort de vouloir suivre la procédure prévue et d'être honnête : j'aurais dû me déclarer organisateur de ce séminaire (quitte à ce que mon ami me nomme co-organisateur pro tempore), auquel cas l'événement devenait événement organisé par l'École et donc non facturé, et personne n'aurait rien trouvé à redire. À présent, c'est bien sûr un peu délicat…

Il est surtout frustrant de se retrouver face à un « mur administratif », c'est-à-dire des gens qui vous disent que la procédure est ceci, point final. Des gens pour qui le fait qu'il s'agisse d'un séminaire informel ou bénévole est une précision saugrenue, pour qui le fait que l'orateur soit Wendelin Werner ne signifie absolument rien, pour qui plaider que tout de même cela permettrait de faire de la pub pour l'École auprès d'élèves de prépa est sans effet, pour qui l'idée de solidarité académique (le fait que si l'IHP manque de salles et que Télécom Paris en a il devrait être complètement évident qu'on s'en prête) n'a aucun sens : la règle est de faire payer, point. Je demande seulement, en quelque sorte, à pouvoir parler à quelqu'un pour qui ces notions auraient du sens, et qui puisse prendre une décision de direction et pas seulement d'administration.

J'en ai parlé à mon chef de département, qui est lui aussi préoccupé par le fait que l'École fasse payer pour ses amphis, même lorsqu'il s'agit d'un événement qui s'inscrit tout à fait dans ses objectifs, comme la rencontre d'une société savante. Il est possible qu'en faisant valoir que l'orateur dont je parle est médaille Fields et que cela ferait très mauvais genre dans le milieu académique si sa présentation devait être annulée suite au refus d'un établissement public de lui prêter des locaux dont elle dispose, on puisse quand même obtenir que quelqu'un revienne à la raison. Néanmoins, il est fort désagréable de devoir recourir à ce genre d'argument ou de devoir chercher à court-circuiter la procédure normale parce que celle-ci est aberrante.

Et j'ai un peu envie de dire : voilà à quoi mène la recherche par projet : tout doit être chiffré, tout doit être facturé, les établissements publics d'enseignement supérieur et de recherche ne sont plus alliés comme ils devraient l'être mais engagés dans une sorte de concurrence malsaine, ou au mieux de mercantilisme déplaisant (tu veux mes locaux ? il va falloir payer ; bon, je consens à te faire un prix d'ami).

(dimanche)

Anxiété maladive

Mes lecteurs réguliers doivent déjà savoir que je suis pathologiquement hyperanxieux : je fais occasionnellement des crises d'angoisses et des troubles mineurs du rythme cardiaque (tachycardie, extrasystoles) d'origine à coup sûr psychosomatique (de même, ma tension de base est bonne, mais elle monte très facilement) ; et comme je suis gravement hypocondriaque, ça n'aide pas. On m'a prescrit de l'Atarax pour les crises d'angoisse, et du propranolol pour éviter la tachycardie. Ça marche assez bien : j'ai réduit la dose de propranolol à 10mg/jour au coucher (le cardiologue m'avait initialement prescrit 60mg/jour en trois prises), et je ne prends l'Atarax qu'assez rarement et en quantités faibles (6mg, ce qui nécessite d'ailleurs de couper les comprimés plus que ce qui est prévu) ; je compte surtout, en fait, sur la puissance de l'effet placébo. Et je prends des tisanes, j'essaie de me détendre en écoutant de la musique douce… Les crises d'angoisse et la tachycardie sont assez bien sous contrôle, en fait.

Mais j'ai dans les prochains jours quelque chose qui m'angoisse et me met en colère à la fois (pour des raisons évidentes, je préfère rester totalement vague sur ce dont il s'agit). De façon totalement irrationnelle, bien sûr, mais néanmoins incontrôlable. La réaction psychologique que j'ai est maladive, mais la réaction physiologique n'est pas moins pathologique en elle-même : il suffit que je pense à cet événement (notamment la nuit) pour que je sente une véritable bouffée de chaleur, à tel point que je me mets à transpirer de tout mon corps. (Je ne sais pas si c'est ce que ressentent des femmes au moment de la ménopause, mais en tout cas c'est très déplaisant.) Le propranolol n'a pas l'air d'avoir beaucoup d'effet contre ça, bizarrement. J'ai l'impression que c'est une nouvelle forme d'anxiété ou d'hyperexcitation que je ne connaissais pas encore bien.

(dimanche)

Petit navigateur d'ordinaux

À la fois pour m'exercer à la programmation en JavaScript (dont j'ai déjà dû dire que c'est un langage dans lequel je trouve un mélange très étonnant de choix très élégants et puissants et de bizarreries insupportables), et pour exercer mon intuition sur les ordinaux, j'ai créé une petite page dynamique (devrais-je dire un jeu en HTML5 ?) d'exploration des ordinaux sous la forme de bâtonnets comme je les présentais dans une entrée récente.

La page est ici, et je l'inclus aussi dans une frame plus bas dans cette entrée (mais c'est moins commode de cette manière parce qu'on ne peut pas utiliser l'historique du navigateur et notamment le bouton back) ; son utilisation mérite sans doute quelques explications. L'idée est qu'un certain ordinal est présenté sous forme de bâtonnets (au départ, ε0, mais on peut en sélectionner d'autres), et plus précisément comme une somme infinie, toujours aux mêmes proportions géométriques, de différents termes (du genre ε0 = ω + ωω + ωωω + ωωωω + ⋯, les termes omis valant d'ailleurs tout autant que le total), et on peut sélectionner un de ces termes (soit un des quatre premiers termes, soit la totalité du reste de la série, ce qui fait cinq choix) pour zoomer dessus : cela se fait soit en cliquant sur le graphique, soit sur un des noms des ordinaux en-dessous (ce sont des liens) qui représentent les valeurs de ces différents termes. Le faire devrait déclencher une animation où on voit la partie en question s'étendre jusqu'à occuper toute la largeur de l'image. Lorsque ceci se produit, le titre reflète le nouvel ordinal qu'on est en train d'observer (la valeur de l'ordinal représenté dans l'image, le « nombre » de bâtonnets sur lesquels on a zoomé, si l'on veut).

En bas de l'image s'affiche aussi le « nombre » de bâtonnets qu'on a fait disparaître sur la gauche, c'est-à-dire la valeur de la somme des termes précédents de la série (à toutes les étapes), ou encore, si l'on préfère, l'ordinal du bâtonnet le plus à gauche à l'intérieur de l'ordinal initial : en quelque sorte, c'est notre position actuelle dans l'ordinal de départ alors que l'ordinal affiché dans le titre est en quelque sorte notre niveau de zoom ; il est donc possible, pour n'importe quel ordinal α plus petit que l'ordinal de départ (et multiple de ω, parce que mon programme refuse de descendre plus loin), de faire en sorte que cet ordinal removed at left vaille exactement α.

En cliquant sur la partie tout à droite (celle qui représente la somme de tous les autres termes de la série), on ne fait pas diminuer l'ordinal représenté, et le processus ne termine jamais (enfin, jusqu'à ce qu'on ait fait exploser JavaScript, ce qui ne devrait pas être long, j'imagine). Si on clicke sur d'autres parties, l'ordinal décroît toujours (je parle de celui indiqué dans le titre, i.e. la « largeur », pas celui du bas, la « position », qui elle augmente toujours), et donc on tombe forcément en un nombre fini d'étapes sur ω, mais à moins de clicker sur la partie la plus à gauche, ce nombre fini d'étapes risque souvent d'être considérablement plus long que la durée de vie de l'Univers, ou en tout cas que la mémoire de votre navigateur, donc il est facile de tomber sur des ordinaux impossiblement compliqués.

Bref, voilà le joujou, je fais d'autres remarques plus sérieuses en-dessous :

Quelques remarques d'ordre mathématique, maintenant, suivies de quelques remarques d'ordre informatique :

  • Tous les ordinaux dans l'histoire ressemblent un peu à la même chose. En fait, dès qu'ils sont plus que légèrement compliqués, ils doivent être identiques au pixel près. La fractale à laquelle ils ressemblent, qui a tout à voir avec mon choix d'arrangement des bâtons, et rien avec la nature fondamentale des ordinaux, peut être décrite comme ceci : si on appelle u la transformation affine qui fixe le point au milieu à gauche du dessin et qui transforme l'axe des abscisses par un coefficient 10/3 et laisse les ordonnées identiques (c'est la transformation qui sert à zoomer sur la partie la plus à gauche de l'ordinal) et v la similitude qui fixe la pointe droite du dessin et qui a pour rapport 10/7 (les transformations qui servent à zoomer sur les autres parties de l'ordinal sont alors uv, uv², uv³, et v4 pour la partie restante), alors il s'agit du plus petit fermé contenant le bâtonnet tout à droite et stable par u et v. Ça, je répète, c'est à quoi mes dessins d'ordinaux ressemblent, et ça signifie simplement que la complexité est telle qu'on ne peut pas résoudre les petits bâtons individuels à moins de clicker très souvent ; mais cette fractale comporte un nombre infini de « bâtonnets » entre deux abscisses distinctes, alors que mes dessins d'ordinaux ont, en principe, un bâtonnet distinct à droite de n'importe quel bâtonnet donné. Bref, voilà une première limitation sérieuse de mon système, c'est qu'on n'y voit rien, et qu'on se retrouve plus ou moins à zoomer tout le temps de la même façon sur le même dessin, avec juste les noms qui changent, ce n'est ni très intéressant, ni très éclairant. ☹
  • Encore plus sérieux : ce système suggère, alors que c'est faux, qu'il existerait une façon unique, ou au moins très naturelle, de fabriquer n'importe quel ordinal comme somme d'une série d'ordinaux plus petits ; ou que la subdivision de l'ordinal a quelque chose d'intrinsèque. Or ce n'est pas le cas. Par exemple, l'écriture de ωω comme ω + ω² + ω³ + ⋯ laisse penser, comme elle est représentée, que le premier ω est spécial ou différent des autres ω qui peuvent se trouver à l'intérieur des autres termes : il n'en est rien, il a un rôle totalement semblable à celui que joue par exemple le premier ω du terme ω², c'est-à-dire que la séparation des termes n'a rien de magique ou d'intrinsèque. Je suis donc en train de donner une impression totalement fausse de certains ordinaux comme quoi ils seraient plus ou moins espacés à tel ou tel endroit, ce qui n'a aucun sens — seul l'ordre compte. J'avais fait plus attention à ce problème dans mon entrée précédente sur la question, notamment dans mon dessin de ωω, où j'ai fait au moins en sorte que rien ne distingue fondamentalement le premier ω du suivant, mais je ne sais pas généraliser naturellement ce genre d'astuce un peu ad hoc à des ordinaux considérablement plus grands (et de toute façon je ne suis pas persuadé que c'était vraiment plus clair).
  • Les noms que mon programme donne aux ordinaux ne sont pas forcément idéaux : ils sont systématiques et raisonnables, mais ce ne sont pas forcément ceux qu'on utiliserait le plus naturellement. Par exemple, on a ε0ω = ωε0+1, et ε02 = ωε0⁢2, et ε0ω = ωωε0+1, et ε0ε0 = ωωε0⁢2, et ε0ε0ω = ωωωε0+1 (tout cela est laissé en exercice au lecteur, c'est assez facile en se rappelant que ε0=ωε0 et en partant plutôt du membre de gauche) ; or dans chacune de ces égalités, mon programme utilisera la forme de droite pour nommer les ordinaux en question (parce qu'il utilise autant que possible la forme normale de Cantor) alors que la version de gauche (basée en premier lieu sur une écriture en base ε0) semble plus naturelle. Cela peut, au moins, surprendre.
  • Le programme en JavaScript contient un vrai petit système d'objets permettant de représenter les plus petits ordinaux (les plus petits signifiant ici, les ordinaux jusqu'à l'ordinal εεε, qui est le plus petit ordinal vérifiant l'équation α=εα, exclu). Il « sait » vraiment faire des additions, comparer deux ordinaux, trouver une suite qui converge vers un ordinal limite, fabriquer un nom HTML, etc. Ça m'a donné l'occasion de faire de la programmation orientée objet en JavaScript (mélangée à un petit peu de programmation fonctionnelle, puisque je n'hésite pas à renvoyer des fonctions qui capturent des variables internes, etc.). Et à comprendre un peu plus précisément comment fonctionne le système de prototypage de JavaScript (je savais le principe général que chaque objet avait un prototype, qui sert à déterminer la chaîne d'héritage, mais je ne comprenais pas bien la façon dont il était initialisé avec new ou Object.create).
  • C'était aussi l'occasion de faire joujou avec la manipulation des URL en JavaScript : je voulais faire en sorte que chaque état du programme (l'ordinal qu'on voit, mais aussi celui laissé à gauche) corresponde à une URL stable qu'on peut charger directement, du style http://www.madore.org/~david/math/drawordinals.html#?v=e pour la représentation initiale de ε0 (et de même, tous les liens dans la page activent des fonctions JavaScript mais comportent aussi des URL correctes et qu'on peut utiliser directement) ; j'ai donc suivi cette fameuse convention (souvent décriée, mais enfin je ne vois pas comment faire autrement) consistant à coder les paramètres à passer au JavaScript dans ce qui devrait normalement être l'identificateur de fragment. (J'ai utilisé un ‘?’ pour séparer ces paramètres, ça me semble plus propre que de ne rien mettre pour signaler qu'il est normal qu'il n'y ait pas de balise HTML ayant cet ID, mais en même temps je ne voulais pas utiliser le ‘!’ qu'on voit souvent dans cette fonction parce qu'il a un sens magique pour Google.) Ceci permet aussi que (si vous essayez le truc dans sa propre page et pas tel qu'il est inclus dans la présente entrée) les boutons de navigation dans l'historique (back/forward) marchent normalement, ce qui est toujours plus plaisant ; la magie, là, est de capter l'événement hashchange (ça ne marche pas sur tous les navigateurs, mais bon, c'est déjà ça).
  • Ah, et vous vous en foutez, mais si vous voyez des petites mains qui pointent pour marquer les items de cette liste de remarques, je suis assez fier de ma petite magouille en CSS qui m'a fait un peu suer (mais ça c'est parce que je suis mauvais en CSS, pas parce que c'était dur).

Continue to older entries. / Continuer à lire les entrées plus anciennes.


Entries by month / Entrées par mois:

2017 Jan 2017 Feb 2017 Mar 2017 Apr 2017 May 2017 Jun 2017 Jul 2017 Aug 2017 Sep 2017 Oct 2017 Nov 2017
2016 Jan 2016 Feb 2016 Mar 2016 Apr 2016 May 2016 Jun 2016 Jul 2016 Aug 2016 Sep 2016 Oct 2016 Nov 2016 Dec 2016
2015 Jan 2015 Feb 2015 Mar 2015 Apr 2015 May 2015 Jun 2015 Jul 2015 Aug 2015 Sep 2015 Oct 2015 Nov 2015 Dec 2015
2014 Jan 2014 Feb 2014 Mar 2014 Apr 2014 May 2014 Jun 2014 Jul 2014 Aug 2014 Sep 2014 Oct 2014 Nov 2014 Dec 2014
2013 Jan 2013 Feb 2013 Mar 2013 Apr 2013 May 2013 Jun 2013 Jul 2013 Aug 2013 Sep 2013 Oct 2013 Nov 2013 Dec 2013
2012 Jan 2012 Feb 2012 Mar 2012 Apr 2012 May 2012 Jun 2012 Jul 2012 Aug 2012 Sep 2012 Oct 2012 Nov 2012 Dec 2012
2011 Jan 2011 Feb 2011 Mar 2011 Apr 2011 May 2011 Jun 2011 Jul 2011 Aug 2011 Sep 2011 Oct 2011 Nov 2011 Dec 2011
2010 Jan 2010 Feb 2010 Mar 2010 Apr 2010 May 2010 Jun 2010 Jul 2010 Aug 2010 Sep 2010 Oct 2010 Nov 2010 Dec 2010
2009 Jan 2009 Feb 2009 Mar 2009 Apr 2009 May 2009 Jun 2009 Jul 2009 Aug 2009 Sep 2009 Oct 2009 Nov 2009 Dec 2009
2008 Jan 2008 Feb 2008 Mar 2008 Apr 2008 May 2008 Jun 2008 Jul 2008 Aug 2008 Sep 2008 Oct 2008 Nov 2008 Dec 2008
2007 Jan 2007 Feb 2007 Mar 2007 Apr 2007 May 2007 Jun 2007 Jul 2007 Aug 2007 Sep 2007 Oct 2007 Nov 2007 Dec 2007
2006 Jan 2006 Feb 2006 Mar 2006 Apr 2006 May 2006 Jun 2006 Jul 2006 Aug 2006 Sep 2006 Oct 2006 Nov 2006 Dec 2006
2005 Jan 2005 Feb 2005 Mar 2005 Apr 2005 May 2005 Jun 2005 Jul 2005 Aug 2005 Sep 2005 Oct 2005 Nov 2005 Dec 2005
2004 Jan 2004 Feb 2004 Mar 2004 Apr 2004 May 2004 Jun 2004 Jul 2004 Aug 2004 Sep 2004 Oct 2004 Nov 2004 Dec 2004
2003 May 2003 Jun 2003 Jul 2003 Aug 2003 Sep 2003 Oct 2003 Nov 2003 Dec 2003