PyConIE 2017

21 Oct 2017 • Radisson Blu
Tickets

Speakers

Schedule

  • 21 October
  • 22 October

Allen Thomas Varghese

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

22 October

AB

Ana Balica

Senior Software Engineer
StreetTeam

21 October

AM

Anthony Munnelly

Business Intelligence Analyst
Fusioneer
Data Scientist, journalist. Combining cutting edge machine-learning algorithms with old-school storytelling values to deliver business insight.

22 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. Experimenting Deep Learning and Machine Learning applications. Working on Image classification/localization/recognition and Recommendation Systems with Big Data.

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

DG

Damian Gordon

21 October

DL

Dave Lawless

22 October

David Markey

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

21 October

21 October

22 October

22 October

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

HC

Howard Chu

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

JB

Jaime Buelta

22 October

JV

Jan van der Vegt

21 October

Julia Looney

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

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

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

MM

Mike Müller

21 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

PM

Piotr Milian

21 October

PF

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

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

SW

Stephane Wirtel

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

TO

Tracy Osborn

22 October

VV

Vishal Vatsa

21 October

Registration

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

Brandon Rhodes Keynote - Topic TBD

09:30 AM 10:30 AM

Brandon Rhodes Keynote

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

Faster Python Programs - Measure, don't Guess

10:30 AM 01:00 PM

Optimization can often help to make Python programs faster or use less memory. Developing a strategy, establishing solid measuring and visualization techniques as well as knowing about algorithmic basics and datastructures are the foundation for a successful optimization. The tutorial will cover these topics. Examples will give you a hands-on experience on how to approach efficiently. Python is a great language. But it can be slow compared to other languages for certain types of tasks. If applied appropriately, optimization may reduce program runtime or memory consumption considerably. But this often comes at a price. Optimization can be time consuming and the optimized program may be more complicated. This, in turn, means more maintenance effort. How do you find out if it is worthwhile to optimize your program? Where should you start? This tutorial will help you to answer these questions. You will learn how to find an optimization strategy based on quantitative and objective criteria. You will experience that one's gut feeling what to optimize is often wrong. The solution to this problem is: „Measure, Measure, and Measure!“. You will learn how to measure program run times as well as profile CPU and memory. There are great tools available. You will learn how to use some of them. Measuring is not easy because, by definition, as soon as you start to measure, you influence your system. Keeping this impact as small as possible is important. Therefore, we will cover different measuring techniques. Furthermore, we will look at algorithmic improvements. You will see that the right data structure for the job can make a big difference. Finally, you will learn about different caching techniques.

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

With actual historical time series data and the most popular market risk models create alternate models with scikit learn. (Please note that I have a number of proposals as I have been on sabbatical (after corrective surgery) and therefore a lot of time to work on these things) https://linkedin.com/in/pjfitzpatrick

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

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

Pandas is an open source data analysis library and Celery is an asynchronous task queue/job queue. With the usage of Celery and Pandas, there can made various complex analysis on-the-fly. CSV, Excel, any RDBMS and NoSQL databases can be used as datasource to input as well as output.

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 - Topic TBD

02:00 PM 02:45 PM

Rapid Ratings Keynote

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

This is the repo for a recommender systems interactive session (workshop). Here you will find all the relevant resources, as well as the code that will be used. The goal of the workshop is to introduce people to recommender sytems, build your own recommender system and evaluate it by generating recommendations for you and other attendees. The code is open source and it supports a workshop, which should be a relaxed and interactive environments, with people helping you to go through the examples. If you want, you can join a friend and code together. This workshop has previously been presented at the Women Who Code meetup in Dublin 2016, UNIT2017 conference in Berlin, and the Tech Open Air (TOA) conference in Berlin 2017 For more information, please see : http://hcorona.github.io/recsys-101-workshop/

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

I would like to submit a proposal for a talk at Pycon Ireland 2017. I am lead data scientist at Brightflag,a Dublin startup focused on bringing analytics to legal operations spend management. With a customer base in the US,Ireland and Australia Brightflag are changing how internal council and legal service providers engage with each other bringing greater transparency to the process for all parties. At Brightflag we develop machine learning models that are deployed as part of a legal spend management platform to enable both sides to understand exactly how legal work is being carried out and how this relates to industry norms and best practices. Prior to this I was a Senior Data Scientist at Presidion. I spent 5 years in total at the company working on applying advanced analytics to projects across healthcare,finance,banking and utilities in the UK and Ireland. I would like to present a discussion of the application of neural networks to legal spend management. In particular I would like to discuss the application of Convolution Neural Networks to legal narrative text data. 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.. We have developed Convolution Neural Networks at Brightflag to great success with a 150% increase in subset accuracy versus traditional methods such as Support Vector Machines. We are focused on developing networks in Python using Keras in association with Theano and Tensor Flow to develop our network architectures. I hope that this proposal is as interesting to you as it is to me and I look forward to discussing the proposal in more detail with you. Kind Regards, Michael Dineen.

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

Tokens of Men and of Angels: Using Natural Language Processing to Compare Biblical Translations and Identify Victorian Novelists

05:15 PM 06:15 PM

The most popular algorithm in Natural Language processing is called Term Frequency – Inverse Document Frequency. This talk is divided into three parts, one part on the theory behind the algorithm and two of practical implementation of the sklearn TfidfVectorizer. The theory parts discusses what we mean by Natural Language; when a word is not a word, and the maths behind the tf/idf algorithm. The theory being covered, we then compare four different Biblical translations of Chapter 13 of St Paul’s First Letter to the Corinthians, to get a closer understanding of how the algorithm works. The final practical example is to use tf/idf to compare four Victorian novels – Bleak House and Great Expectations, both by Charles Dickens, Far from the Madding Crowd, by Thomas Hardy, and Wuthering Heights, by Emily Bronte, to see if the algorithm can identify which of the novels have the common author.

Speakers

Talk track 1

Closing Ceremony

06:15 PM 06:30 PM

Quick closing ceremony.

Speakers