profile

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.

Featured Post

10 Tips to Keep Your Software Simple | Issue #49

Hi there, Ever looked at your old code and felt secondhand embarrassment? Yeah, me too. Keeping your code simple and maintainable is an art. In today’s video, I break down 10 essential tips that will help you write cleaner, more efficient Python code. 🚀 Some key takeaways: 🛑 Stop overengineering—simple solutions are often the best. ✂️ Cut the copy-paste habit—DRY code is maintainable code. 🧹 Refactor before your code turns into a horror movie. Happy coding! 🐍 Cheers, Arjan # News How Do...

Hi there, Have you ever hesitated before hitting git merge or git rebase because… well, who actually understands Git? 🤯 Good news! In this week’s video, I walk through a real-world FastAPI project and show exactly how to merge, fast-forward, and rebase—step by step. No fluff, just practical Git skills you’ll actually use. Plus, I’m sharing some advanced Git tricks to make your workflow smoother. Happy coding and enjoy the video! Cheers, Arjan # News Build TUI Apps with Python’s Textual Ever...

Hi there, You’ve probably heard the phrase: “Coupling is bad.” But what if I told you that coupling is actually necessary? The real issue isn’t that your code has coupling—it’s that some types of coupling are worse than others. 🚨 In this week’s video, I dive into three real-world examples of bad coupling and show you how to refactor them into better designs. We’ll tackle: Global coupling – Why global variables cause headaches and how to avoid them Content coupling – When modules dig too deep...

Hi there, Ever had a function work most of the time but randomly break when you least expect it? That’s a sign your code is brittle. And brittle code means debugging nightmares. The good news? You can avoid this! In this week’s video, I break down: 🔹 Why checking types at runtime is a bad idea 🔹 The best way to handle value constraints without making a mess 🔹 Whether your function should return None or raise an exception 🔹 Why failing fast is the best approach to writing reliable Python And...

Hi there, Be honest—how much do you enjoy writing tests? If the answer is “not at all,” chances are your setup is too complicated. In this week’s video, I show you how to set up pytest the right way—step by step, with zero fluff. I go from zero tests to a fully working pytest setup, covering advanced tricks along the way (including one almost nobody knows about). 🧪 By the end, your tests will be clean, fast, and easy to maintain. No more fighting with pytest configurations. If your test suite...

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...

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...

Hi there, Python is simple but frustrating. Rust is powerful but strict. And then there’s Go—fast, modern, and surprisingly easy to use. I put it to the test against Python and Rust, and what I found blew my mind. 🤯 Go nails concurrency, has built-in tools (no pytest or flake8 needed), and in some cases… it even beats Rust in performance. Yes, really. I built a REST API, ran benchmarks, and compared everything from syntax to error handling. Is Go the perfect balance between Python’s...