🌎 Community-curated list of tech conference talks, videos, slides and the like — from all around the world

📅 2018-05-11
🌎 Cleveland, OH, United States
The PyCon 2018 conference, which will take place in Cleveland, is the largest annual gathering for the community using and developing the open-source Python programming language.
This page was generated from this YAML file. Found a typo, want to add some data? Just edit it on GitHub.
  • 🎤

    • 📹 1 video
    • 👤 Irina Truong
    Until very recently, Apache Spark has been a de facto standard choice of a framework for batch data processing. For Python developers, diving into Spark is challenging, because it requires learning the Java infrastructure, memory management, configuration management. The multiple layers of indirection also make it harder to debug things, especially when thro…
  • 🎤

    • 📹 1 video
    • 👤 Philip James
    • 👤 Asheesh Laroia
    In this talk, you’ll learn about a category of security issue known as side channel attacks. You’ll be amused to see how features like automatic data compression, short-circuit execution, and deterministic hashing can be abused to bypass security systems. No security background knowledge is required. The talk assumes at least intermediate Python experience. …
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Alex Petralia
    “So tell me,” my manager said, “what is an average?” There’s probably nothing worse than that sinking feeling when you finish an analysis, email it to your manager or client to review, and they point out a mistake so basic you can’t even fathom how you missed it. This talk is about mine: how to take an average. Averages are something we use everywhere - it’s…
  • 🎤

    • 📹 1 video
    • 👤 Kelsey Pedersen
    Do we even need humans? Humans and data science are flawed on their own. Humans lack the ability to process large volumes of information. Machines lack intuition, empathy, and nuance. You'll learn how to guide users of expert-use systems by applying data science to their user experience. This allows us to take advantage of the human-touch while leveraging ou…
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Andrew Knight
    Behavior-Driven Development (BDD) is gaining popularity as an improved way to collaborate over product features and tests. In Python, behave is one of the leading BDD test frameworks. Using behave, teams write Gherkin behavior scenarios (e.g., tests) in plain language, and then programmers write Python code to automate the steps. BDD testing is great because…
  • 🎤

    • 📹 1 video
    • 👤 Julie Lavoie
    Scraping one web site for information is easy, scraping 10000 different sites is hard. Beyond page-specific scraping, how do you build a program than can extract the publication date of (almost) any news article online, no matter the web site? We’ll cover when to use machine learning vs. humans or heuristics for data extraction, the different steps of how to…
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Hillel Wayne
    You've used pytest and you've used mypy, but bugs are still slipping through your code. What's next? In this talk, we cover two simple but powerful tools for keeping your code problem-free. Property-based testing, provided by the Hypothesis library, lets you run hundreds of tests from a single template. Contracts, via dpcontracts, make your program test itse…
  • 🎤

    • 📹 1 video
    • 👤 Kirk Kaiser
    In the past few years, the power of computer vision has exploded. In this talk, we'll apply a deep learning model to a bird feeder. We'll use that model to detect, identify, and record birds that come to a smart bird feeder. Along the way, we'll learn about different platforms to deploy deep learning cameras on, from the lowly Raspberry PI all the way up to …
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Sam Kitajima-Kimbrel
    Facebook, Google, Uber, LinkedIn, and friends are the rarefied heights of software engineering. They encounter and solve problems at scales shared by few others, and as a result, their priorities in production engineering and architecture are just a bit different from the rest of us down here in the other 99% of services. Through deconstructing a few blog po…
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Jiaqi Liu
    It’s one thing to build a robust data pipeline process in python but a whole other challenge to find tooling and build out the framework that allows for testing a data process. In order to truly iterate and develop a codebase, one has to be able to confidently test during the development process and monitor the production system. In this talk, I hope to addr…
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Joyce Jang
    We build product and software as teams. And as anyone who as worked on a team knows, there’s often a lot more that goes into working together to build that product than actually just building the product itself. A highly functional team is not as elusive it may seem. Software engineering is a skill we’ve developed, but even more importantly software engineer…
  • 🎤

    • 📹 1 video
    • 👤 Sophie Rapoport
    As engineers, we care a lot about the reliability of our applications. When a website falls over, pagers go off, and engineers burst into action to bring a site back to life. Postmortems are written, and teams develop strategies to prevent similar failures in the future. But what about the reliability of our data? Would you trust financial reports built on y…
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Stacy Morse
    Code reviews don't have to be a time consuming, morale zapping, arduous tasks. Not only can they catch bugs and errors but they can contribute in positive ways to the individual developer, the team, management and company as a whole. Art critiques have existed in academia for hundreds of years. The methodology of the critique has evolved to be time sensitive…
  • 🎤

    • 📹 1 video
    • 👤 Chris Schuhmacher
    In 2017, I was released from prison after serving 17 years. One of the most transformational experiences I had while incarcerated was learning to code, through a pioneering new program called Code.7370 — the first coding curriculum in a United States prison. In this talk, I’d like to share my experiences learning to code in prison and getting a software engi…
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Shohei Hido
    Website | Docs | Install Guide | Tutorial | Examples (Official) | Forum CuPy is an open-source library with NumPy syntax that increases speed by doing matrix operations on NVIDIA GPUs. It is accelerated with the CUDA platform from NVIDIA and also uses CUDA-related libraries, including cuBLAS, cuDNN, cuRAND, cuSOLVER, cuSPARSE, and NCCL, to make full use of t…
  • 🎤

    • 📹 1 video
    • 👤 Holden Karau
    Apache Spark is one of the most popular big data projects, offering greatly improved performance over traditional MapReduce models. Much of Apache Spark’s power comes from lazy evaluation along with intelligent pipelining, which can make debugging more challenging. This talk will examine how to debug Apache Spark applications, the different options for loggi…
  • 🎤

    • 📹 1 video
    • 👤 Van Lindberg
    In 2011 I gave a talk about "Killing Patents with Python" - finding the right piece of prior art by using statistical natural language processing techniques on the US Patent Database. A number of unexpected benefits came out of that exploration, including the ability to describe large patent portfolios and businesses in a way that had not been done before. S…
  • 🎤

    • 📹 1 video
    • 👤 Lisa Roach
    One of the most challenging and important thing fors for Python developers learn is the unittest mock library. The patch function is in particular confusing- there are many different ways to use it. Should I use a context manager? Decorator? When would I use it manually? Improperly used patch functions can make unit tests useless, all the while making them l…
  • 🎤

    • 📹 1 video
    • 👤 Nina Zakharenko
    Are you an intermediate python developer looking to level up? Luckily, python provides us with a unique set of tools to make our code more elegant and readable by providing language features that make your code more intuitive and cut down on repetition. In this talk, I’ll share practical pythonic solutions for supercharging your code. Specifically, I'll cove…
  • 🎤

    • 📹 1 video
    • 👤 Stephanie Kim
    Anyone who is interested in deep learning has gotten their hands dirty playing around with Tensorflow, Google's open source deep learning framework. Tensorflow has its benefits like wide scale adoption, deployment on mobile, and support for distributed computing, but it also has a somewhat challenging learning curve, is difficult to debug, and hard to deploy…
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Anna Ossowski
    You maintain an Open Source project with great code? Yet your project isn’t succeeding in the ways you want? Maybe you’re struggling with funding or documentation? Or you just can’t find new contributors and you’re drowning in issues and pull requests? Open Source is made up of many components and we are often better-trained in methods for writing good code,…
  • 🎤

    • 📹 1 video
    • 👤 Christopher Neugebauer
    • 👤 Josh Simmons
    • 👤 Sam Kitajima-Kimbrel
    New conferences rarely have resources to run the sort of outreach and inclusion programs that big conferences have. It’s hard to guess how much money you’ll have to spend, how many attendees you’ll have, and what your new community will look like. With so many things to worry about, it’s no surprise that most events don’t prioritise outreach until they’ve go…
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 David Gouldin
    Timezones are one of those things every programmer loves to hate. Most of us, at least in the US, just try to ignore them and hope nobody notices. Then twice a year, we fear with impending doom those 3 small words: Daylight Saving Time. It doesn't have to be this way. Armed with some best practices and a little help from supporting libraries, timezone-relate…
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Padmaja Bhagwat
    Imagine you have an appointment in a large building you do not know. Your host sent instructions describing how to reach their office. Though the instructions were fairly clear, in a few places, such as at the end, you had to infer what to do. How does a robot (agent) interpret an instruction in the environment to infer the correct course of action? Enabling…
  • 🎤

    • 📹 1 video
    • 👤 Allison Kaptur
    Wrestling bugs can be one of the most frustrating parts of programming - but with the right framing, bugs can also be our best allies. I'll tell the tales of two of my favorite bugs, including the time I triggered a DDOS of a logging cluster, and explain why I love them. I'll also give you concrete strategies for approaching tricky bugs and making them easie…
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Jake VanderPlas
    Python provides a powerful platform for working with data, but often the most straightforward data analysis can be painfully slow. When used effectively, though, Python can be as fast as even compiled languages like C. This talk presents an overview of how to effectively approach optimization of numerical code in Python, touching on tools like numpy, pandas,…
  • 🎤

    • 👤 Ravi Chityala
    Quantum computers are slowly turning in to reality more than 30 years after they were first theorized. The need for quantum computers have become clear as we reach the limits of Moore’s law and yet we need more computational power. We are at a very early stage of quantum computing. Yet Python is slowly becoming a defacto language for programming quantum comp…
  • 🎤

    • 📹 1 video
    • 👤 Amanda Sopkin
    There are many computational needs for randomness--from creating a game to building a simulation involving naturally occurring randomness similar to the physical world. For most purposes using the python math module to create random numbers within a specific range can be done with no further questions, but sometimes we require a more nuanced implementation. …
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Valery Calderon
    Web applications contains lots of database operations, network calls, nested callbacks and other computationally expensive tasks that might take a long time to complete or even block other threads until it's done, here is where ReactiveX enters, it doesn't only gives us the facility to convert almost anything to a stream; variables, properties, user inputs, …
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Liz Sander
    When you think of an API, you’re probably thinking about a web service. But it’s important to think about your developer interface when designing a software library as well! I’ll talk about the scikit-learn package, and how its API makes it easy to construct complex models from simple building blocks, using three basic pieces: transformers, estimators, and m…
  • 🎤

    • 📹 1 video
    • 👤 Julie Qiu
    At some point, we all find ourselves at a SQL prompt making edits to the production database. We know it's a bad practice and we always intend to put in place safer infrastructure before we need to do it again — what does a better system actually look like? This talk progresses through 5 strategies for teams using a Python stack to do SQL writes against a da…
  • 🎤

    • 📹 1 video
    • 👤 Andrew Godwin
    The Django Channels project has taken a major turn with version 2.0, embracing Python's async functionality and building applications around an async event loop rather than worker processes. Doing this, however, wasn't easy. We'll look through some of the techniques used to make Django coexist in this async world, including handing off between async and sync…
  • 🎤

    • 📹 1 video
    • 👤 Emily Morehouse-Valcarcel
    Get under the hood and learn about Python's beloved Abstract Syntax Tree. Ever wonder how Python code is run? Overheard people arguing about whether Python is interpreted or compiled? In this talk, we will delve into the lifecycle of a piece of Python code in order to understand the role that Python's Abstract Syntax Tree plays in shaping the runtime of your…
  • 🎤

    • 👤 Opetunde Adepoju
    All the data in the world is useless if you cannot understand it. EDA and data visualization are the most crucial yet overlooked stage in analytics process. This is because they give insights on the most relevant features in a particular data set required to build an accurate model. It is often said that the more the data, the better the model but sometimes,…
  • 🎤

    • 📹 1 video
    • 👤 John Reese
    Have you ever written a small, elegant application that couldn't keep up with the growth of your data or user demand? Did your beautiful design end up buried in threads and locks? Did Python's very special Global Interpreter Lock make all of this an exercise in futility? This talk is for you! With the combined powers of AsyncIO and multiprocessing, we'll red…
  • 🎤

    • 📹 1 video
    • 👤 Nathaniel J. Smith
    Concurrent programs are super useful: think of web apps juggling lots of simultaneous downloads and websocket connections, chat bots tracking multiple concurrent conversations, or web spiders fetching pages in parallel. But writing concurrent programs is complicated, intimidating to newcomers, and often challenging even for experts. Does it have to be? Pytho…
  • 🎤

    • 📹 1 video
    • 👤 Adam Fletcher
    • 👤 Jonathan Mortensen
    Hear the story of how we used Python to build an AI that plays Super StreetFighter II on the Super NES. We'll cover how Python provided the key glue between the SNES emulator and AI, and how the AI was built with gym, keras-rl and tensorflow. We'll show examples of game play and training, and talk about which bot beat which bot in the bot-v-bot tournament we…
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Brian Okken
    • 👤 Paul Everitt
    Know you should be doing testing but haven’t gotten over the hurdle to learn it? pytest is Python’s modern, friendly, and powerful testing framework. When paired with an IDE, testing gets a visual interface, making it much easier to get started. In this talk we cover “visual testing”: starting, learning, using, and mastering test-driven development (TDD) wit…
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Justin Crown
    Many of us practice test driven development, and pride ourselves in our code coverage. This is relatively easy to do when you begin a new project, but what happens when you take over an existing code base with little to no tests? Where and how do you start writing tests? This task can be very intimidating and frustrating, but can be accomplished! This talk w…
  • 🎤

    • 👤 Keith Yang
    RESTful has been the go-to choice of API world. Why another API approach? To support more data-driven applications, to provide more flexibility and ease unnecessary code and calls, to address a wide variety of large-scale development problems, GraphQL comes with HTTP, JSON, Versioning, Nullability, Pagination, and Server-side Batching & Caching in mind to ma…
  • 🎤

    • 📹 1 video
    • 👤 James Bennett
    At some point every Python programmer sees Python bytecode files -- they're those '.pyc' files Python likes to leave behind after it runs. But have you ever wondered what's really going on in those files? Well, wonder no more! In this talk you'll learn what Python bytecode is and how it's used to execute your code, as well as how to decipher and read it, and…
  • 🎤

    • 📹 1 video
    • 👤 Christopher Fonnesbeck
    Nowadays, there are many ways of building data science models using Python, including statistical and machine learning methods. I will introduce probabilistic models, which use Bayesian statistical methods to quantify all aspects of uncertainty relevant to your problem, and provide inferences in simple, interpretable terms using probabilities. A particularly…
  • 🎤

    • 📹 1 video
    • 👤 Russell Keith-Magee
    Have you ever wanted to write a GUI application you can run on your laptop? What about an app that you can run on your phone? Historically, these have been difficult to achieve with Python, and impossible to achieve without learning a different API for each platform. But no more. BeeWare is a collection of tools and libraries that allows you to build cross-p…
  • 🎤

    • 📹 1 video
    • 👤 Dmitry Filippov
    • 👤 Ewa Jodlowska
    Want to know about the latest trends in the Python community and see the the big picture of how things have changed over the last few years? Interested in the results of the latest official Python Developers Survey 2017 which was supported by the Python Software Foundation and gathered responses from more than 10.000 Python developers? Come learn about the m…
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Christopher Swenson
    Colossal Cave, also known as Adventure or ADVENT, is the original text adventure. It was written in FORTRAN IV and there is practically no way to run the original program without translating it. We'll explore software archeology to write a Python interpreter to run the FORTRAN code as-is, without translating it. Come learn about pre-ASCII and 36-bit integers…
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Nir Arad
    Testing mobile applications is hard. Testing manually is nearly impossible. That’s where automated testing shines. Just sit back and watch the machine go! Python is a very powerful language for writing automated tests, but since Python is not installed on mobile platforms, we need to find a way to remotely control and monitor the device. But how do we automa…
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Amit Saha
    Setting up application monitoring is often an afterthought, and in the speaker's opinion can be a bit overwhelming to get started with. What is a metric? What is a gauge? What is a counter? What's that upper 90 metric you have up on your dashboard? And what all metrics should I monitor? This talk aims to get you started on the monitoring journey in Python. I…
  • 🎤

    • 📹 1 video
    • 👤 Raymond Hettinger
    The PEP 557 dataclasses module is available in starting in Python 3.7. It will become an essential part of every Python programmer's toolkit. This talk shows what problem the module solves, explains its key design decisions, and provides practical examples of how to put it to work. Dataclasses are shown to be the next step in a progression of data aggregatio…
  • 🎤

    • 📹 1 video
    • 👤 Anna Nicanorova
    Data Visualization charts are supposed to be our map to information. However, when making charts, customarily we are just re-sizing lines and circles based on metrics instead of creating data-driven version of reality. The contemporary charting techniques have a few shortcomings (especially when dealing with high-dimensional dataset): Context Reduction: in o…
  • 🎤

    • 📹 1 video
    • 👤 Matthew Rocklin
    We use JupyterHub, XArray, Dask, and Kubernetes to build a cloud-based system to enable scientists to analyze and manage large datasets. We use this in practice to serve a broad community of atmospheric and climate scientists. Atmospheric and climate scientists analyze large volumes of observational and simulated data to better understand our planet. They ha…
  • 🎤

    • 📹 1 video
    • 👤 Lilly Ryan
    In the 1850s, Edward Orange Wildman Whitehouse was appointed the lead engineer of the first attempt to build a trans-Atlantic telegraph cable. With the entire population of two continents waiting for his go-live, their handlebar moustaches aquiver, he demonstrated in fine form just how spectacularly a big project can be a bigger disaster. This is a tale of l…
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Paul Vincent Craven
    Want to have fun with Python? Do something visual? Get started today? Learn how to draw, animate, and use sprites for games with the Python Arcade library. "Arcade" is an easy-to-use Python library for creating 2D arcade games. We'll show you how to get started creating your own game, and find plenty of example code to get an idea of what you can do with thi…
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Colin Carroll
    • 👤 Karin C. Knudson
    At the end of 2017, there were seven states with ongoing redistricting litigation. We will discuss a statistical model that the United States Supreme Court declared to be appropriate in cases of racial gerrymandering, and show how it can be implemented and used with the library PyMC3. We will also discuss what the model tells us about racial gerrymandering i…
  • 🎤

    • 📹 1 video
    • 👤 Jason Fried
    Today, services built on Python 3.6.3 are widely used at Facebook. But as recently as May of 2014 it was actually impossible at all to use Python 3 at Facebook. Come learn how we cut the Gordian Knot of dependencies and social aversion to the point where new services are now being written in Python 3 while older Python 2 projects are actively migrated to Pyt…
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Barry Warsaw
    Resources are files that live within Python packages. Think test data files, certificates, templates, translation catalogs, and other static files you want to access from Python code. Sometimes you put these static files in a package directory within your source tree, and then locate them by importing the package and using its __file__ attribute. But this do…
  • 🎤

    • 📹 1 video
    • 👤 Nicolle Cysneiros
    Have you ever considered how many relationships you have in your virtual life? Every friend or page liked on Facebook, each connection in LinkedIn or Twitter account followed is a new relationship not only between two people, but also between their data. In Brazil only, we have 160 millions Facebook users. How can we represent and manipulate all these relati…
  • 🎤

    • 📹 1 video
    • 👤 Amjith Ramanujam
    During peak hours, Netflix video streams make up more than one third of internet traffic. Netflix must stream uninterrupted in the face of widespread network issues, bad code deploys, AWS service outages, and much more. Failovers make this possible. Failover is the process of transferring all of our traffic from one region in AWS to another. While most of Ne…
  • 🎤

    • 📹 1 video
    • 👤 Jack Diederich
    A function is a small chunk of code that does useful work. Your job when writing a function is to do it in a way that it easy to read. Based on over 15 years of code reviews here are some tips and guidelines I give again and again.
  • 🎤

    • 📹 1 video
    • 👤 Hynek Schlawack
    The DevOps movement gave us many ways to put Python applications into production. But should your application care? Should it need to know whether it’s running on your notebook, on a server, in a Docker container, or in some cloud platform as a service? It should not, because environment-agnostic applications are easier to test, easier to deploy, easier to h…
  • 🎤

    • 📹 1 video
    • 👤 Dustin Ingram
    Questions and confusion about the Python packaging ecosystem abound. What is this setup.py file? What's the difference between wheels and eggs? Do I use setuptools or distutils? Why should I use twine? Do I put my projects dependencies in a requirements.txt or in setup.py? How do I just get my module up on PyPI? Wait, what is Warehouse? This talk will identi…
  • 🎤

    • 📹 1 video
    • 👤 Esther Nam
    Those of us who have worked in software development for longer than a few years probably feel we have an intuitive sense of what a great developer is. Some traits come more easily to mind than others when it comes to identifying a great developer. In this talk we will take a slightly different approach to evaluating software development best practices, and i…
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Miguel Grinberg
    What do AWS, GitHub, Travis CI, DockerHub, Google, Stripe, New Relic, and the rest of the myriad of services that make our developer life easier have in common? They all give you secret keys to authenticate with. Did you ever commit one of these to source control by mistake? That happened to me more times than I'm willing to admit! In this talk I'm going to …
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Kenneth Reitz
    This talk is about the history of Python packaging, the tools that have been historically available for application deployment, the problems/constraints presented by them, and presents a holistic solution to many of these problems: Pipenv. A live demo of the tool will be presented, as well as a Q&A session.
  • 🎤

    • 📹 1 video
    • 👤 Carol Willing
    Each member of your project team uses something different to document their work -- RestructuredText, Markdown, and Jupyter Notebooks. How do you combine all of these into useful documentation for your project's users. Sphinx and friends to the rescue! Learn how to integrate documentation into your everyday development workflow, apply best practices, and use…
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Janet Matsen
    The genome of a typical microbe contains roughly 5 million base pairs of DNA including > 4000 genes, which provide the instructions for cellular replication, energy metabolism, and other biological processes. At Zymergen, we edit DNA to design microbes with improved ability to produce valuable materials and molecules. Microbes with these edits are built and …
  • 🎤

    • 📹 1 video
    • 👤 Trey Hunner
    The end of life for Python 2 is 2020. Python 3 is the future and you'll need to consider both your upgrade plan and what steps you'll take after upgrading to start leveraging Python 3 features. During this talk we'll briefly discuss how to start the process of upgrading your code to Python 3. We'll then dive into some of the most useful Python 3 features tha…
  • 🎤

    • 📹 1 video
    • 👤 Victor Stinner
    Looking back at Python evolutions over the last 10 years. Python 3.0 was released ten years ago (December 2008). It's time to look back: analyze the migration from Python 2 to Python 3, see the progress we made on the language, list bugs by cannot be fixed in Python 2 because of the backward compatibility, and discuss if it's time or not to bury Python 2. Py…
  • 🎤

    • 📹 1 video
    • 👤 Justin Myles Holmes
    For 2 years, a family of three has traveled on a converted school bus from conference to conference, building tooling for the road in Python and visiting Python families in every corner of the country.
  • 🎤

    • 📹 1 video
    • 👤 Erin Braswell
    What do geiger counters, black holes, heart monitors, and volcanoes have in common? They all can use sound to convey information! This talk will explore using python for sonification: the process of translating data into sound that could otherwise be represented visually. Have you ever wondered how to use python to represent data other than making charts and…
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Rae Knowler
    Python 3 removes a lot of the confusion around Unicode handling in Python, but that by no means fixes everything. Different locales and writing systems have unique behaviours that can trip you up. Here’s some of the worst ones and how to handle them correctly.
  • 🎤

    • 📹 1 video
    • 👤 Matt Davis
    Occasionally we’ll find that some bit of Python we’ve written doesn’t run as fast as we’d like, what can we do? Performance bottlenecks aren’t always intuitive or easy to spot by reading code so we need to collect data with profiling. Once we’ve identified the bottleneck we’ll need to change our approach, but what options are faster than others? This talk il…
  • 🎤

    • 📹 1 video
    • 👤 David Beazley
    Writing lexers and parsers is a complex problem that often involves the use of special tools and domain specific languages (e.g., the lex/yacc tools on Unix). In 2001, I wrote Python versions of these tools which can be found in the PLY project. PLY predates a huge number of modern Python features including the iteration protocol, generators, decorators, met…
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Graham Dumpleton
    The WSGI (Web Server Gateway Interface) specification for hosting Python web applications was created in 2003. Measured in Internet time, it is ancient. The oldest main stream implementation of the WSGI specification is mod_wsgi, for the Apache HTTPD server and it is over 10 years old. WSGI is starting to be regarded as not up to the job, with technologies s…
  • 🎤

    • 📹 1 video
    • 👤 Larry Hastings
    Stop writing crappy shell scripts—write crappy Python scripts instead! Other talks will show you how to write clean, performant, robust Python. But that's not always necessary. When writing personal automation or solving one-shot problems, it can be safe (and fun!) to quickly hack something together. This talk will show examples of problems suitable for this…
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Scott Triglia
    Taking on leadership roles always includes new demands on your attention and time. Inevitably, your finite work week will conflict with the sheer amount of tasks you have to do. How can we as leaders keep stepping up to new responsibilities while balancing our pre-existing ones? This talk will focus on strategies for managing a too-large workload without aba…
  • 🎤

    • 📹 1 video
    • 👤 VM (Vicky) Brasseur
    Projects fail in droves. Systems hiccup and hours of downtime follows. Screws fall out all the time; the world is an imperfect place. We talk a lot about building resilient systems, but all systems are (at least for now) built by humans. Humans who have been making the same types of mistakes for thousands of years. Just because failure happens doesn’t mean w…
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Sara Packman
    Congratulations on finishing your first tutorials or classes in python! In the parlance of the hero’s journey myth, you’ve had your ‘threshold moment”: you’ve started down a path that could lead to a long and fulfilling career. But the road to this glorious future is frustratingly obscured by a lack of guidance in the present. You know enough to realize that…
  • 🎤

    • 📹 1 video
    • 👤 Christopher Beacham / Lady Red
    Recently, a new LED strip specification, APA102, has been released which allows these strips to be driven by a general purpose CPU instead of a dedicated microcontroller. This allows us the luxury of controlling them with Python! I'll teach you about how to get the the hardware, how to think about programming for lights and how to build anything from a psych…
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Mariatta Wijaya
    How do you become a Python core developer? How can I become one? What is it like to be a Python core developer? These are the questions I often receive ever since I became a Python core developer a year ago. Contributing to Python is a long journey that does not end when one earns the commit privilege. There are responsibilities to bear and expectations to l…
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Shannon Turner
    Knowing how to code and being able to teach it are two separate skills. When we have expertise in a subject, it's common to take for granted that we'll be able to effectively communicate our expertise to someone else. Come learn (or re-learn!) how to teach and discover practical examples you can put to work right away. By sharpening your teaching skills, you…
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Daniel Pyrathon
    Recommender systems have become increasingly popular in recent years, and are used by some of the largest websites in the world to predict the likelihood of a user taking an action on an item. In the world of Netflix, this means recommending similar movies to the ones you have seen. In the world of dating, this means suggesting matches similar to people you …
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Kyle Knapp
    Writing quality Python code can be both tough and tedious. On top of the general design, there are many code quality aspects that you need to watch out for when writing and reviewing code such as adherence to PEP8, docstring quality, test quality, etc. Furthermore, everyone is human. If you are catching these code quality issues by hand, there is a good chan…
  • 🎤

    • 📹 1 video
    • 👤 Ned Batchelder
    Big-O is a computer science technique for analyzing how code performs as data gets larger. It's a very handy tool for the working programmer, but it's often shrouded in off-putting mathematics. In this talk, I'll teach you what you need to know about Big-O, and how to use it to keep your programs running well. Big-O helps you choose the data structures and a…
  • 🎤

    • 📹 1 video
    • 👤 Greg Price
    Python now offers static types! Companies like Dropbox and Facebook, and open-source projects like Zulip, use static types (with PEP 484 and mypy) to make Python more productive and fun to work with — in existing codebases from 40k lines to 4 million, in Python 2 and 3, and while preserving the conciseness and flexibility that make Python a great language in…
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Claudio Freire
    Multithreading makes shared memory easy, but true parallelism next to impossible. Multiprocessing gives us true parallelism, but it makes sharing memory very difficult, and high overhead. In this talk, we'll explore techniques to share memory between processes efficiently, with a focus on sharing read-only massive data structures.
  • 🎤

    • 📹 1 video
    • 👤 Mario Corchero
    Logs are our best friend, especially on those late nights when we try to troubleshoot a problem in production that was written by a co-worker who is on vacation. Logs are the main way to know what is happening with an application at runtime, but we don’t realize how important they are until we actually need them. Unfortunately, they are usually an under-esti…
  • 🎤

    • 📹 1 video
    • 👤 Amber Brown ("HawkOwl")
    Most software has a user. Depending on the software, the user may need to provide various details about themselves for proper operation -- their name, their date of birth, where they live. However, it is quite common for software systems such as these to ask the wrong questions, collect too much data, and when it comes down to it, serialise the parts of the …
  • 🎤

    • 📹 1 video
    • 👤 Alex Gaynor
    Unless you work on pacemakers or at NASA, you've probably accepted the fact that you will make mistakes in your code, and those mistakes will creep into production. This talk will introduce you to post-mortems, and how to use them as a vehicle for improving your code and your process.
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 vigneshwer dhinakaran
    If you’ve spent much time writing (or debugging) Python performance problems, you’ve probably had a hard time managing memory with its limited language support. In this talk, we venture deep into the belly of the Rust Language to uncover the secret incantations for building high performance and memory safe Python extensions using Rust. Rust has a lot to offe…
  • 🎤

    • 📹 1 video
    • 👤 Alvaro Leiva Geisse
    Done! Your shiny new application is functionally complete and ready to be deployed to production! But how exactly do you deploy properly on Linux? Wonder no more! In 30 minutes, this talk explains how you can harness the power of the init system and systemd to solve common deployment problems, including some that you didn't even know you had. Examples of thi…
  • 🎤

    • 📹 1 video
    • 👤 Steven Sklar
    As web apps grow increasingly complex, distributing asynchronous work across multiple background workers is often a basic requirement of a performant app. While there are a variety of tools that exist to solve this issue, one common feature among them is the need for a robust messaging platform. RabbitMQ is a stable, full-featured, and mature solution that i…
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Zekun Li
    Python's cyclic garbage collector wonderfully hides the complexity of memory management from the programmer. But we pay the price in performance. Ever wondered how that works? In this talk, you'll learn how garbage collection is designed in Python, what the tradeoffs are and how Instagram battled copy-on-write memory issues by disabling the garbage collector…
  • 🎤

    • 📹 1 video
    • 📝 1 slide deck
    • 👤 Carl Meyer
    You've heard about Python type annotations, but wondered if they're useful in the real world? Worried you've got too much code and can't afford to annotate it? Type-checked Python is here, it's for real, and it can help you catch bugs and make your code easier to understand. Come learn from our experience gradually typing a million-LOC production Python appl…
  • 🎤

    • 📹 1 video
    • 👤 Pieter Hooimeijer
    Many projects already take advantage of static analysis tools like flake8, PyLint, and MyPy. Can we do better? In this talk, I'll discuss how to take a type checker, bolt on an interprocedural static analyzer, and delight your security team with high quality results. Abstract It is incredibly challenging to build a halfway decent static analysis tool for a d…
  • 🎤

    • 📹 1 video
    • 👤 Renato Oliveira
    When we talk about Web API Design, we're usually driven to think in architecture, verbs, and nouns. But we often forget our user: the developer. UX designers rely on many techniques to create great experiences. User research, User Testing, Personas, Usage Data Analysis and others. However when creating invisible products we’re not used to think in usability.…