David Madore's WebLog: 2009-08

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 August 2009 / Entrées publiées en août 2009:

(lundi)

Orange, c'est bizarre

Depuis un mois j'ai changé d'opérateur mobile[#] pour passer de l'escroc nº3 Bouygues à l'escroc nº1[#2] Orange, la raison étant que ce dernier était je crois le seul à fournir une offre avec Internet illimité[#3] sur une carte prépayée[#4], et qu'avec mon nouveau téléphone j'utilise énormément Internet. La formule est d'ailleurs assez économique (si je ne téléphone jamais — ce qui est pratiquement mon cas — alors elle me coûte 50€ pour 4 mois[#5], soit 12.50€/mois : à peine plus que ce que je payais avec l'autre escroc opérateur).

En fait, j'espérais non seulement avoir un accès au Web, mais aussi un accès Internet raisonnablement non-filtré, c'est-à-dire, pas limité aux ports TCP 80 (Web, aka HTTP) et 443 (Web sur SSL, aka HTTPS) : notamment, je fais énormément de SSH depuis mon téléphone (par exemple, pour jeter un œil à un fichier qui serait resté sur mon PC contenant une information que je n'aurais pas sur moi), et le SSH passe normalement par le port 22. Las ! Aucun opérateur ne vous garantit un accès Internet non filtré ; les conditions générales de vente (on sait ce que j'en pense, d'ailleurs…) sont écrites par des imbéciles avocats, c'est-à-dire qu'elles sont entièrement dénuées de sens (elles parlent d'usages Web ou d'usages Mail, ce qui ne veut rigoureusement rien dire[#6]).

Mais, dans la pratique, avec Orange, ça marche plutôt bien (c'est d'ailleurs une autre raison qui m'a fait passer chez eux : Bouygues bloque silencieusement[#7] les ports autres que 80 et 443)…

…la plupart du temps. En fait, c'est très bizarre. J'ai le soupçon que leur infrastructure technique, comme leur système de tarification, doit être une usine à gaz à laquelle personne ne comprend rien, même en interne. Et sur laquelle on n'a évidemment aucune information (pas moyen d'avoir la moindre garantie, avant de souscrire à l'option, si on va avoir un accès à Internet, ou seulement un accès au Web ! je ne voudrais pas prendre un engagement, dans ces conditions).

Aujourd'hui, je ne pouvais accéder qu'aux ports 80 et 443. Ce n'était pas un problème technique : si j'essayais d'ouvrir une connexion SSH (port 22), elle était immédiatement fermée, alors que le navigateur Web marchait bien, et même une connexion vers un serveur SSH astucieusement placé sur le port 443 (c'est bien utile dans ce genre de cas !) passait. Je dis bien : aujourd'hui. Pendant plusieurs heures j'ai essayé à de nombreuses reprises, je me suis dit, zut, ils ont changé leur politique, ils ne laissent plus passer que le Web. Puis j'ai eu l'idée de forcer mon téléphone à se déconnecter du réseau de données et à s'y reconnecter (en supprimant l'APN et en le restaurant), et j'ai de nouveau eu accès à tous les ports (enfin, tous ceux qui m'intéressent). Je n'ose même pas imaginer quel chaos d'infrastructure interne peut faire que les ports autres que 80 et 443 sont parfois filtrés et parfois non !

À d'autres moment, j'ai un problème différent : même le Web ne marche pas — accéder à une page quelconque me renvoie sur le site de l'opérateur avec un message du genre vous disposez d'un crédit insuffisant pour l'opération (je n'ai pas noté la phrase exacte, mais c'est de ce genre). Ce qui est absurde puisque j'ai une option Internet illimité (et que j'ai un crédit strictement positif). Et d'ailleurs c'est visiblement un problème technique puisque, si j'attends une vingtaine de minutes, ça fonctionne de nouveau. Reste que c'est irritant parce que ça se produit assez souvent, ça peut me faire perdre un certain temps, et là aussi je n'ose pas imaginer comment l'infrastructure peut faire qu'un tel bug se produit.

[#] Mais pas de numéro puisque j'ai fait jouer la portabilité.

[#2] Enfin, je ne sais pas qui est nº1, et, franchement, je ne veux pas savoir.

[#3] À savoir l'offre Mobicarte avec l'option le bon plan Internet Max. Il faut d'ailleurs fouiller un peu pour savoir que cette combinaison est possible : une vendeuse d'une boutique Orange m'avait explicitement assuré que, non, c'est impossible, on ne peut évidemment pas prendre des options sur une carte prépayée (comment voulez-vous qu'on vous prélève de l'argent ?) ; et même dans certains listings prétendant énumérer les options possibles sur les formules prépayées, l'option en question ne figurait pas.

[#4] Je tiens à avoir une carte prépayée parce que, en cas d'erreur ou d'escroquerie de l'opérateur (choses qui me semblent éminemment probables compte tenu des faits que je rapporte ici), tout ce qu'il peut faire est me couper la ligne, ce qui est certes irritant, mais beaucoup moins que s'il prélevait beaucoup d'euros de mon compte en banque, dont je n'ai aucune envie de lui communiquer le numéro. Et recharger une carte prépayée est très facile depuis que certains distributeurs permettent de le faire.

[#5] La comptabilité est un peu bordélique : pour 50€ on obtient le droit d'avoir la ligne pour quatre mois (et en réception pour plus longtemps, mais peu importe) ; le solde du compte est alors crédité de 65¤ (ils appellent ça des euros et annoncent fièrement qu'ils offrent 15€ au client, mais en fait ces euros n'ont d'euros que de nom, ce sont des zorkmids ou des unités Orange ou ce que vous voudrez, et il se trouve juste que 65¤-valables-quatre-mois coûtent 50€) ; l'option Internet coûte, pour sa part, quelque chose comme 12¤/mois, mais la seule chose importante est qu'avec 65¤ sur le compte on peut tenir plus de quatre mois (durée de leur validité) à raison de 12¤/mois si on ne téléphone pas.

[#6] Il faut cependant que je pense à monter un site Web sur un port TCP autre que 80, et à y mettre quelque chose qui me soit utile : comme ça, si jamais je ne peux plus du tout y accéder, je peux réclamer (devant la justice s'il le faut) au moins le solde de mon compte auprès de l'opérateur pour avoir unilatéralement rompu le contrat qui me promettait un accès aux usages Web.

[#7] Note au passage : les connards techniciens réseau qui bloquent des ports TCP en jetant simplement les paquets, sans même émettre de paquet d'erreur en retour (du genre ICMP Port Unreachable) méritent d'être pendus avec les tripes de ceux qui ont écrit les conditions générales de vente.

(mercredi)

La mythomanie en exercice

J'ai cette théorie selon laquelle les gens mythomanes ne sont (généralement) pas des gens qui inventent des choses fausses mais qui savent raconter des choses vraies en les présentant de façon qu'on les trouve beaucoup plus remarquables qu'elles ne le sont vraiment. (Comme l'a écrit Asimov et que j'aime bien le citer : The closer to the truth, the better the lie, and the truth itself, when it can be used, is the best lie.)

Chacune des affirmations suivantes me concernant est rigoureusement exacte (en tout cas, pour autant que je sache). Pourtant, aucune n'est remarquable : soit elles omettent des précisions qui font que, bien que vraies, elles n'ont pas le sens qu'on pourrait leur prêter, soit elles sont simplement formulées de façon gratuitement sensationnaliste, et certaines sont même vraiment tirées par les cheveux (bien que techniquement vraies).

Je dois pouvoir en sortir un certain nombre d'autres mais, surtout, je suis sûr qu'à peu près n'importe qui doit pouvoir trouver des choses de ce genre (et, de fait, je connais des gens qui se sont livrés au même exercice, et avec un succès assez étonnant).

Je ne crois pas que je donnerai la clé des mystères (ou en tout cas, pas de tous — parce que certains ont déjà été éclaircis sur ce blog), parce que c'est un peu comme un tour de magie : quand on connaît le truc, c'est désespérément banal et inintéressant.

(mardi)

Vacances

Comme chaque année depuis quelques unes (années), je vais passer quelques jours en montagne où j'y retrouve mon poussinet (et je vais essayer de calmer mes nerfs après la perte d'une de mes machines — celle, regulus.xn--kwg.net, qui me servait à recevoir mes mails : ça ne veut pas dire que mon mail ne marche plus, mais j'ai perdu beaucoup de temps dans l'opération).

En attendant, je mentionne une webbédé sur laquelle je suis tombé (et qu'on m'avait en fait certainement déjà signalée à plusieurs reprises, et que j'avais dû à chaque fois oublier ou avoir la flemme d'aller voir, shame on me), parce que ce que j'en ai lu pour l'instant me semble vraiment excellent : Khaos Komix. Ce n'est pas vraiment un webcomic, plutôt une histoire qui se suit (ou des histoires qui se suivent et se répondent), et, oui, ça intéressera surtout les homos, mais les histoires sont toute mignonnes et j'aime beaucoup le dessin — disons même que je trouve très sexys la plupart des garçons qui apparaissent. (Message personnel : je pense que ça plaira à mon poussinet, qui est cependant vivement invité à lire ses articles en priorité😉)

(vendredi)

Flûtes en série

[Peluches jouant de la flûte à bec]Quand j'étais petit, mes parents (enfin, surtout ma maman) m'ont fait suivre des cours de flûte à bec. (C'est d'ailleurs sans doute pour ça que je manie si bien le pipo maintenant.) Leur raisonnement était sans doute que, comme j'étais (étais ?) du genre pénible et flemmard, c'était l'instrument le plus facile à me faire avaler (façon de parler), et pour passer la pilule ils m'ont mis dans une petite école de musique sans prétentions et pas un conservatoire (ça c'était certainement un bon choix). En fait, la flûte était probablement un mauvais calcul : d'une part, le répertoire de la flûte à bec, pour quiconque n'est pas mordu de musique baroque, est, pardonnez-moi le terme, prodigieusement chiant : ce ne sont que gigues, gavottes, bourrées, menuets, gaillardes, rondeaux, pavanes, sarabandes, passacailles, courantes (quand je disais que c'était chiant — OK, je sors) et autres danses baroques au nom rébarbatif. Jamais le moindre air mémorisable ou connu (je crois que le seul morceau qui m'ait vraiment plu de mes années de flûte, c'était un ensemble de variations sur Greensleeves). Certes, j'imagine que le problème est un peu le même (mutatis mutandis, c'est-à-dire en remplaçant les danses baroques par je ne sais quoi) avec n'importe quel instrument autre que le piano ou le chant (si on considère le chant comme un instrument), puisque aucun des thèmes célèbres qui peuvent nous flotter dans la tête n'a été écrit pour un instrument seul sauf l'un de ces deux-là, et puisque les gens ont une répugnance assez idiote à faire jouer sur un instrument Y ce qui était prévu pour un instrument X. Mais je m'égare. Toujours est-il que j'ai abandonné l'étude de l'instrument quand j'ai eu l'impression de trop tourner en rond. Et l'autre problème avec la flûte, c'est que quand quelqu'un vous demande et tu as appris à jouer d'un instrument de musique ? et que vous lui répondez la flûte à bec, il ricane en disant je ne voulais pas dire au collège et vous êtes obligé de lui expliquer que, si, si, vous avez bouffé des gigues-gavottes-bourrées-menuets ad nauseam — bref, c'est socialement handicapant. Peut-être parce que les musiciens ont ce petit côté snob qui veut que quelqu'un qui joue sur un instrument en plastique qui a coûté 30€ à tout casser, et qui a une tessiture minable de deux octaves et un ton, il ne mérite guère de considération.

[Comparaisons de tailles de flûtes à bec]Mais il y a une chose qui me fascinait (quand j'étais gamin, et encore maintenant), avec la flûte, c'était qu'il y en avait plusieurs modèles, tous avec exactement le même doigté à transposition près : en descendant alternativement d'une quarte et d'une quinte, la sopranino (en fa), la soprano (en do), l'alto (en fa), la ténor[#] (en do), la basse (en fa) et la grande basse (en do) ; et, si on va chercher des choses ésotériques, il y a même la garklein (en do) au-dessus de la sopranino, et la contrebasse ou plus loin en-dessous de la grande basse. Ça a quelque chose de profondément satisfaisant pour l'esprit d'un matheux ou d'un geek (et probablement de beaucoup de gens, en fait), cette idée d'une famille d'instruments qui fonctionnent tout pareil en changeant juste la note de base. Il y a bien sûr beaucoup d'instruments qui fonctionnent comme ça, c'est même très commun. Mais à part l'exemple évident, quoique imparfait, du violon, de l'alto, du violoncelle et de la contrebasse[#2], dans la plupart des autres exemples qui viennent à l'esprit un des modèles s'est nettement imposé par rapport aux autres : un saxophone soprano, une clarinette alto ou un hautbois d'amour, c'est un petit peu inhabituel — en tout cas, je ne crois pas en avoir croisé autrement qu'en photo. On me rétorquera que la flûte à bec soprano est elle aussi plus commune que les autres (on en trouvera dans n'importe quel supermarché), à cause de son usage scolaire[#3], mais d'une part c'est récent (on me souffle 1979 pour l'introduction de cours de flûte à bec au collège en France) et d'autre part les flûtes autres que soprano restent très courantes, c'est juste que la soprano est extraordinairement courante. Mais je m'égare.

J'ai joué de la flûte soprano et alto quand j'étais petit, et je n'avais jamais eu que ces deux modèles. J'ai bien parfois tenu les parties pour ténor dans des morceaux (gigues-gavottes-bourrées-menuets), mais notre prof de flûte me prêtait alors la ténor pour l'occasion et si je devais la répéter chez moi je la répétais sur une soprano[#4]. J'ai peut-être brièvement joué sur une basse, mais guère. Quant à la sopranino, elle était inconnue au bataillon[#5] (il paraît qu'elle sert surtout dans des œuvres orchestrales). Bref, je n'avais même pas eu la satisfaction mentale d'avoir un jeu raisonnablement complet.

Alors j'ai décidé l'autre jour que, flûte à la fin !, je pouvais bien remplir ce rêve de gamin : je me suis acheté une sopranino, une soprano, une alto et une ténor (du même fabricant, et autant que possible du même modèle, toujours pour la satisfaction intellectuelle d'avoir une série cohérente). Il faut bien profiter du fait que la flûte à bec est le seul instrument (à part l'harmonica ?) pour lequel on puisse avoir quelque chose de convenable pour un prix complètement dérisoire. Je n'ai pas pris de basse parce que c'est quand même un peu cher et très encombrant[#6], ni de garklein parce que j'avais oublié que ça existait. Mon but n'est certainement pas de me remettre à l'étude de la flûte. Plutôt de flûtoter comme on peut pianoter, c'est-à-dire, jouer des airs qui me passent par la tête (parce que ce sont des mélodies connues, des thèmes que j'essaie d'identifier, n'importe quoi de ce genre) et certainement pas des morceaux composés pour flûte (gigues-gavottes-bourrées-menuets !). Les voisins vont me haïr (mais pas tant que ça : les notes aiguës passent mal à travers les murs, et notre immeuble est bien insonorisé, et de toute façon je m'en lasserai vite).

Par contre, il y a une chose qui m'intrigue nettement : c'est pourquoi les flûtes ne sont pas des images homothétiques les unes des autres. L'espacement entre les trois derniers trous est le même sur ma ténor que sur l'alto : pas dans les mêmes proportions, mais bien le même dans l'absolu.

[#] Le Club Contexte souligne que, malgré les ressemblances de nom avec les noms des registres pour de chant, ils ne collent pas du tout : la flûte à bec ténor a approximativement la tessiture d'une voix humaine soprane, la grande basse a approximativement la tessiture d'une voix humaine ténor, etc. (La flûte à bec sopranino monte une bonne octave au-dessus des très hautes notes des voix sopranes dans les opéras italiens.) Globalement, les flûtes à bec sont une octave plus haut que ce que leur nom semble indiquer, et par ailleurs — et le Club Contexte jubile — on les note généralement une octave plus bas que le son qu'elles produisent, ce qui alimente la confusion.

[#2] Il y a des trous dans cette liste : s'il existe un instrument qui joue comme un violon mais pile une octave plus bas, cet instrument doit être passablement rare. Et de toute façon la contrebasse est un intrus puisque ses cordes sont normalement accordées par quartes et non par quintes.

[#3] Pourquoi précisément la soprano ? Manifestement la ténor (ou a fortiori n'importe quoi de plus gros) est trop grosse pour des doigts d'enfants, trop encombrante pour un cartable, et trop chère pour un instrument que tous les collégiens achèteraient en masse : donc le choix était entre la sopranino, la soprano et l'alto. Peut-être que le choix a été fait car on préférait une flûte en do (mais il n'y a pas de raison, en fait, comme les partitions à la flûte sont toujours marquées telles que jouées, le doigté en do n'a rien de plus « fondamental » que le doigté en fa si on va n'en apprendre qu'un) ; ou peut-être que la sopranino risquait d'être trop stridente (je frissonne à l'idée d'une classe entière jouant — mal — sur une sopranino) et l'alto encore un peu trop grosse ou encombrante.

[#4] La soprano et la ténor ayant le même doigté (celui des flûtes en do, si on a bien suivi). En fait, mon cerveau avait un peu du mal avec ça, parce qu'à force de jouer sur la soprano et l'alto, il avait câblé : grosse flûte entre les mains ⇒ jouer les doigtés de la flûte en fa. Du coup j'avais du mal sur une ténor.

[#5] C'est dommage, parce que je la trouve vraiment adorable, la sopranino : elle a quelque chose d'un petit jouet miniature qui la rend irrésistible. Et son son n'est pas aussi perçant qu'on pourrait le craindre !

[#6] Les instruments à vent sont forcément, à hauteur donnée, beaucoup plus encombrants que ceux à corde, puisque le son voyage plus vite dans un solide que dans l'air : or la taille de l'instrument est grosso modo corrélée à la longueur d'onde — quoique avec des subtilités comme pour savoir si on produit un nœud ou un ventre d'onde aux extrémités —, alors qu'on perçoit le son par sa fréquence. Une flûte à bec basse n'est pas si grave que ça : mais elle fait un mètre de long.

(mercredi)

J'aimerais voir des vrais héros gay au cinéma

Si je dis que j'aimerais voir des vrais héros gay au cinéma, on va me regarder un peu bizarrement parce que, clairement, les personnages homos, dans les films, ce n'est pas ça qui manque. Ce qui me chagrine toujours, c'est la dichotomie suivante : soit le personnage principal est homo et c'est le thème du film, ou, du moins, c'est une partie importante du thème du film (d'où on peut déduire qu'il — le film — appartient à la catégorie drame ou comédie dramatique ou comédie tout court, section cinéma gay et lesbien) ; soit c'est un personnage secondaire qui l'est, et il est là pour donner un peu de diversité (token queer) au cadre qui peut être n'importe quoi d'autre. Certes, il y a quelques films qui échappent à cette dichotomie, mais c'est rare : quand on pense à Brokeback Mountain, on pense film de cowboys pédés pas film de cowboys (qui se trouvent être pédés).

Je veux dire, quand on regarde un blockbuster américain interchangeable dans lequel Bruce Willis joue un héros qui sauve le monde, ou un James Bond, ou je ne sais quoi de ce genre, presque à tous les coups on va nous montrer la copine ou la femme du personnage joué par Bruce Willis, ou la James Bond girl du moment : elle joue un rôle secondaire dans l'intrigue — il s'agit d'un film d'action, pas d'un film sentimental — mais elle est là, et elle nous apprend quelque chose qui n'était souvent pas strictement nécessaire dans l'histoire, c'est que le héros est hétéro. Plus rarement (beaucoup plus rarement, en fait), le héros est une héroïne (disons, Angelina Jolie), et il y a aussi besoin de nous faire savoir que l'héroïne est hétéroïne. Y a-t-il des exemples de films de ce genre dans lequel le personnage principal, sauve le monde des méchants et sauve aussi son copain dans l'histoire (ou bien est un superhéro et doit le cacher à son copain journaliste, enfin bref, n'importe quoi de ce genre) ? Si ça existe (j'imagine quand même que quelqu'un trouvera un contre-exemple), le moins qu'on peut dire c'est que ce n'est pas courant (je veux dire, même en tenant compte qu'on s'attendrait statistiquement à ce qu'environ 5% des superhéros qui sauvent le monde soient homos ☺).

Bien sûr, les raisons sont tellement évidentes (et sont les mêmes pour plein d'autres minorités) que je ne ferai pas l'insulte aux portes ouvertes suffisamment défoncées à ce stade pour les expliciter. Reste que je trouve amusant qu'on ait fait un foin de la révélation par Mme Rowling du fait que le personnage de Dumbledore dans Harry Potter était, selon elle[#], gay : c'est une révélation qui tombe comme un cheveu sur la soupe et qui n'a à peu près aucun rapport avec le schmilblick — alors qu'aurait-on dit si elle avait fini par caser Harry Potter avec Draco Malfoy[#2] ?

[#] J'écris selon elle, parce qu'il y a quelque chose de sensé au principe que les auteurs sont comme le pape, ils ne sont infaillibles concernant leurs propres œuvres que quand ils parlent ex cathedra, i.e. en l'occurrence, quand ils écrivent quelque chose explicitement dans l'œuvre elle-même. Après, je n'ai pas lu plus que le premier volume de Harry Potter, et je n'ai vu que des bouts un peu au hasard de certains des films (dont, ce soir, il est vrai, le dernier en date), donc je ne sais pas à quel point on peut raisonnablement dire que c'est évident (et pas juste plausible pour certains), en lisant l'œuvre ou en voyant les films, une fois qu'on a l'idée de se poser la question. J'ai tout de même des doutes : donc a priori c'est juste l'avis de l'auteur sur la question. Comme il est mon avis que le personnage de Voleur de Feu dans mon roman La Larme du Destin est homo et tombe profondément amoureux d'Avethas puis de Wolur, et que ce que j'ai appelé de l'amitié était juste un mot pour ce que je n'osais à l'époque pas nommer plus explicitement (même s'il y a quand même quelques phrases qui peuvent mettre sur la voie) — et ce serait de la récupération de vouloir coucher avec lui.

[#2] Oh, je sais, des centaines de fanfics ont forcément dû faire ça pour elle ! (Promis, j'ai écrit ça avant de chercher sur Google et de tomber là-dessus. The Internet is so predictable.)

(lundi)

Fragment littéraire gratuit #123 (Pygmalion écrivain)

Je caressai son front (si parfait !) en jouant avec une mèche de ses cheveux (si blonds !). Après une dernière hésitation, je finis par me lancer :

— Il faut que je te fasse un aveu ; et il ne sera pas plus facile pour moi à dire que pour toi à entendre. Je n'aurais peut-être pas dû faire l'amour avec toi.

La façon dont il me regarda, le sourire à la fois tendre et espiègle qu'il m'envoya, tout cela n'aidait pas mon sentiment de culpabilité.

— Si tu penses que ce que nous avons fait est mal…

— Non ! Bien sûr que non, en tout cas pas comme ça, et certainement pas de ta part. Ce qui m'embête, c'est que tu n'étais pas vraiment libre de ton choix. J'ai un peu l'impression de t'avoir violé.

— Hein ? Violé ? Tu sais, c'est loin d'être la première fois que je couche avec un garçon, et en l'occurrence c'est moi qui suis venu vers toi ! Comment peux-tu dire ça ?

Je sais qu'il allait ajouter un compliment sur mes prouesses au lit, mais que, pris d'une légère pudeur qui ne lui ressemblait pas, il se contenta de le penser.

J'étais pour ma part plus qu'un peu embarrassé par ce que j'allais lui révéler, mais je lui devais la vérité :

— Tu n'étais pas libre de ton choix, car… tu es un personnage de fiction et je suis ton auteur.

— Je dois prendre ça au sens propre ? Parce que, pardonne-moi, tout ceci m'a l'air bien réel, et d'ailleurs je ne te vois pas une plume à la main.

— Tout ce que tu vois autour de toi, le monde dans lequel je vis : tout cela est une fiction que j'écris. Il est normal qu'il te semble réel, car tu es aussi mon invention. Ma créature. Et si tu me vois, c'est parce que j'ai choisi de m'inclure aussi dans la fiction, écrite à la première personne. Mais, autre part, je suis en ce moment même en train de l'écrire. Si tant est que en ce moment même ait un sens, du moins : ce n'est qu'au prix d'un effort d'imagination que je te vois devant moi.

Il ne parut pas spécialement ni choqué ni incrédule. Plutôt un peu moqueur, en fait.

— Oh… Et je suppose que c'est un grand honneur pour moi d'avoir pu connaître le créateur de mon Univers ?

Je soupirai.

— Je t'ai fait à l'image de tous mes fantasmes. Fatalement, j'ai voulu te rencontrer. J'ai décidé que tu me désirerais : il m'a suffi de l'écrire.

Il se tourna plus vers moi et m'embrassa profondément. Puis, gouailleur :

— J'ai l'impression de l'avoir choisi, alors quel est le problème ? Si tout ce que je fais, tout jusqu'à mes pensées ou mes désirs, est un choix de ta part, alors je ne peux pas être libre à tes yeux ; je n'ai pas d'autre volonté que la tienne : en quoi est-ce différent si tu me fais choisir de t'embrasser le soir ou de me lever le matin ? Il est écrit qu'on ne doit pas tenter Dieu, mais n'y a pas de mal à coucher avec Lui si Dieu est joli garçon et qu'Il est consentant.

— Ne parle pas ainsi : c'est mon propre désir qui me fait placer ces propos dans ta bouche ! Toutes tes actions sont dictées par ma plume, c'est vrai, mais tu as pourtant une vraie personnalité, qui n'est pas la mienne : qui s'est presque imposée à moi, et que je ne veux pas trahir. Je t'ai créé pour plus que ça. Je veux être sûr que tu aies agi et fait tes choix selon cette personnalité, sinon je n'aurai pas été honnête avec toi ni avec moi-même, et mes lecteurs ne me le pardonneront pas.

— Ah, parce qu'il y a des lecteurs, aussi ?

— Ils sont sans doute peu nombreux, mais moi-même ne peux pas le savoir.

L'idée semblait l'amuser considérablement.

— Et ils ont assisté à nos ébats ?

— Non, j'ai coupé juste au moment de l'aveu que je devais te faire. C'est de cela seulement que je voulais qu'ils fussent témoins.

— Tu as coupé ? Très bien. Très astucieux. Peux-tu couper de nouveau ? Je ne veux pas qu'ils voient ce qui va suivre…

Alors, à votre avis, est-il ou non immoral de coucher avec les personnages de fiction qu'on a créés ?

(dimanche)

Quelle est l'histoire de la ponctuation ?

Des livres entiers ont été dédiés à l'histoire de l'alphabet. Beaucoup moins sont consacrés à celle, qui me semble pourtant tout aussi fascinante, des signes de ponctuation et de tous les autres signes d'écriture qui ne sont pas alphabétiques. Je trouve bien celui-ci, par exemple, mais d'une part il coûte quand même très cher et d'autre part je crois deviner qu'il se limite à un usage strictement typographique (excluant, par exemple, les communications purement électroniques et l'histoire de la ponctuation en informatique), ce qui est dommage.

L'histoire devrait commencer avec l'apparition de l'espace (je ne cesse de m'étonner du temps qu'il a fallu pour que les gens comprissent que c'était une bonne idée de ne pas collertouslesmotsensemble si on veut aider à la relecture), et devrait couvrir jusqu'à la standardisation d'Unicode, en passant par la façon dont les claviers des machines à écrire ont été choisis et la manière dont ASCII a fait la synthèse des jeux de caractères préexistants.

Et c'est une histoire compliquée, parce que les langues s'influencent les uns les autres, et les signes se confondent ou se séparent de façon pas forcément évidente. Pour comprendre l'histoire du point-virgule, il ne s'agit pas simplement de trouver le premier exemple d'un point-virgule dans un texte imprimé (ça doit être vers la fin du XVe siècle en Italie), il faut comprendre aussi comment le point-virgule et le deux-points se sont différenciés et spécialisés (quel a été le premier texte à utiliser l'un et l'autre ? et le premier à les utiliser avec essentiellement les sens modernes ? je remarque par exemple que le manuel de typographie d'Étienne Dolet (1540) ne connaît pas le point-virgule). Il ne faut pas oublier les signes un peu rares : comment sont apparus les signes § (section ou paragraphe), (paragraphe ou pied-de-mouche), @ (arrobase) ou encore (obèle ou glaive) dans les documents imprimés, et avec quel(s) sens ? On trouve des bouts d'information sur Wikipédia (cf. les liens que j'ai donnés) ou ailleurs sur le web, mais c'est souvent très partiel, approximatif ou confus (on mélange allègrement l'histoire de l'apparition du caractère, ses différents usages, sa version informatique…).

J'ai évoqué la naissance d'ASCII en 1963[#] et 1967 : c'est une date fondamentale pour la typographie informatique car les caractères qui ont reçu cet adoubement caractères ASCII sont devenus omniprésents, et les autres ont été relégués à un rôle de second plan (même s'ils ont pu apparaître dans des jeux de caractères ultérieurs : Latin-1 ou Unicode). C'était sans doute inspiré des jeux de caractères informatiques antérieurs, eux-mêmes inspirés des machines à écrire, mais la cohérence n'est pas toujours très évidente. Et ça a changé la face du monde : je ne sais pas au juste pourquoi le signe @ (arrobase) s'est retrouvé dans ASCII et pas le signe § (ce dernier ayant quand même l'air plus commun dans des textes typographiés traditionnels, que ce soit en anglais ou en français, alors que le @ servait traditionnellement uniquement dans quelques notations commerciales), mais je pense qu'il n'est pas besoin d'expliquer comment le @ a vu sa popularité boostée par cette inclusion dans ASCII qui a permis de l'utiliser ensuite dans les adresses de courrier électronique. Alors pourquoi @ et & sont-ils dans ASCII et pas § et  ? Je n'en sais rien. Cette page fournit des explications sur certains caractères, mais pas sur ceux-là. C'est d'autant plus bizarre, d'ailleurs, que des caractères complètement anecdotiques se sont retrouvés dans ASCII, le plus bizarre étant sans doute la barre verticale |[#2]. Mais c'est aussi ASCII qui a rendu universel le backslash \[#3], un caractère presque inexistant auparavant (son histoire est racontée ici par le Monsieur qui l'a inventé).

Les accolades mériteraient certainement qu'on parle d'elles : si leur apparition dans ASCII est due au même Monsieur que le backslash (voici ce qu'il en dit), on peut se demander comment elles étaient apparues sur les claviers de certaines machines à écrire pour commencer — après tout, à part quelques mathématiciens, qui diable aurait eu besoin ou envie de taper des accolades ? En maths on les utilise pour désigner des ensembles, mais j'imagine que ce ne sont pas les mathématiciens qui ont inventé ces signes. Je subodore que leur premier usage était comme des signes très larges placés, par exemple, dans une marge, pour regrouper des lignes entre elles (ou n'importe quelle sorte d'items alignés verticalement), et j'imagine que l'accolade gauche est née avant l'accolade droite (peut-être que ce sont effectivement les mathématiciens qui ont inventé l'accolade droite, et/ou les accolades utilisées comme parenthèses et de taille seulement d'une ligne). Mais alors comment se sont-elles retrouvées sur le clavier d'une machine à écrire (si on veut faire des grandes accolades pour regrouper plusieurs lignes, avoir une touche qui fait une accolade d'une seule ligne de haut ne sert pas à grand-chose…).

Parmi les caractères dont l'histoire est intéressante, il y a aussi Celui Qu'On Ne Sait Pas Nommer — je veux dire celui qui est à l'emplacement 35=0x23 dans ASCII et qui ressemble à un dièse : #. Les gens le prononcent généralement dièse mais ce n'est pas un dièse (le dièse, c'est ça : ♯ — et ce n'est pas un signe utilisé dans la notation d'autre chose que la musique). Il est souvent utilisé en anglais pour précéder un numéro (un peu comme on écrirait en français), et il semble qu'historiquement il vienne d'une notation désignant (aux États-Unis) une livre de poids. Pour cette raison, il est d'ailleurs parfois appelé pound sign, ce qui est une réussite géniale du Club Contexte parce que du coup on le confond complètement avec le symbole £ de la livre (l'unité monétaire britannique), d'autant plus que le # est sur les claviers qwerty US exactement à l'endroit où est le £ sur les claviers qwerty GB (ça c'est vraiment génial, comme façon d'alimenter la confusion). Bref, le # ressemble à un dièse mais n'en est pas un, et s'appelle symbole de la livre même s'il n'en est pas un ! (D'où la suggestion faite dans le Jargon File d'appeler ce caractère shibboleth — comme שבלת dans Juges 12:5–6.)

On pourrait dévier vers l'histoire de toutes les notations mathématiques, d'ailleurs, mais je remarque quand même que ça se recouvre assez peu : les mathématiciens, qui sont très friands de notations exotiques, utilisent assez peu certains des symboles fournis par la typographie (je crois que je n'ai à peu près jamais vu les caractères $, @, § ou ¶ utilisés dans des articles mathématiques, alors qu'ils fournissent un système commode de variations sur le prime).

((J'en profite pour conclure par une exhortation (et je m'adresse à tous ceux qui écrivent des textes, qu'ils soient littéraires ou techniques) : celle de ne pas hésiter à faire un usage libéral, éventuellement même créatif, de la ponctuation. Créer de nouveaux signes de ponctuation est difficile, surtout dans le cadre d'échanges de fichiers informatiques (où on est contraint par ce que les standards permettent), donc il est par exemple difficile d'utiliser la virgule d'interrogation et la virgule d'exclamation (des signes que dont je prétends qu'ils auraient une certaine utilité), ou même le point d'ironie. Mais on peut au moins composer « horizontalement », si j'ose dire, la ponctuation : c'est-à-dire, par exemple, si on en ressent l'utilité !, de faire suivre un point d'interrogation ou d'exclamation par une virgule, un deux-points ou un point-virgule, pour indiquer la nuance avec plus de précision : ce n'est pas autorisé par les règles traditionnelles de la typographie française, n'est-ce pas ?, et ce sont justement ces règles que j'invite à aller voir dans les toilettes si je m'y trouve. Dans des textes que j'écris pour moi-même, il m'arrive d'utiliser deux points-virgules de suite ou d'autres combinaisons un peu exotiques :: mais ce n'est pas aussi intuitivement compréhensible : donc je ne recommande pas forcément ;; par contre, les doubles parenthèses ont une certaine utilité, et se comprennent assez bien, pour marquer un aparté un peu long, typiquement un paragraphe entier. ⁂ Et finalement il n'y a aucune raison de ‹ne pas se servir de signes un peu rares ou un peu détournés›, tant que le lecteur peut facilement deviner que usage l'auteur en fait, ou {au moins !,} tant que ça ne gêne pas la compréhension.))

[#] La version de 1963 comportait les caractères 32=0x20 à 93=0x5d comme maintenant, donc avec uniquement des majuscules (les cases 96=0x60 à 123=0x7b étaient inutilisées, les dernières contenaient des caractères de contrôle supplémentaires), et à la place de l'accent circonflexe (^) et du souligné (_), en 94=0x5e et 95=0x5f, étaient une flèche vers le haut () et une vers la gauche ().

[#2] Barre verticale qui, dans ASCII, est indifféremment trouée au milieu ou pas. Alors que dans Latin-1 et donc dans Unicode il existe deux caractères différents de barre verticale : celle (|) qui n'est pas trouée (à l'emplacement ASCII, donc on est maintenant censé considérer que la barre en question n'est pas trouée), et celle (¦) qui l'est et qui très franchement ne sert absolument et rigoureusement à rien (on se demande vraiment comment elle s'est retrouvée là). C'est assez perturbant, parce que les claviers montrent souvent la barre verticale trouée pour le caractère ASCII : on se retrouve donc avec une touche représentant une barre verticale trouée et qui affiche une barre verticale non trouée.

[#3] Le backslash était prévu pour suivre ou précéder le slash pour former les signes logiques et (utilisés en ALGOL) comme /\ et \/ ; mais en fait, c'est le langage C qui a donné au backslash sont sens le plus commun en informatique actuellement, comme un échappement (il faut aussi signaler son usage dans MS-DOS pour remplacer le slash d'Unix parce que le slash était déjà pris comme séparateur d'options à l'imitation de VMS et CP/M). L'usage d'ASCII par le C est d'ailleurs un peu surprenant parce qu'il ne fait aucun usage des caractères $, @ ou ` et il fait un usage minimaliste du ~ (et très particulier du #) : c'est sans doute pour ça que le sens de ces derniers est beaucoup moins clairement établi que ceux qui servent en C.

(samedi)

Encore un point de physique sur les plaques à induction

J'évoquais en passant dans une entrée précédente le fait que les plaques à induction ne créent pas d'ondes électromagnétiques mesurables parce que leur taille est beaucoup trop petite par rapport à la longueur d'une onde à 50Hz (soit 6000km), si bien que le champ électrique créé par le champ magnétique oscillant est très faible (par rapport à ce que serait le champ électrique d'une onde ayant même champ magnétique), et le champ magnétique induit par ce champ électrique est complètement insignifiant.

En fait, si ce raisonnement est assurément correct et que la conclusion l'est aussi, j'étais tout de même ignorant d'une chose importante pour les ordres de grandeur, c'est que la fréquence du courant utilisée est augmentée par rapport au courant du secteur : le champ magnétique d'une plaque à induction oscille à quelque chose comme 30kHz, pas les 50Hz du secteur (mais on est quand même loin des 2.5GHz d'un micro-ondes — la longueur d'onde pour 30kHz est quand même dans les 10km, donc la plaque est toujours trop petite pour en créer une).

Du coup, je me suis mis en demeure de trouver des ordres de grandeur raisonnables de toutes les grandeurs électromagnétiques qui interviennent dans le chauffage d'une casserole par induction, pour m'assurer qu'ils sont à peu près cohérents entre eux. Ce n'est pas évident de trouver des chiffres sur le Web, donc j'ai essayé de voir comment je pouvais mener des calculs sensés avec essentiellement aucune donnée. Voici ce que j'ai fini par rassembler comme estimations que j'espère raisonnables :

Côté casserole, si on a une casserole dont le fond pèse quelque chose comme 100g (imaginez quelque chose comme 15cm de diamètre et 0.7mm d'épaisseur, la masse volumique de l'acier étant de 8Mg/m³) et qu'on veut lui faire dissiper 700W (disons) par les courants induits, il faut une densité de puissance émise d'environ 60MW/m³, et comme cette densité de puissance vaut σE² dans un conducteur ohmique, avec une conductivité de σ=1.4MS/m pour l'acier, on cherche à produire un champ électrique E de l'ordre de 6V/m (en moyenne quadratique sur le temps et l'espace) ; et la densité de courant induite sera de l'ordre de 10MA/m².

Côté plaque (c'est-à-dire côté primaire si on voit la table à induction comme un transformateur[#]), il semble notamment que pour une puissance active dissipée (dans la casserole) d'environ 700W il y ait autour de 4 fois plus (donc dans les 3kVA) de puissance réactive absorbée dans la bobine d'induction. Ceci nous donne une idée des courants qui circulent (pour une plaque sur du 230V) : autour de I=12A (dont 3A actifs, le courant étant largement déwatté), et une impédance ressentie par la source de l'ordre de Z=20Ω (dont une partie résistive de 4Ω). Si la fréquence oscillante est de 30kHz, on peut en déduire que l'inductance qui produit le champ magnétique est de l'ordre de L=Z/ω=100µH. (Je vois que quelqu'un en vend sur le web avec une inductance cinq fois plus grande que ça — d'un autre côté, il la prévoit pour une fréquence trois fois plus petite, donc on va dire que mes ordres de grandeur ne sont pas absurdes.)

Une simple boucle de 15cm de diamètre de fil épais a une inductance de l'ordre de 100nH, donc l'inductance source doit avoir une trentaine de spires (l'inductance est quadratique dans le nombre de spires…) — ça colle avec cette photo. Ce qui signifie que le flux magnétique oscillant Φ=L·I/n qu'elle cause est de l'ordre de 40µWb, ce qui correspondrait à un champ magnétique B moyen typique de 2mT réparti sur 200cm². La force électromotrice induite par un flux de 40µWb oscillant à 30kHz est de l'ordre de 8V, donc sur une longueur de 50cm (le tour de la plaque) je trouve un champ électrique moyen de 15V/m. Comme le champ est plutôt plus important à la périphérie, c'est très cohérent avec les 6V/m moyens annoncés plus haut : je suis même surpris que mes ordres de grandeur (tous à prendre à un facteur 5 voire 10 près) tombent aussi bien, en fait.

Ce qui m'intéressait surtout était l'ordre de grandeur des champs électrique et magnétique intervenant : autour de 10V/m pour E et autour de 2mT pour B. (Pour comparaison, dans un micro-ondes à 2.5GHz, on doit avoir quelque chose comme 5000V/m pour E et 15µT pour B — le rapport entre les deux est fixé parce qu'il s'agit d'ondes.)

Il y a un autre point qui mérite d'être expliqué, comme je m'en suis rendu compte plus tard : comment se fait-il que le champ électrique induit par une plaque à induction, dont je viens d'expliquer qu'il est de l'ordre de 10V/m, suffise à dissiper d'énormes quantités de chaleur dans les métaux (ben tiens, c'est pour ça qu'on s'en sert !) alors que le champ électrique causé par un fil haute tension, qui est de l'ordre de 20kV/m (soit 2000 fois plus), lui, ne fait pas fondre instantanément tout métal ? Si j'en crois la loi d'Ohm, un métal dans un champ E=20kV/m devrait dissiper σE²=600TW/m³, soit la puissance d'une centrale nucléaire dans 10g de métal ou quelque chose comme ça : évidemment, ça ne se produit pas, tout simplement parce que le champ électrique est chassé des métaux, justement par cette conductivité — tenter de créer un champ électrique dans le métal produit un courant dedans qui accumule des charges aux bords du métal qui viennent pile-poil annuler le champ électrique. Alors pourquoi ce même phénomène n'empêche-t-il pas les plaques à induction de fonctionner ? Parce que la topologie du champ électrique n'est pas du tout la même : dans le cas d'une ligne haute tension, même si le champ oscille, c'est un champ électrostatique (l'espace entre le câble et le sol se comporte comme un condensateur), il provient d'un potentiel (c'est d'ailleurs comme ça que je l'ai calculé, en divisant 400kV de différence de potentiel par 20m de distance) et il est toujours dirigé vers les potentiels décroissants, mathématiquement il est irrotationnel — alors que dans le cas d'une table à induction, le champ électrique ne provient pas d'un potentiel (ou alors pas le même), il fait des boucles, et du courant peut circuler selon ces boucles, tournant éternellement en suivant le sens du champ électrique, sans jamais pouvoir accumuler des charges pour le compenser. Voilà pourquoi 20kV/m de champ électrostatique (donc irrotationnel) n'ont essentiellement aucune effet sauf allumer un malheureux Balisor® par-ci par-là, alors que 10V/m de champ électrique induit font bouillir l'eau dans la casserole.

[#] Pour fixer les idées : si un générateur alternatif de tension U alimente le primaire d'un transformateur dont le secondaire est relié à une résistance R, si on appelle L1, L2 et M respectivement la self-inductance du primaire, la self-inductance du secondaire et l'inductance mutuelle du primaire et du secondaire, dans le cas où le transformateur est parfait, M²=L1·L2, le secondaire voit une tension de (M/L2)U = (L1/M)U aux bornes de la résistance (et donc un courant de (M/L2)U/R), et le secondaire voit un courant calculé comme si le transformateur alimentait une résistance (L1/L2)R en parallèle avec l'inductance L1 : i.e., la puissance active est bien dissipée dans la résistance et la puissance réactive consommée ne dépend pas du secondaire. Pour les chiffres que je choisis pour la table à induction, dans le primaire on a U=230V et I=3A+j·12A, le transformateur vérifie L1=100µH, L2=100nH et M=3µH, et donc dans le secondaire on obtient une tension de 8V et une intensité de 100A à travers une résistance effective de la casserole de R=75mΩ. Les chiffres dans le secondaire ne veulent pas dire grand-chose en fait (je suis quand même surpris que le courant effectif ne soit pas plus important que ça : 10MA/m² dans un fond de casserole aux dimensions que j'ai données, ça devrait faire plus que ça). Toutefois, le fait d'utiliser ce circuit permet de se convaincre qu'on n'est pas en train d'oublier, par exemple, de tenir compte de l'induction créée par les courants dans la casserole (ils sont pris en compte, justement, par L2).

(vendredi)

Programmation et flexibilité

Une idée avec laquelle je joue de temps en temps est celle d'arriver à écrire un moteur informatique pour programmer des jeux d'aventure : je ne veux pas parler de jeux graphiques (les graphismes ne me semblent pas apporter grand-chose pour ce genre de trucs, et de toute façon je n'ai pas les moyens d'en produire) mais d'aventures purement en mode texte dans lesquelles on rentre les commandes soit en tapant des phrases (éventuellement en style télégraphique) soit en choisissant des actions (et les objets auxquels les appliquer) dans un système de menus (mais avec tout de même des choix beaucoup plus systématiques que dans les « livres dont vous êtes le héros » chers à mon enfance où on ne pouvait généralement effectuer qu'une parmi deux ou trois choix d'actions dans une situation donnée). Les modèles de jeux auxquels je pense seraient la (Colossal Cave) Adventure ou bien Zork. A priori, ça n'a pas l'air dur (et reprogrammer un de ces jeux-là ne devrait effectivement pas l'être).

Là où les choses se corsent, c'est que mon idée est de programmer un moteur de jeu d'aventure et pas un jeu particulier : je voudrais fournir un cadre général à partir duquel quelqu'un qui connaîtrait le langage de programmation utilisé pourrait facilement baser n'importe quel jeu de la sorte. (Vous allez me dire, ce genre de chose existe déjà et d'ailleurs Inform n'est pas le seul : oui, je sais bien, et c'est d'ailleurs de là que vient mon inspiration. Mais je n'aime pas trop la direction dans laquelle Inform est parti, notamment l'idée de programmer des choses en langage naturel me déplaît pas mal. Et puis si je veux réinventer la roue, en l'occurrence, c'est aussi pour mieux comprendre comment la fabriquer.) J'avais fait (et déjà mentionné sur ce blog) une tentative dans ce genre par le passé (écrite en JavaScript), qui n'était probablement pas trop mal partie et qui m'a appris un certain nombre de choses sur les difficultés de l'entreprise, mais qui butait quand même sur le fait que JavaScript, s'il est un langage très agréablement flexible, a tout de même une bibliothèque d'exécution complètement pourrie, sans parler des différences navrantes entre navigateurs (j'imagine que mon petit jeu ne marche pas du tout sous plein de navigateurs). Je précise à tout hasard que le jeu proposé dans cette tentative est complètement sans intérêt (il n'y a essentiellement rien à faire : à la rigueur on pourrait dire que le but du jeu est d'aller dans l'endroit secret, mais c'est tout), c'est juste une démonstration minimale du moteur.

La difficulté, c'est de faire du code aussi flexible que possible. Par flexible, je veux dire que si je veux fournir un cadre dans lequel on a facilement, disons, quatre ou six directions (nord/sud, est/ouest et haut/bas) dans lesquelles on peut se diriger à partir d'un endroid donné, un certain nombre de verbes standards (aller, regarder, prendre, jeter, utiliser, parler, que sais-je), et des classes d'objets (ceux qu'on peut prendre, ceux qui ont des exemplaires indifférenciés — commme des pièces d'or —, et bien sûr la notion de personnage, de lieu, et de temps), on veut que tout ceci puisse être à peu près complètement redéfinissable par celui qui programmerait un jeu d'aventure ; ou du moins, qu'il puisse en ajouter ad. lib. (un nouveau verbe, une nouvelle direction, une nouvelle catégorie d'objets, ou une catégorie de circonstance ou d'état — comme fatigué, confus, etc.). De plus, tout doit pouvoir avoir des effets inattendus sur tout (avoir un certain objet avec soi doit permettre d'ajouter de nouveaux verbes, placer un objet dans un lieu doit pouvoir influencer ce que feront d'autres objets, etc.). Et ce, sans redéfinir ce qui n'a pas à l'être (si avoir un certain objet X avec soi interdit d'en utiliser un autre Y ou lui donne un effet secondaire — par exemple — on veut que la programmation de cette interdiction puisse se faire au sein de l'objet X et sans toucher à l'objet Y ni encore moins au code du verbe utiliser). Les choses deviennent confuses !

L'utilisation du mot objet dans ma description ci-dessus laisse penser que le bon cadre pour écrire quelque chose de la sorte est le paradigme orienté-objet de programmation. Il y a de ça, certainement, mais ça ne résout pas tout : la plupart des langages qui fournissent un support orienté objet n'ont pas, ou n'ont que partiellement, la notion de multiméthodes : on demande à un objet de gérer une action (=méthode), qui le concerne lui-même ; or un jeu d'aventure comme je l'imagine utilise plus naturellement un concept de multiméthode : quand le héros ramasse un objet, l'action à gérer concerne à la fois le héros (a priori générique, mais le code gérant le héros pourrait avoir été étendu/surchargé par le concepteur du jeu), l'objet ramassé, l'action même de ramasser, et sans doute aussi les circonstances périphériques à l'action (le lieu où elle se déroule, peut-être le temps, les conditions du héros, voire les autres objets présents au voisinage ou dans l'équipement du héros…) : tout cela doit pouvoir avoir connaissance de l'action, avoir la possibilité de l'interdire (tel objet ne veut pas être ramassé, évidemment, mais aussi : tel objet ne veut pas qu'on en ramasse un autre, tel lieu ne veut pas qu'on ramasse tel objet, etc.).

Dans mon petit exemple en JavaScript (mentionné ci-dessus), je procédais en faisant parcourir à chaque action une cascade de méthodes des différents objets impliqués, dans un ordre un peu arbitraire à vrai dire : quand l'utilisateur demande à ramasser un objet (take foobar, par exemple), une fois identifié l'objet obj concerné, le système d'analyse grammaticale va appeler hero.pickUp(obj,src,loc) avec loc le lieu où l'objet se trouvait et src une chaîne qui vaut location si l'objet à été identifié dans la pièce ou le héros se trouvait (à l'inverse, c'est inventory si l'objet a été identifié comme étant déjà parmi les possessions du héros, auquel cas la fonction produira un message d'erreur disant qu'on est déjà en train de transporter cette chose) ; cette fonction va à son tour appeler obj.pickUp(h) (où h est le héros lui-même), laquelle va appeler h.addToInventoryCheck(this) (où this==obj) pour vérifier que le héros n'a pas d'empêchement structural à ramasser l'objet puis, si cette fonction donne son « accord », loc.removeFromContentsCheck(this) pour vérifier que le lieu n'a pas d'objection à ce qu'on lui retire l'objet et, si tout se passe bien, loc.removeFromContents(this) pour retirer effectivement l'objet de là où il était, h.addToInventory(this) pour ajouter effectivement l'objet dans les possessions du héros, et enfin this.pickedUp() pour permettre à l'objet obj d'avoir le dernier mot ou d'afficher un message (par défaut, Taken). Cette espèce de jeu de ping-pong entre les différentes méthodes est inévitable (chacun doit pouvoir donner son avis, annuler l'action ou la modifier pour la transformer en autre chose), mais je m'y suis pris de façon sans doute trop arbitraire.

Maintenant j'ai plutôt à l'esprit de créer un objet « phrase » pour chaque action tentée (l'objet en question étant capable de décrire le verbe, le sujet, les objets et d'éventuelles circonstances de l'action tentée), et d'interroger tous les périphériques de l'action (voire tous les objets du monde qui auront voulu s'enregistrer comme contrôleurs de toutes actions) en leur passant l'objet « phrase » pour qu'ils puissent annuler l'action ou exécuter du code. Il faudra sans doute prévoir un système de priorité des empêchements (si un objet ne peut pas être ramassé parce qu'il semble collé au sol, mais que par ailleurs le héros est trop chargé pour ramasser quoi que ce soit d'autre, quel empêchement sera affiché à l'utilisateur ?). Le fait qu'un objet puisse éventuellement vouloir empêcher un empêchement ou agir sur une action modifiée, ou quelque chose comme ça, serait évidemment souhaitable, mais à ce stade-là il faudra sans doute se résigner à ce que les objets prévoient du code ad hoc (par exemple modifier les méthodes d'un autre objet qui allaient produire un empêchement ; mais pour les simples empêchements on peut sans doute prévoir du code de contrôle au deuxième degré, ou à n'importe quel degré). Toujours est-il que je pense avoir expliqué pourquoi les choses ne sont pas aussi simples qu'on peut se l'imaginer si on veut faire du code complètement flexible.

Concrètement, je pense utiliser Java : ça me permettrait de faire tourner les jeux sur un certain téléphone et aussi d'apprendre un peu mieux ce langage qui, par ailleurs, n'est pas grossièrement inadapté au problème. D'un autre côté, Java souffre d'un certain manque de dynamisme (il ne permet pas, par exemple, de modifier les méthodes d'une classe une fois que celle-ci a été chargée, ni de changer la classe d'une instance déjà créée) et ne permet pas aussi facilement de faire du paradigme fonctionnel que le permet JavaScript, ni d'invoquer sur un objet quelconques les méthodes d'une classe quelconque (ce que JavaScript permet avec apply(), ce qui donne une sorte d'héritage multiple cheap) ; en contrepartie, Java permet facilement de sérialiser les objets, et a des classes internes assez puissantes pour contourner les problèmes soulevés[#].

Ce qui est bizarre avec le code que j'ai vaguement commencé à écrire, c'est qu'à chaque fois que je commence à mettre du code dans une fonction, je me rends compte que, non, ce n'est pas vraiment l'endroit pour le mettre, il faudrait déléguer ce travail à une autre fonction plus bas pour offrir plus de flexibilité : j'ai peur d'être entré dans une régression infinie où chaque fonction ne fait rien mais appelle juste une autre fonction pour faire le même travail (vous allez me dire, la récursivité, ça fonctionne un peu comme ça, sauf que là ce serait à moi d'écrire chacune de ces fonctions, et elles sont différentes).

[#] Un exemple de technique qu'on m'a expliquée et que je ne connaissais pas : imaginons qu'on ait deux interfaces A et B et une troisième, C, qui étend à la fois A et B (dans mon code de jeu d'aventure, par exemple, A pourrait être l'interface d'une chose qui peut être déplacée et B pourrait être l'interface d'un contenant, tandis que C pourrait être l'interface d'un sac ou d'un personnage, qui à la fois est mobile et peut contenir/transporter d'autres choses) ; on veut fournir des implémentations de référence de ces interfaces sous forme de classes (éventuellement abstraites s'il ne s'agit que d'implémenter certaines méthodes) : on peut facilement faire des classes KA et KB qui implémentent A et B respectivement — mais comment faire pour implémenter C en utilisant les deux ensembles de méthodes déjà définies dans KA et KB, sans dupliquer le code, de façon élégante, sachant qu'on ne peut pas hériter à la fois de KA et de KB ? La solution proposée consiste à ce que la classe KC qui implémente C hérite de KA uniquement, et utilise une classe interne « déléguée » qui, elle, hérite de KB : pour implémenter les méthodes de B dans KC, on les délègue à cette classe interne (qui a automatiquement le code voulu puisqu'il est hérité de KB). Je trouve ça très joli comme façon de contourner les difficultés conceptuelles de l'héritage multiple.

(lundi)

Déjeuner en hauteur, suite

[Vue depuis le 2e étage de la tour Eiffel]Pendant un certain temps j'ai fêté mon anniversaire[#] en invitant le plus grand nombre possible d'amis : c'est sympa, mais c'est aussi un peu décevant parce que, le 3 août, beaucoup de gens qu'on voudrait voir sont partis en vacances. Depuis 2006, j'opte pour une solution plus bourgeoise en me laissant inviter par mes parents (et avec mon poussinet[#2]) dans un restaurant de qualité : en 2006 au Ciel de Paris en haut de la tour Montparnasse (parce que j'aime bien manger avec une vue sympathique), en 2007 au Pavillon Montsouris (qui est, comme son nom l'indique, dans le parc Montsouris), en 2008 à La Belle Époque à Châteaufort, et cette année au Jules Verne au 2e étage de la tour Eiffel (un petit peu plus bas qu'en 2006 comme on s'en rend compte sur la photo, mais la vue était quand même imprenable) — où j'avais voulu aller l'an dernier mais on s'y était pris trop tard pour réserver. La cuisine était délicieuse (ce qui ne surprend pas vu que c'est Alain Ducasse qui gère le restaurant).

En rentrant à Orsay (pour aller chez mes parents), nous avons trouvé un souriceau perdu et abandonné sur un trottoir (probablement il était tombé du trou de sa mère, qui ne l'aurait pas retrouvé). On a tenté de le sauver en le mettant à l'abri et en lui donnant un peu de lait tiède au compte-goutte, mais il n'a pas survécu.

[#] J'ai aujourd'hui 21 ans (en hexadécimal).

[#2] Comme mon poussinet fait pareil, ça fait deux fois plus de restaurants d'anniversaire par an pour chacun de nous. ☺ (Par exemple, pour son anniversaire en 2007 nous sommes allés au Train Bleu dans la gare de Lyon, qui a une vue différemment intéressante mais néanmoins agréable.)

(dimanche)

La physique, c'est compliqué (ou : comment fonctionnent les Balisor® ?)

Je me rappelle avoir été un jour à table en compagnie d'un groupe d'éminents physiciens (en physique fondamentale ou en astrophysique ; tous professeurs des universités ou chercheurs au CNRS, et au moins un membre de la Royal Society). Quelqu'un a lancé la question de savoir comment fonctionnait un micro-ondes et, plus spécifiquement, des choses comme pourquoi il ne faut pas le laisser tourner à vide (et d'ailleurs, si c'est vraiment le cas) et si sa consommation varie selon ce qu'on met dedans, ou encore comment on arrive à faire des emballages métalliques qu'on peut mettre au micro-ondes. Au bout d'une demi-heure de discussion acharnée pour savoir s'il se forme ou non des ondes stationnaires dans un micro-onde à vide, ou comment les courants de Foucault circulent dans un métal, tout le monde était surtout très embrouillé et, finalement, personne n'avait une idée très précise sur le modus operandi d'un micro-ondes.

La physique, c'est compliqué, parce qu'il peut y avoir plein de principes qui ont l'air de s'appliquer en même temps, et savoir ce qui est réellement important et ce qui ne fait qu'embrouiller les choses, ou encore quand deux façons de présenter un effet sont deux visions de la même chose ou quand ils doivent s'ajouter, tout cela demande le fameux sens physique dont les physiciens aiment clamer haut et fort (et pas forcément à tort) que les mathématiciens sont tristement dépourvus. (D'un autre côté, j'ai pris plus d'une fois un ami physicien à pipoter outrageusement sous couvert de ce sens physique.)

Un exemple : on sait bien qu'un champ magnétique qui varie dans le temps produit un champ électrique et qu'un champ électrique qui varie dans le temps (et pas seulement un courant) produit un champ magnétique, et que la combinaison de ces deux phénomènes (un champ magnétique qui varie sinusoïdalement, donnant naissance à un champ électrique — orthogonal — qui varie à son tour et donne à son tour naissance à un champ magnétique, etc.) constitue le phénomène d'onde électromagnétique ; j'en avais conclu que les plaques « à induction » sont essentiellement la même chose que l'émission d'une onde électromagnétique (un courant alternatif produit un champ magnétique alternatif, qui doit bien à son tour produire un champ électrique — non ?) et je me demandais pourquoi on n'avait pas besoin d'isoler ces plaques comme on isole les micro-ondes. La réponse, c'est que les plaques à induction ont une fréquence de 50Hz (le courant du secteur), comparée aux 2.5GHz (50 millions de fois plus) des micro-ondes : si le champ magnétique oscillant donne bien naissance à un champ électrique (qui produit des courants de Foucault dans les métaux, ce qui les chauffe), comme la table à induction est beaucoup plus petite que les 6000km de longueur d'onde d'une onde de 50Hz, ce champ électrique est beaucoup plus faible par rapport au champ magnétique initial que ce que serait le rapport entre les deux dans une onde (dans une onde le rapport des intensités quadratiques moyennes de E et B est fixé et vaut la vitesse de la lumière), et par conséquent le champ magnétique induit par ce champ électrique est, pour sa part, complètement négligeable. Bref, rien ne se propage. Il ne suffit pas de connaître les lois de Maxwell, il faut encore avoir le sens physique de voir ce qui va être grand devant quoi.

J'avais remarqué depuis longtemps ces petits lumières rouges (appelées Balisor®) qu'on voit sur les câbles à très haute tension et qui servent à éclairer la nuit pour avertir les avions de la présence de ces câbles. Mais comment fonctionnent-elles au juste ? C'est un peu mystérieux : si on regarde sans faire très attention, on a l'impression qu'elles sont juste reliées à deux endroits du même câble (séparés de quelques mètres). Comment peut-on tirer de la lumière d'un seul câble à très haute tension ?

Une première idée que je m'étais faite est que ce sont peut-être ce sont des lampes à très faible résistance, en série avec des câbles d'extrêmement bonne conductivité, de sorte que même en dérivation sur un pur câble elles arrivent à en tirer un peu de courant (quand le courant qui circule par le câble est énorme) ; mais ça ne marche pas : le courant qui circule dans des câbles très haute tension est certes important, mais pas gigantesque non plus (ça doit être de l'ordre de grandeur de 500A ou 1kA au maximum par câble, et plutôt quelque chose comme 200A dans une situation relativement tranquille), et leur résistance linéique est beaucoup trop faible pour qu'on puisse espérer tirer une fraction non négligeable en se mettant en dérivation sur un bout de câble.

Une autre idée était que le câble sur lequel se trouve la lampe n'est pas en contact avec le câble principal, mais qu'il est alimenté par courant induit : ça ne marche toujours pas — à quelques dizaines de centimètres d'un câble très haute tension, le champ magnétique n'est que d'une centaine de microteslas, et ça variant à 50Hz ça ne va pas produire une induction foudroyante (quelques millivolts à tout casser dans une boucle autour du câble), d'ailleurs de toute façon le câble portant la lampe n'est pas en boucle.

De toute façon, les idées qui partent de l'intensité du courant circulant dans le câble sont mauvaises — on ne veut pas que les lampes éclairent plus ou moins selon que le câble est plus ou moins utilisé (donc que le courant circule à une intensité plus ou moins grande).

Encore une autre idée (je dénonce mon père pour l'avoir eue, parce qu'elle est franchement fantaisiste) était que, la tension étant sinusoïdale, on puisse avoir une différence de potentielle entre deux points du même câble suffisante pour alimenter une lampe. Ça ne tient pas debout : d'une part la période complète pour un courant 50Hz est de 6000km, alors deux points séparés de quelques mètres, même sur une ligne à 400kV, ils ne vont pouvoir tirer qu'une fraction de volt entre eux et surtout, de toute façon, le câble alimentant la lampe va avoir exactement le même problème (ça marcherait peut-être si on mettait la lampe en parallèle d'une boucle de câble de quelques mètres qui pendouille, mais ce n'est pas ce qu'on fait).

En fait, à regarder de près, le dispositif est le suivant : un côté de la lampe est bien relié au câble. L'autre côté, en revanche, est relié à un fil parallèle au câble (que j'appellerai fil collecteur, faute d'un meilleur nom), long d'environ 4m, et maintenu à une trentaine de centimètres de lui. L'extrémité de ce fil collecteur n'est pas en contact électrique avec le câble (sinon, comme je l'ai expliqué, ça ne marcherait pas), il est maintenu physiquement en place par un isolant. L'explication qu'on donne est sommairement la suivante : le câble de 400kV, à une vingtaine de mètres au-dessus du sol, fait naître un champ électrique d'environ 20kV/m en moyenne entre ce câble et le sol ; le fil collecteur étant à quelque chose comme 30cm du câble, il doit être à 6000V de lui, donc on peut alimenter la lampe. Juste ? Il y a vaguement de ça, mais ce n'est toujours pas bon : si la tension était continue, le dispositif ne marcherait pas. Il faut considérer l'intervalle entre le câble et le fil collecteur comme un condensateur à air, et en courant continu il ne pourrait pas y circuler un courant (le condensateur se chargerait simplement, ce qui déplacerait les lignes de potentiel électrique). En fait, cette figure de 20kV/m de champ électrique est un peu trompeuse : quand on marche sous un câble très haute tension, on n'a pas 30kV de différence de potentiel entre les pieds et la tête ! En effet, on modifie les lignes de potentiel en étant présent dedans. La réalité est donc plus compliquée.

Il faut plutôt s'imaginer la chose suivante : l'air entre le câble à très haute tension et le sol forme un condensateur (ou plutôt une rangée de condensateurs en parallèle, tous reliant le sol et le câble, dont la capacité est de l'ordre de 1.2µF pour 100km de câble linéique si j'en crois les ordres de grandeur donnés à la page 188 de ce document[#]), donc pour 400kV à 50Hz il y a une centaine d'ampères par 100km qui fuient vers le sol[#2]. En plaçant le fil collecteur entre le câble et la terre, on met essentiellement la lampe en série avec ce condensateur sur la longueur du fil collecteur (soit quelque chose comme 4m, donc environ 50pF de capacité avec le sol si on suppose que toute la capacité de fuite passe par le fil collecteur, ce qui est sans doute un peu optimiste mais pas complètement déraisonnable à cause des effets de pointe) ; tant que la capacité entre le fil collecteur et le câble qui lui est parallèle reste assez petite[#3] pour avoir une impédance beaucoup plus grande que la résistance de la lampe, la liaison du collecteur au câble joue donc le rôle d'un générateur d'intensité dans la lampe, pour une valeur d'intensité égale à l'intensité de fuite sur la longueur du câble considérée (avec mes valeurs nominales, ça fait quelque chose comme 6mA : je suis étonné que ça suffise à alimenter une lampe d'une dizaine de candelas, mais il faut se rappeler qu'elle peut prendre une tension presque aussi grande qu'elle veut[#4] puisqu'elle est soumise à un générateur d'intensité).

En termes plus simples et peut-être moins précis, ce qui se passe est donc que le courant de fuite a lieu entre le fil collecteur et la terre plutôt qu'entre le câble et la terre (parce que le fil collecteur est en-dessous du câble duquel il pend), et ce faisant il passe par la lampe, qui s'éclaire !

Sinon, une question que je m'étais posée était : d'où vient l'asymétrie entre le câble et le sol ? On espère que mettre comme ça un fil collecteur à quelques centimètres du sol ne suffira pas à faire briller une lampe, sinon on s'inquiéterait beaucoup de marcher sous un câble très haute tension. De fait, ça ne suffira pas : l'asymétrie vient de ce que le câble est linéique et le sol est planaire ; pour se mettre en série dans la capacité avec le sol, il faudrait non pas un fil collecteur mais une plaque collectrice, recouvrant une bonne surface sous le câble très haute tension. Et on ne risque pas non plus de se faire électrocuter sous le câble, malgré le champ électrique important. (En fait, je pense qu'on ne sera pas non plus électrocuté si on se suspend au câble sans toucher la terre : comme on est nettement plus étroit que les fils collecteurs des Balisor®, le courant de fuite qui devrait nous traversait n'attendrait que quelques dizaines de microampères, pas assez pour électrocuter un humain. Après, il y a quand même le problème de l'éventuelle décharge initiale, qui semble être la raison pour laquelle ces gens-là prennent des précautions.)

[#] Document par ailleurs très intéressant et rempli de photos porno pour les amateurs d'électricité de puissance. On y apprend, par exemple, comment on s'arrange pour synchroniser les phases de tous les alternateurs et de tous les circuits électriques en Europe de l'Ouest ; et aussi comment ce synchronisme de phase fournit une réserve de puissance qui permet de répondre instantanément aux variations de consommation en attendant des mesures pour rétablir la fréquence à sa valeur nominale en agissant sur la production.

[#2] Enfin, ils ne fuient pas vraiment parce que d'une part ce n'est pas un vrai courant (c'est un courant de déplacement) et d'autre part c'est un courant réactif (= il est en quadrature de phase par rapport à la tension), donc il faut admettre que parler de courant de fuite est peut-être pédagogiquement désastreux.

[#3] Estimer cette capacité Cb (entre le câble et le fil collecteur) est d'ailleurs un peu coton : autant celle C entre le câble et la terre j'ai une source fiable, là je ne sais pas bien. Un argument est qu'elle serait environ 100 fois plus grande que C parce que le fil collecteur est environ 100 fois plus près du câble que la terre, mais je pense que c'est exagéré — notamment parce que le potentiel électrique créé par une charge linéique est en log, pas linéaire comme pour des plaques, donc je dirais plutôt que c'est le même ordre de grandeur, peut-être entre 100pF et 500pF. Quand bien même ce serait 1nF, ça veut dire que la lampe peut tirer, sur son courant imposé, une tension de quelques pour cent de la tension du câble au sol — bref, beaucoup.

[#4] Comme l'explique la note précédente, elle peut aller jusqu'à plusieurs kV, peut-être même des dizaines de kV, de tension. Donc, tirer plusieurs watts de puissance.

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