- La
compétition de golf en cours
consiste à écrire un script qui prend
un nombre écrit en toutes lettres en anglais et qui le convertit en
un nombre en chiffres
avec des séparateurs pour les milliers.
Philippe (« brix », l'autre a laissé tomber le golf pour l'instant)
montre sa solution à ses voisins. J'étais trop loin pour pouvoir y jeter
un coup d'oeil. J'ai quand même entendu qu'il conseillait très fortement
la lecture de
perldoc perlrun
et de perldoc perlvar,
on y apprend beaucoup de choses utiles et pas seulement pour le golf.
Il évoque entre autres le fait que les deux lignes :
#/usr/bin/perl -l -0n
#/usr/bin/perl -0n -l
entraînent un comportement différent du programme. Dans les deux cas,
$/
(ou $RS,
ou $INPUT_RECORD_SEPARATOR)
est le caractère ASCII correspondant au nombre octal n.
Mais dans le premier cas,
$\
(ou $ORS, ou
$OUTPUT-RECORD-SEPARATOR) correspond à la valeur avant modification
de $/, soit 10, tandis que dans le deuxième cas, $/
a déjà été modifiée, donc $/ et $\ ont la même valeur.
- Une suggestion : organiser un tournoi de golf multilingue. Chaque
participant a le droit d'utiliser le langage qu'il désire pour
soumettre sa solution. Ou alors, le règlement impose un langage autre
que Perl. Par exemple, si la compétition se fait en Python, il semblerait
que la solution la plus courte ressemblerait la plupart du temps à :
system("perl -e'blablabla'")
(pour des valeurs adéquates de blablabla).
- On a remarqué que parmi les golfeurs Perl, il y en a un certain nombre
qui sont nés en 1974. Y a-t-il un rapport ? BooK pense que oui.
Dans l'horoscope chinois, 1974 est l'année du tigre et cette année est
également associée au symbole du bois. Il n'est donc pas surprenant
que les perliens nés sous le signe de Tiger Woods soient de bons golfeurs.
- BooK nous parle de son problème avec GT, problème qu'il a évoqué
sur la liste pendant la journée. Il obtient un avertissement lorsqu'il
utilise GT sans accolades, même avec la flèche =>
qui permet habituellement de s'en dispenser.
my %pays = ( GT => "toto", LE => "titi");
Nicolas a essayé et a constaté un phénomène curieux.
Avec des doubles quotes, cela fonctionne, mais avec des simples quotes,
de façon surprenante, l'avertissement réapparaît. En fait, Rafael
était en train de réfléchir à ce problème chez lui et a envoyé
le résultat de ses cogitations sur la liste :
Nicolas Chuche wrote:
> Bin oui mais chez moi les simples quotes ne marchent pas :
>
> % perl -we 'my %a = ( GT => "gt" );'
> Use of GT is deprecated at -e line 1.
> % perl -we 'my %a = ( 'GT' => "gt" );'
> Use of GT is deprecated at -e line 1.
> % perl -we 'my %a = ( "GT" => "gt" );'
>
Ton shell te joue des tours ;- regarde mieux la deuxième ligne
de commande -- que voit le shell ?
La réponse de Nicolas :
AAAAAARRRRRGH !!!
- Quelqu'un sur la liste a demandé comment supprimer un module de la
mémoire. Lors de la réunion nous nous sommes demandés
pourquoi supprimer un module de la mémoire, sans se contenter
d'un simple
no
pour appeler unimport. C'est
peut-être parce que son programme crée plusieurs threads,
qu'un seul d'entre eux a besoin du module et que les autres peuvent se
permettre de le « décharger » de la mémoire.
- En poursuivant sur les threads, BooK a signalé notamment
qu'ils partagent toutes les variables par défaut. Je réponds que si je me
souviens bien, c'était le cas pour l'ancien modèle 5005 de threads,
mais que pour les threads 5.6, par défaut il n'y a pas de partage.
Voici un extrait de
perl-5.8.0/pod/perlthrtut.pod :
use threads;
use threads::shared;
my $foo : shared = 1;
my $bar = 1;
threads->new(sub { $foo++; $bar++ })->join;
print "$foo\n"; #prints 2 since $foo is shared
print "$bar\n"; #prints 1 since $bar is not shared
(Je n'ai pas vérifié, mon Perl 5.8.0 ne dispose pas des threads.)
- Comme pour la programmation, « il y a plusieurs façons » d'installer
des modules. Il y a les traditionnels comme moi, qui téléchargeons l'archive
.tar.gz, la décompactons et tapons les quatre commandes habituelles.
Il y a les semi-modernes qui utilisent
CPAN.pm
et les modernes qui ont adopté
CPANplus.pm.
Et il y a l'original, Guillaume,
qui utilise des .rpm ; lorsqu'il n'existe pas de .rpm
pour le module qu'il veut utiliser, il en construit un !
- À ce propos, nous sommes plusieurs à avoir remarqué la nouvelle
version de
search.cpan.org.
Maintenant, lorsque l'on
sélectionne un module, il est possible de consulter chaque fichier
séparément comme une page web quelconque. Pas besoin de télécharger
et de décompacter l'archive. Par défaut, le site propose la dernière
version, mais il est possible de sélectionner une version précédente.
- En revanche, il reste quelques hics par ci par là. Par exemple,
la liste de tous les modules de CPAN n'est pas mise à jour de façon cohérente.
Cela fait un an que BooK a soumis
Log::Procmail
et il ne figure
toujours pas dans la liste. À l'inverse, il a simplement déclaré qu'il
souhaitait écrire un module
HTTP::Proxy
et ce module est déjà présent dans la liste.
- Il y a également la
liste des modules du jour,
Briac a constaté
quelques problèmes dans cette liste. Cela dit, on peut utiliser cette
liste pour remonter dans le temps et demander par exemple la liste des modules
à telle ou telle date
en 1996.
En ce temps-là, l'activité était beaucoup plus
faible : quelques modules par mois tout au plus.
- Compte tenu de son activité professionnelle, Nicolas baigne à longueur
de journée dans les fichiers de configuration. Il a essayé d'écrire un
programme capable de lire un fichier de configuration. Comme il écoute
attentivement ce qui se raconte lors de nos réunions mensuelles, il
a décidé d'utiliser
Parse::Yapp
pour décortiquer ses fichiers
de configuration. Le problème, c'est qu'il s'est formé à l'informatique
sur le tas et qu'il n'a aucun bagage théorique sur le sujet. Pour tenter
de comprendre comment ça fonctionne, il s'est plongé dans le source
de Parse::Yapp. Hélas, c'est bien l'un des rares points où
une formation théorique est indispensable. Nicolas a donc laissé
tomber Parse::Yapp et a repris la méthode habituelle,
les expressions régulières. Il faut dire qu'habituellement, les langages
utilisés pour les fichiers de configuration sont d'un niveau au ras
des pâquerettes. La plupart du temps, c'est juste une succession de lignes
motcle=valeur
- Linux Mag
vient de sortir avec le troisième article de Sylvain
et celui-ci vient de soumettre le quatrième (expressions régulières).
Il en a encore quelques-uns à rédiger. Ensuite, il faudra que d'autres
reprennent le flambeau. Il existe déjà quelques traductions par Jérôme Quelin
(les
tris selon Rosler-Guttman,
par exemple) et quelques articles en
cours de rédaction par BooK et moi. Si cela peut inciter de nouvelles plumes,
Sylvain rappelle que Linux Mag paie très bien les articles.
- Sylvain évoque également les autres publications de Diamond Editions.
Il y en a une pour les utilisateurs de Macintosh qui ne connaissent rien
ou presque à la programmation et une autre pour les utilisateurs de Linux
du même niveau. Pour rédiger des articles, il faut vraiment partir de la base,
expliquer ce qu'est une variable ou une boucle.
- Pour YAPC-2003, nous en sommes toujours à la recherche des salles de conférence.
Isabelle a prospecté chez un certain nombre d'écoles d'ingénieur et les
perspectives ne sont pas optimistes. Dans un bon nombre de cas, les
écoles n'ont pas les moyens d'organiser une manifestation sur place. Si une
telle manifestation est prévue, l'école a recours à une organisation extérieure
et la manifestation a lieu, par exemple, au parc floral de Vincennes. Hélas,
les prix pratiqués ne sont pas à notre portée.
- Emmanuel a trouvé l'endroit révé : pas cher, hébergement fourni,
équipé avec les technologies de pointe, cadre agréable. Le problème, c'est
que c'est à Soissons. Dans son message, Emmanuel annonçait 1 heure par
la route, 1 h et 20 minutes par le train. Isabelle a jeté
un coup d'oeil sur le site. Il y a bien les indications permettant
de rejoindre la
technopole de Soissons
par la route, mais aucune indication
pour utiliser le train.
- Pour Paris intra-muros, les deux sites les plus intéressants sont la
Cité des Sciences
et le Forum des Images. Notamment, la Cité des Sciences cherche à
diversifier son public. En effet, c'est toujours les mêmes personnes qui viennent
aux différentes expositions organisées à la Villette. Un autre avantage de
la Cité des Sciences, c'est que l'un des responsables est déjà aquis à la
cause des logiciels libres.
- Il est question également de Linux-Expo. Pour les associations,
les stands sont gratuits. Cela vaudrait donc le coup d'y participer.
- Vous pouvez chercher, il n'existe pas de site Internet proposant les
cent mille milliards de poèmes de Raymond Queneau. Pourtant,
cela aurait pu constituer un bon exemple pour apprendre à programmer
un CGI ou une applet Java. Mais les héritiers de Queneau ne sont pas
du même avis et ils ont fait supprimer tous les sites reprenant les
1014 poèmes pour rendre hommage à Queneau. Ou bien, peut-être
espéraient-ils avoir des dommages et intérêts symboliques, c'est-à-dire
un franc, pas plus, par poème. Ce qui fait...
- Il en avait déjà été question lors d'une réunion précédente, nous
reparlons du
projet Honeynet.
Il s'agit de quelques machines destinées
à se faire pirater. Mais les responsables de ce projet les surveillent
constamment pour savoir comment s'y prennent les pirates
pour attaquer une machine ou un réseau. Une fois les éléments rassemblés :
trace TCPDump, image du disque dur, etc.
ils les mettent à disposition sur le web pour que les administrateurs
réseau du monde entier puissent eux aussi s'exercer à identifier
et contrer les attaques. Par exemple, on peut (parfois) retrouver la
liste des commandes effectuées par le pirate en consultant le
fichier .sh_history du login qu'il a utilisé.
- Attention, le bug n'est pas forcément là où vous croyez !
Nicolas (ou brix ?) était en train d'adapter un
site web, entre autres pour intercepter la célèbre erreur 404 et
afficher une page un peu plus agréable que la page habituelle. Il modifie
la configuration, il teste et ça ne fonctionne pas. Il vérifie
la configuration d'Apache, il reteste... et ça continue à ne pas fonctionner.
Il regénère Apache, reteste... et ça continue à foirer.
C'est au bout de plusieurs itérations qu'il a compris qu'il était victime
du phénomènre suivant : lorsque la réponse du serveur après une erreur
404 tient en 512 caractères ou moins, alors le client Internet Explorer
la remplace par une page web 404 à lui. Le seul moyen pour faire afficher
une page correcte, c'est d'envoyer une réponse suffisamment longue
pour passer outre cette limite de 512 caractères.
- Nous avons discuté de formation pour débutants en informatique.
Certains concepts sont assez délicats à faire assimiler, comme
les pointeurs. De plus, la syntaxe C des pointeurs est assez
absconse, ce qui n'aide pas à la compréhension. Sans cet obstacle
de la syntaxe, peut-être la notion de pointeur serait plus simple
à comprendre. Sylvain reste au niveau de base, en décrivant la
mémoire, les adresses, etc. Nicolas utilise la métaphore des
bouteilles et de leur contenu. J'évoque un article que je n'ai
jamais rédigé, présentant la notion de pointeur et de variable
pointée en C. J'avais l'intention d'utiliser des pointeurs
nommés Bobby, Pamela, et ainsi de suite,
dans un programme qui s'intéresse à la décoration de la
salle de séjour des individus concernés. Ainsi,
*Pamela = vert_pomme
représente le fait que Pamela a décidé de repeindre sa salle
de séjour en vert pomme. Ou bien,
Bobby = Pamela
signifie que Bobby emménage chez Pamela. À ne pas confondre avec
*Sue_Ellen = *Pamela
qui représente le fait que Sue-Ellen a redécoré sa propre salle de
séjour et que pour ce faire elle a récupéré les pots de peinture et
les rouleaux de papier que Pamela n'a pas utilisés. Avec cette
métaphore, on comprend ce qui se passe si quelques semaines plus
tard,
*Pamela = jaune_citron
print *Bobby
print *Sue_Ellen
Cela représente le fait que si Pamela décide encore une fois de changer
la décoration, alors Bobby aura une salle de séjour en jaune citron tandis
que Sue-Ellen continuera à avoir une salle de séjour en vert.
J'avais l'intention d'écrire cet article il y a très longtemps. Puis j'ai
découvert Perl, j'ai constaté qu'en Perl l'utilisation principale des références
est de permettre l'imbrication de structures de données et que le
mécanisme d'alias ou d'indirection est plutôt l'affaire des typeglobs.
Et pour répondre à Isabelle qui portait un T-shirt
Dynasty,
si j'ai utilisé les personnages de
Dallas,
c'est parce que c'est l'archétype
du feuilleton américain ayant pour thème la vie des différents membres d'une
famille [ Il y a d'autres feuilletons archétypaux, Star Trek, Starsky et Hutch,
X-Files, Urgences, mais leur thème est différent. ]
- Au sujet de la formation à l'informatique, nous avons également
parlé de l'enseignement de
C++.
Ce langage ne fait pas l'unanimité
chez les informaticiens, même parmi les informaticiens traditionnels
qui ne se sentent pas concernés par Perl, Python, Scheme et consorts.
L'un des participants a suivi un cours de C++ au cours duquel l'enseignant
suggérait que « C- - » aurait été un nom plus approprié.
- Quelqu'un fait également remarquer que pour être un bon enseignant
en informatique, il n'y a pas nécessairement besoin d'être très bon techniquement.
En effet, un gourou risque de passer très rapidement sur un problème qui
est élémentaire pour lui mais qui bloque la compréhension de ses élèves.
- La version 3 de
gcc
permet l'utilisation des
templates
C++, ce qui n'était pas possible avec la version
2. En fait, la version 2.9.x autorisait les templates, mais
d'une part la version 2.9.x est la version alpha de la version 3.0,
d'autre part c'est une version instable, à ne pas utiliser pour des
projets importants.
- La fois dernière, Guillaume nous avait surtout parlé de son activité
en biologie. À la demande de Stéphane, il a présenté cette fois-ci son activité en
rapport avec
Mandrake.
Guillaume n'est pas salarié de Mandrake mais en tant que contributeur bénévole il
est concerné de près par la mise au point des distributions.
Pour diverses raisons, philosophiques, politiques et commerciales,
Mandrake s'abstient de diffuser certains logiciels. Ainsi, on ne trouvera
dans une distribution Mandrake aucun logiciel permettant de faire du
peer-to-peer ; on ne trouvera pas non plus un freeware
(où free se traduit par « gratuit » : pas de coût d'acquisition,
mais les sources ne sont pas disponibles). Guillaume a donc recueilli quelques
« impubliables » pour les mettre à disposition sur un site
web qui n'est pas affilié à Mandrake. Ce site a eu un succès certain.
Lorsque Guillaume est arrivé à Jussieu dans le cadre de ses études, il a eu
comme de coutume le droit d'installer son site web sur la machine de Jussieu.
À la suite de cela, le trafic a augmenté dans des proportions considérables.
En examinant les statistiques, on voyait que la première page web à caractère
scientifique était en vingtième position, derrière les pages de Guillaume.
Dans certains cas, le débit du serveur web était saturé pendant plusieurs jours
d'affilée. Le nom de ce site : le
« Penguin Liberation Front ».
- Apparamment, la politique de Mandrake n'a pas toujours été aussi stricte
dans le passé. Par exemple, malgré la licence « pas tout-à-fait libre »
de
Qt,
Mandrake a incorporé
KDE
dans ses distributions, ce qui leur
a permis de prendre des parts de marché à Red Hat. Stéphane fait la remarque que
ce problème est récurrent et qu'il réapparaît sous une forme ou une autre à chaque
génération.
- Parmi les logiciels gratuits mais pas libres que diffuse le
« Penguin Liberation Front »,
il y a mplayer.
Les développeurs
sont, dit-on, des fous furieux. Ils cherchent par tous les moyens à optimiser
leur logiciel. Ils ont développé leur propre moteur de rendering, parce
que les moteurs existants n'étaient pas assez rapides. Leur logiciel supporte
de nombreuses cartes graphiques, tout en exploitant au maximum les particularités
de ces cartes pour avoir des performances optimales. L'édition de liens est
systématiquement une édition de liens statique, car avec une édition de liens
dynamique, on perd du temps à charger les modules à l'exécution, ce qui dégrade
les performances de 0,01 % : inacceptable !
- Mplayer connaît tous les formats vidéo existants, même les
formats Microsoft les plus ésotériques. Pour les formats de sortie, il permet
même d'afficher le contenu d'un DVD en ASCII Art ! Il paraît que dans
certains cas, c'est uniquement pour pouvoir utiliser Mplayer que
Linux est installé sur certaines machines.
- Dans le milieu du logiciel libre, il y a d'autres développeurs
avec qui il est assez difficile de traiter. Il y a par exemple
D.J. Bernstein.
Lorsque l'on installe un logiciel écrit par D.J. Bernstein,
la procédure d'installation commence par créer un répertoire spécifique
à partir de la racine /. Pas question d'utiliser /usr/local
ou /opt ! À cette occasion, la discussion a dérivé sur l'interprétation
du
standard FHS,
pour savoir dans quelle catégorie il convenait de ranger
les logiciels spécifiques à la distribution installée par rapport aux logiciels
installés par l'administrateur.
- Dans le même ordre d'idées, il y a Théodore Ac. Mais je n'ai pas noté
ce qu'il avait fait. Je ne suis même pas sûr d'avoir l'orthographe correcte
de son nom.
- Pour diffuser leurs logiciels, les individus de cet acabit
ont recours à l'acrobatie suivante : les archives présentes sur
les miroirs et les CD-ROM ne contiennent que les binaires et la documentation.
Si quelqu'un souhaite disposer des sources, il le précise lors de l'exécution
de ./Configure et c'est à ce moment-là seulement que les
sources sont téléchargés à partir de la machine de D.J.B ou de ses
semblables.
- Chez les photocopieuses, comme chez les ordinateurs, la
technologie a beaucoup progressé ces dernières années. Elles
permettent toujours de copier un document papier. Mais avec une
connexion TCP/IP et un interpréteur Postscript, elles font également
office d'imprimante réseau ou de scanner. Si en plus elles ont un
modem, elles peuvent faire office de fax. Chez les photocopieuses comme
chez les ordinateurs, la progression de la technologie a également
son mauvais côté. Maintenant, avec Postscipt et TCP/IP, il est possible
de leur envoyer un virus : une boucle sans fin qui sort une feuille
de papier de temps en temps. Il existe des garde-fous, mais on peut les
contourner. Si la photocopieuse possède à la fois une connexion TCP/IP
vers le réseau local et une connexion modem vers le réseau téléphonique,
alors ce n'est plus une faille de sécurité, c'est un gouffre béant de sécurité !
- À Munich, nous avons vu de nombreux conférenciers et une certaine
proportion de spectateurs utiliser Mac OS X sur des IBook. Faut-il
utiliser ou non Mac OS X ? L'interface utilisateur a l'air
d'être très bien faite. D'un autre côté, certains font remarquer que
les versions successives ont tendance à réduire l'étendue des options
offertes à l'utilisateur. Même si cela simplifie la vie du débutant,
cela ennuie l'utilisateur confirmé.
- Comme c'est la mode depuis quelques années, les conférenciers utilisent
PowerPoint ou un clone. Cela dit, dans les présentations PowerPoint
de
Damian Conway,
les effets spéciaux sont en nombre réduit. De plus
ils sont utilisés à bon escient, en rapport direct avec ce qui est
exposé.
- Pour ses deux lightning talks, Philippe a utilisé
Magic Point.
C'est un logiciel de présentation relativement
simple. On tape le texte sous
Vi
(sauf ceux qui préfèrent
Emacs
ou Ultra Edit :-)
avec quelques balises et la présentation est
prête ! Quelqu'un évoque
Kpresenter
qui, comme son nom
l'indique, fait partie de KDE. Kpresenter fonctionne en
WYSIWIG, c'est-à-dire que l'on tape le texte à un endroit
du cadre, puis on fait glisser le texte pour qu'il soit correctement
aligné avec les autres lignes. Au moins, avec les logiciels
à base de fichier texte comme Magic Point, on n'a pas
besoin de se préoccuper de l'alignement, c'est assuré par défaut par
le logiciel ! Il a été question de
Perl Point
dont nous avons eu une présentation
l'an dernier à Amsterdam
mais qui
n'est apparamment pas beaucoup utilisé par les participants. Il
a même été question de LATEX dont l'un
des formats permet de mettre en page une série de transparents.
- Philippe (BooK) s'intéresse à la compilation croisée. Il en
a besoin parce que l'une des machines qu'il a chez lui est
un vieux PC sous OpenBSD avec un processeur 486 et pas de lecteur de CD-ROM
et que la compilation irait plus vite sur un PC Linux-Pentium-CD-ROM.
- Pour présenter la notion de programme à un débutant qui ne
connaît rien à l'informatique, on utilise parfois la métaphore de
la recette de cuisine. Briac nous parle d'un langage informatique
qui prend cette métaphore au pied de la lettre :
Chef.
On y utilise des notions d'ingrédients et de récipients, les boucles
se font « jusqu'à obtenir la consistance désirée ».
- D'un langage loufoque à un autre, je signale que Jérôme Quelin
vient de diffuser sur CPAN un module permettant
d'insérer du code Ook!
dans un script Perl.
Ook!
est un langage dérivé
de Brainfuck.
D'autre part, et c'est la raison pour laquelle
j'ai remarqué le module de Jérôme, c'est un langage aisément compréhensible
par les orang-outans, surtout celui qui est
bibliothécaire
de l'Université Invisible
à Ankh-Morpork.
- D@vid, on le sait, sauvegarde régulièrement son disque dur sur des
cartouches Zip. Il cherche à optimiser le remplissage des cartouches
et demande s'il existe un algorithme pour ce faire. Cela rappelle
l'algorithme du knapsack,
dont François m'a déjà parlé
dans le cadre de la
cryptographie
et que
j'ai retrouvé sous la plume de Bruce Schneier dans Applied Cryptography.
Cela rappelle également les problèmes liés à l'allocation dynamique de
mémoire, avec le choix entre le best fit et le first fit.
Le first fit cherche, comme son nom l'indique, le premier espace libre
qui permet de stocker le fichier à sauvegarder ou le nombre d'octets transmis
à malloc(). Le best fit cherche l'espace libre qui s'adapte au
mieux ; en d'autres termes, il calcule la taille de l'espace résiduel
et cherche à la minimiser, car cela maximise la taille des autres blocs libres.
Il est facile de trouver un exemple où le best fit réussira
mieux que le first fit.
Les exemples sont basés sur deux disquettes Zip à 100 Mo chacune.
Si l'on cherche à mémoriser des fichiers de 60, 70, 30 et 40 Mo,
le best fit réussira, pas le first fit :
Fichier First fit Best fit
disque 1 - disque 2 disque 1 - disque 2
100 - 100 100 - 100
60 60+40 - 100 60+40 - 100
70 60+40 - 70+30 60+40 - 70+30
30 60+30+10 - 70+30 60+40 - 70+30+0
40 planté ! 60+40+0 - 70+30+0
Beaucoup moins intuitivement, il y a des situations où le
first fit réussira et où le best fit échouera.
Si l'on doit copier des fichiers de 60, 70, 20, 30 et 20 Mo, on a :
Fichier First fit Best fit
disque 1 - disque 2 disque 1 - disque 2
100 - 100 100 - 100
60 60+40 - 100 60+40 - 100
70 60+40 - 70+30 60+40 - 70+30
20 60+20+20 - 70+30 60+40 - 70+20+10
30 60+20+20 - 70+30+0 60+30+10 - 70+20+10
20 60+20+20+0 - 70+30+0 planté !
Stéphane signale que, paradoxalement et statistiquement, le first fit réussit
plus souvent que le best fit. Je l'ai également lu
dans le premier volume de
The Art of Computer Programming
de Knuth.
En fait, il y a une différence entre ce qui est dit ci-dessus et
le problème de D@vid. Lorsqu'un gestionnaire de mémoire reçoit une
série de malloc(), il ne maîtrise pas du tout l'ordre dans
lequel il répondra à chaque requête. Pour ses sauvegardes, D@vid
connaît d'avance la taille des différents fichiers, il peut donc
essayer l'une ou l'autre des méthodes, voire trier par taille
décroissante les fichiers et appliquer les deux méthodes à la liste
triée. Et j'ai l'impression que la méthode la meilleure est le
first fit après tri décroissant. C'est juste une impression,
je n'ai rien démontré et j'ai juste essayé les deux exemples ci-dessus.
- En voyant D@vid avec une cravate, ce qui en fait n'a rien d'étonnant,
quelqu'un, j'ai oublié de qui il s'agissait, a demandé où était le notaire.
- Il paraît que le Ministère de la Justice recrute des gardiens de
prison. Un participant fait remarquer qu'il faudrait plutôt recruter
des maçons pour construire de nouveaux bâtiments. Quelqu'un d'autre,
le même que pour la cravate (donc j'ai oublié de qui il s'agissait,
restons cohérents) rétorque que ce n'est pas nécessaire, il suffit
d'entasser du monde dans une cellule, puis on découpe en cylindres et
cela donne des nems.
- Et quelle est la différence entre un américain et un yaourt sorti
du réfrigérateur ? Si on attend suffisamment longtemps, le
yaourt développe une certainte culture.
- Parmi les films sortant ce mercredi 9 octobre, il y a
Bowling for Columbine
de Michael Moore.
Guillaume l'a
vu la veille en avant-première et nous le recommande chaudement.
BooK, qui est abonné à la liste de diffusion de Michael Moore,
rapporte une anecdote à son sujet. L'an dernier, Moore
a écrit Stupid White Men, un livre
dans lequel il critiquait la société américaine en général et
son président en particulier.
Puis arrivent les événements du 11 septembre. L'éditeur a alors averti
Michael Moore qu'il n'était plus question que ce livre anti-américain
sorte et qu'il serait pilonné aux frais de l'auteur. Moore
a été sauvé par le nombre de préventes sur
Amazon et sur
Barnes & Nobles
et l'éditeur a consenti à faire paraître
le livre. [ Amazon au service de la liberté d'expression !
Qui l'eut cru ! ]
- Juste avant la réunion, Nicolas a fait des emplettes dans une librairie
et il s'est procuré quelques livres de science-fiction. L'un d'eux fait
partie d'un cycle de
Zelazny.
Je connais cet auteur de nom, mais je ne
crois pas avoir déjà lu quelque chose de lui. L'inconvénient des cycles,
c'est que si le premier de la série me plaît, j'achète la totalité
et cela occupe de la place sur mes étagères. C'est vrai qu'un cycle de
5 livres par Zelazny, c'est beaucoup moins encombrant que le Monde-Disque
de Pratchett
(26 romans
dans la ligne principale, plus un certain nombre de
livres dérivés).
Par ailleurs, Nicolas a l'air d'être autant bibliophage
que moi, sinon plus. Il met à profit ses (longs) temps de transport en commun
pour lire et, comme si ce n'était pas suffisant, il continue à lire
pendant la partie de ses trajets à pied.
- D@vid a parlé de la tenue vestimentaire des agents immobiliers, en
assurant que c'était un point de détail. Les clients veulent un service,
ils ne tiennent pas compte de la tenue vestimentaire de l'agent à
qui ils s'adressent. Nous sommes plusieurs à avoir été étonnés par
une telle affirmation. Un agent immobilier est en contact direct
avec sa clientèle, il faut donc qu'il soit vêtu de façon correcte par
égard pour ses clients. Instinctivement, un client aurait tendance à
se méfier de quelqu'un dans une tenue négligée.
- La barbe de D@vid étant plus fournie que précédemment, la discussion
a également porté sur les rasoirs mécaniques : rasoirs jetables et
rasoir à lame interchangeable.
- À l'instar de London.pm,
voilà que nous nous mettons à parler de
Buffy,
the Vampire Slayer.
Au fait, contrairement à ce qu'indique
son surnom, elle s'occupe également des fantômes et des démons si nécessaire.
Regardé au premier degré, le feuilleton n'a aucun intérêt. Tous les épisodes
ont la même trame, lorsque l'on en a vu un, on les a tous vu.
Au second degré, on remarque le décalage entre le sujet du feuilleton
(le même sujet que la majorité des films d'horreur)
et la façon dont c'est traité (la comédie).