Recap of Pycon 2018

I arrived at Pycon 2018 in Cleveland on Thursday evening, just in time for the reception hall to open. I spent the next couple of hours going to the vendor booths, barely missing getting a signed Dave Beasley Python Cookbook, but he was gracious enough to have a photo taken with me.

I am constantly surprised to discover different companies using Python in some way or another. For instance SquareSpace or LinkedIn, both have booths here. Microsoft has a large presence which is not surprising with the New Microsoft, I am still hopeful that Python3 will become a first-class citizen in Azure Functions 2.0.

It was still light when I left the expo hall so I explored Cleveland on my bike for about an hour. I took far more photos than I rode in miles. The variety of architecture and public art here is stunning. Classic churches next to glass office buildings. Remnants of Cleveland’s industrial past provides a backdrop for a landscape of new apartments, condos, greenways, and riverwalks. I don’t know if the city is always this clean or if they just finished running the street sweepers for the entire year, but the lack of litter and debris free (if potholed) streets make riding in this city refreshingly pleasant.

Friday morning started with breakfast. By chance, I found Chris Moffit of Practical Business Python and sat with him for nearly an hour. He is as insightful and kind in person as he is in his writing. I have found value in so many of his blog posts. Many of the things I have dabbled in have been inspired by something he has written. We were at the same table as Kevin Markham of Data School, who I continued to run into at various openspaces throughout the rest of the conference. I wish had taken the time to speak with him more, he is really sharp.

The opening Keynote by Dan Callahan was a bit of a tease. Dan is from Mozilla and led the talk down the path of Web Assembly (WASM) as the universal language of the web. I was convinced this would be the kick-off of a Mozilla lead project for Python to WASM or Wython or something. Nope. He demo’d rust into WASM. I like Rust, I have dabbled in Rust, as part of the opening keynote for Pycon… I don’t know. Maybe the point of his talk was to inspire someone or some group of people to start pywasm.

I missed the first few minutes of Joyce Jang’s talk on Team Building because I ended up talking to Allen Downey on my way out of the keynote. Perhaps it was missing her intro, but I didn’t get engaged with her talk. I left part way through and caught the end of TriPython local Stacy Morse’s talk on Code Reviews I had been to an early version of this talk when she presented here. I can only say that her current version absolutely rocks. She has obviously spent a lot of time refining her talk and incorporating feedback. I wish all the talks at Pycon had this level of refinement.

Jake VanderPlass always opens some eyes when he talks about optimizing code. His talk on Performance Python: Seven Strategies for Optimizing Your Numeric Code was delayed a bit due to A/V issues. Like a pro, he recovered and it was tough to find where he cut his talk short. Since I rarely work on things where performance optimization is important, all of the techniques he showed were new to me.

I attended Andrew Knight’s Pydata Carolinas 2016 talk on Testing. His Pycon talk on BDD in Python was even better. His talk is what I have already started to implement after returning to work. I’ll write a post on that after I see how it goes. (Update: I have started reading Andrew’s blog Automation Panda, I highly recommend it.)

Seeing a gap in the talk schedule, I tried the openspace posted on GUI’s in Python. It was well attended, maybe 25 people. The rooms were a challenge for that many people, maybe I am ready for some sort of hearing assistance, but I struggled with picking out the conversations in the room. Through the course of the discussions, we went over several different libraries, frameworks, or packages to create or deploy a GUI python app. Oddly - this panel discussion, where so many of the pain points were the same as my own, has convinced me that I need to learn JavaScript.

At this point my brain was full. My social energy was done. I just wanted to take a nap. Instead, I went to Analyzing Data: What pandas and SQL Taught Me About Taking an Average you know, because it seemed like a light topic. I had read his blog post on, but a talk was even better. I think I had made this mistake a few weeks earlier, and only caught it when a colleague pointed it out.

Next, I went to an openspace on Browser Automation. This group was smaller and I was able to hear better. I had a lot of takeaways from this one, too many to list here, but notably:

To finish out the day I went to the lightning talks. Some were really awesome, like an introduction (and invitation to use) Black and this amazing presentation by 14-year-old Joshua Lowe on Edublocks.

The Saturday keynotes were the best talks of the entire conference. Particularly Qumisha Goss who absolutely rocked it and got a standing ovation. It is one of the talks that has shifted my view of the world in a better way.

The rest of Saturday I made an effort to go to more open spaces and wander the hallway track more. I ran in to Stacy Morse (@geekgirlbeta) several more times who was apparently doing the same thing.

I met and chatted with Dan Bader, who was gracious enough to sign my copy of his book. I would have liked to talk to him longer, mostly around what he is doing with the Real Python site, which I have found to be a good resource for when I want to go deeper on a topic.

One of my highlights was getting to watch a live recording of Python Bytes Podcast with Micheal Kennedy and Brian Okin.

GIS has always been interesting to me, so I attended an openspace on GIS. The room was large and it was hard to hear again. There were many folks from ESRI attending and I am not sure why that shifted the dynamic of the room, but it did. Perhaps everyone else felt the experts were attending and they kept back so they could speak. I did pick up some bits here and there, but most of the topics stayed focused around ArcGIS instead of other libraries. (UPDATE: I got to dig into GeoPandas about a month later.)

Talks I did attend:
Oops! I Committed My Password To GitHub! by Miguel Grinberg where I realized that while I have not been doing it ‘wrong’ I can certainly handle passwords in Python better.

Reinventing the Parser Generator by David Beazley. Was a classic Beazley talk with live code and doing some odd things in cool ways.

Graph Databases: Talking about your Data Relationships with Python by Nicolle Cysneiros, I am fascinated by Graph Databases and want to use one for… something. I have not found what that something is yet.

The Journey Over the Intermediate Gap by Sara Packman, made me realize that I may not be an intermediate python programmer. I do need to start doing a few key things, writing tests, better documentation, better commit messages, more rigor around working on branches instead of master. However, many of the things she mentioned to get over the intermediate gap, I am already doing. I liked this talk for the talk itself, the Q and A period was a bit unsettling. I’ll leave it at that.

You’re an expert. Here’s how to teach like one by Shannon Turner, I took a ton of notes from this talk. It is something I want to go deeper on. This is another place where I have not been doing it ‘wrong’ but I could certainly do it better with a bit of focus. I have a feeling I could make big gains in a short period of time by adding structure to what I already do, filling in some gaps, and adding a little polish.

Saturday evening, the lightning talk that stuck with me was AREPL which produces the output of your code while you type it. At first, I was like ‘ok cool, but why?’ then the presenter mentioned teaching environments/students. Now this makes sense. For beginners very early in the process it could be quite frustrating, but for those that are just starting to put together slightly more complex scripts and little programs the on the fly debug nature of AREPL would give real-time indications that they have gone wrong, or right.

Sunday started with a Keynote by Brett Cannon. It certainly changed my thinking on Python and contributing to opensource.

I attended some more openspace talks on Sunday, but tried to get to talks in the afternoon.

The openspace on linters was more on the developer side (writing a linter) than leveraging/using linters as the name posted on the openspace board implied. They got fairly deep into parsers and various checks. Met some nice folks though.

In another openspace on the Data Science stack, I had the most takeaways from the whole conference. A dynamic group with a broad range of attendees, once again I found people having similar pain points to my own. There are so many different tools, but most of them don’t go quite far enough to solve the very tough problem we are all trying to solve. I have a feeling many of the tool authors had the same experience and that is what motivated them to build their own tool, only to find that the last 1/10th mile of the journey is very difficult.

I attended one talk on Sunday:

Systemd: why you should care as a Python developer by Alvaro Leiva Geisse this talk was a stretch for me, going to a deeper level in Linux than I usually think about. I think I understood most of it at a high level, but some of the more technical parts certainly went over my head. Still, a well-presented talk that I enjoyed.

The conference close was lightly attended compared to other keynotes. I have a feeling people had afternoon flights to catch. With it being Mothers Day this was not much of a surprise.

In summary, I think I will try to make it back to Pycon next year. It was a good trip and I learned a lot of things. I need to realize that since I have been attending so many talks, conferences and meetups it is getting harder and harder to get to the single ‘Ah Ha!’ moment for a given conference.

Written on May 13, 2018