From mirod at xmltwig.com Wed Jun 4 05:36:03 2003 From: mirod at xmltwig.com (Michel Rodriguez) Date: Mon Aug 2 21:38:18 2004 Subject: [Toulouse-pm] Practical mod_perl (et Safari) Message-ID: <1054722908.2341.109.camel@monster.xmltwig.com> Salut, Pour ceux interesses, Practical mod_perl est paru, ecrit par Stas Bekman et Eric Cholet (de Paris.pm). Deja disponible sur Safari: http://safari.oreilly.com/?x=1&mode=section&sortKey=insertDate&sortOrder=desc&view=&xmlid=0-596-00227-0&open=false&title=New%20This%20Week&srchText=BOOK&code=&h=&m=&l=&catid=&s=1&b=1&f=1&t=1&c=1&u=1&r=&o=1&page=0 Au passage, pour ceux qui ne connaissent pas, Safari est vraiment bieng. Je ne parle pas du browser du Mac, mais du service de consultation de livres en ligne d'O'Reilly. Ca permet de consulter pleins de bouquins (O'Reilly bien sur, mais aussi beaucoup d'autres editeurs techniques). On peut avoir 5/10/20 bouquins a la fois (ca depend combien on paye, 1 an/5 bouquins pour $100). Une fois un bouquin selectionne on doit le garder 1 mois avant de changer. En gros pour le prix de 3 bouquins par an on peut en consulter 60. Je m'en sert de plusieurs facon: pour les trucs genre "Hacking .*" (Google, Linux etc...) c'est vraiment bien, c'est des "trucs et astuces" de quelques pages, j'imprime ceux qui m'interessent et ca me suffit. Sinon ca ne remplace pas un bon bouquin solide qu'on peut lire au lit ou aux WC (encore qu'avec le Wifi...) mais ca permet d'avoir les bouquins des leur parution, sans attendre de pouvoir les commander aux US, et ca permet de juger si un livre est interessant ou pas avant eventuellement de l'acheter plus tard. -- Michel Rodriguez Perl & XML http://www.xmltwig.com From mirod at xmltwig.com Wed Jun 4 11:34:03 2003 From: mirod at xmltwig.com (Michel Rodriguez) Date: Mon Aug 2 21:38:18 2004 Subject: [Toulouse-pm] Presentation sur les modules XML Message-ID: <1054744404.32181.9.camel@monster.xmltwig.com> Salut, Je cause a YAPC::NA dans pas longtemps, et le sujet est... XML Modules (surprenant non?) J'ai mis la presentation en ligne (pas linke depuis le reste du site parce qu'elle risque de bouger un peu avant que je la fasse, et probablement aussi apres, dans la mesure ou si YAPC::Europe la prend je la referrais la bas). C'est pas trop comprehensible sans le gars qui cause, mais ya un joli dessin des principaux modules, avec leur genealogie. Vous pouvez aussi jeter un coup d'oeil sur les exemples de code (pareil, pas figes, et j'ai quelques exemples a rajouter dans la journee, et plus encore la semaine prochaine) a: http://xmltwig.com/article/ways_to_rome_2/ Si vous avez des commentaires, vous genez pas. Ah oui, le mieux c'est probablement de charger la presentation en OpenOffice, ca sera plus joli que de se payer les graphiques foireux en HTML. -- Michel Rodriguez Perl & XML http://www.xmltwig.com From mirod at xmltwig.com Thu Jun 5 04:57:03 2003 From: mirod at xmltwig.com (Michel Rodriguez) Date: Mon Aug 2 21:38:18 2004 Subject: [Toulouse-pm] Le lien du jour, OT Message-ID: <1054807008.28152.2.camel@monster.xmltwig.com> Salut, Bon, c'est pas un lien qui a un rapport direct avec Perl, mais j'ai vu ca sur PerlMonks, et c'est plutot rigolo et malheureusement assez vrai: http://members.ozemail.com.au/~thomsett/main/articles/games.htm -- Michel Rodriguez Perl & XML http://www.xmltwig.com From mirod at xmltwig.com Fri Jun 6 07:31:03 2003 From: mirod at xmltwig.com (Michel Rodriguez) Date: Mon Aug 2 21:38:18 2004 Subject: [Toulouse-pm] Version plus aboutie de WTR2 Message-ID: <1054902615.28152.221.camel@monster.xmltwig.com> Salut, Pour changer, une nouvelle version de l'article. Il offre maintenant 8 examples, avec 6 modules differents. Ceci dit je ne suis pas tres satisfait du resultat, ca n'est pas tres agreable a lire, le code prends beaucoup de place par rapport au texte. Je pense que je pour certains examples je vais juste inclure certaines parties (genre les differences, ou rieng si la seule difference est le 'use XML::toto' et que le code lui meme ne change pas). Qu'est-ce que vous en pensez? -- Michel Rodriguez Perl & XML http://www.xmltwig.com From mirod at xmltwig.com Mon Jun 9 08:13:03 2003 From: mirod at xmltwig.com (Michel Rodriguez) Date: Mon Aug 2 21:38:18 2004 Subject: [Toulouse-pm] Lien du jour: une introduction au rammassage de miettes Message-ID: Salut, Une intro simple mais complete au monde facscinant du GC sur le blog de Dan Sugalski: http://www.sidhe.org/~dan/blog/ A part ca je vois qu'il fait toujours super chaud a Toulouse... veinards, on est arrive aux US samedi sous une pluis battante, depuis c'est un peu mieux mais pas terrible quand meme. J'espere qu'il fera meilleur la semaine prochaine a Boca Raton pour YAPC! Michel Rodriguez Perl & XML http://www.xmltwig.com From kernel at vaboofer.com Mon Jun 9 13:09:03 2003 From: kernel at vaboofer.com (kernel) Date: Mon Aug 2 21:38:18 2004 Subject: [Toulouse-pm] Lien du jour: une introduction au rammassage de miettes In-Reply-To: ; from mirod@xmltwig.com on Mon, Jun 09, 2003 at 03:12:05PM +0200 References: Message-ID: <20030609200815.A27055@vaboofer.com> Le Mon, Jun 09, 2003 at 03:12:05PM +0200, Michel Rodriguez pianota: > Salut, > > Une intro simple mais complete au monde facscinant du GC sur le blog de > Dan Sugalski: http://www.sidhe.org/~dan/blog/ > > A part ca je vois qu'il fait toujours super chaud a Toulouse... veinards, > on est arrive aux US samedi sous une pluis battante, depuis c'est un peu > mieux mais pas terrible quand meme. J'espere qu'il fera meilleur la > semaine prochaine a Boca Raton pour YAPC! Il fait beaucoup trop chaud meme ... -- laurent "ker2x" laborde From mirod at xmltwig.com Mon Jun 16 09:55:07 2003 From: mirod at xmltwig.com (Michel Rodriguez) Date: Mon Aug 2 21:38:18 2004 Subject: [Toulouse-pm] YAPC NA, CR1 Message-ID: YAPC::NA 2003 Salut, C'est l'heure du compte-rendu en direct live de YAPC. Premier jour Perl 6 Damian Conway 264 slides sur Perl 6 (il a coup?? un peu les 642 qu'il avait ?? l'origine), ca va aller vite... Quelques highlights: dans les chaines on peut interpoler des appels de fonctions "toto $($tutu + foo( 2)) tata", pratique l'op??rateur de concat??nation est maintenant ~ + unaire rend num??rique (+ $x), ~ unaire "stringifies", ? unaire rends bool??en Les types de Quantum::Superposition sont maintenant dans le langage, ca devrait plaire ?? un des membres de Toulouse.pm (moi!), comme ca on peut ??crire: if( any( @a) > all(@b)) { truc; } ce qui est quand m??me bien elegant Union: ca c'est tordu aussi, surtout les "anti-types": on peut declarer une variable qui peut contenir n'importe quoi... sauf un objet d'un certain type. Br??fle, au bout du compte, avec les comparaisons multiples on peut ??crire: if( 0< all(@coeffs) < 1 ) { tout_va_bieng( @coeffs); } Une explication d??taill??e des listes de param??tres, trop longue et rapide pour ??tre retranscrite ici, rappelons juste que tout bloc devient une closure. Operateur parall??les: tout op??rateur entre guillemets s'applique ?? une liste: ce qui nous emm??ne ??... Perl 6 est Unicode, donc les guillemets ne sont pas des charact??res ASCII mais sont utilis??s quand m??eme. Na! Conclusion: passez a Unicode (OK, ou utilisez >>+<< tout operateur Unicode aura un equivalent en ASCII). Plus on peut d??finir ses propres op??rateurs Unicode (hum... obfuscation en perspective...) "Perl 6 has an infinite precedence system" (on d??finit la pr??c??dence (?) des op??rateurs par rapport a d'autres op??rateurs, donc on peut en avoir une infinit?? (ou au moins autant que de carat??res Unicodes, ca fait un certain nombre...) le "for" ?? 3 arguments, h??rit??du C, est remplac?? par "loop", "foreach" disparait. Macros: ??-la-Lisp, plutot qu'??-la-C, une macro peut ??tre remplac??e par une chaine ou par un bout de code (un bloc) Perl6 OO: yipee. 2 slides rigolo: Perl5 OO est super, un slide qui d??taille les points forts du syst??me objet de Perl, puis un autre qui d??taille les points faibles... les m??mes! Plus s??rieusement: mot clef "class", une classe est dans un bloc. Un bout de syntaxe rigolo: class toto { ... } # declaration de classe, '...' se dit yada yada yada Les attributs sont de vrais attributs maintenant, pas des champs d'un hash (ils sont d??clar??s avec "has"). L'h??ritage est maintenant statique (??a permet d'optimiser les perfos) C'est la pause.., a plus Conclusion Perl 6 SERA diff??rent Mais pas sans raison. La plupart des trucs nouveaux seront en option, on pourra les utiliser si on veut.. ou s'en passer, mais en fait en g??n??ral les nouveaut??s simplifient le code plut??t qu'autre chose "ca ressemblera plus a du Perl que Perl 5" Damian deborde... comme d'hab Infos diverses Donc c'est ?? Boca Raton, Floride, il fait tr??s chaud et humide. Hier soir sushi: 55 Perleurs dans un restau japonais l??g??rement paniqu?? par notre arriv??e. Par hasard on se retrouve 3 fran??ais a c??t??: Pierre Denis de Fotango que vous verrez a YAPC::Paris, Haim Demer qui vit ici, et moi. Plus Acme qui est a moiti?? fran??ais pas loing. Note aux organisateurs de YAPC::Paris: demandez a Fotango de bien r??gler leur imprimante avant d'imprimer les badges, je suis tout rouge sur le mien (?? leur d??charge l'imprimante qu'ils avaient emmen?? ne marchait pas en 110V et ils ont du en acheter une autre en catastrophe, ah, et on leur a vol?? la RAM du Mac qu'ils avaient envoy?? ). Les premi??res info: Larry est ?? l'hopital, il a chop?? un ulcere pendant la croisi??re Perl. Kevin Lenzo, qui ??tait ?? la t??lac??par Allison Randall. Premi??res photos d'Acme: http://www.fotango.com/cgi-bin/public_gallery.cgi?category=379&key= Michel Rodriguez Perl & XML http://www.xmltwig.com From kernel at vaboofer.com Mon Jun 16 10:06:04 2003 From: kernel at vaboofer.com (kernel) Date: Mon Aug 2 21:38:18 2004 Subject: [Toulouse-pm] YAPC NA, CR1 In-Reply-To: ; from mirod@xmltwig.com on Mon, Jun 16, 2003 at 04:53:59PM +0200 References: Message-ID: <20030616170514.A13832@vaboofer.com> Le Mon, Jun 16, 2003 at 04:53:59PM +0200, Michel Rodriguez pianota: > > Perl 6 est Unicode, donc les guillemets ne sont pas des charact??res > ASCII mais sont utilis??s quand m??eme. Na! Conclusion: passez a > Unicode > (OK, ou utilisez >>+<< tout operateur Unicode aura un equivalent en > ASCII). Plus on peut d??finir ses propres op??rateurs Unicode (hum... > obfuscation en perspective...) "Perl 6 has an infinite precedence > system" (on d??finit la pr??c??dence (?) des op??rateurs par rapport a > d'autres op??rateurs, donc on peut en avoir une infinit?? (ou au moins > autant que de carat??res Unicodes, ca fait un certain nombre...) En parlant de charset, il s'affiche tout drole ton ISO-8859-1 chez moi :) -- laurent "ker2x" laborde From mirod at xmltwig.com Mon Jun 16 10:11:05 2003 From: mirod at xmltwig.com (Michel Rodriguez) Date: Mon Aug 2 21:38:18 2004 Subject: [Toulouse-pm] YAPC NA, CR1 In-Reply-To: <20030616170514.A13832@vaboofer.com> Message-ID: On Mon, 16 Jun 2003, kernel wrote: > Le Mon, Jun 16, 2003 at 04:53:59PM +0200, Michel Rodriguez pianota: > > > > Perl 6 est Unicode, donc les guillemets ne sont pas des charact??res > > ASCII mais sont utilis??s quand m??eme. Na! Conclusion: passez a > > Unicode > > (OK, ou utilisez >>+<< tout operateur Unicode aura un equivalent en > > ASCII). Plus on peut d??finir ses propres op??rateurs Unicode (hum... > > obfuscation en perspective...) "Perl 6 has an infinite precedence > > system" (on d??finit la pr??c??dence (?) des op??rateurs par rapport a > > d'autres op??rateurs, donc on peut en avoir une infinit?? (ou au moins > > autant que de carat??res Unicodes, ca fait un certain nombre...) > > En parlant de charset, il s'affiche tout drole ton ISO-8859-1 chez moi :) Il s'affiche bieng chez moi, mais par contre celui de tout le monde s'affiche pas (je recupere un bloc a la place du caractere accentue... et du caractere suivant). Je soupconne mon terminal d'etre configure en unicode, meme si pine est en iso-8859-1. grr..., bon je vire tous les accents Michel Rodriguez Perl & XML http://www.xmltwig.com From mirod at xmltwig.com Mon Jun 16 10:43:04 2003 From: mirod at xmltwig.com (Michel Rodriguez) Date: Mon Aug 2 21:38:18 2004 Subject: [Toulouse-pm] CRs postes Message-ID: Salut, POur eviter les problemes de jeux de caracteres (encore que pod2html m'a l'air de merder sur mon premier post), je poste aussi les CR sur mon site: http://xmltwig.com/report/yapc_na_2003/ Michel Rodriguez Perl & XML http://www.xmltwig.com From concours at mongueurs.net Mon Jun 16 12:17:06 2003 From: concours at mongueurs.net (concours@mongueurs.net) Date: Mon Aug 2 21:38:18 2004 Subject: [Toulouse-pm] =?iso-8859-15?Q?R=E9sulta?= =?iso-8859-15?Q?t?= du tirage au sort Message-ID: <20030616133513.GA26284@home.bruhat.net> Salut, Le 11 juin dernier, nous avons donc tir? au sort les trois bouquins donn?s par O'Reilly France. Les r?sultats complets sont sur http://www.mongueurs.net/concours/2003/ mais voici les 3 gagnants : Guillaume Rousse Jean-?tienne Poirrier Jean-?douard Babin Merci de me contacter ? concours@mongueurs.net pour d?cider de la fa?on dont on vous remettra votre prix. Si vous pouvez attendre la prochaine r?union et vous d?placer ? ce moment-l?, c'est s?rement le plus simple. Merci aux participants, et bravo aux gagnants. -- Philippe "BooK" Bruhat -- YAPC::Europe 2003 - http://yapc.mongueurs.net/ The learned man makes a mistake but once... but the truly stupid keep practicing until they get it right. (Moral from Groo The Wanderer #75 (Epic)) From mirod at xmltwig.com Mon Jun 16 23:16:05 2003 From: mirod at xmltwig.com (Michel Rodriguez) Date: Mon Aug 2 21:38:18 2004 Subject: [Toulouse-pm] CR2 Message-ID: Premier Jour (cont'd) Benchmarking par Abigail Comment utiliser "Benchmark" et quelques pieges dans lesquels ne pas tomber. Exemple: utiliser "grep { }" ou "for" pour trouver un element dans un tableau. Suivant que l'element est ou n'est pas, ou meeme OU il est dans le tableau, l'un ou l'autre est plus rapide. Attention aussi au benchmarks non significatifs, parce ce que, par example, le compilateur a "plie" (folded) les constantes. Ou carrement vire l'instruction parce que le resultat n'est pas utilise Teaching "Learning Perl" par Randal Schwartz Des trucs sur comment enseigner Perl pour instructeurs "non-professionels" - Identifiez le public du cours, ayez du matos en reserve (genre autres presentations) - soyez vous-meme, ne soyez pas arrogant, essayez d'etablir un dialogue avec les participants, - determiner ce que vous vouler mettre dans le cours, et ce qui n'y sera pas (important pour ne pas deborder trop), - temps de preparation: 1 day par heure de cours (whaouh! Ca me semble hyper rapide! Meme en connaisant bien le sujet je met plutot 2 fois plus que ca) - 1 point par point (bullet), 6 points par page, 1 "track" principal, et identifiez clairement ce qui est "optionel/bonus" (ca evite de perdre des gens en route) - toujours, TOUJOURS, faire une repetition, meme sans public ca vous dira au moins si vous avez beaucoupt trop ou pas assez de materiel - autres methodes de preparation: seminaires de vente, psycho-analyze, proces (c'est Randal qui parle ;--) et surtout (d'apres Randal!) KARAOKE (parce quau moins ca entraine a parler (chanter) en public et comme en general le public applaudit ca rassure et ca aide a eliminer le trac) - quand vous buvez pendant le cours... pas a cote du clavier! - faites attention a ne pas perdre les participants, essayer d'avoir le maximum de feedback, generez des questions - n'oubliez pas de couvrir les points pratique (quand-est-ce quon mange, combien de temps on a pour manger...) - ne lisez pas les slides, restez face au public Everyday Damian Ou: ~damian/bin Une description des outils que Damian utilise pour se simplifier la vie. Du concret, rien que du concret. "Things that I do, and thinks that I don't do anymore" 3 niveaux: OS/shell/editeur (unix/tcshell/vi) Ce qui est important c'est quil nous donne l'etat d'esprit qui nous fasse coder toutes les taches repetitives qui nous pourrissent la vie. vi Il nous montre sa config vi: expansions des tabs, passage des tabs de 8 a 4, 3,2... en 2 touches, autoformatage de listes, quote automatique, macros pour creer automatiquement la premiere ligne d'un script perl, indenter un bloc taper print..., ou Dumper..., lancer un script d'un seul caractere. En gros toutes les touches non utilisees par vi sont utilisees. Il a meme tout un tas d'alias pour corriger ses typos: ab retrun return ab pritn print ab jarrko jarkko Tout ca c'est des petits trucs, mais au bout du compte ca lui fait gagner plein de temps. Il en reste a vi (et pas vim) parce que ca fait 15 ans quil customize son vi, il ne voit pas l'interet de passer a autre chose et se repayer la "learning curve" Dommage que tout ca ne marche pas avec gvim, mais ca donne des idees quand meme l'OS Utiliaires Mac quil utilise: XShelf, Clipboard Sharing, comment activer la boite d'entree des caracteres Unicode, Launcher Script, Youpi Key, uControl (vous pouvez les trouver avec google). shell Encore pleins de petits utilitaires qui lui facilitent la vie. Par example: "cd dir" aliase en , ou cd dir1 dir2 dir3 qui fait "cd dir1", puis au "cd" suivant fait un "cd ..;cd dir2", etc... puis revient en cd. Comme ca cd * permet de passer en revue tous les sous-repertoires. D'une maniere generale il ne fait jamais "cd" pour retourner dans son home directory, donc il utilise "cd" sans arguments pour tout un tas de trucs, en le re-aliasant a chaque fois. De la meme maniere il re-aliase "vi" pour re-editer le meme fichier que la derniere fois, vu que la plupart du temps c'est ce quil fait (plus quelques ruses pour le re-positionner au bon endroit), "gvi" fait un grep, recupere la liste des fichiers contenant le pattern, et l'envoie a "vi". Un "untar" ruse qui rajoute les options qui vont bieng a "tar" si le fichier est compresse ou uuencode ou autre, verifie que le "tar" cree bien un sous-repertoire (sinon il le cree) (d'apres Damian personne ne peut se rappeler les parametres de tar de toute facon, il suspecte quun "cron" tourne tous les soirs pour changer les options de "tar"). En vrac: un utilitaire de backup (mais il n'utilise pas CVS, booh de la foule ;--), un qui cree des colonnes a partir de donnees (il patauge, n'arrive pas a s'en servir, ca fait rire tout le monde), "ruler", quiaffiche une "regle" qui permet de cmpter le nombre de caracteres sur une ligne. Il va finir a l'heure! Incroyable! Du coup on le force a la fin de Perl6 quil n'a pas pu finir ce matin. Donc... Le systeme objet de Perl 6 Les classes derivees heritent des attributs des classes dont elles derivent, mais elles n'ont pas acces directement aux attributs, elles doivent passer par les methodes "officielles" submethods: methodes qui ne sont pas heritees, donc la methode ne s'applique qua la classe dans laquelle elle est definie, mais pas aux classes qui en heritent (ces sous-classes, elles, peuvent heriter de sur-classes) C'est important, mais je saisis pas vraiment pourquoi... desole, ca m'apprendra a pas suivre pendant 2 secondes. Ca a a voir avec le mechanisme de creation des objets, qui est similaire a celui de Perl 5 par defaut mais qui, comme d'hab, peut etre bien plus complexe, avec des createurs (mais pas des initialisateurs) pouvant etre appeles dans toutes les classes de la hierarchie (les initialisateurs sont des "submethod"s, donc non herites) cool syntaxe: my Toto::Tata titi= Toto::Tata.new(); devient my Toto::Tata titi= .new(); Bon,je craque, je sors... Soiree tranquille (relativement): restau italien, qui accepte 25 Perl geeks, puis retour a l'hotel ou je tape la fin de ce compte-rendu depuis la piscine... la vie est belle Michel Rodriguez Perl & XML http://www.xmltwig.com From mirod at xmltwig.com Tue Jun 17 17:07:05 2003 From: mirod at xmltwig.com (Michel Rodriguez) Date: Mon Aug 2 21:38:18 2004 Subject: [Toulouse-pm] J'ai FAIM! Message-ID: Salut, Juste un petit mot de YAPC... (CR sur le site a l'endroit habituel) Ca devrait amuser les organisateurs de YAPC PAris... le restaurateur s'est plante de jour et on a pas a manger ce soir! Du coup c'est les encheres, 3 bouquins d'Eric et Stass sont partis a $50 $45 et $44 (pas pour moi, j'etais a $42 evidemment;-- Michel Rodriguez Perl & XML http://www.xmltwig.com From mirod at xmltwig.com Tue Jun 17 17:43:06 2003 From: mirod at xmltwig.com (Michel Rodriguez) Date: Mon Aug 2 21:38:18 2004 Subject: [Toulouse-pm] Nouvelles des encheres Message-ID: Un bouquin sur C# aux encheres, avec un T-Shirt Perl Cookbook en prime... adjuge a $20... sans le bouquin! PLus l'annonce exclusive que Leon Brocard sera toujours mentionne dans les compte-rendus hebdromadaires de Piers sur Perl 6. Michel Rodriguez Perl & XML http://www.xmltwig.com From mirod at xmltwig.com Wed Jun 18 09:57:05 2003 From: mirod at xmltwig.com (Michel Rodriguez) Date: Mon Aug 2 21:38:18 2004 Subject: [Toulouse-pm] CR3 (fin) Message-ID: 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 From mrodrigu at ieee.org Wed Jun 18 16:23:06 2003 From: mrodrigu at ieee.org (Michel Rodriguez) Date: Mon Aug 2 21:38:18 2004 Subject: [Toulouse-pm] (no subject) Message-ID: Mercredi Matin Un titre generique parce que j'ai rate le matin pour cause de fin de preparation de ma presentation. Juste un bout de Ken Willians presentant Machine Learning, interessant, sur le "Data Mining" et la creation d'arbres de decisions pour SpamAssassin. Il deborde et je commence mon talk en retard. Ca va a peu pres sauf que je manque de temps et je ne peux pas montrer proprement les examples de code. Le discours de cloture de Damian Il rapelle les sujets dont il a parle au cours de ses discours de cloture precedents. L'ecran est rempli. Donc titre: "Dr Conway Travelling Carnival of Small Miracle" Surtout le public lui a reclame "Pas de physique cette annee!" Donc il a du chercher un sujet d'inspiration autour de lui: Tele: il commence par decrire une episode particulierement tragique de Fear Factor (on a ca chez nous?): Special Saint-Valentin ou les couples doivent s'embrasser avec des cafards geants plein la bouche. Web: CNN, la grosse histoire du jour etait le sommet de la paix... entre les McCoy et les Hatfields (130 ans de haine familiale entre eux). Damian s'excuse... Larry nous aurait pondu un discours philosophique et plein d'inspiration, et surtout parlant de Perl En panne d'inspiration il se tourne vers les magazines: Oprah magazine... parler du cote feminin de Perl 6?... non, Cosmo... non... Rolling Stone... avec Justin Timberlake en photo... NON! des magazines masculins (non Nat, pas ceux la!) Flex Magazine body building.. Larry en couverture!... quelques couvertures de magazines avec Ingy en couverture, MJD en moine, la tete rasee... Sports Illustrated Swinsuit Edition.. non, il n'y a jamais quun seul sujet dans ce magazine... Idee: National Geographic! Respectable, plein d'articles chiants sur lequel broder, il nous fait le sommaire en changeant le titre. Mais quand meme, Sports Illustrated Swinsuit Edition c'est bieng aussi, il veut my respected & hot $magazine; # en perl 6 Du coup il a fait Google +National +Geographic +Swimsuit +Edition Bang! Ca existe! http://magma.nationalgeographic.com/ngm/swimsuits/postcard01.html Donc le reste de la presentation est base sur les photos du National Geographic Swimsuit Edition! Donc partie serieuse du talk. A 13h hier il decide donc d'ecrire 12 modules, bases sur les articles du NGSE makeslide "makeslides" cree une presentation a partir d'une version texte (plus simple que pod), soit en texte (il presente maintenant en "vi"), soit html, soit pod, soit un outline html, quon peut charger dans... PowerPoint. Il a fait ca rapidement, donc maximum reutilisation: Getopt::Declare (un module a lui, pas mal si je me souviens bien), Text::AutoFormat, IO::File application.pm Pour illustrer un peu cette presentation, l recupere une des photos du magazine et nous la montre... dans "vi"... en ascii art... pas vraiment excitant. Donc maintenant un module qui manipe le Mac pour lui faire afficher des images, acceder des sites web, jouer ... brefle, lancer des applis depuis Perl, en utilisant la commande "open" du Mac (ca fait 3 lignes) ??? Arrgh... j'ai ratele nom du module! Tous les modules qui font des "progress bars" sur CPAN suXent, trop lourds, on est pas chez Java ici! Donc un module a-la-Damian, qui fait pleins de choses... simplement. Tres cool. Tenacious::Undef Une video de Tenacious D, les rockers geek! Donc un module tenace, qui implemente une logique a 3 etats: vrai, faux et "errrmmm" (joue par "undef"). vrai && errrmm -> errmm, false && errrmm -> errmmm, 1 + errrmmm -> errrmm... "errrmmm", aka "undef" est donc estremement tenace, d'ou le nom! Une fois quon a fait "Undef $i" il reste "undef", quoiquil arrive! Le tout en 150 octets! Et en utilisant "sub new { bless []};", et overloading toutes les methodes sauf string-ification (qui retourne undef) Memoize::ITU3X Un module qui explique comment il nous a fait croire quil avait trouve un moyen de faire des operations en temps nul il y a 2 ans a YAPC Montreal (fibonacci et juste un "rand", pour montrer quil ne memoize pas). Bien sur il trichait, en fait il memoize, mais uniquement si on appelle 3 x la fonction avec les memes arguments (d'ou I Tell You 3 X, Jacques a dit en francais). L'architecture derriere, pour decider ce quil doit memoizer, est assez complexe. Manifest::Constants Laisse le programmeur declarer des constantes... et sort une erreur pour TOUTE utilisation d'une constante dans le code (TOUTE!) IO::Prompt Un module pour faire croire aux eleves quil tape du texte alors quen fait il vient d'une section DATA, pour eviter de perdre du temps a taper, complet avec possibilite de ralentir la "saisie"pour les mots difficiles, et erreurs aleatoires. Perl6::Junctions Et oui! On peut donc utiliser "any", "all" etc... en Perl 5, plus rapidement que avec Quantum::Superposition. Tres cool. Y compris possiblite d'avoir des jonctions d'objets et d'appeler une methode, appliquee a tous les objets (meme s'il ne sont pas dans la meme classe) Text::AutoFormat Une version amelioree Conclusion Au bout du compte, apres 18 heuresde suite d'ecriture de modules et de slides... la presentation etait prete. Le film Le traditionnel film de YAPC, par gnat, rigolo, l'URL sera postee plus tard. Town Hall Jeff, un des organisateurs va poster toutes ses notes sur le wiki. Quelques remarques: une mailing liste est bien, un (k)wiki aussi (ca peut etre interessant pour Paris). Plus il y a de conferences mieux c'est (4 YAPC cette annee, NA,Canada, Israel et Europe). Par contre il est possible que YAPC, dans le futur soit en hiver, pour ne pas surcharger la "saison des conferences". Le public aurait aime des "tracks" par niveau. C'etait difficile d'apres les organisateurs, la plupart des presentations etaient a un niveau "moyen". Bon, bonne conf, il ne reste qu'une soire'e... de'ja` :--( A tschao Michel Rodriguez IEEE Standards - Electronic Services From rlehy at free.fr Thu Jun 19 04:19:06 2003 From: rlehy at free.fr (Ronan Le Hy) Date: Mon Aug 2 21:38:18 2004 Subject: [Toulouse-pm] (no subject) {Examine} In-Reply-To: References: Message-ID: <3EF17FE3.8090005@free.fr> Maille-Rod vrote: > Le film > Le traditionnel film de YAPC, par gnat, rigolo, l'URL sera postee > plus tard. (trouv?e sur son journal use.perl) http://www.perl.org/yapc/2003/movies/redux/ -- Ronan From mirod at xmltwig.com Mon Jun 23 06:38:01 2003 From: mirod at xmltwig.com (Michel Rodriguez) Date: Mon Aug 2 21:38:18 2004 Subject: [Toulouse-pm] CR final de YAPC NA 2003 Message-ID: Salut, La version finale du compte-rendu (modulo les fotes d'orthographes et autres erreurs de frappe) est la: http://www.xmltwig.com/report/yapc_na_2003.html Michel Rodriguez Perl & XML http://www.xmltwig.com From mirod at xmltwig.com Wed Jun 25 09:25:00 2003 From: mirod at xmltwig.com (Michel Rodriguez) Date: Mon Aug 2 21:38:18 2004 Subject: [Toulouse-pm] Nouveau Module Message-ID: Salut, Juste une petite annonce d'un module hyper-puissant que je viens de mettre sur CPAN: Params::Style permet de convertir des arguments nomme's de affreuxStyleJava a joli_style_perl: use Params::Style qw( perl_style_params); ... my_sub( $arg, camelCasedOption => 'fooBar', hideousIMHO => 1, badBADBad => 'foo' ); ... sub my_sub { my( $arg, @opts)= @_; my %opts= perl_style_params( @opts); # %opts is now: # camel_case_option => 'fooBar', # hideous_IMHO => 1, # bad_BAD_bad => 'foo' Ca a l'air idiot mais je peux pas saquer les modules XML qui m'obligent a utiliser des parametres a la Java! En attendant qu'il arrive sur un CPAN pres de chez vous, vous pouvez le trouver sur mon site: http://xmltwig.com/params_style/ Michel Rodriguez Perl & XML http://www.xmltwig.com From mertz at cena.fr Mon Jun 30 03:35:00 2003 From: mertz at cena.fr (Christophe MERTZ) Date: Mon Aug 2 21:38:18 2004 Subject: [Toulouse-pm] Tk::Zinc un nouveau canvas openGL Message-ID: <1056962062.16858.49.camel@sonat.tls.cena.fr> Bonjour ? tous, Cela fait quelques temps que je suis abonn? ? la liste qui m'a ?t? signal?e suite ? ma proposition de pr?sentation ? YAPC::EU d'un widget Tk: Zinc (elle a d'ailleurs ?t? accept?e). J'en profite donc maintenant pour vous annoncer une nouvelle version de TkZinc, (la 3.2.94) un canvas qui offre des fonctions openGL avec la simplicit? du canvas. Il fonctionne aussi bien en Tcl (sous linux/win) qu'en Perl (linux uniquement pour l'instant). Il est d?velopp? par le CENA (Centre d'Etudes de la Navigation A?rienne), situ? moiti? ? Toulouse, moiti? ? Athis-Mons, pr?s de Paris. TkZinc est aussi intensivement utilis? par Intuilab, une start-up toulousaine bas?e ? Lab?ge, qui propose une toolkit pour le d?veloppement d'applications multimodales. Si tout va bien, on mettra bientot TkZinc sur le CPAN, mais il reste surement qqs probl?mes d'installation ? r?gler auparavant. En effet c'est un vrai widget en C et qui est encore plus int?ressant quand on dispose d'openGL, mais l'installation est + difficile ? mettre au point que pour les modules Perl classiques. A quoi sert TkZinc: ? faire des applications comme le canvas, mais en b?n?ficiant de nouvelles fonctions (groupe, transformations, clipping ? travers une forme quelconque, items m?tier pour les images radar...) et surtout ? b?n?ficier de la puissance des cartes graphiques openGL pour faire du "joli" 2D. TkZinc est librement disponible sur www.openatc.org/zinc (ou vous trouverez mailing liste avec archive, FAQ....) Quelques snapshots ? http://barlu/zinc/screenshots.html Si vous utilisez le canvas, jetez un oeil ? TkZinc, il pourra vous int?resser! Toutes vos remarques peuvent me/nous int?resser. Amicalement et A+ -- Christophe MERTZ From mertz at cena.fr Mon Jun 30 03:57:00 2003 From: mertz at cena.fr (Christophe MERTZ) Date: Mon Aug 2 21:38:18 2004 Subject: [Toulouse-pm] Tk::Zinc un nouveau canvas openGL In-Reply-To: <1056962062.16858.49.camel@sonat.tls.cena.fr> References: <1056962062.16858.49.camel@sonat.tls.cena.fr> Message-ID: <1056963385.16856.52.camel@sonat.tls.cena.fr> On Mon, 2003-06-30 at 10:34, Christophe MERTZ wrote: > Bonjour ? tous, > J'en profite donc maintenant pour vous annoncer une nouvelle version de > TkZinc, (la 3.2.94) un canvas qui offre des fonctions openGL avec la > simplicit? du canvas. Il fonctionne aussi bien en Tcl (sous linux/win) > qu'en Perl (linux uniquement pour l'instant). > Quelques snapshots ? http://barlu/zinc/screenshots.html oups... comme me l'a signal? mat (merci ? lui) l'url est invalide. Il fallait lire www.openatc.org/zinc/screenshots.html d?sol?! > Amicalement et A+ -- Christophe MERTZ