The Second Annual YAPC

Day 1 | Day 2 | Day 3 | Wrap-up

The Second Annual YAPC (Yet Another Perl Conference) convened at 9:00 a.m. Wednesday at Carnegie Mellon University in Pittsburgh. Kevin Lenzo, the universally admired and harried organizer of the event, told me that attendance is up 50% from last year's inaugural effort. In addition to last year's three meeting rooms, the conference has added a large auditorium, space which it clearly needed.

Wednesday's presentations were few in number because most of them were extended tutorials. Thursday's and Friday's sessions will be more numerous. The highlights of the first day seemed to be Nat Torkington's talk on "Raising Your Level of Perl Mastery," and Damien Conway's "Advance Object-Oriented Perl Tutorial." I can't say much about Damien's talk today because it was still going on at press deadline (6:30, when the tutorial was supposed to end at 5:00). I'll have more to say tomorrow. I can say that his goal was to show that object-oriented programming with Perl is straightforward and perfectly in sync with the goals of Perl. Perl predates the heyday of object-oriented programming, but the programmer who wants to use OO techniques in Perl can do so without much twisting and turning.

This idea -- that Perl may not enforce a certain behavior on programmers, but provides an environment that lets the programmers enforce discipline on themselves -- was also one of the themes of Nat Torkington's talk. Perl, as we all know, gives you many ways to accomplish the same task; and, logically, some of those ways include writing clear, un-obfuscated, structured code. Good programmers, said Nat, write good, clear code, even if the language doesn't force them to do so.

I'm employing two other O'Reilly employees, Joe Johnston and Tim Allwine, as co-correspondents for these reports, so that I can increase the breadth of the coverage. This strategy was of little use Wednesday morning, however, as we all ended up at Nat Torkington's entertaining talk. Nat named seven levels of Perl Mastery: Novice, Initiate, User, Ádept, Hacker, Guru, and Wizard; and he described activities characteristic of each. Users, for example, have used other people's modules; but Ádepts have written modules of their own. He described in some detail what a programmer could do to achieve mastery of each of these activities. As an editor, I admired the strict and tight organization of this talk. I wish more conference speakers would learn the value of organization to the clarity of a presentation.

What was really interesting about Nat's talk was the part that contributing to the Perl community played in the higher levels of mastery. He makes it clear that the success of Perl depends on the selfless contributions of its users. Ádepts write their own modules; Hackers contribute modules, manpages, and tools to the standard Perl distribution. Gurus answer Perl questions online, and consider taking leadership of one of the Perl development activiities ("taking their turn with the patch pumpkin," in Perl argot). Nat doesn't want "9-to-5 programmers"; Perl needs more.

My favorite contrast between mastery levels was that a Perl Hacker writes games in Perl (and Nat has some suggestions for those who would like to write some); a Wizard, however, does not; a Wizard realizes that Perl *is* the game.

Randal Schwartz gave a six-hour whirlwind tutorial on Learning Perl. The attendees at this presentation appeared to be young, perhaps CMU students, who get a special rate at YAPC. I hope they were as energetic as their youth permits, because Randal flew through a mountain of material, a five-day Stonehenge Consulting course reduced to one day. The need for speed was increased by the cancellation of flights from bad MidWest weather, which meant that Randal arrived a little late and had to make up time.

Visit for a complete list of O'Reilly's Perl books.

When I sat in on Randal's class in the afternoon, he was cranking, talking at a rate similar to Katherine Hepburn in "Bringing Up Baby." It was all good material, tried and true, and a real bargain: a full intro to Perl for the $75 admission to the conference. Randal is doing a similar tutorial on Web Development later in the conference.

During the afternoon break, Randal showed some photographs from the already legendary Perl Geek Cruise of last month. I wasn't there, but on the basis of these photos, I must say that I saw little evidence of serious Perl inquiry and lots of pictures of folks gettin' down to party hardy. My favorite bit of Randal commentary on these pictures was when he said, "Oh! A picture of me with *another* girl." Indeed.

As editor of a couple of Python books, I was pleased to note that there were lots of disparaging remarks made about Python on the first day of this conference. Last year, as I recall, there had been none. While there was near-universal agreement by Perl devotees that Python was a pusillanimous and pale imitator of little value, it is clear that recognition of Python's increased popularity as a Perl alternative has grown. Just spell my name right, as they say in public relations seminars.

Joe Johnston arrived at the conference from Boston as the result of an all-day road trip down the tedious Interstates 84 and 80. As a former Pittsburgh native, I can testify that I-80 is one of the most boring and longest treks know to modern man, and traveling its length makes one question the value of his continued existence on earth. This feeling is intensified by the parade of memento mori along the way: by Joe's count, major roadkill included four badgers, three deer, and two "other." I didn't ask.

All of us are waiting breathlessly for Chris Nandor to announce the name of the starting American League shortshop for this year's All-Star game.

Until tomorrow,

--Frank Willison

Return to: Frankly Speaking