From MozillaWiki
Jump to: navigation, search

Big crowd! Over 1000 people here!


Lots of people ask me when python is going to be supported in the browser when I tell them I work at Mozilla.

Justin Capposs from the University of Washington wants to work with us to make the way we deliver software and updates more secure. Q: Does our update code stop downloading after the specified # of bytes has been downloaded?

Tests tests tests! Lots of talk about tests! We *REALLY* need to be writing more tests for our code. Great lightning talk by Ned Batchelder about his coverage module.

Monitoring! We need more monitoring of our production systems. Not just load, but things like the buildbot masters should be exporting performance metrics so that things like munin can read it

We have the biggest use of buildbot I've heard about.

Canonical uses an automated patch landing system. Nobody has commit access to trunk except for the automated systems. Nothing gets landed if it doesn't pass all tests.

Talks attended

(the -1/0/+1 rating before the title is my subjective rating of the talk)


  • (+1) Deployment, development, packaging, and a little bit of the cloud by Ian Bicking
    • Deployment is hard!
    • Ian's approach has been to be to treat deployment onto a server more like testing a software package. When you need to re-deploy, you blow away the old server, create a fresh one, and deploy your code onto it. He's using Amazon EC2 for his work, but it could apply to any virtualized environment
    • Good work coming up in the packaging arena: distribute/pip will be replacing easy_install/setuptools. Mostly backwards-compatible, but a little bit more sane. Installing egg files as zips is bad.
  • (+1) Python 3: The Next Generation by Mr. Wesley J. Chun
    • Good review of changes in python 3
    • Easier to develop code that targets 2.6/3 than I thought. There's the -3 option to python2.6 to warn about deprecation. There's the 3to2 utility to translate python 3 code to python 2 code. You can use many of the python 3 features in 2.6 code by importing various bits from __future__
    • Didn't address if developers should be shipping two modules, one for python 2, one for python 3, or try and ship one module that does both.
  • (+1) The Ring of Python by Holger Krekel
    • Another very cool presentation about the world of python interpreters. Holger covered CPython w/ various extensions (psyco, cython), PyPy, Unladen Swallow, Jython, Iron Python, Stackless. Lots of cool information about PyPy and Stackless in particular.
    • Demoed his execnet module a little bit. Basically a really simple way to communication with different python processes on the same machine, or different machines. Supports a bunch of different python versions, as well as different interpreter implementations.
  • (0) How Are Large Applications Embedding Python? by Peter Shinners
    • Not a lot of new information, but cool to see my previous company's work shown in a very good light! Houdini uses Python quite extensively, and has come up with some novel ways to integrate various versions into the product.


  • (+1) Understanding the Python GIL by David Beazley
  • (+1) Why not run all your tests all the time? A study of continuous integration systems by Dr. C. Titus Brown
    • Promoted Hudson as a CI system because it's great for 80% of people's needs. Nice web based management of projects.
    • Didn't like buildbot because it's too hard to configure / maintain
    • Developed pony-build
    • Wants to develop a DSL to describe build processes