woke up later today than I wanted, missing two talks I wanted to see: Perl 5.10 update, and a discussion on PAR. :-/ However, I *did* get to listen to the other talks I really did want to see: talks on Perl 6 and Parrot. But before those talks, I went to one on module maintenance.
James Keenan discussed his experience with maintaining ModuleMaker::ExtUtils. Mostly he expounded on the "five-fold" path when taking over:
cleanup the author's code impose your best practices add new functionality he used Damian's PBP to create a plugin like module-starter he used File::Temp restructure the distribution use CPAN Testers spin off new modules
UPDATE: look at first comment by kid51. I apparently fudged the facts a little. ModuleMaker::ExtUtils is actually ExtUtils::ModuleMaker, and spinning off new modules is actually a side effect, not part of the five-fold path. See his comment for locations to slides and fulltext.
Since I started to work with the Phalanx Project working on Mail::Sendmail, I decided to ask him (after the talk) for some advice. I've been hitting a wall with knowing what to do when, and how much to do. The module's author has been helpful in describing what features he wants Mail::Sendmail to implement, but at the same time it has been hard since the author would like backwards compatability for early (~5.004) versions of perl. (Many of the test modules require 5.6, so I need to figure out which test modules I really need and if I can possibly make them work with 5.004.) His suggestion, IIRC, was to do as much as I feel comfortable with, but realize that if I'm not a co-maintainer, all of my changes might be for naught. He suggested that I try to become a co-maintainer.
The next talk I went to was on Parrot and Perl 6 compilers. Patrick Michaud explained that there are many compilers for Perl 6, one of which is Parrot. He then went on to explain the steps the Parrot VM uses to compile Perl 6:
perl6 source, perl6 grammar -PGE-> parse tree -TGE-> abstract syntax tree (PAST) -TGE-> opcode syntax tree (POST) -codegen-> PIR -parrot-> bytecode or program executionHe also discussed the difference between rules and tokens, and gave a TODO list for anyone interested in contributing to making PGE parse Perl 6:
fill out 01-sanity tests arrays, hashes loops use statementOverall it was pretty informative. I now have at least a starting point of where to contribute my time, and also I have a good overview of the process. Woot.
The next talk was given by Yuval Kogman, whose name I had known from lurking on the catalyst mailing list and from reading the #perl6 logs. parts of the talk went over my head, but I was mostly able to follow along. Yuval talked mostly about what the requirement for Perl 6: to be both static and dynamic in certain parts (dependent on the programmer's need), good/fast/small enough to write a compiler in, scalable, and self-extending.
Audrey Tang gave the next talk, which was about deploying Perl 6. I had read the slides that were in the svn trunk which were presented to Microsoft a week or two ago, and this presentation didn't seem much different. It was pretty cool to see P5 code next to P6 code, and how vastly different (in a good way) P6 is from P5.
After the P6 talks, there was time for one more talk, and I decided to check out the Plagger talk by Tatsuhiko Miyagawa. I had only heard mention of Plagger here and there, but didn't really have an understanding of what it actually did. Basically, it allows data munging from different sources in different ways to many outputs. Like a RSS/Atom aggregator on steriods. For instance, it allows you to have an RSS feed be munged in a particular way and sent to an e-mail address all by downloading the right plugins and setting a few configuration options. But that's not even the half of it. There are many different configuration options to choose from. Definitely piqued my interest.
After the talks, there was an auction dinner at Dave & Buster's. I'm pretty sure everyone at the conference went, because there were free games (when they weren't broken) and free food. The auction (I believe) went reasonably well, with The Perl Foundation raising $2895 in cash (and more by credit card) by auctioning off books, shirts, Uri's singing, Randal Schwartz, Damian Conway, Larry Wall, and an action figure of Larry Wall. I made out pretty well, garnering Pro Perl Debugging by Foley and Lester, a shirt with the Perl camel on it, and (as part of a group) lunch with Randal Schwartz for the following day. The auction lasted well into the night, and the group I left with got back after midnight. Earlier in the evening, Ann had invited me to MST3K after the auction was over, so I went to it after we got back.
I'm not sure if I was fortunate or not, but the first movie wasn't MST3K, but rather Skidoo. There were some big names in it, but it was one of the worst movies I'd ever seen. I consider myself fortunate because I got to see it with some peeps who made very funny remarks, but I consider myself unfortunate because I actually sat down and watched it. However, after that movie was over, there were some funny short videos played by Andy Lester. They were all pretty funny, but the most memorable to me was the Farting Preacher (Parts 1-4) in which fart sounds were inserted at times of silence when this televangelist was talking. Anyhow, by the time they were starting to show MST3K, I was fading fast, so I called it a night.
Anyone motivated to think about taking over maintenance of CPAN modules can check out what I experienced in either slideshow or full-text format. Thanks again!
Jim Keenan
Re: yapc day 2 and the Five-Fold Path
david.romano on 2006-07-05T03:23:45
Sorry about that Jim, and thanks for the corrections. I'll update the main body to reflect 'em.
:-) Re: yapc day 2 and the Five-Fold Path
kid51 on 2006-07-05T23:37:01
No problem.If you do take over maintenance of that CPAN module, consider writing up your adventures for the module-maintainers mailing list.