The Franconian
Coder Studio

Double Programming:
A Strategy for Reliable Code in Production

Testing during development is essential, but real-world scenarios often defy expectations. To ensure my code performs reliably in production, I’ve adopted a strategy I first used almost a decade ago: writing the same logic twice. Ideally, two developers independently implement the logic, sometimes even in different programming languages. Only when both versions produce identical results in production is the code accepted. While this approach isn’t practical for every function, it’s invaluable for critical systems. Whether running both implementations continuously or temporarily after updates, this method complements traditional testing. In this article, I’ll discuss how double programming can enhance fault tolerance, error detection, and safety in production environments.

Why GoLand Remains My Go-To IDE
for Go and TypeScript

Over 30 years of coding have taught me one thing: the right tools can make all the difference. From humble beginnings with basic text editors to experimenting with IDEs like Eclipse and NetBeans, my journey took a significant turn with PhpStorm. It set a new standard for me, and when I shifted to Go, GoLand became my go-to IDE. While I’ve dabbled with VS Code, especially for remote development, I always find myself returning to GoLand. Its seamless code completion, robust refactoring, and intuitive debugging tools make it indispensable for my work. In this article, I’ll share why GoLand continues to outshine alternatives for my Go and TypeScript projects.

From Containers to DEB Packages:
Choosing the Right Tool

When Docker entered the scene around 2015/2016, it felt like a game-changer. Containers provided isolated build and run environments, making packaging and deployment more manageable—and even fun. But as our environment became more defined, we realized containers weren’t a strict necessity. With the introduction of systemd, many of the isolation and process control issues we relied on Docker for were solved natively. This shift led me to happily switch back to DEB packages. In this article, I’ll discuss the trade-offs between containers and traditional packaging, and why it’s essential to choose the tool that best fits your needs.

Why Operational Costs Start with Infrastructure, Not Code

In the world of web-based and network service projects, debates about programming languages often take center stage. But when it comes to operational costs, the language you choose is usually just a small piece of the puzzle. From Kubernetes clusters and load balancers to databases and storage solutions, infrastructure and architecture play a far more significant role in determining your expenses. A poorly designed system can drain your budget, regardless of whether you’re using Java, Python, Go, or Rust. In this article, I’ll explain why effective cost reduction starts with optimizing your infrastructure and architecture—not with chasing the ‘right’ programming language.

Exposing Local Services with Cloudflare Tunnel

Making local services publicly accessible has always been a challenge, especially when dealing with dynamic IPs or NAT networks. Enter Cloudflare Tunnel—a solution I recently explored that simplifies this process. By using Cloudflare’s massive CDN and the cloudflared connector, you can securely route traffic to your internal network without exposing your machines directly to the internet. While this tool offers incredible convenience, it’s important to note that Cloudflare handles HTTPS termination, meaning they have access to your traffic. In this article, I’ll walk you through how Cloudflare Tunnel works, its benefits, and the considerations to keep in mind before using it.
Page 12 of 13