Follow us ! Twitter icon for djangocon europe Lanyrd icon for djangocon europe Buy your tickets

Talks and speakers

  • Amjith Ramanujam

    Amjith Ramanujam


    I've been programming for over 10 years in various languages. Python is by far my favorite language. You can usually see me grinning while I'm writing Python.

    I have an unhealthy obsession towards performance tuning and optimization. I am a voracious learner and I love sharing the stuff I learn.

    I work on the Python instrumentation team at NewRelic where we concoct creative ways to find performance bottlenecks in Python webapps.

    Introduction to Docker 45mn

    Docker is an open source tool that simplifies managing Linux containers. A container is a sandbox environment that runs a collection of processes. Containers are light-weight VMs that share the same kernel as the host OS.

    Docker adds some niceties to Linux containers such as AUFS, version control, docker registry (repository), versioning etc. This talk will serve as an introduction to working with docker tools. I'll cover the basic concepts behind docker and explain the difference between a docker container and a VM. Show a demo of how easy it is to create a docker image and launch a container from it. Briefly explain the idea behind Dockerfile and show some examples.

    I'll cover how networking and filesystem changes are handled in Docker. Show a demo of how to deploy a Django application in docker and explain why it's useful to do so in production.

    I'll also cover some common use cases of docker in the industry such as testing, deployment, PAAS etc.

  • Andreas Pelme

    Andreas Pelme


    Andreas is a software engineer from Sweden. He is the co-founder and lead developer at Personalkollen, making time tracking and salary management easy.

    Andreas likes to contribute to open source projects and is the maintainer of pytest-django.

    pytest: helps you write better Django apps 45mn

    Pytest is a full featured testing tool that can make your testing experience better. This talk will introduce you to pytest and show how easy it is to get started with pytest in your own project.

    Good practices are crucial to effective testing. This talk will cover Django testing best practices with a lot of concrete examples. It will also discuss how to write faster tests and how to improve test run time by running tests in parallel.

  • Andrew Godwin

    Andrew Godwin


    Andrew is a Django core developer, the author of South and the new django.db.migrations framework, and currently works for Eventbrite as a Senior Software Engineer, working on system architecture.

    He's been using Django since 2007, and has worked on many different sites with different scaling challenges - from high-traffic forums with heavy write loads to websites for national TV programs with millions of read-only visitors, and now at Eventbrite helping scale their high-volume ticketing system.

    In his spare time, he also enjoys flying private planes, archery, and cheese.

    Good schema design - and why it matters! 45mn

    Pretty much every website is underpinned by a database or two - and how you're storing data in there really matters. This talk will cover the best ways to set up your schema to store your data, how to change your schema without any downtime, and how to use the brand-new migration features in Django 1.7 to your best advantage.

    We'll take a look at database normalisation (and why it's not always a good idea), denormalisation, schemaless data, how to best set up your tables and indexes for different load types (heavy read/heavy write/balanced), and how to scale up your database and its schema as you grow.

  • Angel Ramboi

    Angel Ramboi


    I started as a software developer in 2005 and after spending some dark times with PHP&friend.s I dived into Python three years ago and never looked back. Since then I've been blown away numerous times by the awesomeness of Python and especially the Python community. I previously worked with PBS Interactive on their station localization and TV schedule APIs. And for the past year I've been with Demonware a subsidiary of Activision-Blizzard based in Dublin, Ireland. Most of my work revolves around high availability APIs that are used by games, apps and websites.

    Gamers do REST 15mn

    The presentation is meant to give an overview (sprinkled with implementation details and solutions to issues we encountered) of how we use Django to build RESTful APIs in Demonware and how we manage to reliably serve millions of gamers all over the world that play Activision-Blizzard’s successful franchises Call of Duty and Skylanders.

    Topics the presentation will touch (some only briefly because of time constraints): - tech stack overview - API design - configuration handling - middleware usage for logging, metrics and error handling - class based views and resource representation

  • Aymeric Augustin

    Aymeric Augustin


    I'm a core developer of Django and the CTO of Oscaro, an e-commerce pure player specializing in auto parts.

    When I'm not writing or shipping code, I love learning, teaching and sharing knowledge.

    Where the Wild Things Are 45mn

    The concept of pluggable applications has been instrumental in the development of the Django ecosystem and the quality of Django websites. But it's bare-bones: the INSTALLED_APPS setting simply contains a list of Python packages.

    In February 2007, Joseph Kocherhans uploaded a patch to allow changing an application's label and providing a verbose name for the admin. The scope of this ticket quickly escalated. Eventually it became known — and feared — as "app-loading".

    With every ticket closed as a duplicate, the monster grew stronger and hope faded. Valiant efforts by contributors and core devs cornered the beast into a cave but hardly weakened it. It was finally slain in Django 1.7.

    Judging by the releases notes, the results are underwhelming. Worse, they come with an annoying list of backwards-incompatibilites. What was that all about?

  • Benoît Bryon

    Benoît Bryon


    I am a Python developer at Novapost, France. I do my best around tests, documentation and automated deployments.

    Healthchecks for Django 15mn

    Once you deployed your project, how do you validate everything is running as expected? Then, at runtime, how do you check your site status? Or when an error occurs, how do you examine system? How do you distinguish between bugs in code, issues in configuration or failures in third-party services? That is what healtchecks are made for.

    "Hospital" is a healthcheck framework for Python. Let's discover how smoketests and diagnosis can secure your work. Let's see how easy it is to integrate healthchecks with Django (or with any Python project), then plug the results to supervision/monitoring tools.

    Note: did you notice Django 1.7 introduces a system check framework? Do you know about django-health-check, django-doctor or django-smoketest projects? We will also consider how authors are trying to make those projects converge.

  • Bruno Renié

    Bruno Renié


    Bruno is lead developer at exoscale, the leading Swiss cloud provider. He writes core applications as well as customer-facing interfaces and makes sure his more ops-oriented colleagues can have a clear idea of what's happening at any time. Among other things he is a contributor to the Graphite project. He publishes code on github and occasionally tweets at @brutasse.

    Visibility for web developers 45mn

    Understanding how a site behaves outside of the developer's machine is extremely important. Gathering metrics and events in a production system lead to a better knowledge of pain points and eases troubleshooting a lot when issues arise. This talk will explain how to setup a rock-solid visibility stack for your apps, how to feed data into it and how to extract meaningful information from that data.

    We will start with the basics of exception handling and continue with the meat of this talk consisting in two parts:

    1 - Events (i.e., mostly logging calls)

    An introduction to logging in large production deployments:

    • centralized logging with logstash and elasticsearch
    • the case for structured logging
    • rich dashboards with Kibana

    2 - Metrics

    An opinionated take on monitoring:

    • Riemann, the universal metrics hub
    • simple thresholds and alerts
    • persisting metrics data to Graphite
    • Riemann and Graphite dashboards
  • Christophe Pettus

    Christophe Pettus


    Christophe has been working with Django since 2007, and with PostgreSQL since 1997. He's spoken at Djangocons in the US and Europe, as well as Europython and other conferences.

    Really, Really Fast Django 45mn

    Django can handle extremely high levels of traffic… with appropriate design and support. We’ll go over techniques to keep your Django site from being crushed under high load.

    Topics include:

    • Schema/model design
    • Caching
    • Efficient view function design
    • Caching
    • Template design for high performance
    • Caching
    • Database tuning and sharding
    • Caching

    We’ll also discuss caching.

  • Daniele Procida

    Daniele Procida


    I became a programmer on 29th April 2009, which I'm still very happy about.

    I work at Cardiff University School of Medicine in Wales, where I build web applications with Django and Python.

    I ride my bike whenever I can and fall off it whenever I can't, and while the world continues to offer me fun things to do I will take them, thank you very much.

    The programmer's body 45mn

    What is the only thing that really matters?

    We are programmers, and everything in the ideology of our industry is disembodied and virtualised. At the same time we are building the world that the rest of the world, increasingly, will live in.

    We are, it seems, sexless selves and disembodied minds in a world that doesn't need our bodies and isn't very interested in them.

    And yet: the body remains at the centre of the world, even this supposedly bodiless world. Its disputes and politics, its hurts and controversies, its pains and insults all belong to the body.

    Even the fiction and film of this new world of the unbodied are (and always have been) bodily-fixated.

    In short, there's no escaping the body.

    In this talk, I take examples from history, literature, film, poetry and other fields to show how our present state can be woven into a very ancient pattern, and ask: what should we, as programmers, do about it?

    And finally, I make a modest attempt to answer that question.

  • David Winterbottom

    David Winterbottom


    I'm technical director at Tangent Labs in London. I've been working with Django for many years and have been technical lead on a wide range of projects. I've also hired and mentored a large number of Django developers.

    I'm the author of django-oscar, Django's leading e-commerce framework as well as several other Django packages: https://github.com/codeinthehole/

    I tweet and blog regularly about Django and other tech stuff: http://codeinthehole.com https://twitter.com/codeinthehole

    An introduction to django-oscar 15mn

    Oscar is a Django e-commerce framework designed for flexibility. It employs a range of techniques that allow developers to customise any part of the core. In this way it can be used to capture a wide range of e-commerce requirements.

    This talk will examine the key techniques used by Oscar that allow this customisation, as well as the features Oscar offers and what it can be used for.

  • Frank Wiles

    Frank Wiles


    Founder and President of Revolution Systems, a Django consultancy. Frank specializes in performance and scalability of large Internet systems.

    Frequently Missed Performance Gains 15mn

    Premature optimization is bad, but there are several things people often overlook that can easily speed up your Django sites that require little to no work and don't overly complicate your development efforts. We'll talk about:

    • cached templates
    • dealing with sessions
    • ORM tips
    • front end performance

    Small things can make a big difference!

  • Harry Percival

    Harry Percival


    During his childhood Harry seemed to be doing everything right -- learning to program BASIC on Thomson TO-7s (whose rubber keys went "boop" when you pressed them) and Logo on a Green-screen Amstrad PCW. Something went wrong as he grew up, and Harry wasted several years studying Economics, becoming a management consultant (shudder), and programming little aside from overcomplicated Excel spreadsheets.

    But in 2009 Harry saw the light, let his true geek shine once again, did a new degree in Computer Science, and was lucky enough to secure an internship with Resolver Systems, the London-based company that has since morphed into PythonAnywhere. Here he was inculcated into the cult of Extreme Programming (XP), and rigorous TDD. After much moaning and dragging of feet, he finally came to see the wisdom of the approach, and now spreads the gospel of TDD through beginner's workshops, tutorials and talks, with all the passion of a recent convert.

    Harry is currently writing a book for O'Reilly, provisionally titled "Test-Driven Development of Web Applications with Python". He is trying to persuade his editor to have the title changed to "Obey the Testing Goat!".

    Don't be scared of the lava! Why purist unit tests are a waste of time. 15mn

    The "purist" approach to unit tests says that your tests should be perfectly isolated, that they should mock out any dependencies, and that they should never, ever touch the database. The database is hot lava!

    In this talk I will outline a (controversial) thesis: that such tests are just not very useful in the world of web application development, and Django. Given that my opinion is so wrong-headed (or maybe just plain wrong), I will endeavour to provide a balanced picture of the pros and cons of different testing approaches, including the arguments for purist unit tests, the options for integration testing and acceptance testing, the "functional core imperative shell" pattern (AKA hexagon architecture), all with a view to leaving the audience informed enough to make their own decisions about testing strategy.

  • Honza Král

    Honza Král


    Honza is a Python programmer and Django core developer – since he is scared of the bright and shiny world of browsers, designers, and users he prefers to stay buried deep in the infrastructure code and just provides others with tools to do the actual site-building.

    Since 2008 Honza has been building content web sites for fun and profit. During this time he discovered Elasticsearch which lead to him joining the company behind it in 2013 to work on the Python drivers.

    From __icontains to search 45mn

    Good search experience for your users is about more than just a more efficient way to find models containing certain word or phrase. In this talk we'll go through what are the relevant parts of search and how to best implement them (we'll use Elasticsearch for actual examples).

    We will start discussing data modelling, moving on to simple search, add facets for easier navigation and discoverability, spell checking ("did you mean?") and auto-complete. In the remaining time we'll see about possibilities for further enhancing your search by tracking user searches or providing stored search functionality.

  • Idan Gazit

    Idan Gazit


    I'm a Django core developer and lead designer for the framework. I've spoken at PyCons and DjangoCons, and delivered a keynote address at Djangocon US 2011. If you attended either of those conferences in the last few years, you probably own a t-shirt I designed. I love open-source dearly, and the Python and Django communities are my family.

    When I'm not hacking on FOSS projects, I am Heroku's resident data visualization specialist.

    Advanced Web Typography 45mn

    Oliver Reichenstein famously quipped that “The Web is 95% Typography.” Most of the information we take in on the web is textual in nature. It behooves us, as writers and curators of text, to know about the art and science of presenting textual information.

    This talk isn’t about art, or science, but technique. Typesetting has a rich history, dating back to Mr. Gutenberg and his printing press. Although digital type is fairly mature by now, type on the web is still very much in its infancy. We are only now gaining typographical controls that the publishing industry has taken for granted these last 20 years. I'll be taking you on tour of the current state of type on the web: what we can do today, and what we will be able to do tomorrow.

    Some highlights: A reintroduction to font-face and the nitty-gritty details of how it works Advanced typography with CSS3 font-features (http://caniuse.com/#feat=font-feature) Icon fonts, and semantic use thereof JavaScript tools like fittext.js and lettering.js

  • Ilja Bauer

    Ilja Bauer


    Django since 2010 Master student (computer science) at TU Dresden Co-founder of the startups cuescience and itshub. Bachelor thesis: “Design and Implementation of an interface for Binding Natural-Language Software Specifications to Programming Languages” (Evaluated for the Python Language)

    The Power of Natural Language - From ATDD to Lean Modeling 45mn

    Delivering high quality software solutions that meet customer expectations and requirements is the essential goal of any development project. Therefore, development teams need to obtain the relevant domain knowledge and information from their customers.

    As a result, initial system specifications are typically formulated using natural language (e.g., within plain text documents). The main challenge imposed by this process is to avoid misunderstandings, misinterpretations and inconsistencies during the transformation of informal requirements into formal specifications, models, and executable code or tests.

    At first the talk will briefly introduce Acceptance Test-Driven Development (ATDD) as a powerful method to bridge the gap between requirements engineering and software testing. Following this, the second part will push the original ATDD idea even further by introducing the concept of “Lean Modeling”, a lightweight and pragmatic alternative to classical software modeling and DSL tools.

    Examples will be presented that illustrate the usage of natural language specifications for various django specific artifacts:

    • models
    • REST Resources
    • initial database data (fixtures)
    • forms.

    This approach can also help to improve our debugging experience and IDE smart completion support. In addition to these advantages during development a demo will be shown, that illustrates how customers / users can benefit from “Lean Modeling” by creating custom forms in their django backend with natural language.

  • Jacob Burch

    Jacob Burch


    Jacob Burch has created websites since he was 12 years old. After spending his high school years as co-Editor in Chief of his high schook's website, he decided to finish his college studies and pursue the highly lucrative major of American Literature at UCLA. After graduating, Jacob decided the paparazzi-laden world of fame and fortune found in literary criticism was too much for him, so he returned to his humble programming roots as an software engineer at Mahalo.com. After serving time as Director of Technology and CTO at Mahalo, Jacob joined Revolution Systems as an Engineer in 2011. He blogs with random frequency at http://blog.jacobburch.com.

    Jacob Kaplan-Moss

    Jacob Kaplan-Moss


    Jacob Kaplan-Moss is a core developer of Django, Director of Security at Heroku, and Chief Coffee Officer at Revolution Systems. Jacob helped create Django while working at the Lawrence Journal-World, a family owned newspaper in Lawrence, KS. He lives on a hobby farm outside of Lawrence and spends his weekends playing with power tools and tractors.

    Django minus Django 45mn

    Django is a monolithic framework -- or is it? Django prides itself on being "batteries-included," but that doesn't mean you need an appointment at the Genius Bar to replace them. This talk aims to show the audience how to replace every facet of Django, from the template engine to the ORM. The talk will also highlight the areas of Django that still carry this difficulty, and offer direction where Django can go to fix them.

  • Jacob Rief

    Jacob Rief


    After graduating from the University of Innsbruck in CS and Physics, Jacob worked for different companies as a system architect and software developer, where he built and scaled websites in C, Perl, PHP and Javascript. After dealing with a lot of unmaintainable and poorly written code in PHP and Javascript, Jacob fell in love with Django and hasn’t looked back since. Recently, he discovered the AngularJS framework, which for him in comparison to jQuery, is the same as Django is to PHP. He therefore started an open source project to make AngularJS play nice together with Django: https://github.com/jrief/django-angular

    Make AngularJS play nice together with Django 45mn

    Django intentionally has been designed as a pure server side framework, thus being agnostic about client side programming, except for the Django admin interface, which uses jQuery. Letting developers choose their preferred client side framework has been a wise decision by Django community. However, in most cases the de-facto standard, hence jQuery, is used. In the past years, other Javascript frameworks have emerged, namely Knockout, EmberJS, Backbone and AngularJS. They all attempt to circumvent to shortcomings of jQuery. Since Django developers are familiar with the concept of Model-View-Control, they might feel even more comfortable with one of these frameworks, rather than with jQuery.

    In my proposed talk, I would like to give a short introduction into AngularJS’s two-way data-binding, which can dramatically reduce boilerplate code, otherwise required when using jQuery. Furthermore, this talk will handle the following topics: - How to render model-bound forms for AngularJS, using mixin classes to be added to the built in Django form. - How Django’s form validation can be used to pre-validate the form data on the client, using the AngularJS Model controller, but without duplicating code. - How to securely call Django view’s methods from inside an AngularJS controller, with a behaviour similar to remote procedure calls. - How to use dependency injection to separate concern for external data, either created by Django for production use, or by a mocking class when writing unit tests for browsers code. - Three-way data-binding build on top of AngularJS’s two-way data-binding using websockets for bidirectional synchronization of the browsers view model with server side data buckets.

    In-depth documentation on the topics of the proposed talk can be found here: http://django-angular.readthedocs.org/en/latest/ http://django-websocket-redis.readthedocs.org/en/latest/

  • Julia Elman

    Julia Elman


    Julia Elman is a designer, developer and tech education advocate based in North Carolina. She has been working her brand of web skills since 2002. Her first dive into Python was at World Online in Lawrence, Kansas in 2008, as a Junior Developer/Designer. In early 2013, she helped start a local chapter of Girl Develop It and empowered over 400 members to learn computer programming. She also helped organize the 2013 Teen Tech Camp, where 20 local teens learned Python programming in a one-day event. Julia is the Lead Designer at trinket, a platform for open teaching. You can follow her @juliaelman.

    Getting RAD with Django 15mn

    When working with Django, there are many ways to get from initial idea to final product. Being the framework "for perfectionist with deadlines", the core principles of Django are for working in a fast paced environment. Yet how do we create seamless workflows for team collaboration? What are the optimal project configurations to be able to rapidly create and iterate on your Django projects?

    This talk outlines how to leverage the concept of rapid application development (RAD) practices in Django. We'll explore various tools, tips and techniques on how to use rapid development to create a successful finished product.

  • Kevin Van Wilder

    Kevin Van Wilder


    Kevin Van Wilder is a Senior Developer at Inuits.eu, an open source consultancy firm in Belgium. He develops web applications and is interested in application and infrastructure architecture. In the past, he has talked about a range of technical and non-technical subjects. In his spare time he's a gamer, maker, runner, reader and delicious food consumer.

    Your Product is more than the Application! 45mn

    All too often we see developers and system operators fail to communicate. Both teams seems to have different requirements: developers want new features and releases whilst operators want stable systems. But the fact of the matter is that both teams have the same goals. When both teams are brought together from the get-go, you notice the goals become visible again and the requirements align.

    The Devops movement in IT is a critical mass of developers and IT operations aligning their ideas. It is a collection of best practices, tooling and a philophy that emphasizes on collaboration and automation. But the most important best practice a developer and IT operator requires is the art of clear and concise communication.

    In this talk, I'll finally remove the confusion of what Devops really is and explain the best practices and toolsets. The talk revolves around the CALMS acronym:

    • Culture: people and process first, if you dont have the correct culture, all attempts will be fruitless.
    • Automation: remove the human error from the equation.
    • Lean: learn to adapt to situations, think outside the box and identify processes that are a waste of time
    • Measurements: If you can't measure, you can't identify and improve. Performance metrics, process metrics and even people metrics!
    • Sharing: This is the loopback in the CALMS cycle. Share your ideas and solutions with the community. Learn from the advise of other people and improve your own processes along the way.

    Your product is more than the application, it is also the monitoring, the infrastructure, the constant improvement, the sharing of knowledge and the people developing it!

  • Leonardo Giordani

    Leonardo Giordani


    I started using Python in 2000 and Django in 2010.

    I'm currently working in the field of satellite radar imagery (www.treuropa.com), building massive scientific data processing chains in C/Python. I developed Django-based solutions to monitor data processing and to manage software development and deploy.

    From 2013 I blog some technical thoughts at http://lgiordani.github.io.

    Django class-based views: survival guide for novices 45mn

    Are you a Django novice, confused by words like class-based views, URL dispatchers, HTTP requests? Are you still wondering how to use all those things to build the pages of your Web site?

    Django programmers that started with versions prior to 1.3 are used to deal with views as functions, and they learned how to process even complex forms in a procedural way. From the release 1.3, Django introduced class-based views (CBVs) and ported its powerful generic views to this new paradigm (class-based generic views, or CBGVs).

    This change, however, has not been harmless for Django novices: the django-users mailing list and StackOverflow are full of questions about views and classes.

    This talk aims to lead Django novices to a good understanding of what class-based functions are and how they can be effectively used.

    The main topics are:

    • Python classes: how OOP concepts improve the View part of Django MVT. This part aims to introduce Python classes as data processors and explains how OOP concepts like inheritance help the fast development of customized solutions.

    • URL dispatchers: how Django CBV process URL parameters. Here I discuss how Django class-based views store arguments extracted from URLs and how we can access them.

    • HTTP verbs: how Django CBV deal with GET, POST and friends. This part shows what happens to a class-based view when HTTP requests are processed and how to leverage the mechanism to customize data processing.

    • CRUD operations through Django generic class-based views. Create, Read, Update, Delete are the fundamentals operations you need on data, so it is worth learning to use and customize the powerful generic views of Django that implement them.

    The target of this talk are Django novices who completed and understood the Django tutorial. Previous knowledge of the basic Python OOP syntax and concepts is preferred (classes, inheritance, method overriding, function arguments processing).

  • Marc Tamlyn

    Marc Tamlyn


    Marc is a Django core developer and full time parent. He spends far too much time shooting arrows, not enough time writing code and just the right amount of time cuddling his son.

    The future of PostgreSQL in Django 45mn

    Postgres is awesome, and has loads of lovely features which some other databases do not. We're going to make the ORM better for them.

  • Mathieu Leplatre

    Mathieu Leplatre


    Mathieu is a developer at Makina Corpus, mainly involved in projects with cartographic data.

    He is the author of django-leaflet and django-geojson, both focused on simplifying Web mapping for Django developers!

    Team up Django and Web mapping 45mn

    Team up Django and Web mapping

    A few steps from the Django universe towards the world of cartography!

    During this presentation, I will present the basic notions of geographical data, throw light on the dedicated components available in Django, and introduce a couple of frontend tools for Web mapping.

    If you wonder how to build maps with Django, how to get rid of Google Inc., or how to draw geometries in Django forms, this talk will take you to the next level!

  • Meghan Reilly

    Meghan Reilly


    Meghan Reilly is a project manager and user researcher at Above the Fold, a user experience design agency located in Cambridge, MA. Since joining Above the Fold over a year ago, Meghan has used her previous experience with Information Services & Technology at Boston University to help bridge the divide between large IT organizations and UXD. She is ITIL foundations certified, and has experience working with designers, developers, and decision makers. At Above the Fold, Meghan has also gained experience with user research and enjoys putting her writing skills to work with website content. Meghan is a member of Boston PHP and spoke at the 2013 NEPHP Conference in Boston. She also enjoys teaching workshops on usability.

    Meghan is a graduate of Boston University with a B.A. in English. Meghan loves talking to people and hearing their stories. She is an avid skier, a music lover, and a Red Sox fan. Meghan lives in Hull, MA with her husband, her dog and her cat.

    Introduction to User Experience Design 45mn

    While User Experience Design (UXD) may seem like another buzzword, it actually has deep roots in usability, visual design, information architecture, and many other areas that developers and the like may already be familiar with. UXD is not just another process, but instead a way of thinking and collaborating that should not be overlooked for cost or time reasons.

    As companies continue to put more pressure on their employees to do more with less, decision makers, product managers and developers are looking for ways to solve problems quickly, while still getting high value for the company and their customers. With changing technologies, strategies and markets, and a constant push for employees to wear multiple hats and work more collaboratively, having an amazing user experience is becoming a "must have" for companies that want to remain competitive.

    Developers, product managers and decision makers who are new to UXD and curious to learn more will walk away with a clear definition of User Experience Design, a knowledge of its goals and the basic components that make up a UX project, such as: User Research, UI Design, Front End Development, and Content Strategy. Attendees will also walk away with examples of how UXD can add value to a project for both the business and the users.

  • Raphaël Barrois

    Raphaël Barrois


    Python enthusiast, Geek to the core, Raphaël enjoys desiging software and systems. He builds the Autolib' information system, as a pretext for developing Python projects (factory_boy, xworkflows, etc.).

    This year, he made a terrible mistake: he has decided to eradicate Python2 from all systems he touches!

    When he's not busy building code, he enjoys Lego, board games and recompiling his whole system.

    Designing and maintaining distributed systems 45mn

    As projects grow, they tend to mutate into complex, monolithic applications ; that's where the team splits them into loosely coupled modules talking over the network (a.k.a a service-oriented architecture).

    This talk will focus on a few key points for a successful "monolithic to distributed" transition:

    • Setting clean and logical boundaries between services
    • Providing a seamless integration to service users (SSO, merging views, ...)
    • Performing a smooth transition when a service turns remote
    • Choosing suitable protocols for communications (spoiler alert: avoid SOAP/XML :p)
    • Stubbing versus integration testing, tips and tricks
  • Richard Moch

    Richard Moch


    Long time web developper and Django user, I'm a beginner sailor.

    Open data on the sea shore 15mn

    Although data mining for the weather forecast and the sea is well known and organised, the availability to the general public or data mining by volunteers is recent. Sources are varied and may be issued from free software people or volunteer communities, public data or industry. This presentation will aim to draw up a balance sheet of available data, mainly in France and the Mediterranean sea and also what can be done with this data and perspectives within the context of sailing navigation.

  • Samuel Goldszmidt

    Samuel Goldszmidt


    Samuel Goldszmidt, computer engineer, in charge of IRCAM (France) web applications. I use Django for professional and personal projects. Beside that I also lead research projects involving emerging web audio standards.

    Migrate a web application to Django LT (5mn)

    This Lightning Talk address the issue of the migration of a web application (eg old PHP + database website) to the Django framework, by proposing a method and some good practices to avoid wasting time. This talk is for beginners.

  • Sneha Priscilla Makini


    A 22 year old software developer from Bangalore, India, I was initiated to open source as a Google Summer of Code 2012 student writing Python code for Systers, the worldwide mailing list for women in computing. Building on top of my new found knowledge, I continued my venture with GNU Mailman as a Google Summer of Code 2013 student under the Systers umbrella. During this project, I worked with Python and Django to create a user interface for mailing list settings. I would like to share my knowledge and experience gained over the past 2 years and inspire people to contribute to open source.

    I love Python, beautiful user interfaces and travelling. In my spare time, you'll find me reading a book, writing code or gardening with my grandparents.

    The Whys and Hows of using Django Formsets 15mn

    Are you having trouble choosing the right design approach for handling multiple forms on the same page? Do you end up writing large quantities of code to deal with a dynamically changing set of forms? If so, Django Formsets is the perfect life saver for you!

    Most new Django users are intimidated at the idea of Formsets and more often than not, this flexible feature goes unnoticed! This talk will cover the following topics: - Where exactly does one use Formsets and how? - Dealing with dynamically changing forms. - Views & Formsets. - What are the most common roadblocks and what to do about them?

    I will also cover how Formsets helped me code GNU Mailman's user settings management feature to handle mailing list settings for a multiple-users multiple-lists scenario.

  • Ustun Ozgur

    Ustun Ozgur


    Ustun Ozgur is a polyglot software developer living in Turkey. He is the lead developer at SellerCrowd, a NY-based startup whose main product is a growing Django project with tens of Django apps and dozens of models. His main interests are Django, JavaScript and Clojure.

    Inspired by the functional programming and Clojure community and specifically Rich Hickey, he is constantly seeking ways to introduce better programming paradigms into his daily work and combat complexity. He is equally well-versed in the client-side programming, which is undergoing a major transformation in the last few years. He believes that advances in client-side programming is disrupting the way server-side programming is and will be done, which means Django should either adopt as a server-side technology or fear extinction.

    Taming Complexity with Django 45mn

    In the influential paper "Out of the Tarpit", Moseley and Marks argues that "complexity is the single major difficulty in the successful development of large scale software systems". In this talk, we will analyze the major sources of "accidental" complexity a Django project faces over time, and what the major methods to deal with them are. The major tools we have in reducing complexity are reducing state and increasing abstraction skills.

    The talk will start with generally accepted methods in Django software development and touch on separating a project into multiple apps, relying on managers to implement collection level functionality, making use of decorators for cross-cutting concerns and adding methods to models (but bewaring the perils of fat models). We will discuss how to separate the roles of models with mixins so that functionality can be reused across models. We will discuss how functional programming techniques can be employed in a Django project to reduce complexity.

    In the second part of the talk, we will continue with another major source of complexity in Django applications: The JavaScript problem. No longer can we ignore JavaScript when discussing web projects and that covers Django too. We will briefly see how popular tools such as jQuery, Backbone and Angular try to solve this with increasing degrees of success, but do not attack the "state" problem as the major source of complexity. We will introduce Facebook's React library as the solution and how its functional programming inspired philosophy helps us to cope with this problem. We will show how this library can be used within Django in conjunction with a node.js renderer, whereby duplication of templates on server and client-side, a major source of complexity is reduced.

  • Xavier Dutreilh

    Xavier Dutreilh


    Xavier is a full stack web developer living in Paris, France. He is passionnate about the web since 1999 and created his first website in 2000. Since then, he studied computer science at university and worked on a ton of software projects for many old-fashioned organizations. Today, he works at Polyconseil where he leads the front-end development of Django applications.

    Web components in Django 45mn

    Django is by far one of the best frameworks to build web applications. However, it suffers from the lack of efficient tools to create good front-ends. So, we often end up writing a lot of ad-hoc codes without any methodology, and using a ton of ready-to-use libraries. Alas, this way of designing front-ends is a terrible idea and we need to engineer these things properly.

    In this talk, I will introduce you to the core concepts of web components and their suitability in modern web applications. Then, I will show you the methodology to build them and the tools that you need to use. Finally, I will describe you the process to integrate them into a Django project.

  • Xavier Fernandez

    Xavier Fernandez


    Python developper for 5 years now, I've started Django in december 2013 inside the Polyconseil dev team. First time speaker.

    Harness the speed of the wheel LT (5mn)

    A quick lightning talk to expose the configurations to use to speed up the creation of new virtualenvs. Typical example will be lxml. Basic install of lxml takes ~40 seconds which goes down to 4 seconds with the correct pip configuration.

  • Yann Malet

    Yann Malet


    Also known as yml, you can usually find Yann hanging around Django’s IRC channels. He contributes to a number of open source apps in the Django ecosystem. Yann is passionate about building well architected performant software.

    Yann has been working at Lincoln Loop since 2008.

    Challenges when building High profile Editorial Sites 45mn

    This talk will be a walk through the challenges encountered when building a high profile editorial sites. My goal is to present some of the common pitfalls we have encountered at Lincoln Loop and to explain how we solved:

    • Legacy migration always take longer
    • devops
    • Multiple environment
    • Easy deployment
    • Responsive design impacts the backend
    • Journey of an image
    • Picturefill.js
    • Danger of reusing published django applications
    • Caching strategy
    • Html fragment
    • Varnish

    Audience Decision maker that are going to rebuild their magazine Developer bidding for this kind of projects for the first time

Our sponsors