The Python programming language comprises a large portion of the SparkMeter stack. From fulfilling web requests, to high-volume data processing, to simple scripting, it does it all. Last month I was fortunate to be able to visit Cleveland to represent SparkMeter at PyCon - the community’s flagship conference. This was my fifth year attending, and, like the times before, I left with a renewed enthusiasm for Python and its community. While I could sing endless praises about the awesomeness of the hallway track, or the camaraderie of the open spaces, the talks are really the highlight of the weekend for me. They’re the catalyst for the discussions and tone of the conference, and represent what’s great about the community. Luckily, PyCon’s organizers publish all talks on YouTube for those who couldn’t attend. Below are some of the talks that I enjoyed, along with a brief note about why I liked them.
Advanced asyncio: Solving Real-world Production Problems by Lynn Root
Lynn’s talk was, in my opinion, the technical highlight of the weekend. She delivered the presentation on asyncio that she wished she had seen three years ago, before she started implementing production async code at Spotify. Topics included common smells to avoid, design patterns to adopt, testing strategies, debugging tricks, and profiling tips. She even pointed out portions of the async framework that are broken and should be avoided. As we deploy and support asyncio in production, this will be an invaluable reference material.
API Evolution the Right Way by A. Jesse Jiryu Davis
Worth it for the illustrations alone, Jesse’s talk was a masterfully-delivered exploration into the contracts library authors have with their end-users. He walked us through the dos and don’ts of API design, weaving them in with descriptions of a snake that we, as divine beings, were evolving to meet the needs of the world. “Big deal, I don’t publish libraries!” you might say before donning your hat and riding off on your penny farthing. Not so fast! Interface design is important within one’s codebase, too. Sure, you may not need to engage in a long-running deprecation process, but you definitely need to design things in such a way to minimize misuse.
Working With Time Zones: Everything You Wish You Didn’t Need to Know by Paul Ganssle
Time is hard. As developers, all we need to do is lock everything to UTC and we’re good, right? Wrong. Time zones vary in interesting, inscrutable ways. They range from the historical - some countries skipped entire days - to the cultural - if you identify with a Muslim community within western China, you may use a different time zone when coordinating with others in your societal group. Having lobbed these head-scratchers, Paul provided a solid exploration of the different tools available to Python developers, as well as a set of best practices for their use.
PEP 572: The Walrus Operator by Dustin Ingram
PEPs are the process through which new features get added to Python. PEP #572
proposed a seemingly-innocuous operator:
:=. Nicknamed “the walrus operator”
(look at it sideways), it allows for assignment to a name while simultaneously
making the value available for evaluation in an expression. While small, this
PEP caused big waves, eventually resulting in Guido van Rossum, Python’s
creator and BDFL (Benevolent Dictator For Life), stepping down from his
leadership position. Dustin’s talk served as a much-needed admonishment to the
community to treat folks on the internet with respect, and avoid the vitriol
that usually manifests on social media.
Where Do You See Python in 10 Years? by Dr. Russell Keith-Magee
PyCon’s organizers chose a great topic for their opening keynote - the future of Python. While the ecosystem currently enjoys a great amount of success, it didn’t get where it is without a significant amount of work, and it won’t persist without continued effort. Part of this requires a decent amount of thinking and prognostication - what will the language need to adapt to and support in the future? The other requires resources: despite being used by many of the world’s richest and most successful tech companies, Python doesn’t enjoy much in the way of corporate sponsorship. It’s very difficult to do the hard things when you’re primarily relying on people donating their spare time. I’m a sponsoring member of The Python Software Foundation. You should join, too! Your contributions will help keep the language competitive and useful.
To watch all of the videos from this (and previous) year’s PyCon, visit PyVideo.org.
If you went to PyCon, or watched any of the videos, which talks did you enjoy? Let me know @IAmAru.
SparkMeter is currently hiring for a several developer roles. Head over to our Jobs page to apply!