A handful of speakers gave very interesting presentations at BayPIGgies (Silicon Valley-San Francisco Bay Area Python Interest Group).
It was like a set of lightning talks – only longer.
There was a quick talk on Big O notation, and how to characterize python arrays and sets. I am suspicious of performance talks without benchmarks, though.
Sandrine Ribeau gave a talk on pylint, which is a lint/coding standards checker for python source code.
Although PyChecker still does a better job of general python lint checking, pylint can be used to check for things like function naming conventions, etc. using a site-specific checker module.
pylint can be configured to ignore specified warnings or errors, and also overridden from the command line.
Somebody gave a talk on doing log and log-like processing using Unix pipes, similar to how Yahoo does it. Generally they are faster and have more predictable resource requirements than MySQL, for example.
One interesting technique is to use the sort -T option to assign temporary files to different drives than your input data or output file.
Drew Perttula gave a talk and demo about kcachegrind, as well as supporting tools for measuring performance of python code, including a module call graph display tool that creates png graphs using the dot program.
It was an impressive demo, and though kcachegrind was not written with python in mind, the display still made sense.
Simeon Franklin talked about his environment setup to improve web development and release workflow using virtualenv (managing python development environments), pip (an easy_install replacement that works with virtualenv environments), and fabric (a python tool for scripting server deployment tasks).
It was very slick.
In a nutshell, the practical problem that web developers face nowadays is how to create sandboxes for multiple versions of python and web CMS systems, then periodically install them on remote servers.
Sandboxes are needed because by default, python modules are installed silently and globally. By installing instead to a sandbox, you can isolate which modules got installed, and where.
fabric, the remote installation tool, is kind of like a cross between make and Expect, except written in python and focused on installation.
fabric has 15 statements to allow running local and remote commands, authentication and copying of files. So you can build a local distro, login to a remote server, upload the distro, and run installation commands, all automatically.
Commonly fabric is used to install static and program files, do database schema updates, and restart web servers.
Thanks to Symantec for hosting the event tonite.
While passing Moffett Airfield I happened to see a big, white zeppelin owned by Airship Ventures.
cnet.com: A 21st-century zeppelin flies to San Francisco
avweb.com: Zeppelin Startup Struggles As Economy Sinks
I attended an excellent
Amazon just introduced
Recently I needed to create a presentation slide deck for a training class.

