I just got back from PyCon, where I gave my tutorial on Traits, met all sorts of smart and interesting people, listened to some great talks, ate more food than I probably should have, and got less sleep than I probably needed. It was really nice to see talks and posters about things that people are doing with Python in science at a general-purpose conference.
Highlights for me:
Dave Beazley’s awesome talk on Python’s Global Interpreter Lock (GIL) and its curious behaviour. If you do any programming with threads in Python you have to make sure that you watch the video it’s a clear, understandable and unflinching look at some of the weird behaviour that you can get from CPU-bound threads in Python. The take-home message of his talk for scientific programmers: With current versions of Python, there is little point of running intensive pure-Python computations in parallel using threads and doing so on multiple core machines may severely degrade computation time. Dave showed a simple example where a computation split into two threads on two cores took twice as long as the same computation in one thread on one core. Fortunately NumPy releases the GIL for most of its operations, but his talk highlights something that we should all keep in mind.
Wes McKinney’s new Pandas package for data series analysis. I didn’t get to see his talk, but I got to spend a fair amount of time talking to Wes and his package was generating quite a bit of buzz in the financial and numerical computing open spaces. It’s an early release, but there have been several projects I’ve been involved in over the past couple of years where the Pandas data structures would have been invaluable. I’m looking forward to being able to use it in the future in projects that I’m working on.
Altogether, a great time. Thanks to everyone who dropped by the Enthought booth and talked with us, and we’ll see you in Atlanta at PyCon 2011 next year!