Skip to content
Back to search
100
MCP live MCP 2025-11-25 streamable-http

io.github.karandaid/karandeepsingh-blog

io.github.karandaid/karandeepsingh-blog

Search and read Karandeep Singh's DevOps and AWS blog: articles and cheatsheets.

Uptime
100.0%
3 direct probes · 30d
Response
1910ms
last probe
Tools
11
callable
Resources
110
readable
Prompts
4
available

Tools · 11

search_posts

Search Karandeep Singh's blog (DevOps/AWS articles and cheatsheets). Returns ranked cards with title, URL, tags, date, reading time, and summary.

read_post

Read a post's full text by URL, paginated. Returns a window of characters; call again with the returned next offset to continue.

list_recent

List the most recently published posts.

browse_by_tag

List posts with a given tag (e.g. aws, lambda, cost, aurora). Use list_topics to see all tags.

list_topics

List every tag on the blog with a post count, for discovering what's covered.

related_posts

Given a post URL, find other posts that share the most tags with it.

random_post

Return a random post from the blog — a surprise pick.

get_cheatsheet

Jump straight to a cheatsheet by topic (docker, cloudformation, cost, aurora, kubernetes, …) and get its full text.

list_cheatsheets

List all cheatsheets (quick-reference guides) on the blog.

quiz_me

Test the user's knowledge with real multiple-choice questions written for the blog's articles. Returns questions, options, and an answers section with explanations. Ask the questions first, then revea…

get_commands

Return just the runnable commands and code blocks from the best-matching article or cheatsheet — no prose. Use when the user wants the command, not the explanation.

Resources · 110

atuin

My Atuin notes. Search keybindings, filter and search modes, the search flags worth knowing, sync and account commands, stats, config essentials, and troubleshooting — checked against Atuin 18.19.0.

https://karandeepsingh.ca/cheatsheets/terminal/atuin/
low-cost-cloud-stack

Quick-reference for a lean, low-cost cloud stack. Free-tier frontend hosting, API platforms, serverless Postgres, auth, a full cost comparison table, low-cost VPS/cloud providers (OVH, Hetzner, Oracle…

https://karandeepsingh.ca/cheatsheets/cost/low-cost-cloud-stack/
golang

A practical Go reference for DevOps work covering go mod and build commands, core syntax, concurrency patterns, testing, and the stdlib snippets I reuse most.

https://karandeepsingh.ca/cheatsheets/languages/golang/
tmux

My tmux notes. Session management, window and pane keybindings, copy mode, config essentials, and scripting layouts with send-keys.

https://karandeepsingh.ca/cheatsheets/terminal/tmux/
jenkins

Quick-reference Jenkins pipeline syntax. Declarative skeletons, credentials binding, parallel stages, shared libraries, triggers, and troubleshooting fixes.

https://karandeepsingh.ca/cheatsheets/devops/jenkins/
python-basics-cli

Notes on core Python syntax, error handling, file I/O with pathlib, plus the CLI side (venv, pip, argparse, and python -m tricks).

https://karandeepsingh.ca/cheatsheets/python/python-basics-cli/
docker

A dense, practical Docker reference covering the image lifecycle, container run flags, Dockerfiles with multi-stage builds, compose, and cleanup commands.

https://karandeepsingh.ca/cheatsheets/containers/docker/
bash-basics

A dense quick-reference for Bash 5.x scripting. Quoting, parameter expansion, test operators, loops, functions, arrays, traps, and here-docs.

https://karandeepsingh.ca/cheatsheets/bash/bash-basics/
msk-vs-kinesis

Quick-reference comparing Amazon MSK (managed Kafka) and Kinesis Data Streams, pricing models and idle cost, a feature table, and a clear when-to-choose-which decision guide.

https://karandeepsingh.ca/cheatsheets/cost/msk-vs-kinesis/
cloudformation

Quick-reference CloudFormation guide. Template sections, intrinsic functions, stack lifecycle CLI commands, change sets, drift detection, and error fixes.

https://karandeepsingh.ca/cheatsheets/devops/cloudformation/
ubuntu-terminal

The Ubuntu server commands I reach for daily. Covers apt/dpkg/snap package management, systemd, ufw, user management, networking, and upgrades.

https://karandeepsingh.ca/cheatsheets/terminal/ubuntu-terminal/
python-threading-concurrency

Python concurrency notes covering threading primitives, queue producer/consumer, concurrent.futures, multiprocessing, asyncio, and when to use which.

https://karandeepsingh.ca/cheatsheets/python/python-threading-concurrency/
kubernetes

A working kubectl reference with core resource YAML skeletons, rollout and scaling commands, debugging workflows, and a table of handy one-liners.

https://karandeepsingh.ca/cheatsheets/containers/kubernetes/
bash-sed-awk

My working reference for sed and awk. Substitution, addresses, capture groups, fields, BEGIN/END blocks, associative arrays, and the one-liners I actually use.

https://karandeepsingh.ca/cheatsheets/bash/bash-sed-awk/
ansible

Quick-reference Ansible guide. Inventories, ad-hoc commands, playbooks, module table, loops and conditionals, roles layout, Vault, and Jinja2 templating.

https://karandeepsingh.ca/cheatsheets/devops/ansible/
python-boto3

My notes for automating AWS with boto3, covering client/resource setup, S3, EC2, Lambda, DynamoDB, and SSM, plus paginators, waiters, and error handling done right.

https://karandeepsingh.ca/cheatsheets/python/python-boto3/
bash-cli

The command-line one-liners I use daily. find/xargs, grep, curl, jq, tar, disk and process triage, network checks, ssh/rsync, history tricks, and job control.

https://karandeepsingh.ca/cheatsheets/bash/bash-cli/
al2-terminal

Working notes for Amazon Linux 2 on EC2. Covers yum and amazon-linux-extras, SSM access, instance metadata, cloud-init, and security updates.

https://karandeepsingh.ca/cheatsheets/terminal/al2-terminal/
atuin-shell-history-search

Ctrl-R only matches one result at a time and forgets which directory you were in. Atuin swaps your shell history for a SQLite database and gives you a real search screen — what it does, why directory …

https://karandeepsingh.ca/posts/atuin-shell-history-search/
lambda-cost-tuning-memory-graviton

Most Lambda cost advice repeats folklore. This walks through what AWS actually documents and bills — GB-seconds, the 1,769 MB one-vCPU line, the exact 20% arm64 discount and where it does not apply — …

https://karandeepsingh.ca/posts/lambda-cost-tuning-memory-graviton/
blog-mcp-server-netlify

A walkthrough of building a public MCP server for a static blog — one serverless function, a build-time index, and all three MCP primitives — plus the mistakes that cost me an hour and why it runs for…

https://karandeepsingh.ca/posts/blog-mcp-server-netlify/
livestream-phone-to-aws-ivs

How to livestream from your phone to other devices through AWS with Amazon IVS, no server and no code, plus a plain-English explanation of every setting in the create-channel wizard and the real gotch…

https://karandeepsingh.ca/posts/livestream-phone-to-aws-ivs/
lambda-million-users-per-hour

A system-designer's walkthrough of running a million users an hour on AWS Lambda, the capacity math, concurrency and cold starts, which language to pick, the database bottleneck that actually breaks f…

https://karandeepsingh.ca/posts/lambda-million-users-per-hour/
ec2-s3-files-mount-bucket-file-system

Amazon S3 Files lets you mount an S3 bucket as a folder on EC2. This is the honest version, the setup gotchas (versioning, subnet, port 2049, a brutal Ubuntu build), how its latency compares to EBS an…

https://karandeepsingh.ca/posts/ec2-s3-files-mount-bucket-file-system/
lambda-configuration-explained

Most of AWS Lambda is configuration, not code, and the defaults aren't always right. This explains what each setting means, memory, timeout, concurrency, architecture, IAM, VPC, environment variables,…

https://karandeepsingh.ca/posts/lambda-configuration-explained/
ec2-root-volumes-vs-file-systems

The EC2 launch wizard's storage step has two very different parts, the root volume and the File systems panel, and beginners mix them up. This explains both in plain words, plus when to reach for each…

https://karandeepsingh.ca/posts/ec2-root-volumes-vs-file-systems/
aurora-clone-copy-on-write

How Aurora copy-on-write cloning makes a fast, isolated copy of a cluster in minutes regardless of size, proven hands-on, plus when and why to use one, whether to keep or delete it, the benefits and l…

https://karandeepsingh.ca/posts/aurora-clone-copy-on-write/
aurora-rds-data-api-postgresql

Turn on the RDS Data API for Aurora PostgreSQL and run SQL over an HTTPS endpoint with no persistent connection and no VPC, shown from both the in-console Query Editor and the AWS CLI, plus when to us…

https://karandeepsingh.ca/posts/aurora-rds-data-api-postgresql/
aurora-write-forwarding-postgresql

How Aurora write forwarding lets a read replica take writes and pass them to the writer, done hands-on with local write forwarding on Aurora PostgreSQL, plus the global cross-region variant, the laten…

https://karandeepsingh.ca/posts/aurora-write-forwarding-postgresql/
aurora-add-aws-region-global-database

A hands-on walkthrough of extending an Aurora PostgreSQL cluster to a second AWS Region with Aurora Global Database, including the instance-class upgrade and reboot, why the whole cluster shows Modify…

https://karandeepsingh.ca/posts/aurora-add-aws-region-global-database/
aurora-add-reader-read-replica

How to add a read replica (reader) to an Aurora PostgreSQL cluster, understand the writer and reader endpoints, prove the reader is read-only, and send read traffic to it, all from the AWS console.

https://karandeepsingh.ca/posts/aurora-add-reader-read-replica/
find-slow-queries-aurora-postgresql

How to find slow queries in Aurora PostgreSQL the way you actually would, starting in the AWS console with Performance Insights and CloudWatch, then dropping into pg_stat_statements and EXPLAIN to fix…

https://karandeepsingh.ca/posts/find-slow-queries-aurora-postgresql/
valkey-cache-aside-aurora-postgresql

The hands-on second half, connecting Python to Aurora PostgreSQL and Valkey, implementing the cache-aside pattern, and measuring a real 46 ms database read drop to 0.7 ms from cache.

https://karandeepsingh.ca/posts/valkey-cache-aside-aurora-postgresql/
aurora-postgresql-setup-guide

The reasoning behind every choice when creating an Amazon Aurora PostgreSQL cluster, from provisioned vs serverless to the security-group model, so the settings make sense instead of being guessed.

https://karandeepsingh.ca/posts/aurora-postgresql-setup-guide/
valkey-aws-elasticache-guide

A start-to-finish walkthrough of running Valkey on AWS ElastiCache, built from a real hands-on session, complete with the security-group mistake, the TLS surprise, and a small health-check script.

https://karandeepsingh.ca/posts/valkey-aws-elasticache-guide/
jenkins-upgrade-and-migration-guide

How to plan and execute Jenkins upgrades, including large multi-version jumps, safely with in-place, blue-green, and phased strategies.

https://karandeepsingh.ca/posts/jenkins-upgrade-and-migration-guide/
docker-compose-multi-container-guide

A hands-on guide that takes a web + Postgres + Redis stack from a single Docker Compose file in local dev, to building images with Docker Bake, to pushing them to Amazon ECR for ECS, Fargate, or EKS.

https://karandeepsingh.ca/posts/docker-compose-multi-container-guide/
kubernetes-eks-setup-eksctl

A practical, zero-to-running guide to AWS EKS with eksctl — install the tools, create a cluster with one command, deploy a workload behind an AWS load balancer, and clean up so you do not get a surpri…

https://karandeepsingh.ca/posts/kubernetes-eks-setup-eksctl/
fix-kubernetes-crashloopbackoff

A practical playbook for Kubernetes CrashLoopBackOff — the diagnosis workflow (describe, previous logs, events) plus fixes for the six causes you will actually hit, including OOMKilled, failing livene…

https://karandeepsingh.ca/posts/fix-kubernetes-crashloopbackoff/
kubernetes-fundamentals-pods-deployments-services

A hands-on introduction to Kubernetes fundamentals — pods, deployments, replicasets, and services — built step by step on a local kind cluster, with the mistakes and fixes that make the concepts stick…

https://karandeepsingh.ca/posts/kubernetes-fundamentals-pods-deployments-services/
kubectl-cheat-sheet

The kubectl commands you actually reach for, grouped by task — inspecting pods, managing deployments and services, reading logs, and debugging — with copy-paste examples and notes on when to use each.

https://karandeepsingh.ca/posts/kubectl-cheat-sheet/
sed-for-log-analysis

Practical sed recipes for working with production logs — error extraction, time-range filtering, multi-line stack trace handling, anonymization, and pre-pipeline cleanup before grep/awk.

https://karandeepsingh.ca/posts/sed-for-log-analysis/
sed-gotchas-gnu-vs-bsd

The sed gotchas every DevOps engineer hits — GNU vs BSD differences, in-place editing dangers, escape traps, and the portable patterns that work on Linux, macOS, and Alpine without modification.

https://karandeepsingh.ca/posts/sed-gotchas-gnu-vs-bsd/
sed-in-ci-cd-pipelines

A safety-first guide to running sed in automated pipelines — idempotency, exit codes, dry-run flags, in-place backup, and patterns that survive multiple runs without corrupting config files.

https://karandeepsingh.ca/posts/sed-in-ci-cd-pipelines/
sed-multiline-patterns

A walkthrough of sed multiline editing — pattern space, hold space, N/D/P commands, address ranges — built up step by step with real DevOps examples (stack traces, YAML blocks, SQL).

https://karandeepsingh.ca/posts/sed-multiline-patterns/
sed-vs-awk-vs-grep

A practical comparison of sed, awk, and grep with a decision tree, performance notes for large log files, and ten side-by-side examples of the same task in all three tools.

https://karandeepsingh.ca/posts/sed-vs-awk-vs-grep/
what-i-got-wrong-about-kubernetes-2025

A year-end look at Kubernetes mistakes the industry kept making in 2025. Five things teams overinvested in, underinvested in, or simply got wrong on EKS this year.

https://karandeepsingh.ca/posts/what-i-got-wrong-about-kubernetes-2025/
devops-stack-i-would-pick-2026

An opinionated DevOps stack pick from an engineer with years of production experience. Each layer is a vote, with what I would avoid and why.

https://karandeepsingh.ca/posts/devops-stack-i-would-pick-2026/
mastering-tmux-go-session-manager

Learn tmux one concept at a time — sessions, windows, panes, configuration — then build a Go CLI tool that reads a YAML file and launches your entire dev environment automatically.

https://karandeepsingh.ca/posts/mastering-tmux-go-session-manager/
log-aggregator-from-scratch-go

Build a log aggregator from scratch in Go. Tail files with inotify, survive log rotation, parse syslog and JSON, fan in from multiple sources, and wire up graceful shutdown.

https://karandeepsingh.ca/posts/log-aggregator-from-scratch-go/
terraform-getting-started-aws

Learn Terraform with AWS step by step. Start with one S3 bucket, hit real errors, fix them, then build a full VPC + EC2 setup. Each step shows the command, the output, and the mistake.

https://karandeepsingh.ca/posts/terraform-getting-started-aws/
nginx-log-analysis-grep-to-go

Nginx log analysis from grep to Go — each step shows the command-line approach first, then builds it in Go. Parse access logs, find slow endpoints, detect error spikes, build a log analysis dashboard.

https://karandeepsingh.ca/posts/nginx-log-analysis-grep-to-go/
bash-scripting-meets-aws

AWS automation from CLI to Go code. Each step shows the AWS CLI command first, then builds it in Go. List EC2 instances, manage S3, check costs, build an infrastructure report tool.

https://karandeepsingh.ca/posts/bash-scripting-meets-aws/
config-templating-envsubst-to-go

Config templating from envsubst to Go: each step shows the shell way first, then builds it in Go. Handle missing variables, add conditionals, build a config generator for dev/staging/prod.

https://karandeepsingh.ca/posts/config-templating-envsubst-to-go/
process-management-linux-to-go

Process management from command line to Go code. Each step shows the Linux command first, then builds it in Go. Kill processes, send signals, set resource limits, build a process supervisor with auto-…

https://karandeepsingh.ca/posts/process-management-linux-to-go/
sudo-mastery-and-best-practices

Linux access control from command line to Go code. Each step shows the Linux command first, then builds it in Go. Parse sudoers, audit permissions, build a security scanner that flags dangerous config…

https://karandeepsingh.ca/posts/sudo-mastery-and-best-practices/
timezones-in-production-linux-to-go

Timezone handling from command line to Go code — each step shows the Linux command first, then builds it in Go. Hit the DST parsing trap, fix it, normalize log timestamps, end with a multi-zone clock.

https://karandeepsingh.ca/posts/timezones-in-production-linux-to-go/
mastering-cpu-cores

CPU monitoring from command line to Go code — each step shows the Linux command first, then builds it in Go. Hit the jiffies trap, fix it, add colored bars, end with a live dashboard.

https://karandeepsingh.ca/posts/mastering-cpu-cores/
weird-unix-commands

Learn Unix commands that actually matter in production: pv for progress bars, xargs for parallel execution, watch for live monitoring, column for readable output. Then build a Go log watcher using the…

https://karandeepsingh.ca/posts/weird-unix-commands/
go-nginx-reverse-proxy

Deploy a Go HTTP API behind Nginx. Start with a bare server, hit the port 80 permission trap, proxy through Nginx, lose client IPs, fix header forwarding, add rate limiting, and wire up graceful shutd…

https://karandeepsingh.ca/posts/go-nginx-reverse-proxy/
containers-from-scratch-go

Build your own container runtime in Go from scratch. Start by running a command, then add PID isolation, filesystem isolation, hostname, cgroups, one concept at a time.

https://karandeepsingh.ca/posts/containers-from-scratch-go/
go-sqs-message-queue

Build an SQS message processor in Go step by step. Send messages, hit the visibility timeout trap, add batch operations, and build a production-ready polling loop.

https://karandeepsingh.ca/posts/go-sqs-message-queue/
go-dynamodb-crud

Build a DynamoDB CRUD app in Go step by step. Start raw, hit real pain points, and end up with clean struct-based operations.

https://karandeepsingh.ca/posts/go-dynamodb-crud/
go-aws-s3-cli-tool

Build a practical Go CLI tool for AWS S3. Start with listing buckets, then add uploads, downloads, and concurrent transfers step by step.

https://karandeepsingh.ca/posts/go-aws-s3-cli-tool/
build-deploy-go-lambda-function

Build your first Go Lambda function from scratch. We start simple, hit real errors, fix them, and work our way up to a production-ready API endpoint.

https://karandeepsingh.ca/posts/build-deploy-go-lambda-function/
jenkins-configuration-as-code-jcasc-guide

Learn how to manage your entire Jenkins setup through version-controlled YAML files using Jenkins Configuration as Code (JCasC), with practical examples for Kubernetes, security, and shared libraries.

https://karandeepsingh.ca/posts/jenkins-configuration-as-code-jcasc-guide/
deploy-jenkins-eks-tutorial

Step-by-step tutorial for deploying Jenkins on Amazon EKS. Learn pods vs deployments and why each matters for your CI/CD setup.

https://karandeepsingh.ca/posts/deploy-jenkins-eks-tutorial/
comprehensive-guide-to-jenkins-versions

A practical guide to Jenkins version selection, covering JVM compatibility, version evolution, and agent requirements, with links to focused deep-dive guides.

https://karandeepsingh.ca/posts/comprehensive-guide-to-jenkins-versions/
linux-ls-command-comprehensive-guide

The definitive guide to the Linux ls command. Covers its five-decade history from early Unix to GNU coreutils, core options, task-based examples for real-world scenarios, quirky hidden tricks, and a q…

https://karandeepsingh.ca/posts/linux-ls-command-comprehensive-guide/
jenkins-userremoteconfig

Unlock advanced Git workflows with Jenkins UserRemoteConfig. Perfect for DevOps engineers managing multi-repository pipelines.

https://karandeepsingh.ca/posts/jenkins-userremoteconfig/
linux-automation-tools

Master Linux task automation with cron, make, and systemd timers. Then build a complete Go task runner with scheduling, retries, and a status dashboard.

https://karandeepsingh.ca/posts/linux-automation-tools/
deployment-automation-ssh-to-go

Master deployment automation with Linux commands and Go. From SSH and rsync basics to building a complete deploy tool with health checks, rollbacks, and multi-server support.

https://karandeepsingh.ca/posts/deployment-automation-ssh-to-go/
sed-command-cheat-sheet-30-essential-one-liners

Thirty sed one-liners for everyday log and config work. Each pattern solves a common problem (extract errors, clean configs, parse timestamps, transform JSON). Organized by use case with input/output …

https://karandeepsingh.ca/posts/sed-command-cheat-sheet-30-essential-one-liners/
replace-text-multiple-files-sed-guide

Learn reliable techniques for finding and replacing text across multiple files using sed, including file selection methods, safety practices, and advanced pattern matching with real-world examples.

https://karandeepsingh.ca/posts/replace-text-multiple-files-sed-guide/
jenkins-java-compatibility

Jenkins JVM requirements and the Java 8 to 11 to 17 to 21 to 25 transition timeline, with version-by-version compatibility and tuning notes.

https://karandeepsingh.ca/posts/jenkins-java-compatibility/
bash-extract-filename-from-path-guide

Work through a log-filename processing exercise from scratch. Start with simple basename, encounter the symlink bug that breaks extraction, fix it, then benchmark all four approaches yourself (basenam…

https://karandeepsingh.ca/posts/bash-extract-filename-from-path-guide/
sed-json-manipulation-without-jq

Emergency JSON manipulation patterns using sed when jq is unavailable. For scenarios requiring urgent config changes on a locked-down server with no permission to install tools. Always use jq for JSON…

https://karandeepsingh.ca/posts/sed-json-manipulation-without-jq/
mastering-nginx-logs-guide

A complete guide to NGINX logs. Learn how to configure, manage, and analyze access and error logs to optimize your NGINX server's performance and troubleshoot issues effectively.

https://karandeepsingh.ca/posts/mastering-nginx-logs-guide/
linux-user-control-terminal-commands

A practical reference for Linux user management. Create, modify, and delete users; work with groups; set file permissions and special bits; monitor access with who, last, and ps; and apply security be…

https://karandeepsingh.ca/posts/linux-user-control-terminal-commands/
mastering-top

The Linux top command is an essential tool for real-time system monitoring, providing a dynamic overview of running processes and their resource consumption. This guide digs deep into the functionalit…

https://karandeepsingh.ca/posts/mastering-top/
mastering-vmstat

This article provides an in-depth exploration of vmstat, a powerful tool for monitoring virtual memory and system performance. Starting with basic commands and moving through advanced functionalities,…

https://karandeepsingh.ca/posts/mastering-vmstat/
aws-security-features-guide

Master AWS security auditing with CLI commands and Go. From checking IAM users and security groups to building a complete scanner that finds and reports misconfigurations.

https://karandeepsingh.ca/posts/aws-security-features-guide/
jenkins-security-advisories-and-cves

Jenkins security evolution, the CVE-2024-23897 CLI vulnerability, and keeping plugins patched to shrink the attack surface.

https://karandeepsingh.ca/posts/jenkins-security-advisories-and-cves/
how-to-scale-database-in-microservices

A worked example of scaling a database from a single Postgres instance to a sharded architecture. Start simple, hit realistic bottlenecks (connection limits, replica lag, query timeouts), and fix each…

https://karandeepsingh.ca/posts/how-to-scale-database-in-microservices/
docker-logs-to-go-collector

Master Docker container logging with Linux commands and a real Go log collector. From docker logs basics to a streaming aggregator that processes multiple containers.

https://karandeepsingh.ca/posts/docker-logs-to-go-collector/
advanced-bash-scripting-techniques-for-automation

Practical Bash automation patterns for deploying to many servers. Includes retry logic, error handling, parallel execution, and template generation that keep multi-server deploys fast and reliable.

https://karandeepsingh.ca/posts/advanced-bash-scripting-techniques-for-automation/
bash-code-shortening-techniques

Master the art of Bash code shortening with this full guide offering expert techniques, real-world examples, and practical tips to write cleaner, more efficient scripts without sacrificing readability…

https://karandeepsingh.ca/posts/bash-code-shortening-techniques/
bash-error-handling-bulletproof-scripts

Explore practical strategies to implement reliable error handling in Bash scripts, preventing silent failures and building automation you can truly trust.

https://karandeepsingh.ca/posts/bash-error-handling-bulletproof-scripts/
url-shortener-from-scratch-go

A step-by-step build of a URL shortener in Go using only the standard library — raw TCP, HTTP parsing, hash-based short codes, file persistence, 302 redirects with click analytics, and rate limiting. …

https://karandeepsingh.ca/posts/url-shortener-from-scratch-go/
youtube-system-design-aws

Create a scalable video platform using AWS Lambda functions that process uploads directly from S3. This simple approach works beautifully for video platforms and requires minimal management.

https://karandeepsingh.ca/posts/youtube-system-design-aws/
jenkins-devops-best-practices

Master CI pipeline fundamentals with shell scripts and Go. From running tests and collecting artifacts to building a complete build runner with git integration and parallel stages.

https://karandeepsingh.ca/posts/jenkins-devops-best-practices/
mastering-bash-scripting

Watch bash skills evolve from echo statements to a production deployment script. Start simple, encounter errors (set -e breaks pipelines, unquoted variables cause word splitting), fix each one, learn …

https://karandeepsingh.ca/posts/mastering-bash-scripting/
mastering-sed-update-remove-configuration-files

Learn how to leverage sed's powerful text processing capabilities to efficiently update, remove, and transform data in various configuration file formats like YAML, JSON, TOML, and properties files.

https://karandeepsingh.ca/posts/mastering-sed-update-remove-configuration-files/
self-healing-bash-functions

Learn how to implement self-healing mechanisms in your Bash scripts with practical examples that handle common failures and recover automatically.

https://karandeepsingh.ca/posts/self-healing-bash-functions/
service-health-checks-curl-to-go

Master service health monitoring with Linux commands and Go. From curl and /proc basics to building a complete health monitor with HTTP checks, TCP probes, resource monitoring, and alerting.

https://karandeepsingh.ca/posts/service-health-checks-curl-to-go/
aws-s3-hosting-guide

A practical guide to S3 hosting that walks through moving a WordPress documentation site to S3+CloudFront. Covers caching, cost, security hardening, and CI/CD best practices.

https://karandeepsingh.ca/posts/aws-s3-hosting-guide/
youtube-system-sqs-architecture

Adding Amazon SQS to your video platform creates a buffer between uploads and processing, dramatically improving scalability and reliability. This approach is ideal for systems with unpredictable traf…

https://karandeepsingh.ca/posts/youtube-system-sqs-architecture/
advanced-string-operations-in-bash-building-custom-functions

An overview hub for custom Bash string functions used in log processing and everyday scripting, linking to focused guides on trimming and case, search and split, and validation and generation.

https://karandeepsingh.ca/posts/advanced-string-operations-in-bash-building-custom-functions/
bash-string-search-split-and-count

Bash string functions for length validation, case conversion, substitution, truncation, counting, splitting, capitalization, ROT13, and field extraction (index, substring, join).

https://karandeepsingh.ca/posts/bash-string-search-split-and-count/
bash-string-trimming-and-case

Bash string functions for stripping leading and trailing whitespace (ltrim, rtrim, trim) and reversing strings, with performance comparisons against sed and awk.

https://karandeepsingh.ca/posts/bash-string-trimming-and-case/
bash-string-validation-and-generation

Bash functions for random string generation, input sanitization, CSV parsing, password-strength checks, and slug generation, plus a complete production string library to source.

https://karandeepsingh.ca/posts/bash-string-validation-and-generation/
boto3-and-aws-lambda-a-match-made-in-serverless-heaven

Production guide to building serverless data pipelines with Boto3 and Lambda for processing high-volume daily events through an analytics pipeline. Covers cold starts, concurrent execution limits, err…

https://karandeepsingh.ca/posts/boto3-and-aws-lambda-a-match-made-in-serverless-heaven/
create-custom-ami-of-jenkins-devops

A comprehensive guide to roll out your own custom Jenkins AMI, perfect for those who want a hassle-free, tailor-made Continuous Integration environment.

https://karandeepsingh.ca/posts/create-custom-ami-of-jenkins-devops/
git-hooks-to-go-webhook-server

Master Git automation with shell hooks and Go. From pre-commit scripts to a complete webhook server that validates payloads, triggers builds, and reports results.

https://karandeepsingh.ca/posts/git-hooks-to-go-webhook-server/
remote-server-config-ssh-to-go

Master remote server configuration with SSH and Go. From bash loops to a complete config tool with parallel execution, idempotent operations, and service verification.

https://karandeepsingh.ca/posts/remote-server-config-ssh-to-go/
ec2-image-builder-components

Build custom AMIs using EC2 Image Builder with Amazon Linux 2023 and NGINX.

https://karandeepsingh.ca/posts/ec2-image-builder-components/
create-a-new-image-recipe

EC2 Image Builder uses image recipes to define the base image and components that make up your custom AMI. When you need to update packages, add new components, or change the base image, you create a …

https://karandeepsingh.ca/posts/create-a-new-image-recipe/
create-freeform-feature-flag-from-s3-object

Step-by-step guide to creating freeform feature flags using AWS AppConfig and S3 objects. Manage application configurations and toggle features without redeploying.

https://karandeepsingh.ca/posts/create-freeform-feature-flag-from-s3-object/
deploy-hugo-s3-codebuild

Learn how to deploy a Hugo static site to S3 using AWS CodeBuild with a custom GoLang Docker image and a buildspec.yaml pipeline.

https://karandeepsingh.ca/posts/deploy-hugo-s3-codebuild/
aws-codebuild-advanced-buildspec-guide

This article covers the buildspec.yaml file in AWS CodeBuild with practical examples for Node.js, Python, and Go projects. Includes the critical ECR login fix and EKS deployment patterns.

https://karandeepsingh.ca/posts/aws-codebuild-advanced-buildspec-guide/

Prompts · 4

research_topic

Search the blog for a topic, read the best matches, and synthesise a grounded answer with links.

quick_reference

Fetch the most relevant cheatsheet and summarise the commands or settings that answer a question.

compare_options

Use the blog's comparison articles to weigh two technologies against each other on cost and fit.

whats_new

Summarise the most recently published articles and what they cover.

How to use

Add to your Claude Desktop / Cursor / Cline MCP config:

{
  "mcpServers": {
    "io.github.karandaid/karandeepsingh-blog": {
      "url": "https://karandeepsingh.ca/mcp",
      "transport": "streamable-http"
    }
  }
}