18th issue! If you missed the previous ones, you can read the previous issues of my monthly Python newsletter here.
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?
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.
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 is now in beta, and development has begun on Python 3.11.
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.
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.
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.
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
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.
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.
The ripples created by the widespread Spectre vulnerability, which impacted a multitude of processors and devices in 2018, are being felt to this day. Security researchers have discovered several new variants of the flaw that, while difficult to carry out, would be tricky to mitigate. The three new types of potential Spectre attacks affect all modern AMD and Intel processors.
Colonial Pipeline was hacked and hackers made a bunch of money but also apologized for creating the chaos that ensued.
Neural implant lets paralyzed person type by imagining writing.
Google will be implementing a "hybrid" approach to work by combining remote work and in-office work for their employees. Google is also working towards removing the need for passwords on the web and mobile. Allllsooo, Google AMP is dead! AMP pages no longer get preferential treatment in Google search. You can tell Google had a big announcement month because there is one more cool thing to report: this.
Twitter is introducing a bunch of new features after being stagnant for a while. This one, apparently makes you rich by just tweeting.
Microsoft is finally pulling the plug. The Internet Explorer desktop application will be retired on June 15, 2022. Also, Microsoft has built an AI-powered autocomplete for code using GPT-3
If you have an Amazon Alexa, you have just a few days to turn this feature off.
Scroll and see what happens.
Make Captcha Great Again with Doom.
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 :)
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.