Monthly Python Talk
Hey guys!
Over the last few months I've been collecting interesting Python talks from various conferences. I haven't been able to go to many of these conferences myself, but it's really great that they upload the talks to YouTube.
Something I've noticed though, is that most people aren't aware that these conferences are happening and that really good talks are available online!
With that in mind, I thought of sending my students one interesting talk per month. I'll also keep an archive here!
[October 2018] Big-O Notation: how code slows as data grows
This month's talk was "Big-O Notation: how code slows as data grows". It was sent to me by another one of my students. It's really good, and at a good level for most beginner to intermediate developers.
The author does a great job of explaining Big-O notation in relatively simple terms. It's a short talk, but worth spending 30 minutes giving it a watch!
Link: https://www.youtube.com/watch?v=duvZ-2UK0fc
[November 2018] Beyond PEP-8
This month's talk was "Beyond PEP8: best practices for beautiful intelligible code". This has got to be my all-time favourite Python talk. You may have already seen it, as it's linked in one of my courses!
Raymond Hettinger is a Python core developer, and his talks are often really informative but yet strangely suitable for developers of all levels. In this talk he not only goes over PEP8, but also some of the features of Python that allow us to write beautiful code with little effort, by placing a bit more structure and using the best parts of Python to their maximum.
Link: https://www.youtube.com/watch?v=wf-BqAjZb8M
[December 2018] Memory Management in Python
This month's talk was "Memory Management in Python — The Basics". It's a really informative talk on something new Python developers often aren't taught about!
In this talk, Nina Zakharenko talks about what happens when we declare variables, how garbage collection works, and some very interesting Python internals such as __slots__
and the del
keyword.
However, I've also found this excellent video which is a bit more beginner friendly. I recommend watching this video before watching the monthly talk: https://www.youtube.com/watch?v=arxWaw-E8QQ
For the monthly talk, here's the link: https://www.youtube.com/watch?v=wf-BqAjZb8M
[January 2019] Python's Class Development Toolkit
This month's talk was "Python's Class Development Toolkit". While it may seem basic, Raymond Hettinger talks about some very interesting aspects of class development, and also a methodology on tackling incremental development generally!
What Raymond talks about in this talk is aimed at more advanced developers. I'd recommend watching this talk if you've completed a Python course or are nearly finished with one.
The methodology he recommends is very strict, and that means it's not always the best choice. Don't follow it blindly. However, it's quite enlightening when he explains his thought process!
Link: https://www.youtube.com/watch?v=HTLu2DFOdTg
[February 2019] Dataclasses: the code generator to end all code generators
This month's talk was "Dataclasses: the code generator to end all code generators". Dataclasses is a new module in Python3.7 that allows us to create classes for handling data much faster than we could in Python3.6, by generating a lot of the code for us.
Having the code generated means that the code that is generated for us is the result of a lot of experience from Python's core contributors. That means it's almost certainly going to be better code than what we could write ourselves.
Of course, dataclasses have a purpose. That is described in this talk, alongside how to use them. Since dataclasses are so flexible, you'll probably find yourselves using them in a large variety of scenarios. I know I have!
Link: https://www.youtube.com/watch?v=T-TwcmT6Rcw
[March 2019] Type-checked Python in the real world
This month's talk was "Type-checked Python in the real world". Carl Meyer talks about both the fundamentals of type hinting in Python, as well as his process in Instagram for adding type hinting to a large Python codebase.
Usually talks are not about large codebases or incremental change, so this one is particularly interesting! Definitely recommended if you are working with an existing Python application and you want to make it more robust and resilient by adding type hinting!
Link: https://www.youtube.com/watch?v=pMgmKJyWKn8
[April 2019] Simple Made Easy
This month's talk was "Simple Made Easy". Rich Hickey talks about what simplicity is and why it is important—essential even—for software development. He also talks about how to build simple systems and how it will help maintainability.
Link: https://www.infoq.com/presentations/Simple-Made-Easy
[May 2019] Elegant Solutions for Everyday Python Problems
This month's talk was "Elegant Solutions for Everyday Python Problems". In this talk, Nina Zakharenko goes over frequent problems and their Pythonic solutions. These can be quite different from what we'd traditionally do in other programming languages—so it's great to see them in action!
Link: https://www.youtube.com/watch?v=WiQqqB9MlkA
[June 2019] The Value of Values
This month's talk was "The Value of Values". In this talk, Rich Hickey talks about the importance of using values in our applications instead of "spaces". This may sound a bit esoteric, but as you learn more Python and programming (and after watching this talk!) it becomes clearer.
Values are facts, which means your programs can always treat them as unchanging things. You can depend on values, whereas you can't depend on "spaces".
I watch this talk a couple times a year, and every time I learn something new. Highly recommended!