Latest Updates

Documenting code, one commit at a time.

Enhancing Application Observability Through Consistent Error Logging

Introduction

Ensuring application stability and দ্রুত problem resolution hinges on effective error logging. Silent catch blocks, while seemingly benign, can mask critical failures, making them invisible to monitoring systems. This post outlines a strategy for replacing these silent catch blocks with proper logging mechanisms, enhancing overall application observability.

The Problem with

Read more

Replicating Example Post Structures in Post Generation: A Move Towards Flexibility

This post discusses a recent update to our post generation process, shifting from hardcoded sections to a more adaptable, example-driven approach.

The Old Approach

Previously, our post generation system rigidly enforced a predefined structure: Introduction, Development, Examples, and Conclusion. This inflexible format ignored the nuances and varied structures of different example posts,

Read more

Implementing Payment Provider Abstraction with Feature Flags

When integrating multiple payment providers into an application, managing the transition and allowing for flexibility becomes crucial. This post explores how to introduce an abstraction layer combined with feature flags to handle different payment providers, such as Stripe and Paddle.

The Challenge

Directly integrating a payment gateway like Stripe can tightly couple the payment logic within

Read more

Enhancing Subscription Recognition in Billing Systems

Introduction

This post addresses an issue where a billing system, specifically when using a service like Cashier, fails to correctly identify active subscriptions beyond the default type. We'll explore the problem and provide a solution to ensure all subscription types are properly recognized.

The Problem: Default Subscription Type Bias

In many billing systems, especially those utilizing

Read more

Automating Development Tasks with Custom Skills

In software development, repetitive tasks can consume valuable time and introduce inconsistencies. Automating these tasks not only boosts efficiency but also enhances code quality and maintainability. This post explores how custom skills can be leveraged to streamline project workflows, focusing on practical examples and benefits.

Custom Skills for Enhanced Productivity

Custom skills are

Read more
PHP Laravel MySQL

Fixing Type Errors in Subscription Models

When working with custom models that extend core framework functionalities, it's crucial to maintain type compatibility. A recent fix in our application addressed a TypeError that arose from an incorrect extension of the Subscription model.

The Problem: Type Hint Mismatch

The custom Subscription model was initially set up to extend Eloquent's Model directly.

Read more

Improving Database Transaction Handling in Tests

Introduction

During recent testing of the social login functionality in our application, we encountered intermittent failures. These "flaky" tests were traced back to how database transactions were being handled, particularly in PostgreSQL.

The Challenge

The core issue was that within a test, a failed database query (e.g., due to a validation error during profile synchronization) would

Read more