Le monde est petit
Un historique de toutes nos réunions
Table des matières
La voix du secrétaire (Jean)
Record battu ! Il y avait deux présents et la réunion
n'a duré qu'une demi-heure !
Présents à la réunion, par ordre d'arrivée :
- Guillaume qui a mangé des spaghetti carbonara
- et moi qui ai mangé une salade niçoise.
Quand Guillaume a rappelé sur la liste Paris.pm que la réunion d'août était
prévue pour le 6, il a eu si peu de réactions qu'il
a suggéré de la reporter au 13. Il y a eu en fait une réunion
le 6 mais il n'y a pas assisté. Dans la journée du 13, il a contacté
David (Sniper) sur IRC et il lui a rappelé cette réunion
du 13 août. Soit David n'a pas voulu venir, soit il a été pris
par une urgence à son boulot comme cela lui arrive assez
souvent.
Comme la porte du sous-sol était fermée, Guillaume s'est
installé au rez-de-chaussée. Et compte tenu du faible nombre de
participants :-), nous n'avons pas éprouvé le besoin de migrer vers le
sous-sol. Comme la semaine précédente, tous les serveurs portaient le
kilt.
La réunion Perl à proprement parler n'a duré
qu'une demi-heure environ.
Puis la conversation a dévié et nous avons passé
les deux heures suivantes
à discuter de tout autre chose.
- J'ai commencé par donner à Guillaume un aperçu
de la réunion du 6 août
au cours de laquelle nous avons fait la connaissance
de Pascal.
- Nous avons échangé des anecdotes sur les climatiseurs
pour le matériel informatique. Par exemple, un climatiseur
sous-dimensionné qui, par conséquent, lâche au
moment où l'on a le plus besoin de ses services.
Ou bien, un bâtiment du XIXe siècle dans
laquelle la climatisation a été installée dans certains
bureaux mais pas partout, notamment la salle des serveurs
n'a pas eu droit à la climatisation. Ou encore
un climatiseur qui fuit, ce qui fait que la salle
informatique comporte çà et là des seaux pour recueillir l'eau.
- Suite à une intervention de
François Désarménien
sur la liste,
Guillaume demande des précisions sur lui. Apparamment, ils
n'ont jamais eu l'occasion de se rencontrer lors des
réunions précédentes. C'est vrai que Guillaume est
(relativement) nouveau dans le groupe et que François
ne vient plus aux réunions depuis qu'il
habite et qu'il travaille à Soissons (pas Compiègne comme je l'ai
dit par erreur). François était présent à la troisième
journée de YAPC
mais Guillaume ne l'a pas forcément remarqué dans l'assistance.
- Comme je rappelais que François est l'auteur de
Parse::YAPP, nous
avons parlé de
lex et yacc
Le rôle d'un analyseur
lexical comme les programmes générés par
lex
est de découper un
texte source en éléments (tokens) comme un nombre,
une chaîne de caractères ou un mot réservé, mais (généralement) sans
se préoccuper de leur place les uns vis-à-vis des autres. Les analyseurs
syntaxiques, tels les programmes générés par
yacc
examinent l'ordre dans lequel les tokens
se présentent et en déduisent la structure arborescente
du fichier source traité.
- Même si l'on associe généralement
lex et yacc,
ils peuvent être utilisés séparément. À l'époque où je ne
disposais pas de Perl, j'ai beaucoup utilisé
lex pour écrire des filtres, par exemple un programme
qui convertit un fichier en codepage 437 avec des CRLF
en un fichier ISO-8859-1 avec des LF. On peut également
utiliser yacc sans lex dans deux cas.
- L'analyse lexicale est tellement simple qu'on peut la coder
« à la main ». C'est le cas des programmes d'initiation
à la grammaire des langages informatiques, traditionnellement
une calculatrice quatre opérations programmée en yacc.
- L'analyse lexicale est tellement compliquée qu'elle n'est pas
à la portée d'un programme lex. C'est le cas de Perl.
Lorsque l'analyseur lexical rencontre un /, par
exemple, il doit savoir si c'est une division ou bien
le début d'une expression régulière. De même, un <
suivi d'un caractère alphanumérique est-il une comparaison ou
la syntaxe abrégée de
readline ?
C'est à cause
de Perl que j'ai écrit « (généralement) » dans le
paragraphe précédent.
- Il est bien connu que « seul Perl est capable de parser
du Perl ». Cela sera peut-être une réalité avec Perl 6,
mais il faut admettre que pour l'instant, c'est une boutade
et rien de plus : l'interpréteur de Perl 5
est basé sur yacc, donc écrit en C.
- Le trafic sur la
liste Paris.pm
est très irrégulier.
Guillaume s'est absenté une semaine et demie juste après
YAPC. Lorsqu'il est revenu, il avait une énorme quantité
de messages, notamment ceux qui faisaient le compte-rendu
de la conférence, mais aussi la querelle de chapelle entre
les partisans de
XML::DOM
et ceux de
XML::SAX.
Un peu plus tard, le trafic est tombé quasiment à zéro,
ce qui m'a fait croire que le serveur de la liste était planté.
C'est pour cette raison que, au lieu d'envoyer un message à la
liste, j'ai envoyé mon message aux adresses individuelles des
quelques individus qui s'étaient manifestés récemment, soit
électroniquement, soit physiquement
à la réunion du 6 août.
Lorsqu'il a raconté l'une des anecdotes sur les climatisations,
Guillaume a précisé qu'à cette époque il était à l'île de la Réunion. Un peu
plus tard dans la soirée, je lui ai fait part d'une coïncidence
amusante, car, par le biais de mon activité wargamique, je connais un
autre Rousse, lui aussi biologiste et qui est parti il y a un peu plus
d'un an à la Réunion. Après de brèves explications, il s'est avéré que
Guillaume a lui aussi été wargameur et frère de wargameur, que nous
connaissions nos frères respectifs et que nous avons dû nous
rencontrer une première fois au début des années 90. Puis nous avons
passé la suite de la soirée à parler de
wargames (*),
de jeux de rôles et de jeux de plateau.
(*) Par wargame, j'entends un jeu
avec une carte imprimée à 300 dpi, des pions en carton,
un livret de règles et des dés que l'on peut faire rouler ;
pas ces clickodromes affichant quelques gribouillis baveux
à 72 dpi sur un écran de 15 pouces de diagonale
et où l'essentiel de la tactique consiste à savoir quand
il faut scroller horizontalement et quand il faut scroller
verticalement.
Je ne détaillerai pas la suite de la discussion, non pas
parce que je l'ai oubliée, mais parce que :
- si, lorsque l'on vous dit
« Full Métal Planète »,
vous répondez : « Non, c'est
Jacket »,
- si
Commercy
évoque pour vous les
madeleines
et rien d'autre,
- si vous pouvez lire le livre de Tom Clancy Tempête Rouge,
surtout le chapitre « la danse des vampires » sans avoir
l'impression d'entendre des dés en train de rouler,
- si vous ne savez pas qui est visé par l'interjection
« Là, chéri ! Cinq points d'expérience ! »,
- si vous n'avez jamais côtoyé « M. le Croque-Mort » ou
lu les commentaires sur ASL par l'« Ogre au Dé 6 »,
- si vous dites « soldat de plomb » quand d'autres
disent « figurine »,
- si vous n'avez jamais participé au Jeu de la Vaisselle,
- si vous ne savez pas dans quelle portion du
globe sévit la 7th Fleet,
- si, lorsque vous lisez NTK,
en particulier la rubrique
sufficiently advanced technology : the gathering,
vous ne comprenez pas quelle astuce se cache derrière les deux
derniers mots,
alors vous n'avez pas une connaissance suffisante du contexte pour
comprendre les sujets dont Guillaume et moi avons discuté.
À titre de comparaison, imaginez que quelqu'un qui ne connaît
pas l'informatique en général et Perl en particulier
lise cette phrase extraite du compte-rendu du mois de juin :
Quelqu'un a demandé quelle base de données était utilisée pour
les inscriptions. Philippe a répondu :
« Postgres ».
« Non, PostgresQL ! » ont clamé
ceux qui,
un mois plus tôt,
avaient entendu David raconter ses démélés avec
Randal Schwartz
sur Perl Monks.
Il faudrait expliquer à cette personne ce qu'est une base de données,
qui est David et qui est Randal, qui sont les Perl
Monks, que sais-je encore. Or tout cela fait partie du contexte
culturel partagé par la communauté Perl, notamment les Mongueurs de
Perl. Et cette culture s'acquiert petit à petit, par immersion plutôt
qu'en lisant un traité ethnologique...
HTML 5 - CSS v3
Mongueurs de Paris, le 27 juin 2018
Copyright © The Paris Perl Mongers, 1999-2024