The Ethics of Copy-Pasting GPL Code into Proprietary Systems

The Ethics of Copy-Pasting GPL Code into Proprietary Systems

The Ethics of Copy-Pasting GPL Code into Proprietary Systems In the realm of software development, the debate over the ethics of incorporating GPL (GNU General Public License) code into proprietary systems is a contentious one. This article delves into the nuances of this issue, providing a comprehensive understanding of the ethical considerations involved. Understanding the GPL License The GPL license is a copyleft license, which means that any derivative work based on GPL-licensed code must also be released under the GPL license....

April 6, 2026 · 3 min · 625 words · Maxim Zhirnov
Load testing APIs: scenarios, tools, and metrics that matter

Load testing APIs: scenarios, tools, and metrics that matter

Introduction Load testing APIs is an essential part of ensuring that your application can handle the expected traffic without breaking a sweat. In this article, we’ll dive deep into the world of load testing, exploring various scenarios, tools, and metrics that matter. We’ll also look at some code examples and step-by-step instructions to help you get started. Scenarios There are several scenarios that you might want to consider when load testing your APIs....

April 3, 2026 · 4 min · 706 words · Maxim Zhirnov
Async Everywhere: Making Code ‘Scalable’ but Teams ‘Unreadable’

Async Everywhere: Making Code ‘Scalable’ but Teams ‘Unreadable’

The Promise and Peril of Asynchronous Programming In the quest for building scalable applications, asynchronous programming has become the holy grail for many developers. The allure of improved performance and responsiveness is undeniable. However, as with any powerful tool, there’s a catch—the complexity it introduces can often make code bases more challenging to read and maintain, especially within teams. The Appeal of Asynchronous Code Asynchronous programming allows for non-blocking operations, which means that while one task is waiting for I/O or other resource-intensive operations, the program can continue with other tasks....

March 30, 2026 · 3 min · 604 words · Maxim Zhirnov
Testing and Monitoring ML Models in Production: Drift, Performance, Quality

Testing and Monitoring ML Models in Production: Drift, Performance, Quality

Introduction Deploying a machine learning model into production is just the beginning of its lifecycle. Ensuring that the model continues to perform well over time and adapts to changing data distributions is a critical task. In this article, we will explore various strategies and techniques for testing and monitoring ML models in production, focusing on aspects such as drift, performance, and quality. What is Data Drift? Data drift occurs when the statistical properties of the input data change over time, leading to a degradation in model performance....

March 27, 2026 · 3 min · 511 words · Maxim Zhirnov
Refusing to Pay Down Debt: The Strategy No One Wants to Own Publicly

Refusing to Pay Down Debt: The Strategy No One Wants to Own Publicly

Introduction Debt. The four-letter word that can send shivers down the spines of even the most financially savvy individuals. We’ve all been there—staring at a stack of bills, wondering how we’ll ever climb out of the red. But what if I told you that refusing to pay down debt could be a viable strategy? Sounds counterintuitive, right? Well, buckle up, because we’re about to dive into the murky waters of debt management, and it’s not going to be pretty....

March 23, 2026 · 3 min · 629 words · Maxim Zhirnov