Takes from pyconil 2022
First in person conference I attend since Covid-19, was fun to meet some of the familiar faces and meet a few new ones. I’ve tried live tweeting, but seem like I’m not very good at it. (I’m better at hijacking others live tweets)
Day 1
Keynote
Keynote speaker couldn’t make it, and was replaced by a panel of the known experts in python While Sim Zacks asks them popular questions about python
@alonisser and I were a bit surprised, and live tweeted the panel session:
Hidden cost of your favorite function
@mayaGBar was talking about reason to profile, and the importance of looking under the hood of the utilities and functions we use and demonstrated using a profiler comparing different numpy function to achieve the same goal.
Hidden Hacks in Linters for Better & More Secure Code
@gemanor explained about a use case he and his team need to build lint checkers for block different personas form doing things that shouldn’t.
even that he introduce him self as non-pythonista (“alien” in his words), he managed to showcase a high level python craftsmanship, and a fun talk overall. he’s my MVP for this day
What happens when you import a module?
@reuvenmlerner with very interesting talk about how exactly the import system works while showing how to implement some parts of it.
while drinking the morning coffee, we had a talk with Reuven (me and someone I don’t remember his name..) about possible use-cases for using importlib.
one was for decryption of the sourcecode before executing it, to safeguard the patented algorithms and company secrets.
and my use case of using it for testing script that were meant to be run as main module. which is a nice way to avoid using subprocess, so mocks can be used: https://github.com/scylladb/scylla/pull/10809/files#diff-a9fc368799be893485a61ba81b9b736b2f3f9918a228351e7d6abe7293011584R104
Off road profiling - when the automated profilers just don’t cut it.
@ShacharSh goes over how to manually profile some bits of code, and how the
project he built manprof
can help with that.
that was last talk for the day, and I’ve could really concentrate on tweeting about it, but it was very nice to see Shachar talk, and improvise punchlines at the right time like when someone’s phone rang during his talk.
It was a shame that his package isn’t yet public (said something about legal didn’t yet improve, which always makes me a bit sad, that those processes are never straight forward)
הדרן עלך יום ראשון
let see how it goes tomorrow
Day 2
Keynote
This day start with me entering to main hall to see Bitya face staring at me (A former colleague of mine that gave a lecture in pyconil few years back)
Then the [@Yampeleg] started his colorful keynote, show the behind the scenes of competitive machine learning contexts and how he played with ML tools to “rig” a bit the results. and moved to more examples of what you can gain with mixing a bit of different models.
@alonisser (צייצינו המקצועי) with more details in his live tweet
BTW [@Yampeleg] is asking for forgivness about what he did. as someone that doesn’t have keggle account I’m automatically grant him one
How to Lift Your Tech Debt Curse with the Magic of the Open-Close Principle
@AmramDor talked about tech debt, start with a kind of “spoken word” show telling the horrors of how a project degrade during its lifecycle. then he moved to showing a practical code examples of how refactoring can take place and a few tips and guidelines on do it smoothly.
One thing I had missing, in real life every thing is a balance between few options, and each has its pros and cons. talking a bit about the cons of each refactoring practice was something I would have loved to hear, for example splitting a function into multiple method in multiple classes and maybe multiple files, might hinder readability of the code (just example, with proper names it might do the opposite)
Optimizing Code Performance for Python Internals
@YonatanGoldsch2 started yet another talk about what seems to be profiling (which that was more than handful of those) but then supersized me with a deeper talk that shad light into the inner working of dicts, that I wasn’t aware of and for sure would make me think next time I’m deleting attributes from objects.
JSON - The Fine Print
@tebeka talks are always a pleasure to attend, and this one was interesting to see how much can we learn about something as commonly used as json.
in the end I didn’t learn anything surprisingly new, but Miki exampled a few of the things people should remember when reading/parsing json, for example handling datatime of bytes.
BTW I know that the json parser have advanced features, like hooks Miki showed. but I never ever used them, I probably should start.
Overcoming Concurrency Issues in Web Applications
@be_haki gave a great and funny talk, on a subject very dear to my heart, since I was facing almost the exact same things a few years back. (and I’m work for @scylladb a DB company for the last 3 years)
unfortunately for me, we weren’t using SQL DB, but couchbase and mongodb and almost none of the suggested solutions fit those DBs, since they by design don’t give similar guarantees or functions.
After the talk when I talked with Haki, he was surprised how many people attend (also said that in the beginning of the talk) I wasn’t surprised, this topic is sound so trivial (once explained) but it so many times forgotten or overlooked and solutions to some of those type of problems are not easy to implement on different types of DBs, you need a higher the usual understanding of the specific DB you are working with.
(I think I should take this one to our experts to see their suggestions)
I was so enjoying the talk, I’ve forgotten about tweeting, Alon is better tweeter (and he should get a raise for that)