<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Shivam Kumar — Blogs</title><link>https://shivamkumar.me/blogs/</link><description>Technical articles and learnings on Go, backend engineering, databases, and full-stack development.</description><language>en</language><atom:link href="https://shivamkumar.me/blogs/feed.xml" rel="self" type="application/rss+xml"/><item><title>Understanding Structs and JSON in Go: A Practical Guide with Examples</title><link>https://shivamkumar.me/blogs/understanding-structs-and-json-in-go-a-practical-guide-with-examples/</link><guid isPermaLink="true">https://shivamkumar.me/blogs/understanding-structs-and-json-in-go-a-practical-guide-with-examples/</guid><pubDate>Thu, 08 Oct 2026 20:03:51 GMT</pubDate><description>A practical guide to Go structs, pointers, struct tags, JSON encoding and decoding, and common serialization mistakes.</description><category>Go</category><category>Struct Tag</category><category>Json</category><category>Struct</category></item><item><title>Understanding Closures in Go: Scope, Lifetime, State, and the Loop Variable Gotcha</title><link>https://shivamkumar.me/blogs/understanding-closures-in-go-scope-lifetime-state-and-the-loop-variable-gotcha/</link><guid isPermaLink="true">https://shivamkumar.me/blogs/understanding-closures-in-go-scope-lifetime-state-and-the-loop-variable-gotcha/</guid><pubDate>Mon, 05 Oct 2026 07:11:59 GMT</pubDate><description>Understand Go closures through scope, lifetime, captured state, and the loop variable behavior that can cause subtle bugs.</description><category>Go</category><category>Closure</category><category>Function</category></item><item><title>Understanding Functions in Go: Parameters, Slices, Maps, Recursion, and defer</title><link>https://shivamkumar.me/blogs/understanding-functions-in-go-parameters-slices-maps-recursion-and-defer/</link><guid isPermaLink="true">https://shivamkumar.me/blogs/understanding-functions-in-go-parameters-slices-maps-recursion-and-defer/</guid><pubDate>Sun, 04 Oct 2026 08:55:55 GMT</pubDate><description>Explore how Go functions handle parameters, slices, maps, recursion, and defer, with examples of copying and shared state.</description><category>Go</category><category>Function</category><category>Defer</category></item><item><title>Understanding Maps in Go: Key-Value Pairs, Nil Maps, and the Comma-OK Idiom</title><link>https://shivamkumar.me/blogs/understanding-maps-in-go-key-value-pairs-nil-maps-and-the-comma-ok-idiom/</link><guid isPermaLink="true">https://shivamkumar.me/blogs/understanding-maps-in-go-key-value-pairs-nil-maps-and-the-comma-ok-idiom/</guid><pubDate>Wed, 30 Sep 2026 10:07:12 GMT</pubDate><description>Learn Go maps, key-value pairs, nil maps, initialization, iteration, and the comma-OK idiom through practical examples.</description><category>Go</category><category>Maps</category><category>Fundamentals</category></item><item><title>Understanding Arrays and Slices in Go: Memory, Copying, and Capacity</title><link>https://shivamkumar.me/blogs/understanding-arrays-and-slices-in-go-memory-copying-and-capacity/</link><guid isPermaLink="true">https://shivamkumar.me/blogs/understanding-arrays-and-slices-in-go-memory-copying-and-capacity/</guid><pubDate>Tue, 29 Sep 2026 11:37:36 GMT</pubDate><description>Understand Go arrays and slices through their memory layout, copying behavior, length, capacity, and shared backing arrays.</description><category>Arrays</category><category>Slices</category><category>Go</category></item><item><title>Understanding Strings in Go: Bytes, Runes, UTF-8, and Immutability</title><link>https://shivamkumar.me/blogs/understanding-strings-in-go-bytes-runes-utf-8-and-immutability/</link><guid isPermaLink="true">https://shivamkumar.me/blogs/understanding-strings-in-go-bytes-runes-utf-8-and-immutability/</guid><pubDate>Mon, 28 Sep 2026 15:45:49 GMT</pubDate><description>Explore strings in Go: bytes, runes, UTF-8, immutability, and the practical details of working with Unicode text.</description><category>String</category><category>Go</category><category>Runes</category></item><item><title>Access Tokens Expire. So How Do Users Stay Logged In?</title><link>https://shivamkumar.me/blogs/access-tokens-expire-so-how-do-users-stay-logged-in/</link><guid isPermaLink="true">https://shivamkumar.me/blogs/access-tokens-expire-so-how-do-users-stay-logged-in/</guid><pubDate>Wed, 23 Sep 2026 17:27:02 GMT</pubDate><description>Understand how access tokens, refresh tokens, rotation, and server-side session state work together to keep users logged in.</description><category>Refresh Token</category><category>JWT</category><category>Session Management</category><category>Authentication</category></item><item><title>JEV: The AI Model That Doesn’t Want to Be Your LLM</title><link>https://shivamkumar.me/blogs/jev-the-ai-model-that-doesnt-want-to-be-your-llm/</link><guid isPermaLink="true">https://shivamkumar.me/blogs/jev-the-ai-model-that-doesnt-want-to-be-your-llm/</guid><pubDate>Tue, 22 Sep 2026 04:11:21 GMT</pubDate><description>Explore JEV and the idea of giving AI agents a world model alongside language models for reasoning about actions and state.</description><category>Ai Agent</category><category>JEV</category><category>LLMs</category><category>AI</category></item><item><title>Docker Networking Explained: Why Do We Need a Custom Network?</title><link>https://shivamkumar.me/blogs/docker-networking-explained-why-do-we-need-a-custom-network/</link><guid isPermaLink="true">https://shivamkumar.me/blogs/docker-networking-explained-why-do-we-need-a-custom-network/</guid><pubDate>Wed, 16 Sep 2026 04:55:52 GMT</pubDate><description>A practical explanation of Docker networking, container isolation, service discovery, and why custom networks are useful.</description><category>DevOps</category><category>Docker</category><category>Containers</category><category>Docker Networking</category></item><item><title>Kubernetes Isn’t Hard. You’re Probably Learning It Backwards.</title><link>https://shivamkumar.me/blogs/kubernetes-isnt-hard-you-re-probably-learning-it-backwards/</link><guid isPermaLink="true">https://shivamkumar.me/blogs/kubernetes-isnt-hard-you-re-probably-learning-it-backwards/</guid><pubDate>Sun, 13 Sep 2026 11:44:41 GMT</pubDate><description>Build a mental model of Kubernetes, Amazon EKS, worker nodes, IAM, networking, and scaling before memorizing commands.</description><category>Kubernetes</category><category>Kubernetes Cluster</category><category>AWS EKS</category></item><item><title>Understanding Dockerfiles: FROM, RUN, COPY, ENV and CMD</title><link>https://shivamkumar.me/blogs/understanding-dockerfiles-from-run-copy-env-and-cmd/</link><guid isPermaLink="true">https://shivamkumar.me/blogs/understanding-dockerfiles-from-run-copy-env-and-cmd/</guid><pubDate>Wed, 09 Sep 2026 18:30:00 GMT</pubDate><description>Understand Dockerfile instructions FROM, RUN, COPY, ENV, and CMD, and how image construction differs from container startup.</description><category>Dockerfiles</category><category>Docker</category><category>Cloud</category><category>CI/CD</category></item><item><title>Understanding GitHub Actions Workflow YAML: A Beginner’s Guide</title><link>https://shivamkumar.me/blogs/understanding-github-actions-workflow-yaml-a-beginners-guide/</link><guid isPermaLink="true">https://shivamkumar.me/blogs/understanding-github-actions-workflow-yaml-a-beginners-guide/</guid><pubDate>Mon, 07 Sep 2026 18:30:00 GMT</pubDate><description>Learn to read GitHub Actions workflow YAML: events, jobs, runners, steps, actions, and the structure behind CI/CD pipelines.</description><category>GitHub Actions</category><category>CI/CD</category><category>YAML</category></item><item><title>What I Learned About YAML: The Basics Every DevOps Beginner Should Know</title><link>https://shivamkumar.me/blogs/what-i-learned-about-yaml-the-basics-every-devops-beginner-should-know/</link><guid isPermaLink="true">https://shivamkumar.me/blogs/what-i-learned-about-yaml-the-basics-every-devops-beginner-should-know/</guid><pubDate>Mon, 07 Sep 2026 18:30:00 GMT</pubDate><description>Learn the YAML basics used in DevOps, including key-value pairs, indentation, lists, nested structures, and common mistakes.</description><category>DevOps</category><category>Yaml Basic</category><category>Kubernetes</category><category>Docker</category><category>Cloud Native</category></item><item><title>What I Learned About Managing Production Secrets with AWS</title><link>https://shivamkumar.me/blogs/what-i-learned-about-managing-production-secrets-with-aws/</link><guid isPermaLink="true">https://shivamkumar.me/blogs/what-i-learned-about-managing-production-secrets-with-aws/</guid><pubDate>Sat, 05 Sep 2026 18:30:00 GMT</pubDate><description>Lessons from managing production configuration and secrets with AWS, separating application settings from sensitive values.</description><category>Aws Secrets Manager</category><category>Aws</category><category>Github Actions</category><category>Jq</category><category>Aws Ecr</category></item><item><title>I Replaced AWS Access Keys in GitHub Actions With OIDC</title><link>https://shivamkumar.me/blogs/i-replaced-aws-access-keys-in-github-actions-with-oidc/</link><guid isPermaLink="true">https://shivamkumar.me/blogs/i-replaced-aws-access-keys-in-github-actions-with-oidc/</guid><pubDate>Wed, 02 Sep 2026 18:30:00 GMT</pubDate><description>A walkthrough of replacing long-lived AWS access keys in GitHub Actions with OIDC and temporary deployment credentials.</description><category>Openid Connect</category><category>Oidc Authentication</category><category>Aws</category><category>Github Actions</category><category>Github</category></item><item><title>Your Docker Container Is Running. So Why Can’t Your App Connect to the Database?</title><link>https://shivamkumar.me/blogs/your-docker-container-is-running-so-why-cant-your-app-connect-to-the-database/</link><guid isPermaLink="true">https://shivamkumar.me/blogs/your-docker-container-is-running-so-why-cant-your-app-connect-to-the-database/</guid><pubDate>Tue, 01 Sep 2026 18:30:00 GMT</pubDate><description>Understand service readiness, healthchecks, and depends_on in Docker Compose when an app starts before its database is ready.</description><category>Docker Compose</category><category>Control Startup</category></item><item><title>Why SOLID Principles Changed the Way I Write Code</title><link>https://shivamkumar.me/blogs/why-solid-principles-changed-the-way-i-write-code/</link><guid isPermaLink="true">https://shivamkumar.me/blogs/why-solid-principles-changed-the-way-i-write-code/</guid><pubDate>Fri, 07 Aug 2026 18:30:00 GMT</pubDate><description>A practical look at SOLID principles and how they help organize responsibilities, dependencies, and maintainable application code.</description><category>Solid Principles</category><category>Scalability</category><category>Code Maintainability</category><category>Code Reusability</category><category>Clean Code</category></item><item><title>Understanding Linux Starts with the Big Picture</title><link>https://shivamkumar.me/blogs/understanding-linux-starts-with-the-big-picture/</link><guid isPermaLink="true">https://shivamkumar.me/blogs/understanding-linux-starts-with-the-big-picture/</guid><pubDate>Mon, 13 Jul 2026 18:30:00 GMT</pubDate><description>Understand Linux through the relationship between applications, user space, the kernel, system calls, and hardware.</description><category>Linux</category><category>Fundamentals</category><category>Introduction</category></item></channel></rss>
