PyCon US 2017 (Łukasz)

Author: Łukasz Prasoł

Colleagues David and Mattias already wrote about their PyCon 2017 experiences in last week’s blog post. I’ll make my own summary of talks I’ve attended during US PyCon 2017, hoping some of them may interest you enough to watch them online. I attached a link to every presentation on YouTube. Mostly all of them are less than 30 minutes so I’d recommend to check them in some free time.

Friday’s talks

First day of the conference started with a difficult choice of so many interesting topics. Fortunately they should all be available online, and the ones I missed I’ll probably return to later.

Lazy Evaluation (YouTube video), this talk focused mostly around memoization in Python and a way of implementing it. From the perspective of the programmer is worth knowing how it works under the hood and when to use which implementation. I my opinion the talk may be very interesting for everyone into functional aspects of Python programming.

Immutable Programming (YouTube video) — Example of immutable object usage in a development of simple tic-tac-toe game with states representing players moves. This is something focused on building of efficient classes, and showing their usability. Although immutability of objects is something that appears mostly on interviews and deep hidden optimized parts of code in your most complicated projects, I would recommend this talk to learn more about mechanics of python specific optimizations.

Introduction to Threat Modeling (YouTube video) — Have you ever thought about your application and its security in a category of assuring security and safety the same way as to your own home? Ying Li and David Lawrence are using this metaphor to show what is important in building safe system. It is worth checking not only for a beginners — to know what to care about, but also for more experienced developers, testers or devops — this is a kind of a checklist, easy to remember and use within your project.

Dr. Microservices (YouTube video) — This one does not focus on the discussion of microservices vs modules and dependencies. Instead it is a full story of approaching a monolith system and breaking it down to one based on microservices. Step by step example, with some explanation how to solve some problems you may experience with that kind of task. Featuring usage of tools and libraries that will be helpful or necessary. It also encourages to learn about building middleware and centralized data pipelines. In my opinion very valuable talk basing on real life experience.

The talk Constructive Code Reviews (YouTube video) is already described in David’s blog post, but I must tell that this brief talk should be obligatory as a guide for a developers never working with code reviews before.

Next two talks I attended were closely related to deep learning that is highly trending technology now for any kind of project basing loosely on AI.

Although A Gentle Introduction to Deep Learning with TensorFlow (YouTube video) seems beginner level, I would recommend it to developers already familiar with neural network modelling as it bases on some basing knowledge and terms from that area. Provided example show and explain where and why it is advised to use deep learning technology.

Snakes on a Hyperplane (YouTube video) — Tips, tricks and hidden traps you may encounter in developing an intelligent self-learning application on production. Slightly advanced topics than previous, but it is (of course only in my opinion) a complementary speech for the previous one — spiced with real life examples of usage of deep learning shows that is not only the area of academics.

Saturday’s talks

How documentation works (YouTube video) — A neat summary of how the documentation of a project should look like. The presented way of writing of documentation divides it in four categories: Tutorials, How-To’s, Discussions and Reference. With comparison to real life examples and explaining what are the goals of each category it makes a very good guide how to write it with conviction.

Magic Methods (YouTube video) — This was a short talk that may be interesting because of funny things you can implement using them. It is more language specific knowledge, I would rather avoid using that kind of code on production applications but it is worth knowing they exist. Author gave some curious examples, but in general not of real life usage.

Designing secure APIs with state machines (YouTube video) — If you missed the lectures about Mealy and Moore machines, then this one is for you. Just perfect academical talk.

Library UX (YouTube video) — designing an API meets a lots of problems. With this talk you can learn what value may be provided to your system by adding (or removing) an abstraction layer and/or objects.

Tracing (YouTube video) — how useful tracing is knows everybody trying to reproduce and debug a crash from production. The reasons behind using it in projects are not only QA related, but close to profiling, performance and workload modeling. See for hints why and what and how to use in own projects. In my opinion a practical and convincing talk.

Sunday’s talks

Async/await and asyncio (YouTube video) was highly technical talk about asynchronous processing in Python 3. Especially worth seeing if you need one more reason to finally upgrade from Python 2. New syntax introduced and usability of it is something that any Python developer should be familiar with.

One Data Pipeline to Rule Them All (YouTube video) — I decided to go to this one especially after microservices — it shows the value f using Kafka in your project especially for complicated systems. It is a basing introduction but very encouraging to learn more.

Building Stream Processing Applications (YouTube video) — the experience of Yelp developers in this area is worth checking out. That is big picture of information processing project with a lot of data happening in real life.

Conclusion

In general, the conference was really worth going to, but as always: talks are not everything — their role is only to encourage you to get more knowledge and find areas of programming that may be interesting, so I’d recommend to check some of the talks yourself and make your own opinion.

Follow Elements on Facebook and Twitter!


Originally published at www.elements.nl on June 6, 2017.