PyCon Ireland 2011
Dublin, Oct 8-9

Schedule

Saturday 8th October 2011

NOTE 1: Registration starts at 08:30. After dinner, the bar is open till 12:30am.
NOTE 2: Beginner's Track all day at Goldsmith's Hall 3
Time Goldsmith's Hall 3 Goldsmith's Hall 2 Goldsmith's Hall 1
08:30 - 09:00 Breakfast / Registration
09:00 - 09:30
09:30 - 10:00 Keynote: Damien Marshall
10:00 - 10:30
10:30 - 11:00 Introduction to Python Do-It Yourself Web Framework Introduction to SciPy
11:00 - 11:30 What's the Scoop with Python 3? Python vs JLizard.... a python logging experience.
11:30 - 12:00 The Secret to Coding Till Old Age: RSI And Its Prevention Object Orientation vs. Functional Programming in Python
12:00 - 12:30 Introduction to Erlang for Python Programmers Web-service based Mobile Geospatial Application Development using Python
12:30 - 13:00 Lunch
13:00 - 13:30
Time Goldsmith's Hall 3 Goldsmith's Hall 2 Goldsmith's Hall 1
13:30 - 14:00 Web programming with Django Introduction to MongoDB & PyMongo Google App Engine in 40 minutes (the absolute essentials)
14:00 - 14:30
14:30 - 15:00 Testing Utopia Kingdoms scaling case. From 4 users to 50.000+ The Larch - a visual interactive programming environment
15:00 - 15:30
15:30 - 16:00 Break
16:00 - 16:30 Documentation The Art Of Subclassing Building a high performence Django website
16:30 - 17:00 Deployment Recruiting Session
17:00 - 17:30 Lightning Talks
17:30 - 18:00
18:00 - 18:30 Keynote: What makes Python awesome
18:30 - 19:00
19:00 - 19:30 Dinner
19:30 - 20:00

Sunday 9th October 2011

NOTE: Only delegates with badges can attend tutorials. Sprints and Open Spaces are open for all.
NOTE 2: Beginner's Track all day at Field Suite 1
Time Field Suite 1 Swift Suite 1&2 Field Suite 2
11:00 - 11:30 AppEngine Sprint Open Space
11:30 - 12:00
12:00 - 12:30 Tutorial (60)
12:30 - 13:00
13:00 - 13:30 DIY Lunch
13:30 - 14:00
14:00 - 14:30 Introduction to SQL DBs Sprint Open Space
14:30 - 15:00 Introduction to NoSQL
15:00 - 15:30 Getting set up and running with Buildout, Pyramid and MongoDB Sprint Open Space
15:30 - 16:00
16:00 - 16:30 Web2Py Sprint Open Space
16:30 - 17:00 Beginning PyQt

Recruiting Session

Are you looking for a job? Are you a company looking to hire? Here's your opportunity at PyCon Ireland's Recruiting Session.

How this works?

Each company/candidates will have time to briefly talk about themselves.
Then candidates will hand in their resumés to the company representative and have a short chat about opportunities. Because of time constraints, there won’t be actual time to have a full job interview at the session, but it’ll allow both parties to know each other

Tutorials

Tutorials offer the opportunity to learn about new topics, or to brush up on existing skills. They are also a good place to come with those burning questions you've had, the later portions of the tutorials will be more advanced. In order to fully participate you should bring your own laptop to follow along.
In addition to the formal tutorials people can organise more ad-hoc sessions in the Open Spaces.

AppEngine

Instructor
Seán Murphy
Length
60 minutes
Seán will give an introduction to AppEngine with Python.

Beginning PyQt

Instructor
Vimalkumar Velayudhan
Length
30 minutes
Introduction to PyQt.

Deployment

Instructor
Rodrigue Alcazar
Length
30 minutes
Introduction to deployment in Python. Enabling continuous delivery for a django project, or something along those lines. Covering virtualenv, pip, fabric, buildbot/jenkins, puppets, hg/git.

Documentation

Instructor
Michael Twomey
Length
30 minutes
Michael will give an introduction to documentation with Python.

Getting set up and running with Buildout, Pyramid and MongoDB

Instructor
Diarmuid Bourke
Length
60 minutes
Setting up a development environment for a new web project is an annoyance most developers would rather avoid (and most do). Diarmuid will show you how he manages his projects from the very beginning, right up to when he deploys. This will cover the basics of source control and how you can use buildout to manage your dependencies and configuration. This will be demonstrated using Pyramid and MongoDB to develop a simple application that you can reuse in your own projects.

Introduction to NoSQL

Instructor
Vishal Vatsa
Length
30 minutes
Vishal will give an introduction to NoSQL databases with Python.

Introduction to Python

Instructor
Ayman Hourieh
Length
120 minutes
Ayman will give an introduction to Python. Reference: http://code.google.com/edu/languages/google-python-class/

Introduction to SQL DBs

Instructor
Karl Stanley
Length
30 minutes
Using python with mysql, postgres, SQL Server. Connecting to the database. Parameterising SQL queries. Reading result sets. O/R mappers - django and sqlalchemy.

Processing Web Data with Python

Instructor
Michael Hausenblas
Length
60 minutes
CANCELLED -- Web data, from plain old CSV files to Schema.org-enabled microdata is a hot and emerging topic. We want to process, merge, integrate, consume, data from different data sources in our Web applications - be it from Open Government Data sites or product listings by companies. But how do we do this in Python, and what does Web data offer over heavy-weight systems such as SOAP Web-services?

Testing

Instructor
Sean O'Donnell
Length
60 minutes
A beginners guide to unittest2.

Web programming with Django

Instructor
Steve McConville
Length
60 minutes
Steve will give an introduction to web programming with Django.

Web2Py

Instructor
Gianfranco Palumbo
Length
30 minutes
Introduction to Web2Py.

Open Spaces

What Is An OpenSpace Conference?

OpenSpace is a simple methodology for self-organizing conference tracks. It relies on participation by people who have a passion for the topics to be discussed. There is no preplanned list of topics, only time slots and a space in the main meeting room where interested participants propose topics and pick time slots.
For the entire duration of PyCon Ireland we've set aside an entire track for OpenSpace sessions.

How OpenSpace Works

OpenSpace is a small set of rules that allow groups of people to interact in a simple, productive, organized way to create valuable dialogs that address the participants' most important issues.
The Fundamental "Rules" of the sessions that happen during OpenSpace conferences are:
  • Whoever shows up is the right group
  • Whatever happens is the only thing that could have
  • Whenever it starts is the right time
  • When it's over, it's over.

To lead an OpenSpace Talk

  • Come up with an interesting topic and title for your discussion.
  • You don't need to develop these before the conference; most of the ideas will come to you during the event.
  • Fill out a schedule Post-It for your topic.
  • Place the topic on the schedule.
  • If you see topics that have something in common, consider combining them into a single time slot.
  • If a significant number of people want to attend your discussion and another discussion in the same time slot, try to trade into another time slot to ensure maximum dialog and participation.

To attend an OpenSpace Talk

  • Check the schedule and sign up for a talk or just drop in if you wish.
  • Use the 'Law of Two Feet.' If you feel that you are not contributing or benefiting from a presentation, please feel free to move on to something else.
  • Allow the discussion convener to steer his or her topic. If you have an opposing opinion that needs a full time slot you should feel free to add your own OpenSpace slot to discuss the topic.

Sprints

Development sprints take place from 11:00 on Sunday 9th October in the Radisson Blu Royal Hotel. They are open to everyone, not just conference participants.
Development sprints are traditionally a key part of PyCons, a chance for the contributors to open-source projects to get together face-to-face for up to four days of intensive learning and development. Newbies sit at the same table as the gurus, go out for lunch and dinner together, and have a great time while advancing their project.

What is a sprint?

Basically, a sprint is a time set aside for developers to come together and focus their undivided attention on improving an open source project. The PyCon Ireland sprint is a day of intensive learning and development; a focused, sustained time to test, fix bugs, add new features, and improve documentation.
PyCon provides the space and infrastructure (network, power, tables & chairs); you bring your skills, humanity, and brainpower (oh! and don't forget your computer).

Who can participate?

Anyone! All experience levels are welcome; sprints are a great opportunity to start contributing to your favourite Python project.
Participation in the sprints is free!

Can I host a sprint?

Yes, check with STAFF member where you can add your sprint on the day.
(See http://us.pycon.org/2011/sprints/ for the original sprint guide.)

Questions?

If you have more questions, please feel free to contact the sprint coordinator, [TBD].

Talks

[Keynote] Damien Marshall

Speaker
Damien Marshall
Length
60 minutes
Level
Beginner

Damien will discuss how Python is a crucial component to the success of Demonware. Using case studies of services developed for shipped games, he will explain how and why Demonware first embraced Python as one its core technologies, and how Demonware continues to use it to develop services that can scale to handle tens of thousands of requests per second with millisecond request response times.

[Keynote] What makes Python awesome

Speaker
Raymond Hettinger
Length
60 minutes
Level
Beginner
In a world of many programming languages, the popularity of Python continues to grow without bound. We examine what makes it special and how it influences the way we program:
  • what gives python its texture and feel
  • what features support rapid development
  • where does the readability come from
  • what features support economy of expression
  • look at the mix of lightweight tools and industrial grade tools
  • how easy is it to learn python? how hard is it to master
  • what can python do that other languages can't
  • what is the role of the python community
  • why does the license matter
  • does python just have zen or is there a python attitude?

Building a high performence Django website

Speaker
John Moylan
Length
20 minutes
Level
Beginner, Intermediate, Advanced
Presentation outlining RTE.ie's Django infrastructure, how it was designed, benchmarks. Plus presentation on building a high performance, highly available, scale-able infrastructure. Observations regarding Django administration etc.

Do-It Yourself Web Framework

Speaker
Michael Kerrin
Length
20 minutes
Level
Beginner
Michael will cover the basics of WSGI, WebOb and Paste as a basis for a web framework in the style of http://docs.webob.org/en/latest/do-it-yourself.html. He will show simple working code that shows the fundamentals of a view and how to configure a web application within this small simple ecosystem. He will also touch on WSGI middleware and what you can do with it.

Google App Engine in 40 minutes (the absolute essentials)

Speaker
Paul Barry
Length
40 minutes
Level
Beginner
This talk covers just the stuff needed to get you up-to-speed with Google App Engine and its associated technologies (based on the Python run-time, of course). In addition to a bit of talking, Paul will also demo a working webapp built and deployed on the App Engine cloud... all in 40 minutes.

Introduction to Erlang for Python Programmers

Speaker
Paul Barry
Length
40 minutes
Level
Beginner
What is Erlang? Why it is important? Why should Python programmers learn Erlang? How is Erlang different? How is Erlang the same? These and other questions will be answered during this talk, as well as this one: Should Erlang be the new programming language you learn this year?

Introduction to MongoDB & PyMongo

Speaker
Brendan McAdams
Length
45 minutes
Level
Beginner
MongoDB is a scalable, high-performance, open source, document-oriented NoSQL database. It features document-oriented, JSON-based document storage and dynamic schemas providing simplicity, power and flexibility, combined with full indexes similar to what a traditional RDBMS user would expect. MongoDB also provides solid replication & high availability features as well as an auto-sharding system for transparent horizontal scalability.
This talk introduces MongoDB for developers who aren't familiar with it with a detailed introduction of how to work with MongoDB from Python. This talk will cover the basics from installing pymongo and connecting to mongodb to creating, inserting, querying for, and updating documents. We will also briefly touch on aggregation, geospatial indexes, GridFS and running database commands. Some discussion will take place about useful integration points between Python + MongoDB such as using MongoDB as a caching system with the Beaker Caching API.

Introduction to SciPy

Speaker
Vishal Vatsa
Length
30 minutes
Level
Beginner
Brief intro to SciPy covering NumPy, Matplotlib and iPython.

Object Orientation vs. Functional Programming in Python

Speaker
Tendayi Mawushe
Length
30 minutes
Level
Intermediate
Python is a multi-paradigm language meaning it supports different programming styles, Object Orientation and Functional Programming being the major ones. However choice is not always a good thing, if you are interested in writing modular programs that are easy to maintain and promote code reuse what should you do? This talk discusses modularity in this context looking at Python's support for both paradigms, comparing and contrasting them. We then look at Python techniques and tools that bridge the perceived impedance mismatch between Object Orientation and Functional Programming.

Python vs JLizard.... a python logging experience

Speaker
Trevor Parsons
Length
20 minutes
Level
Intermediate
The presentation will give a general overview of logging and why it is becoming more important for cloud based systems. In particular it will focus on limitations in PAAS logging infrastructures and will outline how more powerful logging can be achieved on python platforms such as app engine giving details on python/app engine plug in libraries that have been developed. The talk will also outline how JLizard has made wide use of python as part of its log management as a service technology (Logentries.com).

The Art of Subclassing

Speaker
Raymond Hettinger
Length
60 minutes
Level
Intermediate, Advanced
All problems have simple, easy-to-understand, logical wrong answers. Subclassing in Python is no exception. Avoid the common pitfalls and learn everything you need to know about how subclass in Python.
  • Overriding and extending
  • Calling your parents
  • The ellipse / circle problem -- what does a subclass mean?
  • Liskov Substitution Principle
  • Open Closed Principle
  • The facts of life when subclassing builtin types
  • How to Implement Cooperative Multiple Inheritance
  • A example of perfect and simple python diamond
  • Beware the Concrete C API

The Larch - a visual interactive programming environment

Speaker
Geoffrey French
Length
60 minutes
Level
Intermediate
The Larch Environment is a visual interactive programming environment for Jython/Python, that makes programming more visual. Its is designed for the creation of visual interactive programs, and programs that operate as interactive technical literature. To this end, protocols for presenting objects visually have been devised. An active document based programming environment builds on the edit-run-debug cycle of a standard console, allowing a programmer to experiment with ideas, and develop visual programs at the same time. Additionally, a way of embellishing source code with visual content is presented.

The Secret to Coding Till Old Age: RSI And Its Prevention

Speaker
Yoke Wong
Length
30 minutes
Level
Beginner
Most people are not aware of how debilitating RSI is. In fact, some may not even know what RSI stands for; it is an abbreviation for Repetitive Strain Injury. The term RSI is generally agreed as an umbrella term for a number of upper limb disorders. In 2006, nearly half a million people in the UK suffered from some form of RSI and the number is increasing. Programmers spend increasing amount of time using computers with little breaks, and often in bad posture and unsuitable work station setting, which cause them to be highly susceptible to RSI. This talk will reveal the cause and effect of RSI, its prevention and cures.

Utopia Kingdoms scaling case. From 4 users to 50.000+

Speaker
Jaime Buelta
Length
45 minutes
Level
Beginner
Describing the real life case of Utopia Kingdoms, an online game. The game had initially problems scaling on production environment and had to be greatly refactored to support large number of players. This includes use of caching, profiling, queuing system and the migration of database from Amazon SimpleDB to MongoDB

Web-service based Mobile Geospatial Application Development using Python

Speaker
Junjun Yin
Length
15 minutes
Level
Beginner, Intermediate
As the development of mobile technology keeps marching forward, a noticeable trend of integrating location- and orientation-aware sensors (i.e., GPS receiver, digital compass, and accelerometer) into today’s smartphones has significantly promoted the development of mobile Location Based Services (LBS). At the same time, geospatial information is increasingly recognized as the common denominator in both today’s “Web 2.0” peer-to-peer social network era and tomorrow’s “Web 4.0”. As a result, embracing the growing rich spatial resources and adopting them for the mobile geospatial application development is essential. However, considering the large amount spatial data for processing and the physical limitation of today’s mobile devices in relation to battery power, CPU speed and data storage etc., it is nearly impossible to accomplish all computation intensive tasks efficiently on the device itself. Therefore, client-server architecture is usually a preferred option where the mobile devices act as clients sending requests and receiving responses whilst the calculation modules are wrapped and delivered in the form of web services. In this case, on the server side, the geospatial applications can take advantages of the capability of a variety of spatial databases back-ends, including spatial indexing, searching and retrieving. There are now a variety of Python modules, libraries and open sources etc. available for fast constructing and deploying web services for mobile geospatial applications. This talk attempts to give an introduction on using Python for building RESTful web-services for mobile geospatial application development, including back-end spatial database access and spatial information retrieval.

What's the Scoop with Python 3?

Speaker
Paul Barry
Length
30 minutes
Level
Beginner, Intermediate, Advanced
At PyCon Ireland 2010, Paul described his experience of working with Python 3 in creating O'Reilly's Head First Programming and Head First Python (both of which target Python 3). As a big fan of Python 3, Paul suggested that all Python 2 programmers needed to at least try Python 3 as soon as was practical, if not embrace it for all "new" work. In this talk, Paul provides an update on the current status of Python 3 and discusses the community's adoption (or lack of) the latest version of the Python programming language, talking about what has changed in the year and a bit since last year, as well as describing his own experience of working with Python on recent consultancy projects.

Sponsors

Diamond

Platinum

Gold

Silver

(*Sponsors of Tea/Coffee)

Conference Room

In Kind