PyConIE 2017

21 Oct 2017 • Radisson Blu
Tickets

Speakers

Sponsors

Schedule

  • 21 October
  • 22 October

Allen Thomas Varghese

Senior Software Engineer
Udemy
Organizer of Data Science & Coding Meetups | Mentor | Speaker | Technology Generalist

22 October

Ana Balica

Senior Software Engineer
StreetTeam

21 October

BU

Bartlomiej Uscilowski

21 October

Brandon Rhodes

21 October

Celia Cintas

PhD Fellow
CENPAT-CONICET
PhD student in Computer Science working at IPCSH-CENPAT on Human Evolutionary Biology Research Group. Pythonista since 2008. Co organizer of SciPyCon Argentina [2013, 2014] and Patagonia Python Meetup. Happy Linuxchix Argentina member. Free software advocate. Assistant Professor at UNPSJB.

21 October

Cenk Bircanoğlu

R&D Engineer / PhD Student
Boyner Group / Bahçeşehir University
PhD Student at Bahçeşehir University (Istanbul/ Turkey) and R&D Engineer at Boyner Group. I am working on Recommendation Systems, Image Processing via Deep Learning, and Machine Learning Algorithms like clustering, classification and regression. I also work on Big Data environment and implement some Big Data applications.

22 October

CC

Cesar Cardenas Desales

César always enjoys a good programming riddle. He works mostly with Python, but have done unspeakable things in Java, Perl and PHP. He's been doing Python for over a decade in projects that are covering the whole development stack, and speaks Spanish, English and German. He's working for Zurich based Webrepublic AG, the leading Swiss digital marketing agency. He's co-organizer of the Swiss Python Summit and the Zurich Python User Group.

22 October

Damian Gordon

Lecturer
DIT
A lecturer for many years in DIT's school of computing.

21 October

Dave Lawless

Global Head of Technology
RapidRatings
Dave Lawless is a seasoned software engineer with over 20 years’ experience architecting, delivering, and developing large scale projects in industries ranging from Banking to Artificial Intelligence. He has been a business owner and entrepreneur for the last 13 years, all the while remaining a technologist at the core. For 2 years prior to joining Rapid Ratings, Dave helped Bank of Ireland solve some major technical issues with their Corporate Risk Rating and Pricing system. In Dublin, Ireland, Dave heads up Rapid Ratings’ development center, where he is responsible for building and managing our team.

22 October

David Markey

Sr. Software Engineer
RapidRatings
David has been Chairperson of Python Ireland for 2 years.

21 October

21 October

22 October

DM

David Markey

David Rieger

Infrastructure and Build Automation Engineer
Demonware
I did my A levels in electrical engineering and then went to university to get my bachelor's degree in computer science. During my last year of university I went for a semester abroad to Dublin. Once I graduated, I decided to come back and work here; I haven't left so far. Currently I work as a Software Automation Engineer at Demonware/Activision.

21 October

EB

Eoin Brazil

21 October

Fergal Walsh

Backend Developer
Hipo
Fergal is a backend developer at Hipo, specialising in R&D projects. He has a background in large scale data analysis with a PhD in Geocomputation. Python has been his primary language for personal, academic and professional projects for nearly 10 years. He is the author of Pico, a framework for building HTTP APIs in Python.

22 October

Howard Chu

CTO
Symas Corp
Software engineer and genius of optimization, with proven track record of world's fastest multiprocessor TCP stack, world's fastest Appletalk stack, world's fastest LDAP server, faster than realtime speech recognition, faster than realtime radar data demux/decoders, etc. Correctness first, but software that delivers the correct answer too slowly is still wrong. Speed is great, but speed without accuracy is just noise. Never sacrifice correctness for speed, and never waste time.

22 October

Humberto Corona

Data Scientist
Zalando
Humberto is a data scientist with a background and passion for recommender systems, having done research a number of years in four different countries, both in industry (Verizon, Sony) and in academia (UVIGO, UCD). Currently based in Dublin (Ireland), Humberto enjoys working as a data science in a team at Zalando, where he builds customer-centric machine learning products, and he also helps to coordinate the data science guild. You can read more about his research, code, art and words at http://hcorona.github.io

22 October

22 October

Jaime Buelta

Senior Software Developer
RapidRatings

22 October

Jan van der Vegt

Data Scientist
KLM
Passionate about solving real world problems using mathematics. Data scientist at KLM, working on deep learning topics in operations and commerce.

21 October

Julia Looney

Software Engineer
I'm a software engineer who loves Django!

22 October

KO

Kevin O'Brien

22 October

Leonardo Giordani

Software Engineer
Born in 1977 with Star Wars, bash, Apple ][, BSD, finger, Zork, Galaxy Express 999, Little Pollon, Dire Straits, The Police, Rumours, The Silmarillion, Squad Leader. Interested in operating systems and computer languages, photography, fantasy and science fiction, video- and boardgames, guitar playing, climbing, horseback riding, Aikido, rollerskating, drawing, painting, bookbinding. I programmed in Z80 and x86 Assembly, GW-Basic, Logo, Borland Turbo Pascal, Prolog, C, C++, PHP, Lisp, Ada, Objective-C, bash, Python, Erlang, Clojure, Scala, JavaScript. I love mathematics and cryptography. I’m mainly interested in open source software. I like both the theoretical and practical aspects of computer science. I am currently working at WeGotPOP, a London-based company that creates software for film casting agencies. We work with Python and Javascript, Docker, AWS, React. From 2013 I blog some technical thoughts at http://thedigitalcatonline.com

21 October

21 October

LR

Lilly Ryan

21 October

Marco Bonzanini

Freelance Data Scientist based in London, UK. Author of "Mastering Social Media Mining with Python", published by Packt Publishing. Co-organiser of the PyData London meetup. Backed by a PhD in Information Retrieval, I specialise in search applications and text analytics applications, and I've enjoyed working on a broad range of information management and data science projects.

21 October

Mark Smith

Developer Advocate
Nexmo
Mark is a Developer Advocate for Nexmo, specialising in Python and Java, but also dabbling in Go and a few other things. He's interested in system architecture and scalability, and when he's not programming you'll probably find him building a mechanical keyboard from scratch.

22 October

Michael Dineen

Lead Data Scientist
Brightflag

22 October

Miguel Grinberg

Software Developer
Rackspace
Miguel Grinberg is a Software Developer at Rackspace, where he works on cloud applications. He blogs at http://blog.miguelgrinberg.com about a variety of topics including web development, Python, robotics, photography and the occasional movie review. Miguel is the author of the Flask Mega-Tutorial and the O'Reilly book "Flask Web Development". He lives in Portland, Oregon.

22 October

Neal Ó Riain

Data Scientist
Amazon
Neal is a former astrophysicist turned data scientist, currently based in London and working at Amazon.

22 October

Patrick Arminio

Full Stack Developer
Stink Studios
Full Stack Developer @stinkstudios. Swiss⚡️Italian. Python & Django user. @pyconit organiser - Chair of Python Italia

21 October

Piotr Milian

Business Intelligence Analyst
indeed

21 October

PJ Fitzpatrick

21 October

Rigel Di Scala

Digital Architect
Wipro Digital
Rigel learned programming on a Commodore Vic-20 when he was 6 years old. He's been in love with computers ever since. They reciprocate by helping him earn a living and making him feel like he never worked a single day in his life.

22 October

RG

Romain Guillebert

Senior Software Engineer
StreetTeam

22 October

Sean O'Donnell

Chief Technical Architect
RapidRatings
Sean is the head Architect in RapidRatings

22 October

Sergio Gonzalez Sanz

Research Engineer
Zalando
I’m a Big Data, data analysis and engineering enthusiast. I finished my Ph.D. in Data Mining and Machine Learning in 2013 and I have been working as Data Scientist on Customer Analytics for the last 4 years. As Data Scientist, I am focused on understanding and improving customer experience capitalising on a wide variety of data sources (web, transactional, CRM data, etc) utilising the latest technologies (Spark, AWS, GA, Scala, Python...).

22 October

Shane Lynn

CEO
EdgeTier
Shane is CEO and co-founder of EdgeTier, an analytics company that deliver automation and artificial intelligence solutions to contact centres. EdgeTier have developed products that automatically categorise and generate responses to customer queries, reducing agent handling times and improving customer satisfaction. Shane has a background in computer engineering and a PhD in machine learning applied to semiconductor manufacturing.

22 October

Siobhán Grayson

PhD Researcher
Insight Centre for Data Analytics
I’m a third year PhD Student in Computer Science at the Insight Centre for Data Analytics, University College Dublin. My primary research involves identifying structure and social roles in multi-relational social networks. My research interests include machine learning, social network analysis, link prediction, natural language processing, digital humanities, and anomaly detection.

21 October

Stephane Wirtel

Founder
Mgx.io
Stéphane is a member of the Python Community since 2000, PSF #fellow, member of EuroPython Society et organizer of PythonFOSDEM. He pythonists from the morning to the evening ;-) He is also a small contributor of CPython.

22 October

Steve Holden

CTO
Global Stress Index
Steve Holden has been programming for fifty years, twenty of them in Python. While living in the USA he started PyCon, chairing the first three conferences. He is now enjoying the overlap of his life-long interest in electronics and his passion for Python programming.

21 October

21 October

Tracy Osborn

22 October

Vishal Vatsa

Python Developer, OpenSource Enthusiast. Defeated wearer of black polo shirts.

21 October

Rapid Ratings

Diamond
RapidRatings is transforming the way the world’s leading companies manage enterprise and financial risk. RapidRatings provides the most sophisticated analysis of the financial health of public and private companies in the world. The company’s analytics system provides predictive insights into third-party partners,suppliers,vendors,customers and securities issuers. Every business conversation becomes more productive,transparent and efficient with the RapidRatings Financial Health System.

Tenable, Inc.

Gold + Entertainment
Tenable is the Cyber Exposure company. Over 23,000 organizations of all sizes around the globe rely on Tenable to manage and measure their modern attack surface to accurately understand and reduce
cyber risk.

Hosted Graphite

Platinum
Hosted Graphite is a Software-as-a-Service version of the popular Graphite open source metric and monitoring software, and we have customers all over the world. We provide a metrics platform to developers to allow them to measure the health and performance of their websites, applications and servers. Companies send large amounts of metric data to us which we store, graph and display on visual dashboards - we let companies cut through the noise and see what's actually happening in their applications and on their servers.

Zalando

Platinum + Workshop
At our Fashion Insights Centre in Dublin we connect data science and engineering to find and scale the technologies of tomorrow, pushing the boundaries of Zalando as a fashion knowledge platform.

Bank of America Merrill Lynch

Platinum
Bank of America is one of the world's leading financial institutions, serving individual consumers, small- and middle-market businesses, large corporations and governments with a full range of financial and risk management products and services. Bank of America Merrill Lynch is the marketing name for the global banking and markets businesses.

The company has had a presence in EMEA since 1922. With offices in 23 countries on three continents, it offers an integrated and comprehensive set of products and services across Global Corporate and Investment Banking, Global Markets and Consumer Card, serving the needs of individual, corporate, institutional and government clients, combining the best of local knowledge and global expertise. Developing solutions for social and environmental challenges is at the core of Bank of America Merrill Lynch’s responsibility platform. In more than 90 countries around the world, we partner with employees, clients and stakeholders to help make financial lives better.

RenRe

Accessibility

Demonware

Gold + Lanyards
Demonware designs, develops, and hosts online software and services for some of the biggest game franchises in the world, including Call of Duty and Skylanders.

The vast majority of our business logic is in Python - it's the cornerstone of our backend platform. Clients connect to a gateway written in Erlang which manages the client connection; requests are then dispatched to a set of services written in Python. These Python services provide a range of gaming functionality including matchmaking, statistics, micro-transactions, teams and messaging.

We are a technology-driven company with a commitment to openness. This means collaborating to solve problems, the freedom to talk to anyone, and best idea wins. We take the work seriously; ourselves, not so much. Demonware has offices in Dublin, Ireland; Vancouver, Canada; and Shanghai, China, and is a wholly-owned subsidiary of Activision Blizzard, Inc.

Python Academy GmbH & Co. KG

Gold
Python Academy is a specialized Python training company. We offer open courses for individuals as well as customized on-site courses for companies and institutes. We cover a wide range of Python topics from introductory to advanced, Python for scientists and engineers, big data, web development, code optimization and many more.

In addition to training, we consult companies that migrate to Python and develop high-quality Python software often in combination with training. Our special expertise is scientific and technical software development with Python.

Brightwater

Gold
Brightwater is a Recruitment Consultancy, not an Agency. One of the biggest, best and most respected brands in Ireland, we have over 90 staff, sales of €15 million, offices in Dublin, Belfast and Cork.

The Group comprises of two companies:
Brightwater Executive - Recruits C+ roles
Brightwater Selection - Recruits middle management, white collar & commercial

Brightwater set up in Ireland in 1998 with the tag line “The Best in Ireland”, and we mean it! The company has great clients, candidates, offices, structures, management, but most of all, we have the best Consultants in the industry. Our customer service pledges are not lip service, we do what we say...every time. This is down to committed leadership, dedicated staff, continuous training, Client and Candidate Charters (service guarantees to our customers) and more. Mostly it is down to selecting the very best staff to work at Brightwater. Training, charters and mission statements mean something, but only if the people entering the company have the integrity, motivation and professionalism required of a Brightwater Consultant. What that means for you is great service, and great candidates because quality recognises quality.

Nexmo

Gold
Nexmo is a global cloud communications platform, providing APIs and SDKs for SMS, voice, phone verification, messaging and advanced multi-channel conversations. We have officially supported open source libraries for Python, Node.JS, Ruby, PHP, Java and C# .NET enabling you to build scalable communications features such as two-factor authentication, notifications, two-way and group messaging, one to one or multi person calls, all with the technologies that you are already using.

Indeed Prime

Gold
Indeed Prime helps software engineers simplify their job search and land their dream job. Candidates get immediate exposure to the best tech companies with just one simple application to Indeed Prime.

O'Reilly

Silver

JetBrains

Silver

Python Software foundation

Diversity

Registration + Breakfast

08:30 AM 09:15 AM

Talk track 1

Opening Ceremony

09:15 AM 09:30 AM

A quick opening ceremony before the first keynote.

Speakers

Talk track 1

You look at it till a solution occurs

09:30 AM 10:30 AM

Abstract coming soon!

Speakers

Talk track 1

MicroPython: The Next Step to World Domination

10:30 AM 11:15 AM

With the availability of a competent open source Python implementation for microcontrollers, suddenly Python became a first-class player in the Internet of Things. This talk describes with code examples what is possible in MicroPython, the range of devices on which it is implemented, the hardware it can connect to and the emerging ecosystems designed to support the Internet of Things.

Speakers

Talk track 2

Understanding Natural Language using Word Vectors

10:30 AM 11:15 AM

This talk is an introduction to word vectors, a.k.a. word embeddings, a family of Natural Language Processing (NLP) algorithms where words are mapped to vectors. An important property of these vector is being able to capture semantic relationships, for example: Ireland - Dublin + London = ??? These techniques have been driving important improvements in many NLP applications over the past few years, so the interest around word embeddings is spreading. In this talk, we'll discuss the basic linguistic intuitions behind word embeddings, we'll compare some of the most popular word embedding approaches, from word2vec to fastText, and we'll showcase their use with Python libraries. The aim of the talk is to be approachable for beginners, so the theory is kept to a minimum. By attending this talk, you'll be able to learn: - the core features of word embeddings - how to choose between different word embedding algorithms - how to implement word embedding techniques in Python

Speakers

Workshop track 1

TDD in Python with pytest

10:30 AM 01:00 PM

In this tutorial I will start a simple Python project from scratch and will develop it together with the attendees following a strict TDD methodology. The testing framework in use will be pytest. The tutorial consists of an introduction on TDD (20 minutes), followed by 2-3 hours of work where attendees will develop a small Python library step by step following a pure TDD approach. I run the tutorial at EuroPython 2017 (https://ep2017.europython.eu/conference/talks/tdd-in-python-with-pytest-and-mock) and I decided to simplify so that everyone can follow the whole project from start to finish. The slides for the introduction can be found here https://speakerdeck.com/lgiordani/tdd-in-python-with-pytest

Speakers

Workshop track 2

Python for Beginners

10:30 AM 01:00 PM

An Introduction to Python: 1. We are going to introduce Python, and how to install it, and run it. 2, We will look at how to print out messages to the screen, we'll look at basic MATHS functions, and how to implement VARIABLES in Python. 3. We will look at how to implement SELECTION in Python. 4. We will look at how to implement ITERATION in Python. 5. We will look at implementations of PRIME NUMBERS and FIBONACCI NUMBERS in Python.

Speakers

Break

11:15 AM 11:30 AM

Break

11:15 AM 11:30 AM

Talk track 1

When bugs bite – why neglecting your edge cases can kill

11:30 AM 12:15 PM

Two people died because of a Unicode support error. Another died because of a camera’s inability to distinguish colours from one another, and yet another died because of bad GPS data. Many thousands more deaths could have been prevented by a single variable, if the developers had thought to include it. As software developers, our skills and ideas are increasingly crucial for keeping the world running. We don’t have time to test for, find, and fix all of the bugs. Most bugs are annoying, some bugs allow for sneaky behaviour, but the most innocuous of edge cases can sometimes lead to an actual loss of life. No software ever holds up to contact with reality, but in this talk, Lilly Ryan shows you some of the more extreme consequences of tech debt, and offers guidelines on how your team can more easily identify assumptions and eliminate edge case behaviour when developing software. That boring task hiding in your backlog might just save a life.

Speakers

Talk track 2

Discrete event simulation: how to use SimPy to manage an alien UFO factory

11:30 AM 12:15 PM

Many real-world processes that need to be modeled contain stochastic elements. A variety of mathematical tools is available to model simple processes analytically, However, when things get more complicated we need to fall back on to Monte Carlo simulations. SimPy is a package that uses generators to model discrete, time-based processes, such as queueing systems, financial markets and network protocols. By simulating a process or scenario a significant number of times, we can inspect possibilities of failure, expected utilization rates, targets aimed for in the healthcare industry and how changes we make in the decisions for our processes impact these performance indicators. In the talk, we use the running example of alien UFO factories, where we assume the role of factory manager and need to make decisions on hiring staff, the equipment that we need in our processing pipeline, the contracts with our customers and the actual location of our new factory. Some choices cost less money but are less efficient or introduce higher risks, and dependencies between the different parts of the process make it difficult to oversee the impact of our choices. After showcasing the scenario, we will add these concepts one by one in our SimPy model and link them to discrete event simulation theory. After the implementation, we can gather insights on the risks and the profits and make an informed decision on our factory. This talk is aimed at people interested in Monte Carlo simulation, stochastic optimization, Operations Research, statistics, UFOs or an innovative way of using Python generators.

Speakers

Talk track 1

About Snakes, Gophers, Ducks and Camels

12:15 PM 01:00 PM

Especially in the world of microservices - where applications are part of the same machinery, yet able to work independently - we can leverage the fact that different programming languages have different strengths to the fullest and harness them without yielding conflicts. Neither technical ones, nor interpersonal ones. This talk is not just a comparison of two languages. At its core it is an introduction to some of the concepts of Golang for the Python enthusiast who is willing to see and use the benefits of each. It is not here to change your opinion of Python; it is here to (perhaps) give you a new perspective on software development and show you how diversity is important not just amongst humans but also amongst codebases.

Speakers

Talk track 2

Microservices: death by a thousand cuts

12:15 PM 01:00 PM

Every one loves micro services as the great new... Small single purpose services are great for quick development and rapid releases. But if not managed well, it turns into death by a thousand cuts. In this talk I will go through strategies for managing the resulting complexity from a micro-services layout. The core tenets beings, automation, monitoring and discovery.

Speakers

Lunch

01:00 PM 02:00 PM

Talk track 1

Testing in Django

02:00 PM 02:45 PM

The Django documentation section on testing starts with this: “Automated testing is an extremely useful bug-killing tool for the modern Web developer.” Nobody can argue with that. Testing is an integral part of modern software development, and Ana’s talk will offer an in-depth overview of how the Django testing framework evolved; showcase some common techniques, tools, and best practices; talk about speed improvements; and guide you through a real-world example of testing a Django app. Testing is fun, isn’t it? Previously presented at Django Under the Hood and keynoted recently at DjangoCon US. See video and slides: http://ana-balica.github.io/talks/

Speakers

Talk track 1

Data anonymization

02:45 PM 03:30 PM

Today’s data contains personally identifiable information (PII), which has to be protected. The protection methods include strong encryption, authentication and authorization, and anonymization. The latter, the data anonymization, removes or modifies sensitive data in an irreversible transformation, preserving sufficient data characteristics to enable analysis, aggregations and evaluation while protecting privacy. In our talk we will discuss using two modules: faker and mimesis, for anonymizing customer data. The primarily goal of both modules is producing synthetic data for development and quality assurance. However, the modules can be used for anonymizing data sets, preserving data characteristics, such as uniqueness and consistency. The data formats of, for example, email addresses, urls, dates, are also preserved.

Speakers

Talk track 2

Star Wars: A Social Network Analysis

02:45 PM 03:30 PM

An introductory talk for anyone interested in learning what social network analysis is, and how to conduct their own network analysis using the Python package NetworkX (https://networkx.github.io/). In particular, I will focus on using character co-occurrences extracted from the scripts of Star Wars and will demonstrate how to build a directed network from them, calculate basic network metrics, and describe the relevance of each of these metrics in the context of our Star Wars dataset.

Speakers

Workshop track 1

Introduction to Deep Learning with Python: The force awakens

02:45 PM 04:30 PM

In this workshop we will give a gentle introduction to Deep Learning using Python with the help of Lasagne, Numpy, Pandas and OpenCV having fun with Star Wars miniature ships in the process. We will walk through the pipeline, starting from data acquisition, preparation, construction of ConvNets, training and assessment, in order to classify different types of ships! Deep learning allows computational models that are composed of multiple processing layers to learn representation of data with multiple levels of abstraction. These methods have dramatically improved the state-of-the-art in speech recognition, visual object recognition, object detection and many other domains such as drug discovery and genomics. Particularly, Convolutional Neural Networks (ConvNets) represent the state of art of several computer vision problems, given its outstanding classification performance in large volumes of images. ConvNets great performance is based on four fundamental ideas. Local connections, shared weights, pooling and the use of multiple layers. For this workshop we will have miniatures ships in the room so participants can record their own videos, and use it as data source for their own classifiers! During the tutorial we will show how to classify k-wing, lambda shuttle and millennium falcon miniatures. Furthermore, we will take different miniatures ships ( X-Wing, TIE Fighter and phantom), so the participants can create their own classifiers.

Speakers

Workshop track 2

Dive Into Object-oriented Python

02:45 PM 05:45 PM

Each language has its own object-oriented implementation, that can differ in subtle or unexpected ways from others. Newcomers to Python - whether they are coming from another language, or learning programming through Python for the first time - sometimes encounter some ‘strange’ issues, but understanding Python’s OOP implementation will help make many of them seem a lot less strange. This tutorial will introduce beginners to Python’s beautiful but sometimes peculiar implementation of OOP concepts. It’s ideal for people who have a bit of Python knowledge and experience, and need to move from first steps to a deeper understanding. Please bring your own laptop, as the workshop includes hands-on exercises. The minimum setup is a running Python console (preferably Python 3, but Python 2 is also OK) and your editor of choice. The recommended setup is a running Jupyter Notebook installation (http://jupyter.org/). There will be no time to install software during the workshop, so please ensure that everything is already working for you. Run this example program from Dive Into Python 3 to check that all’s in order: http://www.diveintopython3.net/your-first-python-program.html You can use this code to get a working Jupyter Notebook environment: ``` sh virtualenv venv3 -p python3 source venv3/bin/activate pip install jupyter This repository contains the code that will be used during the workshop ``` Slides of the past editions of the workshop can be found here: https://speakerdeck.com/lgiordani This is a 4 hours workshop.

Speakers

Break

03:30 PM 03:45 PM

Break

03:30 PM 03:45 PM

Talk track 1

Two approaches to scale your processing, Task Queues and Workflows

03:45 PM 04:30 PM

This talk covers two useful libraries/approaches to scaling your processing. Task Queues will be introduced, Celery will be covered and a specific example of a refactoring of a sequential crawler to highlight the ease and utility of this library. Workflows will then be covered, Airflow will be introduced, in the context of more complex tasks with requirements plus dependencies, building on how tasks as the atomic unit can be woven together to support complex business / app requirements as Workflows. The theme linking both aspects is the need to provide a reliable async fabric (Celery + Rabbitmq) only provides part of a solution for more complex problems, hence the need to use Airflow (with Celery executors) to provide the additional smarts / logic necessary to solve them.

Speakers

Talk track 2

Predicting the past.

03:45 PM 04:30 PM

In this talk I would like to present basic techniques in counter-factual predictions that are used for uplift analysis in marketing. The idea is to use time series prediction models to predict the past after certain intervention date (our marketing action) and compare what would have happened to what actually happened. With some basic black magic trickery (statistics) we can then draw conclusions about effectiveness of the marketing intervention. This basic talk would cover using simple off the shelf tools (fbprophet) and ML techniques.

Speakers

Talk track 1

Django and GraphQL

04:30 PM 05:15 PM

There is a new alternative to REST API. GraphQL. GraphQL has been created by Facebook in 2012 and since then is being used by big companies like Facebook itself, Github, Shopify and so on. In this talk I'd like to explain why we need an alternative to REST APIs and why GraphQL is that alternative. Also we will see how to use GraphQL with Django and how to use it for non trivial applications.

Speakers

Talk track 2

Using Scikit Learn to Improve Existing Risk Models

04:30 PM 05:15 PM

Using sklearn to improve market risk models.

Speakers

Talk track 1

Lightning talks

05:15 PM 06:15 PM

A selection of lightening talks. Please sign up to give a lightening talk!

Speakers

Break

06:15 PM 07:00 PM

Talk track 1

Quiz

07:00 PM 10:30 PM

The PyConIE Quiz!

Speakers

Registration + Breakfast

09:15 AM 09:45 AM

Talk track 1

The Different Roads We Take (Keynote)

09:45 AM 10:30 AM

We’ve all taken different routes to get to where we are today, and we’re not all currently on the same road going the same place. Tracy Osborn will talk about the idea of the “Python engineer,” her (long and full of bumps and potholes) journey to learning and teaching Python, and the harmful myths about learning programming and the paths available when you do so.

Speakers

Talk track 1

Getting started with Django's Authentication System

10:30 AM 11:15 AM

Django’s authentication system is great out of the box, and very useful when we want to manage users logging into our web apps. But, since it’s all set up for us automatically when we create our new Django project, sometimes it can be a little mysterious. I’ll clear up some of its mysteries by going over each aspect of authentication in Django and give tips on how to better utilize it for web applications. The authentication package has three main aspects: Users, Groups, and Permissions, along with some authentication middleware to tie it all together. First I’ll cover Django’s User model, which is the core of the authentication package. I’ll explain how it interacts with the web app, and I’ll even give a few tips on how it can be customized. Then I’ll talk about Groups, and how they interact with the User model. I’ll give some tips on how to manage users in web apps based on groups to get the most out of them. Then I’ll cover permissions, which relate to how users can interact with the web app. I’ll go over some examples for how to use the default permissions, how to set up custom permissions, and how this is particularly used in the Django admin panel. Finally, I’ll talk about Django’s authentication middleware, and how users are authenticated throughout the app. I’ll cover examples for how users get sent through requests, and how to handle logic surrounding authentication in Django’s views and templates.

Speakers

Talk track 2

How to build your own programming language

10:30 AM 11:15 AM

In this talk I'll take the unusual step of discussing a language other than Python. I'll present Áireamhán, a small Lisp-like language that I built (in Python of course), that is, as far as I know, the first and only programming language *as Gaeilge*. I'll cover some of the core ideas in language design; lexing, parsing, tokenization, with an emphasis on how you can compactly implement these in Python to build your own language. I'll also discuss the features of Lisp (and Áireamhán), and how these functional programming primitives give us a really powerful framework for computation that inspired some of the parts of Python that we all know and love.

Speakers

Workshop track 1

Processing Data with Celery and Pandas

10:30 AM 01:00 PM

As all Pythonists know Pandas is a marvellous open source data analysis library, that has the power that dances with the structured datasets. We can make cleansing, analysis, visualizations and even make the datasets smarter using just Pandas. And Celery is an asynchronous task queue/job queue. In this workshop, we will dive deeply into the Amazon review datasets especially Video Game Review Dataset. First, we will meet and try to expertise the dataset. Second, we will analyze reviews. Third, we will make simple recommender system from rating database. Before making Pandas dataframes work distributed, we will briefly work with Celery. Last, we will try to use Celery with Pandas dataframes to make calculations faster. The code is already hosted on my github account. You can reach whenever you want. If you have questions, please ask via mail. https://github.com/cenkbircanoglu/pycon-2017-ie

Speakers

Workshop track 2

Django Workshop

10:30 AM 01:00 PM

This workshop is aimed at folks who wants to get a feel of using Django. The workshop will cover the following: - Setting up Django - Example project - Using Django forms - Connecting to MySQL - Using Django REST Framework in web apps (requires javascript knowledge) The code will be hosted on github.com/allentv prior to the workshop.

Speakers

Break

11:15 AM 11:30 AM

Break

11:15 AM 11:30 AM

Talk track 1

Writing and deploying serverless Python applications

11:30 AM 12:15 PM

Summary: In this talk you’ll learn how to implement and deploy a basic serverless Python application. --- Serverless is a concept that has recently raised to popularity, boosted by the drive to financially optimize usage of computing power in cloud environments while reducing maintenance efforts. The following topics will be covered in this talk: - What is a serverless application? - What are the benefits of the serverless execution model? - What is AWS Lambda - How to implement a basic Python serverless application with AWS Lambda? - How to implement a serverless Python based Webservice using Zappa

Speakers

Talk track 2

Interacting with C and Rust using CFFI

11:30 AM 12:15 PM

One of Python's main advantages has always been its ability to expose external libraries to Python code very easily, however, writing wrappers around these libraries has always been a pain point that CFFI aims to address. CFFI allows you to call code written in other programming languages without having to write anything other than Python code, it is famous for being able to call C code but is also able to call code written in other languages like Rust and Go. This talk will go over the advantages of using CFFI as opposed to the other ways of calling external libraries in Python (such as writing C extensions) and showcase more advanced ways of using CFFI to improve PyPy's compatibility with Python modules.

Speakers

Talk track 1

Protecting Your Users from Change: Pythonic Refactoring

12:15 PM 01:00 PM

So you've released a library! Now you need to maintain it. You want to add features, restructure the code, fix bugs, and maybe improve the library's usability. Your users just want their code to carry on working. That's okay! This talk will cover techniques in both code and project management to allow you to keep your code moving forwards without breaking your users' code. It is aimed at developers with a little experience of writing libraries in Python, and will cover some intermediate subjects like function decorators and magic methods.

Speakers

Talk track 2

Recruitment session

12:15 PM 01:00 PM

Panel discussion with sponsors looking to hire. Only verified sponsors can be on the panel.

Speakers

Lunch

01:00 PM 02:00 PM

Talk track 1

Rapid Ratings Keynote - "Rewrite"

02:00 PM 02:45 PM

Software rewrites. Are they a good idea. What are the best strategies? How do you avoid common mistakes? RapidRatings have rewritten most of their infrastructure over the last 4 years and will share the lessons they have learned.

Speakers

Talk track 1

Django, from nightmare to dream, with good tools.

02:45 PM 03:30 PM

Maybe it's your life, imagine you are hired for a new job with a new dev team and they develop with Django, but they don't know the right tools for the development with Django. This talk is for you, from a legacy code with no tests, no documentation, no code coverage, I will show you some tools they can help you with this legacy code. Keywords: * `dev-server` * `profiling` * `tests` * `sentry`

Speakers

Talk track 2

Text Classification with Word Vectors & Recurrent Neural Networks

02:45 PM 03:30 PM

Globally, research teams are reporting dramatic improvements in text classification accuracy and text processing by employing deep neural networks. But what are deep nets? Can you harness these techniques in your own projects? How much training data do you need? What are the libraries required? Do you need a super computer? Do these techniques improving accuracy and are they worth the hassle? In this talk, we'll examine some basic neural architectures for text classification, we'll run through how to use the Python Keras library for classification, and speak a little about our experience in using these techniques.

Speakers

Workshop track 1

Write a Bitcoin clone from scratch in Python and asyncio

02:45 PM 05:00 PM

Richard Feynman wrote on a blackboard: "What I cannot create, I do not understand". Build a solid understanding of the Bitcoin protocol by implementing a clone from its fundamental building blocks: asymmetric encryption, a peer-to-peer network using asyncio, proof of work, and our very own "PyCoin" currency. This is a workshop that explains how cryptocurrencies work in simple terms, with no previous knowledge required; just some basic Python programming experience.

Speakers

Workshop track 2

recsys 101 workshop

02:45 PM 04:45 PM

Ever notice how so much of your online experience is curated to you - recommended outfits on Zalando, suggested songs or books. In this interactive workshop, we will introduce and practice the most important concepts about recommender systems, the force behind the personalized experience. By the end of the workshop, you will be able to build your own recommender system and discuss the outcomes with the help of our mentors, all in a very informal and interactive way. If you’ve got basic Python knowledge, you’re a great fit for this workshop. Bring along a friend and code together! Before the Session: We advise that you visit the workshop website (http://hcorona.github.io/recsys-101-workshop) and read the instruction file at least a day before the workshop, so you have everything you need to start coding already installed. If you have problems following it, you can ask questions by submitting a GitHub issues and we will answer them. It is really important to have Python3 installed in your laptop.

Speakers

Break

03:30 PM 03:45 PM

Break

03:30 PM 03:45 PM

Talk track 1

The Lightning Memory-Mapped Database

03:45 PM 04:30 PM

The Lightning Memory-Mapped Database (LMDB) was introduced at LDAPCon 2011 and has been enjoying tremendous success in the intervening time. LMDB was written for the OpenLDAP Project and has proved to be the world’s smallest, fastest, and most reliable transactional embedded data store. It has cemented OpenLDAP’s position as world’s fastest directory server, and its adoption outside the OpenLDAP Project continues to grow, with a wide range of applications including big data services, crypto-currencies, machine learning, and many others. The talk will cover highlights of the LMDB design as well as the impact of LMDB on other projects.

Speakers

Talk track 2

Convolution Neural Networks for Legal Text Analytics

03:45 PM 04:30 PM

Convolution Neural Networks are a neural network architecture which has been applied with great success in the fields of image processing and neural machine translation. Practitioners and researchers have recently begun applying them to other general natural language processing applications. The convolution layers in a neural network operate by passing a kernel transformation over adjacent features such as words or pixels. This enables the convolution layer to 'learn' features such as expressions where the meaning of a phrase is dependant upon its context. Stacking multiple convolution layers enables the network to detect higher order features which further processing such as a densely connected feed forward layer can use for purposes such as classification of sentiment,legal context etc..

Speakers

Talk track 1

Pico: Rethinking how we build HTTP APIs

04:30 PM 05:15 PM

The Python universe is overflowing with web frameworks, from full featured batteries included frameworks like Django to micro frameworks like Bottle or Flask. They each have their own specific features but in the end they are all very similar in their core functionality of processing requests and generating responses. In this talk I will discuss why I felt the need to create yet another framework, a pico framework, that specifically focuses on the task of building HTTP based APIs for the web. Pico, as it is aptly called, doesn't do templating, ORM, custom routing, authentication, validation, caching, or a million other things. Instead it helps you write clean APIs using simple functions and modules with minimal boilerplate. Pico is both opinionated and flexible in equal measures so you can focus on what matters; your API logic. Pico helps you to write code that that is simple to get started, trivial to test, and easy to maintain as your project grows. APIs built with Pico are self describing so client code can automatically/dynamically be created. Pico includes both a Python & Javascript client but it is also very simple to interact with your API with plain old cURL/Requests/jQuery/etc. It is just a HTTP API after all. Having recently released Pico 2.0, this talk will outline the evolution of this framework over the past 7 years and discuss some lessons learnt along the way about building HTTP APIs and frameworks.

Speakers

Talk track 2

A Django project template for a RESTful Application using Docker

04:30 PM 05:15 PM

Presenting a template ready to use for a simple Django application in a Docker container environment. The code is available here https://github.com/jaimebuelta/django-docker-template and the talk will walk through some of the caveats and tricks of working in a useful Docker environment.

Speakers

Talk track 1

Fun with WebSocket and Flask

05:15 PM 06:15 PM

WebSocket enables a web server to establish dedicated connections with clients, on which raw data can flow at any time and in any direction, free of the request/response cycle and the "chattiness" of the HTTP protocol. Paired with a high-level protocol such as Socket.IO, you get a powerful and easy to use framework for bi-directional, low latency communication, with clients available for Python, JavaScript, Java, iOS, Android, C++, .Net and more. Flask is a lightweight and very popular web framework for Python that makes writing web servers easy and fun, without sacrificing any power. What happens when you combine WebSocket, Socket.IO and Flask? In this talk I'm going to show you some of the cool applications that you can build when these technologies are put to work together, including streaming audio and video, real-time sensor data, automatic voting and more!

Speakers

Talk track 2

Understanding Customer Intent at Scale in an e-commerce Platform

05:15 PM 06:15 PM

Zalando is an European Fashion platform with a yearly revenue of ~3.6 Billion Euro. We have more than 20Million active customers and more than 200 Million visits per month. Our tech department has around 1700 people across 3 different countries. Operating in Germany is very interesting from a data protection point of view (specially for products like this) In this talk we present a technical overview of customer intent; a product that assigns a state (exploring, gathering, comparing or deciding) to each customer at any given point in their customer journey in the Zalando shop. We will introduce the problem of customer intent and briefly present our unsupervised approach to solve this model which uses a Hidden Markov Models algorithm. During this talk, we will explain the main challenges we faced on each of the steps when building, and the lessons learned from building this product from an engineering perspective. We will introduce our architecture, the reason behind using PySpark to build our product and how we made extensive use of Apache Zeppelin notebooks and branch-specific deployments in AWS EMR clusters for early experimentation. We will then show how we rewrote parts of the Python HMMLearn library using PySpark to achieve almost linear scalability. Finally, we will explain our use of AWS Data Pipelines to run daily jobs for both feature creation and scoring Zalando customers across 6 different countries, and how we support our product being used by several personalization products in different contexts.

Speakers

Talk track 1

Closing Ceremony

06:15 PM 06:30 PM

Quick closing ceremony.

Speakers