Accepted Talks

  1. 1 + 1 = 1 or Record Deduplication with Python

    Flávio Juvenal

    How to find duplicate records in a dataset when it doesn’t have unique identifiers, like the SSN for US citizens? The answer is to use Data Deduplication techniques: look for matches by cleaning and comparing attributes in a fuzzy way. In this talk, you’ll learn with Python examples how to do this.

  1. A Crash Course on Serverless Applications in Python

    James Saryerwinnie

    Heard about serverless computing but aren’t sure how to get started? Curious about the benefits of serverless computing? In this talk I’ll show you how to get up and running with serverless computing in less than 30 seconds. Learn how to design and deploy serverless applications in python.

  1. A deep dive into Python stack frames

    Nikhil Marathe

    Learn how CPython implements the function call stack and how embedders can use this to extract useful reliability reports from their software!

  1. A Junior Developer's Guide to Software Engineering

    Kojo Idrissa

    New developers often ask, “How much Python do I need to know to get a job?”. They overlook the other skills needed to be a successful software engineer. This talk highlights the other skill and tools needed, which can be used from the start of your coding journey.

  1. A Practical Guide to Adopting Python Types

    Roy Williams

    Types in Python make it easier to understand how code works and helps catch bugs before they affect users, but require a significant upfront investment. This talk will give a guide for quickly adopting types in large codebases to get to where types have more value than the cost of adding them!

  1. A worked example of using statistical and machine learning models to time series prediction

    Rebeca Sarai

    The analysis of time series data can be essential when making strategic decisions under uncertainty. This presentation discusses the tradeoff between statistical models and neural network-based techniques. It also demonstrates how to apply these techniques to a real problem.

  1. Automating Code Quality: Next Level

    Kyle Knapp

    You are likely familiar with code quality tools such as flake8 and pylint. However, these tools won’t catch all issues that you may care about. I will be diving into the more advanced types of quality checks that you can use (or even write yourself!) to further automate your development workflow.

  1. Beating Mastermind: Winning Games, Translating Math to Code, and Learning from Donald Knuth

    Adam Forsyth

    Mastermind is a logic-based guessing game. Many years ago, Donald Knuth described a way to win the game in 5 moves or less. We’ll implement the game and the algorithm from the article. Come learn how to beat Mastermind and turn a paper by a famous scientist into code!

  1. Best Intentions, Least Measured

    Nicole Zuckerman

    The first step to creating a diverse workforce often to collect demographics data on your employees, but even this is challenging. In this talk, we discuss how we think about these challenges, strategies we implemented, and suggestions so others may have an easier time collecting this data.

  1. Building a Read Aloud eBook in Python

    Max Schwartz

    What does it take to merge an audiobook and an eBook into a single experience, switching from reading to listening and back? We will show how we use Python to combine NLP and speech processing technologies to generate a Read Aloud eBook and showcase an application to help developing readers.

  1. Choose Your Own Adventure for Client Web Services with GraphQL

    David Anderson

    In the style of a modern, web-development choose your own adventure, we’ll explore the benefits and trade offs of GraphQL and REST (including performance and scaling). We’ll build up an example schema using a choose your own adventure story as the model and leverage that schema in front end code.

  1. Clean architecture in Python

    Sebastian Buczyński

    We have been building our web applications with DB in the centre of the design for years. While saving data cannot be ignored, one may lose track of business rules along the way if they concentrate on ORM models. Clean Architecture puts business value in the 1st place, letting think outside the box.

  1. Coding by Voice with Dragonfly

    Boudewijn Aasman

    Coding by voice can provide benefits from reducing RSI and pain to great productivity boosts. Unfortunately, setting up a voice code environment is not as easy at it should be. Learn about setting up a voice environment workflow using Python, Dragonfly, and your favorite editor!

  1. Computer Modeling in the Social Science of Disasters

    Eileen Young

    Do you know what everyone would do if Godzilla suddenly showed up in the room? Give social scientists enough computer power, and they can tell you. It wouldn’t look anything like a disaster movie, and the gap between Hollywood guesses and what people can prove is where things get exciting.

  1. Creating a DVR with Python

    Michael V. Battista

    Ever get so caught up in Python code and projects that you miss your favorite TV show airing or streaming? Let Python solve that problem for you and grab the show for you so you can binge watch what you want whenever you want. To be continued…

  1. Creative Music Applications in Python

    Dror Ayalon

    There is no better time than now to be a Python developer! Python is the language of choice for machine learning, neural networks, signal processing, and algorithmic music. The goal of this talk is to introduce attendees to tools and projects, that could be used to build creative music applications.

  1. Critical Incidents: a guide for developers

    Lais Varejão

    As developers we know there’s no such thing as bug-free software. Incidents are inevitable and being prepared is key. How would you handle a database outage if it happened now? Or a critical bug affecting half of your users? How to plan the full recovery from the bug discovery until the postmortem?

  1. Customizing Sphinx: Simple, Normal, and Hard

    Paul Everitt

    Many Python projects use Sphinx for documentation, so much so that Sphinx is like Python’s secret weapon. It’s a powerful, mature system for generating static content – not just docs, but blogs and regular websites.

  1. Database Testing with pytest

    Dan Clark

    Testing relational database assests such as stored procedures, functions, and views can be awkward. However, Python can come to the rescue with pytest. We’ll dive into an example or two so that you too can leverage Python to test your own obtuse database structures.

  1. Dataclasses are here. Now what?

    Scott Irwin

    The PEP 557 dataclasses module was added in Python 3.7 and so is one of the newest features of the language. Now that they are here, they bring a few questions with them. In this talk, we will explore some of those questions.

  1. Diversity and Inclusion for all!

    Michelle Chen

    Stop and look around you. Are you next to people who look and think like you? Through grassroots efforts by fellow software engineers, we at Kyruus, a healthcare startup, are rethinking the entire lifecycle of diversity and inclusion: from the hiring process, to interviews, to daily interactions.

  1. Egad! How Do We Start Writing (Better) Tests?

    Andrew Knight

    Some have never automated tests and can’t check themselves before they wreck themselves. Others have 1000s of tests that are flaky, duplicative, and slow. Wa-do-we-do? GOOD testing is hard but not impossible. Start with proven advice from this talk!

  1. Everyday security issues and how to avoid them

    Christian Heimes

    Security is hard, yet vital for any software these days. After some motivational facts, this talk will take you on a brief tour in secure software design and illustrate common security issues. Topics include threat analysis, deployment, parsing, authentication, TLS/SSL, crypto, and more.

  1. From Coroutines to Concurrency

    Vishal Prasad

    Asyncio and gevent are powerful libraries for lightweight concurrency. The best ideas of both can be built straightforwardly from plain coroutines. Let’s deep dive into coroutines and build our own concurrency library and poke around the internals of asyncio and gevent!

  1. Gathering Related Functionality: Patterns for Clean API Design

    Paul Ganssle

    This talk will arm you with some tools to design a library that “just works”, but also has obvious escape hatches to handle corner cases. It covers several patterns for cleanly organizing related and overlapping functionality in a way that satisfies both humans and static analysis tools.

  1. Gradient Descent, Demystified

    Michael (Stu) Stewart

    I walk through a live coding practicum (in a RISE Jupyter Notebook slideshow) in which I implement an initial gradient descent algorithm for logistic & linear regression, demonstrating the flexibility of the optimization technique & decidedly un-scary code required to get our prototype up-&-running.

  1. Great Engineering in the Worst Work Environment

    Eyal Yavor

    Imagine the worst possible engineering work environment: Strict dress code, fast employee turnaround with median age of 19, people gone for 2 weeks in the middle of a project, requirements and priorities that change monthly. Oh, and no internet access. Welcome to the Israeli Intelligence Unit.

  1. How Etsy Handles “Peeking” in A/B Testing

    Kelly Shen

    Etsy relies heavily on experimentation to improve our decision-making process. In this talk, I will present how Etsy handles data peeking and how we use Python to help us investigate and assess the problem on our platform.

  1. How I Learned to Stop Worrying and Love atomic(): Banking Blunders and Concurrency Challenges

    Nick Sweeting

    What do Superman III, Hackers, and Office Space all have in common? Find out in this talk, along with some concurrency, database integrity, and financial data safety fundamentals. This is a technical talk going over the core principles in database integrity and data safety, it assumes familiarity with the Django ORM.

  1. How to Do Code Reviews Like a Human

    Michael Lynch

    Reviewing code is like driving: everyone thinks they’re good at it. The dev who just sent you 25 brusque, vague notes thinks of themselves as a wonderful reviewer. Truly great reviewers are great because they consider the human factors of reviews. So come learn how to do code reviews like a human.

  1. How to get started with Text Analysis in Python (and analyzing Donald Trump's tweets).

    Dave Klee

    Python makes it pretty easy to deal with text, and there are a lot of great packages out there to help. This talk will show you how to get up and running from a true beginner’s perspective using NLTK and TextBlob to make a classifier that might tell you who’s writing Donald Trump’s tweets.

  1. How to Trick SQL into Doing All the Work for You

    Molly Leen

    What do you get when you combine the power of Python, the load of healthcare big data, and the benefit of SQL’s COPY method? An efficient methodology to import that data into a database. This talk will demonstrate how and why I designed a file-like object to streamline the import.

  1. I've Been Awaiting for an URL Like You

    Brian Muller

    The asyncio library in Python 3 is an amazing addition, but understanding how it works and why it’s so efficient can be challenging. This talk covers the basics of asyncio and takes a deep dive on what it was like to convert the InterPlanetary File System Python 2 library to async enabled Python 3.

  1. Inside the Cheeseshop: How Python Packaging Works

    Dustin Ingram

    This talk identifies key tools one might encounter when distributing Python software, what they are used for, why they exist, and their history (including the source of their weird names). We’ll see how they work together, what it takes to make them work, and what the future has in store for them.

  1. Interpretable Machine Learning: Methods for understanding complex models

    Manojit Nandi

    As machine learning models become prevalent, it has become increasingly important to understand how these models came to a particular decision.In this talk, I will discuss various methodologies data scientist can use to understand how black-box models created a particular prediction.

  1. Keep it secret, keep it safe! Preserving anonymity by subverting stylometry

    Robin Camille Davis

    Can you ever really write anonymously? Forensic software can identify the author of an anonymous document just by noting unconscious style markers, like how often someone uses the word “if.” In this talk, I’ll show you how this is done — and how you could outsmart deanonymization software.

  1. Large Scale Graph Mining with Spark: What I learned from mapping >15 million websites

    Win Suen

    Use the Internet? Fond of graphs? Then this talk may be for you! Learn how to build and explore graphs with Spark GraphFrames. I will be sharing tips, tricks, and gotchas I learned for conducting network analysis with Spark, and diving into the exciting problems you can represent with graphs.

  1. Making Sense of Flask APIs A Billion Requests at a Time

    Evan Morikawa

    Learn how to scale Flask APIs and make sense of the data. The answer is a mix of team, tools, and process. I’ll demo logging, visualization, and alerting techniques that should leave you feeling confident your APIs are performing, and assured you can respond quickly if something goes wrong.

  1. Memory Management in Python

    Theresa Lee

    Why does “a is b” evaluate to true if both variables are assigned to the integer 201 but not 498? When will Python still hold a reference to an object that has been deleted? How does Python’s garbage collection differ from other languages like Ruby? Learn all that and more in this talk.

  1. MFA the Right Way: One-Time Passwords with PyOTP

    Collin Stedman

    Multi-factor authentication is a must-have for modern secure applications. Thankfully, with PyOTP, enabling MFA is a breeze! We’ll start by learning about the two algorithm options, HOTP and TOTP. Then we’ll live-code adding MFA to an application, complete with QR codes for syncing with your phone.

  1. Not so fast: Understanding Latency in Asyncio-powered Systems

    Mark Vismonte

    At Instagram, we’ve successfully utilized python’s asyncio library to reduce the latency of our server side endpoints; however, understanding latency in an asyncio deployment isn’t so easy. In this talk, we’ll discuss the techniques we’ve used to measure and improve latency.

  1. Open Source Policy Making - Challenges and Opportunities

    Anderson Frailey

    Public policy analysis has typically been conducted under a shroud of secrecy by three letter agencies and think tanks in DC using black box models. In this talk, I’ll cover the issues with this approach and the benefits and complications of moving toward open source policy analysis.

  1. Pluggable Libs Through Design Patterns

    Filipe Ximenes

    In this talk I’ll will use real world open source libraries to walk the audience through 3 popular Design Patterns: Adapter, Strategy and Pipeline. Those libs heavily rely on patterns to allow flexibility and pluggability. Python Social Auth will be used to guide the presentation.

  1. Practical Cryptography

    Kelley Robinson

    Crypto is used for a lot more than just currencies. This talk will dive into modern cryptography, the math behind how it works, and its everyday use cases. By looking at the origins of cryptography we’ll follow the progression of methods and algorithms as humans and computers evolved.

  1. Pushing the Bounds with Descriptors

    Owein Reese

    In this talk we’ll explore designs that go beyond a basic templated @property. We’ll talk about using the descriptor protocol to encapsulate behavior, create persistent and immutable data structures and finally multi-level object hierarchies. The goal? To expand your pattern library tool set.

  1. Python Grab Bag: A Set of Short Plays

    Jason Owen, Sumana Harihareswara

    A frenetic combination of educational and entertaining segments, as chosen by the audience! They’re all different - plays, monologues, physical demos, jokes, or tiny traditional conference talks - and the audience chooses which they want next from a menu of presentation titles.

  1. Python Oddities Explained

    Trey Hunner

    Sometimes you’ll find what might seem like a bug in Python but sometimes these bugs reveal themselves to be misunderstood features. During this talk we’ll look at a number of Python’s unique features and quirks and attempt to re-shape our mental models of how Python works.

  1. Scale Independent Python: How to scale your Python application without any code changes

    Sean T Allen

    Have you ever written an application only to find yourself rewriting it later so it can scale? Many of us have. In this talk, you’ll learn scale independent computing; what it is and how it can help you more easily scale your applications.

  1. Serverless machine learning in production: manage models, not servers

    William Cox

    Putting machine learning models into production is difficult - especially for a team that isn’t cross-function and doesn’t have strong ops or software engineering support. We used severless technology to deploy a ML system that let data scientists rapidly put models they trained into production

  1. Seventeen Million Lines of Python Later: Launching a Startup in an Investment Bank

    Garrett Walker

    In the wake of the 2008 financial crisis, Bank of America Merrill Lynch embarked on an ambitious plan to realign its sales and trading systems around the Python-based Quartz platform. More than half way through this journey, we have millions of lines of Python under our belt and major business deliverables behind us. This talk will cover the unique benefits and challenges of using Python at investment bank-scale, and how to make a startup initiative stick in the face of unrelenting impediments.

  1. Software Freedom And Ethical Technology

    Karen M. Sandler

  1. Start ‘em young: Tips for teaching Python to kids

    Gabrielle Rabinowitz

    How can you teach Python to kids with no coding experience? Using the example of a 1-week coding camp at the American Museum of Natural History, we’ll share the power of combining coding lessons with scientific inquiry along with helpful tips and tricks to supercharge your education efforts.

  1. The Automatic Computer and You: A Meditation Upon The History And Future Of Software Development

    Glyph

  1. The stories of the most infamous bugs

    Ian Zelikman

    Have you written software? Have you had mistakes or bugs in your code? I suspect the answer to both is yes. The topic of famous bugs in history has fascinated me for a long time, in this talk I will discuss some of the most famous ones and how we can learn from them.

  1. The Sum of Nothing

    Christine Zhang

    1 + 1 = 2. How about 1 + NaN? Or NaN + NaN? Or NaN x NaN?

    The answers, when evaluated in pandas, have changed over time. I’ll take you on journey through the fun-filled history of pandas’ development, the wacky world of math, and how the two work together (or don’t) when it comes to null values.

  1. Tracking the International Space Station in Django with Redis-Queue and RQ Scheduler

    Sam Agnew

    Have you ever looked up at the sky and wondered if the International Space Station was flying by at that moment? In this live coding adventure we will cover the basics of scheduling tasks with RQ in Django by building a web app that sends you text messages whenever the ISS passes by your location.

  1. Understanding The Black Magic of Python Wheels

    Elana Hashman

    Installing Python packages with C extensions on Linux can be a painful experience, but it doesn’t have to be! Come learn to harness the black magic of Python wheels, and you too can spare your users pain… for a price.

  1. Using Python, Travis CI, and GitHub to Effectively Teach Programming

    Gregory M. Kapfhammer

    Have you ever wanted to effectively teach your students or colleagues about programming? Suitable for full-time educators and industrialists who instruct their colleagues, this hands-on talk will explain how you can teach programming using Python, GitHub Classroom, and Travis CI.

  1. Vodka powered by Whiskeyberry PI

    Maciej Polańczyk, Michał Gałka

    This presentation will show you how to build your own Bartender who talks with you and what is the most important serves drinks for you! All you need is Amazon Alexa, Python Flask application, Raspberry PI and a few pumps. In the end of presentation, you will ask my Bartender for a whiskey drink!

  1. We Are 3000 Years Behind: Let's Talk About Engineering Ethics

    Hayley Denbraver

    I am a former civil engineer turned software developer who will take the audience through how civil engineers developed their code of ethics. It has been a work in progress for over 3000 years! This talk will explore how software developers could approach engineering ethics and why we should.

  1. What if Jane Austen had been an engineer?

    Lacey Williams Henschel

    Jane Austen said, “It is a truth universally acknowledged, that a single module in possession of a good function, must be in want of a test.” In this talk, we’ll discover how writing tips from your high school English class can make your code cleaner and clearer.

  1. Where to begin? How to End? The mental meanderings of a lifelong geek

    Gloria W.

  1. Write a Git Client from Scratch

    James Powell

    What better way to learn the fundamentals of git than to reimplement them yourself? In this talk, we will (hurridly) cover the theory behind git and build a minimal git client in Python from scratch without anything but the standard library and our wits! 100% live coded. Accept no substitutes.

Want to edit this page?