This workshop is an introduction to the popular data science library Pandas. The workshop will be using a Jupyter notebook to work through a case study and find answers to questions. The workshop will be using Python3. If you don't have python installed, the recommended way is to use Anaconda as it has everything pre-installed. It is expected that the attendees would already have some experience working with Python and is looking to expand their knowledge in the area of data analysis. The source code used for the workshop would be available on Github.
Allen Thomas Varghese ,
Allyn Hunt ,
In this session, I will apply NLP methods to explore press releases by governments in order to understand public policy decisions. This talk will be based on my PhD research in applying topic models to Federal Reserve communication and analyzing how important themes influence financial markets. I will walk through a Jupyter notebook that covers the main steps of text preprocessing, feature extraction, topic modeling (LDA or NMF), visualizing topics, and possibly regression analysis to assess the impact of the information financial markets. It will include mentions to packages like gensim, Scikit Learn, Word Cloud, and possibly statsmodels. The material for the session can be found in a public Github repository: https://github.com/ancilcrayton/nlp_public_policy I hope that this session will inspire participants to apply their Python and data science skills to interesting problems lurking in public policy.
Ancil Crayton ,
Setup, configuration, and use of Python Data Science tools, highlighting some of the technical pitfalls / statistical failings people often come across in the cleaning and analysis of data. Focus on using multiple datasets from OpenDataNI to generate insights into economic policy and educational attainment in Northern Ireland.
Andrew Bolster ,
Part of the title originates from a quote by computer scientist Gerry Sussman on the new MIT introduction to programming course, which (in Sussman's view) focused more on building practical applications at the expense of many computer science fundamentals. The talk will look at some of the advantages and pitfalls of the increasing trend of using Python as an introductory programming language: partially through some personal anecdotes and partially through friends and colleagues' experiences. It will also look at the increasing divergence between those involved in software development and those who, educated through Python, are based in other domains as their primary job but are using their new Python-based knowledge to assist their daily work (in finance, insurance etc). I have rated this as Intermediate as some knowledge of Python will be needed as well as understanding some Computer Science basics (i.e arrays vs lists). Some side by side comparisons will take place using Python against Scheme (aspects of fundamental programming and comparing a 'traditional' computer science course re-written in Python), Lua (another contender for when I taught some basic programming) and C (comparison to another popular introductory language and low level details).
Ben Fagan ,
In this talk I will describe and present ideas for a machine translation prototype implemented in Keras. I will cover Neural Machine Translation, which is an approach to machine translation that uses a large neural network. It departs from phrase-based statistical approaches that use separately engineered subcomponents. E.g. Google uses Google Neural Machine Translation (GNMT) in preference to its previous statistical methods. NMT has highly promising performance for large training data. The common principle is encoding the meaning of input into concept space and performing translation based on encoding which leads to deeper understanding and learning of translation rules, for better translation than SMT. The problem is the tendency towards overfitting to frequent observations and overlooking special cases. With the cause that the translational function is shared, so high- and low-frequency pairs impact each other by adapting shared parameters. Smoothness of translation function makes infrequent pairs seem like noise.
Bojan Bozic ,
Finite state machines are usually the thing of nightmares for CS undergrads. The first question any CS student asks after seeing them is "But where will I ever use this?". The answer surprised us too: You can use FSM's almost everywhere. In this talk we will do a recap on Finite State Machines, and show you some examples of where we use them at Telnyx. We will also show the transactions library and how we use this library to process FSMs in a distributed manner. And we end on a small demo of how you can use FSM machines in a real world application.
Brian Stempin ,
Talk Abstract ========== There are lots of reasons using a cloud service is favorable, but how to make sure consistency between development and deployment? With Docker and Terraform, we can create the same environment on cloud easily. For example, we will deploy a Jupyter notebook on Google Cloud Platform using both tools. Talk Description ============ In this talk, we will use a task: hiring a GPU on Google Cloud Platform to train neural network, as an example to show how an application can be deployed on a cloud platform with Docker and Terraform. The goal is to have Jupyter Notebook running in an environment with Tensorflow (GPU version) and other libraries installed on a Google Compute Engine. First we will briefly explain what is Docker and what is Terraform for audiences who has no experience in either or both of them. Some basic concepts of both tools will also be covered. After that, we will walk-through each steps of the work flow, which includes designing and building a Docker image, setting up a pipeline on Github and Docker Hub, writing the Terrafrom code and the start up script, launching an instance. From that, audiences will have an idea of how both tools can be use together to deploy an app onto a cloud platform and what advantages each tool can bring in the process. This talk is for people with no experience in application deployment on cloud service but would benefit form computational reproducibility and cloud service, potentially data scientists/ analysts or tech practitioners who didn’t have a software developing background. We will use an example that is simple but useful in data science to demonstrate basic usage of Docker and Terraform which would be beneficial to beginners who would like to simplify their work flow with those tools.
Cheuk Ho ,
Career reboot workshop
Claire Conroy ,
numpy and numba are popular Python libraries for processing large quantities of data. When running complex transformations on large datasets, many developers fall into common pitfalls that kill the performance of these libraries. This talk explains how numpy/numba work under the hood and how they use vectorisation to process large amounts of data extremely quickly. We use these tools to reduce the processing time of a dataset from 3 years to 12 hours, even when the code is run on a single Macbook Pro.
Donald Whyte ,
Brett Becker (UCD) and Keith Quille (IT Tallaght) will jointly discuss the current state of Python in education, internationally and nationally. Brett will focus on Python education on an international level, with a focus on introductory programming courses (CS1), for both uptake trends and research findings. This then sets the scene for Keith to discuss the current state of Python in Irish education, with a specific focus on the new Leaving Certificate Computer Science Subject, which has just started its phase one. Details of the subject and its content, in particular Python will be presented. Finally an overview of a large scale initiative is described, where in the 2017-2018 academic year, the team traveled to 95 schools and delivered computing camps to just under 3000 students. This was run in parallel to teacher continuous professional development (delivered to 500 teachers), where the Python played a significant role. Interesting anecdotal findings are presented, and the plan for the initiative for the 2018-2019 academic year is described, where the team hopes to reach almost 6000 students.
Dr. Brett Becker ,
Keith Quille ,
Dr Suzanne Little is a funded investigator with the Insight Centre for Data Analytics and assistant professor in the school of computing at Dublin City University. She's been using python for various research projects in her area of multimedia content analysis for almost 20 years and somewhat accidentally arrived at the point of teaching python and, in particular, Jupyter Notebooks for data analytics and visualisation. This talk will describe how python is used in the background of EU projects for driver assistance systems, the Smart Stadium for Smarter Living initiative with Croke Park and for the latest deep learning for computer vision research. Suzanne will also discuss some experiences in using python for public tech courses, undergraduate programmes and data analytics specialisations.
Dr. Suzanne Little ,
This intermediate level talk will focus on introducing the three pillars of Observibility (1: structured logging 2: metrics 3: tracing) to your Python application. The learning objective is to introduce existing Python developers to each area as well as best practices (RED/four golden signals) and the specific Python libraries they can use in their applications. It aim is that by the end people will know how to add specific tools plus related best practices to their existing applications to provide greater insight into their systems. The closest example is that this talk will pragmatically present the content of "Distributed Systems Observibility" O'Reilly into concrete actions and libraries to use. Some anecdotes and examples of how these have gone for the speaker in his production systems will also be noted.
Eoin Brazil ,
At Fieldguide we are developing a digital field guide for all species of flora and fauna across the planet. We are using image recognition technology to enable species identification and to help with the curation of this massive catalogue. In this talk I will describe how we are building an image recognition system with the aim of identifying all known species in the natural world. The system has gone through a number of iterations at this point using a variety of computer vision and machine learning techniques, from nearest neighbour search to classification with fine tuned deep convolutional networks. All of this has been implemented in Python using scikit-learn, Numpy, Caffe and Tensorflow. Aside from the obvious machine learning challenges in designing and training such a system we faced numerous technical challenges while implementing and scaling this system in a cost effective manner. I will discuss these challenges, our solutions and the remaining open problems. While this talk will be relatively high level with few code examples and no math (but lots moths), it will be of most interest to those who have some knowledge of machine learning concepts.
Fergal Walsh ,
Talk Title: Introduction to Spark Streaming In this workshop assistants will learn how to process streams of data in real time by using spark and python. A series of coding exercises will guide audience across most relevant Spark DStreams features. Assistants will also learn how to integrate spark streams with other spark extensions. Key Features Consume data streams in real time from TCP Servers. Apply data processing techniques such as map reduce to live streams of data. Integrate data stream processing with other Spark extensions. Description Processing big data on real time is a challenging endeavor for different reasons such as scalability difficulties, consistency of the information, tolerance to faults, among others. Apache Spark provides a collection of APIs that can be used to perform general-purpose computation in clustered environments. The aim of this workshop is to bring an introduction to processing of data in real time by using spark. The proposed workshop contains 3 sections, each one of 30 minutes. The remaining time will be used to answer questions and help assistants with the practical exercises. The first section of the workshop provides an introduction to most relevant features of Spark, including Resilient Distributed Datasets (RDDs), SQL and Dataframes. The second section covers how to use Spark Streaming API to consume data streams on real time from TCP sockets. The third section shows how to integrate Spark Streaming with the machine learning Spark extension. Audience This workshop is aimed to software engineers, architects and IT professionals in general with interest in distributed systems and big data analytics. No previous knowledge or experience with spark is required but it will be helpful. Basic python knowledge is expected. Biography Manuel Ignacio Franco Galeano, computer scientist from Colombia. He works for Fender musical instruments as lead engineer in Dublin, Ireland. He holds a MSC in computer science from University College Dublin UCD. His areas of interest and research are music information retrieval, data analytics, distributed systems, blockchain technologies among others.
Franco Galeano Manuel Ignacio ,
To begin, this talk will briefly run through the oAuth2 RFC and describe how each of the roles maps to a functionality in a modern microservices architecture. It will describe the middleware available through the Django oAuth Toolkit and where that needs to be brought in to implement an oAuth-compliant solution. We'll look at the different endpoints the oAuth toolkit exposes, what we need them for and how they fit into the authentication flow. I'll also discuss what to do if your use case is not exactly as described in the (limited) documentation available, as well as the extra steps needed to use the toolkit for your own standalone oAuth server. At the end of this talk, attendees should feel confident in utilising the Django oAuth Toolkit as an extra layer of authentication for their own web APIs.
Jolene Dunne ,
Python is a language that in a easy way allows to scale up from starter projects to complex applications for data processing and serving dynamic web pages. But as you increase complexity in your applications, it can be easy to introduce potential problems and vulnerabilities. In this talk, I will highlight the biggest problems we can find in python functions, how to use then in a secure way and tools and services that help you identify vulnerabilities in the python source code. These could be the main talking points: -Introduction to secure programming in python. -Introduce dangerous functions for code inyection and how we can solve this issues from a security point of view. -Common attack vectors on Python applications like Remote Command Execution and SQL injection -Best practices for avoid execution of malicious commands -Tools that help us to protect and obfuscate our source code
Jose Manuel Ortega ,
Panel discussion with sponsors looking to hire. Only verified sponsors can be on the panel.
Kevin O'Brien ,
Test-Driven Development is a methodology that can greatly improve the quality of your software. I strongly believe that developing software without following as much as possible a test-driven approach leads to massive delays and greater issues when requirements change (always, that is). In this workshop we will develop a very simple Python project following TDD with the help of the pytest framework. We will work together, and no previous knowledge of testing or the testing framework is required. A minimum knowledge of Python is required, but the project will be very simple, so that we can focus on learning the testing methodology. Presented at London PyLadies Meetup and PyCon UK 2018. Attendees, please clone the repository at https://github.com/lgiordani/pytest_workshop and follow the instructions. Please do it before the workshop.
Leonardo Giordani ,
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 workshop 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. The workshop has been presented at many Python conferences, including PyCon Ireland in past years and has always been full packed of attendees. This year I completely reworked the slides to better explain some of the points where attendees struggled in the past.
Leonardo Giordani ,
In this talk we will present how python is used to develop a machine learning based 3D medical imaging processing pipeline in axial3D. We will provide a demo taking relevant scientific packages and develop a simple algorithm to detect bony anatomy. A 3D printable model will be produced at the end of the demo. We will also show how we use existing 3D mesh python packages to adjust properties of the object for visualisation in screen and mixed reality platforms. The healthcare sector produces vast quantities of three dimensional images for the diagnosis and treatment of a large variety of medical conditions. Traditionally, the 3D images are reviewed by a highly qualified healthcare professional such as a radiologist or surgeon. As a result, the diagnosis and treatment of patient is time consuming, expensive and not scalable; moreover, this approach has limited efficacy as the medical doctor may not be able to obtain a general understanding of the anatomic three dimensional structure (e.g the shape and size of a tumor, the position of each bony fragment in a complex fracture, the location of an aneurysm together with surrounding vasculature, etc). The talk will focus on the advanced image processing techniques and Deep Learning approaches that are in active development developed both within academia and the private sector. These approaches aim to achieve a faster and better understanding of medical scans. They allow healthcare systems to provide a cheaper, faster and more effective medical service to patients. The results of the image analysis can then be rendered to the medical staff using a Virtual Reality, or an Augmented Reality system. 3D prints can also be employed to convey a very tangible experience as well as allow the medical staff to prepare for the operation by setting up a mock procedure on the 3D prints.
Lorenzo Trojan ,
Always wanted to publish a package on PyPI, but didn't know where to start? This talk is for you! Starting with nothing, we'll build a package and publish it on PyPI using current best practices. By the end of this talk, you'll be so comfortable packaging projects you won't avoid writing `setup.py` files any more! Maybe you'll even start writing new code just so you can publish it on PyPI!
Mark Smith ,
What exactly _are_ functions? Let's talk about functions, methods, callables and closures - what they are, what you can give them, what they can give you, what you can do with them ... and what's inside. You probably think you already know everything about functions, but you probably don't! By the end of this talk, I guarantee* you'll know more about callables than when you walked in, along with techniques both practical and so extreme your colleagues will never let you merge them to master. (*This guarantee is legally non-binding and cannot be redeemed in any way.)
Mark Smith ,
With our accrued experience with GANs, we would like to guide you through the required steps to go from theory to production with this revolutionary technology. Starting from the very basic of what a GAN is, passing trough Tensorflow implementation, using the most cutting-edge APIs available in the framework, and finally, production-ready serving at scale using Google Cloud ML Engine. NOTE: this would be an extended version of the workshop we held at EuroScipy 2018 Materials and Detailed description: https://github.com/zurutech/gans-from-theory-to-production
Michele De Simoni ,
Requires: entry-level Python and TensorFlow (Keras) knowledge Generative Adversarial Networks (GANs for brevity) are one of the hottest topics in the Deep Learning world. This talk aims at laying down some theoretical foundations while overviewing the most significant milestones achieved by this family of models and showing how to code one using Python, TensorFlow, and Keras.
Michele De Simoni ,
Software engineers are usually advised to invest some of their free time on side projects, as a way to hone their skills and build a portfolio to show off while job hunting. While Miguel Grinberg is a big fan of personal projects, his reasons are completely different. He hopes to convince you to start a personal project of your own after giving you a fresh perspective on this practice.
Miguel Grinberg ,
Python Beginners Workshop
Mike Müller ,
Asynchronous programming can have many advantages, but may be awfully complicated. It also requires a developer to think differently. In this talk I will go through what async programming is, when you should or should not use it, and what we can do to avoid getting lost. I will also explore various approaches and tools available in Python.
Mikhail Medvedev ,
Python is a versatile language and it supports a wide variety of programming paradigms. At its heart it's object-oriented, but in this talk I want to discuss how you can use Python to write clean, efficient, and modular functional code. I'll begin by giving a little background on what functional programming is and why you might use it. I'll talk through some of the simple primitives of functional programming, and I'll give some useful examples of functional code for data analysis. The aim is to give a practical and pragmatic introduction to these ideas, covering some of the strengths and weaknesses of Python as a functional language.
Neal Ó Riain ,
A selection of lightening talks. Please sign up to give a lightening talk!
Niall O'Connor ,
The PyConIE Quiz!
Niall O'Connor ,
Python sometimes gets a bad rap for being a slow language, but slow code can be written in any language. The first step towards accelerating code is identifying where it’s slow: a 100x speed up to something that takes 1% of the time pales in comparison to a 1.1x speed up of something that takes 50% of the time. The Python Standard Library provides a collection of packages to get started--profile, cProfile, and pstats--and the community well goes deeper with interactive visualizations, deterministic vs. statistical, line vs. call stack profilers. In this talk, we will demo how to instrument sample slow code using cProfile, then find the source of the problem using the interactive tool SnakeViz. Another demo will be shown using py-spy, a statistical profiler which can be attached to running processes, requiring no modification to existing code.
Nick Timkovich ,
Atrial fibrillation (AF) is the most common irregular heartbeat among the world’s population and is a major contributing factor to clot formation within the heart. When such a blood clot enters the cardiovascular system, it first must travel along the ascending aorta. The clot may travel along the aortic arch and travel towards the brain through the left and right common carotid arteries. If clot enters these vessels, it can become lodged within the smaller vessels of the brain and cause a stroke. We apply supervised machine learning classifiers (logit, SVM) for detecting stroke probability using simulation data. Various scenarios are implemented to examine the impact of variables such as shape of the aortic arch, varying clot dimensions and the entry point. Model selection tools (grid search, cross-validation) and classification probability are calculated for each classifier. Application will be shown using Jupyter notebooks.
Olga Lyashevska ,
Python Ireland ,
Full day web development workshop for beginners
Python Ireland ,
Python Ireland ,
This talk will attempt to explain how to version an API within the Django framework. Say you need to change the data that your API returns to your users, but any major changes would result in breaking the API for users of any previous versions. This talk will explain how to avoid this problem, which as a developer who works on APIs with the Django framework every day is a constant problem that I would have to face. This talk will cover: 1.) Why do I even have to version my API in the first place? Surely I can just make changes? 2.) Okay, now I understand why to version my API in Django. What about the how? (this will mainly focus on the Django REST framework's library of versioning, but other methods will be considered) 3.) Live Demo of breaking changes (oh no!) and how we can apply our knowledge from the second part of the talk and avoid these.
Rebecca Martin ,
Richard Feynman wrote on a blackboard: "What I cannot create, I do not understand". We can 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 the asyncio module), and proof of work. This "talkshop" explains how cryptocurrencies work in simple terms and with practical examples. Just some basic knowledge of Python required. We will also learn about cypherpunk culture, the value of money, and how decentralised systems work.
Rigel Di Scala ,
The ability to explore and grasp data structures through quick and intuitive visualisation is a key skill of any data scientist. Different tools in the Python ecosystem required varying levels of mental-gymnastics to manipulate and visualise information during a data exploration session. The array of Python libraries, each with their own idiosyncrasies, available can be daunting for newcomers and data scientists-in-training. In this talk, we will examine the core data visualisation libraries compatible with the popular Pandas data wrangling library. We'll look at the base-level Matplotlib library first, and then show the benefits of the higher-level Pandas visualisation toolkit and the popular Seaborne library. By the end of the talk, you'll be bar plotting, scatter plotting, and line plotting (never pie charting) your way to data visualisation bliss.
Shane Lynn ,
Released in June before the conference, Python 3.7 is a feature-packed release! This talk will cover all the new features of Python 3.7, including the Data Classes and the Context Variables for the asynchronous programming with asyncio.
Stephane Wirtel ,
This talk is broken into 4 sections: Section 1: The structure of the Leaving Certificate Computer Science pilot scheme Section 2: The structure of the Leaving Certificate CS Specification Section 3: How Python can be applied to the Leaving Certificate CS specification Section 4 : The Computer Science Teachers' Association of Ireland and Python Ireland I am the founder of the Computer Science Teachers' Association of Ireland and have been in contact with Nicolas Laurence about links between the CSTAI and Python Ireland. Nicolas suggested that I should come to the conference and submit a talk about this topic.
Stephen Murphy ,
Packages that won't install, encodings that don't work, installers that ask too many questions, and having to own a PC are all great reasons to just ignore Windows. Or they would be, if they were true. Despite community perception, more than half of Python usage still happens on Windows, including web development, system administration, and data science, just like on Linux and Mac. And for the most part, Python works the same regardless of what operating system you happen to be using. Still, many library developers will unnecessarily exclude half of their potential audience by not even attempting to be compatible. This session will walk through the things to be aware of when creating cross-platform libraries. From simple things like using pathlib rather than bytestrings, through to all the ways you can get builds and tests running on Windows for free, by the end of this session you will have a checklist of easy tasks for your project that will really enable the whole Python world to benefit from your work.
Steve Dower ,
This workshop is aimed at Python programmers who aspire to learn about Kubernetes and take advantage of the efficiency and flexibility it offers. We will use a simple Flask application that allows users to create, edit and save Jupyter notebooks “in the cloud” - you can think of it as a poor man’s JupyterHub to teach the participants about Kubernetes. After this workshop, the participants will be able to: 1) Describe containers and container orchestration 2) Describe the architecture and components of Kubernetes 3) Run a Kubernetes cluster on their notebook 4) Deploy and manage services on the cluster 5) Write declarative recipes for reproducing the setup universally
Steve Holden ,
Domain-specific languages can be incredibly useful in boosting your productivity within their area of focus (think RegExp, CSS or NumPy). And they often allow you to improve communication about the problem area with non-technical people. But it's not a tool most Software Practitioners feel comfortable employing. This talk is an attempt to fix that 🙂. We'll look at the situations when it can be beneficial to create a DSL. And explore various approaches to building internal DSLs with Python. --- You can find all the examples, references and slides here: https://github.com/Stvad/pyconie_dsl
Vladyslav Sitalo ,