by Naomi Ceder
"How you can become involved in the wider Python Community, and why you would want to."
This talk will focus on involvement in the Python community and what that means - in particular the many personal, social, and professional benefits that flow from involvement in a community like ours.
I will also explain what the Python Software Foundation does, what its goals and purpose are, and how we have changed the PSF so that everyone in the community can take part to help build an even better Python community. This will include specific explanations of the new membership model and how active contributors (both in terms of code and community organisation) can become full voting members of the PSF.
I will also touch on our strengths, like our commitment to safe and inclusive spaces and our devotion to education, and also look at some of the challenges we face as a community going forward.
This workshop is to provide an introduction to animation with Blender and also to show how to update the blender interface using Python. No knowledge of animation and blender is required. Familiarity with python is required. The the various features of Blender and also some basic animation will be covered. Python scripting capabilities available in Blender will be explored along with the API documentation. The workshop materials would be made available offline with some extra resources for later reference. It is recommended to bring along a mouse preferably one having a scroll-wheel. Check the system requirements for blender available at http://www.blender.org/download/....
by Jonathan Frawley
This talk will focus on the design, implementation and evaluation of an open source python ORM for redis : redact-py.
It will look at some reasons to use redis over other SQL and noSQL alternatives. Interesting properties such as atomicity, transactions and data structures and how these were translated to the ORM will also be discussed.
Jonathan is a developer at PageFair. He enjoys hacking on python, C and scala in his spare time and taking part in game jams.
While you write user acceptance tests you describe the way you want the application to behave.
Writing the documentation is explaining how the application behaves so as to learn how to use it.
What if from good requirements we could infer part of the documentation ?
More complete abstract available at http://python-thoughts.blogspot....
by Larry Hastings
You’ve heard about Python’s GIL. But what is it really? What does it do, both good and bad?
Come learn all about the Python GIL. You’ll learn about its history, all the problems it solves, all the problems it causes (that we know about!), and what it would take to remove the GIL.
Attendees should be familiar with the terrors inherent in multithreaded programming, and be comfortable with a little C code in the slides.
by Eoin Brazil
MongoDB is a flexible, scalable, and ease to use way of storing your large data set. Python provides many useful data science tools (e.g. NumPy, SciPy, Scikit-learn, etc.). Unfortunately, they don't work well together, one of the bottlenecks is the inefficiency of loading MongoDB data into NumPy array.
This talk will discuss the concerns for creating operational data analytic pipelines, introduce Monary as alternative for loading data into NumPy, and give examples of accessing data with Monary, as well as how to build scalable data analysis pipelines using these open source tools.
by Damian Gordon
This tutorial covers a beginners introduction to Python.
The Django and Python communities can change lives and have changed many lives including my own. I’ve been running the Your Django Story interview series on the Django Girls blog for over a year now. So far I featured 70 amazing women who work with Django. In my talk, I will present our interview series and share 8 Django Tales, stories of 8 inspiring women whose lives were changed by learning Python and Django and becoming involved in the Python and Django communities. I will also share what you can do to help Django Girls grow even more.
If you’d love to hear inspiring Django Tales, this is the right talk for you :)
by Bargava Raman Subramanian
In fields like computer vision, speech recognition and natural language processing, deep learning has produced state-of-art results. And they are showing lot of promise in other fields too.
This workshop will provide an introduction to deep learning. It would cover some of the common deep learning architectures, advantages and concerns through a lot of hands-on.
The workshop will cover the following:
1) What is deep learning?
2) Motivation: Some use cases where it has produced state-of-art results
3 Building blocks of Artificial Neural Networks
3) Supervised learning (multi-layer perceptron, deep convolution networks, recurrent neural networks )
4) Unsupervised learning (autoencoders) time permitting
5) Impact of GPUs (Some practical thoughts on hardware and software)
6) Hands-on modeling : a text classification problem. Image classification problem would be covered depending on time.
The data and software requirements are posted onto the github repository. The repository for this workshop:
Please install them prior to the workshop.
A) What should be the ideal background of the attendee?
Ideally, participants should've read up about the following things about machine learning:
1) What is machine learning
2) Supervised and unsupervised learning
3) What is bias and variance
5) Should have some Python experience to follow the hands-on.
B) Do I need GPU? All the codes are meant to run on a 4 GB RAM machine. The workshop assumes no GPU on the attendee's laptop. If there's stable internet in the workshop room, we would use www.terminal.com to do the GPU part of the code.
C) Do you support Windows machine? We haven't used Windows in a while and so, would prefer Linux/Mac. If you have a Windows machine, we strongly recommend you to install a Linux VM and follow the instructions on the repo to install the requirements.
D) Do I need to know Python? The workshop assumes the attendee has atleast a limited working knowledge of Python. The attendee should've had programming experience(in some language).
by Conor Lynch
An introduction to machine learning on small scale datasets – identifying Irish farmers who plant forests on their farms.
The purpose of this talk is to illustrate the differences between explanatory modelling (classical statistics) and predictive modelling (machine learning) as these two approaches are often conflated. The scikit-learn machine learning library was used to classify Irish farmers who planted forests on their land. The dataset was relatively small providing data on 799 Irish farmers and approximately 135 different variables. Prior to classifying farmers, irrelevant and redundant variables were removed from the dataset using a feature wrapper technique which improves the predictive power of models. This illustrates the power of machine learning for inductive analysis by uncovering previously unknown relationships between variables (features). As the Ipython notebooks were computationally demanding the final code was run on gaia, a high performance computer within UCD using runipy. Earlier versions of the Ipython notebooks were run on Amazon EC2 using StarCluster which makes high performance computing available to the general public at reasonable cost.
We all use existing decorators all the time (athough Python 3.5 is overloading the @ symbol, which will likely confuse a lot of us ol' timers). However, writing a decorator ourselves can sometimes be daunting. This talk/tutorial walks through an example case study which demonstrates when to create a decorator (and why), and proves - all being well - that decorators aren't all that scary afterall.
by David Brodigan
The goal is to give the audience a roadmap for analysing user data using python friendly tools.
I will touch on many aspects of the data science pipeline from data cleansing to building predictive data products at scale.
I will start gently with pandas and dataframes and then discuss some machine learning techniques like kmeans and random forests in scikitlearn and then introduce Spark for doing it at scale.
I will focus more on the use cases rather than detailed implementation.
The talk will be informed by my experience and focus on user behaviour in games and mobile apps.
by Paul Logston
This talk is about building an Arduino driven Electrocardiograph (EKG) machine. The majority of the talk will be focused on the Python wrapper used for streaming bytes from the Arduino. This wrapper has undergone a number of revisions, each revision having a lesson to teach about IO in Python 3.
by Paul O'Grady
Theano is a Python library that allows you to define, optimize, and evaluate matrix expressions efficiently.
Theano is used to build large-scale Machine Learning systems ---in particular Deep Learning Networks---and targets operations to GPU hardware, which achieves significant performance improvements over the same operations performed on a CPU (say using Numpy).
In this talk I will present an overview of the Theano library and introduce its main features using some simple examples.
by Johannes Ahlmann
You have heard the hype about Apache Spark using Python, and would like to learn more?
Distributed Computing is becoming more and more prevalent with the rise of big data, multicore processors and scale-out architecture.
This talk will give an introduction to Parallel Programming using Apache Spark and Python, how you can leverage it in you day-to-day programming, and the core Functional Principles that are making it scale.
by Peadar Coyle
The World Cup of Rugby is on. Join me as I talk about how you can use Python and the PyData stack to gain insight into Rugby.
I've a case study from the Six Nations last year, where I leveraged Bayesian Statistics to extract insight.
I'll also give other examples of the power of PyMC3.
I've given similar talks in the past but I'll revamp this one for the format of PyCon. And I'll probably share my case study for the World Cup predictions!
During my last CPython sprint, I started to contribute to the CPython code, and I wanted to understand the beast.
In this case, there is only one solution, trace the code from the beginning. From the command line to the interpreter, we will take part to an adventure.
The idea behind is just to show how CPython works for a new contributor to CPython
This is a workshop to explain what rdf is, how it adds meaning to data and how it helps scale data to the size of the web. Specific tops covered will be converting tabular data to linked data, exposing linked data restfully and querying restful endpoints with SPARQL.
by Pierre Denis
The talk aims at introducing Lea, an open-source Python library dedicated to probabilities and probabilistic programming (PP).
The main concepts of Lea and PP shall be presented. The basic idea is to model some uncertain reality and to make queries on this model. Many simple examples (coins, dice, ...) shall be presented, covering probability distributions, conditional probabilities and Bayesian reasoning. The talk shall also introduce Leapp, a basic PPL that extends Python syntax to ease the usage of Lea.
If time allows it (50 min), some part of Lea implementation shall be sketched; the original ""statue"" algorithm based on Python's generators shall be presented.
As prerequisites, only basic knowledge of probabilities is required (no obscure maths!). One of the goal of Lea is to be easy to use, by hiding as much as possible the complexity of probability theory.The talk is meant to follow this principle.
Lea site: http://code.google.com/p/lea
by Steve Holden
Steve discusses his experiences using the IPython (now Jupyter) notebook for various purposes, demonstrates some of the notebook's more advanced features and explains how to create trouble-free installations using Continuum IO's conda and miniconda distributions. The presentation will include live demonstrations and examples of advanced coding from several different disciplines.
by Mike McKerns
Highly-constrained, large-dimensional, and non-linear optimizations are found at the root of most of today’s forefront problems in statistics, quantitative finance, risk, operations research, materials design, and other predictive sciences. Tools for optimization, however, have not changed much in the past 40 years -- until very recently. The abundance of parallel computing resources has stimulated a shift away from using reduced models to solve statistical and predictive problems, and toward more direct methods for solving high-dimensional nonlinear optimization problems.
This tutorial will introduce modern tools for solving optimization problems -- beginning with traditional methods, and extending to solving high-dimensional non-convex optimization problems with highly nonlinear constraints. We will start by introducing the cost function, and it’s use in local and global optimization. We will then address how to monitor and diagnose your optimization convergence and results, tune your optimizer, and utilize compound termination conditions. This tutorial will discuss building and applying box constraints, penalty functions, and symbolic constraints. We will then demonstrate methods to efficiently reduce search space through the use of robust optimization constraints. Real-world inverse problems can be expensive, thus we will show how to enable your optimization to seamlessly leverage parallel computing. Large-scale optimizations also can greatly benefit from efficient solver restarts and the saving of state. This tutorial will cover using asynchronous computing for results caching and archiving, dynamic real-time optimization, and dimensional reduction. Next we will discuss new optimization methods that leverage parallel computing to perform blazingly-fast global optimizations and n-dimensional global searches. Finally, we will close with applications of global optimization in statistics and quantitative finance.
The audience need not be an expert in optimization, but should have interest in solving hard real-world optimization problems. We will begin with a walk through some introductory optimizations, learning how to build confidence in understanding your results. By the end of the tutorial, participants will have working knowledge of how to use modern constrained optimization tools, how to enable their solvers to leverage high-performance parallel computing, and how to utilize legacy data and surrogate models in statistical and predictive risk modeling.
~~introduction to optimization~~ (30/45 min)
* the cost function
* local and global optimization
* monitoring and diagnosing convergence and optimization results
* solver tuning and compound termination conditions
~~penalty functions and constraints~~ (30/60 min)
* box constraints
* applying penalty functions
* reducing search space with constraints
* applying symbolic constraints
~~leverage asynchronous and parallel computing~~ (30/45 min)
* parallel function evaluations and solver iterations
* solver restarts and saving state
* dynamic real-time optimization
* automated dimensional reduction
~~ensemble optimization and global searches~~ (30/45 min)
* blazingly-fast global optimization
* using global search to find all minima, maxima, and turning points
* building a surrogate model through optimal surface interpolation
~~optimization in parameter sensitivity, statistics, and risk modeling~~ (30/45 min)
* the cost metric
* statistical and probabilistic constraints
* information constraints from surrogate models and legacy data
* application to quantitative finance and statistics
by Sri Harsha
The Lightning talk show is a firm favourite on the PyCon calendar. Harald, presents all who wish to give a 5 minute "lightning talk" and peppers your contributions with his (python)world famous jokes...
So if you want to get up and give brief talk on a hot topic, then keep an eye out for the flip chart where you sign up for slot and give it your best shot!
Details and map: https://python.ie/pycon-2015/sat...
by Juliana Arrighi
Many of us have been drawn to the Python community because it has welcomed us warmly and has shown us many high quality learning resources. We can further develop this aspect of our community by being aware of the potential barriers to learning when contributing new informational resources like conference talks, tutorials, documentation, or even just conversations at community events. This is especially important if you're interested in engaging people who are different than you.
Any time we are faced with the need to learn a new skill, we may experience a variety of emotional responses ranging from energised interest, a bit of frustration, or even extreme intimidation. It can be even harder to learn successfully when you don't feel welcome in learning communities or when available resources don't cater to your level of experience. You can make learning more accessible for your audience by considering the different thinking styles, backgrounds, and the contexts in which learners are seeking information.
In the first part of this talk, I'll give some reasons you might want to put some extra effort into addressing the diversity of your audience. Then I'll outline some ways I've found to help make learning more accessible and less intimidating for different types of learners.
24th–25th October 2015