Related link: http://yapc.kwiki.org/index.cgi?DayThree
Day three started by sleeping even later than usual and rushing to the campus in time to catch Piers Cawley flying by the seat of his pants to discuss “Perl Refactoring”. Schwern tried to give the same talk a couple of years ago, but it seems to be cursed — it’s really hard to get an automatic refactoring program working during a talk. Piers instead demonstrated test-driven development, including the refactoring step at the end. It worked pretty well, though I really do think this talk is cursed.
Helen Cook next previewed a yet-to-be-released module called Video::Manip. She and her company are working on automatic detection of interesting events in media files. She identified a couple of interesting algorithmic techniques to detect the start, climax, and end of interesting events in a video stream. With Perl. Hopefully this module will end up on CPAN by next Wednesday (she promised).
Ken Williams spoke about Machine Learning with Perl. In particular, I’m interested in document categorization which he’s discussed before. His big example was processing SpamAssassin’s example corpus to build a decision tree of the most effective rules. He was quick to point out that the Bayesian rules weren’t even present on most of the trees until they went several levels deep.
Ken mentioned Search::ContextGraph which looks like it just might fit some of my needs.
After a short break, junior pumpking and newlywed Artur Bergman discussed the
optimizer.pm module which allows you to replace Perl’s optimizer with one of your own, written in Perl. This is in the class of things you either shouldn’t ask about or, if you know exactly what you’ll do with it, the only way to understand it is to read the source and example code. Later, I asked Artur if the optimizer had access to the source of the lines being optimized. He didn’t think so. Pity, though I can get at it anyway.
Lunch came next, including a Perl 6 BOF, where we discussed a proposal to put sources and sinks and data filters in the core language with syntax. I don’t see the need as generators, iterators, and co-routines will make it easy and subclassing (or implementing the protocol of) filehandles is already possible in Perl 5. I could very much be missing some subtlety though.
After lunch, Damian presented nine modules, written in a 23:53 period, inspired by National Geographic’s Swimsuit Edition. (To quote, “I am not making this up.”) The point, of course, is to find something useful, solve it once, and never worry about it again.
YAPC always concludes with a town meeting. The hot topic this time was the question of multiple conferences hot on each others’ heels stealing thunder and attendees from each other. Outgoing president Kevin Lenzo has said “The more the merrier”, but there are so many variables no one can say what will happen.
The best idea I heard was a combination of smaller, day or weekend workshops and free Perl tutorials for interested community members. Portland or Seattle could find a local campus or business, gather a handful of speakers, and teach people how to write Perl from scratch or how to write better Perl. Winter seems to be a good time for these as it’s out of the conference season. It’s worth thinking about.
There was random assorted lunacy afterwards, involving bars and parties and the like. One of those conversations sparked the idea for Acme, Incorporated, which works about as you’d expect from the old Road Runner cartoons.
As YAPC day four involves nastiness with cars, buses, and airplanes, we’ll skip it. See you all at OSCON in a few weeks!