PyCon 2024 Trip Report

I was fortunate enough to go to my 2nd PyCon this year. Even better, I was selected to give one of the talks, which was an immense honor. Out of the hundreds of proposals, my talk about Extensible Python got picked, which I can’t express enough gratitude for.

I always like writing up what I thought went well and what didn’t go so well after a conference. It gives me a chance to collect my thoughts, provide some cool tidbits for others to read about, and let me share some of my favorite memories. So without further ado, let’s talk about the conference itself

The Conference

PyCon is truly a wonderful conference. They had 2700 attendees in-person, and it was actually remarkable how little you felt it. Sure, it was toasty when we were all in the keynote room, but I never felt cramped in any room, food lines moved quickly, and the general logistics went incredibly smooth from the outside looking-in.

I also appreciate the thoughtfulness the entire staff and volunteers displayed. There were quiet rooms for when you were overwhelmed, there was a focus on accessibility (it was cool watching the ASL interpreters and live captioners do their work), and it felt very inclusive to all people, regardless of gender identity, race, or religion (at least as far as this cis white guy could tell – if I’m wrong, please tell me).

The only thing that was a little annoying was sound quality in the huge rooms (mostly hall B and hall C), but it was a minor complaint.

I haven’t gone to a bad Python conference yet, and PyCon stands a head above the rest. You meet so many wonderful people, the talks are all quality, and you feel welcome, regardless of how new you are to the language or community.

The Venue

Mariatta said it in the opening address and I agree with here: this was a really nice venue. The David Lawrence Convention Center was really spacious, with really wide hallways, and most importantly, a ton of outside space accessible from the center itself. There was a rooftop with tables you could sit at and see a beautiful panoramic of the city (and looking at the Allegheny, PNC park, the yellow bridges, and the rest of the skyline was a very nice sight compared to the inside of the conference rooms). There were also plenty of bathrooms – I didn’t wait in line at all as long as I went to one of the bathrooms not immediately near a talk room.

I’m a huge foodie, so I judge the area based on its food as well. Breakfast was alright, and lunch was more of the same; although the second day of talks had a Mediterranean slant to it and I thought that was much better. I didn’t have the urge to skip lunch for a restaurant like I did in Salt Lake City the year prior. Given how hard it is to cook for thousands of people economically, I do think it was decent for what it was.

I did have a ton of restaurants I wanted to try. While most places I went to were better than what I could get at Huntsville, I don’t think many of them blew me out of the water or weren’t things I couldn’t cook on my own.

Day to Day (Talks, Food, Etc.)

Thursday

When I got in I took the bus to liberty street, dropped off my bags, and stopped for lunch at Mike And Tony’s Gyros. Nothing too special here, but for an 8 dollar Gyro, I’ll take it. For dinner, I wanted something light, so I went to Yuzu Kitchen for some Ramen, and it was pretty good. I got a nice spicy ramen with a salad with Yuzu dressing, which made me appreciate the yuzu flavor a bit more. I decided not to mingle; I instead practiced my talk a few times and timed it and turned in an early night.

Friday

Keynote – Jay Miller

Jay gave a fantastic keynote about what it means to be a Black Python Developer. It had humor, emotion, and sincerity and Jay walked us through his journey of the struggles he faces and his ambitions in creating a space that Black developers want to return to. He referenced DjangoCon 23 and the impact of Black devs and their talks/keynotes (I was there, they were impactful). I hope many of the other minorities present in the crowd could relate to his keynote and I hope to see more diversity as a result.

Talk – Extensible Python: Robustness through Addition – Pat Viafore

This was it, and I was nervous. This talk is based on Part III of Robust Python, which was the hardest part to write for me, and thus, my least favorite part of the book. My practice talks weren’t as strong or engaging as I wanted, and I had already cut plenty of slides from my 45-minute practice run with HSV.py. I still had 81 slides to get through in 30 minutes, so I knew it was going to be a tight talk.

I had a good crowd that showed up, which was certainly encouraging. I feed off the crowd a bit, as I completely ad-hoc my talk. I don’t use speaker notes, and my practice mostly just practices flow. This is so I can make more eye contact with the audience, and have a bit more dynamic of a talk (tell stories at points where the audience seems more engaged).

In the end, I was quite glad with how it turned out; it certainly was stronger than what I was worried about. I had about 10 people come to ask questions after the the talk and we had some great conversation afterwards.

The Design of Everyday APIs – Lynn Root

I haven’t been to a bad Lynn Root talk yet. I first saw her at the first conference I ever went to – PyTennessee 2015. This year’s talk was about how to design API and certain tenets to follow. It was an engaging talk with good slide design, practical advice, and a good amount of humor. It’s definitely on my shortlist for talks to recommend from this year’s conference. I was also glad to see some similar themes around flexibility from my talk show up as well. She also referenced “The Design of Everyday Things”, which had a decent influence on parts of Robust Python.

PEP 695 – or how typing syntax led to a scoping rabbit holeJelle Zijlstra

As I get older, I am finding myself less interested in the “flavor of the month” talks that show off the newest package manager or newest web framework. I just don’t do enough work currently in the Python space for me to have strong takeaways. But I am finding more value in the professional skills talks as well as the more advanced talks. I do enjoy being a language nerd, so I like knowing how features are implemented under the hood.

I liked hearing about how seemingly simple improvements may have complex follow-on effects. Jelle walked through what he did, and then how scope behaves a bit funny when he was making changes. In essence, he was introducing functions to perform “lambda lifting”, but since things are scoped kinda weird when functions are nested in classes, this introduced some problems. If you like typing and scoping, then check out this talk to learn a bunch more about how Python works internally.

You’ve got trust issues, we’ve got solutions: Differential PrivacyVikram Waradpande

I like to go to talks that I don’t have too much of an initial interest or knowledge about. I’ve gone to some wonderful talks by discovering them this way; sometimes, I’ll even just stay in a room without knowing what talk is next. I recommend everyone do at least one talk like that. Even if you don’t like the subject, you may learn things about presenting style, smaller tools, or just general workflows.

This talk was about differential privacy, which is a way of providing security around datasets, where attackers cannot derive information about an individual, even if they can query information. It does so through statistically-added noise. I am afraid my brain was getting a bit frazzled at this point; the morning talk wiped me out. So, I wasn’t able to give this talk my full attention. I at least know what differential privacy is, and that Google has a library that can help with it if I ever need it.

PEP 683: Immortal Objects – A new approach for memory managing – Vinícius Gubiani Ferreira

This was another talk for a language nerd. It went deep into how reference counts work and how they can contribute to slowdowns with copy-on-write (because guess what, when a refcount changes, you have to copy that memory and you lose the benefit of shared memory at that point).

After this was a break, where my brain was definitely lagging. I was about ready to go up to my hotel room, but instead I talked to some people who came to my table (they also came to my talk, and it was nice to see how it resonated with people). I skipped the next talk chatting with people, stood up, and felt it all come crashing down on me. I wasn’t feeling well in the morning, so I went to my hotel room to decompress.

I ended the day watching lightning talks, but I don’t remember exactly they were all on. I remember a few libraries for learning Japanese, experiences for PyConKorea and being a PSF director, but my brain was definitely fried. I ended the day by going to Gaucho Parilla Argentina to treat myself to a nice dinner (which I think will become a habit of mine after giving a talk). Probably my second favorite restaurant I went to in Pittsburgh.

Saturday

Keynote – Simon Willison

I’m not a huge proponent of AI and LLM. I think the technology is awesome, but I do worry about the ethics and integrity of how we are deploying them. That being said, I think Simon’s talk on how LLMs can be used to help developers was pretty awesome. The highlight of this talk was a overlay counter that tracked all the times Simon mentioned “Artificial Intelligence”. He said with the help of ChatGPT 4.0, he was able to have a working prototype in 6 minutes.

I don’t know if I’m ready to integrate LLMs into my workflows yet. I hesitate to use them in production work, as I don’t think they count as fair use over copyrighted works, and I don’t think they are up to what I need for more advanced work yet. I also enjoy coding, so I wouldn’t use them for something trivial that I don’t know, but I definitely now see more of the allure for getting things started.

Friends Don’t Let Friends Package Alone – Leah Wasser

This was a talk about how we can improve the package ecosystem, especially for scientists and beginners. I always appreciate talks about the “curse of knowledge”, because I know I suffer from it, and I like looking at things from a beginner’s angle as well. It also introduced me to hatch which maybe seems to be the next big thing. I appreciate what Leah is trying to do to make things more accessible for non-programmers.

Having Fun with Pydantic and Pattern MatchingSebastian Buczyński

I’m a big fun of pydantic, it’s no secret. I wrote a whole chapter about it. I left the Python world before pydantic 2.0 and before pattern matching got really big, so it was nice to see how to do it. I was really happy to see how pydantic can handle Union types. If I ever do a 2nd edition of Robust Python, this feature might make the cut.

Open Space – Learning about Math

I always like to hit one Open Space (an impromptu meeting where people can talk about a shared interest). I’m trying to reconnect with math, so it was nice to hear about how other developers are using mathematics in their job.

Probably one of my favorite moments of the conference came at the end, where someone who was doing something deeply mathematical was trying to figure something out regarding the UX of his package, and I was working with him to see if there was something in the Python ecosystem that met his needs.

NetworkX is Fast Now: Graph Analytics Unleashed – Mridul Seth, Erik Welch

Graph theory is probably the area of mathematics I’m most interested in, even if I can only do basic things. I’ve been a fan of NetworkX, so I was glad to hear how they are trying to accelerate this package. It seems NVIDIA is looking at a mostly lift-and-shift that pays off huge gains without changing your code. I also like the hexagonal architecture approach as well.

CPython’s Compilation Pipeline – Irit Katriel

I’ll be honest, my brain was starting to get fried again, so I ended up just zoning out on this one. Sorry Irit, it sounded like there was good info in this one, but my brain was full.

Computational Origami – Alistair Stanley

I was still pretty tired; the week was catching up to me. I’m sad I missed the first half of it; I walked in as Alistair was talking on how to prove that the square root of 2 is irrational using origami. I’m sad I missed this one and will have to catch it on YouTube.

Using Python to assess landslide risk: A matter of life and death – Eric Matthes

This was another super interesting talk. It was light on Python, but it’s really cool to see how Eric used Python to alert his local communities about landslide risk. It was grounding to see someone take a hobby project and actually provide concrete helpful service to the public. It reminds me a bit of civic hacking, and may have lit a fire under me to contribute back to the community. We;’ll see if it plays out.

For the night, I met up with a fellow co-worker and some of his associates at The Eleven, which had fantastic food. After eating a ton so far this trip, I was trying to limit caloric intake, but everything I tried was really really good. I couldn’t help myself for a late night snack later on though, and I did try Bae Bae’s Kitchen, which was my favorite restaurant of the trip.

Saturday

Keynote – Kate Chapman

Kate shared her work with OpenStreetMap and how democratizing data can help the greater good. It was interesting to hear how that work helped with the Haiti earthquakes, as well as flooding in Indonesia. Definitely worth a check-out if you’re interested in geospatial data and how you can help local communities.

Building A JIT Compiler in CPython – Brandt Bucher

This was probably my second favorite talk after Lynn’s. It was such a deep dive into what goes into creating a JIT compiler, how the CPython team is achieving faster performance, and most importantly, how they are doing it iteratively. But I was surprised at how accessible Brandt made the talk.

I don’t do any CPython work at all, but I found the C code easy to follow in this presentation, and learning about op-codes and the micro-ops they are attempting made complete sense to me (thank goodness I’ve written in assembly before, because it’s easier to think of computing in lower level terms when you have).

Definitely one to check out on YouTube if you’re interested. I really liked how they dealt with dependencies on a compile toolchain with copy-and-patch JIT-ing.

Graphs and Vogue Dance: using data structures to create choreographies – Alynne Ferreira

I finished up the talks with one on Graph Theory. As I mentioned, I like Graph Theory, but unfortunately this was at the beginner level. I did like learning about the Python package for Discrete Finite Automata and how that was used to model moves from one dance step to another.

And with that I was done with PyCon 2024. My brain couldn’t take anymore, and my introvertedness was kicking in, so I was exhausted. I decided to walk over to the Museum of Illusions and spent about two hours in their brainteaser room just working my way through puzzles (one sliding block puzzle was difficult enough I bought a mini version as a souvenir.

I finished by eating at Alihan’s Mediterranean Cuisine to get some yummy Türkiye kebabs. It was a nice way to decompress and just breathe for a bit.

And with that I was done. Pittsburgh was a wonderful city (even if the Pirates weren’t playing while I was there), PyCon was super high-quality, I met tons of wonderful people (especially a ton of new first-comers), and I absolutely look forward to showing up again next year.

Leave a comment