All Talks

Genropy - a framework for creating complex applications deployed on the web

Mr. Jeff B Edwards (Goodsoftware) bio
30min ◊◊ Intermediate
Sunday 10:35am, Tuscan Room
application development, databases, gui, web
Genropy is the python implementation of Genro, and is an application framework quite different from the standard (django, cherrypy, turbogears), for building powerful database applications deployed from the browser. Many differences and advantages between this framework and traditional python application frameworks are explained. Genropy is a suitable for creating complex 'applications' as opposed to 'sites'. The differentiation is that an application is something an operator uses all day, has trained users, that have to 'squeeze' all the power from it available. Conversely, a 'site' is basically public and not necessarily powerful as a user spends a relatively small amount of time on it. Genropy is the framework for creation applications. It is used for attendee registration and sales in pycon italy, the larger national conference in Europe (Florence, Italy).
This session will demonstrate how to create a simple application (3 tables) and demonstrate the ease and power of using python for the model view and controller on the client. It demonstrates how one api- being the genro Bag - is used to create the model, to map the sql to objects, to create the GUI and communicate all data. So all of it can be done in python instead of having to use many different technologies and languages.
Jeff Edwards from Goodsoftware is strategic partner of Sofwell who is the author of Genropy.

Hard Real-time Python, or, Giant Robots of Doom.

Mr. Simon Wittber (Different Methods Pty Ltd) bio
30min ◊◊ Intermediate
Sunday 10:35am, Ionic Room
case study
Can you use Python to control a pair of 30 tonne robots as they spin at 72 kilometres per hour? Can you use Python to provide realtime collision avoidance and fly-by-wire control?
 
Yes, you can. See how Perth based engineering company Transmin Pty Ltd (www.transmin.com.au) used Python to deliver a safety-crticial robotic control system in record time.

Multiple, Heterogeneous Models in Pylons

Nick Seidenman (WEHI)
30min ◊◊ Intermediate
Sunday 11:55am, Tuscan Room
databases
There is a fair amount of sparse, disjoint information available on how to use multiple, possibly diverse databases within a single Pylons app. This talk seeks to present a coherent guideline, derived from lessons learned, on how to use several different data stores (sqlite, postgresql, mysql, flat files) simultaneously within the same pylons project.

Using Python in a scientific real-time data collection network

Dr. Paul Dyson (Bureau of Meteorology) bio
30min ◊ Beginner
Saturday 11:55am, Ionic Room
case study, science
Python is being increasingly used within the Solar and Terrestrial Radiation Network at the Bureau of Meteorology. This Network consists of ten ground stations across Australasia that track the sun, measuring the irradiance of the sun and sky. This talk will outline the work of the Network, the changes resulting from the introduction of Python in 2005, and advantages and some difficulties of using Python.

Fast Engineering Computation in with Boost::Python and Numarray

Mr. Filip Zalio (NEC Australia) bio
30min ◊◊◊ Advanced
Sunday 11:15am, Tuscan Room
science
In the 3G Mobile Research and Development Division in NEC Australia (www.nec.com.au) we
have been using Python based environment since 2005. We run digital signal processing
simulations of 3G and 4G mobile phone radio links. Our simulations are CPU-bound,
where efficient and fast interfacing between C++ and Python is one of the keys
to the growing success of Python within NEC. In this short presentation, we describe
our current framework which achieves the fast processing.

Esky: keep your frozen apps fresh

Ryan F Kelly
30min ◊◊ Intermediate
Saturday 04:05pm, Tuscan Room
packaging
Esky (http://pypi.python.org/pypi/esky/) is an auto-update framework for frozen Python applications, designed to be simple to use while guaranteeing the safety of your app in case of failed or partial updates. It provides easy support for differential updates and is compatible with py2exe, py2app, cx-freeze and bbfreeze.
 
This talk will give an overview of esky's features, and show how to extend an existing frozen application with auto-update support.

Virtualisation Used in Development

Mr. Andrew Boag (Catalyst IT) bio
30min ◊◊ Intermediate
Saturday 11:55am, Tuscan Room
application development, databases, virtualisation
Some thoughts on why it makes sense to do your development inside some sort of virtual container. There are real pluses for the grass-level developement process, whether you have a large or small infrastructure.

Introducing Python to a Java shop

Juergen Brendel (MuleSoft) bio
30min ◊◊ Intermediate
Sunday 03:25pm, Ionic Room
advocacy, application development, jython, prototyping
There is a time and place for everything: For some applications Python is perfect, for others a language like Java and its entire ecosystem is more ideal. In this talk we see how Python was introduced to a Java shop as a vehicle for rapid and dynamic prototyping of a new project. The talk then explains how Jython/Java integration was used to translate this project step by step from Python to Java. Going beyond the advocacy focus, the talk then shows the interfaces to call Java from Python and vice versa and illustrates those with examples. Furthermore, unit testing of Java classes via test cases written in Python is also touched upon.

GLAMkit: a better, faster, stronger way to write reusable Django code

Dr. Greg Turner (the Interaction Consortium) bio
30min ◊◊ Intermediate
Sunday 03:25pm, Tuscan Room
advocacy, architecture, community, django, web
As part of our web development work for Galleries, Libraries, Archives and Museums (the so-called GLAM sector), we have open-sourced the common tools and design patterns that we have developed as a web framework called GLAMkit (http://glamkit.org).
 
GLAMkit is based on Django, and is inspired by its design philosophy of several apps which implement specific features. However, by looking at the successes and challenges faced by other CMSes and collections of apps such as Pinax, we have taken the philosophy a stage futher.
 
Rather than being a collection of Django apps, we have constructed GLAMkit as a collection of optional and reusable Django 'toolkits' for implementing common features. We leave the implementation details - the things that Django already does brilliantly - to the application developers themselves.
 
In this talk, we will present the history of GLAMkit's development, with particular focus on how our approach to reusability came about, and some examples of that approach.

Getting started with Apache/mod_wsgi.

Mr. Graham Dumpleton bio
45min ◊◊ Intermediate
Saturday 02:20pm, Tuscan Room
web, wsgi
An introduction to using Apache/mod_wsgi to host Python web applications supporting the Python Web Server Gateway Interface (WSGI).

Don't Break It: Continuous Integration & Deployment

Benno Rice
45min ◊ Beginner
Saturday 01:25pm, Ionic Room
agile, application development, architecture, packaging, testing
So you've developed your application, it appears to work and you may even have
some tests to back that up. Now what?
 
One part of software development that tends to receive not nearly enough
attention is the process of deploying, supporting and maintaining your code in
production. This demonstration will give an overview of using tools such as
Hudson, nose, stdeb and freshen to automate the testing, packaging, deployment
and verification of production software.

Python in Video Games and Multimedia Projects

Mr. Chris McCormick bio
45min ◊◊ Intermediate
Saturday 02:20pm, Ionic Room
application development, django, games, handheld, multimedia, network, web
This talk will cover several real-world uses of Python in cross platform video game and multimedia projects, and the tips, tricks, and techniques I learned along the way whilst working on those projects. I'll speak about the issues involved in cross platform desktop dev with wxPython, interfacing with multimedia programs using subprocess, spreading load with multiprocessing, developing for the web on small devices with Django, and when and how to write custom network servers using asyncore.

An Introduction to Processing

Mr. Clinton J Roy (University of Queensland)
45min ◊ Beginner
Sunday 02:20pm, Ionic Room
gui, multimedia
Processing is an Open Source language designed to make interactive
graphics and animation programming easier than traditional GUI
toolkits. Processing is used to prototype systems and create
interactive data visualisations.

State Of Python

Richard Jones
30min ◊ Beginner
Saturday 10:35am, Ionic Room
advocacy, core, language
This talk will present a whirlwind update of the state of Python as of June 2010.
It will cover the evolution of the language itself, its variants, versions and veracity.
It will cover the state of packaging, distributing and pypi.

What's new in Django 1.2

Dr. Russell Keith-Magee (Django Project) bio
30min ◊ Beginner
Saturday 03:25pm, Ionic Room
django, web
Django 1.2 added a number of major, long anticipated features to Django. This talk will give an overview of these new features (both large and small), as well as giving a look into what the future may hold for Django.

Using Python for Natural Language Generation and Analysis

Mr. Tennessee J Leeuwenburg (Australian Government Bureau of Meteorology) bio
30min ◊◊ Intermediate
Saturday 03:25pm, Tuscan Room
language
Python is used within the Bureau of Meteorology to automatically generate weather
forecast text based on numerical data. In addition, the development team has also used Python
to introspect the forecast language and statistics used in the past. NTLK is an open-source
language processing toolkit which can be used for visualising language patterns. This
presentation will talk about some of the techniques used for automatically describing datasets
and also how NTLK can be used to discover information about language uses and requirements
in an organisation.

Displaying Australian datasets with Django

Mr. Malcolm Tredinnick bio
45min ◊◊ Intermediate
Sunday 02:20pm, Tuscan Room
django
The last 18 months or so in Australia have seen an increased number of government and public sector organisations releasing datasets to the public under reasonable reuse terms (often Creative Commons license). This talk will take a couple of those local real-world datasets and create a minimal website for remixing them, using Django as the underlying framework. The goals are to provide a short walk through the process of importing and extracting such data in practice, show how to incorporate Django's GIS features into an application, as well as highlighting that real world is messy and so is the data it produces. Working with datasets for journalism or research purposes, or simply fun, requires a certain attention to detail.
 
Basic knowledge of Django is assumed, although the GIS components will be introduced carefully as they are less familiar to many developers.

whoops I deployed again - new ways to get your app in the cloud

Dylan Jay (PretaWeb) bio
30min ◊◊ Intermediate
Saturday 04:05pm, Ionic Room
deployment, django, web, wsgi
A overview of new tools for deploying python based applications to servers including cloud inferstructure such as Amazon Ec2
The talk will cover Ian Bicking's Silver Lining, zc.buildout, Fabric and hostout. This talk will focus on how to get your first web app hosted
easily.

Python Goes to the Movies

Mr. Mark J Streatfield (Dr. D. Studios.) bio
30min ◊ Beginner
Saturday 11:15am, Ionic Room
case study
As Hollywood continues to churn out blockbuster films such as Avatar, the technology used to produce the eye popping visual effects is increasingly becoming the nomenclature of the everyday movie-goer. While attention is often paid to the headline techniques such as motion capture and complex physics simulation, few realise that the majority of the work is underpinned by a foundation of Python. This talk introduces the application of Python in the visual effects industry.

App Engine 101

Mr. Brian K Quinlan (Google) bio
45min ◊ Beginner
Sunday 01:25pm, Tuscan Room
application development, web
App Engine lets you run your Python web applications on Google's infrastructure.
 
This tutorial will provide an overview on how to create, configure and deploy applications on App Engine using a simple (but useful!) example application.
 

The future is soon!

Mr. Brian K Quinlan (Google) bio
30min ◊◊ Intermediate
Sunday 11:15am, Ionic Room
application development, concurrency
This talk introduces PEP 3148, a proposed library that makes it easier to build concurrent applications or modify existing application to exploit opportunities for parallelism.

Need for Speed

Dr. Graeme Cross bio
30min ◊◊ Intermediate
Saturday 11:15am, Tuscan Room
application development, language, optimisation, profiling
"Bottlenecks occur in surprising places, so don't try to second guess and put in a speed hack until you have proven that's where the bottleneck is." (Rob Pike)
 
Python is a great balance of productivity, expressiveness and performance, but there are times when it would nice to have a Python application run faster. This is particularly true for large scale data processing, numerical work, controlling real world devices, and animation.
 
Using some real-world examples, this talk covers tools and techniques that allow you to systematically understand where the bottlenecks are in your code and then how to effectively optimise your code, without having to resort to writing modules in C/C++.

Building the Wave Robots API: Behind the Scenes

Ms. Pamela S Fox (Google) bio
45min ◊ Beginner
Sunday 01:25pm, Ionic Room
apis, web
The Google Wave robots protocol involves JSON-RPC messages that are sent between the Wave server and the robot, communicating events to process and operations to perform. The Python Robots API abstracts on top of that JSON-RPC service, allowing developers to interact with waves using event callbacks, python classes, and chained functions. In this talk, we'll explain the JSON-RPC protocol, talk about how we designed the API to sit on top of that protocol, and show how developers can use the API.
 
 

Plone for Python Developers

Dylan Jay (PretaWeb) bio
45min ◊◊ Intermediate
Saturday 01:25pm, Tuscan Room
cms, plone, web, zope
Plone is one of the top four open source CMSes in the world and is pure python. Plone is in demand for security, simple UI and extreme flexibility. This talk will concentrate on helping web programers with several common customisations of Plone, including  
content type creation, themeing and template customizations and how the re-architecture using ZTK makes this easy.
 

Making your Python code fast

Mr. Andrew Bennetts (Canonical) bio
30min ◊◊ Intermediate
Saturday 10:35am, Tuscan Room
performance, tips and tricks
Before you can make your program faster you need to understand why it slow. Andrew will show you some tools and techniques for investigating and analysing your program's performance.

What's eating my memory?

Mr. Andrew Bennetts (Canonical) bio
30min ◊◊ Intermediate
Sunday 11:55am, Ionic Room
memory, optimisation, performance
Ever wondered why your Python process has consumed 2 gigabytes of memory overnight? Ever torn out your hair trying to find out why? Andrew will show you some tools and techniques that can help you investigate.