YAPC: Trip Report

Robrt on 2002-07-02T03:53:49

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.



Highlights

  • 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 purpose programming.


  • Mailing List Judo - Listen here. Enough said.


  • 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 package.


  • 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 time.)


Top ten listed

jdavidb on 2002-07-02T13:41:52

Simon's top ten are listed here.

Strangely, I thought Abigail's closure objects made more sense to me than the inside out objects. It probably represents some deep-set genetic propensity or something.