David Madore's WebLog: 2015-03

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 March 2015 / Entrées publiées en mars 2015:

(mardi)

Petites théories du complot entre amis

Récemment, pendant que je faisais de la muscu, j'ai entendu deux mecs (d'environ 25–30 ans, je dirais) discuter entre eux et tenir à peu près ce discours (je paraphrase, bien sûr, parce que je n'ai pas retenu leurs mots exacts, mais j'espère ne pas trop déformer) :

— [Le premier :] Ils nous disent que l'avion s'est désintégré en touchant le sol. Mais un avion comme ça, quand il descend trop bas, il sort automatiquement le train d'atterrissage. Tu sais pourquoi ils nous disent ça ? Parce qu'Airbus c'est une compagnie espagnole, allemande et française ; et là, l'avion, il allait d'Espagne en Allemagne et il s'est écrasé en France. Alors comme ils ne veulent pas qu'on soit au courant des problèmes dans leurs appareils, ils chargent le copilote, qui, forcément, n'est plus là pour se défendre.

— [Le second :] C'est comme le pic de pollution. Ils disent que c'est les voitures, mais ils nous prennent vraiment pour des cons. Tu as vu le temps qu'il faisait ? C'est sûr, il y a un truc qui a pété quelque part, et ils ne veulent pas qu'on le sache. C'est le nuage d'un truc qui a pété quelque part.

Visage-palme !

(Pour ceux qui vivent ailleurs qu'en Europe, ou qui ont passé quelques mois dans une grotte, ou qui me lisent depuis un avenir plus ou moins lointain — ou pourquoi pas, avec une boule de cristal, depuis un passé lointain —, voici des liens pour comprendre à quoi fait référence le premier et le second.)

Voilà qui me ramène un peu à la réalité : j'ai trop tendance à fréquenter des gens qui ont tendance à n'être ni des idiots ni des crackpots, et à oublier que ce genre de connerie existe. Je me suis éloigné avant qu'ils se mettent à parler des élections, c'est sans doute mieux.

(Pour sa défense, le second dans le dialogue ci-dessus dit peut-être moins de conneries que le premier : il est vrai que le pic de pollution aux particules fines des dernières semaines avait des causes multiples, et pas seulement la circulation automobile : épandage d'engrais azotés par les agriculteurs, pollution due aux usines à charbon allemandes et polonaises voyageant grâce à un vent d'est, émissions de dioxyde de soufre pouvant ensuite former du sulfate d'ammonium, et bien sûr une météo anticyclonique avec des matins froids et humides, défavorable à la fois à la nucléation de nuages par les particules et à leur convection verticale dans l'atmosphère. Ceci dit, il est aussi vrai que la circulation automobile, notamment les diesels et les freins, y participe, en Île-de-France, de manière absolument pas négligeable, même si personne ne semble savoir exactement combien ; et je ne crois pas que qui que ce soit ait affirmé que c'était uniquement la faute de la circulation ; et en tout cas, c'est du pur délire de penser qu'un truc a pété quelque part. Quant à la répugnante thèse du premier, elle se passe simplement de commentaires. D'habitude, les deux mecs en question commentent plutôt les matchs de foot récent et analysent les raisons pour lesquelles telle-ou-telle équipe a fait moins bien que telle-ou-telle autre : je n'y connais rien du tout, mais je vais maintenant avoir tendance à me demander si leurs analyses — notamment quand ils parlent de la mauvaise qualité de l'arbitrage — sont du même calibre que celles que je rapporte ci-dessus.)

Bon, c'est un peu terrifiant, parce qu'on se dit que si les gens sont prêts à croire à ce genre de choses, on s'inquiète de ce qu'un homme politique pourrait leur faire avaler selon le mode on vous ment !. (J'avoue : j'ai toujours eu un petit faible pour la méta-théorie du complot selon lesquelles toutes les théories du complot sont inventées par un petit groupe de personnes qui veulent contrôler le monde en faisant croire aux gens les conneries les plus invraisemblables de façon à déstabiliser les démocraties.)

Mais il y a aussi un côté fascinant à la dynamique sociologique et psychologique des croyances de ce genre. Comme l'invocation du proverbial ils (la troisième personne du pluriel indéfinie et nébuleuse, qui se réfère aux Powers That Be plus ou moins mystérieuses) dans ils ne veulent pas qu'on sache, ils veulent nous faire croire, ils nous prennent pour des cons, qui font partie des signes d'alerte à la théorie du complot. Et la volonté de briller par son expertise en montrant qu'on est plus savant et moins crédule que le mouton moyen qui avale ce que le proverbial ils veut lui faire croire. (Et d'où, comme je le disais, le niveau méta où on écrit une entrée sur son blog pour montrer qu'on est plus savant et moins crédule que le crackpot moyen qui avale ce que le créateur-de-théories-du-complot veut lui faire croire. 😉)

En fait, ce qui est peut-être le plus épatant, c'est finalement que les gens croient que les autorités (ou je ne sais qui ils mettent derrière le ils proverbial) sont doués pour mentir, alors qu'on a plutôt tendance à les trouver incompétentes pour faire quoi que ce soit. Et de fait, quand on voit le nombre de mensonges grossiers et absolument pas crédibles que des gouvernements ou d'autres pouvoirs ont tenté de faire avaler à leurs administrés, je me dis que l'incompétence est une explication bien plus crédible que la malveillance quand jamais les deux se proposent. (Il faut dire aussi que les légendes urbaines peuvent déformer tous les aspects de la réalité pour créer des théories du complot : par exemple, une rumeur persistante veut qu'on ait affirmé aux Français que le nuage radioactif de Černobyl n'avait pas traversé les frontières — or non seulement personne n'aurait cru ça sérieusement une seule seconde, mais personne ne l'a jamais vraiment affirmé, il n'y a eu que des affirmations beaucoup plus nuancées, et pas forcément fausses, qui ont été déformées en un mensonge aussi caricatural.)

(mercredi)

Comment recevoir un colis

J'achète énormément de choses en ligne (des livres, des DVD, des fringues, des gadgets électroniques, des sex-toys, des fournitures de bureau…). Ma banque me fournit des numéros de carte bancaire jetables (à usage unique) et bloqués (autorisés pour un certain montant seulement), ce qui apaise mes inquiétudes à ce sujet (au pire, si le marchand est un escroc complet, je perdrai le montant de la transaction, et comme je n'achète jamais rien de vraiment cher, ce n'est pas très grave). Pour ce qui est de recevoir du spam, je crée des adresses mail dont l'usage est réservé à un seul expéditeur. Il reste cependant un dernier point noir avec le commerce en ligne : la réception des marchandises.

Quand j'achète sur un site français (ou plus exactement, chez un site qui expédiera depuis la France, ce qui n'est pas toujours évident à savoir a priori ; généralement, je prends la peine de consulter la base de données Whois du domaine Web pour savoir un peu à qui j'ai affaire, et notamment dans quel pays ils sont basés), les choses ne sont pas trop compliquées. Typiquement, ils vont proposer le choix entre différents modes de livraison par La Poste (comme Colissimo®, avec ou sans signature) et la livraison contre signature dans un point-relai opéré par un distributeur privé (comme Kiala®). J'ai tendance à préférer cette dernière option (il faut dire qu'à Paris les points-delais, quel que soit le réseau, sont assez denses — même si bien sûr on préférerait qu'ils arrêtassent de se séparer stupidement le marché et fournissent un réseau encore plus dense). Mais si le site est étranger, la question à 100 zorkmids est toujours : par quel moyen mon colis va-t-il finalement arriver ? Les sites américains (enfin, les rares sites Web américains de vente en ligne qui ont entendu parler de l'existence d'un monde en-dehors des frontières de leur pays) aiment bien faire appel à UPS ou FedEx, dont les tarifs sont facilement exorbitants, alors que l'USPS a des offres tout à fait raisonnables pour les envois de peu de valeur et peu pressés (et avec le bonus supplémentaire que les douanes françaises n'inspectent généralement pas les colis qui transitent par USPS). Mais au moins, on sait à quoi on a affaire : un colis expédié par USPS sera, in fine, remis par La Poste en France (toujours sans signature, à ce qu'il semble), tandis que si c'est UPS ou FedEx, ce sont leurs agents locaux (et toujours contre signature). Parfois, ce n'est pas aussi clair.

Petite anecdote.

Récemment, j'ai commandé des foobars bleutés sur un site Web allemand. Enfin, je croyais que c'était un site allemand : j'ai bien vu qu'il avait des versions en plusieurs langues (anglais, allemand, néerlandais), j'ai consulté le Whois, il y avait plusieurs contacts, en Allemagne et aux Pays-Bas, j'ai supposé un peu au pif que c'était plutôt une boîte allemande que néerlandaise et j'ai utilisé la version allemande du site (dans la mesure où il s'agit de langues que je sais lire — anglais, français, allemand, néerlandais, italien… — je vais systématiquement chercher à utiliser ce qui me semble être la langue originale, parce que j'ai horreur des mauvaises traductions). En fait, il s'avère que l'entreprise expédie depuis les Pays-Bas. Les postes néerlandaises ont une réputation qui m'aurait peut-être incité à me méfier.

La boîte a mis un certain temps à m'expédier mes foobars bleutés. (En fait, il est importé des États-Unis : j'aurais pu commander directement auprès du fabricant, mais je n'avais rien contre, a priori, le faire auprès d'une boîte européenne, surtout si ça peut servir à mutualiser les frais de transport transatlantique. Ce n'est pas vraiment le sujet ici.) Ils m'envoient un lien de suivi chez PostNL : très bien. Sauf que le jour donné, le lien en question affiche juste envoi non délivré — destinataire absent (enfin, zending niet afgeleverd — geadresseerde niet aanwezig). Moi j'étais présent toute la journée, et je n'ai par ailleurs rien reçu dans ma boîte aux lettres, ni le colis (normal), ni d'indication comme quoi il ne m'a pas pu être livré et je peux aller le chercher ici ou là, ou appeler à tel numéro pour convenir d'un rendez-vous, ni quoi que ce soit. J'attends deux jours pour voir s'ils tentent d'eux-mêmes une nouvelle livraison (parfois on ne met pas d'avis de passage parce qu'on va réessayer), mais rien de nouveau.

Et l'ennui, c'est que je n'ai, à ce moment-là, aucune idée de qui a mon colis. Et j'ai fini par le savoir, mais vraiment par miracle. Ne sachant pas qui livre en France les colis de PostNL, je me suis dit que j'allais à tout hasard demander à La Poste s'ils le savaient : je veux donc imprimer la page de suivi, et je remarque que la version PDF de celle-ci porte une référence que la version HTML n'avait pas, un second numéro de suivi, référence précédée de l'indication netwerkpartner barcode (quelque chose comme : code-barre pour notre partenaire réseau). J'essaie d'entrer ce numéro-là sur le site de suivi de La Poste, sans succès. Je fais quelques recherches dans Google (en français et en néerlandais) pour savoir quel est le netwerkpartner de PostNL pour la France, et je suis tombé sur un certain nombre de pages (comme celle-ci) qui se plaignent du transporteur ColisPrivé (dont j'avais sans doute déjà entendu parler, mais guère plus). De fait, si j'entre le second numéro de suivi sur le site Web de ColisPrivé, il reconnaît mon colis, me permet de préciser mes coordonées pour donner un numéro de téléphone et une adresse mail, et surtout de convenir d'un nouveau rendez-vous pour la livraison. Enfin, en principe j'avais le choix entre livrer dans un relais Kiala (ce que j'aurais préféré) et rendez-vous chez moi (par journées entières, ne rêvons pas), mais le site prétendait qu'il n'y avait aucun relais Kiala à Paris, ce dont je doute fortement. Toujours est-il que j'ai fini par recevoir mes foobars bleutés — au prix de quelques jours de retard, et de devoir patienter une nouvelle fois chez moi.

Mais si je n'avais pas eu l'idée de regarder la version PDF de la page de suivi fournie par PostNL, et d'essayer de trouver quel était le transporteur côté français, et d'essayer le second numéro de suivi caché dans le PDF sur le site de ColisPrivé, mes foobars bleutés seraient retournés à l'expéditeur.

La faute en est évidemment en partie à ColisPrivé, dont le livreur a décidé que j'étais absent alors que c'était faux, et sans même prendre la peine de mettre un avis de passage dans ma boîte aux lettres. Et pour ne pas être capable de proposer un point-relais où chercher le colis, ni d'offrir un rendez-vous sur un créneau plus précis qu'une journée entière. Mais elle est aussi à PostNL pour avoir choisi ce partenaire côté français, et pour ne pas afficher sur ses pages de suivi ni l'identité de ce partenaire ni le numéro de suivi pour lui. Quant au commerçant, je ne sais pas dans quelle mesure il avait vraiment le choix du transporteur (par exemple, y a-t-il moyen depuis les Pays-Bas de faire livrer un colis vers la France de façon que ce soit La Poste qui le livre côté français ? si PostNL a choisi de faire affaire avec ColisPrivé, ce n'est pas gagné) ; mais il aurait pu au moins faire l'effort de me dire clairement qui allait livrer (au moins de leur côté, PostNL, et en faisant un tout petit effort, côté pays de destination).

Toujours est-il qu'il faut se méfier.

(Sinon, il y a toujours l'option, que mon poussinet me souffle très fort, de me faire livrer au bureau — où il est vraiment difficile de prétendre qu'il n'y a personne. Reste qu'outre les scrupules s'il s'agit de sex-toys de DVD documentaires animaliers, je ne sais pas trop ce qui se passe s'il y a des droits de douane à payer, par exemple.)

(samedi)

Comment lire un diagramme d'éclipse ?

[Diagramme de l'éclipse du 2015-03-20]Si vous avez cherché à vous renseigner précisément sur l'éclipse solaire qui a eu lieu hier, ou sur quelque éclipse solaire que ce soit, vous êtes certainement tombé sur un diagramme tel que celui ci-contre (cliquez pour agrandir) et que je tire en l'occurrence d'un site de la NASA [note : l'image est dans le Domaine Public, comme le sont généralement les productions des organismes du gouvernement fédéral des États-Unis], on trouve aussi l'image centrale sur Wikimedia Commons. L'apparence de la carte n'est pas toujours la même (regardez notamment la forme des courbes rose / magenta, qui est une des choses dont je veux parler) : comparez par exemple les diagrammes pour l'éclipse solaire totale du 2016-03-09, l'éclipse solaire partielle du 2018-02-15, l'éclipse solaire annulaire du 2019-12-26, l'éclipse solaire hybride du 2031-11-14 et l'éclipse solaire totale du 2041-04-30 (regardez bien la forme de la courbe magenta de gauche : elle est séparée de celle de droite, et elle a un nœud) — ces exemples donnent une idée de la diversité des formes possibles.

Je ne peux pas tout expliquer parce qu'il y a des choses que je ne sais pas exactement, ou même si je devine quelque chose, je n'en suis pas sûr et je ne sais pas forcément le dire de façon simple. Par exemple, la magnitude d'une éclipse est définie notamment sur Wikipédia comme la proportion recouverte par la Lune du diamètre angulaire du Soleil selon l'axe qui relie les centres géométriques des deux astres, sauf que Wikipédia se contredit immédiatement en disant que pendant une éclipse totale cette quantité peut dépasser 1 (alors qu'une proportion de diamètre recouverte, elle ne va certainement pas dépasser 1), et de même, cette page donne deux définitions adjacentes qui ne sont pas compatibles l'une avec l'autre, avec une phrase bizarre (this could also apply to a total solar eclipse : il faudrait savoir, on utilise quoi ? si mes spéculations ci-dessous sont correctes, il faut simplement ignorer cette parenthèse) ; du coup, je ne sais pas avec certitude quelle est la définition exacte. L'astronomie est pleine de petites subtilités comme ça où on peut assez bien comprendre l'idée générale, mais dès qu'on commence à couper les cheveux en quatre on n'y comprend plus rien.

Si des gens veulent couper les cheveux en quatre avec moi pour cette histoire de magnitude d'une éclipse, voici comment je vois les choses : mettons qu'on mette des coordonnées affines sur la droite reliant les centres géométriques du Soleil et de la Lune de sorte que les deux bords du Soleil aient les coordonnées 0 et 1, et ceux de la Lune a et b (je peux bien sûr supposer a<b). Il semble que si 0<a<1<b (situation d'éclipse partielle, donc), la magnitude de l'éclipse vaille 1−a (ce qui colle bien à la fois avec la définition donnée par Wikipédia et la première formule de la page néerlandaise citée ci-dessus) ; et si 0<a<b<1 (éclipse annulaire), on doit utiliser la formule ba (ce qui colle à la fois avec la définition de Wikipédia et la seconde formule de la page citée ci-dessus). Pour des raisons de symétrie, si a<0<b<1, la magnitude doit valoir b. Les formules 1−a et b respectivement peuvent encore resservir dans les cas où 0<1<a<b et a<b<0<1 respectivement (pas d'éclipse), ce qui colle avec la première formule de la page néerlandaise mais pas avec la définition de Wikipédia qui dit juste 0 (pour se contredire après en parlant des near miss). La question est surtout de savoir quelle formule prendre si a<0<1<b (éclipse totale), et je pense que la bonne formule est, en fait, min(1−a, b) (qui se recolle continûment avec les autres formules), ce qui coïncide effectivement avec la première formule (½ + ½(ba) + |½(a+b) − ½|) donnée par la page néerlandaise, pas la seconde (ba), qui causerait des discontinuités. Tous ces cas se rassemblent sous une seule formule : min(1−a, b, ba) (toujours sous la condition a<b). Maintenant, je ne sais pas s'il y a une façon simple de le dire (le mieux que je trouve est : la plus petite des mesures (algébriques) des trois intervalles, portées sur le diamètre solaire passant par le centre géométrique de la Lune, entre le bord gauche du Soleil ou de la Lune, et le bord droit du Soleil ou de la Lune, au moins l'un des deux bords devant être celui de la Lune). Toujours est-il que c'est un exemple de ce qui m'énerve souvent en astronomie, les définitions approximatives qu'on ne sait pas comment prolonger à tous les cas.

Pour les généralités sur les éclipses (la notion de ligne des nœuds, de mois et d'année draconitiques, de saros, etc.), je renvoie à cette vieille entrée. Ici, je veux parler avant tout des figures comme ci-dessus, et de l'aspect géographique des éclipses. Je me contenterai donc de rappeler, à tout hasard, que le cône de pénombre à un instant donné est le cône des points de l'espace d'où on voit le Soleil partiellement éclipsé par la Lune, c'est-à-dire le cône tangent simultanément au Soleil et à la Lune dont le sommet est entre les deux, tandis que le cône d'ombre est celui des points d'où on voit le Soleil totalement éclipsé, c'est-à-dire le cône tangent simultanément au Soleil et à la Lune dont le sommet est situé approximativement au niveau de la Terre, la partie située de l'autre partie de ce cône étant le cône d'annularité, qu'on peut aussi considérer comme faisant partie du cône d'ombre. Venons-en à la figure. Sous réserve d'erreurs et d'incomplétudes de ma part, donc :

Voir aussi cette page pour une description des sigles divers et variés utilisés dans les cartes.

J'aimerais bien faire un programme qui calcule ce genre de diagrammes (il ne semble pas en exister qui soit libre), mais je n'ai vraiment ni le temps ni la patience pour ça.

D'autre part, je n'ose même pas essayer d'imaginer à quels endroits j'ai fait la supposition abusive que la Terre est sphérique, ou que la vitesse de la lumière est infinie, et ce qu'il faut changer (if anything) quand on ne le suppose plus.

[#] Exemple : ce que je crois avoir compris (et que j'explique ci-dessus), c'est que la courbe magenta passant par P1 est la courbe des endroits où le point du Soleil éclipsé en premier par la Lune se situe au niveau de l'horizon quand ceci se produit (i.e., le point du Soleil par lequel l'éclipse commence se lève justement quand l'éclipse commence). Mais je peux aussi considérer la courbe des endroits où le point le plus bas du Soleil au niveau de l'horizon au moment où l'éclipse commence (i.e., le Soleil finit de se lever quand l'éclipse commence), ou bien où le point le plus haut du Soleil au niveau de l'horizon au moment où l'éclipse commence (i.e., le Soleil commence à se lever quand l'éclipse commence), ou encore où le centre géométrique du Soleil au niveau de l'horizon au moment où l'éclipse commence (i.e., le Soleil se lève astronomiquement quand l'éclipse commence). Ceci fait quatre courbes différentes, les deux premières passant par P1. Et puis je peux considérer les mêmes choses en remplaçant quand l'éclipse commence par quand l'éclipse finit ou quand l'éclipse atteint son maximum (ça ça ne fait que trois courbes). Donc j'ai défini onze courbes différentes d'éclipse au lever du Soleil, et franchement, je me mélange un peu entre elles, parce que je n'y vois pas grand-chose. Mais aucun texte d'astronomie ne semble s'exprimer suffisamment clairement pour qu'on puisse vraiment être sûr que j'ai bien identifié laquelle de mes onze courbes, ou du moins des deux passant par P1, est celle marquée en magenta.

(Friday)

Why English sucks as the language for international and scientific communication

For a change, I'll be writing this entry in English—ironically because my point is to argue how English is a terrible choice as a language for international communication, and particularly in scientific and technical fields. (I initially intended to also publish a translation into French, and/or perhaps Interlingua, but on second thought my laziness has persuaded me to pass.) I should start with a few clarifications.

One is that I honestly don't think I am prejudiced against English. While English is technically not my first language, since I only learned it at age 8, or my mother tongue, it is literally my father tongue, the language in which I communicated with my father through most of my childhood and adolescence (now that my father is rather deaf and has difficulty articulating, we tend to speak French instead, for the phonetic reasons that I am about to point out below). English is not just a language which I read and write with pleasure, speak and understand in spoken form, it is also one in which I often phrase my own internal thoughts, especially when doing math, and in which I dream: so it is definitely not alien to me.

Verily, I am in love with it. English is a beautifully poetic language, capable of summoning vibrant images, crafting rousing speeches, conveying powerful emotions. And the wonder of it is that it empowers even the less talented. When English is wielded by the greatest of the great, by the hallowed likes of Shakespeare or Nabokov, when reinvented by Whitman and Joyce, it comes as no surprise that it can inspire awe: it doesn't take a diamond to shine in the hands of a star. But English is so manifold in its modes of expression, so opulent in possibilities, so richly laden with quaint words and nearly frivolous idioms, so mirthfully malleable, that even a lesser pen can reveal itself in its gleam. If some languages seem arid, English is their polar opposite: English is bountiful and ornate, English is a cornucopia of synonyms, a mine for metaphors, a fountain for apothegms, a luscious garden for the poet; each idea can be expressed through a whole gamut of terms, and from each word sprouts a rainbow of meaning. Quite bewildering—and quite the reason why English is a poor choice when it comes to precise communication on mundane matters, when poetry is not of the essence.

I am not trying to argue that we should now give up English for international or scientific communication, or try to replace it with this or that other language (except possibly in a limited way, e.g., see below on Basic English). I am not proposing to use Interlingua, Esperanto, Latin, Italian, Chinese, Russian, or anything else: I am maybe saying that we should have used Interlingua, Esperanto, Latin, Italian, Chinese, Russian, or something of the sort (probably any of the above would have been better than English) in the first place. That we (as a “global” civilization) have been stupid, bewitched or misguided. That we should realize this, even if it is now too late to correct our mistake, and perhaps reflect on the reason why we made it. (But I will not do this—at least not here and now.) Even if we can't fix things, even if we can't prevent similar bad choices from being made in the future, we should at least be aware of them, to contemplate our idiocy and keep in mind that collective decisions are not necessarily the wisest ones. (Memento, homo, quia stultus es, et in stultitia remanebis.) So, again, I am not suggesting a switch away from English; I will, on the other hand, make a few modest proposals (one for each major flaw that I find with English) that could alleviate the problem—I am well aware that even these less radical proposals have infinitesimal chances of begetting anything concrete, but their chances are perhaps less infinitesimal than if I were to suggest using Interlingua instead of English.

There is also, of course, the issue of how unfair the dominance of English is to all the peoples of the Earth of whom it is not the first language. How not being raised from the start in the global lingua franca makes them second-class citizens, or even third-class ones if they cannot communicate in it at all. How, contrariwise, native English speakers can find an opportunity of employment pretty much anywhere in the world by teaching English. How, even among non native speakers, a good knowledge of the global language constitutes a cultural capital that impedes social mobility for those who lack it. This is something that would be equally true had any language other than English been chosen as “Globish” (perhaps choosing a constructed language would avoid some of the aforementioned problems, but at the cost of others), so it is orthogonal to the specific problems with English that I wish to discuss here; this unfairness is also something that probably cannot be remedied, but that we should still keep in mind. (And, more importantly, it is a fact which we should not deny or ascribe to an irrational rejection of English.) I plan to discuss this aspect of things some other time (viz., probably never).

So, on to English specifically (and linguistically). What, exactly, is wrong with it? I see essentially three things: its vocabulary is too abundant, its syntax is highly ambiguous, and its pronunciation is unclear.

Its vocabulary is too abundant. This comes, in great part, from English being a Frankenstein-monster kind of hybrid between a(n Anglo-Saxon) Germanic substratum and good measure of (Norman) French. As a matter of fact, English is almost a superset of French, because we can look up practically any French word in the OED and find some recorded use of it in English. Now maybe the OED is an unfair (as in: absurdly large) metric of English's lexicon, since it includes inscrutable (to modern English speakers) Anglo-Saxon words or other historical oddities, hapaxes (or words for which they failed to find a single recorded instance and which somehow still ended up in the book, like palumbine—an adjective which means to a pigeon what canine is to a dog), highly specialized terms and other things nobody ever says or writes. Nonetheless, it is true that English often has a redundancy in its vocabulary due to its double Saxon and Norman origins: Wikipedia has a page about this, of course—actually, quite appropriately, it has two—and the fact is also famously noted by Sir Walter Scott in the beginning of Ivanhoe:

The swine turned Normans to my comfort! quoth Gurth; expound that to me, Wamba, for my brain is too dull, and my mind too vexed, to read riddles.

Why, how call you those grunting brutes running about on their four legs? demanded Wamba.

Swine, fool, swine, said the herd, every fool knows that.

And swine is good Saxon, said the Jester; but how call you the sow when she is flayed, and drawn, and quartered, and hung up by the heels, like a traitor?

Pork, answered the swine-herd.

I am very glad every fool knows that too, said Wamba, and pork, I think, is good Norman-French; and so when the brute lives, and is in the charge of a Saxon slave, she goes by her Saxon name; but becomes a Norman, and is called pork, when she is carried to the Castle-hall to feast among the nobles; what dost thou think of this, friend Gurth, ha?

It is but too true doctrine, friend Wamba, however it got into thy fool's pate.

Nay, I can tell you more, said Wamba, in the same tone; there is old Alderman Ox continues to hold his Saxon epithet, while he is under the charge of serfs and bondsmen such as thou, but becomes Beef, a fiery French gallant, when he arrives before the worshipful jaws that are destined to consume him. Mynheer Calf, too, becomes Monsieur de Veau in the like manner; he is Saxon when he requires tendance, and takes a Norman name when he becomes matter of enjoyment.

Even beyond the specific explanation of Saxon versus Norman sources, English seems to have a plethora (profusion, abundance, affluence, bounty, myriad, opulence, wealth, surplus…) of synonyms for anything. I don't have a precise measurement for this: but my very unscientific experience that, in writing literature in French, when I look for a synonym, the quest is generally much less fruitful than in English. In French I often have a hard time finding a word that I like: in English I have a hard time choosing a word that I like. And French itself probably has an uselessly large lexicon anyway.

Unlike the—uh—sensible, i.e., lexically agglutinative languages like German, Hungarian, Turkish, Finnish, Japanese or the like, English doesn't allow you to construct your own words (only your own syntagms by juxtaposing words in its quirky ambiguous syntax, see below). You just have to know (i.e., learn) which ones exist. Few suffixes are productive; even those that are suffer from odd exceptions (for example, -ly normally makes an adverb out of an adjective, e.g., happyhappily, but costly is inexplicably an adjective, and there is no way to make it into an adverb: there is no such English word as costlily; why? because fuck you). English vocabulary is a hodgepodge of words randomly imported from various other languages or constructed by arbitrary means and which cannot be analyzed systematically. For example: hodgepodge (neither hodge nor podge exist in English—well, the second exists because English has everything, but doesn't seem related—so you can't explain it, you just have to memorize the freak). Or why does English need to have the absurdly specific and un-analyzable word serendipity (which German might render with the perfectly analyzable Zufallsfund)? or adamant? cantankerous? rigmarole? niggardly? (I chose these examples because these words look like they can be broken down into pieces, but in fact they can't. And they're fairly common: I'm not going to go into cachinnation or—Athena forbid!—the utterly absurd eleemosynary. The only possible answer to the word eleemosynary is go home, English, you're drunk!.) I realize that every language has this sort of things, but English makes it into a perverse art. English is a wanton word hoarder with a fetish for the heirlooms of Papa German and Mama French (or is it the other way around?).

This is very good for poets, surely, and more generally authors of literature. I made this point earlier. But for scientific, technical, or legal communication? not so good. In what way is having a rich vocabulary bad? Let me take an example. A French speaker often can (and sometimes will) write in English by assuming that every slightly complex word they know from French also exists in English: sometimes this fails, either because the words don't exist or because they have a subtly—or grossly—different meaning (the so-called faux amis—this is no more English's fault than it is French's, and not my point here, but it is aggravating). But when it does works, the resulting English will often be replete with rare or unusual words and therefore difficult to read for people not acquainted with French or, at least, some other Romance language. (A bit like saying all articles that coruscate with resplendence are not truly auriferous instead of all that glitters is not gold—not truly an example of what I mean, but the same sort of idea.) My point is this: we can't reject this kind of “Gallicate” English, because it is “correct” English, but asking non French speakers to understand it amounts, in effect, to demanding that they understand French (or at least, French vocabulary). So English fails in much the same way that it would be a failure to decide for a language of international communication to be any random mixture of French and German, at the speaker's whim—surely this would be nice for French and German speakers who wish to be understood, but other people would, in effect, have to learn both French and German to make sense of it. The fact that native English speakers can generally read Interlingua without having learnt it, despite the fact that Interlingua takes its roots from the Romance languages, is a sign that English includes, so to speak, a practically full-fledged Romance vocabulary in its entrails (oh, here's a nice example of Gallicate English: entrails). The situation is somewhat parallel to what we get if we speak, in about any European language, with an excessive use of words made up from Greek roots: hyperhellenic paralexia, if you will; except that English will happily take these words as its own.

Can English's hyperglossia be tempered? Here is at least one modest proposal for a change in the language of international communication: replacing it with a controlled subset. Editors of scientific journals, for instance, might decide to restrict the word set of published papers to something like Ogden's Basic English (plus whatever technical words are required for the field under consideration, e.g., mathematical terms): this can be done in an automated way (or at least, deviations from the restricted vocabulary can be detected automatically). This would demand (very slightly) more effort on the authors' part, especially from native English speakers who might otherwise be tempted to use more sophisticated terms than strictly necessary, but correspondingly lighten the reader's burden: if we truly believe in the stated objective of having English (or some other unique language) as a single permissible vehicle for scientific publication, namely to minimize scientists' effort in learning languages, then surely Basic English is the logical continuation of this effort. (I'm not sure I personally agree with the premise, nor with the conclusion. However, hardliners who insist that it is absurd and senseless to publish scientific papers in anything other than English, and who don't pursue the reasoning all the way to some kind of Basic English, are being inconsistent.) Something of the sort has been standardized in the aerospace industry as Simplified Technical English; other similar subsets of English are Nerrière's Globish and Grzega's Basic Global English. Sadly, no core vocabulary set seems to have been chosen in a very scientific way, but there is no reason it could not be done.

At this point, I should probably mention the interesting experiment that is Toki Pona, a conlang that has a lexicon of merely 120 words (in comparison, Basic English has 850, and the OED has about 300000 main entries), which supposedly can be learnt to the point of fluency in two days. Toki Pona certainly isn't a reasonable candidate for an international language, let alone for scientific or technical communication: it is more like a zen concept of a happy language with a delightful logo; but it should at least encourage us to rethink questions like how many words does a language need? how complicated does it have to be? how long should it take to learn?.

But back to English.

Its syntax is highly ambiguous, In fact, syntax is perhaps a bit too exalted a term for what English has: paratax is more like it. By this I mean that English merely juxtaposes words in a number of situations where many other languages will somehow connect them with a kind of grammatical particle (e.g., conjunction, preposition, postposition, or whatever the language uses).

The most egregious examples of paratax in English are (A) the omission of any kind of connective between modifier nouns and the noun they relate to (e.g., a metal ▢ box, a book ▢ page, a football ▢ player, the village ▢ church, a gift ▢ shop, a police ▢ officer, a syntax ▢ ambiguity, and so on, where the box symbol denotes omission of a connective; note that the underlying relation differs from one example to the other, and might be expressed using different prepositions in other languages); (B) the optional omission of the conjunction that in various subordinate clauses, most typically indirect discourse, especially in informal speech (she said ▢ she would come, I wish ▢ you were there, it's true ▢ it can be done, and so on: here, the box can always be replaced by that), and (C) the optional omission of the relative pronoun when it serves as object in the relative clause (the sentence ▢ she just read, stuff ▢ I made up, and so on: again, the box can be replaced by that, except that now it is a relative pronoun and not a conjunction). The use of the bare infinitive with an oblique pronoun as subject, as a subordinate clause (I hear ▢ him speak—I don't know exactly how English grammarians call this), can also be considered a form of paratax. The problem with these various omissions is that, while they make sentences terser, they also deprive us of valuable clues as to how the sentence should be parsed. Now combine this with English's endless supply of nouns that can also function as verbs (truly unlimited, following the well-known adage that in English, any noun can be verbed), or more generally the number of words that can exist as different parts of speech, a phenomenon known as class ambiguity, not to mention that past participles and preterites often have the same form, and we have a mess.

Newspaper headlines, because they tend to omit even more words (like determiners, and the copula is or are), are even more ambiguous than “ordinary” English, to the point that it has become something of a recurring joke (Police Helps Terrorist Attack Victims, Court to Try Shooting Defendant, Experts Hear Car Talk, Crowds Rushing to See Pope Trample Man to Death, Student Loans Mushroom, the list goes on).

True, the overwhelming majority of English sentences in normal use can only be parsed in a single way, or at least a single way that makes sense. Most examples of truly ambiguous sentences, or initially ambiguous sentences (garden path sentences like the cotton clothing is made of grows in Mississippi) are contrived or improbable. Or at least improbable in any given context (abuse pains!, I see her duck).

If we hear the story told the previous week was true, even though it is, technically, syntactically ambiguous, we know that it should be interpreted as ‹the story [that] was told [during] the previous week› was true, not the story told [≈said] ‹[that] the previous week was true›. (Unless the context calls for it: Ada's story was stirring something in my mind: I had lived so many lies and falsehoods, but not last week—no, last week was different, Ada's words revealed something that I had not dared to hope: these days were not a lie, Ada's words said to me—the story told the previous week was true.) If a scientific paper, say, contains a sentence such as the experiment shows result X is impossible, obviously the meaning is that the experiment shows (proves, demonstrates) that result X is impossible, not that experiment ▢ shows (whatever they may be) result in that X is impossible. And so on. But the fact remains: parsing an English sentence requires more brain effort (be it unconscious) than for a number of other languages that I can think of and which don't have so many ambiguities. (English, of course, is not alone in having ambiguities. I remember, when I was learning Latin, that I could always come up with several alternative ways to analyze a rhetoric period, some of which made more or less sense, and I was often angry when I was told my translation was wrong because it seemed to me that it was defensible and there was no way I could have known that I should have preferred such-or-such other meaning. Eduardum occidere nolite timere bonum est.) Even if this effort is nearly unnoticeable for native/proficient English speakers, it could considerably complicate the task of someone who does not know a word, or who is struggling with the overall meaning because they are not wholly familiar with the scientific field. Conversely, when English is not the author's first language, they might come up with syntactical constructions which have a wholly different meaning than intended; or a simple mistake in a word might turn the entire sentence's syntax upside down. Such features are undesirable, to say the least, in a language used for international communication.

And if it can be bad when both ends of the communication are well-intentioned and cooperative, it is worse yet when they are at odds and actively trying to misinterpret each other's words—typically in matters of international law and litigation. There is the famous case of UN Security Council resolution 242 and the reading of the sentence withdrawal of Israel armed forces from territories occupied in the recent conflict, which because English omits articles in a generic or indefinite plural context, is ambiguous (from the (=all) occupied territories or from some occupied territories?): here the French version makes the intended meaning clear (retrait […] des territoires occupés, not de territoires occupés), and part of the debate is whether it is equally authoritative; now this is not quite the sort of ambiguity I was referring to earlier, and in this respect English is at least better than the many languages that simply do not have articles, but the point remains that international norms of any importance should always be written in several languages, all having equal force of law, not just English (or even any single language). English and French may not be an ideal choice of languages, but they are certainly better together than English alone. However, not every context where the English language is in use can afford the same resources that are available when negotiating international treaties (where we can assume that translators aren't the most difficult or costly part of the negotiation).

Can something be done to tame English's syntax ambiguities? Unfortunately, we are (collectively speaking) unreasonably conservative when it comes to language, so any attempt to reform English is doomed by our stubbornness, just as it is futile to suggest replacing English by some other language. The best that can be done is probably for editors, in any context of international or scientific communication, to forbid the syntactic omissions (B) and (C) mentioned above (and also (A) when it can be avoided), and to be otherwise vigilant for ambiguities. Even this modest advice is possibly a lost cause, like the aforementioned idea of restricting oneself to a simple subset of the English lexicon. A bolder suggestion would be to use some sort of special marker, a new punctuation sign, perhaps the single guillemets (‹…›), to mark syntactic groupings in any kind of complex sentence (the point being ‹that this “enriched” English can still be read as English ‹if we ignore the guillemets›› so ‹that the latter simply serve as hints in figuring out the correct parse tree›): but I know too very well that even this idea has no chance of catching on (and again, this should serve as a reminder of how we are incapable of taking intelligent collective decisions).

But on to my third point, which is now about spoken English.

Its pronunciation is unclear. There are several aspects to this.

The first part is how little relation there is between the written and the spoken forms of a word. Some languages are bad in this respect, but English is downright atrocious, as an infamous poem illustrates (see also this table of vowels). Some languages have irregular spelling (French, for instance, is very bad in this respect) or irregular pronunciation; some leave out important information in their spelling (such as Russian, which doesn't put stress marks, or Arabic, which generally doesn't mark short vowels); some (like Chinese or Japanese) don't even really try to make written and spoken forms match without the help of huge tables of characters that must be learnt; but English just makes it all look like a bad joke. It simply makes no sense for the language chosen for international communication to not only have a gigantic lexicon, but also force its learners to memorize each word twice because there is essentially no way to connect the written and spoken versions. But also, because there is simply no form of logic relating written and spoken English, when a new technical term is coined, or when a foreign term is imported, nobody knows how to pronounce it, because there is no logic that can be applied, and no preexisting usage. (The word neologism, in fact, may be a good example: there is no way to guess where the stress should fall, and different people will put it in different places. As for imported words, consider the last letter of the Greek alphabet, the astronomical bodies Uranus and Io—or just about any word imported from the French pour faire chic.) And it's not just annoying that people pronounce things “wrong”, it can be a real cause for confusion. (Random examples: if someone pronounces signal by applying the same logic as sign, it could easily be confused with final; if someone is not aware that record is pronounced differently according as it is a noun or a verb, it can lead to the class ambiguities that I discussed earlier.) Conversely, native English speakers pronouncing words “correctly” might confuse non native speakers. (Someone who doesn't know that in English RP, the words iron and ion are often pronounced identically as /ˈaɪ.ən/ might be in for a surprise in a chemistry talk. Someone who isn't aware of the pronunciation of American intervocalic ‘t’ might understand writer, /ˈɹaɪt̬ɚ/, as rider.)

To make things worse, English has a number of different accents. These differ mainly by their vowels but, as English is not a Semitic language, vowels are essential, and we get a lot of cross-accent homophones. I like to point out that an Englishman's pronunciation of part, /pɑːt/, might well be nearly identical with an American's pronunciation of pot (this remark often confuses French people, who are typically unaware of the r-dropping of accents of England or of the unrounding of American ‘o’). The way an Australian says sane buy (/sʌɪn bɑɪ/) could easily be understood as sign boy by an Englishman or an American. John Wells reports in one of his books how a Canadian describing his son as autistic received congratulations by English people who had understood the word /ɑːˈtɪstɪk/ as artistic. I already mentioned how my father and I were once told in London to look for the Shaw Theatre (/ˈʃɔː ˈθɪətə/) and spend some time fruitlessly looking for the Shore Theatre. And, to give another famous example, Americans believe Canadians say a boot when they say about (/əˈbəʊt/).

But even within the context of a single accent, English pronunciation is unclear. The realization of vowels is subtle, especially compared to the clear cardinal vowels (in contrast, the vowels of Italian are very crisp and fall rather squarely on the cardinal vowels). Some distinctions are downright fussy and yet have minimal pairs: compare cup /kʌp/ with cap /kæp/; or kin /kɪn/ with keen /kiːn/ (many native French speakers are unable to distinguish these) or more subtly spirit /ˈspɪɹɪt/ versus spear it /ˈspɪəɹɪt/ (American accents typically merge these); or sale /seɪl/ and sell /sɛl/ or more subtly Mary /ˈmeəɹi/ versus merry /ˈmɛɹi/ (again, American accents typically merge these); or full /fʊl/ and fool /fuːl/ (Scottish accent merges these); or book /bʊk/ and buck /bʌk/ (the result of a historical split; accents from the north of England do not have it); or the very fussy distinction between hurry /ˈhʌɹi/ and furry /'fɜːɹi/ (not all accents do this, and there probably isn't a STRUT-NURSE minimal pair, but I'm not sure either way). All of these are a possible source of confusion. Different people might have different difficulties: German speakers find that pat /pæt/ is close to pet /pɛt/ whereas French speakers find that it is closer to part /pɑːt/ in non-rhotic accents (so, a more convincing example: Pam /pæm/ and palm /pɑːm/). As for week vowels, they are essentially useless in distinguishing words: English RP does not distinguish /ə/ and /ɚ/ (tuna and tuner, for example), and Australian does not even distinguish weak /ɪ/ (making pick it homophonous with picket, or boxes with boxers). English consonants aren't quite as bad, but non native English speakers might still have trouble distinguishing, for example, sin /sɪn/, thin /θɪn/ and shin /ʃɪn/, or at least a subset of these (and I already mentioned the trouble between writing, /ˈɹaɪt̬ɪŋ/, and riding, /ˈɹaɪdɪŋ/ in American English, which may or may not be homophonous).

This is not just a theoretical worry. I have had many occasions to observe how English spoken over a noisy channel, has distinctly worse error-correcting capabilities than French.

Can we do something about it? As far as the mess that is English spelling goes, probably nothing (𐑕𐑹𐑰, ·𐑖𐑱𐑝𐑾𐑯 𐑓𐑨𐑯𐑟!). As far as English accents and confusion between them goes, however, I again have a modest proposal of which I am fully aware that nothing will come: invent a standard world English accent by mapping the English phonemes to sounds that are chosen so as to maximize clarity and have some degree of logic, while remaining generally within the realm of variation of existing English accents (something like KIT→[ɪ], DRESS→[ɛ], TRAP→[a], LOT→[ɔ], STRUT→[œ], FOOT→[ʊ], BATH→[a], CLOTH→[ɔ], NURSE→[øːɹ], FLEECE→[iː], FACE→[eː], PALM→[ɑː], THOUGHT→[ɔː], GOAT→[oː], GOOSE→[uː], PRICE→[aɪ], CHOICE→[ɔɪ], MOUTH→[aʊ], NEAR→[iːɹ], SQUARE→[eːɹ], START→[ɑːɹ], NORTH/FORCE→[ɔːɹ] and CURE→[uːɹ]: this would be somewhat similar to a French or Italian accent, which English speakers are able to understand; and for consonants: no voicing of intervocalic ‘t’, no loss of rhoticity, and no h-dropping). Introducing a new accent is not like reforming English, because it is meant to become one new accent among many, not replace any existing one. The major shift in paradigm would be to realize that this accent is no more wrong than any existing English accent, and that there is no reason not to teach students to speak like this instead of demanding that they simulate an RP or General American accent (there is a great deal of hypocrisy in this respect: English RP and American accents are no more correct than, or preferable to, Scottish, Irish, Australian, Indian, Nigerian, South African or American Southern accents, yet they are considered the norm when teaching English to foreigners—why?). We should keep in mind that English RP, which is now considered the “standard” British English, (1) is, to a large extent, an artificial construct (an effect of the English public school system, as witnessed by its earlier name Public School Pronunciation, that was popularized by the BBC's deliberate choice of RP as a non-regional English accent for its broadcasts, whence it being also widely known as BBC English), and (2) is the native accent of only a small, albeit influential, proportion of the English population (perhaps 2 to 5 percent), which, of course, is itself a small proportion of the native English-speaking population on Earth (note: many Americans refer to RP as British English, which is completely wrong and fairly insulting).

Here is a broader point: if English is to be a “Globish” language common to all the peoples of Earth, all the peoples of Earth should realize that they are its owners, no less than the “native speakers”. So long as there is no dictionary of international English, that (as opposed to the specifically national Oxford English Dictionary and Merriam-Webster's Collegiate Dictionary) would record all global usage of English, and not just in “English-speaking” countries, — so long as the forms of English taught in schools and universities throughout the world are based on those spoken in a very small set of countries (considered as more “correct”), — English cannot truly be said to be part of our common heritage as would behoove the lingua franca of all mankind. Both the prescriptivist and the descriptivist sides have to ask themselves how world English should be defined, instead of avoiding the question as I believe they have mostly been doing. But here I digress away from the specific issues with English as a language of international communication to the general problem with choosing one particular language in this role, and the unfairness associated with this choice—and this is something I would rather leave to a later entry.

(mardi)

Les crackpots, et les fascinants délires historiques d'Anatolij Fomenko

J'utilise le terme crackpot (en anglais, et aussi en français parce que je n'ai pas trouvé d'équivalent qui me satisfasse ; mais peut-être que crank serait plus approprié) pour désigner quelqu'un qui croit à des théories pseudo-scientifiques ou carrément délirantes, qu'il s'agisse du fait que la Terre aurait été créée il y a moins de 6000 ans, que les pyramides auraient été construites par des extra-terrestres, que le nombre π vaudrait exactement 3.2, que l'holocauste n'aurait pas eu lieu, que l'axe des Champs-Élysées aurait été construit selon une ligne de champ magnétique Feng Shui qui passe par Jerusalem, que les tours du World Trade Center auraient été détruites par la CIA, qu'ils auraient trouvé une démonstration merveilleuse de P=NP, ou encore que le réchauffement climatique n'aurait pas de composante humaine.

Voyez cette page pour quelques signes typiques des crackpots : mais évidemment, il n'y a aucun signe infaillible, ce serait bien trop simple s'il y avait un moyen simple de distinguer le vrai du faux. Par ailleurs, il existe plein de sous-variantes et de dimensions du crackpot, selon que ses théories sont plus ou moins partagées ou au contraire personnelles, selon qu'il est plus ou moins enclin à voir des complots partout, selon qu'il est plutôt d'orientation scientifique ou politique, selon que sa théorie l'obsède complètement ou est juste une bizarrerie à laquelle il croit, et selon le degré de décorrélation avec la vérité. J'avais été fasciné, il y a quelques années, de découvrir dans le remarquable film Ancient Aliens Debunked, qui démonte méticuleusement, et avec un esprit critique extrêmement affûté, des théories crackpot sur les aliens, que son auteur est un chrétien fondamentaliste qui rejette la vision scientifique de l'évolution (il n'est peut-être pas des plus cinglés des young earth creationists, mais manifestement il croit à des choses bizarres) : en tout cas, il est clair qu'on peut être quelqu'un d'intelligent, et même doté d'un esprit critique généralement fonctionnel dans certains domaines, et être un crackpot dans d'autres. C'est le cas du mathématicien Anatolij Timofeevič Fomenko, qui en tant que mathématicien est tout à fait sérieux et respectable, mais qui a des théories complètement délirantes (et fascinantes) au sujet de l'Histoire — auxquelles il a apparemment réussi à rallier beaucoup de gens, comme le joueur d'échecs Garri Kasparov. Je vais y venir.

Pourquoi s'intéresser aux crackpots ? Pas pour croire à ce qu'ils racontent, bien sûr. On peut chercher à dialoguer avec eux pour proposer des critères scientifiques pour tester leurs théories (et, en pratique, les réfuter, ou démontrer qu'elles ne sont pas testables), c'est à peu près l'approche que prend la zététique. Et j'ai une certaine admiration pour ceux qui prennent le temps de démonter patiemment les théories des crackpots, le résultat peut être très intéressant et instructif (par exemple le film Ancient Aliens Debunked lié ci-dessus) ; j'ai rarement, cependant, la patience de me livrer moi-même à ce jeu-là. Mais la « crackpotologie » présente au moins un intérêt scientifique en tant qu'étude des crackpots eux-mêmes et de leurs thèses : arriver à comprendre par quels mécanismes sociologiques ou psychologiques on en arrive à croire à telle ou telle théorie, pourquoi elles séduisent (et quels sont les aspects qui fondent une théorie séduisante), pourquoi elles se répandent, etc. Ou simplement pour dresser la typologie et la théorie descriptive des crackpots, la filiation entre leurs idées ; ou en passant du côté simplement amusant, rechercher les plus originaux, les plus bizarres, les plus agressifs. (On peut aussi jouer à les confronter les uns aux autres : un de mes amis parlait ainsi de Large Crackpot Collider, terme que je trouve très amusant ; mais il faut avouer qu'en pratique le résultat est souvent décevant, parce que les crackpots ont surtout tendance à monologuer et à ne pas s'intéresser au retour de leur auditoire, si bien que quand on en met deux en face, on se retrouve souvent avec un simple double monologue, sans véritable interaction.)

Et il y a un autre intérêt à mes yeux, que tout le monde ne partage pas : c'est l'aspect artistique de la théorie crackpot. Car certaines peuvent être comparées à des œuvres d'art par la fascination qu'elles dégagent. C'est un côté qu'Umberto Eco a beaucoup exploré (notamment dans Le Pendule de Foucault), et sur lequel Dan Brown (s'il existe vraiment) a fait beaucoup d'argent. Je parle soit de mettre en scène des crackpots dans une œuvre de fiction, soit de considérer la théorie crackpot comme un cadre dans lequel pourrait se dérouler une œuvre de fiction (comme de la science-fiction), soit encore d'utiliser un schéma ésotérique comme base pour une règle oulipienne (voyez ce qu'Italo Calvino fait avec le jeu de tarot dans Le Château des destins croisés ; on peut faire des choses semblables avec l'astrologie, l'alchimie, etc.), soit enfin de considérer la théorie elle-même comme de l'art, obéissant à ses propres règles ; ou, bien sûr, un mélange de tout ça. J'ai déjà expliqué que les frontières entre l'art et la crackpoterie peuvent être poreuses, et aussi que la vérité n'est pas forcément ce qui est le plus intéressant du point de vue artistique. Et c'est notamment sur ce terrain que je trouve les idées de Fomenko extraordinaires : refaire la chronologie de l'humanité, c'est une entreprise artistique fascinante, d'ailleurs de nombreux auteurs de science-fiction ou de fantastique s'y sont mis (pour inventer le futur, réinventer le présenter, réimaginer le passé, ou toutes sortes de combinaisons de tout ça), et de ce que j'arrive à savoir sur les théories de la Nouvelle Chronologie dont je veux parler, il ferait un excellent auteur de fiction s'il avait la bonne idée de placer ses idées sur ce terrain au lieu de s'imaginer qu'elles sont vraies.

(Remarquez cependant que même si une théorie crackpot est présentée comme une fiction, ce n'est pas forcément une raison pour ne pas s'en méfier, ou disons, pour oublier qu'il ne faut la considérer que comme une fiction intéressante. Parce que L. Ron Hubbard, par exemple, a essayé de jouer la carte d'auteur de science-fiction pour vendre les idées de la scientologie. Je ne trouve pas la mythologie scientologique très intéressant même sous l'angle purement artistique, mais si on considère qu'elle l'est, il faut bien sûr faire attention à comment on l'envisage.)

L'idée générale de la théorie de Fomenko est que l'histoire de l'humanité telle que nous la connaissons serait complètement fausse pour à peu près tout ce qui est antérieur à environ 1600, en partie à cause de falsifications et de réécritures effectuées à la Renaissance (et notamment par Joseph Scaliger), mais aussi à cause d'erreurs dans la reproduction et l'interprétation de manuscrits plus anciens. En fait, Fomenko avance l'idée que tout ce que nous connaissons de l'histoire est plus ou moins une déformation d'événements qui se seraient déroulés depuis l'an 1000 environ de notre calendrier, et que nous ne savons absolument rien de ce qui a pu se passer avant : que la raison pour laquelle nous pensons pouvoir dater des événements antérieurs est que les récits d'événements réels se sont retrouvés déformés de différentes façons, et que ces différentes répliques ont été ensuite imaginées comme étant des événements différents et ordonnées séparément dans la chronologie en les décalant de façon plus ou moins arbitraire (pour des raisons de commodité ou selon des motivations mystiques) par ceux qui ont construit les chronologies officielles. Fomenko avance donc l'idée d'une sorte d'« écho » dans l'écriture de l'histoire, un événement réel pouvant laisser plusieurs traces distinctes, toutes déformées, à des moments différents, alors qu'en réalité il n'y aurait qu'un seul événement raconté trois fois. Et pour soutenir cette théorie, il propose d'identifier plusieurs personnages historiques (par exemple, les rois d'Israël consécutifs seraient, selon lui, en fait les mêmes que les empereurs romains). Entre autres idées fumeuses supplémentaires, il prétend que les Mongols étaient en fait les Russes (et peut-être aussi les Turcs, je n'ai pas tout compris), que Christophe Colomb était envoyé par la Russie (dont l'Espagne était alors vassale), et que l'Ancien testament est plus récent que le Nouveau.

Pour ceux qui veulent en savoir plus sur les affirmations précises, l'article Wikipédia est un bon début, ainsi que la thèse de Sheiko que je cite ci-dessous. Malheureusement, pour en savoir vraiment plus, il n'y a pas l'air mieux que de consulter les 7 volumes du Monsieur, et de préférence en russe (si on veut éviter de les acheter, on peut chercher Fomenko History sur un site pirate russe, mais comme ça fait quand même beaucoup à télécharger et à lire, je me suis abstenu).

Ces théories sont évidemment complètement délirantes, et à moins de parler russe, ça vaut à peine l'effort d'essayer de les réfuter (ou en tout cas, je vais laisser ça à des zététiciens plus patients que moi, et d'ailleurs plus compétents en histoire ; j'imagine qu'un des arguments simples qu'on peut sortir est de faire remarquer qu'on a des pièces de monnaies venant de règnes de souverains qu'il prétend identiques et qui les nomment de façon manifestement différente et qui ont des états de conservation manifestement différents). Mais ce n'est pas pour autant qu'elles ne sont pas passionnantes.

On peut entre autres se demander pourquoi ces théories ont rencontré tellement d'écho en Russie : à ce sujet, il est sans doute intéressant de lire la thèse de Konstantin Sheiko, Lomonosov's bastards: Anatolii Fomenko, pseudo-history and Russia's search for a post-communist identity (Université de Wollongong, 2004), qui est justement consacrée à cette question — je n'ai moi-même lu que l'introduction et le chapitre 2, en diagonale, mais il semble y avoir des réflexions intéressantes sur leur lecture dans le cadre du patriotisme russe et de la recherche d'une identité russe, notamment face à l'Occident et face à l'Asie, à l'ère post-communiste. (Il est juste dommage que le PDF disponible au bout du lien ci-dessus manque toutes les illustrations.)

En revanche, si comme je le suggère ci-dessus on considère les thèses de Fomenko non comme de l'histoire mais comme de l'histoire-fiction, alors il est possible qu'elles fassent un roman intéressant, ou du moins un cadre intéressant pour des romans d'histoire-fiction. L'idée des échos historiques, notamment, me semble assez géniale comme prétexte et comme mécanisme narratif. Et s'il y a moyen de trouver quelque part, débarrassé de tout l'argumentaire tendant à la « prouver », un résumé de la chronologie proposée par Fomenko (i.e., qu'est-ce qu'il imagine comme s'étant passé dans chaque siècle et chaque décennie), j'avoue que je serais intéressé à le voir.

J'aimerais aussi en profiter pour renvoyer vers la remarquable nouvelle Chronologie de la vie de deux hommes écrite par mon ami Denis Auroux il y a une douzaine d'années dans le cadre d'un petit jeu d'écriture (dont le sujet était le suivant : La nouvelle doit commencer par la mort d'un personnage. Et doit se terminer par la mort d'un personnage. Le même.).

(lundi)

Comment se perdre dans les sources d'Android et désactiver le senseur de proximité

Pour illustrer ce que je racontais hier, je voudrais détailler un peu, sur un cas concret, la manière dont les sources d'Android sont une moussaka incompréhensible et impossible à naviguer, parce que je trouve ça assez spectaculaire.

Je suis parti du but suivant : explorer la difficulté qu'il y aurait à ajouter un réglage dans l'application « téléphone » d'Android pour ignorer les données du capteur de proximité (potentiellement cassé) et ne pas éteindre l'écran pendant le passage d'un appel.

Et là, je suis tombé sur la constatation stupéfiante suivante : tel que je lis le code, cette préférence existe déjà, mais pour une raison qui m'échappe totalement, elle est « désactivée » des menus sur mon téléphone (à la fois l'ancien et le nouveau, d'ailleurs). Ou peut-être qu'elle n'est pas activée, nuance.

Une partie de la difficulté, bien sûr, consiste à savoir quel code, au juste (parmi les millions d'arbres de compilations, de branches, de versions et de sous-versions) se trouve au juste compilé sur mon téléphone. J'ai fini par trouver la réponse à ça : il faut aller voir dans le fichier /system/etc/build-manifest.xml sur le téléphone — celui-ci donne, pour chaque dépôt Git des sources d'Android, le commit exact qui a servi à faire la compilation. Beaucoup d'espions Bothans sont morts pour me fournir cette information, alors faites-en bon usage.

Après, même si je trouve la bonne version du code qui tourne sur mon téléphone, encore faut-il trouver où, dans la moussaka géante, se trouve le code de l'application « téléphone ». Il y a des répertoires des sources qui s'appellent (1) frameworks/base/telephony, (2) frameworks/opt/telephony, (3) packages/services/Telephony, et (4) packages/providers/TelephonyProvider : quel est le rapport exact entre tout ça ? je n'en ai fichtrement aucune idée, et je ne sais même pas où chercher une explication à ce sujet (le mieux que j'aie trouvé est ce petit guide, mais il ne va vraiment pas très loin). Le fait de savoir que l'application Android s'appelle, à un certain niveau, com.android.phone, n'aide pas tant que ça.

J'ai cependant fini par trouver qu'il y a un menu de préférences dans packages/services/Telephony/src/com/android/phone/CallFeaturesSetting.java (dans le répertoire (3) ci-dessus, donc), dont la version exacte compilée pour mon téléphone (le Nexus 4, disons, mais ça ne change pas grand-chose), est en principe exactement celle-ci. Il y a incontestablement du code (notamment autour des lignes 670–675) qui définit une préférence, dans le menu des réglages de l'application téléphonie (lequel n'est d'ailleurs pas totalement évident à trouver, mais bon…) censée permettre d'ignorer le capteur de proximité. (Le code vraiment opératoire est plus exactement dans packages/apps/InCallUI/src/com/android/incallui/ProximitySensor.java, autour des lignes 81–97, parce que dans Android, le code qui fait quelque chose est toujours aussi éloigné que possible du code qui règle la préférence demandant à faire le quelque chose en question.)

☞ Ça vaut la peine que je digresse sur la complexité de mettre du texte dans un menu sous Android, parce que ça donne une idée à quel point le machin est over-engineeré. Vous vous doutez bien qu'écrire directement "Enable proximity sensor" dans le code Java, ce serait trop facile : pour permettre au machin d'être traduit dans 72 langues, il faut écrire quelque chose comme <string name="proximity_mode_title">Enable proximity sensor</string> dans un fichier res/values/strings.xml (enfin, en l'occurrence res/values/cm_strings.xml, parce que c'est spécifique à CyanogenMod, mais peu importe), qui donne donc un nom proximity_mode_title à la chaîne "Enable proximity sensor" (et on mettra autre chose dans les autres langues, bien sûr). Maintenant, pour définir un bouton de préférences (=une entrée dans le menu) ayant cette chaîne pour titre, il faut aussi donner un nom au bouton : cette fois, c'est dans le fichier res/xml/call_feature_setting.xml qu'on va écrire quelque chose comme <CheckBoxPreference android:key="button_proximity_key" android:title="@string/proximity_mode_title" android:persistent="false" android:summary="@string/proximity_on_summary" /> pour définir le bouton button_proximity_key avec comme titre la chaîne qu'on vient de définir. Vous pensez qu'on va utiliser ensuite button_proximity_key directement dans le code Java ? Toujours pas ! Il est de bon ton de définir une constante private static final String BUTTON_PROXIMITY_KEY = "button_proximity_key" histoire de ne pas avoir, horresco referens, à écrire une chaîne directement dans le code Java. Et bien sûr, on va stocker l'objet Java correspondant, obtenu avec mButtonProximity = (CheckBoxPreference) findPreference(BUTTON_PROXIMITY_KEY), dans une variable mButtonProximity (enfin, un membre de la classe, peu importe), et c'est ça qu'on va utiliser dans le code. Ça c'est juste pour définir le bouton de la préférence. Le nom de la préférence elle-même, il va être défini comme public static final String SETTINGS_PROXIMITY_SENSOR = "proximity_sensor" dans src/com/android/phone/Constants.java pour pouvoir l'utiliser comme Constants.SETTINGS_PROXIMITY_SENSOR. C'est absolument hallucinant combien d'incantations propitiatoires, réparties dans plusieurs fichiers, Android oblige à prononcer pour mettre un malheureux bouton dans un menu pour contrôler une préférence système ! Et ça ne facilite vraiment pas le boulot de celui qui veut comparer le code du menu avec ce qu'il voit sur son téléphone.

Sauf que là, de surcroît, ils ont mis une variable de configuration (config_proximity_enable, définie dans res/values/config.xml, voyez les lignes 197–198, et utilisée dans CallFeaturesSetting.java vers les lignes 2602–2606) qui sert à faire disparaître cette option du menu. Ce que j'ai mis, bien sûr, un temps fou à comprendre en m'arrachant les cheveux à me demander pourquoi le code est là et n'a pas d'effet (et, du coup, si je lisais bien la bonne version). Je pense que les res/values/config.xml servent en général à fournir des configurations différentes sur des téléphones différents, mais je ne comprends pas bien pourquoi on voudrait désactiver l'entrée du menu qui permet de désactiver le senseur de proxiité (à part si le téléphone n'a pas de senseur de proximité, mais dans ce cas la valeur par défaut devrait plutôt être de ne pas chercher à l'utiliser, alors que c'est le contraire — je suis confusé). Encore moins pourquoi l'impossibilité de désactiver serait le défaut, ou pourquoi sur le Nexus 4 ou 5 CyanogenMod aurait voulu garder ce défaut : tout ça semble assez inexplicable.

Mais bon, le fait qu'en modifiant de force la préférence dans la base de données des préférences système, ça fonctionne :

Bref, pour demander à certains Android (au moins CyanogenMod) d'ignorer le capteur de proximité pendant les appels, on peut éditer la base de données de préférences en lançant (en tant que root)

sqlite3 /data/data/com.android.providers.settings/databases/settings.db

et y insérer une préférence proximity_sensor de valeur fausse,

INSERT INTO system ( name, value ) VALUES ( 'proximity_sensor', 0 ) ;

puis rebooter. Ceci aurait dû faire partie d'un menu de préférences, mais le réglage a été omis ou volontairement désactivé (ce qui n'empêche pas la commande ci-dessus de fonctionner).

(dimanche)

Pourquoi l'environnement Android est-il si hostile aux bidouilleurs ?

Je me suis acheté un Nexus 5. Principalement parce que j'en avais marre de mon ancien téléphone (un Nexus 4) dont le capteur de proximité merdait, ce qui le rendait très pénible à utiliser, mais aussi à cause d'un bug qui rend Google ridicule, surtout que deux mois plus tard il n'a toujours pas été corrigé (et toutes les façons de le contourner que j'ai essayées se sont avérées merdiques) — bizarrement, il se trouve que ce bug affecte les Nexus (Nexi ?) 4 et 6 mais pas le 5, ce qui est d'autant plus mystérieux que ce n'est certainement pas un problème matériel. Mais la raison secondaire de l'avoir acheté maintenant est que le Nexus 5 ne sera pas disponible indéfiniment ; le Nexus 6 ne me convient pas du tout parce qu'outre le bug sus-mentionné il est vraiment trop grand pour mes poches (je ne comprends décidément pas du tout pourquoi les gens aiment les phablets) ; et il y a une chose que j'ai apprise en achetant des choses en ligne, c'est qu'il ne faut jamais supposer qu'un produit disponible un jour le sera encore dans un mois. D'ailleurs, j'ai vu juste puisque, même pas une semaine plus tard, le Nexus 5 n'a plus l'air vendu par Google.

Pour autant, je ne vais pas spécialement en parler, puisque je n'ai pas rencontré de problème particulier, et le but de ce blog est quand même avant tout de déverser mes râleries. À la place, je vais donc parler d'Android en général, et de pourquoi j'en suis mécontent, pas pour une raison logicielle ou matérielle particulière, mais pour, disons, l'ambiance générale. Qui, il faut le dire, pue, au moins quand on est habitué au monde Unix/Linux.

Au début, quand j'ai entendu parler d'Android, je me suis dit, chouette, enfin un système qui va apporter un peu d'ouverture dans le monde des mobiles où tout est verrouillé : enfin, on va pouvoir décider un peu ce qui se passe sur son téléphone, changer des choses, le « bidouiller » (le hacker, au sens qu'avait ce mot avant que la presse le tranforme en quelque chose de négatif), bref, en être vraiment propriétaire. Las ! Android est tombé bien loin de ces espérances.

Alors certes, le cœur du système est libre / Open Source. Du moins, il faut le dire vite, parce qu'il y a plein de restrictions à ça. Primo, ce qui est libre, c'est uniquement le système avec un ensemble minimal d'applications : en fait, la grande majorité des systèmes Android autres que les versions chinoises à deux balles tournent avec, en plus, les Google Apps, qui, elles, ne sont pas libres du tout (et le bug dont je me plaignais est dans les Google Apps, ce qui fait que je ne peux pas, même ne principe, le corriger). Il y a des choses dans les Google Apps dont je comprends plus ou moins qu'elles ne soient pas libres (Google Maps, par exemple), il y en a aussi qui font plus ou moins doublons avec des applications libres d'Android (voir cet article d'Ars Technica pour un exposé de la situation), mais le truc est surtout en train de se transformer en une énorme moussaka qui contrôle totalement le téléphone au-dessus d'Android (les Google Play Services), et le problème est que non seulement c'est propriétaire, mais en plus il faut soit tout accepter en bloc, soit tout rejeter — d'où la gravité du bug que j'ai rencontré, et qui ne pouvait se résoudre qu'en coupant, de fait, tous les services Google.

Secundo, la version libre officielle d'Android (AOSP, pour Android Open Source Project), elle ne tourne que sur un tout petit ensemble de téléphones, peut-être même aucun. Sans même parler des pilotes propriétaires (comme le firmware radio, et de façon plus gênante, les pilotes graphiques), la plupart des téléphones d'Android sur le marché, en gros tout ce qui n'est pas un Nexus de Google (e.g., le Samsung Galaxy Nimportelequel), vient avec une version d'Android lourdement modifiée par le vendeur, et vous pouvez toujours rêver pour avoir les sources de ce truc-là. Bon, il existe bien une version dérivée d'Android, libre (aux pilotes et à quelques bricoles près), qui tourne sur pas mal de téléphones, et c'est celle que j'utilise, CyanogenMod, et différentes versions sous-dérivées de celle-ci, mais ce n'est déjà pas pareil que de dire qu'on a des systèmes libres sur la plupart des téléphones du marché : ce n'est tout simplement pas le cas. D'ailleurs, CyanogenMod est devenu un projet commercial, et je suis persuadé qu'il ne va pas rester libre très longtemps. On voit plein de petits signes montrant qu'il est de plus en plus fermé. (J'ai aussi plein de reproches pratiques à leur faire, comme le fait que leur système de nommage des versions est incompréhensible et qu'ils n'arrivent jamais à produire une version stable de quoi que ce soit, mais c'est un autre sujet.)

Tertio, quand bien même vous trouvez une version libre d'Android qui tourne sur votre téléphone, si vous espérez que parce que c'est libre vous allez facilement pouvoir faire des changements dessus, détrompez-vous. Recompiler un Android est très, très, très (très) difficile. Essentiellement, il faut une machine dédiée à ça (éventuellement une machine virtuelle, certes), avec exactement la bonne version d'Ubuntu, exactement la bonne version de Java, exactement la bonne version des différents outils. Plein de gigas d'espace disque (vraiment plein). Plein de mémoire. Plein de temps. Et plein de bande passante réseau. Le problème principal, c'est qu'Android n'est pas du tout conçu pour qu'on puisse bidouiller avec (je cherche un équivalent français du mot tinkering) : on compile tout en bloc. Recompiler une unique application système après l'avoir un petit peu modifiée n'est pas du tout prévu ou supporté. (Par exemple, j'avais fini par trouver comment recompiler l'application clavier standard pour la modifier et y mettre notamment mon propre dictionnaire et quelques caractères Unicode supplémentaires : j'en ai énormément bavé pour y arriver. Et je n'ai jamais trouvé le courage d'en faire autant pour l'application téléphonie pour contourner le problème du capteur de proximité cassé sur mon Nexus 4.)

Mais il y a un problème plus fondamental : l'écosystème Android est extrêmement hostile au logiciel libre. Voyez le Google Play Store : il n'y a aucune indication de quelles applications dessus sont libres / Open Source. Pire, il n'y a aucun moyen standardisé pour un développeur Android de mettre une information indiquant qu'une application est libre (il peut juste l'étiqueter gratuite, ce qui n'est pas du tout pareil), ou pour indiquer où sont les sources, ou quelle est la licence. Google n'offre même pas un réglage caché pour développeurs ou enthousiastes du libre pour dire je voudrais voir en priorité, ou exclusivement, des applications libres. Il y a bien un marché alternatif, F-Droid, pour ça, mais comme il est alternatif, il n'a aucune publicité de la part de Google, du coup il est très confidentiel, et il n'y a quasiment rien d'intéressant dessus. Et de fait, il y a très peu d'applications libres pour Android. Et les rares qui le sont ont même tendance à cesser de l'être au bout d'un certain temps, quand le développeur se rend compte que, tient, il pourrait peut-être monétariser le succès de son application (ou pour je ne sais quelle autre raison) : j'en ai vu plein, comme ça, qui étaient annoncées libres au début, et qui au bout de quelques versions ne l'étaient plus (exemple au pif : l'application d'écran de démarrage ADW Launcher, qui eut été libre et qui ne l'est plus du tout).

Cette atmosphère est très surprenante quand on vient du monde des Unix libres, où on peut à peu près tout faire avec des programmes libres (preuve qu'il y a bien des gens prêts à en écrire !). Sous Android, quasiment toutes les applications vous laissent le choix entre une version gratuite, lourdement limitée et/ou très généreusement décorée de bandeaux publicitaires, et une version payante. La mentalité de petits connards des programmeurs qui croient opportun de demander paiement pour une petite merde qu'ils ont écrite alors qu'à côté, dans le monde du logiciel libre pour PC de bureau, il y a des gens qui écrivent des compilateurs C, des suites bureautiques, des navigateurs Web, etc., et qui ne mettent pas de pub dedans ni ne gardent leur code secret, me laisse sans voix. (J'imagine un monde où gcc proposerait le choix entre une version payante et une version gratuite, cette dernière refusant de compiler un programme de plus de 2000 lignes et affichant au milieu des messages de compilation des messages publicitaires vous informant qu'il y a sans doute des célibataires dans votre région.) Et avant que quelqu'un me sorte l'argument débile si tu n'es pas content de ces programmes, tu n'as qu'à ne pas les utiliser : ce n'est pas si simple, parce qu'en étant le petit connard qui développe une petite merde pour Android dont on ne donne pas les sources, on met un frein psychologique au développement d'un logiciel libre remplissant la même fonction.

(Et je pense que c'est vraiment un problème psychologique lié à la « décision par défaut ». Si Google poussait pour que la décision par défaut quand on écrit une application Android, soit qu'elle soit libre, je suis persuadé que l'immense majorité des développeurs ne se comporteraient pas comme ça comme des connards. I.e., la différence entre Android et les Unix libres n'est pas tellement, à mon avis, dans l'origine des développeurs, que dans le fait que dans un cas publier le code source est considéré comme normal et dans l'autre cas ça ne l'est pas. Pour une explication du genre de phénomènes qui me fait penser ça, voyez cet exposé à TED de Dan Ariely, et ce qu'il dit sur le don d'organes dans différents pays.)

Et le problème est d'autant plus aigu que la réponse à n'importe quel problème sous Android est toujours There's An App For That : là où la bonne réponse à un problème dans Android, si le système était véritablement ouvert, devrait être quelque chose commme commentez la ligne 66 du fichier server/InterfaceController.cpp dans le dépôt platform/system/netd et recompilez votre système, la réponse est en fait installez MyNetworkControlApp sur le Google Play Store et cliquez sur disable IPv6 privacy. Ce qui est peut-être plus pratique pour le neuneu moyen, mais pour ma part je n'ai aucune envie d'installer la petite merde MyNetworkControlApp pour réparer les problèmes de mon téléphone, et surtout pas de lui donner des droits exorbitants sans avoir vu le code, ou au moins, sans avoir eu la possibilité en principe de voir ce code.

Même si on met de côté le problème du code libre ou non, le système Android n'est généralement pas favorable à la « bidouille » telle qu'un unixien va avoir tendance à la comprendre et à la pratiquer. Ceci se reflète par exemple dans le fait que peu de choses peuvent se faire en ligne de commande (on peut réussir à se connecter à un shell sur un téléphone Android, mais le plus souvent on ne peut pas y faire grand-chose). Entre autres parce que les interfaces internes d'Android (tout ce qui n'est pas utilisé par un programme final en Java) est mal documenté ou pas documenté du tout : même les outils internes du système (les choses comme pm, dumpsys, etc.) sont difficiles à utiliser entre autres faute de documentation. J'ai commencé il y a un certain temps à écrire une page où je rassemble les différentes choses que je réussis à glaner par ci par là, mais ça reste extrêmement fragmentaire. Un exemple emblématique pourrait être le format APK qui sert à distribuer les applications Android : il est extrêmement difficile d'extraire un APK, de le modifier, et de le remettre en place (par exemple pour lui retirer de force une permission qu'il aurait demandée), et le fait que les APK soient signés n'est que le début des difficultés !

Un exemple concret. Pour ne pas perdre mes données en passant de mon Nexus 4 à mon nouveau Nexus 5, je me suis dit que j'allais recopier la partition de données utilisateur (/data) de l'un vers l'autre (après avoir installé exactement la même version de CyanogenMod sur les deux, bien sûr, pour minimiser les emmerdes, et quitte à effacer quelques données particulières au téléphone, comme la clé android_id de la table secure dans la base de données /data/data/com.android.providers.settings/databases/settings.db). Au final, ça a marché. Mais non sans mal. Par exemple, parce que le format .img des images acceptées par la commande fastboot du bootloader Android de Google, elle est certes documentée, mais dans un header obscur qu'il faut aller chercher soi-même au milieu du fatras des sources d'Android. Et il n'y a bien sûr aucun outil standard pour convertir agréablement vers ce format. Après ça, je n'avais encore, bien sûr, aucune idée de ce qu'il faut et ne faut pas recopier dans /data d'un téléphone vers l'autre (ce qui fait partie, disons, de ma personnalisation du téléphone et ce qui fait partie de la configuration du matériel précis). La réponse de Google à ce problème est quelque chose comme : confiez-nous vos données (par exemple, tous vos contacts), nous vous permettrons de les sychroniser sur tous vos téléphones — seulement, moi, je n'ai pas envie de confier ces données à Google (par exemple parce que je ne suis pas certain que tous mes amis seraient d'accord pour que leur adresse soit communiquée par moi à Google). Mais je digresse.

Il existe bien des bidouilleurs Android. Un de leurs points de rassemblement est le forum en ligne XDA-Developers (par exemple, ce document est encore ce que j'ai trouvé de mieux comme documentation sur comment compiler Android). Mais, outre que ce forum est merdique pour des simples raisons de forme (outre l'abus de Comic Sans, il est surtout impossible d'y retrouver quoi que ce soit), cette sous-communauté souffre de beaucoup des mêmes défauts que la communauté Android en général : si vous exposez un problème, on va vous dire d'installer telle ou telle application dont on ne vous montrera pas les sources ; et des versions complètes d'Android s'y échangent par des liens douteux vers des sites d'hébergement de binaires louches, sans qu'on sache si les sources sont disponibles quelque part. Et je pense que c'est un problème assez profond, ou au moins le symptôme d'un problème assez profond, que les développeurs Android chez Google ne parlent essentiellement pas à cette communauté-là.

Tout ceci me décourage beaucoup. J'aimerais passer mes téléphones à autre chose qu'Android, mais il n'y a rien d'autre. Ce n'est même pas la peine de parler de Windows mobile ou d'iOS, ce dernier est auss ouvert que la Corée du Nord, alors évidemment, Android, en comparaison, paraît vraiment paradisiaque. J'aimerais énormément que Firefox OS ait du succès, parce que Mozilla m'a l'air d'être un agent très bénéfique en direction de l'ouverture du Web et il pourrait jouer un rôle semblable sur le marché des mobiles (et par ailleurs j'aime bien l'idée d'unifier les applications mobile et les pages Web, surtout quand la plupart des applications mobiles sont, de fait des versions merdiques de sites Web), mais il faut dire que trouver un mobile sous Firefox OS, ce n'est pas évident (je me suis acheté un Geeksphone Revolution, mais c'est une merde pour plein de raisons que je n'ai pas le temps d'expliquer ici, et en tout cas il n'est pas du tout ouvert) ; les téléphones développeur Firefox OS ont l'air tous épuisés. Quant à Tizen, il n'a pas l'air promis à un grand succès, et pour commencer le SDK est propriétaire (et Mer et Sailfish ont l'air encore plus confidentiels). Peut-être qu'Ubuntu Touch apportera une embellie, mais je n'y crois pas des masses non plus. En attendant, je suis à peu près coincé sous Android.

(lundi)

Caractères arabes désordonnés

[Affiche d'instructions]Pendant le week-end, des panonceaux sont apparus un peu partout dans l'école où je travaille (cf. photo ci-contre, cliquez pour agrandir) avec des instructions de sécurité, en français, anglais, espagnol, chinois, russe et arabe (c'est-à-dire l'ensemble des langues officielles de l'ONU, qui sont un ensemble assez raisonnable de langues à choisir si on veut être largement compris dans le monde : j'approuve donc ce choix, même si je ne suis pas totalement convaincu de son utilité réelle à cet endroit précis, mézenfin).

Je ne vais pas chercher à pointer du doigt les fautes de traduction. Mais regardons un peu les caractères arabes utilisés sur cette affiche. Si j'essaie de reproduire l'effet en HTML, ce sera quelque chose comme ceci :

‭‌ت‌ع‌ل‌ي‌م‌ا‌ت ‌ا‌ل‌س‌ل‌ا‌م‌ة‌‬

(sur un navigateur avec les bonnes polices et bien respectueux des standards, ce qui précède devrait reproduire les caractères arabes en blanc sur bleu juste après Правила Безопансости, qui devrait d'ailleurs être Правила Безопасности). En fait, ce qu'on voulait écrire est plutôt ça :

تعليمات السلامة

Vous ne voyez pas la ressemblance ? Le problème est qu'on a écrit les bonnes lettres arabes, mais (1) de gauche à droite, alors que l'arabe s'écrit de droite à gauche, et (2) sans les lier entre elles, alors que l'arabe a une écriture cursive où les caractères se connectent les uns aux autres (et changent de forme en fonction de cette connexion). Même sans connaître l'alphabet, en comparant les deux versions ci-dessus (du moins, si votre navigateur les a affichées correctement), sachant que les points marquant certaines lettres ne changent pas quand on connecte la lettre à d'autres, vous devriez voir la correspondance.

C'est un bug que j'ai vu assez souvent, quoique jamais encore sur un panneau officiel. J'avais déjà donné un exemple dans une entrée passée (mais là je ne suis même pas sûr que c'était des mots arabes et pas juste des lettres tapées au hasard). J'avais aussi vu passer cette photo prise à l'US Open autour de 2013 (les caractères arabes sont en bas à droite : c'est censé être quelque chose comme القادمين بنر حب, dont je ne suis d'ailleurs pas convaincu que ça veuille dire grand-chose, mais en tout cas c'est mal écrit et ça ressemble à ‌ا‌ل‌ق‌ا‌د‌م‌ي‌ن ‌ب‌ن‌ر ‌ح‌ب‌ — pour le coup, au moins, c'est dans le bon sens). Et je me souviens aussi avoir vu un acteur porno gay avec un tatouage tout aussi mal écrit aux alentours de son nombril, un de mes lecteurs va certainement pouvoir me dire qui c'était exactement [ajout : il s'agit de Topher DiMaggio — images pas complètement SFW].

Mise à jour : L'information a été remontée, et les panneaux dans mon école vont être corrigés ou refaits.

Je suppose que c'est ce qui se produit quand quelqu'un fait du copier-coller de caractères Unicode arabes dans un logiciel qui ne gère pas du tout les écritures de droite à gauche et/ou les complexités typographiques des écritures présentant des ligatures. (Par exemple, dans un terminal texte sous Unix, l'arabe a effectivement tendance à ressembler à ce genre de monstruosités.) Je suppose que la personne qui copie-colle n'a aucune connaissance de l'écriture arabe et reçoit les caractères à copier-coller de quelqu'un qui les a écrits correctement, et il fait confiance, à tort, au logiciel pour ne pas massacrer les choses lors du copier-coller. Maintenant, c'est quand même triste, à la fois que ce genre d'erreurs se produisent (i.e., qu'il existe des logiciels de mise en page incapables de gérer la bidirectionalité, et qui n'affichent pas, au minimum, un énorme avertissement si on essaie de taper de l'arabe), et qu'elles ne soient pas détectées, i.e., qu'il y a des gens à ce point ignorants de ce qui est quand même une langue relativement fréquemment parlée en France, pour ne même pas savoir à quoi son écriture ressemble (et spécifiquement, que les caractères sont liés les uns aux autres). Surtout que là, des gens parlant arabe et qui vont passer devant le panneau, il y en a (et ce n'aurait pas été difficile d'en trouver pour relire l'affiche avant de l'envoyer à l'impression !). Ou pour remarquer que c'est suspect que les caractères s'insèrent de la gauche vers la droite et ne présentent aucun signe de directionalité droite-vers-gauche. (OK, on peut s'imaginer que l'informatique a décidé de gérer l'arabe en stockant les textes à l'envers pour faire semblant qu'il va de gauche à droite, mais on doit quand même vite se rendre compte qu'il y a plein de problèmes avec ça.)

C'est le genre de choses qui me fait trouver qu'il devrait y avoir des cours de culture générale à l'école, où on apprendrait entre autres des généralités sur les langues du monde, et au minimum à savoir reconnaître les grands systèmes d'écriture et un peu à quoi ils ressemblent. Je ne parle pas forcément de savoir distinguer du tamoul et du malayalam, mais au moins d'avoir des grandes idées sur les principes de différents systèmes d'écritures. Pour un fou d'Unicode comme moi, ce sont des connaissances aussi basiques que de savoir que la première guerre mondiale a duré de 1914 à 1918.

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
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