YAPCR: Yet Another Perl Conference Report

Last week, I attended YAPC, Yet Another Perl Conference, organized by the Perl Mongers Organization, at Carnegie Mellon University in Pittsburgh. It was impressive enough that I think it deserves a little attention.

General Impressions

YAPC was a very successful conference. There was much good feeling all around. The Perl Mongers wanted to host a conference that any Perl user could afford to attend. The Perl Mongers organization is, to be gentle, a loose coalition of loosely organized local groups of Perl programmers, and some of them were worried that such a group could not put together a successful conference. YAPC put those fears to rest.

Kevin Lenzo, a graduate student in computer science at CMU (and a member of the Pittsburgh Perl Mongers), organized the conference. He was roundly praised. The conference attendees gave him a book (Cryptonomicon, the new Neal Stephenson novel) and his mother another book (Yes, I said his mother; she got a very nice collection of short stories), both signed by everyone attending the conference. It was warm and homey.

The conference ran very smoothly. Carnegie Mellon University provided good conference space -- one very large conference room that split into three good-sized rooms for most of the day. Presentations ran pretty smoothly, with a few more glitches than usual, but nothing terribly bad. Most presentations were made from attached and projected PCs (most running Linux, of course). No presentation seemed to have Internet access. The presentations were less well-prepared and more informal than at most conferences, but that made sense. The tenor of the conference was one of egalitarianism, and most presenters saw themselves as part of the same community as the audience. The audience agreed. Audience participation was common and seemed natural. However, in some cases, this informality led to talks that were rambling and self-indulgent.

There were two kinds of rambling talks. In a couple of cases, the presenter seemed to be someone who had longed for the opportunity to discuss his particular interest and project, and, in the real world, found few willing listeners. Finally in the midst of many Perl-loving colleagues, these presenters opened the floodgates and released wave after wave of arcane Perl information. The audience was forgiving of such presenters because the presenter's respect for his material was so evident, and, because, well, they like arcane Perl information.

The other kind of rambling talk showed a lack of preparation on the part of a couple of presenters. These presenters, I felt, didn't prepare enough because of their assumption that the audience would be very forgiving. Such presenters got lost in their slides or had to explain why they couldn't show one slide or another. One presenter said something like: "These slides have some technical errors, but I know you'll understand. You're not like the people who attend those $299 tutorials and expect every slide to be perfect." The audience seemed less comfortable with this view. Although the attendees didn't pay $299 to attend, they still expected the spreakers to be well-prepared and the slides to be accurate.

Let me emphasize that most of the talks I attended were very useful and well-prepared. Some were versions of talks or courses that would have cost a lot more as part of other conferences or courses.

Conference proceedings were made available the first morning of the conference. Many presentations were not included (part of that informality, I guess) but will be available from the conference website. I just checked and didn't see the proceedings yet, although the list of speakers and abstracts is up. I suspect that Kevin is still recovering from YAPC preparation and hasn't had time to update the site.

The food was okay but downscale. Lunches were a box lunch sandwich on Thursday and pizza on Friday. Dinner on Thursday was institutional buffet: chicken piccata (they said), vegetable lasagne (a lot like a chicken pot pie without the pie crust or the chicken), boiled beans, salad, and dessert, all on plastic plates with plastic utensils. All breaks had coffee or soda and muffins, cookies, cheese cubes, or other snack-like objects. The food was more than reasonable given the price of the conference.


Conference sponsors included O'Reilly & Associates, of course; CMU; The Perl Journal (now published by Earthlink); Walnut Creek, the CDROM publishers; ActiveState Tool Corporation, developers of Perl software for the Win32 programming environment; Metronomicon.com (Kevin Lenzo's "wee startup"); Told You So, a consulting company that supported the conference registration; Manning Press, and Addison-Wesley Longman.

Presentations in a Nutshell

Here are my thoughts about some of the presentations I attended. Of course, there are many presentations that I did not attend; three presentations were given during most time periods. For more information, keep your eye on www.yapc.com.

Keynote: Larry Wall

Larry Wall's keynote was supposed to be about Perl and economics (the dismal science), but he changed his talk because he found the subject too dismal. He showed us the Perl code that he uses to control the X10 household environment in his home. It features sounds for everything, all broadcast over a PA system. These sounds included a 10-minute countdown that helped his children get to school on time (yeah, right); the Alleluia Chorus, for email sent to his wife; and recorded dog barks to answer the door bell when the family was out. The sounds were suppressed during the hour most often allotted to naps; that's a nice feature! I found the system to be ingenious at first and then a little scary. The code was interesting and clearly written, but the concept was, well, oppressive. I know I'd put up with it for about two days, and then I would own the wires to that PA system.

It was an interesting talk, however, because it was humorous; it focused on very accessible Perl scripting (even I could follow it); and it featured Larry, a very self-effacing Perl deity. It was very well-received.

XML and Perl

There were several XML-related presentations. I attended two: one on XML and Perl by future O'Reilly author Jonathan Eisenzopf; and "Avoid Syntax Hell: Use XML", by Ben Holzman. I was struck again by how difficult a subject XML is proving to be. Jonathan tried to cover all of XML, and had great difficulty determining which parts of XML are worthy of mention and ready to use. XSL and XQL are two examples of XML-related technologies in some mixed state of utility and instability.

Other XML tools, like jade and expat, have clear strengths and weaknesses that make their use a matter requiring analysis. expat, for example, which is part of the XML::Parser module in Perl, checks that an XML document is "well-formed" but does not validate it. (A well-formed XML document follows all the generic rules of XML; for example, all beginning tags will have end tags. A valid XML document will also follow the rules of an associated Document Type Definition; for example, a DTD might specify that a header-level 3 tag has to be subordinate to a header-level 2 tag.) Thus, to understand whether you want to use this module, you need to understand whether validation is important to your document.

Someone more experienced with XML will probably dispute my examples above; it's difficult to make completely accurate short statements about XML. During Jonathan's talk, for example, a fellow from the audience kept making exacting corrections to Jonathan's slides. I thought Jonathan might take offense. It turns out that the "heckler" was Clark Cooper, Jonathan's co-author. Hmmm.

Jonathan made a point of XML's inability to display information easily, especially over the Web. I'm not sure that this will be a serious problem for long. The next generation of browsers should handle XML natively. In the meantime, just convert XML to HTML.

The point of Ben Holzman's talk was that XML is a good tool for regularizing the syntax in configuration files. I'll have to pass on describing this one. Ben went from the general statement above to a series of tasks and the associated Perl scripts, skipping the middle layer that related the scripts to the overall goal. I was lost until Ben's final point: "Object-orientation is pretty cool." The code will be in the proceedings at www.yapc.com. I leave it as an exercise to the reader.

Ben represented the other difficulty with much of the discussion of XML: the presenter knows what he does with XML, but those tasks get lost in the details of the code. I would have enjoyed this talk more if I were a serious Perl coder.

News from the Development Front: Dick Hardt

This talk was a summary of the new features of the nest release of Perl (5.6) and of Activestate Tool Corporation's Microsoft-funded work. [In the interest of full disclosure: O'Reilly & Associates has a financial interest in Activestate.] This talk was interesting because of Activestate's acceptance of financial support from Microsoft. There has been some criticism on the Web, and from some Perl purists, about accepting money from the alleged Great Satan of Software. Perl's independence, especially from Microsoft, is of great importance to many Perl users. The critics were perhaps unaware that Activestate had received funding from Microsoft before; that funding made the current version of Activestate's Win32 Perl possible. Dick Hardt was clear that the funding would be used for the greater good of Perl; nevertheless, he looked around the room warily at first, checking, I think, for the glint of metal flashing off a weapon.

Dick explained that Activestate's version of Perl supports the OnePerl effort. This goal, rather than differentiating Win32 Perl from other platforms, incorporates them under one specification. Among the work being done now by ActiveState is COM support on Unix, for example. This work allows Unix servers to work cleanly with Perl scripts running on Windows clients. In fact, nobody challenged or attacked Dick. They seemed to understand that improving Win32 Perl and integrating it with other versions of Perl was good for the Perl community and for Microsoft. Of course, just in case, he did give away free frisbees.

Dick expects Activestate's version of Perl to be part of Microsoft's Services for Unix V2 product. He does not expect Microsoft to ship Perl as part of Windows or NT. He promised a Beta of Perl 5.6 by the O'Reilly Open Source Conference in mid-August.

Dick also admitted that he has seen "The Phantom Menace" three times.

Chris Nandor - macperl

Chris Nandor made an interesting presentation about how MacPerl works with Apple events, how it stacks up next to Applescript, and how it uses certain specific modules (Mac::Glue, for example).

However, his current version is just into beta, and there are some major holes, lack of perl/tk support being the major one. (If you want to port Tk to the Mac, Nandor wants you.)

Lies We Tell Ourselves about Perl: Nat Torkington

This talk came late in the day, and Nat, a Perl Monger favorite, was trying to stoke up the crowd. He wanted to disabuse the attendees of the notions they tell to each other that conceal characteristics of Perl that could be improved. The lies and half-truths Nat exposed were:

Nat admitted that his remarks were in some case half-truths as well, but he intended them to burst some balloons and make people think about some of the assumptions they made.

Perl Hardware Store: Mark-Jason Dominus

Mark-Jason noted that, when he went to the hardware store to ask about leaky faucets, he found out about Teflon plumbing tape, which, when wrapped around the threads of his shower head, stopped the leaks but left the head easy to turn. Perl has useful tools like that, too, he said, and he gave some examples.

His tools included:

For the code and a further explanation, see the conference proceedings, when they are available. Mark-Jason's notes are quite complete.

M.-J. D. is an unorthodox (read: barefoot) presenter. He is quite lively and a dynamic speaker. He could be more concerned about the accuracy of his slides.

Elaine Ashton - History of Perl

This was a timeline of events which Elaine felt are connected to the development of Perl. Some were a stretch. (Atari introduces home video games in 1975. "Who," Elaine asks, "could forget Pong...?") This was a trip down memory lane. It is useful from time to time to realize that Perl 1.0 was released in 1987. This is a language with a lot of history, a lot of development. It predates Visual Basic and a lot of other interesting languages. It's been hammered on by experts. If you're looking for a stable, tested language, Perl has a claim on your time.

If you're interested in viewing all historical Perl events, visit the YAPC website.

Randal Schwartz: Reducing Business Risk Using Perl

This business risk presentation, presented professionally and briskly by Randal, stressed the features of Perl to use (and the ones to avoid) in order to write commercial-strength, secure Perl code. This information could help Perl programmers persuade their brainwashed bosses that Perl code can be as secure and reliable as its proprietary competitotrs.

Randal warns against overuse of globals, use of certain outdated modules, Y2K problems, warnings in running code, code "zombies", and other potential performance and security problems. Nice talk.

Randal knows this material.

Adam Turoff - Effective Perl Mongering

This talk recounted how Perl Monger groups in various urban areas have been started and maintained. There were no particularly unusual organizing techniques; however, beer seems to play a crucial role.

As noted, the Perl Mongers are loosely organized. There are chapters in most cities and on five continents. The chapters continue to exist as long as the particpants are motivated to attend the meetings. Therefore, chapters mix useful presentations and discussions with social events. Did I mention the beer?

Adam called on Brian D. Foy, who discussed the Perl Mongers' White Camel award. The White Camel, it seems, is a rare and highly prized animal. The award will be given to members of the Perl community who make crucial non-technical contributions to Perl. You can nominate someone at starting on July 8. The winners will be announced at the O'Reilly Open Source Conference.

Perl/Gtk+: Geoff Harrison (Mandrake)

Geoff is about 12 years old (okay, he's in his early twenties, but from my perspective, that's the same thing) and an employee at VA Research.

His presentation of Gtk+ and Perl was not very scripted; he mostly demonstrated widgets. It may be that others who understood Gtk+ and technology like Tk would have appreciated this talk more. Geoff certainly claimed that Gtk+ had features that went well beyond those available through Tk. Check the YAPC web site if interested.

Geoff talked during the lunch break about his true love, Englightenment, a GUI he's developing right now. He seemed quite energized about it. It does seem like a technology that could be important in the Linux community.

Perl and Databases: Chris Winters

This was a basic talk on DBI and database independence with brief coverage of Apache::DBI and mod_perl. DBI, as you may know, is a generic Perl interface to relational databases. It replaces the database-specific modules common to Perl 4: OraPerl and SybPerl, for example. DBI provides a consistent interface to common database operations; these operations, then, are mapped to specific database products by drivers.

Chris noted in his talk, as I will here, that O'Reilly & Associates has a book in the works on this topic by Alligator Descartes and Tim Bunce. Tim is the creator and maintainer of the Perl::DBI module. Expect this book later this fall.

Rebuilding Post-Apocalyptic Civilization with Perl: Jon Orwant

This was a tour de force. Jon, spokesmodel for the MIT Media Lab, asked: what would happen if a group of aliens, annoyed by all the information noise caused by humans, dropped an information bomb on the Earth? Jon posits that most people would die. The most backward 500,000, unaware of information, would survive, as would the most advanced 500,000. Jon thinks most of them would be Perl programmers, with a few C and C++ programmers. "There was one Visual Basic programmer," Jon related. "He made a tasty meal for the rest of us." The most pressing goal of rebuilding civilization, according to Jon? Organizing CPAN a little better.

Jon ranged over a number of interesting facts: for example the amount of data DirecTV drops out of the sky onto your head each minute. A gigabyte, that's how much. He figured out which characters were most used in CPAN and was able to arrange a Dvorak-like keyboard for the post-apocalyptic Perl programmer. It was pretty amazing. Based on Jon's predictions, though, I'll be happy to be among the victims of this bomb.

Town Hall Forum: Kevin Lenzo

The last event was an open forum on the conference. Much satisfaction was expressed.

The revenue fell a couple of thousand short of expenses. We passed the hat. As I said: warm and homey.

Will there be a YAPC II, someone wondered? Next year, about the same time, at CMU again, Kevin confirmed. They're looking to double the size. They may adopt a sliding scale of charges to raise a little more money, charging people like me more without charging more to students and such. They're looking into adding a day, perhaps for extended tutorials.

Social Notes from the Steel City

Frank Willison
Editor-in-Chief, Technical Publishing

Return to: Frankly Speaking