Sessions at PyCon AU 2011 about Python

Your current filters are…

Saturday 20th August 2011

  • Keynote: Audrey Roy

    by Audrey Roy

    Keynote presentation.

    At 9:15am to 10:00am, Saturday 20th August

  • A Python on the Couch

    by Mark Rees

    CouchDB (http://couchdb.apache.org/) is an open source, document-oriented NoSQL Database Management Server.It supports queries via views using MapReduce, and replication. The talk will give an overview of CouchDB followed by how to access and manipulate using Python. There are a number of python libraries for accessing couchdb and these will be quickly discussed followed by  how to use one of these libs with a Python web framework. Also there will be an example of using a Python view server in place of the standard Javascript views provided by couchdb.

    At 10:20am to 10:50am, Saturday 20th August

  • Python 101+

    by Peter Lovett

    'The essentials and a bit more besides'

    A very brief introduction for those that have no Python experience, then moving across all the essentials that you really need to know. If you are self-taught in Python, then you owe it to yourself to make sure that your foundations are correct and complete. Avoid getting into trouble later by making sure you know all the essentials - and a bit more besides.

    At 10:20am to 12:10pm, Saturday 20th August

  • State of CPython and Python Ecosystem

    by Senthil Kumaran S

    This a high level overview of the State of CPython interpreter and other python interpreters. The talk will mention about the  changes in 3.2 release and changes coming up in 3.3 release and status of Python2.7. It will also give the details of current state of PyPy Project, IronPython project and Jython Project.

    At 10:20am to 10:50am, Saturday 20th August

    Coverage video note

  • How Python Evolves (and How You Can Help Make It Happen)

    by Nick Coghlan

    The CPython reference interpreter lies at the heart of a much wider Python ecosystem. The decisions that shape the future development of CPython ripple out and have a broad impact on the entire Python community.

    This talk covers the special place CPython occupies in the broader Python community, how the decisions that affect CPython's development are made, and how new developers can become involved in that process.

    At 11:00am to 11:30am, Saturday 20th August

  • Pants - Network Programming Made Easy

    by Christopher Davis

    Pants (http://pantsweb.org/) is an open source library that aims to make network programming in Python a breeze. This talk will outline challenges in network programming and how Pants approaches them. The audience will be briefly introduced to Pants' API through example code, and to its capabilities through benchmarks and comparisons with alternate frameworks.

    At 11:00am to 11:30am, Saturday 20th August

    Coverage video

  • Networking Libraries in Python.

    by Senthil Kumaran S

    This talk will explore the core networking libraries available in Python.

    1. Python Standard Library. http and urllib package (Python3 and Python2).
    2. Capabilities of other 3rd party networking libraries - pycurl and httplib2. When to use them and why they exist.
    3. Asychronous Network IO using Twisted Matrix Framework.
    4. Tornado framework capablities - Generic overview.

    At 11:40am to 12:10pm, Saturday 20th August

    Coverage video

  • Zookeepr: Home-grown conference management software

    by Brianna Laugher

    Zookeepr (http://zookeepr.org/) is a comprehensive web-based conference management system, written in Python and built on Pylons. It has an unusual development history: custom created for the annual Linux.conf.au conference, there are yearly spikes in event-focused feature development, but relatively little of the ongoing development typically seen in open source projects.

    This presentation is an introduction to the project, aimed at developers interested in contributing to a non-trivial open source project where meeting your fellow developers is quite possible, even likely, and your work is almost guaranteed to be seen and used each year by hundreds of Australia's most diehard geeks.

    At 11:40am to 12:10pm, Saturday 20th August

    Coverage video note

  • Panel: Python 3

    by Nick Coghlan, Richard Jones, Raymond Hettinger and Anthony Baxter

    This is a panel discussion in which Nick Coghlan, Raymond Hettinger and Richard Jones discuss the state of Python 3, some of the new features, the 3rd party adoption, migration strategies and open to the floor for questions.

    At 1:10pm to 1:55pm, Saturday 20th August

  • Pyramid: Lighter, faster, better web apps

    by Dylan Jay

    Introduction to the Pyramid, the new web framework taking the python world by storm. This tutorial will cover the basics of a hello world app and cover some of the advanced features of pyramid that give it it's power such as traversal. Pyramid is part of the pylons project and is a successor to pylons and a continuation of the BFG framework. It's very simple to learn, runs fast yet has powerful concepts which help keep large web app creation a sane process.

    At 1:10pm to 1:55pm, Saturday 20th August

  • Python's dark corners - the bad bits in Python and how to avoid them

    by Peter Lovett

    Python's dark corners - the bad bits in Python and how to avoid them. If you don't know the dark corners then you need this.

    At 1:10pm to 1:55pm, Saturday 20th August

  • Confessions of Joe Developer

    by Daniel Greenfeld

    Over the course of 6 years of Python development at NASA, Revsys, and Eldarion; Daniel Greenfeld has picked up a lot of easy tricks stolen from the best and brightest in the Python community that make him look good in front of his peers and clients. And now, at great risk to his career and reputation, he is going to show you how he does it. Amongst other things, this will be a tour of the 'pydanny standard library', a set of must-use tools for any project that are already combined and configured for your use in django-party-pack and python-party-pack.

    At 2:05pm to 2:50pm, Saturday 20th August

    Coverage slide deck

  • Easy site migration using Diazo and Funnelweb

    by Adam Terrey

    Moving old sites into a new web platform is a pain. Often you need to pull apart perfectly good HTML just to spend time painstakingly putting back together again and converting hundreds of pages of content is a chore. Recently PretaWeb used tools to drastically simplify this process when converting genetics.edu.au to Plone 4.1. Diazo is a platform independent theming engine that leaves HTML untouched. Funnelweb is a static content migration tool for crawling and manipulating site content.

    At 2:05pm to 2:50pm, Saturday 20th August

  • Developing Scientific Software in Python

    by Duncan Gray

    This presentation will outline key lessons learnt in developing scientific software in Python. Methods of maintaining and assuring code quality will be discussed, in particular:
    - designing effective unit tests;
    - visualising output data to discover defects; and
    - designing characterisation tests to test the actual system behaviour and to identify unintended system changes.

    The challenges in optimising and parallelising Python code will also be presented, including:
    - profiling;
    - using NumPy to optimise numerical computations;
    - using C code for intensive computational tasks; and
    - parallelising software to run on high performance environments such as clusters.

    At 3:10pm to 3:40pm, Saturday 20th August

    Coverage video

  • Infinite 8-bit Platformer

    by Chris McCormick

    Infinite 8-bit Platformer is a Free Software multiplayer user-created-content platform video game written in Pygame. It's a bit like a cross between a wiki and a game, because the players can also create and edit the levels. In this talk we will look at the development of the game over the last three years, including what has changed since PyCon 2010. We'll examine the sound, graphics, and networking architecture which is built upon pygame and asyncore (PodSixNet). We will also discuss the community that has arisen around this project and go over building the game from source and how to contribute.

    http://infiniteplatformer.com/

    At 3:10pm to 3:40pm, Saturday 20th August

    Coverage video

  • The Zen of Python

    by Richard Jones

    This talk will walk through the Zen of Python and discuss each element in turn.

    At 3:10pm to 4:20pm, Saturday 20th August

    Coverage note

  • Behaviour Driven Development

    by Malcolm Tredinnick

    Writing software in an organisation or for ourselves, many people feel that they "should" somehow be doing Test Driven Development (TDD) because "everybody else" is and it's cool, somewhere between necessary and useful and they heard testing was good. When informed that must of TDD isn't about testing (despite the name!), confusion reigns.

    Behaviour Driven Development is a different way of approaching the "how to validate your code" problem. It's an idea that isn't particularly new any more, but it doesn't seem to have the traction of TDD for some reason, particularly in Python, despite possibly being a bit more self-explanatory and easier to bootstrap when sitting down to write code. So let's talk about what it is and various ways to try out BDD in Python — from the periodically maligned doctests to simple unittest module usages to more specialised modules.

    At 3:50pm to 4:20pm, Saturday 20th August

  • Weather field warping using Python.

    by Dr. Nathan Faggian

    Python is a great language for prototyping computer vision algorithms, the availability of libraries such as Numpy and Scipy make for rapid development similar to that of Matlab, R and IDL. At the Bureau of Meteorology (BoM) we are solving the interesting problem of weather field warping. Warping (aka non-linear image registration) is used, for example, to determine what the predicted temperature will be hourly if we only have predictions every three hours. Practically, warps (weather advection fields) are estimated using salient image features or data-driven numerical optimizations and this presentation will demonstrate progress we are making on both fronts.

    At 3:50pm to 4:20pm, Saturday 20th August

    Coverage video

  • Hosting Panel @ Mr B's Pub

    Come and hear from our hosting panel about why their services are right for hosting your next Python project! Each group will give a quick 5 minute speel and then it will be a casual drink.

    This event is happening in a private area at Mr B's pub across the street from the SMC. As this venue is a pub anyone under 18 will have to be accompanied by a parent or guardian.

    In your information booklet you'll find a drink voucher for this event.

    At 5:45pm to 7:00pm, Saturday 20th August

Sunday 21st August 2011

  • Keynote: Raymond Hettinger

    by Raymond Hettinger

    Keynote by Raymond Hettinger.

    At 9:15am to 9:55am, Sunday 21st August

  • Hosting Python Web Applications

    by Graham Dumpleton

    Web applications which are able to dynamically deliver up content have become a crucial part of the Internet landscape, with Python becoming an increasingly popular choice for the implementation of all manner of web applications. In order though for users to be able to access your web application you need to host it. The choices available are however many and varied with accurate information on which may be a good choice not always easy to find.

    This talk will give an overview of the different choices available for hosting Python web applications. It will cover mainstream web servers such as Apache and nginx, highlight the architectural differences between them and look at how Python web applications are bolted on to these web servers via language agnostic protocols such as FASTCGI/SCGI/AJP or more integrated solutions such as Apache/mod_wsgi and uWSGI. The alternate architecture of using a standalone Python web server such as gunicorn, Paste server or the CherryPy WSGI server behind a conventional web server acting as HTTP proxy will also be covered.

    The overall aim of the talk will be to give people a better appreciation for how web servers and your Python web application come together and some of the pros and cons of different solutions.

    At 10:20am to 10:50am, Sunday 21st August

  • Python for Science and Engineering, Part 1

    by Python Charmers

    This is Part 1 of a showcase in solving a variety of interesting scientific and engineering problems using Python, NumPy, and SciPy, and producing beautiful plots with Matplotlib.

    The focus is on the "wow" factor: "Wow! You can do all that in just a few lines of Python?!"

    The topics discussed are:
    - speech and image recognition (how to be head-hunted by Google)
    - bioinformatics (how to cure cancer)
    - statistical modelling (how to predict the stock market)

    The intended audience is graduates in science and engineering disciplines; Python users who want to know more about what's possible with tools like NumPy and SciPy; and users of high-level packages like Matlab or R and low-level languages like Fortran who want to get more interesting work done with less effort.

    At 10:20am to 12:10pm, Sunday 21st August

  • Say What You Mean: Meta-Programming a Declarative API

    by Ryan Kelly

    This talk will explore the use of python's meta-programming facilities to create a simple declarative API so that you can *say what you mean* - write code that focuses on the what and the why without being cluttered by the how. If you've ever wondered how the Django ORM or SQLObject work their magic, this is the talk for you.

    As motivating example and case study, I will build from scratch a basic clone of the "dexml" module, which lets you work with XML documents in a declarative, object-oriented manner. Through judicious use of decorators, descriptors and metaclasses, it packs a lot of logic and functionality into a very thin API.

    At 11:00am to 11:30am, Sunday 21st August

    Coverage video

  • Teaching Python to the young and impressionable

    by Georgina Wilcox and Katie M Bell

    We present two outreach programmes run by Sydney University for high school students: the National Computer Science School (http://www.ncss.edu.au) and the Girls’ Programming Network (http://sydney.edu.au/it/gpn). For the past four years we have been teaching Python to students in grades 9-12, and based on this experience we will discuss why Python is a good first language and the parts of it which are still difficult for students to grasp. We will also cover the structure of the programmes and tools used, in particular the online marking system for Python programming tasks.

    At 11:00am to 11:30am, Sunday 21st August

    Coverage video

  • Fun with App Engine 1.5.0

    by Greg Darke

    Using generators as coroutines in App Engine to get more done.

    At 11:40am to 12:10pm, Sunday 21st August

    Coverage video

  • The NCSS Challenge: teaching programming via automated testing

    by Tim Dawborn

    The NCSS Challenge (http://challenge.ncss.edu.au/) is an online programming competition for Australian high school students. There are four different courses being run during 2011: Introductory Python, Intermediate Python, Advanced Python, and Embedded Systems (using the Arduino). In 2010 we had over 1700 students participate in the Challenge.

    There are a number of interesting technical challenges which had to be overcome in order to facilitate such a system. Executing arbitrary code on your servers which is supplied somebody on the internet is a scary situation for any system administrator. We have developed an elegant solution for this problem whereby we can securely execute arbitrary code not restricted to any particular subset of languages.

    This presentation will be going through three aspects of the Challenge infrastructure. First, how the Challenge works from a competition point of view, and how we teach programming via automated testing. Second, we will cover the sandbox we developed to facilitate this arbitrary code execution. Last, we will cover the application stack powering the Challenge site itself.

    At 11:40am to 12:10pm, Sunday 21st August

    Coverage video

  • How to maintain big app stacks without losing your mind

    by Dylan Jay

    zc.buildout is a powerful build/configure/deployment tool for creating applications from multiple parts, some not python. It's perfect for sharing a development environment or deploy applications to many hosts.

    This tutorial will cover basic concepts, similarity to other tools such as virtual-env, puppet etc as well as practical examples.

    zc.buildout has successful been used with web applications such as Plone, django and pyramid.

    At 1:10pm to 1:55pm, Sunday 21st August

  • Python for Science and Engineering, Part 2

    by Python Charmers

    This is Part 2 of a showcase in solving a variety of interesting scientific and engineering problems using Python, NumPy, and SciPy, and producing beautiful plots with Matplotlib.

    The focus is on the "wow" factor: "Wow! You can do all that in just a few lines of Python?!"

    Sample topics discussed include:
    - speech and image recognition (how to be head-hunted by Google)
    - bioinformatics (how to cure cancer)
    - statistical modelling (how to predict the stock market)

    The intended audience is graduates in science and engineering disciplines; Python users who want to know more about what's possible with tools like NumPy and SciPy; and users of high-level packages like Matlab or R and low-level languages like Fortran who want to get more interesting work done with less effort.

    At 1:10pm to 2:50pm, Sunday 21st August

  • Web micro-framework battle

    by Richard Jones

    In this talk I'll be running through the current choices of web micro frameworks and comparing them by implementing a simple application.

    At 1:10pm to 1:55pm, Sunday 21st August

  • Ah! I see you have the machine that goes "BING"!

    by Dr. Graeme Cross

    Whirrr, buzz, squelch, click, smash, bing!

    Python is so much more than a language for Web 2.0 and system administration: Python can also be used for interfacing into the real world.

    Learn how to connect Python up to stepper motors, micro-fluidic pumps, A/D sensors, switches, solenoids, vacuum/pressure valves and XYZ robots, with simple off-the-shelf control hardware.

    We'll also cover various control interfaces (such as pyserial), concurrent control (eg threading), coupling to C/C++ and some tips and traps when using Python for embedded and real-time control.

    At 2:05pm to 2:50pm, Sunday 21st August

    Coverage video