Test-Driven Development: Brooks' silver bullet?

Mr. Jonathan Hartley (Resolver Systems)
30min Beginner
An illustration of how to perform test-driven development for those who have not done it before.
 
Could TDD be the closest thing to Brooks' silver bullet that software engineering will ever find?

Python in your Browser with IronPython and Silverlight

Mr. Michael J Foord
60min Beginner
IronPython is the Microsoft implementation of Python for .NET, created by Jim Hugunin.
One of the most exciting things about IronPython is that it can run in Silverlight, a fully sandboxed browser plugin.
This talk will demonstrate how to use IronPython with Silverlight to create web applications.

Django - an introduction

Mr. Jason Davies
60min Beginner
An overview of Django, a web application framework. Covering how Django works, some basic applications and comparing it with other frameworks, for example Ruby on Rails.

Intro to PyQt GUI Programing

Mr. Mark Summerfield (Qtrac Ltd.)
120min Intermediate
A workshop showing how to write GUI applications using the PyQt4 libraries, presented using a mixture of exposition and hands on practical work.
 
Aimed at existing Python programmers who are comfortable with basic OO programming.
 
Participants will need to bring a machine for the practical aspect (two friends sharing one will work fine).

Parsing Languages with mxTextTools

Mr. Marc-Andre Lemburg (eGenix.com GmbH)
60min Intermediate
mxTextTools comes with a high performance tagging engine for text and Unicode data which can be used to tokenize and parse (little) languages. The resulting abstract syntax tree can then be hooked up to a generator to build a complete and fast compiler in pure Python.

Python in Higher Education

Dr. Nick Efford (University of Leeds); Mr. Tony Jenkins (University of Leeds)
30min Beginner
A review of the current and likely future adoption of Python in the higher education sector, with specific examples of how it is being used at the University of Leeds.

Jackfield, the web, and Python

Mr. Stuart Langridge (Me)
30min Intermediate
Stuart explains how Python made it possible to write Jackfield, an implementation of Apple's Dashboard and other "widget" programs for the Linux desktop.

Introduction to Functional Programming in Python

David Jones (Ravenbrook Limited)
30min Beginner
A brief introduction to functional programming techniques in python. Including lambda.

Using and Developing with Python Eggs

Dr. Stephen Pascoe (British Atmospheric Data Centre)
30min Intermediate
Python Eggs is an exciting technology that has the potential to
revolutionise the way python projects are developed, distributed and
installed. In some parts of the python community the revolution has
already happened.
 
This talk will cover what Eggs have to offer to consumers and
producers of Python software. In Part I You will discover how to
bootstrap the Egg system and how to download, compile if necessary,
and install packages AND THEIR DEPENDENCIES in one command. In Part
II you will learn how to ensure software you write can be installed as
an Egg and what new facilities the Egg system offers developers.
 

Translate Java to Python

Dr. Johnny Stovall (Dr Stovall Foundation Education/Social Development)
60min Beginner
This talk will demonstrate how to translate Java programs into python programs using state of the art tools.

Python is the Future of Build Systems

Dr. Russel Winder
60min Beginner
Make and Autotools are seen as the de facto standard build systems. They are past their use-by date. The future is in using dynamic languages. In Python we have SCons and Waf which show how things should be done.

The Great Language Debate

Dr. Russel Winder
60min Beginner
The main programming languages used today are Java, C++, C, C# and Visual Basic. Dynamic languages such as Python, Ruby and Groovy are however rising very rapidly. Why? Because they make applications programming easier. In this session we will do a bit of a compare and contrast of the features and capabilities of these languages, and show that rightly Python is a rising star amongst programming languages.

Using Python to hack democracy

Mr. Francis A Irving (UNDemocracy)
30min Intermediate
Julian Todd, from http://www.UNDemocracy.com, will talk about using Python to obtain data from official records, and using it to watch elected representatives, and strengthen democracy.

Dealing with Tabular Data

Mr. Alex Willmer
30min Beginner
Python makes a very flexible Extract Transform and Load (ETL) tool. Able to read & write nearly every format under the sun. Discover how to use Python for your data mangling needs.

Designing Unicode-aware Applications in Python

Mr. Marc-Andre Lemburg (eGenix.com GmbH)
60min Intermediate
The talk presents ways of designing Python applications to be Unicode-aware from ground up.

Twisted Movies

Dr. Matthew Pontefract (Moving Picture Company); Dr. Matthew Pontefract (Moving Picture Company)
60min Beginner
The last decade has seen an explosion in the use of digital pipelines for creating visual effects and animation. From Titanic to Sunshine via Star Wars and Harry Potter, few modern blockbusters are released without at least some shots significantly enhanced or wholly created in a digital environment.

A Pythonista's Year at Kew

Mr. Julius Welby (Natural History Museum)
60min Beginner
The International Plant Names Index is a large and internationally important database of botanical names. The data needed standardisation, and Python was the tool for the job. This talk will cover some of the techniques used, the tools built and the lessons learned during the process.

Creating GUI Applications with PyQt and Qt Designer

David Boddie (Trolltech ASA)
30min Beginner
In this talk, I will use examples to show how Qt Designer's capabilities as a GUI design tool can be used to make the development of PyQt applications easier and more intuitive for developers and user interface designers. I will also demonstrate how simple it is to take specialized widgets and make them available for use in Qt Designer.

The New Age of the Amateur

Mr. Giles Thomas (Resolver Systems)
30min Intermediate
The use of spreadsheets and databases has led to a proliferation of applications written by end-users - that is, people who don't think of themselves as programmers, but just want to get a specific job done. This is a great thing, but anyone who has spent any time dealing with the resulting "Frankensheets" can see that there are disadvantages.
 
At Resolver, we think that the problem isn't with the concept of the spreadsheet per se; it's with the way the spreadsheet interacts with the user and the IT systems that surround it, and how its different levels of programming interact with each other, and with the choice of languages available at those levels.
 
We have built a development tool, halfway between a spreadsheet and an integrated development environment, that allows the power users to move seamlessly between simple grid-based programming to coding their spreadsheet directly using IronPython. This kind of interaction makes the interplay of the code and the grid much clearer, and IronPython as a scripting language rescues the user from the horrors of Visual Basic. In this talk we will show how Resolver works, and how by using Python it takes the pain out of end-user computing.

SQO-OSS: Researching Quality Assessment for Free Software

Mr. Paul Adams (Sirius Corporation Ltd.)
30min Intermediate
Discussion and evaluation of novel approaches to measuring Free Software quality.

Fluidinfo - towards the next everything

Dr. Terry Jones (Fluidinfo Ltd)
60min Beginner
At Fluidinfo we are using Python to develop a new platform for representing and interacting with information. Based on this platform we are preparing a series of applications, including a new kind of search engine. We have a comprehensive and ambitious vision on how to revolutionize information creation, sharing, personalization, organization, and search.

Managing Creativity

Mr. Michael Sparks (BBC)
30min Intermediate
In this talk I talk about how,in the Kamaelia project, we manage the dilemma of encouraging innovation and creativity in a project whilst maintaining an engineered solution. Why? Because we find it allows a high level of creative freedom, whilst also providing a path through to a high level of confidence in the reliabilty of the final code.
 

Building & Deploying Systems with Kamaelia

Mr. Michael Sparks (BBC)
60min Beginner
Kamaelia is a open source toolkit for building systems quicker, easier, simpler, more maintainably. This talk shows how Kamaelia does this by examining first some small systems, some larger systems and also some real world kamaelia systems. Examples will range from simple IRC systems, through P2P systems, whiteboarding applications and beyond to timeshifting digital TV. The talk will also include tips and tricks for building your own Kamaelia systems.
 

Kamaelia Core Internals

Mr. Michael Sparks (BBC)
30min Intermediate
Kamaelia is fundamentally about making concurrency easier to use. This talk will cover the core ideas, the fundamentals behind those ideas, and show you how to build your own Kamaelia core - so you can re-apply the ideas in your own project - be it in a different python project or even a completely different language. Examples of both python & C++ based Kamaelia cores will be used.

PayThyme - from Project to Product

John Pinner
60min Beginner
PayThyme is a Free Software payroll. The talk will describe its development, measure its success, and discuss the problems in making a finished product out of a functioning project.

Getting Started with Python

John Pinner
120min Beginner
An Introduction to Python, for those new to the language

Next steps with Django

Mr. Simon Willison
60min Advanced
This tutorial is aimed at users with a basic understanding of Django, and will provide a more detailed overview of some advanced concepts.

Database Magic with SQLAlchemy

Mr. Paul A Johnston
30min Intermediate
SQLAlchemy is a powerful Object-Relational Mapper for Python. ORMs can significantly simplify the use of databases, resulting in faster development and fewer bugs. The talk will introduce ORMs and SQLAlchemy and cover some of the exciting features.

An introduction to FormEncode

Mr. Graham Stratton
30min Beginner
An introduction to the philosophy and capabilities of FormEncode.

The Bazaar Version Control System

Mr. Michael Hudson (Canonical)
30min Beginner
Bazaar is a distributed version control system that aims to be safe, friendly, free and fast. This talk will give an introduction to using Bazaar and its advantages.

The PyPy project and You

Mr. Michael Hudson (Canonical)
60min Intermediate
This talk will introduce the PyPy project and attempt to explain why you should care about it.

Stackless Python 101

Mr. Christian Tismer (tismerysoft GmbH)
30min Intermediate
Stackless Python is a modification of
CPython which adds the concept of
lightweight concurrency. This talk focuses
on examples how to use the Stackless
features and shows sample code and
interactive sessions.

Stackless Python and PyPy - Nuts and Bolts

Mr. Christian Tismer (tismerysoft GmbH)
30min Advanced
Stackless Python has been re-implemented for PyPy. This resulted in new insights about a not-so-new idea. The talk will give a higher level view of the underlying concepts of various Stackless implementations. Native CPython Stackless, Stackless emulation on top of PyPy using Greenlets, and Stackless built into PyPy compiled to C.
Some emphasis is given to new underlying concepts like basic coroutines and composability. The known Stackless implementation turns out to be a special case of a general approach.
 
Some knowledge about parallel programming is required, as provided by my Stackless 101 talk.

Metatest - a new and simple framework for writing tests

Dr. Jonathan Fine (The Open University)
30min Intermediate
We describe metatest, a work-in-progress framework for writing tests. Tests written in metatest can be run using any test-running framework, such as unittest, py.test and nose. Metatest will also provide an elegant and simple language for writing tests.

From MathTran to PyTeX

Dr. Jonathan Fine (The Open University)
30min Intermediate
The website http://www.mathtran.org provides TeX typsetting of mathematics formulas as a web service. This talk describes how Python is used behind the scenes to run TeX the program as a daemon. It then sketches how one might use Python as an alternative to (La)TeX macro programming.

Real World Twisted Web Application Developments

Mr. Tim Parkin (Pollenation Internet Ltd)
60min Intermediate
Pollenation Internet have exclusively been using Twisted and Nevow for application development since 2003. During this time we have learned a lot about its hands on use and have developed a set of libraries to help us work more efficiently. The talk will discuss general Twisted usage in web application development and go on to discuss some specific examples of our usage (from creating transactional ftp servers to implementing the Rugby Superleague site.) We will also discuss some of the libraries we have developed (which will be released as FreeBSD open source as part of PyCon UK).

Pylons and WSGI

Mr. James Gardner (3aims Ltd)
30min Intermediate
We'll take a whistle-stop tour of WSGI and Pylons summarising their key benefits and why you should strongly consider them for your next web project. We'll then look at the latest developments in the WSGI, Paste and Pylons communities and what you can expect to see in the not-too-distant future.

An Introduction to Twisted

Richard Wall (ApplianSys)
30min Beginner
Twisted is a mature and highly respected networking framework. Out of the box, it includes support for a huge range of network protocols and transports. Furthermore, the entire Twisted codebase is carefully engineered so that its various components remain loosely coupled for maximum code reuse and flexible integration.
Twisted is often said to have a steep learning curve and in this talk I will attempt to explain some of the fundamental concepts which you will need to write your first Twisted application.

Rich Web Development with Python and Javascript

Mr. David Chan (Clockwork Software Systems)
30min Beginner
Share David's experiences writing webapps, so you don't repeat his mistakes. If you think any of these things:
 * You need to have the resources of Google to write good Web apps.
 * Trying to implement a GUI in a web browser is a real hindrance.
 * Javascript is OK for simple things like menus, but it's clunky when writing full-blown apps.
 * Compared to traditional deployment, cross-browser support is a maintenance nightmare.
 * At the very least, you have to use a complex framework to shield you from the complexities of AJAX http://en.wikipedia.org/wiki/AJAX then this talk will put you right :-)
Python was used to build this site Valid XHTML 1.0 Transitional Valid CSS!