[Toulouse-pm] CR3 (fin)
Michel Rodriguez
mirod at xmltwig.com
Wed Jun 18 09:57:05 CDT 2003
Salut,
Version HTML complete: http://www.xmltwig.com/report/yapc_na_2003/cr3.html
Extreme Programing Tools for Module Authors - Brian Ingerson
La session d'Ingy est en meme temps que celle de Leon sur "Little
Languages in Parrot", zut, bon, tant pis, je verrais Leon a OSCON ou
a Paris.
Introduction
Il parle d'abord de kwiki (le kwiki de yapc est a
http://yapc.kwiki.org/ )
Il utilise une version de kwiki pour faire les slides de sa
presentation. Du coup on peut changer les slides pendant la session,
du moins si on peut se connecter au reseau, ma carte wireless semble
refuser de se connecter au reseau de la fac aujourd'hui ;--(
Cool, ca lui permet de zoomer facilement, c'est mieux que
PowerPoint!
Il propose de renommer Perl/Pythn/Ruby "Agile languages" (et
"eXtreme Programing" "Agile Programing", ca evite les problemes de
marque deposee).
Il aime ecrire des modules, et il se propose de nous montrer
quelques un des outils quil utilise pour faciliter le developement.
Il fait du XP (d'apres lui Ward, "l'inventeur" de XP, fait du Java
au boulot et dans ses bouquins, mais du Perl a la maison). Ca n'est
pas que de la programation par paire, pour lui le plus important
c'est d'ecrire les test d'abord. Aussi important est *"saw
sharpening"*: des quun tache est repetee, essayer de l'optimiser
(c'a se rapproche du talk de Damian hier, affuter ses outils),
*"duplication is the Devil"*
Les secrets pour quun module ait du succes:
- facile a installer - le moins de dependance possible (boo de la
foule) - il doit etre puissant, on doit pouvoir le pousser assez
loin - un bon nom! - la premiere version doit etre "juste assez
bonne", cad pas trop de bugs, mais n'a pas besoin d'etre parfait -
il doit etre OO - si possible pluggable - doit s'integrer bien avec
d'autres modules - doit marcher sous Windows - beaucoup de doc! si
possible un cookbook) - faire des presentations du module - avoir
une mailing liste/wiki/IRC dedie
CGI::Kwiki
Tiens, son Mac plante... niark niark...
Il utilise le wiki pour tout, ecrire des idees, des notes mais aussi
du code, des tests, bien sur pour collaborer sur des modules. Son
repertoire de developement est "/web/cgi-bin". On en fait le tour...
je suis pas tout. C'est tout des fichiers ".pm".
Il nous montre le code, il est tres simple de passer de CGI a
mod_perl.
Maintenant demo de comment ecrire une extension au wiki: personne
n'est jamais completement satisfait de la maniere dont un wiki
marche. Donc allons-y, changeons le formateur du wiki.
On veut pouvoir ecrire *'italiques'*, ''gras"" et *'''gras et
italique''*, apparement c'est a la mode chez les wikis ce mois-ci.
On herite du formateur de CGI::Kwiki, histoire d'avoir son
comportement par defaut. Puis on rajoute un petit handler "bold" qui
recupere le texte et fait "s{'''(.*?)'''}{$1}g;". bold est une des
methodes appelees pour le texte, il y en a tout un tas, appelees
dans l'ordre.
Un example simplemais qui marche facilement.
Module::Build
2 ou 3 fois pendant la session il a tape sur MakeMaker (le module
qui cree le Makefile pour installer les modules a partir du
"Makefile.PL").
Pourquoi utiliser un truc lourdingue et hyper-complique pour generer
un fichier de config pour un utilitaire ("make") alors quon a Perl
sous la moin, par definition.
MakeMaker est si complique (pour pouvoir tourner sur 2 millions de
plate-formes differentes) quon ne peut plus le modifier facilement.
Module::Build, de Ken Williams, remplace MakeMaker en eliminant la
dependance envers "make"
Il nous raconte l'histoire de CPAN::MakeMaker, qui en gros etait un
virus qui tentait de remplacer "ExtUtils::MakeMaker". Ce plan
diabolique a foire quant Andreas Koenig l'a utilise pour CPAN.pm ..
brefle c'est une longue histoire, mais au bout du compte CPAN.pm
etait verole.
Apres cette tentative infructueuse il a commence a utiliser
Module::Build, bundle avec les modules quil produisait (il n'etait
pas sur CPAN).
Au bout du compte il a ecrit Module::Instal permet d'ecrire le
Makefile.PL de maniere plus simple et plus puissante quavec
MakeMaker (par exemple pour installer des scripts en plus du
module), et peut generer ou un Makefile.PL pour MakeMaker ou un
fichier pour Module::Build... si j'ai bien compris.
Il faut que je regarde ca de plus pres pour la prochaine version de
XML::Twig.
Extraits
La presentation est plutot rigolote (c'est pas facile pour lui
d'integrer les anneries que le public poste dans ses slides),
extraits:
*"Modules can make you famous"* Quelquun a ajoute "Windows" a la
phrase "What WindowsXP means to me"... reponse... rien" He wrote his
last program: he refactored himself out of programing RETUSTATSGOE:
Ridiculously Easy To Use / Scale To Any Task / Should Be Grokable in
One Example *"Perl is everywhere, it's probably in the chair under
your butt"*
Les Lightning Talks
Il y avait tellement de monde dans la salle que je n'ai pas pu
prendre de notes en direct, donc de memoire, les plus marquants:
Ken Williams, je crois, nous donne 5 choses a faire absolument: "use
strict", "use DBI", connaitre l'OO, savoir taper vite (tiens, Damian
sait pas faire ca, (moi non plus) quel looser(s) ;--)
Tedd Olson a une presentation sur "ajouter la programation de flots
(stream programing) dans Perl", en gros pouvoir faire des pipes
(a-la-unix, pas ce que vous croyez...) dans Perl meme, pas seulement
entre differents process.
Une autre presentation ou il propose de mettre la ponctuation en
debut de ligne, pas a la fin:
$i=1
; $i++ unless( $test)
; if( $test) {
$i++
; $i--
}
Je trouve ca plutot rigolo... la salle s'agite
Pierre Denis presente D3D, un package 3D en Perl/Gtk, rigolo, il
fait tourner des spheres, des pyramides.
Allison Randal nous fait chanter (comme d'habitude!)
Tim Maher nous explique que le succes de Seattle.pm est du a son nom
officiel: SPUG (et surement d'autres trucs mais je rate le debut
apres la pause).
D'autres truc que j'ai oublie... presentation de differents modules.
Liens: http://yapc.kwiki.org/index.cgi?LightningTalks et photos
bientot.
Activites du soir
Donc comme decrits dans mes flashs d'hier soir, ensuite c'est le
repas (finalement le traiteur envoie des pizzas Domino pour se
rattraper de s'etre plante de jour) et la mise aux encheres de
divers bouquins, tablier de cuisine (pour le CookBook) et trucs
debiles: Un Programing Perl signepar les auteurs parts pour $200,
Leon Brocard ( http://xmltwig.com/report/yapc_na_2003/acme.jpg ) est
adjugepour $160 a Jos et Aevil (qui participent par IRC), Piers
vends la place de Leon dans ses CR de Perl 6 (Leon est mentionne
chaque semaine dans le CR)... je l'achete... pour Leon, je n'aime
pas changer les traditions.
Bref, on s'amuse bien (Piers et Ziggy font du bon boulot:
http://xmltwig.com/report/yapc_na_2003/ziggy_piers_1.jpg ) et on
recolte des sous pour The Perl Foundation.
(note: les photos font 1M chacune, je ferais une galerie propre plus
tard)
Ensuite toute la salle se translate jusquau cine du coin ou Kevin a
loue une salle pour quon puisse voir The Matrix Reloaded. Le film
est pas brillant (mais bon, c'est pas mon genre non plus) mais les
commentaires de la salle le rendent au moins amusant.
Bon, apres au lit, je cause demaing.
Michel Rodriguez
Perl & XML
http://www.xmltwig.com
More information about the Toulouse-pm
mailing list