The Fallacy of 'Move Fast and Break Things': When Stability Matters More

The Fallacy of 'Move Fast and Break Things': When Stability Matters More

The Allure and the Pitfall of “Move Fast and Break Things” In the fast-paced world of software development, the mantra “move fast and break things” has become a rallying cry for many. Popularized by Mark Zuckerberg, this approach promises rapid innovation and progress, but it often overlooks the critical importance of stability and reliability. As someone who has navigated the trenches of software development, I’m here to argue that this mantra, while appealing, can be a recipe for disaster if not balanced with careful planning and robust processes....

September 16, 2024 · 4 min · 776 words · Maxim Zhirnov
Optimizing PostgreSQL for High Workloads: A Step-by-Step Guide

Optimizing PostgreSQL for High Workloads: A Step-by-Step Guide

Introduction to PostgreSQL Optimization When it comes to handling high workloads, PostgreSQL can be a powerful tool, but it requires careful tuning to reach its full potential. Out-of-the-box configurations are often set to ensure the database runs with minimal resources, which is far from optimal for high-performance environments. In this article, we’ll dive into the practical steps and configurations needed to optimize PostgreSQL for high workloads. Hardware and Virtual Machine Considerations Before diving into database-specific settings, it’s crucial to ensure your hardware and virtual machine configurations are optimized for performance....

September 15, 2024 · 4 min · 765 words · Maxim Zhirnov
Implementing the Outbox Pattern for Reliable Message Delivery in Go Microservices

Implementing the Outbox Pattern for Reliable Message Delivery in Go Microservices

Introduction to the Outbox Pattern In the world of microservices, ensuring reliable message delivery is akin to navigating a minefield blindfolded. You never know when a message might get lost in the void, leaving your system in an inconsistent state. This is where the Outbox pattern comes to the rescue, providing a robust solution to guarantee that your messages are delivered, no matter what. The Problem Imagine you’re in a happy path scenario where everything works smoothly: your service performs a database transaction and then sends a message to another service or a message broker....

September 15, 2024 · 4 min · 825 words · Maxim Zhirnov
The Fallacy of 'Code Reuse at All Costs': When Duplication is Better

The Fallacy of 'Code Reuse at All Costs': When Duplication is Better

The Allure and the Pitfall of Code Reuse In the world of software development, the concept of code reuse has long been touted as a holy grail. The idea is simple: write once, use everywhere. It sounds like a dream come true—less code to write, fewer bugs to fix, and faster development cycles. However, this dream often turns into a nightmare, and it’s time to confront the fallacy of “code reuse at all costs....

September 15, 2024 · 5 min · 871 words · Maxim Zhirnov
Developing Augmented Reality Apps with ARKit and ARCore: A Step-by-Step Guide

Developing Augmented Reality Apps with ARKit and ARCore: A Step-by-Step Guide

Introduction to Augmented Reality Augmented Reality (AR) is no longer just a buzzword; it’s a technology that’s transforming how we interact with the world around us. From enhancing shopping experiences to revolutionizing education, AR is making its mark. In this article, we’ll dive into the world of AR development using two of the most powerful tools available: Apple’s ARKit and Google’s ARCore. What is ARKit and ARCore? ARKit and ARCore are development frameworks designed to help developers create augmented reality experiences for iOS and Android devices, respectively....

September 14, 2024 · 5 min · 923 words · Maxim Zhirnov