12th issue! If you missed the previous ones, you can read the previous issues of the Python Monthly 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 monthly newsletter is focused on keeping you up to date with the industry, keeping your skills sharp, without wasting your valuable time. I will be sharing the most important articles, podcasts and videos of the month. Think Tim Ferriss and the Pareto Principle (80/20 rule) meeting the Software Development world. What’s the 20% that will get you 80% of the results?
Watch out Jupyter Notebook, we have a new kid in town: Deepnote. Deepnote is a new kind of data science/python notebook. Jupyter-compatible with real-time collaboration and running in the cloud. Oh, and it's free! The best feature is the real-time collaboration you can have with others while working inside the notebook.
Let's say that you wished Python, or most likely the default CPython interpreter was faster. Well, there are always alternatives. Pyston is a different interpreter than the standard CPython, and if you use it to run your Python code, you may see up to 20% performance boost. Check it out. Alternatively, you can check out PyPy as well.
If you want to dive deep into how a Python interpreters work, and why we can have multiple versions of them, have a look at this in depth article.
A unique project and activity to try this weekend. Hunting for Malicious Packages on PyPI. Learn how to find malicious libraries on PyPI, how they work, and how you can build a tool to detect these. This is a good portfolio project to put on your resume and wow future employers!
There are so many tools in the Python development ecosystem. You might use pip
to resolve dependencies, pytest
to run tests, flake8
and pylint
for lint checks, black
and isort
for auto-formatting, mypy
for type checking, and many more. JavaScript has the popular NPM Scripts for this... but Python? Well you can use Pants. Specifically Pants 2.0. which helps with installing, configuring and orchestrating the invocation of these tools.
For the first time in the history of TIOBE's index (a famous index that ranks programming languages on different criteria), Java has slipped out of the top two, leaving Python to occupy the spot behind reigning champion, C. Wooohooo!!! (this doesn't really change anything though...just for glory).
Valuable advice from someone who reflects on their first year as a Data Scientist and the important lessons they acquired along the way. Some gems in here.
Cache $$ money. Caching is an important technique across all programming. Here is how to do it in Python using the popular LRU cache strategy. Something like this can be implemented in most programming languages.
Everything you wanted to know about enumerate()
function in Python. In Python, a for
loop is usually written as a loop over an iterable object. This means you don’t need a counting variable to access items in the iterable. You can use Python’s enumerate()
to get a counter and the value from the iterable at the same time! Find out more here.
If you have ever used youtube-dl, then you may have heard of the big news this past month. Then Github (i.e. Microsoft) stepped in to bring it back.
World Wide Web founder Tim Berners-Lee, announced an enterprise version of the Solid privacy platform, which allows large organizations and governments to build applications that put users in control of their data.
Developers are getting sick and tired of big companies benefiting from open source projects. This one made a splash: *"Respectfully, I am no longer going to support Fortune 500s ( and other smaller sized companies ) with my free work. There isn't much else to say. Take this as an opportunity to send me a six figure yearly contract or fork the project and have someone else work on it." *
Big news out of Apple. It's not really news, because we knew that Apple was going to have its own CPUs in their laptops. The M1. What is news is just how much better these chips are than the market out there. People are losing their minds. Trust me on this one: watch this 30 minute documentary to see how they got here and why it is so impressive.
A few more Apple news items since they had a big month: Apple is releasing the number of requests that they receive from each country's governments for user data. Also amidst complaints about the app store, Apple's new program reduces App Store commission to 15 percent for small businesses earning up to $1 million per year.
Here is another story of Amazon taking some cool piece of technology that they see a potential (to making money) in, copying it, and using their deep pockets to make it even better. Bye Bye Docker Hub?. Also, when AWS goes down, your Roomba suffers.
Zoom lied to users about end-to-end encryption for years, FTC says. Standard Zoom.
Ant Financial Group was about to have the biggest IPO in history. Then, it all got ruined. If you want to dive deep into this, then read this.
For those that care about these things, Red Hat is transitioning to Podman from Docker (who knew there was an alternative!?).
Apparently retirement is boring. Creator of Python, Guido, is joining Microsoft out of boredom.
If you don't spend at least 5 minutes playing with this, then you are a robot. WebGL wonder.
Ummm...what?
A published research paper (largest of its kind) was released on to answer the question: What distinguishes great software engineers? This was an in depth study with multiple interviews (1,926) and a 31 page report. Luckily for you, here is the summary: After synthesizing the findings, we believe that the top five distinguishing characteristics of great engineers are writing good code, adjusting behaviors to account for future value and costs, practicing informed decision-making, avoiding making others’ jobs harder, and learning continuously.
Finally, I know this is a tech related newsletter but this is too good not to share. It's an important reminder: What you pay attention to becomes your life.
Make your terminal system monitor look and feel like you're in a sci-fi movie.
How to make $200 million with a push of a button.
Ping, but with a graph.
See you next month everyone!
By the way, my full time job is to 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 of my courses by visiting the courses page.