David Madore's WebLog: 2011-04

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 of month 2011-04 / Entrées du mois 2011-04:

(jeudi)

Le mystère du lait Bridel qui ne tourne jamais

Je bois beaucoup de lait : frais, pasteurisé ou microfiltré, pas stérilisé, et généralement entier. On pourrait croire qu'avec autant de qualificatifs, tous les laits se valent, mais il n'en est rien : il y en a un qui non seulement a un goût nettement meilleur que les autres que j'ai goûtés (je ne sais pas comment le décrire au juste… plus crémeux, peut-être), mais en plus il semble ne jamais tourner, même quand sa date de péremption est très largement dépassée. Bref, voici la pub du jour : achetez le lait Bridel (lait pasteurisé entier pasteurisation haute, produit en Bretagne[#]).

[#] Peut-être que ce sont les nitrates qui empêchent le lait de tourner ? ☺

(lundi)

Une expression régulière pour les multiples de 7

Écrits en base 10, les multiples de 7 sont exactement les nombres vérifiant l'expression régulière suivante (en syntaxe egrep) :

^([07]|6[29]*3|(5|6[29]*[18])(4|5[29]*[18])*(6|5[29]*3)|(4|6[29]*[07]|(5|6[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*([29]|[18][29]*3|([07]|[18][29]*[18])(4|5[29]*[18])*(6|5[29]*3))|(3|6[29]*6|(5|6[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|(4|6[29]*[07]|(5|6[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))([18]|4[29]*6|(3|4[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))*(5|4[29]*3|(3|4[29]*[18])(4|5[29]*[18])*(6|5[29]*3)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*([29]|[18][29]*3|([07]|[18][29]*[18])(4|5[29]*[18])*(6|5[29]*3)))|([29]|6[29]*5|(5|6[29]*[18])(4|5[29]*[18])*([18]|5[29]*5)|(4|6[29]*[07]|(5|6[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(4|[18][29]*5|([07]|[18][29]*[18])(4|5[29]*[18])*([18]|5[29]*5))|(3|6[29]*6|(5|6[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|(4|6[29]*[07]|(5|6[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))([18]|4[29]*6|(3|4[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))*([07]|4[29]*5|(3|4[29]*[18])(4|5[29]*[18])*([18]|5[29]*5)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(4|[18][29]*5|([07]|[18][29]*[18])(4|5[29]*[18])*([18]|5[29]*5))))(3|[07][29]*5|(6|[07][29]*[18])(4|5[29]*[18])*([18]|5[29]*5)|(5|[07][29]*[07]|(6|[07][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(4|[18][29]*5|([07]|[18][29]*[18])(4|5[29]*[18])*([18]|5[29]*5))|(4|[07][29]*6|(6|[07][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|(5|[07][29]*[07]|(6|[07][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))([18]|4[29]*6|(3|4[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))*([07]|4[29]*5|(3|4[29]*[18])(4|5[29]*[18])*([18]|5[29]*5)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(4|[18][29]*5|([07]|[18][29]*[18])(4|5[29]*[18])*([18]|5[29]*5))))*([18]|[07][29]*3|(6|[07][29]*[18])(4|5[29]*[18])*(6|5[29]*3)|(5|[07][29]*[07]|(6|[07][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*([29]|[18][29]*3|([07]|[18][29]*[18])(4|5[29]*[18])*(6|5[29]*3))|(4|[07][29]*6|(6|[07][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|(5|[07][29]*[07]|(6|[07][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))([18]|4[29]*6|(3|4[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))*(5|4[29]*3|(3|4[29]*[18])(4|5[29]*[18])*(6|5[29]*3)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*([29]|[18][29]*3|([07]|[18][29]*[18])(4|5[29]*[18])*(6|5[29]*3))))|([18]|6[29]*4|(5|6[29]*[18])(4|5[29]*[18])*([07]|5[29]*4)|(4|6[29]*[07]|(5|6[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(3|[18][29]*4|([07]|[18][29]*[18])(4|5[29]*[18])*([07]|5[29]*4))|(3|6[29]*6|(5|6[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|(4|6[29]*[07]|(5|6[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))([18]|4[29]*6|(3|4[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))*(6|4[29]*4|(3|4[29]*[18])(4|5[29]*[18])*([07]|5[29]*4)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(3|[18][29]*4|([07]|[18][29]*[18])(4|5[29]*[18])*([07]|5[29]*4)))|([29]|6[29]*5|(5|6[29]*[18])(4|5[29]*[18])*([18]|5[29]*5)|(4|6[29]*[07]|(5|6[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(4|[18][29]*5|([07]|[18][29]*[18])(4|5[29]*[18])*([18]|5[29]*5))|(3|6[29]*6|(5|6[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|(4|6[29]*[07]|(5|6[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))([18]|4[29]*6|(3|4[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))*([07]|4[29]*5|(3|4[29]*[18])(4|5[29]*[18])*([18]|5[29]*5)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(4|[18][29]*5|([07]|[18][29]*[18])(4|5[29]*[18])*([18]|5[29]*5))))(3|[07][29]*5|(6|[07][29]*[18])(4|5[29]*[18])*([18]|5[29]*5)|(5|[07][29]*[07]|(6|[07][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(4|[18][29]*5|([07]|[18][29]*[18])(4|5[29]*[18])*([18]|5[29]*5))|(4|[07][29]*6|(6|[07][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|(5|[07][29]*[07]|(6|[07][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))([18]|4[29]*6|(3|4[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))*([07]|4[29]*5|(3|4[29]*[18])(4|5[29]*[18])*([18]|5[29]*5)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(4|[18][29]*5|([07]|[18][29]*[18])(4|5[29]*[18])*([18]|5[29]*5))))*([29]|[07][29]*4|(6|[07][29]*[18])(4|5[29]*[18])*([07]|5[29]*4)|(5|[07][29]*[07]|(6|[07][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(3|[18][29]*4|([07]|[18][29]*[18])(4|5[29]*[18])*([07]|5[29]*4))|(4|[07][29]*6|(6|[07][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|(5|[07][29]*[07]|(6|[07][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))([18]|4[29]*6|(3|4[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))*(6|4[29]*4|(3|4[29]*[18])(4|5[29]*[18])*([07]|5[29]*4)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(3|[18][29]*4|([07]|[18][29]*[18])(4|5[29]*[18])*([07]|5[29]*4)))))(5|3[29]*4|([29]|3[29]*[18])(4|5[29]*[18])*([07]|5[29]*4)|([18]|3[29]*[07]|([29]|3[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(3|[18][29]*4|([07]|[18][29]*[18])(4|5[29]*[18])*([07]|5[29]*4))|([07]|3[29]*6|([29]|3[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([18]|3[29]*[07]|([29]|3[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))([18]|4[29]*6|(3|4[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))*(6|4[29]*4|(3|4[29]*[18])(4|5[29]*[18])*([07]|5[29]*4)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(3|[18][29]*4|([07]|[18][29]*[18])(4|5[29]*[18])*([07]|5[29]*4)))|(6|3[29]*5|([29]|3[29]*[18])(4|5[29]*[18])*([18]|5[29]*5)|([18]|3[29]*[07]|([29]|3[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(4|[18][29]*5|([07]|[18][29]*[18])(4|5[29]*[18])*([18]|5[29]*5))|([07]|3[29]*6|([29]|3[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([18]|3[29]*[07]|([29]|3[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))([18]|4[29]*6|(3|4[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))*([07]|4[29]*5|(3|4[29]*[18])(4|5[29]*[18])*([18]|5[29]*5)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(4|[18][29]*5|([07]|[18][29]*[18])(4|5[29]*[18])*([18]|5[29]*5))))(3|[07][29]*5|(6|[07][29]*[18])(4|5[29]*[18])*([18]|5[29]*5)|(5|[07][29]*[07]|(6|[07][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(4|[18][29]*5|([07]|[18][29]*[18])(4|5[29]*[18])*([18]|5[29]*5))|(4|[07][29]*6|(6|[07][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|(5|[07][29]*[07]|(6|[07][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))([18]|4[29]*6|(3|4[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))*([07]|4[29]*5|(3|4[29]*[18])(4|5[29]*[18])*([18]|5[29]*5)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(4|[18][29]*5|([07]|[18][29]*[18])(4|5[29]*[18])*([18]|5[29]*5))))*([29]|[07][29]*4|(6|[07][29]*[18])(4|5[29]*[18])*([07]|5[29]*4)|(5|[07][29]*[07]|(6|[07][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(3|[18][29]*4|([07]|[18][29]*[18])(4|5[29]*[18])*([07]|5[29]*4))|(4|[07][29]*6|(6|[07][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|(5|[07][29]*[07]|(6|[07][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))([18]|4[29]*6|(3|4[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))*(6|4[29]*4|(3|4[29]*[18])(4|5[29]*[18])*([07]|5[29]*4)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(3|[18][29]*4|([07]|[18][29]*[18])(4|5[29]*[18])*([07]|5[29]*4)))))*(4|3[29]*3|([29]|3[29]*[18])(4|5[29]*[18])*(6|5[29]*3)|([18]|3[29]*[07]|([29]|3[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*([29]|[18][29]*3|([07]|[18][29]*[18])(4|5[29]*[18])*(6|5[29]*3))|([07]|3[29]*6|([29]|3[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([18]|3[29]*[07]|([29]|3[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))([18]|4[29]*6|(3|4[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))*(5|4[29]*3|(3|4[29]*[18])(4|5[29]*[18])*(6|5[29]*3)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*([29]|[18][29]*3|([07]|[18][29]*[18])(4|5[29]*[18])*(6|5[29]*3)))|(6|3[29]*5|([29]|3[29]*[18])(4|5[29]*[18])*([18]|5[29]*5)|([18]|3[29]*[07]|([29]|3[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(4|[18][29]*5|([07]|[18][29]*[18])(4|5[29]*[18])*([18]|5[29]*5))|([07]|3[29]*6|([29]|3[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([18]|3[29]*[07]|([29]|3[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))([18]|4[29]*6|(3|4[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))*([07]|4[29]*5|(3|4[29]*[18])(4|5[29]*[18])*([18]|5[29]*5)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(4|[18][29]*5|([07]|[18][29]*[18])(4|5[29]*[18])*([18]|5[29]*5))))(3|[07][29]*5|(6|[07][29]*[18])(4|5[29]*[18])*([18]|5[29]*5)|(5|[07][29]*[07]|(6|[07][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(4|[18][29]*5|([07]|[18][29]*[18])(4|5[29]*[18])*([18]|5[29]*5))|(4|[07][29]*6|(6|[07][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|(5|[07][29]*[07]|(6|[07][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))([18]|4[29]*6|(3|4[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))*([07]|4[29]*5|(3|4[29]*[18])(4|5[29]*[18])*([18]|5[29]*5)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(4|[18][29]*5|([07]|[18][29]*[18])(4|5[29]*[18])*([18]|5[29]*5))))*([18]|[07][29]*3|(6|[07][29]*[18])(4|5[29]*[18])*(6|5[29]*3)|(5|[07][29]*[07]|(6|[07][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*([29]|[18][29]*3|([07]|[18][29]*[18])(4|5[29]*[18])*(6|5[29]*3))|(4|[07][29]*6|(6|[07][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|(5|[07][29]*[07]|(6|[07][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))([18]|4[29]*6|(3|4[29]*[18])(4|5[29]*[18])*([29]|5[29]*6)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*(5|[18][29]*6|([07]|[18][29]*[18])(4|5[29]*[18])*([29]|5[29]*6)))*(5|4[29]*3|(3|4[29]*[18])(4|5[29]*[18])*(6|5[29]*3)|([29]|4[29]*[07]|(3|4[29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))(6|[18][29]*[07]|([07]|[18][29]*[18])(4|5[29]*[18])*(3|5[29]*[07]))*([29]|[18][29]*3|([07]|[18][29]*[18])(4|5[29]*[18])*(6|5[29]*3))))))*$

J'avoue que je trouve ça un peu magique et fascinant : j'ai beau l'avoir construite (avec une méthode tout à fait facile et standard pour convertir un automate fini en expression régulière), je n'arrive pas à bien me faire une idée de comment elle fonctionne.

Je ne sais pas non plus si on peut faire (substantiellement) plus court que ces 16233 caractères (on peut certainement gratter un peu, mais je veux dire que je ne sais pas si on peut faire quelque chose de vraiment différent) : je suppose que non, mais je ne sais pas le prouver.

(lundi)

Comment les gens font-ils pour croire aux religions ?

J'ai toujours été athée (et je ne m'imagine pas que c'est parce que j'ai une disposition d'esprit particulière pour ça, c'est juste que je suis né dans une famille athée) ; pour autant, je m'efforce de garder la plus grande tolérance d'esprit envers toutes les croyances métaphysiques ou philosophiques, dans la mesure où ces croyances ne débordent pas sur des considérations éthiques inacceptables (par exemple, l'idée que le Créateur de l'Univers regarderait d'un œil sourcilleux ce que nous ferions avec notre c** ou, concrètement, que l'amour entre deux garçons serait moralement inférieur ou moins naturel à celui entre un garçon et une fille dans le cadre d'une alliance sacrée quelconque). Outre la nécessité pour les hommes de bonne volonté de ne pas se disputer pour des raisons frivoles comme des opinions sur la structure de l'Univers si ces opinions n'ont pas de conséquence scientifique, politique ou déontologique effective, j'ai suffisamment d'humilité quant à mes propres croyances métaphysiques (voyez par exemple ici et , et, bien sûr, ici, ici et pour les amusements littéraires) pour ne pas oser les prétendre meilleures que celles des autres. Le fait que nous possédions conscience et intelligence dans un Univers relativement compréhensible et pas toujours totalement hostile est suffisamment frappant pour que je considère que je n'ai pas de pierre à jeter à ceux qui font toutes sortes d'acrobaties philosophiques pour l'expliquer (même s'il n'est pas du tout acquis qu'il y ait quelque chose à expliquer). Et, comme j'aime bien le signaler, il n'y a pas de doute que le Dieu chrétien existe, au moins dans la tête de ceux qui croient en lui, et ça ne le rend pas forcément moins puissant, moins important, ou moins digne d'adoration et de respect que s'il était vraiment le créateur de l'Univers.

L'ennui, c'est que malgré mes bonnes intentions j'ai de plus en plus de mal à ne pas me moquer intérieurement. C'est sans doute l'exposition prolongée à des mèmes Internet tels que celui-ci :

Christianity: The belief that a Jewish zombie can make you live forever if you symbolically eat his flesh and drink his blood and telepathically tell him he is your master. All because you're full of inherent evil because a rib woman got tricked into eating an apple from a magical tree by a talking snake.

Makes perfect sense.

(Je donne un exemple pour le Christianisme parce que c'est la saison, mais je suis sûr qu'on pourrait trouver tout aussi rigolo pour les autres grandes religions.) Ou aux traits bien visés de Dawkins, Hitchens et Fry (la sainte trinité des athées militants ?), et autres du même genre (ce résumé, par exemple, qui est particulièrement pertinent parce que Sathya Sai Baba est mort hier, le jour de Pâques).

J'ai surtout été frappé par la question suivante : avez-vous déjà essayé de jouer au candide complet qui n'a jamais entendu parler de l'idée de dieu et encore moins du Christianisme, et de vous faire expliquer de quoi il s'agit ? C'est un peu ce qui est arrivé, d'ailleurs, quand mon poussinet m'a demandé de lui expliquer ce qu'on fête à Pâques (il n'a vraiment aucune culture religieuse), et quand il a refusé d'admettre que des adultes sains d'esprit pussent vraiment croire que du pain azyme se transforme (tout à fait littéralement, et pas de façon symbolique ou figurée) en le corps du Christ. Et c'est loin d'être le seul aspect de la religion chrétienne (enfin, catholique puisque j'ai insisté sur la transsubstantiation au sens propre) qui soit ainsi pittoresque et incompréhensible : si je dois résumer à un esprit candide la raison pour laquelle, selon le Christianisme, Dieu a éprouvé le besoin d'envoyer une de ses trois entités se faire sacrifier sur Terre, avec toute la bonne volonté du monde, je n'arrive pas à le dire d'une façon qui ne sonne pas totalement ridicule à mes propres oreilles.

Mon père m'avait rapporté avoir un jour demandé à un ami, éminent astrophysicien indien qui aimait écrire des textes de présentation de la métaphysique hindoue, s'il croyait ou non à ces histoires : l'ami avait répondu non, comme s'il était à la fois gêné d'y croire et de ne pas y croire. Les monothéistes occidentaux aiment invoquer le respect dû à leurs croyances sans qu'on sache très bien ce que ce respect recouvre au juste, mais j'ai vu des manifestations de condescendance vis-à-vis des aspects « pittoresques » de la religion hindoue, des « superstitions » des Chinois et des Japonais, ou des pratiques jugées bizarres des Mormons ; et je ne suis pas certain que le respect censément dû aux religions soit réellement étendu dans les mêmes termes aux Yaohnanen qui prennent le prince Philippe d'Édimbourg pour un dieu. Ou encore aux religions maintenant éteintes : à moins que le devoir de respect s'éteigne quand disparaît le dernier fidèle ? Si quelqu'un prétend de nos jours faire des sacrifices à Jupiter, on va se dire qu'il veut faire son original et on ne va pas le prendre très au sérieux — pourtant, il mérite exactement le même respect que ceux qui croient que leur Dieu leur interdit de manger des mammifères du genre Sus. Ceux qui ont lancé la religion du Pastafarisme soulèvent un point valable : si vous voulez vraiment invoquer le respect des religions, il faudra respecter même celle-ci, et si vous osez dire personne ne croit sérieusement au monstre en spaghetti volant, nous vous rétorquerons la même chose pour les religions établies.

Et, malgré toute ma volonté de donner dans l'irénisme et le politiquement correct, et d'éviter les trolls, je n'arrive pas à ne pas être frappé par ces arguments. Et par la question de mon poussinet : des adultes en bonne santé mentale croient-ils vraiment que le Créateur de l'Univers tient à se faire manger sous l'apparence de petits pains ronds, que les points clés de Son message à l'humanité sont compilés dans un livre incohérent et mal écrit, et que le sacrifice censé prouver Son amour et son pardon infinis s'est déroulé à un moment et un endroit absolument quelconques de l'Histoire de l'humanité mais où, comme par hasard, Il n'a pas pu se trouver un seul témoin fiable ?[#] Est-il légitime de déclarer cette question choquante ? Et si oui, comment arrivent-ils à y croire alors que personne ne croit qu'il apparaît sous forme d'un plat de spaghetti sauce bolognaise ? Autant rien ne me choque vraiment dans le déisme ou le panthéisme ou les espèces de mysticisme à la théosophie, parce que ce sont des affirmations vagues et molles, qu'on peut toujours déclarer empreintes sagesse quitte à les interpréter de façon suffisamment allégorique, autant les religions établies font des affirmations autrement plus difficile à écarter d'un simple mouvement de la main.

Ce serait une chose si tout le monde était parfaitement d'accord sur le fait que les croyances religieuses naissent ab imo pectore et doivent rester strictement privées. En privé, vous avez le droit de croire absolument ce que vous voulez, que l'Univers a été créé il y a 42 secondes ou que la Terre est plate et repose sur le dos de quatre éléphants soutenus par une tortue — et je suis prêt à me battre pour que vous ne soyez pas inquiété parce que vous croyez à de telles sottises. Mais il est vain de prétendre que la religion appartient exclusivement à la sphère privée : dès lors qu'elle est invoquée en politique, dès lors qu'on se lamente de sa disparition de la sphère publique, dès lors qu'on proteste qu'on est offensé d'avoir vu un dessin représentant tel gourou sous les traits d'un mammifère du genre Sus, on n'est plus dans la sphère privée. Et il est hors de question que le duc d'Édimbourg soit à l'abri de toute critique publique sous prétexte qu'il est divin pour les Yaohnanen.

[#] Je ne donne bien sûr que quelques exemples des choses qui me semblent (au sens propre) incroyables dans les dogmes chrétiens. Cela n'aurait pas de sens de multiplier les exemples. Mais le thème général est que je n'arrive pas à comprendre comment on peut avoir des croyances aussi spécifiques quant à ce que Dieu veut ou a fait alors que la moindre question un peu délicate posée à cette religion recevra toujours la même réponse : Les voies du Seigneur sont impénétrables.

(vendredi)

Mes 0.02¤ sur les élections françaises

Nous sommes plus d'un an avant les prochaines élections françaises (enfin, prochaines exception faite des trucs comme les sénatoriales) et la frénésie médiatique à ce sujet est déjà fatigante. (Remarquez, j'aime toujours mieux ça que le mariage de Princecharmant avec Princessecharmante dont rien qu'en France je trouve que j'entends déjà trop parler même si Princecharmant et Princessecharmante seront peut-être un jour mes roi et reine — alors qu'est-ce que ce serait en Angleterre.) Apparemment il est maintenant de rigueur de commémorer le 21 avril comme l'anniversaire d'un jour où la démocratie française a pris une cuite, sans qu'on sache exactement quelle leçon en tirer. Alors voici mes 20 millizorkmids à ce sujet :

(1) Je suis et je reste profondément attaché au régime parlementaire, qui a pris beaucoup de plomb dans l'aile en France depuis 1958, et encore plus depuis 2000 (mais on reste au moins formellement dans un système parlementaire, au sens où l'Assemblée nationale peut renverser le gouvernement). Je pense que le président de la République devrait avoir pour seule fonction de faire des jolis discours consensuels et de ne prendre aucune position politique, et je regrette la décision d'élire ce poste au suffrage universel (referendum du 28 octobre 1962), et plus profondément encore celle de l'élire avant l'Assemblée (loi organique du 15 mai 2001). Il n'y aurait sans doute rien à changer à la Constitution pour faire du président de la République une potiche : c'est surtout une question de pratique des institutions (et, de fait, sous la IIIe République, c'est ce qui s'est passé après un bras de fer célèbre entre Mac-Mahon et Gambetta, ce dernier ayant invité le premier à se soumettre ou se démettre) ; et faire élire le président en premier, pour tenter de capitaliser sur le principe stupide (effet d'entraînement) qu'une fois quelqu'un élu au poste de président il faut bien lui donner la cohérence d'une majorité (stupide, car les cohabitations ont finalement très bien marché, et peut-être même que les Français aimaient ça), contribue justement à présidentialiser la République (et c'est l'intention avouée de ce calendrier électoral). Autrement dit, plutôt qu'inviter les électeurs à se prononcer sur un projet, on les invite à se prononcer sur une personne, avec tout l'aléatoire que cela comporte (que tel candidat bien placé fasse une bourde stupide, ou qu'un scandale éclate à son sujet, et l'avenir du pays pour cinq ans est modifié : je ne vois vraiment pas l'intérêt de se soumettre à un tel aléa), et avec tous les inconvénients du pouvoir personnel.

(2) Certes, le régime parlementaire a mauvaise presse en France, notamment à cause des difficultés de la IVe République et qui étaient pourtant, à bien y regarder, plutôt liées à la décolonisation qu'à la pratique législative. Je reconnais que les coalitions douteuses et les ministres d'État sans portefeuille (même si c'est un titre ronflant — j'aimerais bien être ministre d'État sans portefeuille, moi, ça doit être pépère) ne sont pas l'idéal, mais il existe des mécanismes pour assurer des majorités législatives ou des gouvernements stables, qui ne consistent pas à faire de l'élection d'un seul homme une espèce de sacre républicain. (À titre d'exemples : faire des élections législatives à la proportionnelle — peut-être par région ou par département — avec une prime à la majorité ; ou exiger d'une motion de censure qu'elle soit constructive, si bien que le gouvernement ne peut tomber que si une nouvelle coalition s'est mise en place. Mais déjà, en l'état actuel, l'élection de l'Assemblée nationale française dégage effectivement des majorités correctes, et il n'y a pas de raison de penser que cela ne fonctionnerait pas si le président n'était pas élu juste avant : après tout, en 1986, en 1993 et en 1997 ce fut bien le cas.)

(3) Un des problèmes avec le fait de mettre l'élection présidentielle avant les élections législatives, et donc d'en faire l'« élection importante », c'est que les petits partis ont alors besoin de présenter un candidat à la présidentielle, pour pouvoir exister dans le débat public. Même si ce candidat n'a aucune chance d'être élu (ou même d'être représenté au second tour), et même si le parti admet publiquement ce fait en accordant d'emblée son soutien (à voix tempérée) à tel ou tel autre candidat au second tour. Or la multiplicité de ces petits candidats fait que le mode de scrutin est inadapté, ce qui m'amène au point suivant :

(4) Dans la mesure où on décide néanmoins d'élire une seule personne au suffrage universel direct, le scrutin majoritaire uninominal à deux tours (ce qu'on utilise en France) n'est pas terrible. Ce n'est pas le plus mauvais, certes (à un seul tour, ce serait bien pire ; quant à ce qu'ont les États-Unis c'est une vaste blague) ; on peut même dire que ce système est assez bien quand il n'y a que deux candidats vraiment sérieux, ou éventuellement trois à condition dans ce cas qu'il n'y ait guère de petits candidats qui sont là juste pour exister (cf. le point précédent). Quand il s'agissait de montrer que le général De Gaulle avait la confiance absolue des français, ce mode de scrutin était peut-être approprié. Mais maintenant, il n'a plus beaucoup de sens : je viens d'expliquer que les petits candidats étaient obligés d'y participer, or en ce faisant ils contribuent à ce que le nom des deux candidats arrivés en tête à l'issue du premier tour soit peu représentatif de quoi que ce soit.

(5) Il existe quantité de modes de scrutin qui seraient moins mauvais. Le plus évident consiste à ajouter un tour de scrutin selon des modalités à préciser (la difficulté étant alors de convaincre les électeurs à se déplacer : dans ce cas, il vaudrait mieux résoudre plusieurs problèmes d'un coup en organisant les législatives en même temps que la présidentielle). Ce n'est qu'un pis-aller, mais c'est le plus simple à expliquer aux gens. D'autres modes de scrutin mathématiquement bien meilleurs sont sans doute trop difficiles à présenter aux électeurs (quoique — ce n'est pas forcément rédhibitoire, après tout l'électeur moyen n'a aucune idée de la façon dont sont étaient élus les conseils régionaux) : par exemple, toutes sortes de variations autour des scrutins de Condorcet[#] (où on demande aux électeurs de classer les candidats, et on garantit comme critère minimal que s'il existe un candidat qui est préféré à tout autre candidat par une majorité d'électeurs, alors ce candidat sera élu), ou des systèmes à base de points[#2]. S'il faut quelque chose d'équitable et compréhensible, le mieux me semble encore le scrutin par assentiment (=chaque électeur coche des cases en face des candidats qui lui conviennent, et le candidat élu est celui qui a le plus de cases cochées, point final).

[#] J'en avais décrit ici une particulière, que j'appelle scrutin de Condorcet-Nash — il s'agit du système électoral qui assure la stratégie mixte optimale pour le jeu dont la fonction de gain est le nombre d'électeurs qui préfère tel résultat sur tel autre — et ce système est optimal en un certain sens. Néanmoins, il est un peu compliqué à mettre en pratique, très difficile à expliquer aux non-mathématiciens, et a l'inconvénient politiquement inacceptable de faire intervenir le hasard quand il n'y a pas de gagnant au sens de Condorcet. J'ai appliqué ce mode de scrutin pour prendre des décisions entre amis, mais je ne le recommande pas pour l'élection présidentielle française.

[#2] En voici un exemple, qui est mathématiquement très satisfaisant, assez simple à implémenter, mais malheureusement toujours difficile à expliquer pour le non mathématicien : chaque électeur i attribue à chaque candidat j un nombre xi,j de points quelconque (pas forcément entier, mais cela ne change rien en pratique de demander qu'il soit toujours entier) ; on normalise les choix xi de l'électeur i pour la norme 2, c'est-à-dire qu'on divise chaque xi,j par √(∑jxi,j²) de façon à avoir ∑jxi,j²=1. Le candidat élu est celui qui (après un unique tour de scrutin) a la plus grande valeur de ∑ixi,j. (Autre façon, géométrique, de présenter la même chose : s'il y a n candidats, on part d'un point P à l'origine dans un espace affine de dimension n−1, chaque électeur peut déplacer le point (indépendamment de tous les autres) d'une distance au plus 1 dans la direction qui lui plaît, et le candidat élu est celui déterminé par la face d'un simplexe régulier centré à l'origine coupée par la demi-droite reliant l'origine au point P après somme de tous les déplacements.) Ce mode de scrutin permet donc de voter pour un candidat, contre un autre, ou toute autre combinaison de cela, avec les poids xi,j que l'on veut, en assurant que chaque électeur aura un poids euclidien total borné.

(6) Néanmoins, je suis parfaitement persuadé que rien ne bougera. Il est impossible de changer le mode d'élection (ou le calendrier électoral) avant l'élection sous peine d'être accusé de manipulation électorale, et après l'élection plus personne n'y pense. Quand on voit depuis combien de temps existe cette verrue sur la démocratie française qu'est le Sénat (Victor Hugo exhortait déjà en 1848 (ou était-ce dans les années 1870 ?) : défense de déposer un Sénat le long de la Constitution ; cela n'a pas empêché la IIIe République de le faire en 1875 et Hugo lui-même d'y entrer… depuis, on attend toujours la sénatusectomie).

(mardi)

Pourquoi les commentaires des journaux en ligne sont-ils aussi puants ?

Je ne sais pas pourquoi les journaux (je parle de quotidiens ou d'hebdomadaires d'actualité ou à orientation politique) qui ouvrent une version en ligne se sentent obligés de permettre aux internautes de déposer des commentaires sur les articles. (J'imagine un peu la version dans la vraie vie : quand vous achetez Le Monde dans un kiosque à journaux, le vendeur vous donne un petit papier recensant les conneries qui sont passées par la tête des cinq derniers clients en lisant ce journal. Ce ne serait pas moins grotesque.) Toujours est-il que non seulement c'est vraiment dénué d'intérêt en soi, mais cela semble agir comme un aimant pour tout ce qu'il y a de plus haineux dans la nature humaine : un déferlement de trolls (que je soupçonne malheureusement d'être involontaires) et de points Godwin, une distillation du café du commerce dont on aurait laissé s'échapper tout ce qui est léger et amusant pour ne garder que le lourd, le gras, le malodorant. Xénophobie, poujadisme, tout y passe, et très souvent l'obsession insistante du qui va payer pour tout ça ? qui rappelle les plus ordurières couvertures du Cri du Contribuable — le tout mâtiné de théories du complot exprimées par allusions obliques. On pourrait presque croire que les journalistes font exprès de mettre ça pour qu'on remarque combien leurs articles bâclés semblent, en comparaison, profonds, intelligents, modérés et bien écrits. Par ailleurs, il n'y a pas l'air d'avoir de corrélation claire entre la couleur politique des commentaires et celle du journal qui les héberge : qu'on regarde à gauche ou à droite, qu'on soit soi-même de gauche ou de droite, on ne trouve qu'à vomir.

Je ne cherche pas à les lire, évidemment, mais de temps en temps mon regard oublie de s'arrêter à la limite pas assez bien marquée visuellement entre le texte qui fait partie du journal et l'alignement de petites immondices qui en tient lieu de garnitude. [Ajout, j'avais oublié de dire ça :] Je devrais peut-être me fabriquer une extension Firefox, ou des scripts GreaseMonkey, ou quelque chose comme ça, pour m'effacer les commentaires de tous les sites de journaux sur lesquels il m'arrive de passer.

Ce n'est pourtant pas la forme du commentaire qui pousse à cela : sur un site de partage de liens comme Reddit, qui est pourtant essentiellement un site de commentaires, cela ne vole peut-être pas toujours très haut, mais rien de comparable (sans doute à cause du système de vote qui permet de « downvoter » les trolls). Même les commentaires YouTube, qui sont d'une stupidité proverbiale, ne sont pas aussi mauvais (ou alors ils le sont d'une façon qui est plus facile à juste oublier). Les blogs aussi, même les plus fréquentés (mais exception faite de ceux qui sont directement liés à un journal) ont tendance à recueillir des commentaires plus intelligents. Bref, je ne sais pas comment expliquer ce phénomène.

Mise à jour (2011-10-20) : Le génial The Onion a trouvé la solution idéale. Plus qu'à attendre que quelqu'un mette ça en pratique.

(samedi)

Pourquoi ne réussis-je pas à avoir de la 3D sous Linux ?

Un des domaines où Linux est incroyablement et obstinément nul, au point que ça en devient presque comique et en tout cas extrêmement embarrassant, c'est l'accélération graphique 3D. En fait, plutôt que comique, ça en devient très problématique, parce que de plus en plus de sites Web sont accessibles uniquement par les navigateurs supportant le WebGL (c'est-à-dire l'extension à l'élément <canvas> du HTML5 permettant d'accéder à l'accélération 3D depuis le navigateur). Par exemple l'extraordinaire site Web d'anatomie humaine bodybrowser.googlelabs.com. Or il n'y a quasiment aucune combinaison de matériel, pilote graphique et navigateur qui permette effectivement d'avoir du WebGL accéléré en matériel sous Linux.

Récapitulons pour ceux qui n'y connaissent rien. D'abord, quand je parle de 3D, il ne s'agit pas de ce qu'on aurait au cinéma en 3D (par vision stéréoscopique), mais de représentation 2D d'images 3D calculées par une technique dont je ne connais pas le nom (mais qui s'oppose à celle du raytracing) et qui consiste à trianguler (=décomposer en petits triangles) les surfaces à projeter et à faire des calculs de rendu de surface (ombres portées, textures, etc.) sur ces triangles pour les afficher finalement en 2D. Tous les jeux sur ordinateur modernes utilisent cette technique. Et l'enjeu est tellement important qu'on a développé des cartes graphiques (actuellement toutes les cartes graphiques) qui sont capables de faire en matériel les principaux calculs nécessaires pour cette technique : on appelle ça l'accélération 3D matérielle (et les cartes en question sont beaucoup, beaucoup plus rapides que le processeur principal dans leur domaine de compétence). Encore faut-il que le logiciel derrière soit capable de s'en servir, c'est-à-dire, d'avoir les bons pilotes, les bonnes bibliothèques, etc. (et éventuellement le bon navigateur s'il s'agit de WebGL et que c'est une page Web dynamique qui veut bénéficier de cette accélération).

Les principales cartes (ou puces) graphiques du marché se rangent en trois familles : celles des constructeurs nVidia, ATI qui a été racheté par AMD, et Intel (ce dernier se concentre plutôt sur les puces graphiques pour portables alors que nVidia et ATI/AMD font plutôt des cartes graphiques pour ordinateurs de bureau). Il y a sans doute des différences de vitesse entre ces différentes cartes, cruciales pour les gamerz qui comptent les fps (frames per second) comme d'autres comptent les centimètres de leur bite, mais pour quelqu'un comme moi qui voudrais juste pouvoir accéder à des sites WebGL assez basiques, cela n'a aucune importance, je veux juste quelque chose d'un peu plus rapide que de la 3D non-accélérée (=rendue en logiciel).

Autrefois, Linux avait une bonne excuse : les fabricants de cartes graphiques ne publiaient pas les spécifications de leurs cartes (ou du moins, seulement sous signature d'un accord de non-divulgation), parce qu'une idée parfaitement stupide abondait chez eux selon laquelle il valait mieux que leur matériel ne marchât pas du tout que d'en faire paraître le mode d'emploi avec lequel, horresco referens, on risquerait de, euh, je ne sais pas, de s'en servir je suppose. Sans spécifications, pas moyen d'écrire un pilote, et l'histoire s'arrêtait là. Maintenant, les choses ont un peu changé : si nVidia persiste dans cette stratégie grotesque, en revanche lorsque AMD a racheté ATI, ils ont inversé la politique et ont publié en 2007 de gros manuels de programmation de leurs puces graphiques (je crois que c'était pour les puces récentes). Quant à Intel, ils sont plutôt ouverts sur la question, même s'il y a des changements occasionnels comme on en a l'habitude avec ce genre de grosse compagnie. Toujours est-il que si j'ai applaudi lorsque ATI a libéré les spécifications de ses puces, j'espérais voir un pilote utilisable apparaître en un an ou deux. Ou trois. Mais quatre ans plus tard, c'est vraiment embarrassant à quel point le progrès est nul. (Et ce n'est pas faute de moyens : il y a des développeurs qui bossent vraiment dessus, y compris des développeurs payés par le constructeur.)

La première chose qui pose problème, c'est que plus Personne N'Y Comprend Rien®. Autrefois, pour faire de la 3D sous un Unix à la Linux, il y avait plusieurs approches possibles : (1) faire les calculs purement en logiciel (c'est-à-dire, sans accélération matérielle, donc sans besoin de matériel spécifique, mais en échange de quoi tout sera très lent), ce qui peut vouloir dire (1a) faire les calculs côté serveur (le serveur, dans la terminologie X11, étant l'ordinateur, ou le processus, qui affiche vraiment l'image sur l'écran) ou bien (1b) faire les calculs côté client (le client, dans la terminologie X11, étant l'ordinateur ou le processus qui fait tourner le programme graphique), la distinction étant pertinente parce que le système X11 est un protocole client-serveur, ce qu'on a tendance à oublier de nos jours ; ou bien (2) utiliser une accélération matérielle côté serveur, c'est-à-dire que le client (qui peut très bien tourner sur un ordinateur différent) fait passer au serveur des demandes d'affichage de triangles (ou je ne sais quoi d'autre) et le serveur les refile à la carte graphique rattachée à l'écran. Pour une raison d'efficacité, on a introduit une nouvelle possibilité, (3) le direct rendering, par laquelle le client graphique parle directement à la carte graphique sans passer par le serveur (il a juste demandé une sorte d'autorisation générale au serveur). Je crois que c'est quand on a introduit ça que tout a foutu le camp ; a commencer par la possibilité (2) d'avoir de l'accélération 3D matérielle en faisant tourner le client graphique sur une machine différente du serveur qui gère l'écran : personne n'est capable de me dire si cette possibilité existe encore sur les X.org/Linux modernes ; et je ne parle pas de la sécurité, parce que permettre à un programme non privilégié de parler à la carte graphique qui a un accès direct au bus mémoire et pas trop de notion de permissions, c'est ouvrir un trou de sécurité de la taille du Brésil dans le modèle de sécurité de l'ordinateur. Toujours est-il que l'idée de faire de l'accélération 3D matérielle sans ce direct rendering a l'air d'avoir complètement échappé à tout le monde (pourtant, j'en ai vu, ç'eut été possible).

Là-dessus, il y a toute une salade de sigles et de termes dont on ne sait pas ce qu'ils recouvrent au juste : il y a OpenGL, qui est une sorte de standard pour les primitives graphiques 3D, et qui a l'air atrocement mal foutu parce que personne n'a l'air d'accord sur ce qu'il contient exactement. Il y a Mesa, qui est apparemment l'implémentation libre d'OpenGL et qui a l'air de servir dans un sous-ensemble des cas (1a), (1b), (2) et (3) évoqués ci-dessus, mais c'est absolument impossible de savoir exactement lesquels (peut-être tous, mais rien n'est moins clair). Il y a des choses nébuleuses appelées libglu, libglut, libosmesa et encore d'autres, dont je n'ai aucune idée de ce qu'elles font (enfin, si, un peu : les deux premières sont des surcouches sur OpenGL, et la troisième permet de faire des calculs 3D offline, c'est-à-dire sans les afficher effectivement à l'écran). Et il y a des choses dans le noyau Linux et dans le serveur X.org qui parlent entre eux, et tout cela est ficelé de la façon habituelle en informatique, c'est-à-dire qu'on peut trouver des explications techniques très précises sur chacun des bouts, mais aucune documentation synthétique pour décrire comment les différentes pièces du puzzle s'assemblent.

Globalement, pour faire de la 3D accélérée sous Linux, au moins dans la solution (3) (les autres, comme je le disais, je ne sais pas s'ils existent encore), on a les possibilités suivantes : (α) avoir une carte nVidia avec le pilote propriétaire fourni par nVidia (qui souffre de quantité de défauts, par exemple de ne pas gérer correctement le XRandR, et de casser à chaque version de Linux, mais qui au moins marchouille) ; (β) avoir une carte nVidia avec le pilote libre Nouveau (non, ce n'est pas un nouveau pilote, enfin, si, ç'en est un, mais c'est surtout un pilote qui s'appelle Nouveau) ; (γ) avoir une carte graphique AMD/ATI avec le pilote libre Radeon ; ou (δ) avoir une puce graphique Intel (typiquement, mais pas exclusivement, sur portable) et le pilote libre qui va avec. (Il est possible qu'il y ait d'autres options, je ne les connais pas bien.) J'ai une machine avec chacune de ces possibilités, et je peux confirmer la chose suivante : rien ne marche. Enfin, (α) marche un peu, si d'une part on n'est pas un intégriste du logiciel libre (ou plus pragmatiquement si on est prêt à laisser nVidia prendre le contrôle de son ordi avec un énorme blob binaire dont on ne sait pas ce qu'il peut contenir) et si d'autre part on veut bien supporter leur politique de distribution vraiment pénible. Pour les gens qui veulent du libre, optez pour (β)–(δ), et là vous aurez vraiment la garantie que ça ne marche pas du tout.

Oh, il est censé y avoir des choses. Certains vous diront que, si, si, Nouveau fait maintenant de la 3D accélérée, ou que Radeon marche correctement, ou qu'ils n'ont pas de problème avec leur puce graphique Intel. Reste que les problèmes sont tellement nombreux et les pilotes tellement buggués que Firefox 4, qui a introduit le WebGL, décide de désactiver cette extension dans tous les pilotes Linux autres que le pilote propriétaire nVidia (ce que j'ai appelé (α)). On peut demander à la réactiver de force en lançant Firefox avec la variable MOZ_GLX_IGNORE_BLACKLIST=1 : j'ai essayé, et j'ai réussi à planter Firefox, à planter mon serveur X, mais jamais à avoir le moindre bout de WebGL qui marche — donc ce n'est pas une blague. Même son de cloche du côté de Chrome/Chromium. (Et je précise que j'essaie avec le noyau 2.6.38.3, X.org 7.6, Mesa 7.10, un pilote Nouveau de moins d'une semaine, et Firefox 4 ou Chromium 10.0.648.205.)

Certes, on peut quand même avoir du WebGL sans accélération (solution (1b)) : sous Firefox 4, il s'agit essentiellement d'installer la bibliothèque libosmesa version 6 et de configurer webgl.osmesalib pour en donner le chemin (typiquement /usr/lib/libOSMesa.so) ; mais c'est tellement lent que j'ai tout de suite craqué.

Mais le pire, c'est que non seulement l'accélération 3D ne marche pas, mais l'accélération 2D ne marche plus non plus. Autrefois ces choses étaient bien séparées : maintenant, la 3D est devenue tellement importante que les cartes graphiques rapportent tout à ça, tant et si bien que si on veut avoir de l'accélération 2D (pour voir un film, pour déplacer les fenêtres de façon fluide, etc.), il faut plus ou moins que la 3D marche. Sur celle de mes machines qui utilise le pilote Radeon ((γ) ci-dessus), par exemple, j'ai de l'accélération 2D, mais uniquement sur le premier serveur X que je lance : que je m'avise d'en ouvrir un second, et plus rien n'est accéléré (il paraît que la solution à ce problème consiste à utiliser KMS, mais tout ce que j'ai réussi à en tirer c'est un écran noir) ; quant au pilote Nouveau ((β)), il a l'air tellement peu accéléré que le simple avertissement visuel du terminal (XTerm a une option pour changer brièvement de couleur au lieu de bipper) est atrocement lent.

Finalement, l'accélération 3D marche mieux sur mon téléphone mobile que sur mon ordinateur.

(jeudi)

Mises à jour, Mac OS et Linux

Je suis de passage chez mes parents, et, comme à chaque fois que je suis de passage chez mes parents, j'en profite pour faire des mises à jour sur les différents ordinateurs que j'y administre, c'est-à-dire essentiellement des PC sous Linux à moi (enfin, un qui est vraiment à moi, plus le routeur de la maison) et le Mac de ma mère (qui est sous Mac OS 10.6 Snow Leopard).

Sur le Mac, en l'occurrence, cela voulait dire mettre à jour Adobe Reader (qui est bourré de trous de sécurité dès qu'on le laisse plus de deux jours sans s'en occuper), Firefox (pour passer à la version 4), VLC (qui avait également quelques trous de sécurité), et OpenOffice pour le remplacer par LibreOffice. Ah oui, et XQuartz-sous-le-nom-de-X11 pour le remplacer par XQuartz-sous-le-nom-de-XQuartz (je n'ai pas bien compris pourquoi il y en a deux variantes, mais en tout cas c'était une version plus récente). Enfin, peu importe.

Et ce qui me semble horriblement fastidieux, venant de Linux, c'est que pour chacun de ces programmes, il fallait trouve le site Web approprié, récupérer la nouvelle version, monter le fichier .dmg téléchargé, le copier dans le répertoire d'applications, effacer tout ce qui traîne (et vider la poubelle, ah, cette idée géniale de transposer au bureau d'un ordinateur ce qui est déjà une corvée à la maison), puis recommencer éventuellement pour des packs additionnels comme la traduction française. Rien n'est automatisé. (Ah si, Acrobat se mettait à jour tout seul, mais n'empêche qu'il fallait le lancer, trouver le menu où se cachait l'option pour vérifier les mises à jour… pas sûr que ce soit tellement plus simple, en fait.)

Sous Debian GNU/Linux, je tape juste sudo apt-get dist-upgrade et il me met à jour tout ce qu'il faut parmi les quelques 4000 packages installés, et de façon unifiée. Là je n'en avais qu'une petite douzaine, et ça a été nettement plus laborieux. Il n'y a aucun système centralisé connaissant tout ce qui est installé.

C'est d'autant plus bizarre que Mac OS a un système de packages, mais il n'a pas l'air de servir en vrai, apparemment parce qu'il est beaucoup trop limité. Des gens ont inventé d'autres trucs (comme Fink) pour suppléer ces limitations, mais du coup le système lui-même ne se met pas à jour avec les mêmes trucs donc ce n'est pas une vraie solution. Quant à l'App Store d'Apple, il ne contient apparemment ni Firefox, ni LibreOffice, ni XQuartz, ni VLC : autant dire que c'est complètement nul et que ça ne fait ne résout pas (voire, empire) le problème de manque d'un point central qui connaisse tout ce qui est installé sur l'ordinateur.

Ceci étant, ce n'est pas parce que le Mac est mauvais que les distributions Linux sont complètement satisfaisantes pour autant. Sous Debian, j'aurai peut-être un Firefox maintenu pour ce qui est des trous de sécurité, mais si je veux un Firefox récent, il faut chercher dans les packages expérimentaux, ou bien dans ceux distribués par des tiers (or ces derniers ne sont jamais parfaitement bien intégrés au système — et ça, j'ai tendance à penser que c'est une faiblesse de la distribution, et pas des tiers, si la création d'un package Debian ne s'impose pas comme une évidence), ou bien installer le programme hors du système de packages, ce qui redevient alors aussi merdique que sur le Mac. De surcroît, le fait que les N distributions Linux n'aient pas réussi à s'entendre sur un système de packages unifié (au moins pour tout ce qui ne fait pas partie du système de base, et au moins pour ce qui est des sources des packages en question) provoque une duplication totalement inutile d'efforts humains.

(mercredi)

Le maire de Paris donne des bonbons aux geeks

J'avais plus ou moins entendu parler du fait que ce truc « se ferait » (peut-être, un jour), mais je viens de découvrir que c'est une réalité : Paris OpenData, ou toutes sortes de données sur Paris, dans des formats ouverts, téléchargeables (par opposition à : consultable via un site Web pourri) et sous une licence ouverte. Quel genre de données ?: par exemple, la nomenclature complète des voie, avec son historique, le plan parcellaire complet (malheureusement rasterisé, mais c'est déjà très bien), les résultats détaillées des élections, ou encore le catalogue des bibliothèques de la ville, et jusqu'à des choses beaucoup plus saugrenues comme la liste des arbres d'alignement avec leur espèce et leur âge. Apparemment il y a d'ailleurs eu une grosse livraison de donnée il y a quelques heures au moment où j'écris.

Bref, plein de bonbons pour les geeks. Rien qu'avec les données de la nomenclature des voies, je suis sûr qu'il y a des choses rigolotes à faire.

(mercredi)

Existe-t-il des sites accessibles uniquement en IPv6 ?

Pour célébrer le fait qu'aujourd'hui l'APNIC (l'autorité des réseaux Internet pour la région Asie-Pacifique) n'a plus d'adresse IPv4 à fournir (pour l'Europe, notre tour viendra dans quelques mois), je me pose la question : existe-t-il des sites Web accessibles uniquement en IPv6 ?

(Il existe beaucoup d'adresses accessibles uniquement en IPv6, par exemple ipv6.google.com[#] ou www.v6.facebook.com, mais ce sont simplement des accès différents à des sites qui sont, de toute façon, accessibles sur le vieil Internet v4. Je pense que mes lecteurs qui vivent encore sans accès au nouvel Internet v6 n'auront pas de difficulté à deviner vers quoi ces deux liens pointent. Je parle, ici, de contenus qui ne seraient vraiment accessibles que par IPv6 — sauf à utiliser un service de proxy comme celui consistant à ajouter .ipv4.sixxs.org au nom du domaine.)

Évidemment, aucune entreprise ayant quelque chose à vendre, aucun site qui recherche de l'audience en nombre, n'aurait intérêt à ça. Non seulement parce que le nombre d'internautes ayant actuellement une connectivité v6 est autour de 0.3%, mais aussi et surtout parce que le robot Google ne va chercher les sites que par IPv4 (du moins je crois — je me propose justement de tester cette hypothèse), donc un site v6-only, en plus d'être visible par seulement un internaute sur 300, n'est même pas trouvable par Google (et probablement encore moins par les autres moteurs de recherche). Mais bon, il y a toujours des gens sur Internet pour faire des choses bizarres, donc cela existe forcément. La difficulté, c'est de les trouver.

J'ai essayé de dépouiller automatiquement les 1200 premiers (enfin, derniers, i.e., plus récents) sites de cette liste de sites Web accessibles par IPv6, mais la difficulté est que si on trouve bien une centaine de domaines n'ayant qu'une adresse IPv6, il s'agit le plus souvent d'une simple copie du domaine accessible ailleurs en IPv4 (comme j'en ai donné l'exemple pour ipv6.google.com). J'ai bien réussi à trouver un ou deux sites apparemment vraiment accessibles uniquement en IPv6, mais la moisson est très décevante.

(Fort logiquement, le lien précédent est lui-même accessible uniquement via IPv6. Si vous ne pouvez pas y aller, vous ne ratez pas grand-chose puisque, de toute façon, vous ne pourrez pas non plus consulter les liens qui s'y trouvent, et que de toute façon ils n'ont aucun intérêt. M'enfin, si vous voulez vraiment voir la liste, essayez d'ajouter .ipv4.sixxs.org à la fin du nom de domaine, c'est-à-dire après .org.)

On peut donc dire qu'il n'y a, actuellement, essentiellement aucun site Web accessible uniquement en IPv6. La question est : quand y en aura-t-il vraiment ? (Il y avait eu des gens qui avaient envisagé de prendre d'énormes quantité de porno et de les rendre accessibles gratuitement mais uniquement sur IPv6, histoire de motiver les internautes à demander un accès IPv6 à leur fournisseur d'accès. Je ne sais pas pourquoi ce projet a, euh, capoté.)

On peut espérer que le fait que l'Asie n'ait plus d'adresses IPv4 poussera un peu ce genre de sites à se créer. J'imagine que ce qui va arriver à l'avenir le plus souvent, à part pour des boîtes assez riches pour se payer à prix d'or une IPv4 grapillée quelque part, c'est que des sites auront un serveur accessible en IPv6 et publieront un enregistrement DNS IPv4 (A) vers une machine proxy qui acceptera les requêtes HTTP en IPv4 et les transmettra en IPv6 vers le vrai serveur (un peu comme fait SixXS, mais en conservant le nom de domaine). Du coup, ces sites seront bien accessibles en IPv4 comme en IPv6, mais la connexion sera bien meilleure en IPv6, et il faut espérer que c'est ça qui motivera les gens à bouger. Et évidemment, quelqu'un finira par décider de se passer de ce service de proxy forcément coûteux et malcommode. Mais dans combien de temps ?

En attendant, les choses bougent lentement : environ 9.5% des réseaux autonomes dans le monde (11% en Europe et 18% en France) avertissent un préfixe IPv6. Les fournisseurs ADSL (et fibre optique) français s'y mettent lentement ou le promettent maintenant pour « bientôt ». Pour la téléphonie mobile, en revanche, je crois qu'il va falloir retenir sa respiration encore un bon moment (mon téléphone mobile, comme sans doute tous les Android récents, et j'imagine aussi les iPhone, gère parfaitement IPv6, mais avant qu'Orange ait ça sur son réseau…).

[#] En fait, la totalité des sites de Google est accessible en IPv6, et depuis bien longtemps, mais ils ne publient pas ces adresses par le DNS, sauf si on (on étant ici l'administrateur d'un réseau suffisamment gros pour que Google ait envie de leur parler) leur assure qu'il n'y aura pas de problème à les recevoir. Autrement dit, quand on interroge les serveurs DNS de Google pour connaître l'adresse de www.google.com, on ne reçoit que les adresses IPv4 sauf si on a été spécialement « whitelisté ». Un particulier comme moi n'a pas moyen de se faire whitelister, donc je contourne le problème en interrogeant, pour le domaine google.com (ainsi que youtube.com, gmodules.com, gmail.com et 1e100.net), les serveurs DNS de Hurricane Electrics (dans la config BIND, ça ressemble à : zone "google.com" { type forward; forwarders { 74.82.42.42; 2001:470:20::2; }; }; — et de même pour les autres domaines cités), ce qui me permet d'avoir tout Google, GMail et YouTube en IPv6 sous le nom normal (et depuis, la majorité du trafic IP échangé par ma machine est v6). Je regrette juste que Google ne fournisse pas un tel serveur DNS spécial et que je doive passer par ceux de HE.

(vendredi)

Petit cours sur les trous noirs : (I) introduction à la relativité

Comme je l'ai promis il y a déjà un moment, je voudrais tenter de faire, au cours de prochaines entrées, un petit cours sur les trous noirs. Comme toujours, je vais tenter de faire une présentation de sorte qu'elle apporte quelque chose quel que soit le niveau de connaissance préalable du lecteur (i.e., que ma maman puisse en comprendre des bouts sans pour autant que ça ennuie les gens plus compétents), et comme d'habitude je vais probablement échouer pathétiquement dans ce but impossible. Par ailleurs, comme je ne finis jamais ce que je commence (ne serait-ce que parce que mon intérêt est très volatile), tout ceci va certainement terminer en queue de poisson, mais ce n'est pas une raison pour ne même pas commencer.

Pour continuer dans les disclaimers, je dois rappeler que je ne suis pas physicien mais mathématicien. Ce qui m'intéresse dans un trou noir, ce n'est pas tant la physique réelle, c'est la physique idéale ou les mathématiques. Je ne parlerai donc qu'en passant de la réalité des trous noirs dans l'Univers (par exemple, de quelle manière dont ils se forment, quelles masses ils peuvent avoir, s'ils ont des disques d'accrétion, et encore moins des autres objets voisins des trous noirs comme les étoiles à neutrons, et je n'évoquerai pas du tout les trous noirs quantiques ou l'évaporation de ceux-ci ou ce genre de choses) : je ne suis pas spécialement compétent à ce sujet, il y a d'excellents articles de vulgarisation à ce sujet un peu partout sur le Web, et je ne peux que renouveler ma recommandation de lire le livre de Jean-Pierre Luminet, qui est vraiment excellent. Par exemple, un des objets dont je devrais parler en même temps que les trous noirs, ce sont les trous blancs : or ces objets, très vraisemblablement, n'existent pas du tout physiquement, parce qu'ils sont thermodynamiquement instables (je vais en dire un mot, et je vais expliquer très sommairement pourquoi, « à la place » du trou blanc, dans le monde réel, il y a une sorte de photo gelée de l'étoile mourante qui a donné naissance au trou noir) ; mais ils sont mathématiquement intéressants, parce que toute l'élégante symétrie des trous noirs impose de regarder aussi leur facette « trou blanc », et la vidéo que j'ai produite récemment, qui montre un observateur en train de tomber dans un trou noir et de ressortir par un trou blanc, relève de ce genre d'intérêt mathématique plutôt que physique. Bref, je vais plutôt chercher les expériences de pensées que les phénomènes réels. (À ce sujet, si je dois recommander un livre à d'éventuels lecteurs mathématiciens qui seraient intéressés par la relativité générale, c'est le livre The Geometry of Kerr Black Holes de Barrett O'Neill, qui m'a été d'une aide précieuse pour produire mes vidéos ; mais il est, pour le coup, vraiment purement mathématique, et ne suggère aucune expérience, fût-elle de pensée, pour aider à « décoder » la façon dont les trous noirs apparaissent.)

Je vais, au passage, chercher à dissiper certains mythes sur les trous noirs, et tâcher de répondre à répondre à des questions du type que verrait-on si… ?, en soulignant l'importance de certains aspects pas forcément très médiatisés des trous noirs, comme les sphères de photons.

Tout ceci étant dit, de quoi s'agit-il ? Un trou noir, même ma maman sait ça, c'est un objet tellement compact que la gravitation fait que rien ne peut s'en échapper, même pas la lumière. Ceci mérite déjà un certain nombre d'éclaircissements.

D'abord, la gravitation n'est pas magiquement plus forte pour des objets de type « trou noir ». Pour être bien clair : si le soleil était remplacé par un trou noir de la même masse au même endroit, cela ne perturberait pas les orbites du système solaire (cela perturberait certainement d'autres choses, à commencer par la vie sur Terre, faute de lumière apportée, mais la mécanique céleste continuerait de façon inchangée) : les planètes ne seraient pas aspirées par le trou noir. En fait, c'est un fait assez remarquable que, pour un objet sphérique (ce qui est avec une bonne approximation le cas du soleil, et d'un trou noir qui tourne lentement), la gravitation qu'il produit dépend uniquement de sa masse et de la distance à laquelle on l'observe : une sphère pleine immobile, une sphère creuse idem, un trou noir de Schwarzschild ou n'importe quoi d'autre qui ait une symétrie sphérique, pour une masse et une distance données, produisent exactement les mêmes effets. Et à moins de s'approcher vraiment de la région où le trou noir est trou noir, ces effets sont décrits en bonne approximation par les lois de Newton (d'ailleurs, avec la bonne interprétation, c'est même le cas à n'importe quelle distance des trous noirs de Schwarzschild). Du coup, si le trou noir a un effet gravitationnel si important, c'est tout bêtement si, et parce que, on s'en approche de très près ; et si c'est possible, c'est parce que l'objet est très compact. Voici qui devrait rendre la chose déjà moins mystérieuse. Pour fixer les idées, pour faire un trou noir avec un objet de la masse de la Terre, il faut la concentrer dans un rayon de 9mm : il n'y a rien de très mystérieux au fait que, si on avait toute la masse de la Terre concentrée à une distance de moins d'un centimètre de nous, on sentirait quelque chose d'assez violent, puisque, d'après ce que je viens de dire, déjà à 6400km cette masse produit les effets gravitationnels que nous ressentons au sol.

(vendredi)

Quelques résultats scientifiques

J'évoquais hier le fait que je travaillais sur deux questions à la fois : voici que ces deux questions se sont reliées de façon inattendue, chacune apportant la solution de l'autre. À savoir :

L'idée-clé de la démonstration du premier fait est d'associer à chaque zéro de la fonction zêta une démonstration dans un certain système formel 魚 (un peu compliqué à définir) : si le zéro ne se trouve pas sur l'axe critique, la démonstration prouvera ⊥ (i.e., une contradiction) dans ce système formel 魚 ; a contrario, si une contradiction se trouve, alors on peut l'utiliser pour produire des zéros non situés sur l'axe critique. Donc, l'hypothèse de Riemann équivaut à la consistance du système formel en question. Encore faut-il pouvoir en dire quelque chose ! C'est là qu'intervient le second point : ce système formel peut se voir, en fait, comme lié un protocole cryptographique 𓆛 (là aussi, les détails sont un peu compliqués) tel que prouver la sécurité du protocole 𓆛 revienne exactement à prouver la contradiction du système formel 魚. Or il est relativement facile de ramener la sécurité du protocole 𓆛 à la difficulté de la factorisation des entiers. Reste la dernière pièce du puzzle : ce protocole peut se voir comme un jeu à deux joueurs et, interprété dans le cadre de la théorie des jeux à la Conway, il définit naturellement un ordinal, qui se décrit comme l'écrasement d'un certain grand cardinal que j'appelle icthy un (c'est le premier d'une famille infinie), et qui mesure précisément la force du système formel 魚. Tout tombe donc dans ZFC augmenté de l'hypothèse le cardinal icthy un existe, et si on croit à cette hypothèse, les résultats ci-dessus sont démontrés.

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


Entries by month / Entrées par mois:

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