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

Ridiculous Ways to Define Functions in Python | Issue #56

Hi there, We all use def to define functions in Python. But did you know there are at least 7 other ways to do it? Some of them are useful. Some are questionable. And the last one is so ridiculous, it might crash your interpreter. In this week’s video, I walk through each method, explain how it works, why you should use it (or not), and what it teaches us about how Python works under the hood. This was a really interesting topic to explore. I learned a lot from it and I hope you will too....

Hi there, Functional programming in Python can be elegant… but not always. ⚠️ In this week’s video, I walk through four common scenarios where replacing for loops with map() and filter() actually leads to worse code. Not just less readable—but also harder to debug, more error-prone, and sometimes even misleading. We’ll dive into: Exception handling that becomes a mess inside a lambda Side effects (like writing to files) that violate functional principles Nested logic that turns into...

Hi there, What’s in my stack? Python, TypeScript… and one wooden robot. 🤖 You might not know this, but before ArjanCodes was a channel, it was a pile of ideas held together by duct tape and Google Docs. Now? We’ve got a full ecosystem: static websites on Astro, backend automations in Python, our own SDK, and a business portal for team licenses—all deployed with GitHub Actions and a sprinkle of serverless. ⚡ In this week’s video, I give you a behind-the-scenes tour of our real tech stack—no...

Hi there, You ever look at some Python code and think, “Wait… why did we do it like this?” This week’s video is all about the Python anti-patterns that sneak into our codebases—sometimes looking clever, sometimes just copied from bad tutorials. But they can seriously hurt long-term maintainability. 🚨 I walk through 10 real-world examples, from using exceptions as control flow to awkward class structures, and even show how hardcoding UI strings can make your app a localization nightmare. Have...

Hi there, I’m emailing you from prison. 🚨 No, not like that. The new ArjanCodes office is inside a 19th-century prison in Utrecht. And it’s actually… amazing. The cells are now offices, the vibe is creative, and it’s got just the right kind of gloominess for video production (because direct sunlight and camera lenses don’t mix). In this week’s video, I take you on a little tour of the space and talk about what’s ahead for the channel. After a year of scaling down, I’m finding more balance—and...

Hi there, We all know type hints can catch bugs before runtime. 🐛 But what if I told you they’re also one of your best tools for designing better software? In this week’s video, I show how type hints can lead to smarter choices about inputs, outputs, and even class structure — all without adding complexity. It’s the kind of thinking that leads to better architecture and fewer “why did I do this?” moments later on. 😌 And yes, I also drop a few tips you’ve probably never heard about inputs and...

Hi there, If you’ve ever used Python decorators, you know they look like a clean way to add functionality. But have you ever struggled to debug a decorated function? Or wondered why your type hints suddenly break? Or spent way too much time figuring out why your decorators aren’t working as expected? 🫠 🚨 Decorators introduce hidden complexity that can turn your code into a nightmare. And honestly? I think they’re overused. In this week’s video, I explain: Why decorators break type safety and...

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