Revision 2 as of 2003-02-22 01:50:44

Clear message

I will be giving two talks at PyCon this year.

BuildBot: build/test automation

Abstract

The BuildBot is a system to automate the compile/test cycle required by most software projects to validate code changes. By automatically rebuilding and testing the tree each time something has changed, build problems are pinpointed quickly, before other developers are inconvenienced by the failure. The guilty developer can be identified and harassed without human intervention. By running the builds on a variety of platforms, developers who do not have the facilities to test their changes everywhere before checkin will at least know shortly afterwards whether they have broken the build or not. Warning counts, lint checks, image size, compile time, and other build parameters can be tracked over time, are more visible, and are therefore easier to improve.

The overall goal is to reduce tree breakage and provide a platform to run tests or code-quality checks that are too annoying or pedantic for any human to waste their time with. Developers get immediate (and potentially public) feedback about their changes, encouraging them to be more careful about testing before checkin.

Features:

Presentation Notes

I will be walking through the basic features of the BuildBot, demonstrating a sample installation which runs the Twisted unit test suite on all checkins. By that time, the code should be available on Sourceforge along with more documentation.

Perspective Broker: RPC in Twisted

Abstract

One of the core services provided by the Twisted networking framework is "Perspective Broker", which provides a clean, secure, easy-to-use Remote Procedure Call (RPC) mechanism. This paper explains the novel features of PB, describes the security model and its implementation, and provides brief examples of usage.

PB is used as a foundation for many other services in Twisted, as well as projects built upon the Twisted framework. twisted.web servers can delegate responsibility for different portions of URL-space by distributing PB messages to the object that owns that subspace. twisted.im is an instant-messaging protocol that runs over PB. Applications like CVSToys use PB to distribute notices every time a CVS commit has occurred. Using PB allows these projects to focus on the interesting parts.

Presentation Notes

I'll be walking through the main features of PB, running short sample programs to demonstrate how it all works.

I'd recommend attending the "Deferred Execution in Twisted" talk scheduled for wednesday morning: PB relies heavily on Deferreds and understanding them will make PB easier to pick up.

I'd also suggest the Twisted Tutorial which should happen just before this talk.

Unable to edit the page? See the FrontPage for instructions.