PyCon 2018: A Roundup of Our Favorite Talks

If you didn’t make it to PyCon this year, you’re in luck — all of the sessions are available online for free! It might be overwhelming given there are hours of talks, so we asked the Civis folks who attended PyCon to round up their favorites. We hope our suggestions inspire you to watch and try something new in Python!

Liz Sander, Data Scientist:

Love Your Bugs — Allison Kaptur (@akaptur)

This is such a fun talk. Allison walks us through a couple of particularly mysterious bugs she’s run into over the years, including one where her team accidentally DDOS’ed their own company! This talk is a celebration of failure, and how it can be a chance to explore, problem-solve, and learn.

CuPy: A NumPy-compatible Library for GPU — Shohei Hido (@sla)

I had never heard of CuPy before this, and Shohei’s talk was a great introduction. CuPy is a library for GPU computing which matches NumPy’s behavior and API, with easy ways to convert between the two. This means that you can write CPU/GPU-agnostic code — it’ll automatically choose the right library and run in an optimized way on either compute type! I left this talk wanting to dig right in and try CuPy myself.

Jenna Colazzi, Software Engineer:

Dataclasses: The code generator to end all code generators — Raymond Hettinger (@raymondh)

Raymond Hettinger uses this talk to introduce Dataclasses, a new feature that is available in Python 3.7. I’m excited to try out this new alternative to named tuples, which seems robust but still quite configurable. This talk also highlighted the power of code generators, not just to save time by reducing boilerplate code, but also to allow new code to incorporate best practices and include metadata for free.

Clearer Code at Scale: Static Types at Zulip and Dropbox — Greg Price (@gnprice)

Static typing came up a lot this year at PyCon. This talk explains how using type annotations can improve your codebase, helping you catch bugs before committing your code, onboard new developers, and save time when debugging. Price also provides some concrete steps you can take to make adding type checking to existing codebases less intimidating. We’re planning to try out this process here at Civis!

John Kulzick, Data Architect:

Demystifying the Patch Function — Lisa Roach

A complete and concise walk-through of the various ways to use the patch function and what all the parameters actually mean. You will learn how to improve the quality of your tests and you may discover that your existing tests aren’t really testing what you think they are. Don’t worry, Lisa kept her opinions on what and when you should patch to herself.

Inside the Cheeseshop: How Python Packaging Works — Dustin Ingram (@di_codes)

This talk walks through the history of Python packaging and the various stages of evolution that it went through, with a little added humor to keep it interesting. You will learn what the various file types and tools are that you’ve come across and, more importantly, why they exist. Dustin also explained some of the unresolved challenges with packaging and what the Python Packaging Authority (PyPA) is planning to do about them.

Skipper Seabold, Director, Data Science:

You’re an expert. Here’s how to teach like one. — Shannon Turner (@svthmc)

Shannon Turner is the founder of Hear Me Code, an organization that offers free, beginner-friendly coding classes for more than 3,000 women in DC. In this talk, she shares some best practices for being an effective teacher, mentor, or presenter of technical topics for those managing junior- or mid-level developers. She offers great tips on how to share knowledge in a way that is readily understood.

Surviving (and thriving!) when you are overloaded — Scott Triglia (@scott_triglia)

I am so, so glad that this talk was accepted by the PyCon organizers. In tech, in open source, and in many other fields, we often feel pressure to succeed at all costs, even when it means taking on too much. Scott Triglia shares the signs of being overloaded, and offers practical advice for self care when faced with an overwhelming workload.

Kate Pham, Software Engineer:

Pipenv: The Future of Python Dependency Management — Kenneth Reitz (@kennethreitz)

Kenneth Reitz talks about the history of managing dependencies in Python today and anticipated improvements in the future. I enjoyed seeing how Python tools can evolve over time.

How Netflix does failovers in 7 minutes flat — Amjith Ramanujam (@amjithr)

This was a enjoyable talk about what happens when things go wrong at Netflix. Amjith Ramanujam does a nice job defining their problem, with examples of an inadequate solution and an efficient solution. It’s great to see how Python is being used to achieve high availability.

Jonathan Cobian, Software Engineer:

Adapting from Spark to Dask: what to expect — Irina Truong (@irinatruong)

Irina Truong had been using Spark and didn’t really enjoy the Java stack traces and multiple layers of indirection that made debugging hard. She migrated a real world example over to Dask to see how the development experience and performance compared. The talk helped explain the differences between the two frameworks and when each works best.

Types, Deeper Static Analysis, and you — Pieter Hooimeijer (@thehooj)

Pieter Hooimeijer talks about how a newly open-sourced tool his team has released, Pyre, leverages type annotations to help find security vulnerabilities throughout Facebook’s entire (Python) code base.