YAPC 2002, held in St. Louis, Missouri was a wonderful success. This
is a draft of a trip report I'm going to send to my boss.
Perl 6 - as expected there was a lot of talk about
perl6 and parrot. it seems this is going to be the
language/architechture that makes everyone happy. If you don't
like something, change the grammar. That's very cool, but also
potentially very dangerous. But perl can be used for both good
and evil... In general, it seems that perl6 will be both more
readable and less readable than perl5. Things are moving along.
I won't detail them here. I feel somewhat more comfortable with
how things are going, but am still worried about the "make
everyone happy" direction.
Request Tracker - I sat in on the second half of
Jesse's talk on Request Tracker, an extensible and customizable
ticket tracking system. (Tangentially, it strikes me that Request
Tracker is designed very well. See
The Design of Everyday Things.)
Open Source Presentation Tools - Adam Turoff's
presentation on Open Source presentation tools put forth AxPoint
(an XML based presentation system that renders to HTML or PDF) as
a superior presentation method. I've been known to use my own
custom->HTML presentation formats, but recently, I've found that
Powerpoint is superior. It's many modes allow simple outline
editing, or highly specific "I want this text here" control.
Sure, the HTML output is atrocious, but the point of slides are to
give the audience something to look at during the presentation.
Imager -... is a really cool Image manipulation module
for perl. Easier and more consistent than PerlMagick, more
powerful than GD. Plus, it's under active development.
Simon's top 10 modules - Simon Cozens shared his
favorite CPAN modules and bundles. (I'd like to include the list
here, but he hasn't posted it yet.) The only module that I didn't
agree with was POE. (Event Driven Perl). It is either not ready
for prime time, or I feel that it is too esoteric for general
Something, Something, Faster - This was my
interpretation of Nat Torkington performing my
Optimize Your Perl Code tutorial, compressed from three hours
to 45 minutes. Feedback shows that both my Nat impression and
tutorial were pretty good. I know that I enjoyed it.
optimizer.pm - After I performed a quick Simon
impression, we learned about optimizer.pm and optimize.pm. They
use the new pluggable optimizer hooks to allow for lots of cool
opcode level optimiziations. Arthur Bergman has implemented per
variable use integer and a 20% speedup in accessing tied
variables. The next step is some serious code flow analysis, dead
code elimination, and any other optimization you can think of.
Some will be difficult in perl, but it should provide a way to
obtain some serious code speedups.
Conference Presentation Judo - This is necessary
training for anyone who ever has to give a presentation. Tips and
tricks from a master of entertaining and educational
presentations. Don't forget the happy baby!
Kida - a next generation build system - Make, cons,
jam, jakarta and friends are all outdated. I presented the build
system we've been developing at WDFA. The presentation was a
little rushed, because the previous talk ran a few minutes over.
People seemed to enjoy the talk and were interested.
Lightning Talks - The highlight of these talks was
Nat's rogue video: A Python Programmer
Learns Perl. A close second was the closer, Tim's
Algorithmic Rhyming and 'The Name Game' which had the
entire room singing Bannana Fanna Fo Fanna...
Test::Tutorial - Michael Schwern's
Test::Tutorial made me rethink some testing methodologies I
had been using. The ideas and tools Michael present are so easy
and make so much sense that there's no excuse not to use them.
Alternative OO - Abigail's Two Alternative Methods of
OO provided two different methods for performing OO. The first,
using closures to encapsulate state was very interesting, but
seemed a pain to implement. The second, "inside out classes" made
a lot more sense and had a lot of flexibility. All of the
instance data is stored in lexical hashes inside the class
Time::Space::Continuum - Damian Conway's
Time::Space::Continuum module did the impossible and performed
calculations in zero time. I'm still not quite sure how he did
it, and I doubt it's practical, but it was still very cool. Once
again, you had to be there. (And yes, I did say zero