XML, the Perl Way

Compte-Rendu de YAPC::NA 2002

Compose par mirod a partir de ses emails a Toulouse.pm et Paris.pm

Mercredi

D'abord Larry Wall: un discours rigolo, comme toujours, base sur le Seigneur des Anneaux, avec lui dans le role du heros, les hobbits dans le role des debutants qui des fois, apres moultes aventures, deviennent aussi des heros. Il a aussi insiste sur le fait que la confrerie de l'anneau est aussi une communaute avec des caracteres tres differents, des elfes qui aiment pas les nains et vice-versa, mais qu'a la fin ils arrivent a bosser ensemble et a triompher du Mal. Brefle, sympa, pas directement sur Perl, mais c'est toujours interessant de savoir comment fonctionne Larry.

L'apres-midi c'etait Perl 6 par Damian Conway. C'est base sur un article que j'arrive pas a retrouver (mais ca m'a permis de retrouver le site The Perl Review http://www.theperlreview.com ). Il prends 4 programmes ecrits par des membres de l'equipe de developement de Perl6, des vrais programmes, qu'ils utilisent vraiment, et il les traduits en Perl 6, d'abord le plus simplement possible, et apres en les Perl 6-sant un peu plus. C'etait vraiment bien, Perl 6 peut vraiment ressembler a Perl 5, a part quelques details syntaxiques, mais les versions plus Perl 6-esques sont souvent plus courtes et plus claires. Mes trucs favoris: // (ou 'err', prononcer heur) et le redesign des expressions regulieres. On est sorti de la un peu rassure sur Perl 6, mais inquiet pour la sante mentale de Damian, Larry et Dan Sugalski...

Le soir on a mange libanais avec les Perl Monks et bu de la biere avec des canadiens... la vie est belle (mais fatigante!) La je suis a la session sur mod_perl, 3 heures, ca commence plutot bieng, compte-rendu plus tard...

Jeudi

mod_perl etait vraiment excellent, hyper technique, avec plein de truc assez impressionants. Le gars qui presentait est Geoffrey Young, un des auteurs du mod_perl developer's cookbook ( http://www.modperlcookbook.org/ ) et les slides devraient etre sur le site la semaine prochaine.

Le speech sur CPANPLUS etait pas mal, rien de transcendant, mais cpanplus est bien, c'est ce dont je me sert mantenant a la place de CPAN.pm

Apres MJD avait une presentation sur "comment faire une bonne presentation", le premier example de mauvaise presentation qu'il a donne ressemblait etrangement a un de mes slides sur Perl et XML, ( http://www.xmltwig.com/tutorial/perl_xml/mtb04_04.html )... la honte... surtout que pendant qu'il parlait j'ai ete verifier directement sur mon site et tous mes voisins ont pu apprecier la ressemblance.

La ce sont les lightning talks, ca commence bien, "Why do we need Perl 6" par Adam Turoff qui explique que Perl 5 a recu un coup de pied au cul de Perl 6 et que du coup Perl 5 s'en porte beaucoup mieux. Oups, Gong! Les 5 minutes sont finis, au suivant!

Tim Maher sur Getopt::Declare, un module de Damian Conway qui est assez cool pour gerer les options, de maniere differente(et bieng plus puissante) que Getopt::Std ou Long. Gong!

Cool, MJD (Mark Jason Dominus) sur "Design Patterns" aren't. Il commence par merder avec le portable pour trouver la presentation. Putaing, qu'est-ce qu'il parle vite! Il commence par les iterators, et explique que C++ et Java sont nuls et que le foreach de Perl est bieng mieux. Maintenant il s'attaque a Lisp, mentionne que le pre-processeur mechanisme de C++ "sucks goat dicks" (je cite). L'idee de base et que les "design patterns" est une bonne idee, inspiree d'un livre de Christopher Alexander, un architecte, mais que c'est pas ce que C++ en a fait. Gong!

Je-sais-pas-qui: une maniere de contribuer a Perl: tester des modules (juste les installer et lancer les tests) et renvoyer les resultats a CPAN testers (il l'a pas dit mais cpanplus offre une option a l'install qui envoie les resultats de l'install a CPAN tester).http://testers.cpan.org pour plus d'infos. Gong!

OUh! "CPAN is unusable" par David W Crawford, un sujet de controverse, enfin! Ce mec est idiot, ca prends 10 mn pour prendre l'habitude de search.cpan.org , il suffit de cliquer un peu partout pour trouver comment ca marche. Elaine l'insulte! Cool! Clique sur le .tar.gz Abruti!

Bon, j'ai presque plus de batterie et le portable me brule les genoux, je range, a tshao.

Plus tard...

Donc je reprends ou j'en etais: La fin des lightning talks:

Abigail nous montre les 4G de Perl qu'il a sur son portable: toutes les versions depuis 5.0 (applaudissements), puis des graphes montrant l'evolution de la taille de la distribution (de - d'1M pour perl 5.0 a 10M pour 5.8), de Perl installe et du temps de compile (de 3mn pour 5.0 a 18 pour 5.8).

Andy Lester nous disant d'y aller mollo sur les flames, et d'essayer d'integrer tout le monde dans la communaute. Apparement il a ete traite de "fuckhead" par un eminent perleur et il a pas apprecie. Le talk etait bien, on a besoin de se faire rappeler ce genre de chose de temps en temps.

Un film de 5mn tourne par Nat Thorkington, ou un debutant (Casey West) visite diverses personnalites du monde Perl qui y vont de leur petit numero. Je vous le raconte pas vu qu'il devrait etre en ligne bientot (j'ai pas d'URL). C'est peut etre pas a montrer a des debutants, Perl est entre les mains de fous! Juste une citation "The Error Message is GOD!"

Puis Tim Maher nous montre un generateur de comptine et nous fait changer tous en coeur.

J'en ai oublie quelques un, mais je vous ait liste les plus importants.

Le soir, barbecue IRC chez Brian Michalski, tres sympa, on devait etre au moins 50, hamburgers, biere et Perl... que demander de plus ? La soiree fini vers minuit et on finit a la cite U ou on est loge, dodo vers 3h du matin.

Vendredi matin

Adam Turoff nous montre des "anti-patterns" en Perl: en gros des bouts de code qu'on voit souvent mais qui peuvent etre simplifie.

Casey West nous cause de persistence, en fait juste un introduction a Storable, puis a Data::Denter. Un mec dans l'assistance mentionneDirDB qui a l'air rigolo. (Note de l'editeur, bien apres... Data::Denter est maintenant obsolete et remplace par YAML)

Walt Mankowski nous montre ses tentatives d'accelerer un utilitaire qu'il a ecrit, pourquoi ses premieres tentatives ont echoue pitoyablement, et comment il a utiliser le profiler pour avoir une idee de ce qui se passait, et finalement comment changer l'algorithme a ete bieng plus efficace que d'optimiser le code lui meme.

Les sessions sont courtes ce matin (J'ai choise de ne pas aller aux sessions de 3 heures sur Inline::C, Test ou l'atelier de reparation de programmes de MJD) ce qui me va tres bien... fatigue...

Casey West revient pour nous expliquer pourquoi on doit essayer de ne pas "reinventer la roue". Rigolo...

J'attends avec impatience le "Damian Show" de cet apres-midi, compte rendu plus tard.

Pour finir la matinee: MacPerl par Pudge (Chris Nandor) et son bebe, Riley sur le ventre, je posterai les photos plus tard. Interessant, un panorama des options disponibles sur Mac, OSX ou classix, MacPerl ou Perl "normal"

Ensuite Abigail a presente un modele objet alernatif: en gros la methode traditionnelle est d'avoir un hash par objet. Son modele utilise un hash par attribut et les objets sont les cles des hash. Ca permet de controller les noms des attributs et de "casser" le modele habituel. J'avais fait un peu la meme chose dans le temps, avec un tableau par attribut, et l'objet etait juste l'indice dans le tableau, mais c'etait vilain vu qu'il fallait dereferencer l'objet a chaque fois si je me souviens bien.

Puis dejeuner avec les Perl Monks, y compris l'ennemi intime de BooK, Erudil ;--)

J'ecris ca pendant la vente aux enchere de livres pour supporter Yet Another Society, Damian arrive bientot... titre du show: Time::Space::Continuum

Vendredi apres-midi

Damian Conway: The Space::Time::Continuum

Ou "Relativity for Hobbits"

Quantum::Computing (son speech d'il y a 2 ans) c'etait bon pour le siecle dernier, on a plus le temps pour "...in constant time!, le mantra d'il y a 2 ans.

Ca commence par une introduction a la theorie de la relativite

Puis il tape sur les francais pour avoir invente le systeme metrique (il nous repproche d'avoir invente le metre au lieu d'utiliser simplement la seconde-lumiere), avec un accent francais encore pire que le mieng.

Puis, pour comprendre le voyage dans le temps il nous faut repondre a la question: pourquoi est-ce que la foudre ne frappe jamais 2x au meme endroit (je commence a avoir du mal a suivre)

Tien, une photo d'un digne physicien (Lorentz) devant un tableau ou il a copie 100 fois la ligne "I will not smoke pot in class"

Ca deviens vraiment serieux sur la relativite, mais il promet que ca va devenir pire bientot... ceci dit je crois que je commence a comprendre la relativite. Tout vient du fait que la vitesse de la lumiere est constante!

Ah! Maintenant il tape sur les russes, leur cosmonautes en tout cas

Interlude: The Great Perl Conspiracy

Dominus essaye d'arreter Damian, qui le fait maitriser...

Apparement Larry, Damian et Dan conspirent, on sait pas encore pourquoi. Ils ont elimine MJD, Elaine, Randall Schwartz

Leur but: creer une race de super-programmers (surtout des filles) specialement adapte.

Le pluriel de virus est virus, non virii...

Ah! Quelqu'un a trouve une erreur! Yen a meme qui suivent!

Ca y est, on a depasse la vitesse de la lumiere et on voyage dans le temps, yipee!

demonstration de e=mc2

Maintenant il fait varier Pi (pour un cercle qui tourne!) (vite!)

Donc il est possible de creer des boucle, spacio-temporelles "time-like loop" (il suffit d'avoir un cylindre quasi-infini de neutronium tournant a plusieurs millions de tour par seconde).

Donc, pour revenir a Perl, Damian a ecrit Time::Like::Loop qui ajoute de nouvelles structures de controles, whilst, untilt... qui bouclent dans l'espace temps, "..in 0 time". Du coup il a ecrit des adaptations de plein de fonctions, utilisant des boucles temporaires:

fort, closet, seekdirt (j'ai pas tout note')

Bien sur le module existe vraiment! On a droit a une demo. Perl va plus vite que C (et le langage et la vitesse de la lumiere!)

Ouf! Aplaudissements nourris!

Citations

I am so over "..in constant time!"
I ain't got time for "...in constant time
" uh?
light isn't like a coffee mug