DjangoCon Europe 2011 schedule

Monday 6th June 2011

Tuesday 7th June 2011

  • Who cares about Zope?

    by Martijn Faassen

    Zope is a Python web framework that emerged in the 1990s, when Python, and the concept "web framework" itself were barely known: the state of the art was Perl CGI. As such Zope pioneered a lot of Python web development. Along the way many mistakes were also made, some of which were good decisions at the time and only turned into mistakes over time. "What can we learn from Zope?" This question has been asked before, and the aftermath of that question on discussion forums is often negative: Zope has accumulated long, rich history of good and bad ideas, and it presents a tempting target. But those who cannot remember the past are condemned to repeat it, so let's go into it again. What concepts from Zope are valuable, perhaps even to the Django community? The Zope project has been at it for a while, so dare we ask whether Zope has concepts and technology today that are still in the future for Django?

    At 9:30am to 10:30am, Tuesday 7th June

  • Bitbucket - Lessons learned

    by Jesper Noehr

    Doing a website in Django is easy, but how about building a DVCS hosting site with it? Django fits a wide variety of purposes, and was molded to suit Bitbucket's purpose while remaining (somewhat) idiomatic. This talk is about the lessons we learned in going from a few hundred users, to now over 100.000 active ones, being acquired, introducing non-Pythonistas to Django, and having to maintain and develop everything meanwhile.

    At 10:30am to 11:15am, Tuesday 7th June

  • Continuous integration and continuous deployment

    by Szilveszter Farkas

    This talk will show how the continuous integration and deployment for a site with over 3 million users was built from the ground up. It will cover topics from process changes (e.g. branching), to the tools being used (Fabric, Gargoyle, Jenkins, just to name a few), to how they are used.

    At 11:45am to 12:05pm, Tuesday 7th June

  • unjoinify: a module to tame the SQL beast

    by Matt Westcott

    We all know the golden rule of query optimisation: make one big query rather than lots of little ones in a loop. However, that's easier said than done when you're dealing with deeply nested data - there's a limit to what you can do with Django's own mechanisms like select_related. Often the only answer is to drop down to raw SQL, and in those cases we'd still like to have access to our models, rather than abandoning ORM entirely. This talk presents unjoinify, a helper module that can reassemble gnarly cross-table SQL resultsets back into template-friendly object trees.

    At 12:05pm to 12:25pm, Tuesday 7th June

  • Celery - An asynchronous task queue (not only) for Django

    by Markus Zapke-Gründemann

    Celery is an asynchronous task queue. It can be used to process large amounts of messages in real-time.

    At 1:30pm to 2:15pm, Tuesday 7th June

  • Reusable Apps using "Eight Spaces"

    by Klaas van Schelven

    The app is presented as Django's core unit of reusability. As noted in talks at earlier conferences and in numerous online discussions, reusing Django apps is however, not trivial. The problem that we've identified as most pressing is that apps cannot easily refer to other parts of themselves, and cannot be easily modified by app-users.

    "Eight spaces" is our take on reusing Django apps. By using objects, not directories with separate files, as an app, we open the possibility to refer to other parts of the app from within the app, and to use subclassing as a mechanism for extension.

    At 2:15pm to 3:00pm, Tuesday 7th June

  • Core developers panel

    by Russell Keith-Magee, Idan Gazit, Alex Gaynor, Andrew Godwin and Jannis Leidel

    This is your chance to ask questions to the Django core developers.

    At 3:30pm to 4:15pm, Tuesday 7th June

  • The Django ORM and multilingual database contents

    by Jonas Obrist

    Making a generic solution for multilingual database contents in Django is not easy, nevertheless I started project-nani to do exactly this. In this talk I will explain why I did that and how it works, and why the Django ORM makes this task so hard.

    At 4:15pm to 4:35pm, Tuesday 7th June

  • Integrating the Enterprise using Django

    by Ed Crewe

    This talk is about using Django within an Enterprise environment. The environment in question is higher education, however the principles could be the same for any organisation of over thousand users.

    Django is used to deliver applications that integrate existing applications data and databases, in this case Oracle, and core web services such as the CMS, portal and cloud tools. The examples being Plone, UPortal and Google Apps.

    At 4:35pm to 4:55pm, Tuesday 7th June

  • Lightning Talks

    At 4:55pm to 5:40pm, Tuesday 7th June

Wednesday 8th June 2011

  • The Impact of Django

    by Armin Ronacher

    In 2005 Django was presented to the general public for the first time. 6 years later it's clear that Django left a big impact in the Python developer community. Not only that, it also changed the way people approach a whole variety of problems and topics, not only in the Python community. I want to look back of the last five years and dive into all the areas where Django left some footprints and also what we might learn from that for the future.

    At 9:30am to 10:30am, Wednesday 8th June

  • An iPhone-Python love affair: Building APIs for mobile

    by Anna Callahan and Nate Aune

    Mobile apps are the hot item of the day -- and the best mobile apps are backed by a great website. Python web developer Nate Aune and iPhone developer Anna Callahan will show you how we built a simple music web app in Django with a native iPhone app that communicates with it. Attendees of this talk will see a concrete case study of building an application that exposes an API for mobile devices.

    Our web app exposes a JSON API for sending and receiving data from the mobile device. We’ll talk about why we chose Django and the TastyPie API package, and discuss other packages that could be used to build the API such as django-piston or the Django REST framework. We’ll also compare REST and custom APIs to understand best practices for building APIs designed for mobile devices.

    At 10:30am to 11:15am, Wednesday 8th June

  • The Best and Worst of Django Core

    by Alex Gaynor

    Django strives to always present a nice API to its users, but does that always bleed over into the internals? We'll go over the best (and worst) modules and commits in the history of Django to see just how the sausage is made.

    At 11:45am to 12:05pm, Wednesday 8th June

  • Django on Rails: Getting Resourceful

    by Zack Voase

    Take DRY one step further by writing resource-oriented views. Using Dagny, find out how to improve the organization of your code, simplify your URLconf and get a 'RESTful' API for free. Warning: includes live demo.

    At 12:05pm to 12:25pm, Wednesday 8th June

  • Deploying, At An Unusual Scale

    by Andrew Godwin

    As a Python hosting startup, ep.io sees a lot of Django. Andrew will take you through the various parts of the ep.io stack - from the custom load balancer, to the redis proxy, to how we run nginx and gunicorn, and show you some of our code, while he points out some of the trickier parts of maintaining hundreds of Django installations on just a few machines.

    At 1:30pm to 2:15pm, Wednesday 8th June

  • Taming runtime dynamic models in Django

    by Will Hardy

    Dynamic models are an oft devised solution to the need for flexibility when storing data. This sort of thinking would also have you ridiculed, but with Django and South in hand, runtime database schema altering can help you safely do wonderful things the old school DBAs would never have approved.

    At 2:15pm to 3:00pm, Wednesday 8th June

  • Scalability Panel

    by Andrew Godwin, Eric Florenzano, Andy McKay and Jesper Noehr

    Panel about scalability.

    At 3:30pm to 4:15pm, Wednesday 8th June

  • Whither Django?

    by Russell Keith-Magee

    What does the future hold for Django? In this talk, core developer Russell Keith-Magee peers into his crystal ball to make some guesses at what may be coming in Django 1.4 and beyond...

    At 4:15pm to 5:00pm, Wednesday 8th June

  • Sprint introduction

    by Russell Keith-Magee

    The Django sprint is going to be on Thursday and Friday. This talk will give a short introduction.

    At 5:00pm to 5:20pm, Wednesday 8th June

  • Closing

    by Remco Wendt

    At 5:20pm to 5:30pm, Wednesday 8th June

    Coverage video