Hi, I'm Mukul 👋
Software developer writing about technology, programming, book reviews, and tools I build. Welcome to my corner of the internet.
Latest Posts
-
Understanding Embeddings and Vector Databases (pgvector, Pinecone)
Embeddings turn text into numbers, and vector databases make those numbers searchable. Here's how both work, with practical examples using pgvector and Pinecone.
-
Dotfiles: How to Manage and Sync Your Dev Environment
Dotfiles let you version-control your shell, editor, and tool configuration so any new machine is set up in minutes. Here's a practical approach using Git and symlinks.
-
Building a CLI Tool That Uses an LLM API
Build a real command-line tool backed by an LLM API using Python and Click. We'll cover streaming output, multi-turn conversations, and piping from stdin.
-
AI Coding Tools Compared: GitHub Copilot, Cursor, and Claude Code
GitHub Copilot, Cursor, and Claude Code each take a different approach to AI-assisted development. Here's a practical comparison to help you pick the right one.
-
XSS Attacks Explained: Types and Prevention
A practical guide to cross-site scripting (XSS) — the three types of XSS attacks, how each works, and how to prevent them with output encoding, CSP, and sanitization.
-
Understanding CORS: Why Your API Returns a Blocked Error
A practical explanation of CORS — why browsers block cross-origin requests, how preflight works, and how to configure CORS correctly in Nginx, Express, and FastAPI.
-
TypeScript Generics Explained with Practical Examples
A practical guide to TypeScript generics — type parameters, constraints, multiple generics, generic functions, generic interfaces, and built-in utility types with real examples.
-
System Design: How a URL Shortener Works
A practical walkthrough of how URL shorteners like bit.ly work under the hood — covering hashing, database design, redirects, and scaling.
-
System Design: Building a Notification Service
How to design a scalable notification service that handles push, email, and SMS — covering queue architecture, delivery guarantees, and failure handling.
-
SSH Key Management Best Practices
A practical guide to SSH key management — generating strong keys, using ssh-agent, organizing multiple keys, rotating credentials, and securing GitHub access.