eriksmartt.com>Selected Archives

Day one at PyCon

I checked into the One Washington Circle Hotel last night, where I was given a complimentary upgrade to a one-bedroom suite. It's ridiculous. No one needs a hotel room this big, and I'll feel like I've wasted it if I don't have a large gathering of drunken debauchery before the weeks' up. Too bad I don't actually know anyone in D.C.

The flight in was uneventful, but the descent path to Reagan Airport brought the plane right passed some of the more recognizable memorials. Having a left-side window seat gave a nice view of it all.

Unfortunately, the weather is crap today -- slight rain and a tad bit chilly make it exactly what you don't call walking weather; Fortunately the conference is all indoors. PyCon is taking place at the Cafritz Conference Center at George Washington University. The conference area itself is rather small, but there are only 400 or so people attending, so it works out alright.

The opening sessions of the day started with a quick look at the work the Python Software Foundation (PSF) has been doing to revamp the Python Web Site. The new site (and logo) isn't live yet, but they will be changing the branding and feel of the site to be a bit more "business friendly."

The backend system for generating the site is being updated as well. The new site uses YAML and reStructuredText for content storage. The thinking is that this format will make content authoring easier and more accessible.

Next up was Jim Hugunin (Microsoft) from the IronPython project. Jim started the presentation by asking (by a show of hands) how many people in the crowd were developing on Windows, and then, how many were deploying on Windows. It turned out, surprisingly few. I sit in the OS X / Linux camp as well (I guess I deploy on Series 60 too) but I wasn't expecting that from this crowd.

Even though I don't use Windows, Jim's demos were quite compelling. With access to the .NET framework, he was able to interact with native applications and libraries from an interactive Python session. And according to pystone, Python actually runs faster on the CLI then it does through CPython! The performance gains apparently come from the CLI's JIT compiler, which converts the IL bytecode to native x86 instructions.

One question from the crowd left Jim without an answer though. The issue was whether Microsoft will be patenting parts of IronPython that could eventually come to harm the Python community. The concern is that innovations coming to Python from Microsoft might be restricted to the platform (which obviously isn't good.) Jim couldn't comment on the issue; However, the IronPython work is at least being released under a BSD-like license.

After lunch I hit the Mac scripting sessions. The first covered appscript; the second and third were on PyObjC. I've looked at appscript before and found it a bit convoluted, so the first presentation was helpful in explaining "why" doing AppleEvents from Python seems so awkward. Apparently much of it is due to how the OSA environment works.

After appscript, Bob Ippolito gave an "Introduction to PyObjC" and "PyObjC Hacking" session. Both were interesting, but the latter was most inspiring. Bob gave a demo of doing PyObjC code injection into running processes. He focused on the Preview.app application, first inserting a class browser to explore private methods, and secondly to insert an actual Python console into the running application to open it up for exploration. The implications of this are pretty severe. It fundamentally explained a procedure for hijacking a running application and modifying it's environment at runtime. The most abusive application I can think of would be to hijack an application like iTunes that does DRM encoding, and re-write the DRM methods in real-time to bypass the content signing mechanisms. Wickedly cool. Bob's presentations can be found here.

After the lunch break I heard Michelle Levesque's session on PyWebOff -- a project to document Python web application frameworks in a hope to identify the best and encourage the Python community to focus on improving and adopting a small set of web frameworks. The motivation for the project comes from two sides; first being the actual problem Python has doing web development (it's a little cumbersome) and second, the press attention the Ruby on Rails project has gotten.

After Michelle I heard Ian Bicking's presentation about WSGI Middleware and WSGIKit, then Donavan Preston's presentation on "Responsive GUI Web Applications" using Nevow. Donavan's presentation focused on the LivePage functionality of Nevow that implements an XmlHttpRequest framework for Python. While the capabilities for this aren't new, the success of GMail and Google Maps has brought it some new attention lately.

Since it's actually pretty late here I'll call it quits for now, but I'll end with a listing of links I jotted down today: