PyCon 2017: Highlights
PyCon 2017 closes yesterday, I had spent the last two days watching some of the sessions on youtube and here are my recommendations.
Disclaimer: Of course, the following paragraphs are just my personal thoughts. I might find some sessions boring while you may not, and I might have learnt something out of a session while you find it useless. For the record, I consider myself to be an intermediate user of Python and specialised in web application development.
There's nothing new there. On the contrary, I bumped into this 2015 article about re this morning and I recommend read this one instead, if you know what is re and have used this python module before.
This is a good talk. I knew the underneath library(prompt_toolkit), but I've never seen it in action. It looks great: the API is clean, the feature is really lines of code away and in general works.
BTW, xonsh looks wonderful.
The five tools introduced in this video are ngrok, Heroku, Zappa, GCP's Virtual Machine and docker. So in general if you know most of them, you can skip it.
Basic server tuning for uwsgi. If you are a uwsgi user/web app developer, I'll recommend watch this video. Asheesh gave five reasons why we should use uwsgi instead of other default servers(like default HTTP server provided by python):
- Neat code reloading. It is very easy to upgrade application code without affecting running service.
- Tunability. So we can properly allocate specific system resources for the application.
- Security. Though I think comparing that with Django's runserver is a weak argument.
- Can use config files. Though again I think is a weak argument.
- Rich features. So you can remove nginx, celery, or memcache from your stack.
Not super helpful if you know what state machine is and you've used it before. Or else you could take your time to watch this session, good explanation and worth the time.
I had learned the trick of defining a somehow magic method inside of a Handler class from SimpleHTTPServer.py back in python2 years, and I love it. This aiosmtpd is a pet project by this well-known python core developer, and I'm looking forward to a chance to read its source code and get something new out of it.
Well, this is not a great, super useful talk, but still it worths the time.
Pretty much intro level, if you know what serverless is, you can skip it.
Another favourite video of mine. I liked his style of addressing things.
BTW, and we definintely need this BTW here: PEP 498 is GREAT!
This talk is given by one of the maintainers of the requests library. Behind every great fortune, there is a crime, and I believe behind every great open source project, there are countless corner cases behind it. The open source project is great because it had shouldered the burden, so you do not have to consider all the corner cases and write ugly code.
BTW, I really like this talk show.
This is some good introduction about lazy evaluation. I knew I could do that with decorators(discussed in Pro Python) but I didn't know we could also do it with lambda, which is pretty easy, though it is slow from a performance point of view, but we are using lazy evaluation and normally we would spend most of our time in some heavy lifting and we could disregard the overhead.
This one is for mypy, I knew Dropbox has been working on this but I've never seen it in action. I now consider at least it could be a tool to debug code and I've installed mypy locally. If you, like me, have never seen mypy in action, you won't waste your time watching this.
Jukka talked about some internals(ast analysis) of mypy, and since I don't really care about how it is done, I skipped that part.
Best video of this PyCon! Talked in depth about many interesting things at Instagram, how they upgraded their code base to Python 3 and mentioned many pitfalls. This is a highly useful video if you would like to migrate some of your python 2 code to python 3.
I thought it is a talk about configuration management, but it is not. Intro level again, and I recommend skip it.
Well, if you've never see async and await in action before, you could take a look and that's that.
Well, in terms of PyCon, you always HAVE TO WATCH Raymond's video. By the time I was writing this article, his video has 4.8k views and is the most viewed video in PyCon 2017 on youtube.
Yeah, that's it. I won't go into more details about this video. Go watch it.
If you know what magic method is and you've used it before, you can skip this session. This is just an introduction to the magic methods and I would say some of the code in the session are considered bad practices. So even though you find things in this session fascinating, please do not use them in your production code.
I've used the idea of overloading some magic methods to add `+` and `-` to some of my self-defined objects and it looked great back then. But were I to implement them again I would probably rather add some more explicit methods for the same purpose.