41554 blogs · [ { "id": "01a0d4b2-ddc6-70ec-9098-22cb00bbe54a", "title": "The EU AI Act for platform teams: the controls that land on infrastructure", "url": "https://vivekdhami.com/blog/eu-ai-act-controls-for-platform-teams/", "published_at": "2026-09-21T05:00:00+00:00" }, { "id": "01a0d4b2-ddc6-70ec-9098-22cb00e72729", "title": "Secrets for LLM applications: the Key Vault CSI pattern secures delivery, not the process that reads it", "url": "https://vivekdhami.com/blog/secrets-for-llm-applications-key-vault-csi-pattern/", "published_at": "2026-09-13T09:00:00+00:00" }, { "id": "01a08c5e-9bb1-7082-a08e-889875ccf513", "title": "Sandboxing coding agents in CI/CD: letting an agent open a PR without production credentials", "url": "https://vivekdhami.com/blog/sandboxing-coding-agents-in-cicd/", "published_at": "2026-09-07T09:00:00+00:00" }, { "id": "01a08c5e-9bb1-7082-a08e-8898769770d8", "title": "The AI gateway pattern: per-team metering and cost attribution for LLM traffic", "url": "https://vivekdhami.com/blog/ai-gateway-pattern-llm-cost-attribution/", "published_at": "2026-08-31T05:00:00+00:00" }, { "id": "01a08c5e-9bb1-7082-a08e-8898777159c6", "title": "GitOps for model serving: what breaks when your model doesn't fit in Git", "url": "https://vivekdhami.com/blog/gitops-model-serving-vllm-kserve-fluxcd/", "published_at": "2026-08-27T05:00:00+00:00" }, { "id": "01a08c5e-9bb1-7082-a08e-889877cdf08d", "title": "AKS GPU node pools: the five decisions that set your bill", "url": "https://vivekdhami.com/blog/aks-gpu-node-pool-cost-decisions/", "published_at": "2026-08-22T00:00:00+00:00" }, { "id": "01a08c5e-9bb1-7082-a08e-88987816e0d3", "title": "Terraform: Eliminating phantom diffs using ignore_changes and replace_triggered_by", "url": "https://vivekdhami.com/blog/terraform-eliminating-phantom-diffs-using-ignore-changes-and-replace-triggered-by/", "published_at": "2026-03-20T11:16:04+00:00" }, { "id": "01a08c5e-9bb1-7082-a08e-8898787ab005", "title": "Managing Terraform Phantom Diffs: A Practical Guide", "url": "https://vivekdhami.com/blog/managing-terraform-phantom-diffs-a-practical-guide/", "published_at": "2026-03-20T11:06:53+00:00" }, { "id": "01a08c5e-9bb1-7082-a08e-8898795d8b12", "title": "Understanding WASM and WASI: A complete guide", "url": "https://vivekdhami.com/blog/understanding-wasm-and-wasi-a-complete-guide/", "published_at": "2025-08-04T22:00:00+00:00" }, { "id": "01a08c5e-9bb1-7082-a08e-88987a4495fb", "title": "MicroVMs: the security-first alternative to containers", "url": "https://vivekdhami.com/blog/microvms-the-security-first-alternative-to-containers/", "published_at": "2025-05-05T22:00:00+00:00" }, { "id": "01a08c5e-9bb1-7082-a08e-88987abbf47a", "title": "Terraform state: The good, the bad, and the ugly", "url": "https://vivekdhami.com/blog/terraform-state-the-good-the-bad-and-the-ugly/", "published_at": "2024-09-03T22:00:00+00:00" }, { "id": "01a08c5e-9bb1-7082-a08e-88987b16829f", "title": "Managing Azure DevOps pipeline templates: patterns and best practices", "url": "https://vivekdhami.com/blog/managing-azure-devops-pipeline-templates-patterns-and-best-practices/", "published_at": "2024-04-14T22:00:00+00:00" }, { "id": "01a08c5e-9bb1-7082-a08e-88987b5ff056", "title": "Powershell: Custom prompt using oh-my-posh", "url": "https://vivekdhami.com/blog/ps-custom-prompt/", "published_at": "2023-11-15T09:09:13+00:00" }, { "id": "01a08c5e-9bb1-7082-a08e-88987c2e961b", "title": "Share WSL rootless Podman instance with Windows", "url": "https://vivekdhami.com/blog/share-wsl-rootless-podman-instance-with-windows/", "published_at": "2023-07-15T10:00:00+00:00" }, { "id": "01a08c5e-9bb1-7082-a08e-88987c3fc3a4", "title": "How Linux networking configuration evolved from ifconfig to systemd", "url": "https://vivekdhami.com/blog/how-linux-networking-configuration-evolved-from-ifconfig-to-systemd/", "published_at": "2023-05-16T22:00:00+00:00" }, { "id": "01a08c5e-9bb1-7082-a08e-88987d37b843", "title": "Git: Move files from one repo to another with history", "url": "https://vivekdhami.com/blog/git-move-repo-files-with-history/", "published_at": "2021-12-02T11:00:00+00:00" }, { "id": "01a08c5e-9bb1-7082-a08e-88987d9abf37", "title": "Azure Bicep: Pump up your azure deployments", "url": "https://vivekdhami.com/blog/az-bicep-intro/", "published_at": "2021-01-15T11:00:00+00:00" }, { "id": "01a08c5e-9bb1-7082-a08e-88987ddaff08", "title": "Setup a kubernetes cluster on raspberry pi/s using k3s", "url": "https://vivekdhami.com/blog/install-k3s-cluster-on-rpi/", "published_at": "2020-11-11T11:00:00+00:00" }, { "id": "01a08c5e-9bb1-7082-a08e-88987e80c2f6", "title": "Upgrade WSL/WSL2 Ubuntu version to 20.04 LTS", "url": "https://vivekdhami.com/blog/upgrade-wslwsl2-ubuntu-version-to-2004-lts/", "published_at": "2020-05-01T00:00:00+00:00" }, { "id": "01a08c5e-9bb1-7082-a08e-88987f68ca14", "title": "Kubernetes: Working with multiple contexts", "url": "https://vivekdhami.com/blog/kubernetes-working-with-multiple-contexts/", "published_at": "2019-02-02T00:00:00+00:00" }, { "id": "01a08c5e-9bb1-7082-a08e-88988025d658", "title": "Git: Sync fork with upstream changes", "url": "https://vivekdhami.com/blog/git-sync-fork-with-upstream-changes/", "published_at": "2013-03-07T00:00:00+00:00" }, { "id": "01a08c5e-9bb1-7082-a08e-88988056e11a", "title": "Git: Submodule Init and Update", "url": "https://vivekdhami.com/blog/git-submodule-init-and-update/", "published_at": "2013-02-02T00:00:00+00:00" }, { "id": "01a08c5e-9bb1-7082-a08e-889881295f65", "title": "MySQL–Restoring large database on windows", "url": "https://vivekdhami.com/blog/mysqlrestoring-large-database-on-windows/", "published_at": "2012-08-17T00:00:00+00:00" } ] posts Claim your blog
Back to vivekdhami.com
Blog · corpus.blog/blogs/vivekdhami.com/posts

vivekdhami.com

vivekdhami.com

2026

2025

2024

2023

2021

2020

2019

2013

2012