Yesterday I spent the day attending day 1 of FUDCon Toronto 2009. It was my first time attending a FUDCon, and I found it an interesting experience all around. I was especially pleased to be able to attend one being held at Seneca, due to the hard work of my colleague, Chris Tyler.
I have attended and organized many open source events in the past, and I was most interested to observe Chris' community, in order to see what they do differently. FUDCon is a conference for Fedora Users and Developers, and while I tend to think of myself primarily as a developer, in the Fedora context I'm mainly a user. As such, it was nice to be able to attend such a gathering and not feel like I was in the wrong place: so many developer related events are dismissive (or hostile) to non-developers. This point was re-iterated by my colleague, Peter Liu, as we chatted outside one of the sessions. He observed that this community was very friendly and welcoming. I expressed a similar feeling, while also noticing that the two of us where standing under a giant Fedora poster with the word 'Friends' taking up the lower third.
The conference was organized using the Bar Camp style. I have never been a fan of Bar Camps, as I think they tend to lead to unpreparedness or disappointment in having prepared and not having your talk chosen. I also find them unnecessarily chaotic--something that appeals to some people, but turns me off. FUDCon confirmed many of my feelings about Bar Camps. We lost nearly half a day getting all the talks pitched (half of the ~200 attendees wanted to give at least one talk) and many of the talks were rejected. Having been a conference organizer many times in the past, I do think it's nice to spread the work of finding and scheduling talks across the community; but why not do it online in advance of the event and set the schedule so as to avoid wasting time on the day?
Once the chaos was over and the talk schedule taped to the wall, the day got rolling. I attended a number of talks that were quite good (all of which had been well prepared in advance, with lots of demos). The first was a group talk led by Andrew Overholt on the Eclipse Linux Tools and CDT projects. Prior to the talk, Fardad and I had been discussing the difficulty his students have in doing cross platform C++ development, since they have become so dependent on Visual Studio. "What I really need is an equivalent for Visual Studio on Linux and Mac." I told him he needed to attend this talk, and I was right. The talk demonstrated doing C++ development using visual tools for things like gdb, oprofile, valgrind, etc. They made a very convincing argument for moving our students to Eclipse for both Java and C++ development.
Another talk I really enjoyed was Sami Wagiaalla's on the new features they've added to gdb. Despite the bad rap it gets, I have really come to like gdb. I use it for all my Mozilla development on Linux and Mac, and appreciate the fact that I don't need to learn a new tool moving between the two platforms. The 'interface,' while spartan (disclaimer: I love the command line), is not hard if you're willing to invest a few hours learning some basics. Sami demonstrated a lot of new C++ features in gdb from the Archer project. The thread debugging and gdb python pretty-printers were perhaps my favourite. It made me wonder if there would be value using Dehydra to auto-generate pretty-printers for complex types in Mozilla.
I also gave a talk on Mozilla Tools, and presented Dehydra, Treehydra, JSHydra, Pork, and DXR. I wanted to make the case to the Fedora/Linux/Eclipse communities that these tools can and should become a part of the way we work. For example, during the Eclipse talk I was interested to learn how they currently collect auto-complete information for C++. Using Dehydra it would be possible to do this in a much more accurate way. During the talk I was also able to demonstrate some ways in which Mozilla has done automatic rewrites, including Ehren's work to optimize away functions that always return zero. Chris also joined me in the presentation, and gave some ideas for Fedora-specific uses of these tools, for example a Fedora-wide DXR.
Half-way through the day, Fedora's project leader, Paul Frields, stopped me in the hall to see how my experience had been so far: "Are you enjoying yourself?" I could honestly answer in the affirmative. I think that it's interesting to see the attention of the project's leader being focused on the experience of the attendees. It says a lot about him, and a lot about the culture of this community. A big thanks to Chris Tyler and others for making this event possible. I'm looking forward to attending some more of it on Monday.