๐ŸŽ Give the #1 gift request of 2024... a ZTM membership gift card! ๐ŸŽ

Python Monthly Newsletter ๐Ÿ’ป๐Ÿ

Andrei Neagoie
Andrei Neagoie
hero image

42nd issue! If you missed the previous ones, you can read all 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 the most popular programming 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.

That's why I write this every month to help you out.

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 Python articles, news, resources, podcasts and videos of the month.

Think 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 2023 as a Python Developerโ€ฆ

Python Got its Mojo Back ๐Ÿ•บ๐Ÿป

Mojo may be the biggest programming language advance in decades... or so the creators say. Mojo is a new programming language, based on Python, which fixes Pythonโ€™s performance and deployment problems.

Have a look and let me know what you think!

Young Grasshopper ๐Ÿฆ—

If you read last month's Python Monthly Newsletter, you should know everything you need about load balancing.

Now, I give to you a new tool, Grasshopper. Grasshopper is a library for automated load testing, written in Python.

Publish to PyPI with Github Actions ๐Ÿ™

PyPI recently introduced Trusted Publishing via a Github action. Allowing for a relatively easy and secure method to publish to PyPI.

Here is how to do it.

Fun note: this past month PyPI new user and new project registrations were temporarily suspended because of so many malicious software being uploaded.

Weekend Project Idea ๐Ÿงฐ

This is a fun one: Implement a DNS in a weekend.

Whatโ€™s a DNS resolver? Itโ€™s a program that knows how to figure out what the IP address for a domain is. Hereโ€™s what the command line interface of the resolver you will build in this project looks like:

$ python3 resolve.py example.com
93.184.216.34

The whole thing is about 200 lines of Python, including implementing all of the binary DNS parsing from scratch.

This project is a fun way to learn:

  • How to parse a binary network protocol like DNS
  • How DNS works under the hood (whatโ€™s happening behind the scenes when you make a DNS query?)

Git in Python ๐ŸŒฑ

Implement Git in Python to learn more about how Git works on the inside. Try your hand at this interactive tutorial!

Properties in Python ๐ŸŒ›

Everything you wanted to know about properties in Python.

Properties, defined via the property built-in, are a Python feature that lets you add dynamic behaviour behind what is typically a static interface: an attribute.

Mastodon Bot ๐Ÿค–

Mastodon is a decentralized social network that allows users to create their own instances and communicate with users on other instances. With a Mastodon bot, you can automate tasks such as posting updates, replying to mentions, or even creating interactive chatbots. It's essentially a Twitter bot.

In this tutorial, you will be using Python and the Mastodon.py library to create a Mastodon bot.

Monoliths Aren't Dinos ๐Ÿฆ–

This is very important (see the Amazon news later in this newsletter).

Software architectures are not like the architectures of bridges and houses. After a bridge is constructed, it is hard, if not impossible, to change the way it was built.

Software is quite different, once we are running our software, we may get insights about our workloads that we did not have when it was designed. And, if we had realized this at the start, and we chose an evolvable architecture, we could change components without impacting the customer experience.

With every order of magnitude of growth you should revisit your architecture, and determine whether it can still support the next order level of growth.

And guess what? Monoliths are not dinosaurs.

Learn to Prompt Inject ๐Ÿ’‰

Prompt Injection is a fancy way of saying "tricking the chat bot". In a fun little game, can you get Gandalf to reveal the password? There are levels and it gets harder and harder.

Try your hand at this challenge and tell your friends that you're a prompt injection specialist now.

P.S. this is a fun little example of what happens in real life with this technique.

Advice from a Legend ๐Ÿ’พ

Vint Cerfโ€™s career advice for engineers. The Internetโ€™s co-creator on humility, collaboration, and cultivating soft skills... we all need to read this.

All About Memory ๐Ÿคฟ

Everything you ever wanted to learn about Memory in programming. You want to read this article all the way through, and you will become an expert. One of the best explanations I have found online.

Once you are done, read this: How Much Memory Do You Need to Run 1 Million Concurrent Tasks?

This article looks at memory consumptions of popular languages like Rust, Go, Java, C#, Python, Node.js and Elixir. Who wins?

Everything is Technical Debt โณ

Am I an old jaded programmer? I don't know but this article really resonated with me this month.

My entire career is now technical debt, or the code has been deprecated.

What do you think about this?

News Around the World ๐Ÿ—บ

  • In an interesting bit of news, Mozilla (Firefox) purchased Fakespot... a company that detects fake AI generated content. Interesting move and not sure why this makes sense for Mozilla, but clearly AI generated content is a big problem to solve in the future.

  • PyPI was subpoenaed - "In March and April 2023, the Python Software Foundation (PSF) received three (3) subpoenas for PyPI user data. All three subpoenas were issued by the United States Department of Justice. The PSF was not provided with context on the legal circumstances surrounding these subpoenas. In total, user data related to five (5) PyPI usernames were requested."

Big Tech News ๐Ÿข

Completely useless to your career but still great ๐Ÿ™ƒ

Best Resource of the Month ๐Ÿฅฝ

"We Have No Moat, And Neither Does OpenAI."

A possible leaked document from Google reveals to us whether we should be worried about AI, but more importantly what the real power of the web is. Not to sound too much like I'm making you click links, but the answer may surprise you.

This was a piece of news that everyone talked about this month that you cannot miss.

Once you are done with the above, read this.

Trick of the Month ๐ŸŽฉ

wow reaction

Thanks for reading!

See you next month everyone... also share this with your friends... pretty please! โค๏ธ

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 our courses below or see all ZTM courses here.

More from Zero To Mastery

Learn Python for Free, Get Hired, and (maybe) Change the World! preview
Learn Python for Free, Get Hired, and (maybe) Change the World!

Looking to learn Python? Learn the exact process we recommend, in this step-by-step guide - all for free!

The No BS Way To Getting A Machine Learning Job preview
The No BS Way To Getting A Machine Learning Job

Looking to get hired in Machine Learning? Our ML expert tells you how. If you follow his 5 steps, we guarantee you'll land a Machine Learning job. No BS.

Machine Learning Monthly Newsletter ๐Ÿ’ป๐Ÿค– preview
Machine Learning Monthly Newsletter ๐Ÿ’ป๐Ÿค–

41st issue of Daniel Bourke's must-read monthly Machine Learning Newsletter: RLHF, Google I/O 2023, and an introduction to prompt engineering. Get up-to-date with the most interesting ML news & updates from last month.