Last month Yet Another Perl Conference 19100 was held at Carnegie-Mellon University in Pittsburgh, Pennsylvania. I promised a conference report when I got back, but once again found that I couldn't really write it myself, because I had been a speaker and so had missed a lot of the things that went on outside of my own events.
While trying to decide whom to get to write the report instead, I realized that I was tired of conference reports written by one person. Instead, I followed the pattern of one of the conference's big successes, the Lightning Talks, and asked about twenty people to each contribute a very short report on one or two aspects of the conference.
The reports follow. For more information about YAPC, visit http://www.yapc.org/. Also note that the first YAPC::Europe conference is coming up in London in September.
The first big highlight was probably Larry Wall's opening speech on
Bunyan's The Pilgrim's Progress and the development of perl, but I
found the talk's concluding Q&A portion really unforgettable. Someone
asked Larry what the first thing was that he would go back and change
about perl, given the chance. His answer was succinct: The return
system(). `"Obviously," he announced, "If you want to
succeed, be true."
Friday's big excitement was mjd's Lightning Talks, a sort of Conference Proceedings for the Attention Span Impaired. A lot of people turned out to see the five-minute talks, most of which were really well delivered. Amazingly, all of the speakers kept to their allotted time, as marked by Dominus with a gong he seemed to have mysteriously acquired for that purpose. The highlights of the Talks were universally accorded to be Nat Torkington's twin discourses on "A Day in the Life of p5p" and "What is it with those Python fucks, anyway?", the latter of which was thoroughly tongue-in-cheek, absolutely hilarious, and it's too damn bad for you if you missed it because Nat has, apparently in the interests of peace, refused to make the text of the speech public. "Of course our wheel is square. It's easier to measure that way."
But, as always, the best part about YAPC is the people. After Friday's proceedings, I, with every intention of going down to Forbes Av. and getting too drunk to walk back to the dorms, instead happened upon what apparently started out as an idle chat with Larry and Sean Burke and mjd and a few others, and became this mad informal panel discussion in the lounge that started with the genus of shellfish the Phoenician used for dye and somehow ended up moving from there to the philology of Lisp and Cobol to the decipherment of the Codex Seraphinianus and beyond, digressing continually for all kinds of other esoteric insanity. I mostly sat and listened, utterly fascinated. I never did make it out to the bars. I swear, the perl community is a bright lot, and, boy, YAPC is a great place to get a healthy dose of humility. Thank God it only happens once a year.
[ Details about the Lightning Talks are available at http://www.plover.com/~mjd/perl/lightning-talks.html --D. ]
For me, YAPC started around 9:00 on Wednesday, June 22nd. I showed up a bit too late to catch Kevin Lenzo's introductory talk, but just in time to catch Mark-Jason Dominus' talk on strong typing, an interesting talk about the pitfalls and triumphs of typing systems in various programming languages. Mr. Dominus is an incredible speaker, and even while he was clearly quite exhausted, the talk was very interesting.
After this talk, I hopped over the Randal Schwartz's "Learning Perl"
room for about an hour. Now I can't say how good this talk is for
perl beginners, not having been one myself for quite a while, but I
always like to go see Randal speak for at least a little while at
these conferences. Every time I go, I learn something new about perl
that I just hadn't noticed before. For example, at YAPC I learned
about the return value of
However, I can only last about an hour before the dreadful jokes and
auctioneer-style patter start to really get to me.
After lunch I returned to the Dominus room where the famed "Wizards" talk was getting under way. In just under an hour and a half, I learned an immense amount about globs, knobs, references and other sundries that go on under the cover of the stash. Unfortunately, shortly after the final break for the day had begun, I was again overcome by anxiety and had to leave. I spent the rest of YAPC at home and at work, but I hear it was also very cool.
Woke up and made for the shower to catch Larry Wall's opening talk, stopping only to smile as Larry and backpack walked silently by.
Got to the auditorium (after wolfing down excellent catered YAPC breakfast of fresh fruit and bagels), sat by mjd, and listened to Larry speak through the allegorical adventures of Christian in the book, "Pilgrims Progress."
Listening to a Damian Conway talk (whether about OOP, or about quantum programming) is like going to an old-time Grateful Dead show: it goes on hours longer than expected, but by even halfway through you're tripping too hard to care.
John Orwant's talk discussed concepts of copyright by pointing out design features of things (an ashtray, an ice bucket, a lamp!) that he snuck out of his hotel room -- using stolen property to explain intellectual property.
As to the post-talk festivities: There's not many conferences you can go to where people, once a bit drunk, will declare how delicious the word "ontogenesis" is, swap tips on where to get a copy of the Codex Seraphinianus, and then go make fun of whatever's on ESPN.
- highlight: quiet dinner with 2 friends on saturday night after it was all over in a very nice place overlooking pittsburgh.
- lowlight: seeing bill in a hooters top.
- in between light: picture of me and hooter girl
- fun moment: wading in hotel lobby fountain at 3am.
- best talk no one understood: damian's quantum superposition.
- best bof no one came to: dual giant screens of the marx brothers' horsefeathers.
- nicest ending: lightning talks that were cut off before you got bored or too much information.
- best new friend: jasmine.
- best previous friend: damian.
- most rigged raffle: perl mongers (dha won the cpu).
#perlmoments: getting to know faces and voices to attach to all those nicks.
- most violent talk: damian's advanced klingon objects
- cool thing: logging in to home box via ssh and reading mail in emacs.
- best drink: mad mex fresh raspberry margarita
YAPC was an interesting mix of brilliant, delightful, vulgar, pompous, engaging, boring, and fun people. I say people, because the people eclipsed the event proper. When I think about what talks I went to see and why, I realize that I went to see a certain person speak and not to see a certain topic elaborated. So what we had was essentially a huge multi-day all-night technical bull-session with a wide variety of people, led by the cream of the crop. Well, frankly, what could be more fun for a crowd of geeks?
Yes, fun. Sure, I justified all my expenses as training costs to my employer, but at the end of the day we had a lot of fun. Certainly some great things were learned, but mostly contact was made with plenty of smart people and we had a good time doing it. What I remember most vividly, for example, are events that happened far from the conference schedule:
- Discussing the autism and language with Larry Wall, Sean Burke, and Mark-Jason Dominus at some terrible hour in the crossroads of the dormitory.
- Having my room invaded by several luminaries for an impromptu discussion on Perl, the universe, and Space Ghost at 3am while trying to prepare slides for my talk the next day.
- Being discretely offered computing services in the wee hours by folks who should know better but feel that getting Larry on-line at 4am is more important than the rules.
- Being offered long distance cell phone time from a large number of caring #perl folks so that I could call home and talk to the sweetheart we had to leave behind for the week.
- Throwing a frisbee on the lawn with Perl people when it was so dark that the disk could not be seen until it was 2 meters from your face.
I'd chew off my own leg before missing the next one.
While I have presented papers at other conferences in the past, I have always been nervous about presenting at a Perl conference. I thought no one would find my work interesting or innovative. I was wrong.
YAPC was the ideal venue to discuss my latest project (the Census 2000 Internet Form) and all the open source issues related to its development. Being a speaker opened up a lot of conversations with people who, in their search for advocacy support, were curious about my agency's work with Perl and open source. Someone asked me optimistically "But is open source part of your agency's strategic plan?" Well, it isn't, but that hasn't stopped us from depending on it.
So gather your ideas and start putting together your presentations for next year. Use your local PerlMongers meetings as a proving ground. Take advantage of the small crowds and congenial atmosphere of YAPC to get your feet wet in the waters of the Perl conference circuit.
Initially, I had two goals for YAPC. The first was to get in touch with some of the Perl Culture that I've been missing out on. Second was to learn some things about Perl that I really didn't know.
I attended Dick Hardt's "Programming for the People," and the talk itself wasn't the part I found fascinating -- it was the audience. The surprising thing was how heavily they (and Activestate!) rely on the Perl Culture as a backbone. They want someone like Activestate to give them polished tools. They need the gurus and "heavies" of the Perl culture, if for nothing else to tell them where to go. For them, it's not important that Perl is a swiss army chainsaw -- they're interested in the service department, sales staff, and the user groups. They can't get this level of support from any other toolset. And I agree completely.
A lot of the new Perl I learned wasn't perl. First was MJD's talk on why a strongly typed Perl doesn't have to suck. A lot of the talk was about ML! It may seem out of place, but learning just enough ML to really see the benefits of strong typing kind of makes me hope that Perl 6 has some of that as an option. (I feel so dirty!) The JAPH talk that I went to wasn't really Perl either. It was terribly perverse laughing at how Perl can be molded to even the most twisted of minds (Hi Abigail!). If you've never been able to decode a JAPH before, find Abigail's slides on the Web and learn frightening things about the language you THOUGHT you knew.
[Abigail's JAPH talk slides are available at http://ucan.foad.org/~abigail/Perl/Talks/Japhs/ --D.]
Getting to YAPC was miserable. United screwed me over a ticket change, so I had to pay $700 at the last minute for tickets on Vanguard. They ran late, I missed my bus on the return trip, and so on. Bah.
I had a great time at the conference proper, oh yes. I got to see all my friends, catch some great talks, and have some fun giving talks.
Friends. Standout evening: getting toasted at the church brewpub (http://www.churchbrew.com/) on Saturday night. Other highlights: discussing the philosophy of OO and teaching OO with Damian Conway and Joseph Hall; sitting around the hotel bar in the evenings with Jarkko Hietaniemi, Elaine Ashton, Sean Burke, Jon Orwant, and Mik Firestone, yammering about everything until the wee hours; Mik's killer hooch (home-aged lemon and vodka); Elaine's whiskey; the trip to Falling Water on Saturday with Jon and Damian.
Other people's talks. Damian's Quantum Superpositions talk was stellar, even if it did lead to tedious repetition of the phrase "in constant time" afterward. Jon's Apocalypse talk was a fine continuation from last year's. Adam Turoff's Quizzo was a lot of fun (I'm not just saying that because our fabulous team placed) and I hope we see it again next year. The lightning talks were cosmic and I liked them so much I'm going to beg Mark-Jason to do them next year at TPC.
My talks. My three hour tutorial on "The Seven Stages of a Perl Programmer," based on a great post Tom Christiansen made to perl5-porters in 1997 was fun. I gave two 20-minute talks on advocacy and the uniqueness of Perl, while my head spun from cold medicine. And I gave two five-minute lightning talks, one satirizing the perl5-porters mailing list, and the other a Dennis Miller-style rant against the over-zealous Python advocacy I've seen lately. Notes for all my talks, except the Python rant, are at http://prometheus.frii.com/~gnat/yapc/.
Summary: a blast. Can't wait to do it again. Great job, Kevin!
While at YAPC this year, I would look around every so often and wonder if the conference program was an elaborate ruse to get nearly 400 Perl programmers together to sit and chat.
One discussion I had on the way to dinner was about what's broken with CPAN. One of the points mentioned was that Perl in general and CPAN in particular does not accept multiple competing implementations of modules. On the one hand, it sounds like a violation of TMTOWTDI, but on the other hand, CPAN symbolizes The Perl Way. Playing with this idea in detail, I began to realize that there's a zeroth law that supercedes TMTOWTDI: Perl encourages sharing and collaboration over standardization and competition.
Over another chat, I met Ranga Nathan, a Perl programmer who spends a lot of time with COBOL code. We talked about a decent number of issues, and found an example of a point Nat Torkington made during one of his talks. When Perl doesn't go whole-hog into OOP or CORBA, it could be a sign that these bloated technologies are really unnecessary for solving real-world problems. People like Ranga who are coming out of the glass house of mainframes are coming into Perl and skipping pass objects and multithreading, and finding themselves happy and productive using Perl, ignoring all of the hype that comes with other languages.
I don't really remember much of what happened at YAPC. I took the redeye in from San Diego and arrived at about 6 AM the morning that the conference began. Kevin told me that Joe had been delayed, and asked if I would fill in for him, and for some reason I said "yes." I suppose part of the reason is that I don't get very many opportunities to give my talk on how Strong Typing Doesn't Have to Suck. I think the talk went really well, because it requires that I jump up and down and froth at the mouth and scream about how awful the type checking in Pascal is, and it turns out that it's a lot easier to do that when I've just come in on the redeye from San Diego.
The rest of the conference was a big blur for me. I gave twelve hours of talks in two days, and then I made a midnight excursion with Abigail to obtain the gong for the Lightning Talks. The next day I was signed up for paintball, and as we were waiting for people to finish assembling so we could leave, I suddenly realized that it just wasn't going to happen, and I got my money back.
One of the paintballers took this picture just before they left: