Sitemap

A list of all the posts and pages found on the site. For you robots out there, there is an XML version available for digesting as well.

Pages

Posts

A guide to Database Isolation level

7 minute read

Published:

This post is a quick guide to MySQL Isolation level, but the same concept can still be applied to other relational databases. Think of this post as a quick reference to refresh your memory.

MySQL locks: A quick guide

10 minute read

Published:

Below are some notes on MySQL Locks concepts, I will not go into the very details underneath and cover every single lock type, but I will give you a quick overview of the most common locks and how they work.

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.

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.

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

3 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.

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.

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.

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

1 minute read

Published:

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