PyCon CA 2012
PyCon Canada is an initiative to strengthen the Canadian Python community.
Our main goals:
Support the efforts of Montreal Python as they prepare to host PyCon North America in 2014 and 2015. This is the first time that the main PyCon conference is going to be outside of the US. Let's take this opportunity to showcase the Canadian Python community, and step up to the challenge as speakers and volunteers. Strengthen the Canadian Python community by providing more opportunities for us to share knowledge and ideas, encourage support and education for speaking at conferences, and increase the visibility of developers, organizations, and companies within the community. Host an annual Canadian PyCon conference, starting now - 2012!
PyCon Canada is entirely run by volunteers who are passionate about these goals. We hope to see you at the 2012 conference!
- November 9, 2012
- Number of videos:
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.
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
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.
Demonstration of some of the best Python console applications written
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.
Stack.io1 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.
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.
GPIO on the Raspberry Pi with Python.
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.
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.
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!
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.
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.
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.
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.
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.
Pl/Python is a stored function language for PostgreSQL that allows you to write database stored functions in python.
The relation between Python and scientific work is a long one, and in the last 10+ years it has turned into a major success story. I will review this process from the vantage point of IPython’s role, and will look into the challenges ahead for Python to remain a leader in this space.
Use iPython, matplotlib, and Pandas to slice, dice, and visualise your application's behaviour through its logs.
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.
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.
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.
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.
Lessons learned and inspiration from developing Django applications
quickly in isolated locations via Wilderness Labs and other zero
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!
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!
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.
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.
Starting with the theory behind eventual consistency we'll dive into a practical toolkit, knockblock, for programming these types of systems.
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?
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 applications 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.
Fail Faster, Fail Better
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.
GEvent + ZMQ
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.
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.
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.
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.
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.
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.
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).
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.
Jessica is a veteran open source contributor and a maintainer for several open source projects, including OpenHatch and the Twisted event-driven networking engine; she wrote a chapter on Twisted for The Architecture of Open Source Applications Volume II and is working with O'Reilly on a new edition of Twisted Networking Essentials. Jessica is a Python Software Foundation board member and an organizer for the largest Python user group in the world.
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 ...
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.
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.
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.
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.
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.
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.
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.