🎁 Give the #1 gift request of 2024... a ZTM membership gift card! 🎁

Python Monthly 💻🐍

Andrei Neagoie
Andrei Neagoie
hero image

18th issue! If you missed the previous ones, you can read the previous issues of my monthly Python newsletter here.

If it’s your first time here… (otherwise, skip this part)

Being a Python developer is a fantastic career option. Python is now the most popular language with lots of growing job demand (especially in the fields of Web, Data Science and Machine Learning). You have many job opportunities, you can work around the world, and you get to solve hard problems.

One thing that is hard, however, is staying up to date with the constantly evolving ecosystem. You want to be a top-performing python developer, coder, programmer, software developer, but you don’t have time to select from hundreds of articles, videos and podcasts each day.

This is the best Python newsletter for you if you want to keep up to date with the industry and keep your skills sharp, without wasting your valuable time.

I curate and share the most important articles, news, resources, podcasts and videos of the month.

Think Tim Ferriss and the Pareto Principle (80/20 rule) meeting the Python world. What’s the 20% that will get you 80% of the results?

Let's dive in. Here's what you missed in May 2021 as a Python Developer…

Overhead of Python C Extensions 🚅

Python is slow, and compiled languages like Rust, C, or C++ are fast. So when your application is too slow, rewriting some of your code in a compiled extension can seem like the natural approach to speeding things up.

Unfortunately, compiled extensions are sometimes actually slower than the equivalent Python code. And even when they’re faster, the performance improvement might be far less than you’d imagine, due to hidden overhead caused by two factors. Dive into it here.

Weekend Project Idea 🎏

Using the popular Python arcade library, build a game of your own this weekend! Sounds too overwhelming? In that case, you can follow this step by step tutorial.

Python 3.10 Beta 🏵

A few Python developments:

Python 3.10 is now in beta, and development has begun on Python 3.11.

Microsoft Joins Google 🛶

From Microsoft: "Microsoft has been a sponsor of the Python Software Foundation since 2006, and we are excited to announce that this year we have increased our sponsorship of the Python Software Foundation to the new top visionary level. We wanted to take this opportunity to share why Python is so dear to our hearts and the ways we contribute to the Python community across Microsoft beyond direct financial support." They have joined Google who, a few months prior, also became visionary sponsors. You can read the full announcement here.

Python Cinder 🧱

Facebook just open sourced their fork of CPython called Cinder. Cinder was built around the idea that CPython was not performant enough. Cinder is Instagram's internal performance-oriented production version of CPython 3.8. It contains a number of performance optimizations, including bytecode inline caching, eager evaluation of coroutines, a method-at-a-time JIT, and an experimental bytecode compiler that uses type annotations to emit type-specialized bytecode that performs better in the JIT.

Speaking of forks of CPython, there is also Pyston which we talked about in last month's newsletter.

Which one should devs use? Here is a breakdown.

Pylance + VS Code 🪆

Microsoft announced a big update for the official Python extension on Visual Studio code that many of you probably use. Python extension’s default language support is now powered by Pylance. Read the full announcement and what it means here.

How Performance Ruined Python 🚬

Python is great because its core philosophy of simplicity meets this market reality: engineering hours are more expensive than CPU peta-cycles. You can throw more compute instances at a problem if the source of your problem is a rush of eager customers. Instances are far easier to acquire than developers.

However, the current Python innovation arc tilts against this core strength. We have drifted away from simple and readable code. And it's diluting the security of Python applications. Read the full article here: How Performance Became the Nemesis of the Secure Python Code

Async In Flask 2.0 🪚

Flask 2.0, which was released on May 11th, 2021, adds built-in support for asynchronous routes, error handlers, before and after request functions, and teardown callbacks!

This article looks at Flask 2.0's new async functionality and how to leverage it in your Flask projects.

What is WSGI 💡

WSGI, Gunicorn, and Nginx? Huh? What do any of these have to do with Python, and why should you care? Learn how all of this fits together and what it means for you if you want to build an application in Python.

News Around the World 🗺

Big Tech News 🏢

Completely useless to your career but still great 🙃

Best Resource of the Month 🥽

The importance of humility in software development. I see it a lot as people in software become more and more "senior" or what they think it means to be "senior". The ones who maintain their humility have a far greater chance of success than those that forget humility. Here is an excellent discussion on hackernews around this topic. My favourite comment:

I started attending college a year ago. At that time, I didn't know much about programming: just a bit of C and some Python - enough to make first year college projects. After I started frequenting HN, I came across a lot of comments by developers on programming languages, toolchains, libraries, etc. Even though I didn't understand their arguments, I still believed what they said, because I thought they were experienced, so they must be right. Even though I hadn't used the tools personally, I started developing premature opinions on them: Java is verbose, so it must be avoided, PHP is inelegant etc. These opinions also gave a feeling of security: because I thought that I had chosen the right language for programming (Rust!), the right operating system, the right text editor (vim), and the right window manager (i3). This made me arrogant, because I saw myself as above my classmates, who were still using 'inferior' tools and still struggling to grasp the concept of command line arguments. Over time, I realised that I was just basing my beliefs on HN comments, and it is not healthy in the long run. This article helped me a lot towards realising that. Thank you for posting this article :)

Trick of the Month 🎩

GIF video
  • An add-on based on the new WebExtensions technology and will automatically remove tracking elements from URLs to help protect your privacy.

  • If you are a Mac user, you NEED THIS.

See you next month everyone!

By the way, I teach people how to code and get hired in the most efficient way possible as the Lead Instructor of Zero To Mastery Academy. You can see a few of my courses below or see all ZTM courses here.

More from Zero To Mastery

[Full Guide] Learn To Code For Free in 2024 & Get Hired in 5 Months (+ Have Fun Along The Way!) preview
Popular
[Full Guide] Learn To Code For Free in 2024 & Get Hired in 5 Months (+ Have Fun Along The Way!)

Updated for 2024 (including A.I. & ChatGPT). In 2014, I taught myself how to code & got hired in 5 months. This is the step-by-step guide I used. Now 1,000s of other people have also used it to learn to code for free & get hired as web developers.

Machine Learning Monthly 💻🤖 preview
Machine Learning Monthly 💻🤖

17th issue of Machine Learning Monthly! Keeping you up to date with the Machine Learning industry. Fastest growing monthly newsletter for Machine Learning Engineers.