Latest Updates

Documenting code, one commit at a time.

C Security Debugging

Eliminating False Positives in Audit Logs for Generic File Paths

When auditing file system operations within an application, a common challenge arises when dealing with generic or placeholder file paths. These paths, often used during testing or initial setup, can trigger false positive alerts in audit logs, obscuring genuine security concerns. A recent update addresses this issue, enhancing the accuracy and reliability of our auditing process.

Read more

Enhancements to Cache Handling and Code Robustness

Introduction

Recent commits to our application focused on improving the reliability and efficiency of our caching mechanisms, as well as enhancing the overall robustness of the codebase. These changes aim to prevent race conditions and reduce the risk of errors during refactoring.

Atomic Cache Operations

A key improvement involves replacing Cache::has and Cache::put with the atomic

Read more

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

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

Enhancing Application Logging with Tenant Context

Introduction

Effective logging is crucial for monitoring and debugging applications, especially in multi-tenant environments. This post explores how to enhance application logging by incorporating tenant-specific context, enabling better isolation and analysis of log data.

The Importance of Tenant-Aware Logging

In a multi-tenant system, logs from different tenants are often interleaved,

Read more
PHP Laravel OOP

Extending Models with Method Overrides: A Case Study

Sometimes, the core functionality of a framework needs a little customization to perfectly fit the nuances of a specific application. Recently, we faced a situation where we needed to extend our Tenant model to directly handle subscription checks, which required overriding some core Cashier methods.

The Challenge

Our application uses a multi-tenant architecture. Each tenant needs to manage

Read more

Adding Full-Text Search to Your Portfolio with PostgreSQL

Implementing full-text search can significantly enhance the user experience of your portfolio or blog. This post details how to add PostgreSQL-powered full-text search to a Laravel application, focusing on accent-insensitive prefix searching across multiple fields.

The Problem: Basic Search Limitations

Simple LIKE queries in SQL often fall short when dealing with complex search

Read more