Blog posts

This is where I capture some of my findings on my Software Development journey.

2026

Kubernetes 101

18 minute read

Published:

This article introduces the basics of Kubernetes, including its architecture, key components, and how it can be used to manage containerized applications. This post is based on my understanding of Kubernetes and its docs. Feel free to leave any feedback or corrections in the comments.

Setting Up an AI Coding Environment with Codex

9 minute read

Published:

This post is AI-generated. It is a practical summary of the official OpenAI guide: Codex Best Practices. The core idea is that Codex works best when you treat it less like a one-off assistant and more like a teammate that you configure, guide, and improve over time.

Spring Kafka Error Handling, with Best Practices

27 minute read

Published:

This article covers error handling strategies in Spring Kafka, including offset management, retry mechanisms, dead letter topics, batch error handling, and common pitfalls to avoid when building resilient Kafka consumers.

2025

Build a Boolean Expression Evaluator in Java

21 minute read

Published:

Business rules often start as simple if statements. That is usually fine, because hardcoded logic is fast, easy to debug, and checked by the compiler. The problem starts when the rule changes more often than the codebase, or when different customers, cohorts, regions, or experiments need different versions of the same decision logic.

Java Concurrency 101

23 minute read

Published:

This article provides understanding of Java Concurrency concepts, including threads, ExecutorService, synchronization, concurrent collections, threading problems, locks, conditions, semaphores, volatile variables, happens-before relationships, and barrier synchronization.

Redis 101

19 minute read

Published:

This article introduces Redis, a widely-used in-memory data store. It covers Redis basics, caching strategies, data structures, persistence mechanisms, and techniques.

Kafka Message compression

1 minute read

Published:

This article explains how Kafka message compression works, its configuration, and considerations for both producers and consumers.

Kafka Best Practices

3 minute read

Published:

Below are some notes on Kafka best practices that I found useful while working with Kafka in production.

2024

MongoDB 101

25 minute read

Published:

This is a beginner’s guide to MongoDB, a popular NoSQL database. In this post, I will cover the basics of MongoDB, including its features, installation, and basic operations.

Introduction to Apache Maven

6 minute read

Published:

This article provides a comprehensive introduction to Apache Maven, a powerful build automation tool widely used in Java projects. It covers the basics of Maven, including its standard directory layout, installation process, dependency management, and build lifecycle.

Hexagon Architecture

6 minute read

Published:

This article briefly explains the Hexagon Architecture (also known as Ports and Adapters Architecture), its components.

Human code review

7 minute read

Published:

Code review is a critical part of the software development process. Here are some best practices to make code reviews more effective and collaborative.

2023

Code refactoring practices

8 minute read

Published:

Some code refactoring practices that I have thought would be useful in daily software development.

Access Control Mechanisms

2 minute read

Published:

Some common access control mechanisms like ACL, RBAC, PBAC that are widely used in software systems.