Home
About Me
Explainers
Tools
System Design
Design Patterns
Tag Cloud
Dev Weekly
Videos
A collection of videos from my YouTube channel
Subscribe to get notified when a new video is uploaded
TDD In Java
GitHub Actions For Android
Android Videos
Android Instrumentation Testing
Design Patterns
Terminal Hacks
Explore All Posts
How Count-Min Sketch Works
How Database Indexing Works
Universal Commerce Protocol (UCP) Explained
How to Build AI Agents That Actually Work
Context Engineering Guide for AI Developers
Majority Quorum in Distributed Systems Explained
How HyperLogLog Works
How Bloom Filters Work
Local LLM Speed: Qwen2 & Llama 3.1 Real Benchmark Results
How Snowflake IDs Work
How to Run LLMs on Your Own Computer
The Gang of Four Patterns Every Developer Should Know
Caching Strategies Explained: The Complete Guide
CQRS Pattern: Splitting Read and Write Models
The Complete HTMX Guide: From Zero to Production
How Google Ads Supports 4.8 Billion Users with a SQL Database
Role of Queues in System Design
How Amazon S3 Stores 100 Trillion Objects Without Losing One
Two-Phase Commit: The Protocol That Keeps Distributed Transactions Honest
Modular Monolith: The Architecture Most Teams Actually Need
The Complete Guide to Server-Sent Events (SSE)
Long Polling Explained: Build Real-Time Apps Without WebSockets
How Stock Brokers Push 1 Million Price Updates Per Second to Your Screen
HOCON vs YAML vs TOML vs JSON: Complete Configuration Format Comparison
Heartbeat: How Distributed Systems Know You're Still Alive
Your JSON is Costing You Thousands: Why TOON Might Save Your Budget
Stop Blocking Your Paying Customers: Build a Smart Rate Limiter
Visitor Design Pattern
How Shopify Powers 5 Million Stores Without Breaking a Sweat
WebTransport: The Protocol That Fixes What's Broken in WebSockets
What Actually Happens When You Type a URL
Interpreter Design Pattern
Postgres 18: The Release That Makes Databases Fast Again
Java 25 is Finally Here: The LTS Release That Changes Everything
How Ticket Booking Systems Handle 50,000 People Fighting for One Seat
Hash Collisions: The Hidden Performance Killer in Your Code
Memento Design Pattern
Why JWT Replaced Sessions: Building Auth That Scales
How Kafka Works: The Engine Behind Real-Time Data Pipelines
Kubernetes Architecture: The Operating System for the Cloud
How Meta Achieves 99.99999999% Cache Consistency
Flyweight Design Pattern
How Slack Built a System That Handles 10+ Billion Messages
Paxos: The Democracy of Distributed Systems
Write-Ahead Log: The Golden Rule of Durable Systems
Prototype Design Pattern
Distributed Counter System Design
How Stripe Prevents Double Payments With Idempotency Keys
GitHub Actions: CI/CD Automation Basics
55 Million Requests Per Second: Inside Cloudflare's Magic
Bridge Design Pattern
How Uber Finds Nearby Drivers at 1 Million Requests per Second
The Complete Guide to k6 Load Testing
How WhatsApp Scaled to Billions of Users with Just 50 Engineers
Prompt Engineering Basics 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
Iterator Design Pattern
How to Exclude a Single Module from `sbt test` in a Multi-Module Scala Project
Mediator Design Pattern
Chain of Responsibility Design Pattern
Composite Design Pattern
Abstract Factory Design Pattern
Template Method Design Pattern
State Design Pattern
Command Design Pattern
Proxy Design Pattern
Facade Design Pattern
Adapter Design Pattern
Builder Design Pattern
Strategy Design Pattern
Factory Method Design Pattern
Singleton Design Pattern
Github Actions for Android
Pairing matrix for agile teams
How to integrate GraphQL with Sitecore using JSS
Flutter under the hood
Monitoring individual queue in sidekiq
Why aren't you using binstubs yet?
Offline Mode Of Android Apps
My upcoming talk in DroidConUK
Integrating Sherlock with android apps
Why your android application needs awareness api
Java custom annotations
Prevent push on red build with the help of gocd_pre_push
Conway's Game Of Life
Notify when android device network status changes
Observer Design Pattern
Filter Design Pattern
Ruby gem to fetch information from gocd as rich models
Android Data Binding
Android Custom Animations
shell_session_update: command not found
Android Draggable View
Android UI Design And Styling
GIT revert multiple commits
apkToJava - Gem to convert apk file to java code
Android Padding vs Margin
Android UI for beginners
Decorator Design Pattern
Junit Rules Vs Setup and TearDown
Android Build Process
What happens when android screen rotates?
Is ruby monkey patching evil?
Android Instrumentation Testing Using Espresso
Testing Android Database
MVP in android
Gradient color in android
Tool to execute commands in multiple directories
Writing a new programming language
Print custom messages after executing git commands
Cool tips for vim users
Schedule local notification in android
Add album cover to mp3 file
MediaMagic: Convert any media file into encoded string or vice-versa
Closure in Ruby
Android with sqlite database
Basic configuration of VIM
nokogiri ERROR Failed to build gem native extension on MAC
Cucumber and calabash for android app testing
Vim modes - normal, insert and visual
Set up automation using cucumber and capybara
Instrumentation testing of list view
Show More Posts