I just got back from my first PyCon. It was a fascinating experience. It's hard to make a cohesive report, so here are my impressions.
I got to meet lots of people I knew by name or reputation, but had no face for. As a blogger, I constantly feel like my writings here are of little interest, and that their quantity and quality are decreasing over time. So I was pleasantly surprised that people approached me to say they read my blog, like Jay Graves, David Schein, David Montgomery, Jeremy Jones, Patrick Maupin, William McVey, and Jorge Gajon.
I finally got to meet all the Django people I've been reading and emailing with: Adrian Holovaty, Jacob Kaplan-Moss, Jeremy Dunck, and James Bennett. They are a smart, fun, energetic bunch. Thanks for the pizza! Sitting in on their mini-sprint Saturday night was inspiring. It makes me want to contribute more significantly to the Django project, but I'll be heading in to work soon, where the realities of a start-up will likely put that idea out of my head!
I got to hear some talks which let me finally get a handle on some technologies I'd heard about but never really was able to spend the time on to understand. Now I feel like I know the elevator pitch, and can dig deeper offline:
- WSGI: a web page technology in the spirit of CGI (hews closely to HTTP concepts, and doesn't care how you build your pages), but without the process-per-request overhead. Can be composed as decorators. A similar architectural feel as Unix pipes: build small pieces, then combine them to create something larger.
- SQLAlchemy: the Cadillac of database layers. Uses data mapping rather than active records, so your class structure doesn't have to be a slave to relational limitations. Sophisticated unit of work support and identity mapper preserve semantics between the layers.
- Deploying with Eggs: Nope, still don't get how to do it. ez_setup, easyinstall, distutils, setuptools. It's too much. One of these days I'll figure it out, and maybe write a How-To.
I missed the keynote Friday morning, about the One Laptop Per Child project, which everyone agreed was a great presentation. The View Source button earned universal kudos as Cool.
I saw Adele Goldberg's keynote about the state of e-Learning in public education, which was well-presented and Important, though not what many people expected her to talk about. Also, she pooh-pooh'ed much of e-Learning as simple drilling, and then ended with a demo of her latest software, which looked a lot like simple drilling to me.
The panels were an interesting way to get a taste from the buffet of options, but mostly were a good way to get a sense of people's personalities. With eight or ten people on stage, it can easily become an entertaining round of one-liners and zingers, which is not a bad thing. I wasn't able to pay good attention to the web frameworks panel due to a crisis elsewhere, but from the testing tools panel:
- Chad Whitacre: "I'm addicted to dots." If you don't know what that means, you need to write (or run) more unit tests.
- Titus Brown: "I don't use test-driven development, I use stupidity-driven testing: when I do something stupid, I wrote a test to make sure I don't do it again."
Lots of people are looking to hire Python programmers. So many people giving lightning talks were looking for workers that it got to be a running joke: the few who weren't hiring would always start with: "First off, I'm not hiring."
Perhaps the most thought-provoking discussion was in Adam Keys' car driving to a mis-placed restaurant Friday night. Adam is a Ruby guy, but was attending PyCon as an exercise in technical comparitive anthropology. His opinion was that compared to the Ruby camp, Python has no highly-visible educators and evangelists. The Python ethic is straight out of engineering. Write some good code, then let it speak for itself. I have much more to say about this, which I'll hold for a later post.
PyCon is an odd gathering: it's a lot of geeks, which means people don't necessarily have the best social skills. And we're the types that let the code speak for itself. This means that there were lots of people wandering the halls who would have been fascinating to speak to, but I didn't know who they were. The ultimate example of this is that I was sitting next to Michael Bayer and his wife at dinner, but I didn't know that he was the author of SQLAlchemy, Myghty, and Mako.
Here's my advice for attending PyCon:
Talk to people.
Really, that's it. If you recognize someone, and think they wouldn't want to to talk to you, you are probably wrong. Talk to them. If you find yourself next to someone, and you don't know who they are, talk to them to find out — chances are good you will make a connection you will value.
PyCon was fun, I'm glad I went. I wasn't sure the talks would be worth it, since each of them sounds roughly like a really good blog post, and I'm used to getting my information that way. In truth, the talks are not the main reason to go — the quality is uneven, and much of their content can be better consumed online.
The thing I take away from the experience is the face-to-face connections I made, and the sense of the community as a whole. I hear PyCon 2008 will be in Chicago, and I'm looking forward to attending.