pre-release: PyCon CA meeting announcement

Please take a moment to review your details and reply with OK or edits.
Subject and below is what will go out and also will be used to title the videos.

Subject: 
ANN: PyCon CA at Main hall Sat November 10, 9p


PyCon CA
=========================
When: 9 AM Saturday November 10, 2012
Where: Main hall

None

Topics
------
1. Welcome to PyCon Canada
Diana Clarke

Opening Remarks, by Diana and others.
 recording release: yes license:   
 Video: http://www.youtube.com/watch?v=nPbxTew-DYY 
2. PyCon Canada 2012 - Saturday Morning Keynote
Jessica McKellar

TBD
 recording release: yes license:   
 Video: http://pyvideo.org/video/1560/saturday-morning-keynote 
3. Writing self-documenting scientific code using physical quantities
Trevor Bekolay

In high school science, we're taught to always include units in equations. Why not in scientific Python code? I'll show why and how to keep track of units in Python using real-world examples.
 recording release: yes license:   
 Video: http://pyvideo.org/video/1604/writing-self-documenting-scientific-code-using-ph 
4. HDF5 is for Lovers
Anthony Scopatz

HDF5 is a hierarchical, binary database format that has become a *de facto* standard for scientific computing.  While the specification may be used in a relatively simple way (persistence of static arrays) it also supports several high-level features that prove invaluable. These include chunking, ragged data, extensible data, parallel I/O, compression, complex selection, and in-core calculations. 
 recording release: no  

5. The SQLAlchemy Session - In Depth 
Mike Bayer

A detailed walkthrough of SQLAlchemy's Session, describing the rationale for its existence, its driving philosophies, and finally a walkthrough of Session lifecycle through the use of an animated diagram. We'll cover how the relational database refers to database rows within a transaction, and how the Session has over the years developed a tight, proxied integration with this lifecycle.  
 recording release: yes license:   
 Video: http://pyvideo.org/video/1600/the-sqlalchemy-session-in-depth 
6. MongoDB and Gene databases
vid ayer

Managing scientific data in the Bioinformatics domain is a complex process and this talk will introduce you to MongoDB used to enable datamining and processing of very large Gene datasets obtained from various sources.
 recording release: yes license:   
 Video: http://pyvideo.org/video/1583/mongodb-and-gene-databases 
7. A really, really, really, fast tour of WebDriver
adam goucher

WebDriver is actually not that complicated. No, really! If you know about Page Objects, synchronization and the JS Executor you can solve just about any problem. 20 minutes is not a lot of time, but we'll cover all three of those things. Honest!
 recording release: yes license:   
 Video: http://pyvideo.org/video/1562/a-really-really-really-fast-tour-of-webdriver 
8. Profiling for Performance
Mike Fletcher

We will discuss how to profile Python code, how to interpret profiles, and how (and how not) to use profiling to improve your code's run-time performance. We will look at both built-in and external tools (including RunSnakeRun and SnakeViz). We will also discuss the wider issues of how to approach optimization in your code base.
 recording release: yes license:   
 Video: http://pyvideo.org/video/1587/profiling-for-performance 
9. Network programming for automation developers
Mark Côté

Advice on how to design and implement networking code for use in automation: learn how sockets work, plan for and handle errors, and design effective protocols.
 recording release: yes license:   
 Video: http://pyvideo.org/video/1584/network-programming-for-automation-developers 
10. Introduction to Numerical and Scientific Computing with Python
David Warde-Farley

This tutorial will offer an introduction to numerical data processing and
scientific computing using Python. The tutorial will revolve around NumPy,
the fundamental package for scientific computing with Python, and introduce
users to its use not only in implementing numerical algorithms but in
interfacing with legacy systems and C libraries.
 recording release: no  

11. A Python Æsthetic: Beauty and Why I Python
Brandon Rhodes

Why did I start using Python in the late 1990s? Was it for any of the reasons that I remain a fan today? In this talk we will explore how Python, even while training us to avoid and become blind to its rough edges, works to teach us new ways of making programs beautiful. Even novices should learn new things to love about Python by listening to this talk!
 recording release: yes license:   
 Video: http://pyvideo.org/video/1599/a-python-sthetic-beauty-and-why-i-python 
12. Supercharge web application prototypes with the App Engine Python SDK
Vlad Filippov

The goal of this talk is to showcase how App Engine makes it exciting to prototype back-end services for larger projects. Creating such prototypes helps shape project requirements, develop datastores and improve testing coverage.   
 recording release: yes license:   
 Video: http://pyvideo.org/video/1597/supercharge-web-application-prototypes-with-the-a 
13. Hit the Flask and Get Some REST: Rewriting the Cloudant API in a Single Python Back End
Joan Touzet

Cloudant Engineer Joan Touzet will explain the design decisions that led the company to rewrite the supporting API layer to all its back-end systems in Python using the Flask microframework to create a unified, RESTful API.
 recording release: yes license:   
 Video: http://pyvideo.org/video/1606/hit-the-flask-and-get-some-rest-rewriting-the-cl 
14. Configuration management with ZooKeeper
Matthew Hooker

This talk is about Jones, a robust configuration management interface for Zookeeper. It will cover what ZooKeeper is, and how it works. I'll talk about the problems of configuration management and how it can be solved using the primitives available in ZooKeeper. If there's time I will go in to additional use cases of ZooKeeper.
 recording release: yes license:   
 Video: http://pyvideo.org/video/1567/configuration-management-with-zookeeper 
15. DynamoDB and DynamoDB-Mapper -- Building scalable Python applications with Amazon's NoSQL database
Maxime Noël

In January 2012, Amazon introduced DynamoDB, a NoSQL database service with seamless, linear scalability. How can we neatly integrate it in Python applications and address its shortcomings?
 recording release: yes license:   
 Video: http://pyvideo.org/video/1607/dynamodb-and-dynamodb-mapper-building-scalable 
16. Everything you wanted to know about deploying web apps on Windows but were too horrified to ask
Christopher Lambacher

Conventional wisdom says that no one deploys web applications on Windows. I
ship Python backed web sites on Windows that are cumulatively visited by 1 in
50 Canadians every month. This talk will cover my experience with deploying
Python based web applictions on Windows, why you might want to do this and and
the horrors in store for you if you choose to sacrifice your sanity and dive
in.
 recording release: yes license:   
 Video: http://pyvideo.org/video/1611/everything-you-wanted-to-know-about-deploying-web 
17. Lightweight Web Services with Pyramid
Tres Seaver

As more and more of the web experience moves into the browser, enabling acesss to your application's data via asynchronous HTTP calls is increasingly more important.  Pyramid is a lightweight web framework which has several features for serviing such queries easy.
 recording release: yes license:   
 Video: http://pyvideo.org/video/1582/lightweight-web-services-with-pyramid 
18. Avoiding The Search Hall Of Shame
Daniel Lindsley

Most pieces of modern software (web, desktop or otherwise) include that innocuous little text box with inviting word "Search" nearby. But behind it lies a torrid world of bad ideas, worse ideas & ideas no computer should be made to suffer. If you want to keep your good name & stay out of the hall of shame, this talk will give you a grounding on how to make the search in your software better.
 recording release: yes license:   
 Video: http://pyvideo.org/video/1559/avoiding-the-search-hall-of-shame 
19. Pyramid Layout: Composable UI/UX for Pyramid
Blaise Laflamme

Making attractive and efficient UI/UX is hard. Pyramid Layout provides a layout and panel based approach to building your global look-and-feel and reusable snippets. You can manage your global UX layout as a unit, just like models, views and templates using Pyramid idioms.
 recording release: yes license:   

20. GEvent + ZMQ
Michael Woodworth

GEvent + ZMQ
 recording release: yes license:   
 Video: http://pyvideo.org/video/1612/gevent-zmq 
21. Fail Faster, Fail Better
Meredith L. Patterson

Fail Faster, Fail Better
 recording release: yes license:   
 Video: http://pyvideo.org/video/1563/fail-faster-fail-better 
22. Distributed Programming in Python: A Model for Strong, Eventual Consistency
James King

Starting with the theory behind eventual consistency we'll dive into a practical toolkit, knockblock, for programming these types of systems.
 recording release: yes license:   
 Video: http://pyvideo.org/video/1570/distributed-programming-in-python-a-model-for-st 
23. Once you Scoop, no need to fork
Yannick Hold

The future is parallel. In this rapidly evolving parallel world, the scoop is that parallel programming can be much simpler, transparent and elegant. Introducing SCOOP, a new distributed task package allowing easy concurrent parallel programming on various environments. We propose a new way of handling distributed computing based on simplicity, beauty and the Future (see PEP-3148).
 recording release: yes license:   
 Video: http://pyvideo.org/video/1586/once-you-scoop-no-need-to-fork 
24. I Wish I Knew How to Quit You: Secrets to sustainable Python communities
Elizabeth Leddy

Plone is one of the oldest open source python communities still working today. Despite a decade of trials and tribulations, the community is stronger than ever thanks to a unique and persisted python subculture. 10 lessons over 10 years on building a great community.
 recording release: yes license:   
 Video: http://pyvideo.org/video/1579/i-wish-i-knew-how-to-quit-you-secrets-to-sustain 
25. Twisted History of Python Packaging
Mahdi Yusuf

Python Packaging has had a more than less than ideal evolution. This talk aims to clarify this evolution and where packaging is headed in the future. 
 recording release: yes license:   
 Video: http://pyvideo.org/video/1601/twisted-history-of-python-packaging 
26. from business import logic
Bogdan Chmielewski

Programmers generally spend their time heads-down crafting complex technical solutions, however advocating and communicating in the wider business context is often challenging. This talk uses a visual approach to describe how business managers think, with the goal of increasing your personal communication effectiveness.
 recording release: yes license:   
 Video: http://pyvideo.org/video/1572/from-business-import-logic 
27. Python development with Komodo IDE
Todd Whiteman

Todd Whiteman, the lead developer of ActiveState's Komodo IDE, will show you the best practices for creating, writing, debugging and deploying Python applications when using Komodo IDE.
 recording release: yes license:   
 Video: http://pyvideo.org/video/1590/python-development-with-komodo-ide 
28. SchoolTool
Douglas Cerna

SchoolTool is an FOSS student information system developed in Python using the Zope 3 framework. It has several basic components a teacher could use: gradebook, attendance, calendars, etc and some "advanced" ones like interventions and skill tracking. It's easily available in the Ubuntu Linux distribution.
 recording release: yes license:   
 Video: http://pyvideo.org/video/1565/schooltool 
29. Manipulating Photo Metadata in Python
Robert Park

I am the author of the brand-new Python3 bindings to the
gexiv2 library, which is as far as I am aware the best library for
manipulating photo metadata in python. Thanks to my work, I have
positioned gexiv2 as the replacement for pyexiv2 for people who are
trying to port their applications from Python 2 to Python 3. This is a
big deal because pyexiv2 may never support Python3.
 recording release: yes license:   

30. NINJA-IDE, an IDE specially designed for Python
Martin Alderete

One of the recurrent questions in all the Python communities around the world is: "What is a good IDE for Python?" As answer to that question NINJA-IDE born from a group of members of the Argentinian Python Community (PyAr). NINJA-IDE is an Open Source distributed under GPLv3 license, cross-platform, lightweight, powerful and full of features IDE.
 recording release: yes license:   
 Video: http://pyvideo.org/video/1585/ninja-ide-an-ide-specially-designed-for-python 
31. Using SendGrid Email APIs to Bring Your Eh? Game
Ian Douglas

This lightning talk will introduce SendGrid and its public Python library, and show several examples of sending simple transactional messages using our APIs. It will also introduce you to other available APIs we have available for retrieving/parsing stats, managing your profile, retrieving lists of delivery failures, and more.
 recording release: yes license:   
 Video: http://pyvideo.org/video/1602/using-sendgrid-email-apis-to-bring-your-eh-game 
32. Python and Kyotocabinet: Memory Mapped Storage
Evan Hicks

The problem of how to store and access data in real time is one with many different variations and flavours that applications today are trying to solve. One version of this problem is storing data in a way that optimizes for reading data, while sacrificing performance from writing data. One piece of software that Chango uses to solve this problem is Kyotocabinet. This is a memory-mapped, key ...
 recording release: yes license:   
 Video: http://pyvideo.org/video/1589/python-and-kyotocabinet-memory-mapped-storage 
33. Morning Messages
Diana Clarke

Morning Messages
 recording release: yes license:   

34. Sponsor Message
Diana Clarke

Alex will be talking.
 recording release: yes license:   

35. PyCon Canada 2012 - Sunday Morning Keynote
Michael Feathers

Michael Feathers was a Member of the Technical Staff at Groupon. Prior
to joining Groupon, Michael was the Chief Scientist at Obtiva, and a
Senior Consultant with Object Mentor International. Over the years,
Michael has spent a great deal of time helping teams alter design over
time in code bases. Michael is also the author of the book Working
Effectively with Legacy Code (Prentice Hall, 2004).




 recording release: yes license:   
 Video: http://pyvideo.org/video/1615/pycon-canada-2012-sunday-morning-keynote 
36. Python for Humans
Kenneth Reitz

Python’s ecosystem is held up to a high standard, but it falls short in a few key areas. A handful of crucial APIs are an absolute pain to work with. We’ll go over where these APIs went wrong and learn about strong and elegant API design. The high barriers to entry in Python will be discussed. Potential solutions will be proposed.
 recording release: yes license:   
 Video: http://pyvideo.org/video/1591/python-for-humans-0 
37. Python in your database
Steve Singer

Pl/Python is a stored function language for PostgreSQL that allows you to write database stored functions in python.
 recording release: yes license:   
 Video: http://pyvideo.org/video/1592/python-in-your-database 
38. Graph Databases in Python
Javier de la Rosa

Since the irruption in the market of the NoSQL concept, graph databases have been traditionally designed to be used with Java or C. With some honorable exceptions, there isn't an easy way to manage graph databases from Python. In this talk, I will introduce you some of the tools that you can use today in order to work with those new challenging databases, from our favorite languge, Python. 
 recording release: yes license:   
 Video: http://pyvideo.org/video/1575/graph-databases-in-python 
39. Server Log Analysis with Pandas
Taavi Burns

Use iPython, matplotlib, and Pandas to slice, dice, and visualise your application's behaviour through its logs.

 recording release: yes license:   
 Video: http://pyvideo.org/video/1593/server-log-analysis-with-pandas 
40. Beyond Passwords: Secure Authentication with Mozilla Persona
Dan Callahan

Persona is a decentralized, cross-browser login system that eliminates site passwords. Learn about its design with a focus on adding it to Python-based webapps, drawing from Mozilla's own experience.
 recording release: yes license:   
 Video: http://pyvideo.org/video/1566/beyond-passwords-secure-authentication-with-mozi 
41. Dancing with Big Data: Disco + Inferno
Tim Spurway &  Mazdak Rezvani

In our search for a better Map/Reduce framework we found Disco, an Erlang/Python based Map/Reduce framework that's small, fast, elegant, understandable. We needed a way to tame the power of Disco and that's when we came up with the Inferno project which takes even more complexity out of Map/Reduce. With Inferno you concentrate about what you want from your data and not the underlying complexity.
 recording release: yes license:   
 Video: http://pyvideo.org/video/1569/dancing-with-big-data-disco-inferno 
42. Horizontally Scaling Your Database with Django
Ash Christopher

When web apps reach a certain size, often their data footprint will outgrow what can reasonably be stored on a single database. Scaling your database horizontally by adding more servers is the dream but it can be a daunting task. This talk outlines the process I used to add horizontal scaling to Wave Accounting's infrastructure. 
 recording release: yes license:   
 Video: http://pyvideo.org/video/1576/horizontally-scaling-your-database-with-django 
43. Fast, Faster, Fastest: Getting the Best Performance From Python
Greg Ward

Find and fix your performance bottlenecks. Where should you spend your time so your users don't have to spend theirs waiting for your code? Topics covered: algorithmic complexity ("big O" notation); using the right algorithm for the job; profiling to find the hot spots; micro-optimization tricks; caching vs. computing; storage hierarchies; and when/how you should turn to C. 
 recording release: no  

44. Introduction to OpenStack
Sandy Walsh

OpenStack is a large python application being developed collaboratively with Rackspace, Red Hat, Canonical, Dell, HP, Intel, IBM, Citrix and a host of other companies. This application is the software that Cloud Computing is built on. It is a controller for massive farms of hypervisors. In this talk, you'll learn about the architecture and implementation of OpenStack.
 recording release: yes license:   
 Video: http://pyvideo.org/video/1581/introduction-to-openstack 
45. An Ember.js adapter for Django
Diego Muñoz Escalante

Ember is a JS framework based on established conventions that allows writing complex applications with a small amount of code. Ember-data is the component that connects this framework with a REST API. Unfortunately, the conventions followed by its community are not compatible with Tastypie, one of the most widely used Django libraries. This adapter makes all these technologies work together.
 recording release: yes license:   
 Video: http://pyvideo.org/video/1564/an-emberjs-adapter-for-django 
46. How to Solve a Problem Like Santa Claus
Andrew Francis

The Santa Claus Problem is a conceptually simple but notoriously tough concurrency problem. For 20 years, the problem has been used to highlight new concurrency features. Polyphonic C# sports an elegant solution using join patterns. I prototyped a version of join patterns for Stackless Python. Rather than hack Stackless Python's C code base, I use PyPy's stackless.py module and greenlets!
 recording release: yes license:   
 Video: http://pyvideo.org/video/1577/how-to-solve-a-problem-like-santa-claus 
47. Distributed, Real-time Web Apps with Stack.io
Gabriel Grant

Stack.io[1] is an open-source tool to quickly build real-time web apps. By directly linking clients to back-end services via WebSockets, Stack.io helps decompose complex code into a set of simple components in Python or Node.js. It augments standard RPC with bi-directional streaming, and provides a layer of auth and service discovery on top.

[1]: https://github.com/dotcloud/stack.io
 recording release: yes license:   
 Video: http://pyvideo.org/video/1571/distributed-real-time-web-apps-with-stackio 
48. Console Applications with Urwid
Ian Ward

Demonstration of some of the best Python console applications written
using Urwid:

* bpython-urwid
* videotop
* alot
* turses
* hachoir-urwid
* speedometer
* pudb
 recording release: yes license:   
 Video: http://pyvideo.org/video/1568/console-applications-with-urwid 
49. How you can contribute to Python
Éric Araujo

Did you know that you could contribute to Python?  From documentation
work to patch reviews to new features to blogging, there are a number of
ways you can give back to Python.  This talk for beginners will walk you
through these ways with concrete demonstrations.
 recording release: yes license:   
 Video: http://pyvideo.org/video/1578/how-you-can-contribute-to-python 
50. Programmatically Managing Python Workloads Across Multiple Clouds
Chayim Kirshen

This talk covers using Python to initiate change on the infrastructure side; we'll discuss on great tools like Django, libCloud, and Celery.  We will focus on node creation and destruction within multiple clouds, as well as the frameworks used to achieve this.
 recording release: yes license:   
 Video: http://pyvideo.org/video/1588/programmatically-managing-python-workloads-across 
51. Testing Django with Travis CI
Adam McKerlie

In this talk, aimed at novice Python and Django developers, we'll have a look at getting started with testing your Django applications, how to properly write your first test case and then moving to automated testing with Travis CI.
 recording release: yes license:   
 Video: http://pyvideo.org/video/1598/testing-django-with-travis-ci 
52. Speed Up Your Database
Anna Filina

Are your queries slow? Learn how to speed them up through better SQL crafting and use meaningful indices. Attendees will understand what works well and what doesn't, and will walk away with a checklist for faster databases.
 recording release: yes license:   
 Video: http://pyvideo.org/video/1594/speed-up-your-database 
53. Integrating Geocode Data  with Python
Karen Bennet

This talk will showcase the integration of Google Map API, Maptronics and OpenStreetMap Data with Python in the context of a reuse store locator module. We will show you the basics of how to setup your project and what you need to know about rendering maps, parsing and importing the data, etc. in Python. Python is the best language for doing GIS.
 recording release: yes license:   
 Video: http://pyvideo.org/video/1580/integrating-geocode-data-with-python 
54. Gevent-socketio, cross-framework real-time web live demo
Alexandre Bourget

gevent-socketio is the cross-framework python implementation of the Socket.IO protocol, based on Gevent's cooperative concurrency model. Alexandre Bourget is the maintainer of the project.

In this talk, we're going to have a live demo of its capabilities building Google Analytics in 45 minutes, with some AngularJS on the front-end, and other cool integrations.

Black chocolate will await you.
 recording release: yes license:   
 Video: http://pyvideo.org/video/1573/gevent-socketio-cross-framework-real-time-web-li 
55. Success Rate of Technology Projects
Dimitri Gnidash

Why do some projects fail and some succeed? Is it about technology and quality of developers? 
I will be advocating that the success or failure of a given technology project will be dependent on factors frequently outside of control of development team.
 recording release: yes license:   
 Video: http://pyvideo.org/video/1596/success-rate-of-technology-projects 
56. GPIO on the Raspberry Pi
Bonnie King

GPIO on the Raspberry Pi with Python.


 recording release: yes license:   
 Video: http://pyvideo.org/video/1574/gpio-on-the-raspberry-pi 
57. Wilderness Labs
Albert O'Connor

Lessons learned and inspiration from developing Django applications
quickly in isolated locations via Wilderness Labs and other zero
budget projects.
 recording release: yes license:   
 Video: http://pyvideo.org/video/1603/wilderness-labs 
58. Statistical Data Exchange and Publishing - an introduction to SDMX and DSPL
Ram Venkat

In the era of big data analytics it makes even more sense to have efficient and standardized way of exchanging, sharing and publishing statistical data. This talk explores two such mechanisms - SDMX , a standard for exchange of statistical data  for national statistical organizations and Google's DSPL that allows data to be published to Google Public Data Explorer.
 recording release: yes license:   
 Video: http://pyvideo.org/video/1595/statistical-data-exchange-and-publishing-an-int 
59. A Pure Python Genetic Algorithms Framework
Ashwin Panchapakesan

Genetic algorithms are a class of evolutionary algorithms, which have been around since the mid 1950s. Since then, a lot of study has been done on these algorithms, using them to solve various different types of problems. While many frameworks exist to help develop and run evolutionary algorithms, mine is aimed at simplicity for the user to create a program to execute an evolutionary algorithm
 recording release: yes license:   
 Video: http://pyvideo.org/video/1561/a-pure-python-genetic-algorithms-framework 
60. Science And Python: retrospective of a (mostly) successful decade 
Fernando Pérez

(Needs description.) 
 recording release: yes license: CC BY-SA  
 Video: http://pyvideo.org/video/1605/science-and-python-retrospective-of-a-mostly-s 
61. Closing Messages
Diana Clarke
David Wolever
Nicola Yap
 Michael DiBernardo
 Kay Zhu
 Taavi Burns
 Daniel Langer
 McCormick
Carl Karsten
 Laura Power


(Needs description.) 
 recording release: yes license: CC BY-SA  
 Video: https://www.youtube.com/watch?v=YMjTZNv7Y48 


Location
--------
Main hall


About the group
---------------