Fracture numérique

22.06.10 | par Le Grincheux | Catégories: Mauvaise humeur

Ayant travaillé quelque temps à Issy-les-Moulineaux pour ce qui s'appelait encore le CNET (Centre National d'Étude des Télécommunications), j'ai une certaine affection pour France Telecom. J'ai quitté cette entreprise juste au début de sa chute, au moment où le gouvernement français au travers de l'ART (Autorité de Régulation des Télécommunications) l'a contrainte à louer ces circuits-minutes à perte. Nous avions calculé à l'époque que le circuit-minute coûtait 0,56 de nos défunts francs, enfin, de nos anciens nouveaux francs, alors que l'ART nous imposait une location à 12 ou 24 centimes de francs selon qu'une ou les deux extrémités de la communication étaient prises en charge par un opérateur tiers. Ce prix semble énorme, mais il incluait la maintenance et les techniciens de ligne qui étaient d'astreinte vingt-quatre heures sur vingt-quatre et sept jours sur sept, y compris les jours fériés.

Vendre à perte, c'est interdit en droit français. En revanche, le législateur ne parle pas de location à perte.

Aujourd'hui, il est malhonnête d'accuser France Telecom lorsqu'on parle des conditions de travail de ses salariés, d'autant plus qu'il est impossible de rejeter la faute directement sur les actionnaires. Nous sommes tous responsables de la situation. Le petit porteur est responsable parce qu'il possède des actions et espère un retour sur investissement rapide. Les banques sont responsables parce qu'elles ne font pas leur travail — qui est de gagner de l'argent en finançant l'économie réelle et en prenant des risques mesurés, après tout c'est ce risque que paient les intérêts de prêt, et non de boursicoter — et qu'il est malheureusement plus facile mais plus risqué pour une entreprise de chercher de l'argent à investir en bourse. L'abonné à un opérateur tiers est lui-aussi responsable car il utilise la partie onéreuse du réseau de France Telecom sans en supporter le coût réel.

Je ne sais pas si vous vous souvenez des grandes annonces qui ont été faites il y a plus de dix ans. Tous ces opérateurs alternatifs avaient demandé l'autorisation de poser une boucle locale cuivre ou radio. Pas une seule boucle locale n'a été installée depuis car il est largement plus rentable de faire porter à France Telecom, contrainte de le faire à perte, la pose et l'entretien de cette boucle plutôt que d'entretenir soi-même la même installation. Aujourd'hui, si France Telecom vendait au coût réel ses circuits aux opérateurs alternatifs, ils mettraient tous la clef sous la porte car, à force de casser les prix au détriment de la qualité de service, ils ne pourraient encaisser cette augmentation pourtant légitime.

Cette dégradation de service due aux opérateurs alternatifs ne se voit pas encore dans les zones urbaines. En revanche, elle est criante à la campagne qui n'intéresse aucun opérateur alternatif. France Telecom n'a plus aucun moyen pour entretenir ses lignes jugées peu rentables vis à vis des lignes urbaines et on a de la chance lorsqu'on arrive encore à avoir une tonalité et un accès internet au travers d'un bon vieux modem bas débit.

Et l'on ose encore parler de fracture numérique ! On gaspille l'argent public dans une gabegie financière de projets onéreux engloutissant des sommes pharaoniques comme le projet Dorsal pour des résultats au mieux insuffisants.

Il y a quelque temps, le minitel permettait encore de s'en sortir. Maintenant, il faut faire avec internet. Je vous mets au défi d'utiliser internet avec un bon vieux modem RTC plafonnant à quelques milliers de bits par seconde. La moindre information étant noyée dans des pages de publicités généralement en Flash ou au milieu d'images en haute résolution, c'est devenu impossible sauf à naviguer avec un outil en texte brut comme elinks.

Dans toutes ces zones rurales, le seul opérateur présent est souvent France Telecom parce qu'il a une obligation de service public limitée au service universel (téléphone). Aucun opérateur alternatif n'est présent parce que, comprenez-vous, le coût de chaque utilisateur est trop important vis à vis de la marge dégagée. Le paysage des télécommunications françaises est ainsi le suivant : des zones urbaines avec une concurrence acharnée entre opérateurs et des zones rurales où seule France Telecom offre un service souvent limité et qui est de plus en plus la vache à lait pour entretenir le réseau urbain. Je ne suis pas un détracteur de la privatisation des services, mais je ne vois pas pourquoi tous ces opérateurs alternatifs n'ont pas une clause de service universel. Il est inadmissible qu'on se gargarise à longueur de temps de concepts comme la libre et saine concurrence alors même qu'on permet ce genre de chose. Les fortunes des actionnaires des opérateurs alternatifs n'ont été faites que parce que le gouvernement français au travers de l'ART leur a offert France Telecom sur un plateau sans aucune contrepartie. Le réseau de télécommunications français fonctionne encore bien parce que France Telecom arrive encore à effectuer le minimum d'entretien sur la boucle locale, mais ça ne durera pas indéfiniment. Déjà les campagnes sont à l'abandon et on voit de plus en plus de problèmes de lignes en ville.

Continuons, il y a des pays en voie de développement et d'autres en voie de sous-développement…

3 retours »
 

Publicité Windows 7

21.06.10 | par Le Grincheux | Catégories: Mauvaise humeur, Je hais l'informatique, Vieux con

Faut-il que Microsoft ait peur pour payer de la publicité ventant un système d'exploitation fourni d'office avec tout PC d'autant plus que les arguments avancés sont vraiment extraordinaires.

À titre professionnel, j'ai eu — et ai malheureusement toujours — à maintenir ce système d'exploitation qui est plus un système d'exploitation de l'homme par Microsoft que de la machine par l'homme. Rien ne fonctionne comme prévu, les explosions en vol sont nombreuses parce que tout pilote fonctionne en mode noyau, que la gestion des processus n'est pas claire et que la séparation entre les modes noyau et utilisateur est particulièrement floue. Les licences en ma possession me donnent pourtant accès aux supports de niveau 2 et 3 de Microsoft qui ne me sont en général d'aucun secours. Il ne me reste que la documentation livrée par l'éditeur et les 'KB' de Microsoft pour résoudre tous les problèmes issus de ce système.

La dernière version de Windows que j'ai eu entre les mains à titre personnel et que j'utilisais quotidiennement était Windows 3.11 for Workgroups sortie officiellement le 31 décembre 1993. Déjà à cette époque, je soignais ma santé mentale. Cela ne nous rajeunit pas et se passait sur un IBM PS/2 modèle P70 à bus MCA muni d'un i80386DX16 secondé par un valeureux 80387DX20 pas Intel pour un sou, de 8 Mo de mémoire et d'un disque dur ESDI de 30 Mo.

Vu le peu d'intérêt de ce système d'exploitation, s'appuyant sur un IBM DOS 5.00 pourtant solide, et ses problèmes à répétition, j'ai essayé OS/2 Warp 3. Cela a été une révélation : enfin un vrai système d'exploitation 32 bits avec un vrai bureau, quelque chose qui ne plantait pas plus vite que son ombre, quelque chose qui mettait loin derrière les versions suivantes des productions microsoftiennes.

Entre temps, j'ai travaillé dans plusieurs laboratoires de recherche sur des systèmes Unix — essentiellement Sun OS et HP-UX — et VMS. Le matériel Digital ou Sun n'étant pas exactement donné, je me souviens du jour où l'on a insisté pour me présenter un truc bizarre qui permettait d'utiliser un système Unix standard ou presque sur un vulgaire PC. Pour l'immense majorité des tâches effectuées — excluant naturellement les tâches demandant des I/O performantes —, cela devait être amplement suffisant. Le système s'appelait Linux et le noyau était un 1.0.9.

En une quinzaine d'années, ce système a su s'imposer comme une référence même si je lui préfère un bon vieux NetBSD pour un certain nombre de raisons que je ne vais pas aborder maintenant. Il s'est imposé malgré le système de vente particulièrement sournois de Microsoft qui revient à interdire toute forme de choix à l'utilisateur final, voire à faire accroire à cet utilisateur que Windows est indissociable de son PC et que ce dernier ne pourra pas fonctionner sans lui.

Je crois qu'on atteint même le fond avec les dernières publicités pour Windows 7. On y voit une demoiselle bidouiller quelque chose avec Internet Explorer 8 ou réveiller son PC en moins de quelques secondes. Ces deux actions sont présentées comme des exploits. C'est un peu fort car, avec mon antique Toshiba Satellite 4060 XCDT utilisant une distribution Linux Debian, ses 64 Mo de mémoire et son pauvre Pentium II/333, j'arrivais à faire il y a dix ans exactement la même chose. On voit donc par là que c'est une révolution.

Finalement, Cocteau avait raison. Il n'y a pas de précurseurs, il n'existe que des retardataires.

 

RPL/2 internal error

20.06.10 | par Le Grincheux | Catégories: Mauvaise humeur, Je hais l'informatique

Je hais la programmation multithreadée à un point qui devrait vous donner une très vague idée de l'infini. Si j'écoutais ma mauvaise conscience, étant d'une fainéantise crasse, je ne passerais pas ma vie à corriger des erreurs dans des bouts de programmes, qu'il s'agisse de simple fuite de mémoire ou comme on dit joliment de « race conditions », beaucoup plus pénibles à corriger car non reproductibles.

Le problème majeur de l'informatique moderne est la qualité du code qui tend asymtotiquement vers zéro et ce d'autant plus vite que la puissance des machines s'accroît. Je ne sais pas si vous voyez bien ce que je veux dire. À l'heure où il faut une machine tournant à l'aide de deux processeurs cadencés à quelques milliers de mégahertz et munie de quelques gigaoctets de mémoire vive pour afficher en deux ou trois secondes un bête 'Hello, World!' écrit en Java, il n'existe plus personne pour se préoccuper de l'utilisation optimale des ressources. Enfin, si, il reste des types comme moi qui n'ont pas vraiment le choix.

Mon problème est aujourd'hui le calcul intensif. Il faut absolument utiliser le maximum des possibilité d'un ordinateur pour réduire les temps de calcul. J'ai dû essayer une grande partie des outils disponibles sans trouver mon bonheur. Il faut dire que le plus petit calculateur à ma disposition est un système à trente-deux processeurs UltraSPARC et que l'immense majorité des outils ne s'adapte que très mal à une telle configuration. Sachant qu'on n'est jamais aussi bien servi que par soi-même, j'ai décidé de me prendre par la main et de coder mon propre langage de programmation. Il y a au moins deux avantages à cela, il suivra au mieux mes besoins et si je suis embêté par un problème dans ce langage, je ne pourrai m'en prendre qu'à moi-même plutôt que d'attendre le bon vouloir du concepteur pour apporter une correction. Toute médaille ayant son revers, je ne peux plus accuser un tiers des défauts de mes programmes et par moment, c'est vraiment difficile…

Depuis quelques années, je passe ainsi le plus clair de mon temps à rajouter des fonctions et corriger des dysfonctionnements majeurs provenant essentiellement des possibilités de programmation multitâche et multithread. En effet, chaque système d'exploitation comprend les spécifications POSIX de manière subtilement différente et parfaitement incompatible quand il n'en manque pas des bouts. Certains autre systèmes comme Windows sont même très reposants parce qu'ils ne comprennent rien.

Le dernier dysfonctionnement en date provient d'un calculateur fonctionnant sous Linux. Une machine vraiment spéciale puisqu'il s'agit d'un bête PC muni de deux processeurs amd64. Au bout de quelques heures d'un calcul d'optimisation, le processus s'arrêtait avec le message d'insulte suivant :

[1610] BUG! <librpl_liberation()> at line #767 of gestion_objets.conv.c
(*s_objet).nombre_occurrences=0
[1610-140395925845840] BACKTRACE <librpl_liberation()> at line #767
/usr/local/bin/rpl(librpl_liberation+0x36c) [0x48390c]
/usr/local/bin/rpl(librpl_liberation+0x1423) [0x4849c3]
/usr/local/bin/rpl(librpl_instruction_save+0x1f8) [0x533958]
/usr/local/bin/rpl(librpl_analyse+0xe1) [0x45bca1]
/usr/local/bin/rpl(librpl_evaluation+0x2773) [0x46fb13]
/usr/local/bin/rpl(librpl_traitement_interruptions_logicielles+0x142) [0x481d92]
/usr/local/bin/rpl(librpl_analyse+0x34f) [0x45bf0f]
/usr/local/bin/rpl(librpl_evaluation+0x2773) [0x46fb13]
/usr/local/bin/rpl(librpl_evaluation+0x1e39) [0x46f1d9]
/usr/local/bin/rpl(librpl_evaluation+0x3076) [0x470416]
/usr/local/bin/rpl(librpl_instruction_detach+0x23ad) [0x4b948d]
/usr/local/bin/rpl(librpl_analyse+0xe1) [0x45bca1]
/usr/local/bin/rpl(librpl_evaluation+0x2773) [0x46fb13]
/usr/local/bin/rpl(librpl_sequenceur_optimise+0x346) [0x553086]
/usr/local/bin/rpl(librpl_rplinit+0x3fea) [0x557e8a]
/usr/local/bin/rpl(main+0xd) [0x562cad]
/lib/libc.so.6(__libc_start_main+0xfd) [0x7fb076d24abd]
/usr/local/bin/rpl [0x454529]
[1610-140395925845840] END OF BACKTRACE

Pour le néophyte total et au premier abord, on ne peut pas prétendre que ce soit vraiment clair, mais ce message signifie qu'un objet dans la pile opérationnelle a été détruit à l'insu de l'utilisateur, ce qui n'est pas franchement normal. J'ai essayé de reproduire le problème sous Solaris, NetBSD, FreeBSD, MacOS X et Linux sparc64 sans aucun résultat. Le problème ne se produit que sous Linux amd64. Je n'aime pas ces problèmes qui dépendent à la fois d'une architecture et d'un système, ce sont les pires !

Quelques longues journées de débogage plus tard, à grands coups de printf(), valgrind, hellgrind et ddd pour l'analyse des cores, je découvre que le système de « copy on write » du fork() de certaines versions de la glibc était particulièrement moisi puisque qu'il créait une image indépendante d'exécution pour le fils que lorsque celui-ci tentait une écriture en mémoire indépendamment de ce que le père pouvait faire. Autant dire que le résultat était assez aléatoire. Le problème étant identifié, restait encore à le contourner, ce qui n'était pas une mince affaire, et à inclure dans le code source les corrections adéquates.

Avec le recul, je me demande de plus en plus comment des programmes écrits pour un système Unix peuvent fonctionner sur un autre Unix tant il y a de problèmes dans les différents appels système ou appels à la libc. Non seulement chaque implantation comprend autre chose des spécifications POSIX, mais il y a souvent un monde entre ce que l'appel est censé faire — aux dires de la documentation du système — et ce qu'il fait réellement. Cela passe par des erreurs non documentées ou de façon plus amusante par des arrêts brutaux pour cause d'erreur de segmentation.

Un exemple étant plus parlant qu'un long discours, voici la page de manuel de la fonction pthread_kill() de Linux :

DESCRIPTION
The pthread_kill() function shall request that a signal be delivered to
the specified thread.

As in kill(), if sig is zero, error checking shall be performed but  no
signal shall actually be sent.

qui renvoie directement à la page de kill() indiquant ceci :

DESCRIPTION
The kill() function shall send a signal to a process or a group of pro-
cesses specified by pid. The signal to be sent is specified by sig  and
is  either one from the list given in <signal.h> or 0. If sig is 0 (the
null signal), error checking is performed but  no  signal  is  actually
sent. The null signal can be used to check the validity of pid.

puis un peu plus loin :

ERRORS
The kill() function shall fail if:

EINVAL The  value of the sig argument is an invalid or unsupported signal number.

EPERM  The process does not have permission to send the signal  to  any receiving process.

ESRCH  No  process  or process group can be found corresponding to that specified by pid.

Cette description reproduit parfaitement les spécifications POSIX. Le seul problème est qu'un pthread_kill(tid, 0) sur un thread inexistant ne renvoie pas ESRCH dans la variable globale errno mais une erreur de segmentation !

Souvent, le soir, je rêve d'un monde, d'un monde dans lequel les développeurs des différents systèmes auraient compris la même chose des spécifications POSIX, d'un monde où les libc seraient entièrement déboguées…

 

Pauvre Edison...

19.06.10 | par Le Grincheux | Catégories: Mauvaise humeur

Il devient impossible de trouver des ampoules à incandescence. Il paraît que c'est pour notre bien, que c'est bon pour le climat et plus économique.

En tant que président du conseil syndical de mon immeuble, j'ai eu la lourde charge de remplacer dans les parties communes ces fameuses ampoules à incandescence par des ampoules à basse consommation. Jusqu'à présent, je mettais des ampoules à incandescence Philips fabriquées spécialement pour les feux tricolores. Elles étaient difficiles à trouver, un peu plus chères mais résistaient très bien aux nombreux cycles d'allumage et d'extinction, en tout cas beaucoup plus que les ampoules installées par les sociétés de nettoyage qui terminaient au bout de quelques jours avec un filament cassé et un halo blanc, signe patent que le vide dans l'ampoule était imparfait. Le fabriquant ne devait pas avoir assez de marge par ampoule pour changer le joint de sa pompe à vide…

Grâce à notre cher gouvernement, on ne trouve plus d'ampoules de forte puissance à incandescence. Le but du jeu a donc été de trouver un moyen d'éclairage à baïonnette B22 pour mettre dans les appliques murales de marque Legrand. Aucune ampoule dite à basse consommation n'entrait dans ces globes en raison de leur forme. Je dois rajouter qu'il faut des ampoules spéciales capables de fonctionner sur une minuterie. Elles doivent s'allumer instantanément et ne pas vieillir prématurément en raison des nombreux cycles d'allumage et d'extinction. Autant dire qu'une telle ampoule est d'autant plus coûteuse qu'elle est difficile à trouver.

Pour pouvoir continuer à éclairer l'escalier de notre immeuble, nous avons donc dû changer les appliques et les ampoules. L'économie substantielle allait de paire avec un éclairage à peine suffisant. Tout était pour le mieux dans le meilleur des monde.

Ce qui m'amuse le plus, c'est la consommation électrique d'une telle ampoule. Si je prends l'ampoule Philips presque toute bête de 60 W, elle coûte 2 € et des poussières pour une durée de vie de 2000 heures. Elle consomme donc au cours de sa vie 60 kWh soit 6,50 € TTC au tarif actuel et règlementé de l'EDF qui devrait augmenter rapidement si j'en crois le courrier accompagnant la facture reçue aujourd'hui. Il suffit qu'elle soit allumée trois minutes pour permettre à un membre typique de la population des habitants de mon immeuble de gravir les cinq étages. Elle permet donc vingt mille passages dans l'escalier et le coût de chaque passage est de 0,0425 centime d'euro.

La lampe fluocompacte a une durée de vie un peu supérieure, mais il faut réduire les cycles d'allumage et d'extinction et donc régler la durée de la minuterie au maximum soit dix minutes. OSRAM me donne 15000 heures de fonctionnement et 15 W de consommation, ce qui nous fait 225 kWh. Sachant que cette nouvelle ampoule coûte 15 €, son coût total énergie comprise est de 39,40 € TTC. Elle ne permet que quatre-vingt dix mille passages puisque le reste de l'énergie est utilisée à éclairer un escalier vide. Son coût par passage est donc de 0,044 centime d'euro.

On voit donc par là que c'est avantageux.

On oublie aussi souvent très vite que l'énergie consommée par une lampe à incandescence n'est pas perdue. C'est autant de moins que l'on consomme en chauffage. Lorsqu'on aura rajouté le coût lié à la fabrication de la lampe fluocompacte ainsi que celui de son recyclage — parce qu'on peut dire ce que l'on veut, une ampoule à incandescence, c'est un bout de verre et un filament de tungstène plongé une atmosphère de gaz amorphe, il n'y a ni terre rare ni électronique —, on voit tout de suite l'intérêt de la chose et ce qu'on gagne à passer d'une lumière blanche de qualité à un éclairage fluorescent médiocre.

La question est maintenant de savoir à qui profite le crime.

 

Septante ans déjà

18.06.10 | par Le Grincheux | Catégories: Mauvaise humeur

Les journalistes ne devraient jamais faire de l'histoire. Ce matin, sur Radio Paris, pardon Paris Inter, non France Inter, nous avons eu une matinale spéciale de commémoration de l'appel du 18 juin avec force témoins.

Je n'arrive pas à imaginer que ces témoins, étant eux-même à Londres, aient pu oublier l'attitude qu'avait alors le gouvernement de sa très gracieuse majesté envers De Gaulle, général de brigade à titre provisoire depuis le 6 mai 1940, déserteur et sous-secrétaire d'état à la guerre et à la défense nationale du défunt cabinet Reynaud. Le cabinet britannique supportant Mandel, à ses yeux plus légitime et moins sulfureux, cet appel n'a pu être envoyé sur les ondes que grâce à l'intervention de Churchill qui en fera modifier les premières lignes dans un sens moins dur pour le gouvernement français.

Le 18 juin 1940, le seul homme politique qui soutenait De Gaulle à titre personnel était Churchill et il le soutenait contre l'avis de son propre gouvernement. On oublie un peu vite ce point. Ce n'est que bien plus tard, après qu'il a été déchu de ses droits, de sa nationalité, de son grade et condamné à mort par contumace et le gouvernement de Vichy le 2 août 1940 que l'opinion britannique et le parlement se mettent à le soutenir et que sa légitimité s'est peu à peu affirmée. Mais ce n'était pas parce qu'il était devenu légitime qu'il n'était pas embarrassant pour les alliés, principalement pour Roosevelt qui tenait absolument à faire de l'Europe en général et de la France en particulier un état faible et vaincu. L'administration de l'AMGOT voulait en effet aller très loin en ce sens et il ne faut pas oublier que Roosevelt s'est toujours arrangé pour limiter la place de De Gaulle et de la France Libre dans les diverses conférences ou opérations militaires sensibles.

Faire de l'appel du 18 juin 1940 l'acte fondateur de la France Libre est donc un peu court. Cet acte n'est que le prolongement logique d'une démarche beaucoup plus ancienne, d'une réflexion complexe sur ce qu'est la France. L'acte fondateur n'est pas cet appel du 18 juin, entendu par à peine une poignée d'auditeurs, ni même celui du 22 juin. L'acte fondateur est le retournement de l'opinion et du parlement britanniques à la suite de la condamnation d'un général français pour acte de résistance. C'est l'État Français lui-même qui, par la condamnation de Clermont-Ferrand, a donné sa légitimité à son plus farouche ennemi et a forcé la main des alliés qui, contraints et forcés, ont dû accepter De Gaulle et faire avec lui.

Par ailleurs, j'aimerais connaître la légitimité qu'a le professeur Jacquard à parler de ce sujet. Il me fait souvent penser à Yves Montand qui donnait son avis sur la Pologne lorsqu'on lui demandait de chanter Barbara alors qu'il se chauffait avec le gaz acheté aux russes.

 

Pages: 1 ... 165 166 167 168 169 170 ...171 ... 173 ...175 176