Une définition
<jaban> IRC channels are like houses... <jaban> You can kick your friends out of your house for any reason you want, even if you're being stupid and unreasonable. You can even kick them out for no reason at all. It's YOUR house. <jaban> Now imagine if 3-year-olds owned all the houses. <jaban> That's IRC.
L'IRC c'est :
un moyen pour discuter presque comme à l'oral
bien plus rapide que le mail
mais avec des raccourcis d'orthographe et de grammaire
"écriture SMS"
(sauf que ça existait bien avant le SMS)
en conséquence, souvent immature, infantile et stupide
On passe notre temps sur IRC
On passe peu de temps sur IRC
Optimisation proactive de l'utilisation de cet outil de collaboration partagée
</buzz>
Bot (robot) = programme connecté sur le chan
Fonctions utilitaires : seen
, page
, bookmark commun, interrogation
de services web et flux RSS
Éventuellement ludiques
<Maddingue> purl, be Raffarin <purl> Ouine ! Ze yesse, nide ze no tou ouine, agueune ze no !
Voire totalement stupides
<Maddingue> purl, jerk it <purl> I'M STARTING TO GET HUNGRY ?!?!?! WHO'S UP FOR PRICKS
Nouveaux services
Source de Purl non accessible
Donc, création de nos propres bots
Facile grâce à Bot::BasicBot
Traduction par Babelfish
Bot::Babelfish
Donne souvent des résultats.. surprenants
Provient d'un délire de BooK
Voulait des listes de mots pour remplacer les foo, bar, baz
Acme::MetaSyntactic
Commande meta
$ meta -w loremipsum 10 magni deserunt ad beatae eu temporibus repellendus ipsam explicabo deleniti
Mais manquait encore quelque chose
...
#perlfr Sat Mar 5 01:15 CET 2005 <Maddingue> BooK: bon, l'API de AMS, tu l'as changé alors ? <BooK> je sais pas <Maddingue> comment on fait pour invoquer ton merdier <BooK> ça se mélange dans ma tète <BooK> je peux te montrer des use case <Maddingue> je veux juste savoir si tu vas changer la commande meta <Maddingue> BooK: parce que j'ai fais la seule chose qui me semblait logique de faire avec ton module <BooK> un robot irc
Bot::MetaSyntactic
Utilisation aisée, donc nouveaux utilisateurs
dont des Perl5 porters
Nouveaux utilisateurs, donc nouvelles idées de thèmes
buffy
, donmartin
, dilbert
, planets
, tour_de_france
,
magic8ball
, dwarves
, jabberwocky
, norse_mythology
Et forcément, quelques délires collectifs
$ meta -w pornstars 5 Nikki_Charm Michelle_Barrett Kim_Eternity Pandora_Peaks Jay_Ashley
Regexp::Assemble
, par David Landgren
Commande assemble
présente dans certaines versions
Interface IRC
Bot::BasicBot::Pluggable::Module::Assemble
Interface à Module::CoreList
Avait existé, mais bot plus présent
D'où nouveau plugin
Bot::BasicBot::Pluggable::Module::CoreList
Sur MAGnet (irc.perl.org)
#p5p
- Perl5 Porters
perl-qa
- Perl Quality & Assurance (& Kwalitee)
Personnes très compétentes
Demandent aussi de l'aide pour des tests ou des conseils techniques
Donc on les aide
Résultat, ils vous apprécient
Et ça peut avoir des conséquences
Mise à jour de la liste Phalanx 100
Andy Lester sur #perl-qa
Fichier log sur deux mois d'un miroir CPAN
Code pour trouver les modules les plus importants
Mauvaise idée : répondre
Moi: « Les logs web ne me semblent pas fiables. Par contre on connaît les dépendances de chaque module : on les inversant, on devrait pouvoir en déduire quels sont les modules les plus importants. »
Andy: « OK. Show me the code :-)
»
Défi relevé
CPAN::Dependency
Fourniture d'une liste des modules par ordre d'importance
Mise à jour de la liste Phalanx 100
Avec plusieurs modules vraiment importants qu'il n'avait pas vu
et qui ont été détectés par CPAN::Dependency
Défi gagné :-)
Décembre 2005 : détection d'un double trou de sécurité dans Perl
syslog()
laissait des données non vérifiées dans le format
passé à snprintf()
snprintf()
de Perl avait un bug le faisant planter, d'où déni de service
Remonté par un bug dans Webmin
Donc tout le monde déteste Webmin
(un peu plus)
Zonais sur #p5p
depuis un petit moment
Avais même fourni à Nicholas Clark accès à ma machine
Et pourtant...
19:10 <@Steve_p> Can Sys::Syslog be easily split out as a stand-alone module? I'm assuming yes. 19:10 <@Nicholas> I assume yes 19:11 <@rgs> probably 19:12 <@Steve_p> Should we press-gang^W ask someone if they'd like to release it? It would help get its fixes to other Perl versions than blead and maint. 19:12 <@Nicholas> yes, why not 19:12 <@Nicholas> seen maddingue 19:12 <+purl> maddingue was last seen on #p5p 15 hours, 56 minutes and 15 seconds ago, saying: laughs and goes to bed 19:12 <@Nicholas> <ducks> 19:12 <@Steve_p> heh
Simon Cozens et Mark Jason Dominus utilisaient Lingua::EN::Inflect
S'en servaient pour avoir le pluriel de mots français
Avec des résultats...
$ perl -MLingua::EN::Inflect=PL -le'print PL("beau")' beaus $ perl -MLingua::EN::Inflect=PL -le'print PL("cheval")' chevals
Je leur indique les bonnes orthographes
Leur réponse :
Thanks
Can you write Lingua::FR::Inflect?
Fonctionnelle : fournir le pluriel d'un mot
(de différentes manières)
API : basée celle de Lingua::EN::Inflect
PL_N()
- pluriel d'un nom ou pronom
PL_V()
- pluriel d'un verbe
PL_ADJ()
- pluriel d'un adjectif
Probablement des extensions spécifiques pour le français
Méthodologie : TDD
is( PL("beau"), "beaux" ); is( PL("cheval"), "chevaux" );
Damian Conway a écrit Lingua::EN::Inflect
seul
Mais Damian est-il humain ?
Lingua::FR::Inflect
Nombre non négligeable de subtilités à prendre en compte de par le nombre d'exceptions en français
Nécessite certainement une bonne connaissance de la langue
Ouvert à un développement collaboratif
Projet et liste de diffusion seront probablement hébergés sur le serveur des Mongueurs
Ouverture sera annoncé sur la liste technique perl@mongueurs.net
Si intéressé, me contacter à saper@cpan.org