Les Mongueurs loin de chez eux
Un historique de toutes nos réunions
Table des matières
La voix du secrétaire (Jean)
Un Japonais rencontre un autre Japonais. La discussion s'engage :
-- Alors, c'était bien les vacances ?
-- Je ne sais pas, je n'ai pas encore développé les photos.
Un Mongueur rencontre un autre Mongueur.
-- Je n'ai pas pu venir, mercredi. C'était bien la réunion ?
-- Je ne sais pas, je n'ai pas encore lu le compte-rendu.
Voici donc, pour ceux qui étaient présents, ce qui s'est passé.
Présents à la réunion, en fonction de la disposition autour des tables :
- David (notre tsar),
- Eric (glb),
- Antoine,
- Sniper,
- Christophe,
- Guillaume,
- Philippe (Blayo),
- Stéphane,
- moi,
- Marc,
- D@vid (la cravate),
- Philippe (BooK),
- Nicolas (Chuche),
- Jérôme,
- et Dimitri.
Pour une fois, la réunion n'avait pas lieu à la Taverne République
mais à une pizzeria quelques pâtés de maison plus loin.
Nous avons mangé des pizzas calzones avec un œuf ou deux,
des pizzas diverses, des spaghetti carbonara,
une coupe des îles, de la mousse au chocolat.
Comme ce n'était pas un bar à bière, le choix
était limité à de la Kronenbourg et de la Heineken.
Ultérieurement, certains sont allés boire de la
vraie bière dans un vrai bar (Sniper et moi avons
pris congé, horaire de train oblige).
Nous avons parlé de
Perl,
Internet,
informatique
et le reste.
-
Cela fait déjà quelque temps que Stéphane n'a plus de connexion Internet
chez lui. De temps en temps, il va à la bibliothèque d'Arcueil où
il existe des points d'accès Internet en libre-service.
Cela dit, il lui est impossible de relever son courrier
électronique à la bibliothèque. Je fais remarquer que la vocation
d'une bibliothèque est de permettre la consultation de documents.
Si Stéphane comprend que
la bibliothèque
interdise l'utilisation de son matériel
pour jouer à des jeux de baston en ligne, pour moi
il en va de même avec les utilisations du web ou d'Internet qui
ne sont pas à proprement parler de la consultation de document.
Ce n'est pas un bureau de poste où l'on s'occupe de son courrier,
ce n'est pas un café où l'on se taille une bavette entre copains
(chat dans la langue de Shakespeare).
-
Heureusement, Stéphane a une autre possibilité : emprunter quelques
minutes de connexion à son père. Il se pointe chez ses parents,
branche sa clé USB sur la machine de son père, charge son courrier
en attente, le stocke sur la clé USB et il peut alors le consulter
chez lui. Quelqu'un lui demande ce qu'il a comme distribution sur
sa clé. Après une minute ou deux d'incompréhension, nous répondons
à l'interlocuteur de Stéphane qu'il utilise la clé USB comme une
disquette de sauvegarde, non pas comme une disquette de boot.
Peut-être l'interlocuteur de Stéphane s'est-il laissé influencer
par le terme « clé » qui lui a fait penser au
démarreur d'une automobile...
-
Comment répandre une rumeur de nos jours. C'est beaucoup plus facile
qu'auparavant. On commence par l'évoquer sur un channel
IRC. Ensuite, on la détaille dans la tribune de
Linux-FR,
puis on en reparle sur Usenet...
C'est ainsi que Guillaume et quelques personnes de chez
Mandrake
ont fait croire que Mandrake avait décidé de ne plus
diffuser la distribution et les Drak-Tools
avec un licence libre et
que le PLF avait signé un contrat d'exclusivité
avec Mandrake et que...
-
Christophe s'occupe de sécurité. Il a lu la version traduite de
Applied Cryptography
et celle de
Secrets and Lies
de Bruce Schneier.
Il évoque l'évolution du point de vue de l'auteur, qui
a commencé en considérant que la cryptographie permettait de
répondre à tous les besoins de sécurité. Puis, en rédigeant
Secrets and Lies, il s'est rendu compte que la
cryptographie n'était qu'un aspect mineur de la sécurité.
Il a alors expliqué dans son livre comment il a réorienté
l'activité de
sa société
pour faire de la surveillance et de la détection d'intrusion
en dépouillant presque en temps réel les fichiers log
de ses clients. Christophe n'a pas encore lu le troisième livre,
Beyond Fear,
car il n'est pas encore traduit. Je l'ai
lu, et je confirme l'orientation prise par Schneier. Dans ce livre,
il consacre une demi-page à la cryptographie, pour évoquer les
gaffes des Allemands dans l'utilisation des machines Enigma.
Tout le reste du livre est lié à des problèmes de sécurité comme la
présence de coupe-ongles dans un avion de ligne, les divergences
d'intérêt entre les gouvernements, les compagnies aériennes,
les pilotes et les passagers
ou la comparaison entre
les lecteurs de badges et les scanneurs d'iris.
-
Christophe explique également comment il présente son activité
à ses responsables. La perception habituelle de la sécurité
est une perception négative : la sécurité, ça coûte cher, mais
ça coûte encore plus cher lorsqu'il n'y en a pas.
[ Un peu comme l'anti-aliasing dans TEXmacs
et le sel dans la soupe. ]
Reprenant une idée de Bruce Schneier, Christophe préfère expliquer
qu'il offre un service de gestion des risques. Il utilise la métaphore
d'un forestier qui s'occupe d'un domaine boisé. Avec tel budget, il
pourra débroussailler tel pourcentage de la surface et y dégager
des allées coupe-feu. Avec tel budget supérieur, le pourcentage monte
à tant. Il ne peut pas éliminer totalement les incendies
de forêt, mais il peut en réduire la probabilité ainsi que les
résultats.
-
Guillaume demande comment faire pour générer un mot de passe.
On lui propose :
print map { chr(33 + rand 94) } 1..$longueur;
ou quelque chose d'approchant. Cela ne va pas, répond Guillaume,
car il existe une politique de mots de passe, c'est-à-dire un
certain nombre de conditions comme le nombre minimum de caractères
dans chaque catégorie, alphabétique, numérique et autre, etc.
On lui propose alors de faire générer des mots de passe par
un nombre infini de singes,
de leur appliquer la fonction
qui contrôle la politique de mots de passe et de sélectionner
ceux qui vérifient la politique. D'où une nouvelle excuse
pour le BOFH :
Les singes n'ont pas fini de générer votre mot de passe.
-
Pour ceux qui n'ont pas compris, le précédent paragraphe fait appel
à la métaphore utilisée en mathématiques, selon laquelle, si vous
disposez d'un
nombre infini de singes
et d'un nombre infini de
machines à écrire, il y a une très forte probabilité qu'au bout
d'un certain temps, l'un des
singes
produise la version
intégrale d'Hamlet.
-
Ce paragraphe fait également allusion au
Bastard Operator From Hell.
Il s'agit des mémoires d'un administrateur système
dont les méthodes sont assez spéciales. Par exemple,
il redirige /dev/tape sur /dev/null,
car cela permet d'accélérer le rythme des sauvegardes, ce
qui est forcément bénéfique, n'est-ce pas ?
Ou bien, lorsqu'un utilisateur a atteint son quota d'espace
disque et demande une rallonge, le BOFH détruit le contenu
du répertoire de l'utilisateur et lui annonce ensuite qu'il a
de la place. Si vous ne l'avez pas lu, comblez cette lacune.
-
Il existe même, paraît-il, des T-shirts à la gloire du BOFH
et donnant la ligne de commande qui permet de détruire
un code utilisateur. Du coup, la discussion enchaîne sur
la meilleure méthode pour supprimer un code utilisateur.
Faut-il commencer par détruire son $HOME ou
bien par éliminer la ligne qui le concerne dans /etc/passwd ?
En règle générale, il existe sur chaque système un
script deluser ou userdel qui fait tout
ce qu'il faut faire, en vérifiant notamment s'il faut
faire le ménage aussi dans /etc/groups ou bien
s'il existe un annuaire LDAP à mettre à jour.
-
Pour en revenir aux mots de passe, Christophe propose une méthode originale.
Si on laisse les utilisateurs choisir leur mot de passe, il en choisiront
un facile à deviner. Si un programme génère un mot de passe
du genre `u;mN~W% comme
il était suggéré ci-dessus, alors l'utilisateur sera incapable de le
mémoriser et il l'inscrira sur un Post-It qu'il collera sur le bord
de son écran. La bonne solution, c'est de laisser l'utilisateur
générer son mot de passe tout en le prévenant qu'il sera contrôlé.
Lorsqu'il a généré son mot de passe, l'administrateur le soumet
à un programme de craquage. Si le mot de passe est mauvais, il sera
craqué rapidement. Dans ce cas, l'administrateur prévient l'utilisateur
que son mot de passe est mauvais et qu'il doit en changer. À la deuxième
itération, si le mot de passe est encore mauvais, l'utilisateur
reçoit en plus une mise en garde. La sévérité des avertissements augmente
ensuite avec le nombre d'itérations, jusqu'au moment où l'administrateur
fait un auto-dafé. Ah ! voilà une méthode qui fait plaisir à Guillaume !
-
Stéphane a acheté récemment un magazine sur Linux qui propose une distribution
complète dans chaque numéro. Il a voulu tester cette distribution et
il a donc redémarré sa machine sur le CD-ROM. Mais il n'a pas pu
continuer très longtemps, la séquence de démarrage s'est rapidement bloquée.
Ensuite, en jetant un coup d'œil sur le contenu du magazine, il
s'est aperçu que ce n'était pas la première fois qu'il y avait des
problèmes. Déjà, lors du numéro précédent, de nombreux lecteurs avaient
eu des CD-ROM déficients (Stéphane a dit « disquettes », mais cela m'étonne
que ce support soit encore utilisé dans les revues).
-
Est-il possible, est-il souhaitable qu'un débutant complet apprenne
l'informatique en apprenant à programmer en Perl ?
Il peut s'avérer judicieux de commencer par un langage
restrictif et peu expressif, où il existe de nombreuses
contraintes. Cela reprend l'idée générale de l'éducation :
on commence par imposer des règles aux enfants, puis, lorsqu'ils
acquièrent une maturité suffisante, on leur enseigne comment
passer outre les limites, mais aussi dans quelles circonstances.
Même l'anarchiste de service est d'accord sur ce principe !
-
Toutefois, il vaut mieux enseigner l'informatique par un
langage de script que par un langage compilé. Lorsqu'il
y a une erreur dans un script, le programme « ne marche
pas ». Un incident de parcours, rien de plus. En revanche,
lorsqu'une compilation échoue, c'est une erreur de
compilation, une faute de l'élève qui se trouve
dès le début en situation d'échec.
-
L'apprentissage par les langages de script présente toutefois
des risques, comme l'acquisition d'automatismes.
C'est ainsi que Christophe a vu un stagiaire
écrire ce programme C :
#!/usr/bin/gcc
#include <stdio.h>
#include <stdlib.h>
main ()
{
printf("Hello world\n");
}
Éh bien cela ne fonctionnait pas ! Cela m'a fait penser
à une autre anecdote et je crois (sans être sûr) l'avoir
citée avant que la discussion dérive vers un autre sujet.
J'ai lu dans un
recueil de stupidités informatiques
comment être sûr que la compilation d'un programme
Pascal
(ou dans n'importe quel langage, d'ailleurs) ne provoque
aucune erreur de compilation. Sous MS-DOS, c'est simple,
il suffit de taper :
C:\PROG\> RENAME TOTO.PAS TOTO.EXE
-
Pour BooK, apprendre la syntaxe d'un langage n'est pas le point le plus
important de l'apprentissage de l'informatique. Il est plus important
d'apprendre à organiser mentalement son programme. Tant que le
fichier source occupe une page d'écran, ça va. Dès lors qu'il s'étend
sur plusieurs pages, ou bien qu'il est scindé en plusieurs fichiers,
l'apprenti programmeur doit conserver à l'esprit l'architecture
de son programme et l'articulation de ses composants lorsqu'il travaille dessus.
BooK raconte le développement de son module
HTTP::Proxy.
L'une des périodes les plus prolifiques pour ce développement
a été son retour de vacances d'été en Irlande. Il avait passé
une bonne quinzaine de jours sans toucher à son module, mais cela
ne l'avait pas empêché d'y penser. Au retour, il avait une
idée très nette de ce qu'il devait faire, quelles parties du code
il devait modifier, lesquelles il devait compléter.
Ce qui a donné lieu à la publication de la version 0.09.
-
Quel livre pourrait-on conseiller à un débutant complet en informatique ?
Certains conseillent
The Art of Computer Programming,
de Knuth...
-
Stéphane ayant dit que dans Perl 6, il sera possible d'utiliser des
méthodes pour toute variable comme si c'était un objet à part entière,
mais, dans le cas des types de base, il s'agit d'une convention
syntaxique, il n'y a pas réellement une structure objet derrière.
D'autres qui connaissent Java, notamment Philippe (Bl) et Guillaume,
discutent de la façon dont Java traite les types de base.
Si j'ai bien compris, dans Java, il y a les integer, des
objets à part entière, et les int, les entiers natifs
du processeur, permettant des calculs rapides. De même, il y a deux
types de tableaux, les tableaux array, qui stockent des entiers
natifs int et les tableaux collection qui
contiennent des objets de n'importe quel classe. Du coup, lorsque l'on
récupère un élément d'une collection, il faut le caster
dans la classe appropriée.
-
Il existe une distinction un peu dans la même ligne en C#, entre les
variables boxed qui sont connues du ramasse-miettes
(garbage collector) et les variables unboxed.
-
Au fait, un participant à la réunion a dit :
C# est à Java ce que Ruby est à Perl.
-
L'exécution d'un programme Java est grevée par les nombreuses
vérifications implicites occasionnées par les accès aux
variables. Dans certains cas, il serait possible de considérer
que, compte tenu de l'architecture du programme, la variable
toto ne peut contenir qu'un objet de classe Titi
et qu'il est inutile de le vérifier. En fait, Java a été conçu
pour exécuter sur une machine des programmes de provenances
diverses et, a priori, douteuses. Donc, pour
limiter les problèmes, les vérifications internes sont systématiques.
-
Parmi les livres sur Access, il y a celui
d'O'Reilly
et il y
a les autres. Ces autres livres expliquent quand il faut
cliquer sur « OK » et quand il faut cliquer sur
« Annuler », mais ils n'expliquent pas comment
décrire une base de données pour qu'elle soit en première
forme normale (ou seconde forme normale ou plus).
-
Quel est l'intérêt des processeurs 64 bits ?
Stéphane fait remarquer que la migration vers une architecture
à 64 bits n'apporte pas que des avantages. Un programme
écrit avec des entiers à 64 bits occupera une taille mémoire
supérieure au même programme compilé pour un processeur 32 bits.
-
Le principal avantage de l'architecture 64 bits est que le
bug de l'an 2037
(en fait, 2038)
sera repoussé de plusieurs millénnaires. Pour ceux
qui ne le savent pas, les dates de dernière modification, de dernière
consultation et autres pour les fichiers Unix sont stockées sous la forme
d'un entier 32 bits représentant le nombre de secondes entre
le 1er janvier 1970 et l'instant représenté. Ce compteur
32 bits bouclera en 2038 (très exactement le mardi 19 janvier 2038
à 03:14:07 GMT) et les cron, les make
et toutes les autres commandes qui se basent sur la date et l'heure
fonctionneront de travers.
-
Le bug de l'an 2038 nous a amenés à évoquer celui de l'an 2000.
L'un des participants a dit qu'il ne s'était pas passé grand-chose
le 1er janvier 2000, que les seuls problèmes étaient
les programmes où
le « 19 » était codé « en dur »
et que le bug Y2K n'était qu'un artifice commercial.
Je m'oppose à cette façon de voir. Je reconnais que cela a été
une aubaine commerciale pour une certaine partie de la profession
informatique. Je reconnais également qu'on a raconté beaucoup de balivernes
sur les avions qui allaient tomber du ciel et les magnétoscopes
qui allaient mettre les cassettes vidéo en charpie. En revanche,
je pense que
des problèmes
en assez grand nombre
se sont produits,
beaucoup moins
qu'annoncé certes, mais un nombre important quand même. De plus les victimes ont souvent préféré
étouffer les nouvelles pour ne pas perdre la face. D'autre part,
de nombreux problèmes ont réellement été évités par toutes les
actions de revue de code, d'audit et de réécriture qui ont eu lieu
dans les années 1996 et suivantes. J'évoque un passage de
Science of Discworld II, the Globe,
par Terry Pratchett,
Jack Cohen et Ian Stewart, où les auteurs rapprochaient ce qui s'est passé
juste avant l'an 2000 avec ce qui est relaté dans la Bible.
De temps à autre, un prophète annonçait que des cataclysmes horribles
allaient arriver à cause de l'impiété du peuple juif.
Alors les Hébreux changeaient d'attitude et le cataclysme ne se produisait
pas. Les auteurs vont même jusqu'à dire qu'un prophète dont les prédictions
ne se réalisent pas est un prophète qui a réussi.
[ La
comparaison de Rebecca Mercuri
n'est pas mal non plus. La variole a complètement disparu de la surface
de la planète dans les années 80. Est-ce que cela signifie que les
millions de dollars dépensés par l'OMS dans les années 60 et 70
l'ont été en pure perte ?
]
-
Après avoir forké IP Filter
Theo de Raadt
d'OpenBSD
a décidé de forker
Apache.
Mais il a décidé de se baser sur la version 1.3 alors que la
version 2.0 est disponible et stable. C'est le lot des logiciels
qui acquièrent une certaine notoriété ou un certain succès (et surtout
dont la licence n'est pas assez libre, mon fils).
D'où la réflexion de certains, « J'espère que
Theo de Raadt
va forker mon programme ! ».
-
Il a été question de lycéens ou d'étudiants en informatique qui ont
eu du mal à effectuer un exercice. Il s'agissait de récupérer des
différences de potentiel grâce à un capteur relié à un ordinateur et de représenter
ces tensions sur un graphique. La difficulté n'était pas de mettre
en œuvre le logiciel graphique, ça, les élèves savaient le faire.
La difficulté consistait à convertir les volts en pixels.
C'est dur, quand on ne sait pas ce qu'est une règle de trois !
[ Du coup, j'ai des doutes quant au niveau requis pour comprendre
mes graphiques du mois dernier.
Cela correspondait à ce qui était
au programme de troisième à mon époque, des jeunes actuellement en
troisième ont-ils le bagage suffisant pour comprendre ? ]
-
Christophe parle de ses (nombreuses) lectures. Il lit notamment
les œuvres de Lagadec. Un point qu'il apprécie chez cet auteur,
c'est sa disponibilité vis-à-vis de ses lecteurs. Il est possible
de lui envoyer un courrier électronique et on peut être sûr
qu'il y répondra.
-
Il a également évoqué
Russell Banks,
George Steiner
et la « littérature comparée ».
-
Il a été question de cinéma, mais pas tellement des dernières nouveautés.
Marc raconte qu'il a vu
le Fabuleux Destin d'Amélie Poulain
dans une salle très proche de Montmartre où se passe le film.
D@vid est l'un des rares français (avec moi) à ne pas avoir vu
ce film. Il avait vu la bande annonce et il avait prévu que les
spectateurs allaient réagir en disant : « C'est un film
rafraîchissant. », « Il nous fait passer un bon moment. »
et autres opinions dans la même veine. Lorsque le film est
sorti, ses prévisions ont été vérifiées et par réaction il
n'est pas allé voir le film.
-
Nous avons parlé d'un autre film avec
Audrey Tautou,
sans toutefois nous souvenir du titre. Il s'agit de
Loin de chez eux
(Dirty Pretty Things
en anglais) et on y voit également
Sergi Lopez
dans un rôle inquiétant.
-
[ Une contribution de Nicolas pour finir ]
Je parlais d'un garçon pour le moins... « attachant »
qui participe aux mercredis de la SF et a fait subir les premiers
outrages à une jeune femme dans une pizzéria de la place St Michel.
Ceux qui veulent se faire une idée peuvent aller se balader sur son
site.
HTML 5 - CSS v3
Mongueurs de Paris, le 28 juin 2018
Copyright © The Paris Perl Mongers, 1999-2024