Richard Jones' Log: PyCon day 2

Fri, 25 Mar 2005

Wow, what a day. I got a decent night's sleep, including a bit of a sleep-in (alarm didn't go off) so I was alert for the whole day. First up was Guido's state of Python, which was interesting. Nothing really new (except that he's a little hesitant about static typing - though that might not be new for some). After that was a mad rush for the doors as the PSF Q&A started - a shame really, as there's a bit of a problem with the PSF's image.

I spent the next talk mostly just tweaking my alternative presentation. I had a well-rehearsed 20 minute Introduction to Roundup presentation already written, but I'd gotten the impression that I should have an alternative one with more emphasis on Roundup customisation.

Next up was a talk about profiling and visualising Python execution. The Python "top" tool was very cool, and I want to give it a whirl some time. The graphical visualisation of the Python core was also neat, though I'm not sure I've any immediate uses for it.

Then it's my turn. A quick poll of the audience before I started showed the opposite though, so I went with the intro one. It was well-received, and the questions afterward were quite good. Someone tried to push an advert for Trac, which I thought was a little rude, but he came up afterwards and apologised. Maybe I need to write that trivial bit of code that does "CVS integration" some day.

During lunch, Barry Warsaw and I talked a bit about possible cross-pollentation of Roundup, SQLObject and Mailman. I think we clarified that SQLObject and Roundup's Hyperdatabase occupy different spaces. The mail spooling aspect of mailman is definitely something I'd be interested in for Roundup though.

After lunch were lightning talks, which were a total blast. Ping presented a couple of really nice tools. One was his older Zesty idea but with added flavour (really hard to describe, so you'll have to wait for Ping to put info up on a website). The other was a very cool tool for poking around HTML pages. It has a beautiful API for loading up and poking into the pages, and the neat thing is that it parses as it needs to. So if you ask for a list of anchor tags - it uses a regexp to locate just the anchor tags and their contents. The result is a sequence of objects that you can then ask other queries on, like what their containing tags are. Since it's parsing only when it needs to, the HTML can be totally broken, and we just don't care. BeautifulSoup might parse broken HTML well, but this tool has a significantly better API.

I gave two talks. The first was me running a "python2.3 setup.py bdist_wininst upload --sign" in a shell. Unfortunately, a rare bug was tickled and it broke. It was quickly fixed though, and I managed to get appropriate applause from the audience when I showed the uploaded file online. My second talk was a rehash of the LD48 talk I gave at the December OSDC in Melbourne. It was also well-received, with due laughter at my apalling graphical skills. Unfortunately the appropriate URLs dropped off the end of the presentation :(.

One of the last things to be shown was a collaborative Python interpreter called SHPY. Kinda like SubEthaEdit, but without the Rendezvous and with code execution. In a PyGame window. Quite cool. Quite wierd.

After all that I went off to learn about metaclasses, descriptors and decorators. I think they make sense now, but I still have to use them. I did immediately start thinking about how Zope 2 could be cleaned up a fair bit with the use of metaclasses and decorators.

A bunch of us then got together and signed GPG keys. Quite useful.

Then there was the PSF member's meeting, and finally we adjourned for dinner. Which I just got back from. Sleep now, in preparation for the final day...