Now that I’m home, I want to write up some of my notes from OSCON. I stopped blogging after Tuesday because the mechanics of doing it live weren’t good (no tables in the rooms for a laptop, very flaky Wi-Fi connections), and I was too wiped out by the end of the day to do it then.
But there’s another reason I didn’t blog after Tuesday: I was getting depressed about the quality of the conference, especially as compared to previous years. Things got a lot better on Thursday, but I probably won’t go back next year. That’s a big change for me; I’ve attended every O’Reilly Perl Conference (starting with the two in San Jose) and every American O’Reilly OSCON.
I’ve already written about the tutorials I attended at the start of the week. Monday was Ruby day for me. The Introduction to Ruby session was well-done, though not exciting for me. I hadn’t yet decided that there were things I really wanted to do in Ruby. The Ruby on Rails tutorial changed that! I don’t know whether I’ll end up using Ruby on Rails for any major projects, but I’ll definitely use it for some small internal and personal web apps, and I’m certain I’ll adopt a lot of ideas from Rails for my non-Ruby projects. So Monday was a valuable day, even though the Ruby on Rails talk was not well presented. It got me interested, and I’ve now found other places to get the specifics I was hoping for from that talk.
Things went downhill on Tuesday. Learning Ajax was full of interesting material, relevant to my needs, but the presentation ruined the talk. Some of the problems were purely technical: the projection screen was dim and low contrast, so it was hard to read small or faint text. The sound system had a boomy quality to it that, combined with my aging ears, made it hard to hear. And all the code examples were shown on a cluttered screen, in very small type (there were at least 40 lines being displayed at a time). But other problems were purely the organization and presentation of the material. Instead of showing small bits of code at a time, building to full examples, we were shown complete programs and directed to look at the relevant lines. Instead of integrating the code and the slides, we were jumped between slides, text editor windows, and web browsers, often without time to find what was being talked about before the screen changed again.
I left Learning Ajax at the mid-class break, and went to the second half of Perl Best Practices instead. I’d heard Damian Conway give a shorter talk on this subject last year, and I’d bought his new book, so I didn’t really need to attend the tutorial to get the information. But by this time I was starving to see a skillful presentation, and Damian is a master at that.
Tuesday afternoon was for the Mono Boot Camp. It was pretty well done. The material was the same as in the presenters’ book Mono: A Developer’s Notebook, which I’ve owned for months, but I hadn’t got around to reading and studying, so this was a good chance to get to it with some discipline. I’m not that interested in Mono, though; I just wanted to be familiar with it and know to what extent it can protect our .NET development efforts from total Microsoft lock-in. (Quite a bit for non-GUI software.)
Things went downhill quite a bit on Wednesday. The day started with “keynotes”. I put that in quotes, because they weren’t keynotes. We saw half a dozen short talks, mostly consisting of very general concepts mixed with some sales pitches. Frankly, they were a waste of my time, and prevented the actual program from starting until 10:45. It appears that O’Reilly offered sponsors keynote appearances, and the first quarter of our day was dedicated to delivering our attention to those sponsors.
I’m not at all hostile to business, and OSCON needs that sponsor money, but I think this was an abuse of the attendees. The conference needs to balance those sponsorship needs with those of their other customers, attendees who’ve spent a thousand dollars or more each, as well as given up a lot of precious time. The way keynotes were handled this year was way off-balance.
When the conference really started, at 10:45, I started off with A Few Cool Things about mod_perl 2.0 and Apocalypse Now! Perl 6 is Here Today. These sessions were fine, but I was still disappointed with the Perl 6 one. It was given by Brian Ingerson, who has always been a great speaker, but he was really just standing in for Autrijus Tang, who isn’t willing to deal with U.S. immigration to attend the conference (I don’t blame him). So the talk was a kind of odd hybrid, and not quite as good as I’d hoped.
After lunch I attended New Features in Apache HTTP Server 2.2 and Perl 5.8 and Unicode: Myths and Facts. The content was pretty good, but both talks were marred by a mediocre projector and distorting sound system. The Unicode talk was actually almost destroyed by them. The speaker (Dan Kogai) has a very strong Japanese accent, so it was hard enough to understand him. I needed to rely more on his slides, but the top third of each one was covered by the projector configuration menu for much of the talk!
I closed Wednesday out with Practical Perl Testing. This session was very valuable, and well presented, and worthwhile. Still, I have to carp a bit. Instead of being a single organized and coherent session, several related presentation proposals had been accepted as a group, and we got a bunch of mini-presentations. It would have been better as one or at most two well structured talks.
By now it was 6:15 PM. It makes for a long day when you don’t really start until 10:45! I was tired and bummed out, so I crashed early and didn’t even eat dinner.
Since I’d so disliked the Wednesday “keynotes”, I skipped them on Thursday, sleeping in an extra hour and catching up on e-mail instead. I started the day with Perl Lightning Talks, hosted by Mark-Jason Dominus. I go to these every year, and they’re always great. I even gave one a few years ago. Giving people only five minutes (strictly enforced) to make their point leads to some great, clear talks. And the ones that aren’t that great are over in five minutes, anyway. It was a great start to what turned out to be the best day at the conference.
Thursday afternoon I began with Introduction to mod_rewrite. It started bit too slow (too much material on regular expressions, which anyone interested in mod_rewrite should already know), but was pretty good overall. At the mid-term break I switched to Metaprogramming Ruby. Well, I tried to. The room was one of the smallest at the conference, and the crowd was one of the biggest. I took a standing room only slot against a side wall, but more and more people kept coming in and eventually my “claustrophobia bit” flipped and I had to get out right then. I attended the Tech Trends: Hard Numbers Behind the O’Reilly Radar session instead. It was in a large room, and was fairly interesting. Not what I really wanted to see, but okay.
I closed out the day with Extreme Perl Makeover and Building Apps with Subversion, both great talks given by excellent speakers. I’d already read Peter Scott’s books Perl Debugged and Perl Medic and loved them both. The Extreme Perl Makeover was more of the same kind of thing, but it was new material, well presented, and I got a lot out of it.
Greg Stein’s Subversion talk clearly showed me everything I need to work deeply with Subversion in my own programs. I had been resorting to spawning the command-line Subversion client and parsing the output in my scripts, but I now I’ll be able to do everything natively and more reliably.
Thursday was my last day at the conference. I’ve always stayed to the very end, but this time the conference ended on my anniversary, and I wanted to get home by the end of that day. Going west to east required me to catch a very early afternoon flight, so all I could have attended Friday was the “keynotes”, and I just skipped them. There was only one 90 minute session of real conference material on Friday, and I had to miss it. That’s a shame, because it looks like some of the best was saved for last: MVC Web Development with Perl, and You Can’t Get There from Here. That last talk was by Dominus, who is the best technical speaker I think I’ve ever seen, so I’m sorry I missed it.
All in all, I got some useful material out of the conference, but not enough to justify the week away from work and the conference and travel costs (about $3000 in my case). This is the first OSCON or Perl Conference where I’ve felt that way, and I think I’ll skip at least next year’s conference because of it. (A great program could make me change my mind.) OSCON has had dips in quality in the past and come back stronger, but this was really disappointing. I’m not sure that O’Reilly can give the kind of conference I want to attend at the scale OSCON has grown to.