Présents à la réunion, en fonction de l'ordre d'arrivée approximatif
David (Sniper),
Anthony,
moi,
Emmanuel,
Rafael,
Arnaud,
Charles,
David (Grinder),
et Jérôme.
Nous avons mangé des oeufs mayonnaise, un blue-cheeseburger, deux
bacon-cheeseburger, un cheeseburger sans qualificatif, une entrecôte,
une pièce du boucher, des chocolats liégeois avec de la Chantilly
et une tarte aux pommes. Nous avons bu de la Beamish Red, de
la Paulhaner, d'autres bières, de l'Orangina et une margarita.
L'été est la saison des vacances et des voyages à l'étranger, avec
notamment les conférences. Mais il n'y a eu que deux participants
qui ont assisté à une conférence : Rafael à
OSCON (Portland)
et moi à
YAPC::Europe (Braga).
OSCON n'est pas entièrement consacrée à Perl, il y a également
des conférences sur d'autres logiciels comme
Apache.
Rafael a pu assister à de nombreuses conférences sur Perl,
mais il n'a rien pu voir parmi les conférences qui l'intéressaient
et qui concernaient d'autres logiciels. Je lui suggère de faire
comme certains à YAPC::Europe, à savoir assister à une conférence
et se connecter à Internet pour visionner une autre conférence diffusée
en streaming sur le web et prendre part à
une discussion sur IRC. Pour discuter avec le gars qui est
assis trois fauteuils plus loin, a dit quelqu'un.
Hélas, la carte Wifi de Rafael ne
fonctionne pas et, de plus, de son propre aveu, il n'a qu'un seul cerveau.
À Portland, il y avait
Larry Wall,
sa femme Gloria et ses enfants
qui assuraient la charge d'assistants-conférenciers.
À Braga,
il y avait Larry et Gloria, mais sans les enfants.
Au vu des photos, l'ambiance est beaucoup plus décontractée à YAPC
qu'à OSCON. Est-ce, un effet du tarif beaucoup plus élevé
pour OSCON et qui incite les participants à se comporter plus
sérieusement ? Rafael n'a vu personne à Portland
porter un fishnet rose
ou pédaler sur une voiture pour gosse.
Je préviens Rafael qu'il a été nommément cité par
Abigail
lors de sa
communication-éclair.
Le lightning talk
avait pour sujet l'avertissement déclenché lorsque l'utilisateur
code une ligne du type :
print(3 + 5) * 2;
Le message d'avertissement est destiné à faire comprendre au
programmeur que le programme n'imprimera pas 16, mais 8,
puis qu'il prendra le code retour du print et qu'il
le doublera. Dans son lightning talk,
Abigail présente plusieurs cas de figure où
l'avertissement pourrait être déclenché mais où
ce n'est pas le cas, par exemple si le print
et la parenthèse sont séparés par une tabulation.
Abigail finissait sa communication en interpelant
Larry et les deux
pumpkings,
Nick et Rafael, pour leur demander de supprimer cet
avertissement.
Une autre
communication-éclair
intéressante était celle de
Mark-Jason Dominus
à Portland. Il évoquait un problème mathématique traité par
un mathématicien néerlandais dont Rafael ne se rappelle
plus le nom.
[ C'est De Brujin. ]
Le problème consiste à prendre n
symboles, ce qui donne n2 bigrammes
ou n3 trigrammes et ainsi de suite
et à trouver une séquence la plus courte possible qui contienne tous
les bigrammes ou trigrammes. Par exemple, pour 3 lettres
« ABC », il y a 9 bigrammes qui apparaissent
tous dans la chaîne de longueur 10 : « AABCCBBACA ».
Si l'on autorise l'extraction de sous-chaînes formées
à partir de caractères qui ne sont pas contigus dans la
chaîne d'origine, on peut réduire cette chaîne à « ABCABC »
par exemple. C'est très facile pour des bigrammes, mais ça se
complique à partir des trigrammes.
Une mise en pratique de ce problème concerne
la vérification des aphorismes tels que :
Si vous buvez du vin puis du whisky, vous aurez la gueule de
bois, mais si vous buvez du whisky puis de la bière, vous n'aurez
pas de problème.
M-J.D. a tenté de vérifier avec une séquence optimale
de boissons alcoolisées et il a quand même été malade.
Il a ensuite donné une citation de Michel-Ange
(quoique j'ai des doutes sur cette attribution) :
Pour faire la statue d'un éléphant, il suffit de prendre
un bloc de marbre et d'enlever tout ce qui ne ressemble
pas à un éléphant.
M-J.D. étend cette méthode de sculpture à la programmation.
Il part d'un fichier texte de plusieurs méga-octets et,
en supprimant des caractères par ci par là, et
en faisant quelques copier-coller, extrait une
sous-chaîne qui est un programme Perl syntactiquement
et sémantiquement correct. Compte tenu des travaux de
De Brujin, ce fichier texte contient
implicitement tous les programmes Perl.
Il montre enfin les dernières
lignes du fichier : une ligne de copyright à son nom
plus une licence où il exige des redevances. Donc,
quiconque écrit un programme Perl de moins de xxx
octets est tenu de verser des sous à M-J.D. De plus, comme
plus aucun logiciel n'est libre, OSCON 2006 est supprimée.
Rafael a entendu dire qu'il y avait des
tuits
disponibles à Braga
(et en plus, ils sont ronds). Mais je n'ai pas
pensé à en prendre pour les lui donner.
Bien que n'ayant pas de tuits,
Rafael vient de corriger un bug dans Perl, lié à une
fonctionnalité très peu connue.
Moi notamment, je savais que cette fonctionnalité
existait en C, mais je ne savais pas qu'elle
fonctionnait aussi en Perl.
Il est possible d'insérer de temps en temps
des commentaires tels que :
# line 217 file breebeep.pl
Comme les directives de pré-compilation C correspondantes,
cela réinitialise le nom du fichier source et le compteur
de lignes et si un message d'erreur apparaît, le numéro
de la ligne source sera calculé à partir du dernier
commentaire # line rencontré.
Hélas pour Léon et son
débugueur,
Perl perd les
pédales lorsqu'il rencontre une telle ligne dans
un eval. Au bout de trois heures de
débuggage, Rafael a compris que le problème venait
d'une variable interne dont le nom est @_<
plus le nom du fichier et contenant le source du programme, et que le eval
ne la mettait pas à jour comme il faut.
Nous avons évoqué le
débugueur
standard de Perl,
perldb.pl. Rafael a déjà jeté un coup d'oeil
dans les
sources
et moi, j'en connais les quelques
extraits que Léon nous a présentés à Braga.
Il y a certains commentaires qui ne sont pas piqués
des hannetons !
Cela fait un certain temps que
use.perl
ne donne plus le résumé de la semaine de la
liste des Perl5-Porters.
Le rédacteur qui a pris la succession de Rafael a abandonné
au bout de quelques semaines. David aimerait ressusciter
cela avec l'aide d'une autre personne dont je n'ai pas
entendu le nom. Rafael raconte comment il faisait
à l'époque où il s'en occupait. Il rédigeait le résumé
le dimanche soir en regardant la télévision. Il y avait
trois séries américaines à la suite mais seule la troisième
l'intéressait véritablement. Généralement, il avait
fini avant la fin de la deuxième série et il n'avait donc
aucun mal à suivre sa série télévisée.
Nous avons évoqué
l'« effet Slashdot ».
Jérôme a connu
quelqu'un dont le site a été
slashdotté
en 2001. Le serveur sur lequel se trouvait le site a été surchargé juste
après la diffusion de la nouvelle dans
Slashdot.
Dans les jours qui ont suivi, l'hébergeur a gentiment
mais fermement demandé au copain de Jérôme de trouver
une autre solution d'hébergement chez quelqu'un d'autre...
Récemment, use.perl
s'est également fait slashdotter. C'est d'autant plus
ironique que
Chris Nandor,
qui s'occupe de use.perl, est aussi le développeur de
slashcode
et que la machine qui héberge use.perl
sert également de machine de test pour slashcode.
Vous pouvez imaginer la gueulante qu'il a poussée
à l'adresse des administrateurs de
slashdot !
Récemment, à deux occasions Jérôme a eu vent d'une information
avant Slashdot et il l'a communiquée à son entourage avant
que cela n'apparaisse dans Slashdot. Dans un des deux cas,
il s'agissait d'un article sur les
« 6 erreurs communes en matière de sécurité ».
L'une des erreurs décrites
est de croire qu'on a bouché tous les trous de sécurité.
Malgré tous les efforts possibles et imaginables, il
reste toujours d'autres trous auxquels l'administrateur
réseau n'a pas pensé.
Arnaud a pris de bonnes résolutions pour l'année scolaire
qui commence, il va se coucher de bonne heure tous les soirs.
Récemment, après une (courte) soirée passer à bidouiller
un programme ou à jouer à un jeu, Arnaud fermait toutes
ses sessions en cours. Au moment de fermer sa session
IRC, il avertit les autres personnes connectées que :
Bon, ce soir, je me couche tôt !
Son message s'affiche alors sur le canal IRC, préfixé de
l'heure 04:mm:ss...
Après avoir dit beaucoup de mal de la stratégie commerciale de
Red Hat,
lors d'une précédente réunion,
Anthony nous parle de
Mandriva
qui lui a donné une impression complètement opposée.
Après les contacts qu'il a eus avec des commerciaux
de Mandriva, il comprend mieux leur vision économique
du marché du logiciel libre. Cela dit, quelqu'un d'autre
fait remarquer que l'action Mandriva n'est pas au meilleur
de sa forme... Elle n'est pas dans ses pires moments non plus, hein.
Côté services, certains remarquent que les SSLL
risquent de nuire à l'image du logiciel libre.
En effet, certaines SSLL embauchent n'importe qui pour aller
faire du service chez les clients qui optent pour
du libre et il en résulte des prestations de mauvaise
qualité, de nature à décourager ces clients d'avoir
choisi des logiciels libres.
Une boîte dont la réputation n'est plus à faire, c'est
Microsoft.
C'est sans doute pourquoi ils font de la
publicité pour tenter de redorer leur blason.
C'est ainsi que ces dernières semaines, on peut
voir des affiches qui opposent les dinosaures,
qui n'ont pas su évoluer, à Microsoft Office,
qui a évolué. Je fais remarquer que les dinosaures
ont régné en maîtres sur la Terre pendant toute
l'ère secondaire, qui a duré de -200 millions
d'années jusqu'à -65 millions d'années. Quand
on voit ce que provoque un cyclone sur la population
humaine du pays le plus riche du monde, on peut
se demander si l'espèce humaine est capable d'évoluer
comme il faut pour résister aux catastrophes naturelles
(ou causées par l'homme). Et nous ne sommes sur Terre que depuis
2 millions d'années, soit beaucoup moins que
les dinosaures. Quelqu'un note ma mention du pays
le plus riche du monde pour ajouter que c'est
aussi le pays qui a le dirigeant le plus stupide
du monde. C'est vrai que ça n'aide pas...
Sniper est prestataire dans une boîte qui s'est équipée
de matériel imposant et très performant. D'autre part,
dans cette boîte, la sécurité est une préoccupation
importante, avec notamment une insistance sur le
respect du secret. Par exemple, l'un des sites
d'exploitation est désigné par un simple sigle
du genre « le CTI »
et non pas une appellation complète et prononçable comme
« Trifouillis-les-Oies ».
Mais Sniper n'a aucune idée de l'endroit où ce
site d'exploitation
peut se trouver en France, voire à l'étranger.
Méga-ordinateurs, le secret à tout prix, vous me suivez ?
Éh bien vous vous trompez (comme moi lors de la réunion),
Sniper ne travaille pas pour la
NSA.
Arnaud a installé Linux sur l'ordinateur de sa mère.
À cette occasion, il a remarqué un phénomène curieux :
à chaque installation de Linux, il y a un package
qui est systématiquement installé même si on ne le
demande pas. Heureusement, cela ne prend pas de place
sur le disque dur, car ce package
s'installe dans le cerveau de l'utilisateur.
C'est le package
Troll-nn.nn.
Il l'a remarqué parce qu'un jour, sa mère a eu besoin
d'envoyer un message électronique et pour ce faire,
elle a demandé au père d'Arnaud de lui prêter
sa machine (sous Windows). La réaction de la mère,
en voyant le menu Démarrer a été :
« C'est quoi, ça ! C'est compliqué !
C'est mieux sous Linux ! » Puis, une fois
le logiciel de messagerie démarré (par le père) :
« C'est moche, dis donc ! »
Il a été un tout petit peu question de
Prolog
lors de la réunion, lorsque nous avons évoqué la présentation
de ce langage par Marty Pauley à YAPC::Europe.
Cette présentation nous a montré que Prolog est
particulièrement bien adapté pour résoudre des problèmes
tels que les casse-têtes de traversée de rivière
en tenant compte des contraintes du genre : X
ne peut pas supporter Y et il ne peuvent donc
pas être sur la même rive, sauf s'il y a aussi Z
pour s'interposer. Arnaud évoque un projet consistant à
écrire un programme pour jouer à
Othello.
Son équipe en avait écrit un avec un langage procédural,
à base d'algorithme alpha-béta. Une autre équipe avait écrit
un programme d'Othello en Prolog. Celui qui avait gagné,
c'était le programme en langage procédural.
Pour Sniper, le meilleur éditeur sous Windows est sans conteste
Ultra Edit.
Il existe des fonctionnalités qui n'existent pas
dans les autres éditeurs. Ou bien, certaines fonctionnalités
comme le mode colonne sont immédiates à mettre en
oeuvre sous Ultra Edit, alors que c'est la croix et
la bannière pour les activer sous les autres éditeurs,
sans compter le temps passé à fouiller dans la doc.
Dans son éloge d'Ultra Edit, Sniper a pointé une déficience
de vi, déficience qui apparaît lorsque l'on travaille
sur plusieurs buffers. Si l'on veut passer d'un buffer
à un autre, on est obligé soit de sauvegarder l'ancien
buffer sur disque, soit d'abandonner les modifications en cours.
Certains font remarquer que ce n'est plus le cas pour
vim,
que cette restriction ne s'applique qu'à la version
de base vi sans « m ».
Quant à moi, je lui demande
pourquoi il ne veut pas sauvegarder un fichier si
cela fait plus de vingt secondes qu'il l'a modifié.
Tout le monde sait bien qu'il faut régulièrement
sauvegarder ses fichiers... Sniper me donne le cas
où il veut effectuer plusieurs copier-coller d'un
buffer vers un autre. En fait, c'est une superbe
fonctionnalité de vi (y compris la
version de base sans « m »
[ et on trouve l'analogue également sous
Emacs ])
il est possible de faire du
« copier-copier-copier-coller-coller-coller ».
C'est l'objet du tutoriel placé à la fin du compte-rendu.
Je n'ai pas
eu le temps de raconter comment j'avais appris tout cela.
C'était en 1993, je travaillais avec un terminal passif genre VT-220
connecté à un HP-9000. Un jour, j'ai envoyé un man vi
puis un man ex vers l'imprimante et j'ai soigneusement
rangé les deux fois 34 pages dans mon tiroir. Quelques jours
plus tard, il y a eu une panne de réseau. J'ai alors ressorti
les deux paquets de feuilles et je les ai lus en attendant
le rétablissement du réseau. J'ai retenu peut-être 10 %
de ce que j'ai lu, mais ces 10 % m'ont été énormément utiles
jusqu'au jour où j'ai installé Emacs sur mon PC.
Ce qui plaît à certains participants à la réunion, c'est que les commandes
de vi forment une espèce de langage [ j'aurais plutôt
dit un produit cartésien ]. Par exemple, si }
est la commande qui permet de déplacer le curseur jusqu'à
la ligne vide suivante, alors d} permet d'effacer
le texte jusqu'à la ligne vide suivante, c}
permet de détruire le texte jusqu'à la ligne vide puis
de passer en mode insertion et y} permet de
copier la fin du paragraphe pour pouvoir la coller ailleurs.
Une lacune de vi[ mais peut-être que vim
fait mieux ], c'est sur les conversions
minuscules-majuscules. La seule chose qu'il soit possible
de faire, c'est d'inverser la casse d'un caractère
par ~ (tilde) ou de n caractères par
n~. Impossible de tout mettre
en majuscules ou tout en minuscules ou bien de changer les mots pour qu'ils
aient une initiale en majuscule et le reste en minuscules.
De temps en temps, on parle de « marketing aggressif ».
C'est bien le cas pour la
campagne publicitaire récente
de Sun
pour leur nouveau serveur à 64 bits.
Dans le cadre de cette campagne, ils ont demandé
à un avion de montrer une banderole publicitaire (ce qui
n'a rien de remarquable) et ils ont demandé à cet avion
de survoler le site de Dell.
D'autre part, dans certaines ébauches de publicités,
il y avait une
allusion directe à Dell.
Arnaud ayant passé quelques semaines au Viêt-nam, la discussion
porte sur... la Chine. On trouve là-bas, en vente libre,
des DVD d'installation de Windows avec de nombreux logiciels
(genre Adobe PhotoShop), le tout pour 10 dollars.
Jérôme a parlé de
Mikros Image
une société qui s'occupe
d'effets spéciaux pour le cinéma et qui se trouve à
Levallois-Perret. Nous avons brièvement évoqué
Simon Wistow
qui travaille également dans une société
d'effets spéciaux, mais à Londres.
Arnaud a installé
KDE 3.4,
il est époustouflé. En particulier, parmi les nouvelles
applications disponibles,
il y a amaroK,
une application pour écouter de la musique.
Même si Vista (ex Longhorn) n'est pas encore sorti, il est possible
d'installer les effets spéciaux sur une machine XP. Mais ça rame...
Quand il était au Viêt-nam, Arnaud logeait à côté
d'un immeuble en construction. Il était donc dérangé
par le bruit. Heureusement, le travail était suspendu
entre minuit et 4 heures du matin...
Ça, c'est la vision du Viêt-nam par un Français.
La vision de la France par les étrangers (viêtnamiens
ou autres) est totalement différente : la France,
c'est le pays des grèves à répétition. Les participants
font remarquer que cette vision est une vision déformée.
En effet, il n'y a pas beaucoup de grèves dans le
secteur privé en France, c'est une spécialité du
secteur public. [ Nos fonctionnaires
habituels n'étaient pas là, à part Anthony. Donc
impossible de connaître le point de vue de la
fonction publique sur ce sujet. ]
Il y a eu une discussion sur les problèmes épidémiologiques
actuels. Mais de leur aveu même, les intervenants
ne sont pas spécialistes en la matière et ils ont
simplement tenté de faire part de ce qu'ils ont
lu ou entendu. Si l'on ajoute un intermédiaire (moi)
qui ne suis pas plus spécialiste que les autres,
il y a fort à parier que ce qui suit ne reflète
pas fidèlement la réalité.
Cela a commencé à cause d'Arnaud et de son retour du
Viêt-nam. Comment savoir s'il a la
grippe aviaire ?
Jérôme a entendu dire qu'il risque d'y avoir une
catastrophe sanitaire d'ici cinq ans, liée à la
grippe aviaire. Compte tenu des déplacements
rapides des humains, la grippe pourrait se répandre
sur la planète entière en quelques semaines, voire
quelques jours. Le danger est plus grave que pour le
virus Ebola,
car Ebola tuait en quelques heures, avant que l'individu
contaminé ait pu se déplacer à une grande distance.
Tandis que la grippe aviaire tue au bout d'un temps
plus long, ce qui permet aux germes une dissémination
plus importante. Comme quoi, la létalité n'est pas
proportionnelle au danger.
Il paraît que les scientifiques ont délibérément
arrêté les recherches pour trouver un vaccin contre le
SIDA. La raison serait que cela risquerait d'introduire
des mutations, lesquelles mutations auraient pour
effet de permettre la contamination aérienne par les
voies respiratoires, alors qu'actuellement la contamination
se fait par le sang. Comme pour le paragraphe précédent,
c'est sous toutes réserves, d'autant plus que cela
fait penser en plus à une théorie de la conspiration.
Arnaud nous a parlé de Fred, son ancien copiaule, qui est déjà
venu à une de nos réunions il y a pas mal de temps.
Pour ceux qui ne s'en souviennent pas, c'est le gars
à côté duquel Arnaud donne l'impression d'être frêle
et malingre. Fred faisait partie
de l'équipe de France de judo et connaissait donc cette
célébrité dont la renommée déborde du monde restreint
du judo pour s'étendre sur la France entière à
propos de la couleur de la monnaie (les
humains qui me lisent ont tout de suite compris, pas les
googlebots). Mais Fred
et la célébrité ne s'entendaient pas très bien.
Arnaud raconte un entraînement au cours duquel
Fred était opposé à quelqu'un
largement en-dessous de son niveau. Le combat
était arbitré par la célébrité. En peu de temps,
Fred prend un avantage
décisif sur son adversaire. Mais l'arbitre refuse
d'accorder un ippon (victoire).
Fred reprend le combat,
effectue une prise qui lui donne de nouveau
l'avantage, mais l'arbitre n'accorde toujours
pas la victoire. Fred
continue, exécute une nouvelle prise (demandez
le nom technique et la description à Arnaud, je
n'ai pas retenu) et demande : « Et là,
il y a ippon ? »
Non, il n'y avait toujours pas ippon.
À l'issue du combat, Fred,
excédé, s'adresse à l'arbitre et lui demande devant
toute l'équipe : « Et toi, d'où qu'c'est
qu't'es un entraîneur ? » La formule
a fait florès au sein de l'équipe de judo et la célébrité
a souvent entendu, par la suite : « Et toi, d'où qu'c'est
qu't'es un entraîneur ? »
Sniper raconte quelques souvenirs de
paint-ball
et de laser-quest.
Il explique à ceux qui
ne connaissent pas le principe : les joueurs se tirent
les uns sur les autres avec des armes à air comprimé qui tirent
des billes contenant de la peinture. Lorsque la bille arrive
sur la cible (parfois le décor, en général un joueur), elle
éclate et la peinture contenue se dépose au point d'impact.
Les billes colorent donc des vêtements
de diverses couleurs, mais la peau en dessous est toujours colorée
en bleu. Le magnifique bleu-ecchymose. Pour le
laser-quest, chaque joueur est muni
d'une arme produisant un rayon laser et porte un équipement
réunissant un détecteur de rayon laser et quelques circuits
logiques pour compter le nombre de coups adverses reçus
(pas de tir fratricide dans ce jeu). Sniper
raconte une occasion
où il s'est aperçu que les joueurs de l'équipe adverse
avaient trouvé le moyen de couper le courant, ce qui
désactive à la fois l'arme et le détecteur. Ces joueurs
rétablissaient le courant juste le temps de tirer sur
un adversaire puis le coupaient de nouveau.
Lorsque Sniper s'est plaint au gérant de l'espace de jeu,
celui-ci lui a répondu que les adversaires étaient des
habitués du lieu et que Sniper était un joueur occasionnel.
Le gérant préfère donc perdre la clientèle épisodique de Sniper
que la clientèle régulière de ses adversaires.
Il a été question de jeux vidéos. Sniper trouve
que cela permet de passer le temps lorsqu'il
n'a rien d'autre à faire. Comme le matin de son
mariage, par exemple. Il était habillé, coiffé, pomponné,
prêt pour la cérémonie, et il restait deux heures avant
le départ. Qu'a-t-il fait ? Il a sorti une console
de jeu et il a fait quelques parties, au grand étonnement
de son hôte, stupéfié de voir son
flegme et sa maîtrise de soi.
Nous avons parlé de
Grand Theft Auto
et du remue-ménage récent autour de ce jeu. Le bruit a
transpiré qu'il y avait des scènes « chaudes »
dans la dernière version. Les instances qui examinent chaque nouveau jeu
pour déterminer les conditions de la mise sur le marché
ont décidé de le cataloguer parmi les jeux pour adultes.
Ne pouvant pas espérer le vendre à leur clientèle adolescente,
les revendeurs en ont donc commandé beaucoup moins que
d'habitude. Du coup, les commandes initiales sont très loin
de couvrir les coûts de développement et de programmation,
alors qu'habituellement un jeu est rentabilisé rien
qu'avec les commandes initiales des revendeurs.
Un bide en stratégie commerciale ?
Cela dit, il existait déjà des scènes « chaudes »
dans une version précédente, mais avec une présentation
édulcorée. Tout ce que l'on pouvait voir, c'était la
voiture, garée dans un coin, mais bougeant de bas en haut
et inversement sur un centimètre ou deux. En même temps,
l'indicateur de vitalité augmentait et l'indicateur
représentant le porte-monnaie du joueur se vidait...
Et allez expliquer à un jeune enfant pourquoi le mouvement
de la voiture fait augmenter la vitalité !
Les jeux dont il a été question étaient surtout des
First-Person Shooters,
comme l'ancètre
Doom,
Duke Nuke 'Em
et Quake.
L'un de ces jeux,
je ne sais plus lequel, est hautement irréaliste.
Si j'ai bien compris la technique, un joueur perché
sur une tour lance plusieurs grenades, attend qu'elles
explosent et bondit d'explosion
en explosion pour rejoindre un autre perchoir
sans avoir besoin de redescendre sur le plancher
des vaches. Ou bien, pour un déplacement très rapide,
un joueur lâche une roquette à l'endroit où il
se trouve et l'explosion le projette à plusieurs mètres
de là, sans perdre un seul point de vie.
Fred, dont il était question plus haut,
est lui aussi un amateur de jeux vidéos. Mais Arnaud raconte
qu'à l'époque où ils faisaient encore chambre commune,
Fred jouait à Doom III.
Un soir, il a interrompu une partie car il était
temps d'aller se coucher.
Arnaud a alors éteint la lumière. Fred,
encore dans l'ambiance de son jeu, l'a supplié de
rallumer la lumière, le temps de rejoindre
son lit. Comme quoi, on peut être impressionnant
et impressionnable. C'est arrivé à d'autres
personnes (Grinder, je crois), avec
Alone in the Dark.
Sniper raconte une partie
qui s'est prolongée tard dans la nuit. Pour ne pas déranger
son frère qui dormait dans la même pièce, Sniper avait
branché son casque pour bénéficier du bruitage du jeu.
Or, le scénario était conçu pour que le joueur
explore un souterrain ou une cave. Par conséquent,
le son du jeu diminuait d'intensité de façon insensible
et de temps en temps, Sniper ajustait le volume
pour entendre quelque chose, même si c'était le
« swish, swish » de ses semelles sur le
sol. Quand soudain, il s'est fait attaquer par deux
chiens. Le frère de Sniper qui, rappelons-le, dormait
dans la pièce, n'a pas entendu les chiens. En revanche,
il a très bien entendu la réaction de Sniper !
Certains jeux vidéos, bien qu'étant des jeux de
combat, sont un peu plus évolués que
Doom et consorts. Les jeux
Infiltration
et Hitman
sont donnés en exemple : il faut parfois
réfléchir pour jouer le scénario. De plus, les
adversaires cybernétiques n'agissent pas toujours
de la même façon d'une partie à l'autre.
Il existe un jeu nommé Alien contre Predator.
Arnaud y a joué et il a été déçu. Il existe également un
film avec le même titre.
Dans le film, c'est le
Predator qui a gagné. Je fais remarquer que c'était
seulement la demi-finale, parce qu'il y a aussi le
film Freddy contre Jason.
Et bientôt,
la finale Predator contre Jason. On
me fait remarquer que je n'ai pas tenu compte
de Robocop contre Terminator.
À ce sujet, Jérôme fait remarquer que le film
Robocop
a très mal vieilli. Des effets spéciaux comme ça,
ça fait ringard de nos jours.
Quelqu'un fait également un parallèle entre les deux films
Robocop
et Terminator,
avec en particulier le personnage qui s'appelle dans
un cas Sarah Connor, dans l'autre cas Anne Lewis.
Lors de la réunion, David (Grinder) et moi avons évoqués à nos interlocuteurs
respectifs quelques commandes et enchaînements de commandes bien pratiques
disponibles sous vi. Je n'ai pas entendu tout ce que David
a dit, donc il y a des lacunes dans les paragraphes suivants. D'autre part,
j'ai légèrement étendu le champ du mini-tutoriel à quelques commandes
qui n'ont pas été évoquées en réunion.
D'autre part, je tiens à préciser qu'il s'agit de commandes pour
vi
sans « m ». Je n'ai jamais cherché à apprendre les nouveautés de
vim
par rapport à vi et je crois que David lui aussi est un adepte
de vi sans « m ». Cela dit, pour vérifier mes dires,
j'ai utilisé ce que j'avais sous la main, c'est-à-dire vim.
Déplacement au sein d'une ligne : prenons la ligne suivante :
Que j'aime à faire apprendre un nombre utile aux sages !
Le curseur est positionné au début de la ligne et on souhaite le
positionner sur le « t » de « utile ».
Au lieu d'appuyer comme un malade sur la flèche droite
(ou, pour les experts, sur la touche l), il suffit
juste de taper ft.
Revenons au début de la ligne (par 0, zéro). Pour aller
sur le « i » de « utile », il y a plusieurs
possibilités (outre l'appui maladif sur la flèche droite).
On peut taper fi, ce qui positionne le curseur sur le
« i » de « aime », puis à deux reprises
sur ; qui positionne le curseur sur le
« i » de « faire » puis
sur le « i » de « utile »
ou bien alors, on peut compter le nombre de « i »
sur la ligne et taper donc 3fi,
ou finalement, on peut remarquer qu'il existe un seul « l »
(comme Lima) et taper tl. La commande t est équivalente
à la commande f, avec en plus le recul d'un caractère.
Si vous voulez revenir au « i » de « faire »
ou de « aime » après avoir tapé 3fi pour rejoindre le
« i » de « utile », tapez ,, ou ,
et toute combinaison de ; et de , vous permet
d'aller d'un « i » à l'autre.
Pour aller dans l'autre sens, utilisez F et T.
Ainsi, si vous êtes en fin de ligne et que vous souhaitez rejoindre
le « i » de « utile », tapez Fi
ou bien Tt. Le ; fait aller dans la même direction,
c'est-à-dire vers la gauche et la , fait revenir sur ses pas,
c'est-à-dire vers la droite.
Évidemment, cela peut se combiner avec les commandes de modification
de texte : d2fi ou 2dfi permet de supprimer
le texte jusqu'au deuxième « i ».
Déplacement par paragraphe : si votre fichier est constitué de
paragraphes séparés par des lignes vides, vous pouvez aller
au début d'un paragraphe avec { et à la fin avec }.
Marque-page : pour poser un marque-page, choisissez un
nom composé d'une consonne, par exemple, « b » et
tapez mb. Les voyelles sont autorisées, mais elles posent
des problèmes si votre terminal est configuré pour la France.
Déplacez-vous dans votre fichier, puis tapez 'b
(simple quote et le nom de votre marque). Vous vous retrouvez
au début de la ligne qui contient votre marque. Ou alors,
tapez `b (accent grave et le nom de la marque) et
vous vous retrouvez à l'emplacement exact de la marque.
Là encore, vous pouvez combiner avec une commande de modification.
Sachant que si vous faites d'b avec une quote normale,
la suppression se fera par lignes entières, tandis que d`b
avec une quote inverse provoquera une suppression de caractère
à caractère.
Copier-coller multiple : le copier-coller se fait avec
la commande
y pour copier
et p pour coller,
avec les variations habituelles : 3yy pour
copier 3 lignes, yfi pour copier de la position
courante jusqu'au prochain « i », y'b pour
copier de la ligne courante à la ligne contenant la marque « b »
et ainsi de suite. Évidemment, un copier écrase le contenu du copier précédent.
Maintenant, si vous préfixez ces commandes
(ou les commandes de destruction avec un « d »)
par une double quote et une lettre différente à chaque fois, les différents copier
ne s'écrasent pas l'un l'autre, il sont stockés dans des « buffers nommés ».
Essayez la manip suivante sur un fichier :
déplacement puis "a3yy
déplacement puis "by}
déplacement puis mb
déplacement puis "cy`b
édition d'un nouveau fichier par :e fichier (vous aurez peut-être
besoin de faire :w ou bien :e! fichier si le fichier
d'origine a été modifié)
"ap, puis "bp et "cp
à trois endroits différents
du deuxième fichier
Comme vous pouvez le voir, les trois zones copiées ne se sont pas
mélangées ni écrasées. Il est théoriquement possible d'utiliser 26 buffers
nommés différents, mais j'ai rarement eu l'occasion d'en utiliser plus de 5 à la fois.
Au-delà, si vi suit toujours, moi je ne peux plus suivre, l'effort
de mémorisation est trop important. À noter que cela existe aussi sous Emacs,
mais légèrement moins ergonomique (voir les commandes copy-to-register
et insert-register). Je ne sais pas si cela existe dans
un éditeur qui n'est apparenté ni à vi ni à Emacs.
Encore mieux avec les buffers. En 1993, j'ai écrit un script combinant spell
et awk (je ne connaissais pas Perl à l'époque) qui prenait un texte
en anglais et ajoutait à la fin les fautes d'orthographe préfixées par un point
d'interrogation. Exemple :
This is an example with speling mistaeks.
produisait :
This is an example with speling mistaeks.
?speling
?mistaeks
Sous vi, je me positionnais sur la dernière ligne et je tapais "add.
Cela supprimait la ligne en la mémorisant dans le buffer « a ».
Puis je tapais @a.
Cela prenait la chaîne supprimée, ?mistaeks,
qui était alors interprêtée comme une commande vi. Dans le cas
présent, c'était la recherche en arrière de la chaîne « mistaeks ».
Je pouvais alors passer en revue toutes les fautes de frappe que j'avais
commises pour les corriger. Peut-être existe-t-il de nos jours un correcteur orthographique
interactif sous vim pour Linux, mais à l'époque, nous étions en 1993
et c'était vi pour HP-UX. Et l'essentiel, c'est de retenir le
principe de la commande @.
Pour finir, une manip que je n'ai pas trouvée par moi-même, mais que l'on m'a
montrée. Tapez 20i+- puis la touche « Escape ».
Impressionnant, non ? Là encore, cela existe de façon limitée
sous Emacs (commande repeat avec un préfixe C-u
ou un préfixe M-n, n étant un nombre à un chiffre)
et je ne sais pas si cela existe dans d'autres éditeurs.