Thoughts on Tech, Leadership, and the Occasional Rant

  • Basic Raspberry Pi Setup For My Homelab

    Basic Raspberry Pi Setup For My Homelab

    In the last post, I rambled about my thoughts regarding cloud-init vs. manual setup of my Raspberry Pis for my homelab. After a little (or maybe some more) back and forth I decided to go with the manual setup for now. I know it would be better in the long run to use cloud-init, but to get started…

  • Planning my Homelab

    Planning my Homelab

    Just another analysis paralysis? I recently purchased components to start a homelab. Due to some unexpected circumstances (I forgot to purchase power cables for the Pis), I now have a few more days before I can actually start setting up the hardware. And it looks like those extra days are badly needed anyway. What’s the problem?…

  • Why I bought components to build a Homelab

    Why I bought components to build a Homelab

    Yes, you heard me. I bought components to start my own little homelab. 🎉 I must say, I’m pretty excited about it. But this post is not so much about the “how” or the “what”, it’s about the “why”. So let’s talk about my motivation to build a homelab. Reason 1: Learning If have been…

  • Learn Accessibility on iOS With Me – Grouping and labels

    Learn Accessibility on iOS With Me – Grouping and labels

    In the first post of this series, we got a better understanding of accessibility by navigating our apps using VoiceOver. In the second post, we talked about the out-of-the-box accessibility features that ship with SwiftUI. Now it’s time to get some hands-on experience with the Accessibility API of SwiftUI. I assume, that most of you already have existing iOS…

  • My Experience With The VIP Pattern

    My Experience With The VIP Pattern

    At work, we decided to switch from our current MVVM-C pattern to a VIP(-C) approach. It’s not strictly implemented as suggested on https://clean-swift.com, but it is based on it. And of course, it is a gradual migration. It would be crazy to pause all ongoing projects for months just to bring the entire codebase to another architecture. Instead, we will…

  • Can you fix my computer?

    Can you fix my computer?

    I’m a developer. Even in my spare time, I don’t build computers myself. I have a simple laptop without any customizations (besides DEV.to stickers). But still, I’m the one guy every non-technical friend or family member asks for help. To be clear: I know exactly why they do that. It’s obvious, that I still know more stuff…

  • Book Review: Test-Driven Development in Swift

    Book Review: Test-Driven Development in Swift

    I like Test-Driven Development (TDD). It’s a great idea to use tests to guide you through your development process. Just like the idea to end your day with a failing test. That way you have an awesome starting point the next day. In my previous job as a .NET developer, TDD was a familiar tool…

  • How I Debug Broken Layout Constraints in AutoLayout

    How I Debug Broken Layout Constraints in AutoLayout

    While navigating our app at work, I try to keep an eye on the debug output and find warnings about broken layout constraints. This happens from time to time because we code all of our views and use AutoLayout to create the layouts. So nothing keeps us from coding conflicting constraints. 😄 A few days…

  • Quick Tip: Running tests repeatedly in Xcode

    Quick Tip: Running tests repeatedly in Xcode

    Making flaky tests fail Have you ever had a flaky test in your codebase? I did. Let me tell you, it isn’t enjoyable. The main problem is (who would have thought it?) the flakiness. It fails randomly on the CI, but if you run it locally, everything seems fine. A simple “Works on my machine” sounds tempting,…