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
-
Terraform Basics: Infrastructure as Code in 10 Minutes
Get started with Terraform by learning how to define, plan, and apply cloud infrastructure as code, with an AWS EC2 instance as a working example.
-
TCP vs UDP: When Each Protocol Matters
A practical explanation of TCP vs UDP — how each protocol works, their trade-offs, real-world use cases, and when to choose which for your application.
-
strace — Tracing System Calls for Debugging
A practical guide to strace for tracing system calls on Linux, with real examples for debugging crashes, slow programs, and permission errors.
-
SSL/TLS Certificates Explained: How HTTPS Actually Works
Understand how TLS certificates work, what the handshake does, how certificate authorities establish trust, and how to get and configure free HTTPS with Let's Encrypt.
-
ssh — Complete Guide: Keys, Config, Tunnels, and Agent Forwarding
A thorough SSH reference covering key generation, ssh-agent, the client config file, port forwarding, jump hosts, and agent forwarding with real examples.
-
sed — Stream Editor Guide for Text Manipulation
A practical guide to sed covering substitution, deletion, insertion, address ranges, and in-place editing with real terminal examples.
-
rsync — Syncing Files Like a Pro
A practical rsync guide covering flags, incremental transfers, remote syncing over SSH, excludes, dry runs, and real backup workflows.
-
jq — Querying JSON from the Terminal: A Practical Guide
Learn how to use jq to filter, transform, and reshape JSON data directly in the terminal with practical examples and real command output.
-
Python Virtual Environments: venv, pyenv, and conda Compared
Understand when to use venv, pyenv, or conda for Python environment management, with practical commands for each tool and advice on combining them.
-
Python asyncio — Async/Await Explained with Examples
Learn how Python's asyncio event loop, coroutines, and async/await syntax work, with practical examples covering concurrent HTTP requests and async I/O.