Mar

28

PyCon - Day 1

Day 1 of PyCon was great. I should have started writing this yesterday because I'm already forgetting some of it.

Here's my day:

Morning Lighting Talks
The highlight for me was a talk about Cassandra (I just found a good blog post)

Python Namespaces by Jeff Rush (pycon link)
This was more or less over my head. Here's what bits I could understand (code stollen from Jeff):

  • Closures:

def salary_above(amount): # parameterizing function
def wages_test(person):
return person.salary > amount
return wages_test

wages_test will use the value for amount that's passed into salary_above.

  • Early binding:

isurl = re.compile('([a-zA-Z0-9+.-]+)://').match

You don't have to hold onto the regex object itself. You can hold onto its method instead. * Thunks:

def StringIO(*args, kw):
"""Thunk to load the real StringIO on demand"""
global StringIO
try:
from cStringIO import StringIO
except ImportError:
from StringIO import StringIO
return StringIO(*args,
kw)
# StringIO points to the thunk

This lets you postpone loading StringIO until you actually use it.

Python in the Enterprise by Stuart Williams (pycon link)
This is a topic dear to my heart these days. My company is trying to convince a large new client to let us build their site using Django. Stuart's talk was very inspirational, but his experience of successfully promoting Python in his enterprise corporation is different enough from our challenge that it wasn't exactly mappable. Here's the parts I think we can use:

  • Focus on how Python reduces costs
  • Argue using metrics
  • Look at the problem and what tool best solves the problem.
  • Respect the competing choices
  • "When in Rome" - use the language and style of the business (PowerPoint)
  • Testing, automation and documentation are easier in Python. We will see huge benefits in code maintainability whenever these things are made easier.
  • Find other people who have already fought this battle. Get tips.
  • Find out what the visible and invisible decision making processes are inside the business.

Searching for Neutrinos Using Python at the Bottom of the World by Dr. John E Jacobsen, Mr. Dave Glowacki, Mr. Keith S Beattie (pycon link
I couldn't not check this out with a title like that, especially since it mentions Django in the brief. The actual talk was cool, but I wasn't taking much away from it other than science is awesome. I kept seeing tweets about the VM talk next door so I jumped ship.

Hence...

Panel: Python VMs with Brett Cannon (cPython), Robert (Dino) E Viehland (IronPython), Holger Krekel (PyPy), Jim Baker (Jython) and Jacob Kaplan-Moss (moderator) (pycon link)
This was certainly a more Python-centric talk. I missed the beginning of it, but I heard via Twitter about Unladen Swallow, which sounds like a big deal. I also learned that all the VM reps want to get along so there wouldn't be any satisfying snipes within the panel. The two highlights for me were:

  • Jython and IronPython are both more mature than I thought
  • I still don't get PyPy
  • Guido is weird and cool (he was watching from the back and I chatted with him)

Iron Python: Directions, Data and Demos by Jim Hugunin (pycon link)
This was more for fun. We have a MS Surface at work and I wanted to learn a bit more about how Python plays with .NET and what it would be like to build Silverlight apps or Surface apps. Now I know it's possible. I just need to teach myself how.

Behind the scenes of EveryBlock.com by Adrian Holovaty (pycon link)
Ah, the first Django talk. Adrian talked about the challenges and solutions he faced with EveryBlock. Some very familiar db challenges, but alas, only the same, familiar, unsatisfying solutions (not to dis Adrian or EveryBlock.) Adrian announced that they'll be open-sourcing the code in a few months, when their funding finishes. My main thought: I want EveryBlock.com for Toronto!

Evening Lightning Talks
I only remember one of these, but it was awesome. In five minutes, we learned about an "icon-to-speech" app written in Python, with a dramatic demo in the last ten seconds. The main platform is the OLPC but they've got it running on some other tiny devices. I'm not sure where the canonical homepage is, try here.

Bonus Fun
Beyond all the talks. I also got to meet a bunch of great people and just bask in the Python geek haven.

Day 2 is already halfway over, and so far it's only getting better. I'll try to write about Day 2 tonight.