Field Notes

PyCon 2016

June 15, 2016

PyCon 2016, my third PyCon, was held in Oregon this year. Here are some themes I noticed, and some goodies worth your attention.

Docker, Docker, Docker

Docker was everywhere. Jérôme Petazzoni taught two full length tutorials, Introduction to Docker and containers and Deploying and scaling applications with Docker, Swarm, and a tiny bit of Python magic.

Dorian Pula's "Pythons in A Container - Lessons Learned Dockerizing Python Micro-Services" offered practical suggestions for life in the container. He walked through configuring, testing, deploying, and running webservices. (watch) (slides)

Both the tutorials I attended used Docker. Docker was a net positive, but not without cost. At the workshops I've taught, it's time consuming to set up 20-30 development environments. During the lecture you have to address the variations in each operating system. Docker provides a uniform environment and a simpler installation process.

Half the class was familiar with Docker, and half not. We had to spend class time on an introduction for new users. Some installations still needed troubleshooting. It's a promising approach and will get smoother as Docker improves its native distributions.

AWS lambdas

Add "serverless computing" to your buzzword dictionary if it isn't there yet. Amazon lambdas allow us to process computations on AWS without having to run an entire EC2 server instance. It scales easily, and you're charged only for compute time. Perfect for data pipelines.

Wordnik is on a quest to add missing words to its dictionary. Manuel Ebert of showed us how they're pulling it off. programmatically determins whether a candidate word was valid, then extracts a definition from usages in the wild. Without AWS lambdas it would have taken twelve years to process the material. More on's AWS setup here. (watch) (slides)

Mercedes Coyle gave a deeper look at the anatomy of lambdas in "Build Serverless Realtime Data Pipelines with Python and AWS Lambdas". (watch) (slides)

Internet of Things is Still a Big Thing

Internet of Things continues to be a theme, with several talks given. Two of the five companies on Startup Row were IoT products.

Paulus Schoutsen introduced Home Assistant in "Awaken your home: Python and the Internet of Things". Although there are more connected devices than ever, they often can't speak to each other. Home Assistent is an open source hub with adapters for many vendors. You can configure an event from one device to trigger a response from another. When you're returning home, your phone's GPS can trigger the lights and heat to turn on. Home Assistant runs locally, so you don't have to be concerned about private data being stored in the cloud. (watch) (slides)

Dwight Hubbard walked us through a project inspired by - what else? - a cat.
His temperature sensor is a good basic Raspberry Pi project. (watch) (slides)

What happens when services fail

In 2014, speakers were introducing microservices and asynchronous methods. Now that we've gone there, the discussion has shifted to what happens when they fail.

Daniel Riti shared four strategies for resilience in "Remote Calls != Local Calls: Graceful Degradation when Services Fail". (watch) (slides)

Dan Callahan's talk on "The New Mobile Web" had very little to do with Python. Mobile apps have raised our expectations for a fast and smooth user experience, even when the network is slow or unavailable. Service workers, push, and app manifests are going to help web apps catch up and provide a comparable experience. (watch) (notes)

Signal boost: get free SSL certificates from Let's Encrypt!

Other Goodies

The Coolest Thing Ever award goes to Roxanne Johnson's Build Your Skills in Data Analysis, a choose-your-own-adventure zine. Print it out. If you want to learn about data munging, turn to page 3.

"Code Unto Others" by Nathaniel Manista and Augie Fackler has solid advice on making readable code. Ideally software describes itself to a reader the way you would describe it. "You don't get to have a one-on-one with all of [the future maintainers] and answer their questions." Most readability issues come from the code's structure, not the domain-specific details.
(watch) (slides)

K. Lars Lohn's final keynote was captivating. Inspired by "Gödel, Escher, Bach", Lohn wove music, math, motorcyles, and storytelling. Watch it on as large a screen as you can. (watch)