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. https://www.updateframework.com/ http://www.cs.arizona.edu/stork/packagemanagersecurity/. 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. http://nedbatchelder.com/code/coverage/
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.
(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.
- (0) Sprox: data driven web development by Jorge L Vargas
- Easy HTML form generation from your database schema
- Was hoping to see more data visualization tools
- (+1) Maximize your program's laziness by Dr. David Q Mertz
- Caught the tail end of this talk, but what I saw was really cool. Basically tips and tricks to avoid doing too much work. Procrastination FTW!
- (+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. http://codespeak.net/execnet/
- (-1) Powerful Pythonic Patterns by Alex Martelli
- I wanted more talk of actual patterns rather than a presentation of what patterns are, and why they're important
- (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) The speed of PyPy by Mr. Maciej Fijalkowski
- PyPy is faster than CPython in many circumstances
- Using a tracing JIT, like Firefox!
- (+1) Cooperative Multitasking with Twisted: Getting Things Done Concurrently. David A Reid
- look at twisted.internet.task.cooperate
- reactor.callLater(0, ...) is a bad idea
- (+1) Understanding the Python GIL by David Beazley
- Multi-threaded performance in python gives very surprising (and depressing!) results. I wonder if buildbot's use of threads for compressing log files is really bad for performance?
- (+1) Mastering Team Play: Four powerful examples of composing Python tools by Raymond Hettinger
- TONS of material covered. Good reminders of deque, bisect, using doubly linked lists in python.
- (+1) Actors: What, Why, and How by Donovan Preston
- Good overview of Actor systems. A little weak of practical uses of his code, but it was just a prototype.
- (+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
- (+1) Eventlet: Asynchronous I/O with a synchronous interface by Donovan Preston
- VERY cool approach to doing non-blocking coding, in a much more straightforward approach than twisted.
- (0) Scaling Python webapps from zero to 50 million users - A top-down approach. Mr. Jinal Jhaveri
- (0) Optimal Resource Allocation using Python by Ryan J O'Neil