
Practical Go patterns: error handling, context, and concurrency
Error handling in Go Go’s approach to error handling is often a topic of debate among developers. Some love it, some hate it, but one thing is for sure: it’s unique. In Go, errors are values, and you handle them using the if err != nil pattern. This might seem verbose, but it encourages explicit error checking and handling. The if err != nil pattern Let’s look at a simple example:...

Corporate Open Source: Contribution or Strategic Marketing?
Introduction Open source has become an integral part of the modern software landscape. It’s not just about code anymore; it’s a culture, a movement, and for some corporations, a strategic tool. But what motivates companies to engage with open source? Is it a genuine desire to contribute to the community, or is it a calculated move to enhance their brand image and market presence? In this article, we’ll delve into the nuances of corporate involvement in open source....

Feature flags in production: patterns and anti-patterns for safe releases
Introduction Feature flags, also known as feature toggles, are a powerful tool for managing the release of new features in a software product. They allow developers to enable or disable features dynamically without changing the codebase, making it possible to roll out new functionality gradually and safely. However, like any powerful tool, feature flags can be misused, leading to a number of anti-patterns that can cause more harm than good. In this article, we’ll explore the best practices and common pitfalls associated with using feature flags in production....

Why Deleting Old Code Is More Dangerous Than Keeping It
The Dilemma of Deleting Old Code In the realm of software development, few debates spark as much passion as the one surrounding the management of old code. Should we delete it or keep it? This question is not merely about disk space; it’s about the integrity, reliability, and maintainability of our software systems. In this article, we’ll delve deep into why deleting old code can often be more dangerous than keeping it around....

Coding Standards that Improve Quality: Beyond Just Satisfying Linters
Introduction In the realm of software development, coding standards are often viewed as a necessary evil—a set of rules that developers must follow to keep their code tidy and their linters happy. However, the true value of coding standards lies not in their ability to satisfy automated tools but in their capacity to enhance code quality, readability, and maintainability. In this article, we will explore coding standards that go beyond mere compliance with linters....