Header Background Header Background Header Background Header Background Sebastian

Dive into a technical blog filled with insights, tutorials, and deep dives into software architecture, design patterns, and IT operations. Whether you're a developer, a tech enthusiast, or simply curious about coding, you'll find practical knowledge and thought-provoking ideas here. Join the journey to explore the art and science of software together.

Upcoming

Why Web Technologies Still Win
for Cross-Platform GUI Development

Container-Driven Development:
Beyond Production, Into Your Workflow

If you think containers are just for CI/CD and production, you're missing half the story. The same isolation that makes deployments reliable can transform your local development environment from a fragile house of cards into a robust, reproducible workshop. In this article, I detail how I leverage containers not just to run software, but to build, test, and debug entire systems locally. I’ll walk through the concrete advantages—from managing conflicting dependencies and creating production-like microcosms to extracting deeper insights from test coverage. Finally, I’ll explain my conscious choice of Docker Compose over higher-level abstractions like Testcontainers, arguing that sometimes the most powerful workflow is built on foundational tools used deliberately.

Why Extreme Programming Matters
More Than Ever

In today's fast-paced development environment, we're surrounded by frameworks and methodologies, yet something essential feels missing. We have more tools than ever—AI assistants, collaboration platforms, and advanced CI/CD systems—but teams still struggle with fundamental engineering discipline. I've been observing how the industry has largely forgotten about Extreme Programming, the very methodology that provided the practical engineering practices behind Agile. While everyone focuses on Scrum ceremonies and Kanban boards, we've lost sight of the actual engineering rigor that makes teams truly effective. This isn't just about nostalgia; it's about recognizing that the solutions to many of our current challenges were already articulated decades ago.

Digital Sovereignty
Beyond the Buzzwords

Lately, it feels like everyone’s talking about digital sovereignty. Whether it’s the push for Open Source, the debate around 'local' clouds, or concerns over foreign tech dominance, the conversation is growing louder. But what does sovereignty really mean when you break it down? In this article, I want to look beyond the buzzwords and explore the practical layers where our choices truly matter—from the infrastructure we rely on, to the platforms and code we build with, and finally, to the data that lies at the heart of it all. This isn’t about prescribing one right way; it’s about understanding the consequences of our decisions and recognizing that sovereignty isn’t a destination, but a mindset.

Lit vs Svelte: Rethinking Web Component Development

When I embarked on creating a sophisticated web component, Lit seemed like the natural choice given its alignment with web standards and efficient rendering through template diffing. However, as the project evolved, much of the core functionality—custom scrollbars, navigation markers, and extensive event handling—existed independently of the framework itself. This led me to critically assess what Lit actually brings to the table beyond basic component setup and reactive state management. The experience raised fundamental questions about when full web components are truly necessary versus using Custom Elements alone, especially considering the additional complexity of styling isolation. Now I'm looking toward Svelte's precompiled, runtime-free approach as a potential path forward that prioritizes developer efficiency without sacrificing performance.

Avoiding Over-engineering
and Unnecessary Dependencies

Every piece of software we create begins with a simple goal: to solve a problem. Yet, somewhere between the initial idea and the final commit, complexity often creeps in. We anticipate future needs that never arrive, incorporate libraries for problems we don't have, and build elaborate architectures for straightforward tasks. This journey away from simplicity usually starts with good intentions but leads to fragile, hard-to-maintain systems. In this article, I'll walk through the core principles that help me stay on track, from defining clear problem contexts to making small, tangible steps and critically evaluating every dependency. It’s a plea for building what matters and avoiding the 'arrogance tax' of over-engineering.
Page 1 of 18