Ajit Singh
  • About Me
  • Videos
  • Explainers
  • Tag Cloud
  • Dev Weekly
Navbar avatar

Explainers


Short explanations of software engineering concepts
Passkeys Explained
Security

Passkeys Explained

Learn how passkeys replace passwords with a simple, secure way to log in. Understand how they work, why they're safer than passwords, and when to use them.

DNS Records Explained
Networking

DNS Records Explained

Learn about different DNS record types like A, AAAA, CNAME, MX, TXT, and NS records. Understand what each record does, when to use them, and how they work together to make the internet function.

Service Mesh Explained
DevOps Microservices

Service Mesh Explained

Learn how Service Mesh handles traffic between microservices. Understand what problems it solves, when to use it, and see how it works through simple diagrams and real examples.

Service Discovery Explained
Microservices

Service Discovery Explained

Learn how Service Discovery helps microservices automatically find and talk to each other. Understand the difference between client-side and server-side discovery, when to use each approach, and see real-world examples with simple diagrams.

Row vs Column Store Explained
Database

Row vs Column Store Explained

Learn the difference between row-oriented and column-oriented database storage. Understand when to use each approach through simple examples and visual diagrams.

Change Data Capture (CDC) Explained
Architecture

Change Data Capture (CDC) Explained

Learn how Change Data Capture (CDC) works to automatically keep your cache updated when database data changes. Understand CDC patterns, use cases, and when to use this approach through simple examples and diagrams.

Kubernetes Resource Units Explained
DevOps

Kubernetes Resource Units Explained

Master Kubernetes resource units - learn the difference between millicores, cores, Mi, Gi, and other CPU and memory notations. Understand what 128Mi, 500m, and other resource values actually mean.

WebSockets Explained
Networking

WebSockets Explained

Learn how WebSockets enable real-time, two-way communication between browsers and servers. Understand when to use WebSockets vs traditional HTTP through simple examples and visual diagrams.

Blue-Green vs Canary Deployment Explained
DevOps

Blue-Green vs Canary Deployment Explained

Learn the difference between blue-green and canary deployment strategies. Understand how to deploy your applications safely with zero downtime using practical examples and visual diagrams.

N+1 Query Problem Explained
Database

N+1 Query Problem Explained

Learn about the N+1 query problem through visual examples and practical solutions. Understand why your database queries are slow and how to fix them with eager loading, batching, and other optimization techniques.

cURL Command Explained
Tools

cURL Command Explained

Complete cURL command reference for developers. Learn HTTP requests, authentication, file uploads, API testing, and advanced cURL techniques with practical examples and syntax highlighting.

CQRS Design Pattern Explained
Architecture

CQRS Design Pattern Explained

Master CQRS architecture through visual components and system diagrams. Learn when and how to implement Command Query Responsibility Segregation without heavy code examples.

Get New Posts Delivered to Your Inbox
Powered by follow.it

Explore All Posts

Stop Blocking Your Paying Customers: Build a Smart Rate Limiter

Stop Blocking Your Paying Customers: Build a Smart Rate Limiter

How Shopify Powers 5 Million Stores Without Breaking a Sweat

How Shopify Powers 5 Million Stores Without Breaking a Sweat

What Actually Happens When You Type a URL

What Actually Happens When You Type a URL

Postgres 18: The Release That Makes Databases Fast Again

Postgres 18: The Release That Makes Databases Fast Again

Hash Collisions: The Hidden Performance Killer in Your Code

Hash Collisions: The Hidden Performance Killer in Your Code

Kubernetes Architecture: The Operating System for the Cloud

Kubernetes Architecture: The Operating System for the Cloud

WebTransport: The Protocol That Fixes What's Broken in WebSockets

WebTransport: The Protocol That Fixes What's Broken in WebSockets

Java 25 is Finally Here: The LTS Release That Changes Everything

Java 25 is Finally Here: The LTS Release That Changes Everything

How Ticket Booking Systems Handle 50,000 People Fighting for One Seat

How Ticket Booking Systems Handle 50,000 People Fighting for One Seat

Why JWT Replaced Sessions: Building Auth That Scales

Why JWT Replaced Sessions: Building Auth That Scales

How Kafka Works: The Engine Behind Real-Time Data Pipelines

How Kafka Works: The Engine Behind Real-Time Data Pipelines

How Meta Achieves 99.99999999% Cache Consistency

How Meta Achieves 99.99999999% Cache Consistency

How Slack Built a System That Handles 10+ Billion Messages

How Slack Built a System That Handles 10+ Billion Messages

Paxos: The Democracy of Distributed Systems

Paxos: The Democracy of Distributed Systems

Write-Ahead Log: The Golden Rule of Durable Systems

Write-Ahead Log: The Golden Rule of Durable Systems

Building Distributed Counters for High-Traffic Systems

Building Distributed Counters for High-Traffic Systems

How Stripe Prevents Double Payments

How Stripe Prevents Double Payments

From Manual Testing to Automated Excellence: GitHub Actions

From Manual Testing to Automated Excellence: GitHub Actions

55 Million Requests Per Second: Inside Cloudflare's Magic

55 Million Requests Per Second: Inside Cloudflare's Magic

How Uber Finds Nearby Drivers at 1 Million Requests per Second

How Uber Finds Nearby Drivers at 1 Million Requests per Second

From Panic to Performance: A Guide to Grafana k6 Load Testing

From Panic to Performance: A Guide to Grafana k6 Load Testing

WhatsApp's Scaling Secrets: A Deep Dive into System Design and Architecture

WhatsApp's Scaling Secrets: A Deep Dive into System Design and Architecture

Prompt Engineering Basics for Software Developers

Prompt Engineering Basics for Software Developers

Git Command Line Basics: Essential Commands for Software Developers

Git Command Line Basics: Essential Commands for Software Developers

Taming Pipeline Chaos: How I Used GitLab APIs and GPT to Analyze Thousands of Failures and Boost Stability

Taming Pipeline Chaos: How I Used GitLab APIs and GPT to Analyze Thousands of Failures and Boost Stability

How to Exclude a Single Module from `sbt test` in a Multi-Module Scala Project

How to Exclude a Single Module from `sbt test` in a Multi-Module Scala Project

Github Actions for Android

Github Actions for Android

Pairing matrix for agile teams

Pairing matrix for agile teams

How to integrate GraphQL with Sitecore using JSS

How to integrate GraphQL with Sitecore using JSS

Flutter under the hood

Flutter under the hood

Monitoring individual queue in sidekiq

Monitoring individual queue in sidekiq

Why aren’t you using binstubs yet?

Why aren’t you using binstubs yet?

Offline Mode Of Android Apps

Offline Mode Of Android Apps

My upcoming talk in DroidConUK

My upcoming talk in DroidConUK

Integrating Sherlock with android apps

Integrating Sherlock with android apps

Why your android application needs awareness api

Why your android application needs awareness api

Java custom annotations

Java custom annotations

Prevent push on red build with the help of gocd_pre_push

Prevent push on red build with the help of gocd_pre_push

Conway's Game Of Life

Conway's Game Of Life

Notify when android device network status changes

Notify when android device network status changes

Observer Design Pattern

Observer Design Pattern

Filter Design Pattern

Filter Design Pattern

Ruby gem to fetch information from gocd as rich models

Ruby gem to fetch information from gocd as rich models

Android Data Binding

Android Data Binding

Android Custom Animations

Android Custom Animations

shell_session_update: command not found

shell_session_update: command not found

Android Draggable View

Android Draggable View

Android UI Design And Styling

Android UI Design And Styling

GIT revert multiple commits

GIT revert multiple commits

apkToJava - Gem to convert apk file to java code

apkToJava - Gem to convert apk file to java code

Android Padding vs Margin

Android Padding vs Margin

Android UI for beginners

Android UI for beginners

Decorator Design Pattern

Decorator Design Pattern

Junit Rules Vs Setup and TearDown

Junit Rules Vs Setup and TearDown

Android Build Process

Android Build Process

What happens when android screen rotates?

What happens when android screen rotates?

Is ruby monkey patching evil?

Is ruby monkey patching evil?

Android Instrumentation Testing Using Espresso

Android Instrumentation Testing Using Espresso

Testing Android Database

Testing Android Database

MVP in android

MVP in android

Gradient color in android

Gradient color in android

Tool to execute commands in multiple directories

Tool to execute commands in multiple directories

Writing a new programming language

Writing a new programming language

Print custom messages after executing git commands

Print custom messages after executing git commands

Cool tips for vim users

Cool tips for vim users

Schedule local notification in android

Schedule local notification in android

Add album cover to mp3 file

Add album cover to mp3 file

MediaMagic: Convert any media file into encoded string or vice-versa

MediaMagic: Convert any media file into encoded string or vice-versa

Closure in Ruby

Closure in Ruby

Android with sqlite database

Android with sqlite database

Basic configuration of VIM

Basic configuration of VIM

nokogiri ERROR Failed to build gem native extension on MAC

nokogiri ERROR Failed to build gem native extension on MAC

Cucumber and calabash for android app testing

Cucumber and calabash for android app testing

Vim modes - normal, insert and visual

Vim modes - normal, insert and visual

Set up automation using cucumber and capybara

Set up automation using cucumber and capybara

Instrumentation testing of list view

Instrumentation testing of list view

  • RSS
  • Email me
  • GitHub
  • Twitter
  • LinkedIn
  • StackOverflow
  • Instagram
  • YouTube

Ajit Singh  •  2025  •  singhajit.com  •  PDF Tools Hub

Theme by beautiful-jekyll