Andy manages programmers for Follett Library Resources in McHenry, IL. In his spare time, he works on his CPAN modules and does technical writing and editing. Andy is also the maintainer of Test::Harness and can be contacted at firstname.lastname@example.org.
Andy brings us the news from the 2004 O'Reilly Open Source Convention in Portland, Oregon. If you're going to an upcoming conference and would like to write a conference report for TPJ, drop me a line at email@example.com Ed.
Walking in to the Portland Marriott this year, I felt like I was home again. It's like nothing had changed, starting with the dozen geeks in the lobby, mostly on Mac laptops, sucking up the free OSCON wireless goodness.
Monday morning started with a bang, with Damian Conway's tutorial "Perl Best Practice." For three hours, he lectured on how to write good, maintainable code in a language that makes it so easy to write bad code. It was the most pragmatic talk I'd seen from someone whose talks are more often aimed at the "proof of crazed concept" angle. Most interesting, or at least most Perl-specific, was a discussion on writing maintainable regular expressions, including the importance of building up regular expressions from components using the qr// operators, and always using the /s, /m, and /x flags.
Damian also mentioned lesser known modules like IO::Prompt, which makes the drudgery of getting user input slick and handy, and Readonly, which makes variables nonmodifiable. (Actually, IO::Prompt is so little-known that Damian hasn't published it yet.) It was interesting to see a few items on which we disagree, like the use of mutator methods instead of setter/getter pairs and inline POD. I firmly believe that POD belongs interspersed throughout the code (see WWW::Mechanize for an example) so that changes can be made to the docs easily when the code changes; Damian says it all begins after the __END__ token. TMTOWTDI, indeed.
This session effectively paid for the entire trip, since I've been working on getting departmental coding standards, and this session covered 90 percent of what I wanted to have in them. If you can see Damian give this talk, do so. If not, don't worry. He'll be turning it into a book for O'Reilly. (And by the way, O'Reilly & Associates is now O'Reilly Media.)
After the lunch break, it was back to Damian talking about how to give a quality presentation. Although there was no Perl content, I'd have been a fool to miss a master of presentation give away his secrets. He discussed every aspect of giving a talk, from what to call it and what to talk about, to what to wear. Key concepts included the importance of telling a story, rather than presenting a hierarchical tree of ideas; that the presentation is meant to inspire and give a taste of the topic, since the talk will probably not be the primary source of information; and the importance of "stair-stepping" your talk, leaving "landings" of less content to let the audience catch its breath.
Larry Wall's yearly State Of The Onion address was a love letter to the Perl community. No big announcements, just a recap of the last year of Larry's life based on the theme of screensavers, and a heartfelt thanks to the people that keep Perl going. After Larry's talk, David Adler and Ann Barcomb presented the Perl Foundation's yearly White Camel awards. Awards went to Dave Cross, the current leader of the Perl Mongers user groups (http:// www.pm.org/), and to two Perl magazine publishers: Jon Orwant is the original publisher of the magazine you're currently reading, and brian d foy is the publisher of The Perl Review, as well as the founder or the Perl Mongers. brian also had copies of TPR's first print issue. It's great to see another magazine about Perl. It makes me feel like we're increasing our collective strength and mindshare.
Speaking of mindshare, Tim O'Reilly's talk on "What Book Sales Tell Us" gave some interesting computer trends reflected in publishing sales trends. Most notable is that PHP books are 50-100 percent better sellers than Perl books, which reinforces what I've been seeing: PHP's lower barrier to entry means more bodies, but more beginner programmers. Perhaps Perl will be seen as more of an "adult" programming language.
The session calendar also backed up the popularity of PHP. PHP was all over the place, especially with the recent release of PHP 5. PHP still doesn't have namespaces, but darned if people aren't doing a lot of cool stuff with it. Ruby was all but nonexistent this year. I hope Ruby hasn't had its day in the sun, fading away into obscurity.
Finally, this year's Lightning Talks were a little different. Normally, Mark-Jason Dominus presents 16 talks in 90 minutes. This year, the reins were in the capable hands of Geoff Avery, who gave us 45 minutes of Lightning Talks, and 45 minutes of Current Projects talks. He referred to these project talks as "lightning talks without the time limit," where project leaders were able to get up and give a call for help on their current projects. Autrijus Tang discussed svk, a Perl-Subversion integration project he's involved with, and Jouke Visser's pVoice generated a lot of interest. Jouke's daughter Krista is unable to speak, and pVoice allows her to speak using the computer. See http://pvoice.org/ for details. (And of course, I plugged the Phalanx project: http://qa.perl.org/.)
As always, OSCON was a blast, and well worth the time away from the family and the mountain of e-mail awaiting my return. It's amazing to watch the interaction of these people who make Perl happen. As immediate as e-mail and IRC and blogs may be, there's no comparison to having people meet in person. I ask everyone interested in Perl development to get somewhere that they can meet other Perl folks, whether it's OSCON, YAPC, or just a local Perl Mongers meeting. I'll see you next year!