I'm back from YAPC. Michael (Peters, my colleague at Plus Three) is off at ApacheCon giving his talk there. I think he's actually done by now, since he basically had to go from the plane straight into the conference.
It was a big one this year. There were about 400 people there, and I got see lots of old friends and made a few new ones.
Mark Jason Dominus gave another talk based on his upcoming "red flags" book, about fixing bad style. He dissected a module by Chris Winters, which made for an interesting talk because Chris writes good code to begin with. I definitely want this book when it comes out.
Andy Lester gave an entertaining talk called "Get Out of Technical Debt Now!" The focus was on postponed "# TODO" and other tasks and how to
manage them.
I went to a talk on Perl::Critic, which I plan to start using (maybe in my "Low Maintenance Perl" talk at OSCON), and another on B::Lint and how to customize it. Lint looks challenging, so I'll try Perl::Critic first.
The Perl 5.10 update included some good news about speeding up regexes and eliminating some conditions where a regex would run forever on a large chunk of text. I'm personally not very excited about additions the defined-or operator ("//"). When I was a kid, we had to check for defined uphill, both ways, in the snow.
My favorite testing talk was the one on Selenium. This is the project for running a browser to test your JavaScript, which now has a Perl module with an API that looks easy to use from Test::More. (Possible project: a WWW::Mech compatibility layer.)
There was some buzz about a new OO module called Moose, which is somehow a product of some Perl6 work. I couldn't quite figure out the point of it in the 20 minute presentation, but Randal and Audrey and some other people seemed excited about it.
Tatsuhiko Miyagawa (now of Six Apart) gave a couple of interesting talks. (He gave more, but these are the ones I saw.) One was on Plagger, a tool for doing things with RSS. It had
all kinds of plugins for turning various things into feeds, filtering them, and generating different kinds of output. There's an example at
http://planet.yapcchicago.org/.
His other one was a lightning talk on XML::Liberal, which is a module for parsing the broken XML that most RSS feeds have in them. It corrects all the problems before passing it to XML::LibXML and it has no performance penalty on XML that is not broken. This could be very useful.
There was a good Subversion talk by one of the book's authors, but not too much to take away from it that I didn't know. One thing I learned
is that work is being done on merges that track what you've already merged. I make use of branches and merging quite a bit, so this could be helpful. Also, there is a way to mark individual files as requiring a lock before working on them, which can be handy for large binary files.
On the last day, I went over some new code for Apache::SizeLimit with Dave Rolsky and then caught some of MJD's Higher Order Perl talk.
The lightning talks were the usual mixed bag. Audrey Tang presented a brilliant one, which I believe was written by someone else at
YAPC::Asia. When video becomes available, watch
it. Jeff Bisbee showed JavaScript::XRay, a very useful-looking module for essentially tracing JavaScript execution in a frame. There was the
usual in-joke movie too, which was particularly good this year.
Slides for most of these talks are here:
http://yapcchicago.org/wiki/index.cgi?YAPCSlides
And I'm sure you're all wondering how Michael and I did. I got some good laughs with my lightning talk on Web 2.0 and I was pleased with it. Michael had a packed house for his AJAX talk (adding AJAX features to the Krang CMS), and did a great job. Several people told me later that his was a favorite of theirs at the conference.
Thanks to the hard-working organizers who pulled off a great event.