Daniel’s Space
2026
- Claude Agent Skills
Introduction to Claude agent skills
- Claude Code in Action: Takeaways
Takeaways from Claude Code In Action.
- Migrate from pnpm to Bun
Learn how to migrate your Node.js project from pnpm to Bun for faster installation and execution.
- Practical SQL
Practical SQL Concepts with examples
- Kafka Storage Internals
Understanding Kafka's storage architecture, segments, indexes, and lookups.
- Message Delivery Semantics
Message Delivery Semantics, Exactly Once and Beyond
2025
- Kafka Consumer Deep Dive
Kafka Consumer Deep Dive including Groups, Rebalancing & The New Protocol
- Kafka Core Concepts
An overview of the core concepts of Apache Kafka, including topics, partitions, producers, consumers, and brokers.
- Kafka Producer Deep Dive
Deep dive into the Kafka Producer architecture, internals, and best practices.
- Docker Performance & Troubleshooting
Understanding resource management, performance tunning and systematic debugging for dockers running in production.
- Introduction to Apache Kafka
A ground-up introduction to Apache Kafka — what event streaming is, and how topics, partitions, and brokers fit together.
- Docker in CI/CD
Building production-ready CI/CD pipelines using Github Actions using docker
- Docker Networking
Understanding docker networking.
- Docker Security
A guide covers practical security measures to harden the docker deployments for production.
- Docker Internal
Docker Internals - Understanding Containers from the Ground Up
- Docker Compose
Comprehensive guide on writing docker compose file
- Dockerfile guide
Comprehensive guide on writing production-grade dockerfiles
- Functional Interface
A comprehensive guide to functional interface in Java with practical examples
- Introduction to Scoped Value
A comprehensive introduction to ScopedValue which is a modern alternative to ThreadLocal
- Introduction to Java Virtual Threads
A comprehensive guide that covers virtual threads from the ground up
- Kafka Docker Image
The differences among Kafka docker images.
- Code Review: Advanced Practices for Effective Reviews
Quick-reference guide covering go-to resources, focus areas, communication patterns, review workflow, and Google’s standards for handling code reviews and feedback
- From Single Server to Distributed System
A comprehensive guide to scaling applications from single server to distributed systems
- `type` vs `interface` in TypeScript
The main differences between `type` and `interface` in TypeScript
- Memory Management in Node.js
Understanding memory sections in Node.js.
- Event Loop in Node.js
Understanding the event loop in Node.js.
- Using Biome for Code Quality
This project uses Biome for formatting and linting instead of Prettier and ESLint.
- Serverless Architecture on AWS
Overview of serverless architecture on AWS, including key services, benefits, and best practices for building scalable applications.
- Most used Vim commands for daily coding
A collection of commonly used Vim commands to enhance your coding efficiency.
- Pair Programming: Best Practices and Tips
Let's explore the what, why, and how of pair programming, including its benefits and best practices.
- My Neovim Keymaps (LazyVim)
A collection of my personal Neovim (LazyVim) key mappings for efficient coding.
- Effective Final in Lambdas
Understanding the concept of effectively final variables in Java lambdas and how they differ from instance
- Query vs Scan in DynamoDB
Understanding the differences between Query and Scan operations in DynamoDB - performance, use cases, and best practices for efficient data retrieval
- Back of the Envelope Estimation
Quick-reference for powers of two, latency and availability benchmarks, plus a worked Twitter sizing example to ground rapid system design estimates.
- Difference: SOAP vs REST vs GRAPHQL vs gRPC
Comprehensive comparison of API technologies - SOAP, REST, GraphQL, and gRPC with use cases, examples, and recommendations for modern applications
- Create a pull request template
Learn how to create effective pull request templates to ensure consistency, improve code quality, and streamline the review process
- Code Review: What and Why
A comprehensive guide to effective code reviews - building better software through systematic examination, constructive feedback, and team collaboration
- Introduction to ADR
Learn about Architecture Decision Records (ADR) - documents that capture important architecture decisions with context and consequences
- Channel buffering in Go
How buffered and unbuffered channels differ in Go, and when a channel send blocks versus proceeds.
- The difference between `time.After` and `time.Sleep`
Why `time.After` and `time.Sleep` are not interchangeable in Go, and how each behaves with channels and goroutines.
- Choose an IaC tool
How to choose among AWS CDK, Terraform and Plumi
- Migrate from NPM to PNPM
The process to migrate a project from NPM to PNPM.
2024
- The Mac apps that I like
Some MacOS apps that I recommend.
- 6 Ways to Deploy Your Node.js Application to AWS
Explore the different ways to deploy a node.js Application to AWS.