La voix du secrétaire (Jean) avec l'aide de Sniper et de quelques autres
Présents à la réunion :
Sylvain,
Sniper,
Arnaud, qui vient ici pour la première fois,
Philippe (Blayo),
Stéphane,
Charles,
D@vid (la cravate),
Philippe (BooK),
Jérôme,
Eric (glb),
Nicolas (Chuche),
Pascal,
Antoine,
David (notre tsar),
et moi.
Nous avons mangé un oeuf mayonnaise, des spaghetti bolognaise et
carbonara, des blue cheeseburgers, des
bacon cheeseburgers, de la tartiflette et une salade,
des dames blanches, une charlotte au chocolat et une coupe colonel.
Et nous avons bu de la Leffe, de la Stout, de la Kriek, du cidre et
une margarita.
Nous avons parlé de
Perl,
Internet,
informatique
et le reste.
Il y a même un peu de mathématiques à la fin.
Les mathophobes ne sont pas obligés de lire. Pour ceux que les mathématiques
ne rebutent pas, sachez que cela demande un niveau... on va dire un niveau
de troisième.
Lorsque je suis arrivé, Sylvain et Sniper étaient déjà arrivés et ils étaient
en train de passer en revue... non ! pas du code ! ils étaient
en train de passer en revue les transparents de l'exposé que Sylvain
a effectué à l'exposition
Solutions Linux.
Aux dires de Sniper, cette revue de document a été très bénéfique
pour les deux principaux participants, car en raison de leurs
profils très différents, les échanges de vue leur ont permis de découvrir un aspect de Perl
auquel ils n'étaient pas habitués.
Cet exposé est en grande partie
un argumentaire pour l'utilisation de Perl. Compte tenu du public
visé, il faut comparer Perl avec
Java.
Inutile de parler de
Ruby,
Python
ou PHP,
les décideurs ne connaissent pas. Un point qui a bien marché
auprès du public de Sylvain, c'est l'aperçu des modules sur CPAN.
Les auditeurs ont alors entendu des sigles connus : XML, CORBA, etc.
Parmi les points évoqués dans le document de Sylvain, il y a le
débugueur.
Mais qui a réellement utilisé le débugueur intégré de Perl ?
Nous sommes quelques-uns à avoir utilisé
ptkdb,
un enrobage du débugueur pour
Perl/Tk,
j'ai utilisé le
débugueur intégré
d'Emacs
avec lequel le
débugueur de Perl
s'interface. Seul Stéphane, apparamment,
a utilisé le débugueur en mode ligne. Il voulait s'en servir pour
programmer interactivement mais cela ne fonctionne pas. Comme le
débugueur fonctionne avec des
eval,
il est impossible de mettre à jour des variables créées par
my.
L'un des avantages de Perl exposé par Sylvain est l'utilisation de
références à la place de pointeurs. En C, il est possible d'utiliser
des pointeurs et de faire de l'arithmétique directement sur les
pointeurs et c'est une cause très fréquente de plantage. Cela dit,
comment présenter cela de façon affirmative et positive ?
Utiliser une négation donnerait à cet argument l'apparence d'un
inconvénient ou d'une limite, alors que c'est un avantage.
Un point que l'on présente rarement mais qui figure dans l'exposé
de Sylvain, c'est les cinq types de scalaires. Il y
a les entiers, les flottants et les chaînes de caractères, des
types relativement simples à comprendre. Il y a les
références
(sur scalaire, sur tableau, sur hachage ou sur code), un peu plus
compliquées à assimiler. Il y a enfin les
expressions rationnelles
(ou régulières). Pour ces dernières, certains débutants ont du mal à comprendre
qu'une expression régulière puisse exister en dehors d'une instruction
m//
ou d'une instruction
s///.
Puis, lorsque le débutant apprend la variante
qr()
des opérateurs
q()
et qq(),
il a du mal à comprendre qu'une variable expression rationnelle puisse être
autre chose qu'une chaîne de caractères. En fait, on peut
s'en apercevoir en demandant l'impression d'une valeur expression
rationelle. Ainsi, le code suivant :
my$x = qr(^toto$);print$x,"\n";
produira la sortie :
(?-xism:^toto$)
Une autre façon de s'en apercevoir, c'est de lire régulièrement la
liste P5P
ou de se plonger dans les sources de Perl. On s'aperçoit alors
qu'une variable contenant une valeur expression régulière comporte
à la fois la valeur « stringifiée » de l'expression régulière
et le bytecode résultant de la compilation de cette
expression régulière.
Une remarque qui a été diversement appréciée lors de l'exposé.
Même si
PHP
est un langage concurrent de Perl, son développement
a été bénéfique pour la communauté Perl. En effet, un certain nombre
d'individus utilisaient Perl pour écrire des sites web dynamiques et
le faisaient avec un style que l'on est obligé de qualifier de « crade ».
Depuis l'arrivée de
PHP,
tous ces gens-là se sont mis à PHP.
Ouf ! Nous sommes débarassés !
Dans le même ordre d'idée, Sniper et Sylvain ont comparé mod_perl
et mod_php. mod_php ne fait que gérer le contenu
alors que mod_perl s'occupe de beaucoup de choses en plus,
comme l'authentification.
Lors de l'examen de la page sur la programmation objet, nous nous sommes
interrogés sur la différence entre le polymorphisme et la
surcharge d'opérateur. En quoi ces deux concepts sont-ils
différents ? [ Cela dit, si nous avions trouvé une définition
de ces deux termes, aurions-nous été sûrs que ces définitions fassent
référence ? Rappelons-nous l'exposé de
Mark-Jason Dominus
sur les langages fortement typés. ]
D@vid évoque le jour où il a découvert la
programmation objet.
Avant ce jour, il s'en faisait toute une montagne, mais lorsqu'il
a vu à quoi cela ressemblait en Perl, il a été étonné par le fait
que ce soit aussi simple. Je pense que la plupart des programmeurs
Perl font
leurs premiers pas
en programmation objet
par le biais d'un module standard ou d'un module téléchargé sur
CPAN.
Parmi les tâches restantes pour boucler la
conférence YAPC,
il y avait la restitution du matériel à leurs différents propriétaires.
D@vid nous signale qu'il vient de renvoyer le gong à M-J.D.
Et il a bien rempli la fiche verte de déclaration de valeur.
Cela dit, il l'a expédié en tarif lent. BooK fait
remarquer qu'une fois, une bande dessinée avait été expédiée
en tarif lent et elle n'est jamais arrivée. Mais le gong
de M-J.D. est plus gros, donc vraisemblablement moins
facile à égarer. De plus, D@vid va prévenir M-J.D. de l'expédition
de son instrument, pour qu'il puisse s'occuper de son gong
à l'arrivée.
Si YAPC est du passé, en revanche il est temps de commencer à s'occuper
de « French Perl Workshop / Conférence française de Perl ».
D@vid appelle aux bonnes volontés pour l'organisation ainsi
que pour ceux qui seraient susceptibles de prononcer un exposé.
Sylvain fait aussi un appel aux bonnes volontés pour les
articles.
Il y en a plusieurs en route, mais peu d'entre eux, trop peu,
sont suffisamment avancés pour être diffusables. Il y a une série
d'articles sur le courrier électronique par D@vid, il y a l'article
sur
Perl/Tk
par Charles, mais après... Antoine reconnaît qu'il avait
promis un article il y a très longtemps mais qu'il n'est toujours
pas prêt.
Nos articles sont les plus relus et les plus contrôlés de ceux qui paraissent dans
Linux Magazine.
Tous les articles sont relus par une personne de
Diamond Editions
qui corrige les fautes de français.
Mais cette personne n'a sûrement pas les compétences techniques suffisantes
pour contrôler le fond de l'article. Pour nos articles,
la relecture par les autres membres du groupe articles
fait que nous vérifions à la fois la forme et le fond.
Mais, fait remarquer D@vid, parfois le correcteur
acquiert des connaissances en contrôlant un article.
Cela a été son cas lorsqu'il a vérifié l'article de Jérôme sur les
tris.
Je communique à D@vid quelques remarques orthographiques sur son
article, remarques que je n'ai pas encore eu le temps d'envoyer
sur le
répertoire CVS
des articles. Notamment, D@vid évoque à
plusieurs reprises les en-têtes des messages. Le problème est
qu'à certains endroits, il accorde ce mot au masculin et à d'autres
endroits il considère que c'est du féminin. Je lui signale donc
que les deux sont admis, mais qu'il est préférable d'écrire l'article
de façon cohérente en utilisant toujours le même genre.
Nous en venons à parler du genre des mots ou des abréviations
qui viennent directement d'une langue étrangère, comme le sigle
RFC.
Pour moi, comme pour D@vid, ce sigle est utilisé au féminin alors que
BooK, par exemple, emploie le masculin. Il semblerait que
nous utilisons le féminin car les premières fois que nous
avons entendu ou lu ce terme, notre interlocuteur utilisait le
féminin.
Comme cela a été convenu lors de l'Assemblée Générale des Mongueurs
de Perl le 28 janvier dernier, il y aura une Assemblée Générale
Extraordinaire à l'occasion de la réunion du mois de mars pour régler
les points qui n'ont pas pu être traités complètement le 28 janvier.
Seulement voilà, cette réunion n'aura pas lieu à la
Taverne République,
car elle sera en travaux à partir du 1er mars pour une
durée évaluée à 5 semaines. Il faudra donc trouver un autre
endroit. Nous évoquons la Taverne de Maître Kanter, à quelques
dizaines de mètres de là, mais les tarifs alimentaires sont nettement
plus élevés. Nous verrons bien d'ici là.
Philippe (Bl) a présenté les échantillons des logos sur lesquels il
travaille. L'idée de symboliser les Français par un coq est bonne,
mais elle présente un désavantage. Si l'on regarde attentivement, un
coq est un animal laid. Pour l'utiliser dans un logo, il faut donc
le styliser suffisamment pour faire oublier sa laideur. Notamment,
l'un des logos présente un coq avec un bec légèrement courbé, qui ressemble
plus au bec d'un oiseau de proie qu'à un bec de coq. Philippe signale
qu'il a également essayé d'allonger le bec sans l'incurver, mais
cela donnait au coq l'allure d'un canard.
BooK évoque un point commun à tous ceux qui pratiquent Perl.
Un jour ou l'autre, chacun écrit son système de templates.
Un rapide sondage montre que c'est presque vrai. Philippe lui-même
a créé son système de templates et, lorsque celui-ci
a été suffisamment avancé pour être utilisable, il a découvert
Template Toolkit.
Depuis, il n'utilise plus son système personnel de templates.
Il n'utilise pas non plus
Template Toolkit
mais c'est un autre problème.
David (L) a lui aussi créé son système de templates
pour créer des instructions SQL assez compliquées. Il avait ainsi
des modèles du genre :
SELECT * FROM users WHERE id = %userid%
et il substituait le matricule de l'utilisateur à la chaîne %userid.
Cela a bien fonctionné jusqu'au jour où il a été obligé d'utiliser
un LIKE dans une instruction SQL. Pour ceux qui ne voient
pas où nous voulons en venir, sachez que SQL possède un embryon de
traitement d'expressions régulières dans lequel l'équivalent du
qr(.*) est le caractère %. David a été obligé
de refondre son système, de sorte que ses modèles sont maintenant :
SELECT * FROM users WHERE id = $userid$
Il y a quelque temps, BooK a constaté l'existence d'un gros
trou de sécurité sur
PAUSE
(au risque de vous décevoir, le trou a été comblé, ce n'est
plus la peine d'essayer). Il existe plusieurs méthodes pour
envoyer un fichier au serveur et l'une d'entre elles est
la méthode FTP anonyme. Une fois le fichier envoyé, il
apparaît pendant un certain temps sur PAUSE dans la liste
des distributions en attente. Il est alors possible
de cocher le fichier distribution pour le lier à son ID PAUSE.
Un jour, en envoyant un fichier distribution sur PAUSE par cette
méthode FTP, BooK s'est aperçu qu'il n'avait pas mis à jour tous
les fichiers. Il a donc rajouté les informations dans
le fichier Changes, a regénéré le fichier distribution,
a écrasé l'ancien (pas encore lié à son ID) sur le serveur FTP
(par un simple PUT) et l'a sélectionné dans la page des
distributions en attente. Puis, en réfléchissant à
ce qu'il venait de faire (pour la bonne cause), il s'est aperçu
que n'importe qui (avec un ID PAUSE) pouvait se connecter à PAUSE
pour repérer un fichier en attente transféré par FTP puis (en FTP
anonyme) aller écraser la distribution originale pour la remplacer
par autre chose (un troyen, un
virus en Perl, une version subtilement modifiée
de la distribution originale...) avant que l'auteur n'établisse
le lien entre son ID PAUSE et la distribution. Ainsi, avec cette
race condition, tout pointe vers l'auteur de la distribution,
piégé à son insu lorsqu'il fait finalement le lien entre son ID et
la distribution qu'il croit être encore celle qu'il a téléchargée
sur le serveur FTP de PAUSE.
BooK a donc signalé le fait aux administrateurs de PAUSE,
Andreas König
et Elaine Ashton,
avec des explications détaillées de ce qu'il avait fait et des
possibilités d'exploiter la faille.
La première pensée d'Andreas aurait été un « NON ! »
retentissant, avant qu'il ne constate que Philippe avait hélas raison.
Toujours est-il qu'il a rajouté à la configuration du serveur
FTP le umask qui va bien et qui avait été oublié lors de la
migration précédente (juillet 2003).
Quelqu'un a entendu parler d'un bundle de « tout CPAN ».
Les autres répondent que c'est étonnant, compte tenu de la taille résultante
et également du fait qu'il doit y avoir quelques modules incompatibles
entre eux. D'autre part, quel est l'intérêt d'installer des
modules Win32::
sur une machine Linux
ou FreeBSD ?
En fait, il s'agit plutôt de la possibilité de créer
un bundle de tous les modules existant sur une machine,
ce qui permet d'effectuer une mise à niveau générale avec une seule
commande.
BooK a apporté quelques exemplaires en double des derniers numéros de
TPJ, issus de ses tentatives
d'impression/reliure des fichiers PDF pour ceux qui seraient intéressés.
Depuis un an environ, une
compétition
a été organisée pour programmer
un wiki avec le moins de caractères possible. Cette compétition de golf
n'est pas réservée à un seul langage de programmation.
Au début, le règlement prévoyait que l'on compterait le nombre de lignes,
sachant que la taille maximale d'une ligne serait de 80 caractères.
Les premières entrées faisaient dans les 100 lignes.
Puis les programmeurs Perl sont arrivés. Ils ont demandé d'assouplir
la règle sur la longueur des lignes sachant qu'en contrepartie, les
propositions seraient classées par le nombre de caractères.
Le résultat ne s'est pas fait attendre, les propositions Perl ont
occupé toutes les premières places. Puis est arrivé
Casey West
qui a soumis une
entrée mélangeant Perl et shell,
pour un total de 222 caractères.
Le mois dernier,
nous avions examiné le hors-série Perl de Login:.
Un peu plus tard, Sniper traînait sur un canal IRC lorsqu'il
a constaté que quelqu'un venait de conseiller ce hors-série
à un autre. Sniper a expliqué tout le mal dont nous
pensions de ce numéro mais son interlocuteur réfutait
les arguments de Sniper. Au bout d'un certain temps, il a clos
la conversation en écrivant quelque chose comme :
Bon, on arrête là pour aujourd'hui. Demain, j'achète Login:
et on en rediscute.
Perl.com a présenté récemment un
article
sur Siesta,
un logiciel de gestion de listes créé par quelques membres
de London.pm.
Siesta, c'est peut-être bien, mais
Sympa,
c'est beaucoup mieux. Dommage, c'est beaucoup moins connu.
Une arnaque courante sur le web, c'est celle qui consiste à faire croire
à l'internaute qu'il accède à un site connu alors qu'il est connecté en
fait à un tout autre site. Cette arnaque utilise
une syntaxe peu connue
des URL, permettant de spécifier un code utilisateur particulier sur le site cible.
Un raffinement permet de
masquer la supercherie
grâce à des caractères tels que
les blancs ou les sauts de ligne.
Pour contrer cette arnaque,
Internet Explorer
refuse dorénavant les URL où figure un « @ ». Du coup,
plusieurs sites web utilisant cette syntaxe à bon escient ne fonctionnent
plus, Nicolas en sait quelque chose.
Une autre faille de sécurité fait intervenir les balises <meta>
en HTML.
La balise contient une valeur « uu-encodée » qui, une fois
décodée, stocke sur le disque dur de la machine
cliente un fichier quelconque, un cheval de Troie par exemple.
On peut faire des merveilles avec
Javascript.
Pete Sergeant
(Sheriff) l'utilise, non pas dans un dessein malfaisant, mais pour
évaluer l'impact de la mise en forme de ses pages web. Le programme
Javascript mesure le temps passé par la souris sur les divers éléments
de la page et communique le résultat sous forme d'une image où les zones
où la souris a passé le plus de temps sont plus foncées. L'auteur peut alors
savoir quels sont les points sensibles de ses pages web.
Tout ceci est expliqué dans son article dans TPJ d'avril 2003, Mouse
Tracking with JavaScript and Perl.
David (L) a parlé d'un autre programme disponible sur le web,
mais dont le seul effet pervers est une certaine perte de productivité.
Il s'agit d'un jeu où il faut faire progresser un
hélicoptère
en rase-mottes, sans qu'il s'écrase au sol ni qu'il prenne trop d'altitude.
Ce jeu est écrit en Flash.
Tout le monde se plaint des pop-ups. Enfin, presque tout le
monde. En consultant un site web, Charles a remarqué une pop-up
donnant la production française de rollers. Mais il n'avait
pas le temps de lire et de recopier le texte, la fenêtre disparaissait quelques secondes
plus tard. Quitter la page et y revenir ne lui permettait pas plus de
lire le texte jusqu'au bout. La seule solution pour conserver le texte a
consisté à photographier l'écran au moment où la fenêtre apparaissait.
L'un des participants raconte ses problèmes pour remplir la déclaration ASSEDIC
de la nourrice de ses enfants. Pour ceux qui utilisent Internet, la procédure normale
consiste à remplir un premier formulaire HTML, puis télécharger
un FDF (formulaire PDF) comportant le mot « brouillon »
en gris clair dans le fond de page. Une fois
ce formulaire rempli, il valide la saisie puis, théoriquement, télécharge un
deuxième formulaire PDF, quasiment identique au premier, la différence essentielle
est l'absence du mot « brouillon »
dans le fond de page. Ce formulaire est, heureusement, pré-renseigné avec les
valeurs du premier. Mais il ne parvient pas à obtenir ce FDF définitif.
Il a donc téléchargé le premier FDF, il a trouvé le fond
de page du FDF définitif et a trituré le FDF pour lui remplacer
le fond de page « brouillon » par le fond de page sans mention.
Finalement, après quelques autres manipulations, il a pu obtenir un
document présentable pour la nourrice.
Un autre site qui débloque, c'est
celui des impôts sur le revenu.
Il est carrément inutilisable jusqu'à une date donnée... un peu trop
proche de la date limite de remise des déclarations. Heureusement,
fais-je remarquer, il y a toujours le 3615-CALIR
sur Minitel qui permet de remplir
sûrement mais lentement la déclaration au rythme (il y a quelques années)
de 2,23 F par minute (environ 0,34 EUR par minute).
[ Maintenant, c'est sur le 3617 et cela fait 0,86 EUR/mn.
À comparer avec les années 60 où, je crois, l'envoi de la déclaration
des revenus bénéficiait de la franchise postale. Et pour en revenir
au site Internet, il semble qu'il soit disponible quand même. ]
Nicolas évoque le site Despair.com,
qui propose des posters de « motivation ». Vous connaissez le
genre : un poster sobre, avec un titre, une photo et une phrase à méditer. Sauf que chez
Despair.com, les phrases sont du genre :
Dans une course,
pour un gagnant, il y a des douzaines de perdants.
Il y a de fortes chances que vous soyez un perdant.
Un autre site de photos,
moins déprimant, c'est celui sur lequel
Charles a trouvé le dessin réunissant le coq gaulois et
la bière.
Nous évoquons le symbole de l'euro, tel qu'il devrait apparaître
sur les pages web. Normalement, il existe une entité HTML,
€, qui doit donner le résultat escompté.
Cela dit, certains vieux navigateurs ne disposent pas du glyphe
nécessaire. Lorsqu'ils rencontrent cette entité, ou bien la
valeur Unicode associée€ ou €
les navigateurs la remplacent par le trigramme EUR pour
obtenir un résultat lisible. D'autres navigateurs détecteraient
le trigramme EUR et le remplaceraient paraît-il
par le glyphe de l'euro. Mais qu'advient-il des mots
tels que « PEUREUX » ?
[ Une contribution de Sniper ]www.orkut.com a été évoqué à
plusieurs reprises, c'est un site communautaire.
J'ai appris hier que c'était une version internationale de
www.copainsdavant.com.
Pour entrer sur www.orkut.com il faut être
invité par quelqu'un qui y est déjà. On se place dans des communautés et
ça crée un réseau avec des personnes de mêmes interêts. Il est aussi
possible de créer des communautés. J'y ai croisé des personnes perdues de vue
depuis des années c'est assez sympa. La communauté Perl y est très présente.
Nous avons parlé
d'Unicode
et notamment de la façon dont
Oracle
le supporte. Lorsque l'on définit une donnée au format
VARCHAR(100), cela signifie, selon la documentation,
qu'il s'agit d'une chaîne de caractères pouvant comporter jusqu'à
100 caractères. David a constaté que si les caractères
de la chaîne requiéraient 4 octets lors de l'encodage UTF-8,
alors la donnée en VARCHAR(100) ne pouvait contenir
que 25 caractères. Quelqu'un aurait-il confondu caractère et octet ?
Si l'utilisation d'Unicode n'est pas toujours très facile, certains
ont dit que cela ira mieux avec la prochaine version. Attendons donc
la version UTF-9...
Nous avons parlé des manip anti-intuitives et des erreurs d'ergonomie
qui sont le lot commun des informaticiens. David raconte qu'il
voulait arrêter plusieurs ordinateurs. Au début, aucun problème.
Mais à un moment, ça a bloqué. L'ordinateur récalcitrant tenait
à signaler son arrêt à son serveur LDAP, lequel s'était arrêté
quelques minutes plus tôt sans broncher. David a été obligé de
redémarrer le serveur LDAP pour que l'autre ordinateur consente
à s'éteindre.
Quelqu'un souhaite sauvegarder un gros fichiers HTML obtenu
en surfant sur Internet. Le disque C: étant plutôt encombré,
l'internaute choisit de sauvegarder le fichier sur le disque
D:. Hélas, Internet Explorer ne réussit pas à sauvegarder
le fichier. En effet, si l'on demande la sauvegarde d'un
fichier dans un répertoire particulier, Internet Explorer
commence par sauvegarder le fichier sur C:\temp
puis il déplace le fichier vers le répertoire demandé.
Dommage, il n'y a pas de place pour la première étape.
Je me rappelle avoir vu un problème analogue. Un site Internet montrait une
boîte d'erreur
expliquant qu'il était impossible de
supprimer un fichier, car le disque était saturé.
[ Nicolas et moi avons
déjà cité
ce site Internet,
mais apparamment il ne répond plus, il a été remplacé
par un portail. Heureusement que certains l'ont recopié
et que j'ai pu retrouver quelques copies avec un moteur de recherche.
]
Il a été très brièvement question du langage
Haskell.
Charles l'a mentionné pour signaler que sa syntaxe était très
proche du langage naturel.
Quelqu'un a évoqué le tout premier jeu d'aventure sur ordinateur,
où le joueur incarne un accent circonflexe et se trouve confronté
à des méchants signes « inférieur »
et des vilains signes « supérieur », le
tout sur 24 lignes de 80 caractères. Je ne connais
pas le nom du jeu évoqué, mais je croyais
que le premier jeu d'aventure avait été
Rogue,
jeu qui avait provoqué l'écriture de la bibliothèque
curses.
Pour le bénéfice de ceux qui ne connaissent pas
curses,
Stéphane rappelle qu'à l'origine, les fonctions d'adressage
du curseur et de positionnement des attributs d'affichage se faisait
au moyen de fichiers termcap, abscons et peu portables.
La librairie curses avait permis d'établir une interface
unifiée ne dépendant pas du modèle de terminal, donc une meilleure
portabilité.
Nicolas évoque les adeptes de la distribution
Gentoo.
Lors de l'installation, ces personnes-là recompilent la totalité
du système, y compris le compilateur
gcc
et la bibliothèque libC.
Tout cela pour gagner 0,2 % de temps CPU sur telle ou telle tâche...
Nicolas a également parlé du fil de discussion lancé
par Michel Rodriguez et auquel il a répondu dans la mauvaise
direction. Michel voulait installer plusieurs versions de Perl
différentes sur une seule machine, pour tester la compatibilité
de programmes ou de modules avec ces versions. Dans son travail,
Nicolas gère de nombreuses machines et installe, autant que possible,
la même configuration sur ces différentes machines. Il a donc
répondu à Michel dans ce sens, ce qui ne correspondait pas
aux préoccupations de Michel. Lors de la discussion, il évoque
de nouveau
cfengine,
un utilitaire qui simplifie énormément la tâche des informaticiens
qui administrent de nombreuses machines.
[ Ce paragraphe est la synthèse de quelques messages envoyés
sur la liste après la réunion, ils présentent un passage de la
discussion que j'ai complètement manqué. Voici donc, grâce à
Stéphane, Jérôme, Emmanuel et même Brix, absent ce soir-là ]
David (L) a évoqué un outil de capture de stream Real Audio,
Total Recorder,
qui ne fonctionne que sous Windows.
Pour Linux, il y a plus simple : remplacer /dev/audio par un pipe qui
ressort sur un encodeur Ogg.
Cela dit, il existe d'autres logiciels,
Streambox VCR
sous Windows et
RTSPget
et Asfrecorder
sous Linux.
Quelqu'un a apporté un numéro de Hackerz Voice pour que
les participants puissent le consulter. Je ne me souviens plus
de ce qu'il y avait dans ce numéro, mais BooK a raconté ce qu'il
avait vu dans l'un des rares numéros qu'il a achetés il y a plusieurs
années. Dans ce numéro, le tiers inférieur de chacune des 64 pages
était occupé par une bande dessinée qui ne présentait aucun intérêt.
Quant au reste, il y avait une liste de proxys anonymes, ou bien
un article expliquant comment hacker le web : lorsque vous consultez
une page web, demandez à visualiser le source, puis sauvegardez le résultat
sur votre disque. Vous pouvez alors modifier le fichier HTML comme vous voulez.
C'est dingue ! Je n'y avais pas pensé ! J'étais à cent lieues
de me douter qu'une telle chose puisse être possible !
Sniper [ dont je recopie ici la contribution ]
a discuté des virus et des vers qui frappent les machines
Windows, notamment de Sapphire / Slammer qui s'est attaqué à
MS-SQLServer et de la faille RPC/DCOM.
Beaucoup de monde a tapé sur Microsoft à ce
moment-là mais il ne faut pas oublier que le patch était disponible depuis
6 mois lorsque le ver a frappé. Le gros problème dans le monde Windows ce sont
les admins. Windows n'est pas simple à administrer et on s'entête à vouloir
faire poser des rustines par des gars qui ne remarquent même pas les trous
dans la carlingue de l'avion.
Nous avons aimé la citation qui figurait dans la signature d'un message
récent d'Eric (glb). Traduit en français, cela donne :
Si vous faites tourner un CD-ROM d'installation de Windows-2000
en sens inverse, vous entendez la voix du diable. Mais il y a
pire : si vous le faites tourner dans le sens normal,
il installe Windows-2000 !
Il paraît qu'il faut faire un peu de sport tous les jours. Nicolas
a trouvé la solution, au moins à l'occasion des réunions des Mongueurs :
il lui suffit de dire « factures » et à ce moment-là
il acquiert la motivation nécessaire pour faire trois fois le tour
de la table en courant. Il n'est pas le seul à faire du sport,
Sniper fait lui aussi le tour de la table, un verre d'eau à la main.
[ Paraphrase d'une contribution de Sniper ]
Un qui fait beaucoup de sport, c'est Arnaud, le nouveau. Il
a même fait une partie de sa scolarité dans une section
sport-études. Il a un très bon niveau en judo et en ju-jitsu.
Comme chaque fois que le serveur vient prendre la commande, il faut
lui indiquer la cuisson des cheese-burgers.
À cette occasion, quelqu'un a montré une manip consistant à tâter
le gras du pouce avec chacun des autres doigts de la main.
Selon le doigt utilisé, le gras du pouce est plus ou moins raidi et
cela a un rapport, je ne sais plus lequel, avec les quatre degrés
de cuisson de la viande.
À propos des quatre degrés de cuisson, il faut effectuer quelques
ajustements. Par exemple, les Anglo-Saxons n'en connaissent que
trois : rare, medium et
well done. En France, nous en avons en fait
cinq : « bleu », « saignant »,
« à point », « bien cuit » et « canari »
(que l'on exprime également par « cuit, cuit, cuit, cuit »).
Suite à l'intrusion de quelques
londoniens
sur la
liste Paris.pm,
le fil de discussion a dérivé sur des sujets tels que les mérites et les
défauts des bières anglaises. Nicolas a conclu ce fil par une citation
qu'il reprend au cours de la réunion. Selon sa grand-mère,
Chez les Anglais,
quand c'est froid c'est de la soupe.
quand c'est chaud c'est de la bière,
Stéphane a lancé une discussion qui n'a duré que deux ou trois minutes
et à laquelle seuls Charles et moi avons participé. Mais comme cela
faisait écho à un livre que j'ai lu pour la première fois en 1986
et plus spécialement à un passage qui m'a intrigué pendant une bonne
partie de ces 18 années et que j'ai souvent relu, je me suis permis
de rallonger la sauce dans ce compte-rendu.
Stéphane a découvert sur Internet une
page
expliquant que
le test d'un médicament avait montré qu'il provoquait une baisse
de la mortalité chez les femmes, qu'il provoquait également une baisse
de la mortalité chez les hommes, mais qu'il augmentait la mortalité
des humains, lorsque l'on réunissait les deux échantillons.
Charles a pensé à une erreur dans la partie pharmacologique du
protocole, en supposant que le produit utilisé pour les tests
avait changé entre les deux populations testées. Je ne pense au
contraire qu'il s'agit d'une « expérience de pensée »,
dans laquelle on peut formuler l'hypothèse que la partie purement pharmacologique
s'est déroulée sans aucune anicroche.
Pour bien montrer que le paradoxe ne doit rien à la pharmacie mais
tout aux statistiques, j'ai signalé que dans le livre que j'ai lu, le
paradoxe était expliqué en mettant en scène un ministre qui piochait
au hasard des bonbons dans un sac contenant des réglisses et des
pastilles de menthe.
Stéphane a ensuite dit que ce paradoxe est réellement apparu
impliquant une université américaine.
Des femmes avaient de moins bons résultats que leurs
collègues masculins et elles se sont plaintes, arguant d'une
discrimination sexiste. Or, un examen plus approfondi a montré
que les femmes adoptaient un
cursus en moyenne
plus ardu que ceux choisis par les hommes et
cette raison expliquait la discrimination apparente.
C'est à peu près tout ce que nous avons dit en réunion.
Mis à part que j'ai promis que je donnerais plus de détails
dans le compte-rendu, promesse matérialisée par ce qui suit.
Tout d'abord, le livre est le Livre des Paradoxes,
par Nicholas Falletta, éditions Belfond.
Ce paradoxe, attribué à Simpson qui l'a formulé pour la première
fois en 1951, occupe la majeure partie du dernier
chapitre, « les paradoxes des statistiques inversées ».
Prenons le premier exemple apparaissant dans le livre,
le ministre amateur de réglisse. Il achète régulièrement
des sachets contenant à la fois des berlingots de réglisse
et des berlingots à la menthe. Deux marques sont en concurrence :
Kréma et La Pie Qui chante. Voici la composition des sachets
et la probabilité d'avoir un bonbon au réglisse lorsque l'on pioche
au hasard :
Réglisse
Menthe
Probabilité
La Pie qui chante
10
30
25%
Kréma
30
60
33,3%
Comme vous pouvez le constater, il vaut mieux prendre des sachets Kréma.
Les deux marques proposent également des boîtes, dont voici la
composition :
Réglisse
Menthe
Probabilité
La Pie qui chante
120
40
75%
Kréma
90
20
81,8%
Là encore, les boîtes Kréma sont avantageuses pour le ministre amateur
de réglisse.
Un jour, les deux marques de bonbons décident, sans se concerter,
de proposer une offre spéciale consistant en une boîte plus un sachet.
Le ministre va acheter un lot Kréma, bien entendu. Éh bien il a tort.
Voici la composition des deux offres spéciales :
Réglisse
Menthe
Probabilité
La Pie qui chante
130
70
65%
Kréma
120
80
60%
Pour reprendre l'exemple évoqué par Stéphane, le test en double aveugle
du médicament aurait très bien pu donner les résultats :
Hommes
Guérison
Sans Effet
Probabilité
Placebo
10
30
25%
Médicament
30
60
33,3%
Femmes
Guérison
Sans Effet
Probabilité
Placebo
120
40
75%
Médicament
90
20
81,8%
Humains
Guérison
Sans Effet
Probabilité
Placebo
130
70
65%
Médicament
120
80
60%
Le cas des étudiantes subissant une discrimination est dû à une
interprétation en sens inverse des statistiques. Les étudiantes ont
remarqué que les résultats
globaux pour l'université étaient les suivants :
Cours de math
Diplôme
Redoublement
Probabilité
Étudiants
52
28
65%
Étudiantes
12
8
60%
Il est évident que les étudiantes se sont fait « saquer » comparativement
à leurs collègues masculins. Mais si l'on examine dans le détail,
cours par cours, on observe le découpage suivant :
Fonctions elliptiques et théorème de Fermat
Diplôme
Redoublement
Probabilité
Étudiants
4
12
25%
Étudiantes
3
6
33,3%
Symétries et isométries des cocottes en papier
Diplôme
Redoublement
Probabilité
Étudiants
48
16
75%
Étudiantes
9
2
81,8%
et on constate donc que les étudiantes sont meilleures que les étudiants
dans chacun des deux cours.
On peut envisager d'autres habillages de ce paradoxe, comme un sondage
d'opinion politique où l'on présente les résultats découpés en fonction
des catégories socio-professionnelles des individus sondés.
En voici une qui sort du domaine des statistiques et qui, je l'espère,
vous permettra de comprendre le pourquoi du comment du paradoxe.
Elle nécessite toutefois des connaissances mathématiques du niveau
de troisième, puisqu'elle fait intervenir un graphe en coordonnées
cartésiennes, ainsi que l'interprétation et la comparaison de la
pente des divers segments.
Souvenez-vous de
La Fontaine
et d'Esope.
Rappelez-vous notamment la fable
le Lièvre et la Tortue.
Nous considérons, pour
changer, que le lièvre et la tortue s'affrontent dans un triathlon
simplifié : pas de natation, uniquement de la course à pied et du vélo.
Le Quid 2001 donne page 198 la vitesse de ces deux animaux
à la course à pied : 70 km/h pour le lièvre et 0,37 km/h
pour la tortue. Merci bien, mais je préfère utiliser les
unités pifométriques,
la « trotte »
comme unité de longueur et la
« paye »
comme unité de temps. Les vitesses sont les suivantes :
Vitesse (trottes par paye)
à pied
vélo
Tortue
2,5
7,5
Lièvre
3,33
8,18
La longueur de la course est de 130 trottes.
La tortue a effectué les 10 premières trottes à pied, ce qui
lui a pris 4 payes. Elle a ensuite enfourché son vélo et en 16 payes
a parcouru les 120 trottes restantes. Durée totale du parcours :
20 payes.
Le lièvre a couru à pied pendant les 9 premières payes, pendant
lesquelles il a donc parcouru 30 trottes. Pendant les 11 payes
suivantes, il a parcouru 90 trottes. Au terme des 20 payes,
il avait donc parcouru un total de 120 trottes et était donc à
10 trottes derrière la tortue.
Voici une représentation graphique de la course avec
le temps en abscisse et la distance en ordonnée. Le segment bleu
(0,0)--(4,10) représente la course à pied de la tortue,
le segment bleu (4,10)--(20,130) représente le trajet de la tortue à vélo.
De même, le segment rouge (0,0)---(9,30) représente le début de la course
du lièvre et le segment rouge (9,30)--(20,120) représente son parcours à vélo.
Avec cet exemple, l'interprétation est très simple. À mode de locomotion
égal, la tortue est plus lente que le lièvre. Toutefois, il existe un
laps de temps où la tortue avance en vélo alors que le lièvre est
encore à pied et c'est au cours de ce laps de temps que la tortue
s'assure la victoire. Elle
rattrape le retard qu'elle a pris lors de la course à pied, compense
par anticipation le retard qu'elle prendra lors de la course
à vélo et prend même le chouia d'avance qui lui permettra de vaincre.
En d'autres termes,
Rien ne sert de courir, il faut pédaler à point.
On peut faire un dessin similaire pour le cas des étudiantes.
Les étudiants étant quatre fois plus nombreux que les étudiantes,
l'échelle des étudiants dans le dessin est quatre fois plus petite
que celle des étudiantes, de manière que chaque population
occupe la largeur totale du schéma. En revanche, l'échelle
verticale est la même que l'échelle horizontale, il n'était pas
question de trafiquer le schéma pour une apparence
plus « dramatique ». On a donc un
segment rouge (0,0)--(9,3) représentant les résutats des
étudiantes qui ont étudié les fonctions elliptiques et un segment
rouge (9,3)--(20,12) représentant le taux de succès des étudiantes
qui ont étudié les cocottes en papier. De même, le segment
bleu (0,0)--(16,4) montre les étudiants qui se sont intéressés
aux fonctions elliptiques et le segment bleu (16,4)--(80,52)
donne les résultats masculins pour l'étude des cocottes en papier.
Les lignes en tirets (0,0)-(80,52) et (0,0)--(20,12) représentent
les résultats globaux des étudiants et des étudiantes.
L'interprétation est celle-ci. Dans les deux
cursus, les étudiantes se sont montrées meilleures que leurs
collègues masculins. Toutefois, elles ont été proportionnellement
plus nombreuses à prendre l'unité de valeur difficile sur les fonctions
elliptiques. Le taux global de succès des étudiantes tient compte
d'une comparaison entre les étudiantes du cours sur les fonctions elliptiques
et les étudiants du cours sur les cocottes en papier. Il y a eu
plus d'échecs parmi les étudiantes s'intéressant aux fonctions elliptiques
que parmi les étudiants faisant des cocottes en papier, mais ce n'est
pas dû au sexisme des examinateurs, mais bien à la difficulté intrinsèque
des examens.
Je précise que j'ai rédigé tout cela avant de lire la
page
signalée par Stéphane, laquelle nécessite, soit dit en passant,
un niveau mathématique nettement supérieur à celui d'un élève
de troisième. D'ailleurs, comme vous pouvez le constater,
j'ai exposé le problème du sexisme à l'université en supposant
qu'il s'agissait des notes attribuées à des étudiantes alors
que dans le texte de l'université de Stanford, il est question
en fait de discrimination sexiste à l'embauche des enseignants.
J'ai juste adapté le paragraphe où je rapportais
les propos de Stéphane sur le sexisme apparent, de façon que le
texte soit suffisamment imprécis pour être compatible avec
mon interprétation erronée et la véritable interprétation.
Il existe également
d'autres articles
dont un qui présente un dessin
ressemblant vaguement au mien. Mais je n'ai consulté ces articles qu'à la fin de
la rédaction de ce compte-rendu alors que cela fait plusieurs années
que j'ai eu l'idée de ma représentation graphique.