I hadn't been any conferences this year, so I thought I'd visit the first ever Pycon UK as it's nearby, in Birmingham, and I know almost nothing about Python.
So far the conference seems very well run: we have frequent coffee breaks, good Internet connectivity, talks keeping to schedule and a fairly tasty lunch.
Fortunately, I chose some interesting talks to attend this morning. It's always hard to know what you'll enjoy beforehand.
I started out in Paul Johnston's talk about SQLAlchemy, an ORM for Python. I've been hacking on DBIx::Class lately as my job involves lots of databases at the moment, so this area interests me. The issues Paul mentioned seemed very similar to those that DBIx::Class has tackled: don't issue too many queries; work well with pre-existing databases; build database schemas from code.
Paul also showed how to incorporate SQLAlchemy with a templating system, which reminded a little me of the talk I gave on Class::DBI at the London Perl Workshop in 2004. Apparently Python programmers have strong opinions about the different templating systems available, just like we do with Perl.
Next, Michael Foord showed how to run Python code in Web browsers using IronPython (Python within .Net) and Microsoft's Silverlight, their competitor to Abode's Flash. I enjoyed this because I've not done any Web work for several months and I've never used .Net. The XAML definitions for Silverlight struck me as a little verbose. I imagine Microsoft expect you'll use some sort of IDE and never actually look at the code you generate.
Terry Jones's talk about representing and processing information had little technical content, but instead covered ideas about how we treat objects and attributes in the real world and in computing environments. For example, I can form an opinion about Birmingham and share that opinion without needing anyone's permission. In computing, we too often think of objects as having owners and permissions. Terry's ideas reminded me a little of a few years ago when I got excited by RDF and thought about metadata. We can regard any data as either data or metadata depending on our perspective: all data types intrinsically exist as both data and metadata, but we choose one description depending on how we model things.
Some of Terry's ideas, particularly personalised searching, reminded me of discussions I've had with Nigel Hamilton, the author of the Trexy search engine. I might have to play with Terry's marbl.es search tool when it goes live.
Finally, Michael Sparks talked about Managing Creativity. Michael mostly described how his colleagues at the BBC structure their project's Subversion repository to maximise creativity, experimentation and sharing. Essentially, all work goes in the repository: even if one developer considers something they made worthless, another developer might value it or part of it. As well as the traditional trunk and branch structure, each developer has a sketchbook where they put their experiments. Developers can view each others sketchbooks, but have no guarantee what state they will be in. Finally, you can't merge your own work onto the trunk. This struck me as a very good way to enforce peer review.
After lunch, I felt tired so I've sat in the sun and slept a little. I'm just about to head back for the lightning talks, and I'm looking forward to some interesting informal conversation over the conference dinner this evening. I have a place at the Memory table: each table has the name of a Python exception type.