XML, the Perl Way


Compte-Rendu de YAPC::Europe 2003 - Paris


YAPC::Eu, Mercredi

Excellente soirée hier: vers 8h je trainais dans le quartier CNAM j'ai commencé a voir passer des gens avec des sacs YAPC, puis en m'approchant des T-Shirts YAPC... puis des T-Shirts ROSES YAPC... j'avais trouvé le bar officiel de YAPC! Ou plus exactement un des bars officiels de YAPC. Paris.pm au complet, une bonne partie de London.pm et d'Amsterdam.pm (avec des T-Shirts spécialement crées pour l'occasion), pas mal d'américains et de canadiens... la grande foule quoi! Ensuite on a envahit la Taverne, le repaire préféré de Paris.pm, mangé, descendu quelques bières, fait la fermeture, puis les derniers survivants ont fini dans un autre bar, jusqu'à 4h du matin.

Du coup j'ai un peu raté la matinée, juste eu le temps de griller queques cigarettes en attendant l'heure du déjeuner.

Tie and Overloading

Dave Cross

Cet aprés-midi je suis dans le cours de Dave Cross sur Tie et overloading. Je veux vérifier que j'ai pas trop merdé l'interface de Params::Style.pm.

Pour l'instant il décrit l'excellent Tie::Hash::Cannabinol (ou THC), qui malheureusement n'est pas légal en France (mais si vous trouvez un serveur en Hollande c'est probablement OK là bas).

Overloading

Ca commence par les bases, et puis après la pause café (ou je rencontre Blop, ça faisait longtemps que je l'avais pas vu) ça devient rusé. Je savais pas qu'on pouvait surcharger l'interprétations des constantes par Perl: dans son example il a un module qui implèmente un objet pour les fractions (il stocke le numérateur et le dénominateur), et oui, il arrive à avoir my $half= '1/2', ou my $three_quarter= '1/4' + '1/2', ou les constantes sont transformées en objets. Tres cool! Voir Number::Fraction sur CPAN.

Il a aussi un article, publié hier sur perl.com, sur le sujet.

Il finit en avance (son cours était prévu au depart pour être bieng plus court, mais il a du remplacer le cours sur SVG au pied levé, le présentateur a raté son avion (nirk-nirk, ya pas qu'à moi que ça arrive)

Du coup on a droit à des présentations bonus!

Cool tricks with AT codes

Un script qui lui permet d'utiliser son portable (téléphone portable!) pour piloter sa machine. Il compare ça à la même chose en Applescript, bien plus compliqué,

Il contrôle xmms, Galeon, Blast...

Comme l'indique le titre... c'est très cool

Toute l'architecture est en place, il pilote sa présentation depuis son téléphone. Il ne reste plus qu'à écrire quelques menus intéressants et on pourra diffuser ça à grande échelle et ``Take Over the World'', yipee!

Ca marche avec un Ericson, le module est Device::Ericson je crois.

Information, architecture, programming and YOU

Simon Winstow

Information Architecture n'est que vaguement définit (c'est lui qui le dit, pas un commentaire désopilant du compte-rendeur), mais comme il y a un bouquin d'O'Reilly dessus,ben ça doit exister!

Son talk va donc essayer de définir ce concept plus précisement. Si je comprends et si je retranscrit correctement (et si la batterie de mon portable ne me lâche pas) vous aussi saurez employer ce nouveau buzzword et épater votre famille, vos copains, votre chef...

Donc attention: long et touffus paragraphe suit:

Il cause donc de la différence entre données (data) et information. Le programeur s'inquiète de l'origine des données, et l'architecte de où l'information va. Il est important de communiquer entre concepteurs et programeurs. En tant que programeur nous devons essayer de ne pas oublier pour qui nous développons. Nous devons aussi essayer de coder proprement les cas limites (pour que le code ne crashe pas), et créer des interfaces intuitives mais qui ne brident pas les utilisateurs (qui ne sont pas stupides d'après lui, on doit pas avoir les mêmes, à mon avis il a piqué tous les utilisateurs intelligents et il en restait plus pour moi ;--). Ne pas créer une attitude ``Nous contre Eux'', (en fait c'est ``Nous Tous contre le Marketing!''). Le rôle de l'Information Architect est de faciliter tout ça.

Question de Greg: tout ça c'est des trucs que les codeurs et les concepteurs devraient faire, pourquoi créer une nouvelle race (les ``Information Architects''). Réponse: Oui mais en pratique ça marche, il y a besoin de quelqu'un pour tenir ce rôle. Ca peut être le Chef de Projet, ceci dit. En plus on peut trouver du boulot comme IA.

Here's one I made earlier

Piers Cawley

Commence devant un écran vide et nous fait applaudir à tout rompre pour que les gens de la salle a côté soient jaloux. Ca marche, sur IRC Leon demande ce qui se passe.

Puis il fait un Poney avec un baudruche... fascinant. La crinière surtout.

Applaudissements

Le Mac sur lequel il a sa présentation a des problèmes. Ca y est, ça commence

Salauds! Applaudissements dans la salle voisine.

Ca cause de refactorisation. Il remplace une série de if dans une classe par du polymorphisme avec double-dispatch. Le problème est que par exemple un objet implémente par un hash n'hérite pas de la classe HASH, alors que son code en aurait besoin (son code appele différente methodes suivant le type d'un paramètre de la méthode).

Solution: il surcharge bless! Joli! Il recupère le type de l'objet et le pousse dans le @ISA, ce qui fait que la classe en hérite.

Et un joli coup:

  *CORE::GLOBAL::bless=\&bless; # le 2cd bless est le sien

pour remplacer le blessde Perl par le sien (ne marche qu'avec un Perl récent, 5.8 ou peut être 5.6, il ne sait pas).

Puis il utilise AUTOLOAD pour éviter de bless-er les classes qu'il ne vaut pas blesser, puis rajoute un petit bout de code qui fait que tous les types de bases héritent d'un type unique (j'ai pas tout compris pourquoi)

Le tout a ete écrit ce matin et atterrira sur CPAN bientôt (dans Acme::).

Cool. Ca c'est de la présentation qui va bien à YAPC, c'est pas de l'introduction à va savoir quoi (du coup j'ai honte de ma présentation de demain :--(

Bon, ben je vous laisse, ma batterie est presque à plat. Ce soir je vais tâcher de pas me coucher trop tard ce soir, je cause demaing.

Un dernier mot, l'organisation est vraiment excellente, tout se passe bien, le wireless marche (mieux qu'a OSCON), le café, jus de fruit, cake... est là à l'heure, les amphis sont bien.. un grand bravo à Paris.pm!


YAPC::EU Jeudi

Salut,

Soirée calme hier soir, juste un petit restau avec à peine 15 autres perleurs. Ce matin je croise Christophe (Mertz), juste avant sa présentation sur TK::Zinc. Prudement il ne l'a pas écrite en PowerPoint, il devrait donc y survivre.

Quelques liens:

Le cours de Dave Cross: http://dave.org.uk/talks/toop.pdf

Les premières photos: http://xmltwig.com/mirod/pict/geek_stuff/yapc_paris/

PerlSAX

Robin Berjon

Robin fait une bonne introduction a SAX, nonobstant le fait que SAX SUCKS (qui fut l'objet d'un long débat hier soir entre le clan SAX, Robin et Matt Sergeant, et le clan XML::Twig, composé essentiellement de... moi).

Je reste calme pendant la présentation, histoire de ne pas déclencher des hostilites qui se poursuivraient pendant mon talk à suivre...

XML Modules

Bon, mon talk s'est à peu près bien passé, j'ai pu dire plein de mal de SAX et DOM pendant que Robin était sortit récupérer.

Je rapelle l'URL pour les slides: http://xmltwig.com/talk/xml_modules_2003/, plus le lightning talk que je l'ai casé au milieu:

Network tricks with Perl

mock

Il commence par expliquer que SSLay n'est pas vraiment sùr parce qu'il ne vérifie pas vraiment l'authenticité du certificat de la machine avec laquelle il cause. Je ne suis pas tout, vu que je suis vraiment nul en réseaux.

Puis il montre un example de code qui lui permet de trafiquer l'addresse source quand il utilise LWP. En gros il ré-écrit les packets comme il veut. Ca semble bien evil comme manip. Il faut dire qu'il bosse pour une boite (dont il ne peut pas dire le nom) qui fait dans l'ecommerce de trucs pas vraiment illégaux, mais pas completement légaux non plus, en tout cas pas légaux partout.

SourceIP sera sur CPAN bientôt, et il prévoit d'écrire une stack TCP/IP en Perl pour pouvoir en faire encore plus.

Le but de la manip est de feinter Google en lui faisant croire qu'une machine est vraiment plusieurs machines. Ca lui permet aussi de truquer les sondages en ligne (les programmes de ce genre sont souvent basés sur le principe de une adresse IP = 1 vote)

Matt (Sergeant) n'est pas trop content, c'est le côté noir de la force!

Anti-virus in Perl

Pete Sergent

File::Scan est l'outil le plus répandu. C'est du pur Perl, facile à utiliser et à installer. Bien sùr du coup il est aussi lent

libsavy est une librairie C, non-libre qui est pas mal aussi

Maintenant: comment créer son propre anti-virus:

Indices qui trahissent un virus:

Delivering statistics with DBI Apache and mod_perl

Marra Regge

Elle nous montre un joli site web qui genère des statistiques pour des universités, à partir d'une DB, en générant des graphiques à la volée, le tout piloté par quelques fichiers de config rusés (pas en XML!). Son système est sympa, facile à configurer pour de nouvelles applis, et assez joli. Le système n'est pas Open Source, juste parce qu'elle n'a pas eu le temps de nettoyer le tout et de faire un distribution propre. Elle espère le faire cet été.

Pas révolutionaire mais joli.

XML data

Jo Walsh

Ca cause de RDF, coordonnées spatiales et de ``mapper'' le monde cybernétique sur le monde réel.

mudlondon est une représentation de Londres... et un robot qui cause Jabber. Robin, si tu comprends, éclaire nous! Je suis perdu!

Ce que je saisis: des lieux réels sont modélises comme des noeuds de graphes, ces noeuds peuvent etre annotés, y compris en utilisant FOAF (Friends of a Friend), ou des photos, urls...

Quelques urls: http://openguides.org/london/ , http://knowhere.co.uk , http://forums.upmystreet.net/

Une url où ils emploient svg pour visualiser des cartes décrites en RDF: carto.net/svg

On peut aussi (bien sùr!) rajouter une dimension temporelle.

Un slide qui décrit le processus de manière intéressante: la ``big picture'' est construite à partir des images mentales de multiples individus.

Elle note qu'il y a des problemes de copyright: les données cartographiques au Royaume-Uni sont propriété de la Couronne (et licenciées).

Oops! Elle emploie le mot ``ontologie'', je décroche officiellement! Sérieusement, en fait c'est pas mal ces trucs, c'est plus l'aspect utilisation de la technologie pour faire des trucs socialement intéressant. Ca fait réflechir.

Metadata everywhere: pervasive XML to make computing a real social and economic advantage

Andrea Rota

Bon, là j'avoue je suis là parce que le titre me fait rire.

Il semble qu'il veuille parler de l'impact social de notre boulot de programmeur. Apparement on n'est pas assez sensibilisé a ça (il lit pas slashdot visiblement ;--)

Yipee! Une citation en Latin: mors tua vita mea (quelqu'un peut traduire?). Ca ne s'applique bieng sur qu'à des objets physiques, zut j'ai raté la citation qui s'applique à des créations de l'esprit.

Bon, maintenant il nous explique ce que c'est que les meta-données, en commencant par dire que les commentaires du code sont des meta-données, hummm... je suis pas sùr la... Puis un menu de restaurant, d'abord en version texte, puis en version XML.

Les meta-données nous aident à tirer le meilleur parti de nos données. Les utilisateurs devraient les utiliser de manière transparentes.

Autant la présentation précedente semblait touffu et barge au départ, mais prenait du sens petit à petit, , autant celle-ci me semble habiller de grands mots des concepts plutôt simple.

Tiens, paradigme!

Un conseil utile: les programmeurs devraient écrire du code propre! Incroyable! Un autre: evitez Python (rires)

Il râle, on devrait dire Free Software et pas OSS (perso je suis très content que la license de Perl soit l'Artistic License, le nom et son contenu sont parfaits!)

Il saute prudement le slide où il explique que les fichiers de config devraient etre en XML (le sujet d'une partie de mon talk du matin, où je poussais YAML à la place).

On finit par vita tua, vita mea

En résumé, une présentation à oublier bien vite.

Image processing in Perl Graphic Application

Dmitri Karasik

Yet Another GUI toolkit: Prima (http://www.prima.eu.org): marche sous X11, Win32 and OS2. Supporte Unicode, utilise postscript pour l'impression, conversions entre différent format graphiques. Inclus un outil de création graphique, Visual Builder, écrit en Perl et qui génère du code Perl.

J'ai un peu de mal à suivre la démo, la fonte est trop petite pour mes yeux fatigués.

Il crée un bouton, quand il le tourne un bout de texte tourne en même temps. Shiny! Il nous montre maintenant un bout de code qui balance des nombres à la Matrix à travers l'écran. Joli!

Puis la présentation continue avec la démo de librairies graphiques (de tranformation d'images): http://www.prima.eu.org/IPA . Ils utilisent PDL (http://pdl.perl.org) pour faire les maths si j'ai bien compris.

Managing Digital Music Collections in Perl

Paul Mison

Enfin un talk pratique et utile!

Oh non, premier slide et déjà le mot métadata vient polluer la présentation ;--(

D'abord un rappel sur qu'est-ce que c'est ID3 (le standard de... métadata pour les fichiers audio).

ID3v1 vs ID3v2: v1 était très simple, 7 champs, 30 charactêres par champ, v2 est beaucoup plus compliqué. ID3v2 est aussi assez compliqué à écrire.

3 modules:

MP3::Info
Pur Perl, lit v1 et v2, écrit v1
MP3::Tag
MP3::ID3Lib

Arrghh, ça va trop vite, brèfle, aucun module n'est parfait!

Un truc qu'on doit souvent faire, c'est génerer les tags ID3. Il nous montre un script Perl qui le fait. Je ne comprends pas d'où il recupère l'info. Du nom de fichier je crois. En sens inverse, souvent on veut renommer le fichier d'après les tags ID3. Et voili, un script le fait. Un autre qui met les bons tags pour les morceaux tirés de compilations.

Pour les cas où on a pas vraiment le CD sous la main, 2 projets Open Source: FreeDB (simple) et MusicBrainz (plus ambitieux, offre des données RDF, des Web Services...). 2 modules Perl: Webservices::FreeDB (probablement fragile, fait du screen scrapping). Music::Brainz::Client basé sur une library C, peut récupérer les données en RDF. D'après lui assez difficile à utiliser. Il montre un bout de code, je lis pas bien la fonte 4pt a 10 mètres... désolé.

La présentation des divers modules est pas mal, ça donne une bonne idée de l'ensemble.

20 Things you did not know about Perl

Joos Booman

Une excellente présentation sur tout un tas de modules rusés, je vais essayer de trouver les slides, c'etait vraiment excellent (et j'avais pas mon laptop ouvert d'ou la brièveté du compte-rendu).

Je pense que Hook::LexWrap peut être vraiment utile pour trafiquer SAX

Le soir BOF Axkit, où principalement je découvre que le clan SAX est en fait la proie de lutte intestines entre Matt et Robin, et donc que le triomphe de XML::Twig est assuré, vu que je me bat rarement avec moi-même. Ensuite repas des speakers, avec tout le monde, on doit être 60 dans le restau. C'est simple, il n'y a QUE nous là. Puis nous nous déplaçons jusqu'à la Taverne, où nous restons jusqu'à la fermeture, quelques heures plus tard. La discussion entre Matt Sergeant (anti-spammeur extraordinaire) et Piers Cawley (toujours prompt à s'indigner) d'un côté et Mock (le côté obscur de la force) de l'autre valait son pesant de cacahouètes.

Au lit à 4h du mat...


Vendredi

Comme d'habitude je rate la plupart des talks de la matinée. Déjeuner rapide, l'après-midi va être TRES chargé!

What Perl 6 stole from the Japanese

Marty

Larry vole des idées de pleins de languages (et pas que des langages informatiques).

D'apres Marty, Ruby est deja là, et a tout les trucs cools de Perl 6: Matz a la même philo que Larry et vole des idées partout. Ruby est vraiment cool. Ruby est la Vrai raison de Perl 6 (python n'a jamais été vraiment menaçant). Du coup Larry a commencé a piquer des trucs à Ruby (le . à la place de ->), tout est un objet. C'est rigolo...

Mais bon, on va pas rester à la traîne de Ruby, donc après avoir piqué des idées au langage Larry à décidé de piquer des idées au langage d'origine de Matz: le japonais.

Pleins de citations de Larry qui prouvent cette théorie sans l'ombre d'un doute.

Perl de toute facon est comme le Japonais: concis, TIMTOWDI (il nous montre 6 maniere de dire aller), pour les étrangers les 2 sont complètement incompréhensibles ;--)

Il nous fait chanter en Japonais.

Puis nous montre du code Perl avec des variables en japonais (faisable aujourd'hui grâce à Unicode), puis du code Perl 6, tout en japonais! Si on le croit ça fait print ``Hello World''.

Les ``topics'' ($_ en Perl 5, étendus avec given en Perl 6) sont très présents en japonais (wa marque une partie d'une phrase comme un ``topic'' et on n'a plus besoin de le répèter après).

Pour finir il nous conseille de chercher ``Larry Wall'' et ``Japanese'' dans les Apocalypses et mailing listes.

C'etait très rigolo, et pas bête.

Why you need a degree to get a Programer job

Ann Barcomb

Elle explique pourquoi son diplôme en histoire, écriture et philosophie l'a bien préparée a la vie professionelle. C'est plutot rigolo (je prefères commencer par des talks rigolos, ça laisse à mon cerveau le temps de se mettre en marche doucement).

The Porn0graph: a Semantic Web Storytelling Engine in Perl

Jo Walsh

Enfin un talk utile!

PornOgraph utilise RDF pour modéliser les relations entre bouts d'histoire.

En traversant le graphe RDF et en prenant des chemins au hasard (ou en laissant l'utilisateur choisir) quand il y en a plusieurs on génère des histoires complètes.

Technologies utilisèes: c'est écrit avec POE, utilise GET et POST (``none of this WSDL, SOAP, XML-RPC non sense'' ;--). Les triplets RDF sont stockés dans mySQL. Le langage de requête sur RDF et Squish, et est traduit en SQL. Il y a des interfaces Jabber (onanova), HTML et dans le futur SVG. On peut aussi donner des ordres comme dans un jeu d'aventure (genre use whip).

Une autre évolution possible est de lier ce moteur à des ontologies (si je me rapelle une ontologie c'est une catégorisation d'un sujet, mettre des noms sur des concepts et décrire leurs relations, le réseau a des problèmes donc je ne peux pas vérifier): elle nous montre un graphe qui décrit les fétiches typiques et leurs relations.

Talk tres décevant, il manquait vraiment une démo! ;--)

CPAN

Elaine ``Aevil'' Ashton

Bon, j'avais plus de batterie, donc ça sera court: CPAN c'est bieng. Mettez un numéro de version (avec $VERSION).

Ponie

Arthur Bergman

Arthur va donc porter Perl 5 sur Parrot. Ca comprend toutes les bizarreries de Perl 5, il faut que le code tourne exactement comme maintenant.

Fotango le paye pour ça, pour qu'ils puissent faire tourner le code Perl 5 qu'ils ont (pas loin de 100K lignes) et du code Perl 6, en même temps.

Les lexer, parser, tokenizer et moteur de regexp ne sont pas touchés. Juste le core minimum: une couche d'interface qui remplace le noyau de Perl 5 par du code qui génère du bytecode Parrot.

les variables sont implementès comme PMC (Parrot Magic Cookies), certains opcodes aussi. Ca permettra à tout ce qui est XS de marcher. Ca devrait aussi améliorer la vitesse dans certains domaines (overloading ne ralentira plus tous le reste, tie devrait aussi aller bien plus vite).

Un des problèmes est la différence entre les GC (Garbage Collector, ou ramasse-miettes en français) des 2 systèmes. Le déparseur aura un problème mais Arthur de toute façon pense qu'il ne marche pas, donc ça n'est pas son but principal.

Il espère que ça va lui prendre 6-8 mois pour un premier proto, et 2 x ça pour quelque chose de solide.

Why I am not making a talk this year

Greg McCarroll

J'ai raté le début, c'est dommage parce que c'était rigolo, mais j'ai aucune idée du sujet...

Lightning Talks

Bon, je sais pas vraiment combien de temps ma batterie va tenir, donc vous aurez pas forcément tous les LT, mais on va essayer...

Copy On Write in perl 5.10

Nicholas Clark

Il explique le mechanisme avec des membres de London.pm, Leon tient une chaîne de charactêres (Buffy) et les autres pointent sur lui, puis sur eux-mêmes. Ca marche!

CamelBones - A FrameWork for building Cocoa Applications

jonasbn

Il nous montre comment il a utilisé CamelBones pour faire une calculette (YAPC: Yet Another Perl Calculator!): il crée le machin graphique avec l'éditeur et il le connecte à du code Perl.

Encore un de ces vantards d'utilisateurs de Mac ;--(

Sonette! C'est fini? NON, encore 1 minute!

GONG! Là c'est fini!

Inline Skating can save Perl

Rafiq Ismail

Sa boite fait de plus en plus de Java. Il doit s'interfacer avec pleins de librairies, surtout en C...

Inline to the rescue!

C'est facile à utiliser, c'est puissant... si j'avais pas complètement oublié comment faire du C depuis que j'ai commencé à utiliser Perl, c'est sùr que je m'en servirais!

What is the future of Perl/Tk ?

Christophe Mertz

Yipee! Un toulousaing sur scène!

Apparement Nick Ing-Simmons, le mainteneur de Perl/Tk, n'est plus très actif. Ca cause des problèmes a Christophe qui l'utilise pour TkZinc.

Il demande ce qui va se passer?

Une petite démo de TK/Zinc, Shiny! Peut-il faire des calculatrices demande la salle?

Design-by-contract in Perl

Tim Sweetman

Qu'est-ce qui se passe si on n'utilise pas le ``design by contract'' (desole, j'ai pas complètement le temps de penser à la traduction des expressions anglaises)

Il nous montre un example ou refactoring foire parce qu'il manque des tests automatiques qui seraient produits par du design by contract.

DbC serait très important pour Perl, surtout sachant qu'à la base Perl ne vérifie pas du tout les paramètres passés aux fonctions.

Test::DatabaseRow

Mark Fowler (Trelane)

Il veut tester des lignes dans un DB. Donc il a écrit un module pour pouvoir spécifier simplement les tests. Il nous montre les étapes successives, ou comment il a simplifié et simplifie encore le format pour que ça soit facile à écrire.A

XML::Filter::TT

Mark Fowler (Trelane)

XSLT is hard (il l'a même écrit XLST ;--)

Il utilise le TT (Template Toolkit) et des tags spécifiques (avec un namespace separé), qui lui laisse faire des transformations à sa manière. Il utilise SAX (qui SUXE, ndcr).

wikis & navigation

Bon, à partir de maintenant je passe sur la machine de Robin, que, je suppose, je dois remercier, même si c'est un Mac avec un clavier Français ce qui me torture les doigts, et si j'appuie 2 fois sur la touche #, ça se bloque, toutes les touches récuperent un ' devant et je peux plus rien taper ('i ne passe pas en mode insertion). Bien sùr cette maudite touche est exactement là ou tout bon clavier aurait la touche [return]...

Les Mongueurs de Perl

BooK

Ca va vite, le texte défile automatiquement derrière lui. Il passe en Francais... Derrière lui l'ecrqn affiche des commentaires en anglais... ``I am a poor computer, I will just try to keep you entertained while he is making fun of you in French''... ``A French Joke... Jacques Chirac''... tout le monde est écroule de rire... il n'arrive plus à parler... standing ovation! Il arrête le truc derrière.

Je crois que l'idée de son talk c'était d'annoncer qu'il y aura peut être un journée Perl, en français, l'an prochaing.

Mais c'est dur à savoir ;--)

BRAVO BOOK ET MERCI!

Managing Complexity

Piers Cawley

Pas trop de commentaires, je me bat avec ce putaing de Mac. vi ne marche pas.

Il chante.

Il avait déjà fait ce LT a OSCON (http://xmltwig.com/report/oscon_2003.html#lightning_talks) (non que le CR soit très instructif non plus ;--(

The Year of the Praying Mantis

Gabor Szabo

3 LT en 1:

OpenGuides

Earle Martin

On a deja vu OpenGuides dans le talk de Jo Walsh. C'est un système pour écrire des guides de villes, de mqniere cooperqtive. C'est un wiki dope aux méta-données

Il utilise CGI::Wiki avec leurs extensions à eux.

Il nous montre le guide: ça sort tout les bars dans un rayon de 100 metres d'un point donné par exemple. Ca à l'air cool.

Scrabbling Code

Beatnik

Il parle d'un langage nommé... Beatnik. C'est basé sur la valeur des lettres au Scrabble (ça entraîne des problèmes d'internationalisation ;--)

Acme::Beatnik sera sur CPAN très bientôt (http://search.cpan.org/author/BEATNIK/Acme-Beatnik-0.02).

Il nous montre une page entière, pleines de mots, qui fait... print ``Hello World''

Uri râle parce aue ça ne prends pas en compte les mots compte double et triple!

Perl Shells

Pas de commentaire, je me bat toujours avec le mac, regardez http://zoidberg.student.utwente.nl/

Why OCaml is better than Perl

Blop

Un ex-toulousain qui aime le risque.

Ca fait chier, je me bat toujours avec le Mac et je peux pas vraiment suivre comme je voudrais.

Les slides sont donc à http://www.inrialpes.fr/sharp/people/lehy/ocaml_vs_perl_commented.pdf et je crois que maintenant j'ai compris: il présente une facon alternative de grouper les méthodes dans le compilateur, par type de méthode plutôt que par objet. OCaml fait comme ca.

Ca rend l'ajout d'une opération plus simple, mais l'ajout d'un type plus compliqué. Pas con.

WWW::Mechanize

Uri Gutman

Il présente le module, vraiment utile pour faire du screen-scrapping.

Wikis and Navigation

Jim Sweetman

C'est facile de se perdre dans un Wiki, et souvent les écrans ne sont pas vraiment pleins, donc il suggère d'utiliser cet espace pour mettre des liens auto-générés et annotés.

Wrap-up

Ce qui doit vouloir dire plus ou moins conclusion en francais.

Donc, bien plus tard...

La conférence s'achève par L'Auction, les enchêres. Les points forts dont je me rapelle:

BooK achète le dernier examplaire du T-Shirt ``Perl is my bitch'', pour une fortune, puis adjuge son T-Shirt de la conférence pour 65 euros. Il remet aussi à Davorg l'obfus qu'il a acheté il y à 2 ans, et la fait tourner, je vous laisse la voir quand il la postera. T-Shirts uniques (jusqu'a 3 T-Shirts uniques identiques adjugés à la suite ;--), bouquins divers, en français et en anglais, ça défile!

Surtout, une historique bataille pour langue de la home page de Paris.pm et de London.pm: après de longues enchères, tractations, apostrophes et insultes diverses le clan anti-anglais remporte la bataille, à plus de 1300 euros! Les 2 home pages seront donc en... espéranto!

La conférence est quasiment finie, c'est l'heure des premiers adieux, puis des suivants... les organisateurs, et d'autres, se retrouvent au bar habituel (La Taverne de la République pour ceux qui n'ont pas suivi). Piers Cawley tonne contre SAX, j'approuve, Robin défend SAX, puis découvre soudain qu'en fait il adore XML::Twig (il n'a plus de clopes et moi si, il est assez démonstratif, je suppose que les photos de la chose seront diffusées ultérieurement), Hugo veut utiliser XPath pour décrire les optimisations de l'optree, ça me semble faisable, par contre ré-utiliser le moteur de regexp de Perl pour faire du pattern matching sur un arbre me semble plus difficile (et croyez moi, j'ai essayé!). Brèfle, on traine la jusqu'à la fermeture, comme d'habitude, après quoi Greg McCarrol fait l'erreur d'inviter tout le monde dans sa chambre d'hôtel... tout le monde vient, soit 18 dans 9 mêtres carrés! A 4 h je pars au lit, pour la fin officielle de la conférence.

Sauf que le samedi il y a encore des BoFs, je me traine jusqu'à la BOF Parrot, mais en les entendant parler de garbage collector j'ai plutôt l'impression que c'est moi qui devrait être garbage collecté... la fatigue de la semaine me tombe dessus d'un coup... je vais faire la sieste...

Merci à tous les organisateurs, la conf était vraiment excellente.

Les photos sont à http://xmltwig.com/mirod/pict/geek_stuff/yapc_paris/

La version HTML du CR à http://xmltwig.com/report/yapc_paris.html