The Second Annual YAPC

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.

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.