How to Make Your Python Docker Image 400% Smaller | Issue #44


Hi there,

If your Docker builds are taking forever, your images are probably bloated with unnecessary dependencies. In this week’s video, I break down how to optimize your Dockerfiles step by step. 🐋

I cover better base images, BuildKit, multi-stage builds, and smarter dependency management—all to make your builds faster and leaner.

Plus, I ran into a weird Docker issue I still haven’t figured out. Watch today’s video and speed up your builds! 🎥

Cheers,

Arjan

# News

Happy Pi Day! 🐍🥧

Besides being my favorite day of the week, this Friday is extra special—it’s Pi Day! 🎉 To celebrate, all ArjanCodes courses are available at a 14.3% discount this week if you use coupon PITHON2025.

This is your chance to sharpen your skills, elevate your career, and write exceptional software. But unlike π, this offer isn’t infinite—it ends tonight at midnight!

🚀 Check out the courses here!

Terminal Colours Are Tricky

Why do some terminals display colors perfectly while others turn your CLI into a rainbow mess?

Julia Evans breaks it all down in this great article on how terminal colors actually work—ANSI codes, 256-color palettes, and all the quirks in between.

If you build CLI tools or just love a well-themed terminal, this is a must-read. 👉 Check it out here.

# Community

NASA has insanely strict coding rules for safety-critical software. No dynamic memory allocation after initialization, no functions longer than 60 lines, and at least two runtime assertions per function. Sounds extreme, right? But when your software is flying through space, there’s no room for errors. 🚀

This sparked a great discussion in the ArjanCodes Discord about fail-fast principles, defensive programming, and whether these rules make sense for everyday coding. Should we adopt some of NASA’s practices, or are they overkill?

👉 Join the conversation and share your thoughts! to join the thread and open Dale’s handy playlist.


Do you enjoy my content on YouTube and would you like to dive in deeper? Check out my online courses below. They've helped thousands of developers take the next step in their careers.

🚀 The Mindset Online Course Series

The goal of this series is to help junior developers grow their skills to become senior developers faster.

💥 Other Courses

💡 If you’re part of a development team at a company, I offer special packages for companies that give your team the tools to consistently write high-quality code and dramatically increase your team's productivity.

Unsubscribe | Send by ArjanCodes

Jan van Eijklaan 2-4, Bilthoven, UT 3723 BC

The Friday Loop

Every Friday, you'll get a recap of the most important and exciting Python and coding news. The Friday Loop also keeps everyone posted on new ArjanCodes courses and any limited offers coming up.

Read more from The Friday Loop

Hi there, Did you know Python has over 60 built-in functions, and you can use them without importing a single module? This week I explore 12 powerful built-ins that can make your code more efficient and Pythonic. Some of these are absolute game-changers, and yet, I rarely see them used! In this video, you’ll learn how to: ✅ Use filter() and map() for cleaner data processing ✅ Pair iterables like a pro with zip() ✅ Turn any function into an iterator with iter(callable, sentinel) (yes, that’s a...

Hi there, If you’ve ever looked at TypeScript code and thought, “Hey, that kinda looks like Python!”, you’re not wrong. But under the hood, these two languages couldn’t be more different. Python was designed for simplicity and readability. It’s dynamically typed, making development easy but deployment tricky. TypeScript, on the other hand, adds strict static typing to JavaScript, helping with large-scale applications but making setup and debugging more complex. So, which one should you use? 🤔...

Hi there, You use Python every day, but have you ever wondered how new features make it into the language? It all starts with a PEP—a Python Enhancement Proposal. Some PEPs go unnoticed, but others, like PEP 484, changed the language forever. It introduced type hints, and let’s just say… not everyone was happy about it. In this week’s video, I take a deep dive into: ✅ The PEP process—who decides Python’s future? ✅ Why type hints caused such a stir in the community ✅ The fascinating...