<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://gambitier.github.io/</id><title>Akash Jadhav</title><subtitle>Software Developer &amp; Technical Writer | Sharing insights on software architecture, development practices, and open-source contributions. Expert in Go, Docker, and clean architecture principles.</subtitle> <updated>2026-02-15T05:32:40+05:30</updated> <author> <name>Akash Jadhav</name> <uri>https://gambitier.github.io/</uri> </author><link rel="self" type="application/atom+xml" href="https://gambitier.github.io/feed.xml"/><link rel="alternate" type="text/html" hreflang="en" href="https://gambitier.github.io/"/> <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator> <rights> © 2026 Akash Jadhav </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry><title></title><link href="https://gambitier.github.io/posts/2026-02-15-understanding-goroutine-leaks/" rel="alternate" type="text/html" title="" /><published>2026-02-15T05:32:40+05:30</published> <updated>2026-02-15T05:32:24+05:30</updated> <id>https://gambitier.github.io/posts/2026-02-15-understanding-goroutine-leaks/</id> <content type="text/html" src="https://gambitier.github.io/posts/2026-02-15-understanding-goroutine-leaks/" /> <author> <name>Akash Jadhav</name> </author> <summary>Concurrency is one of the biggest strengths of Go. With a single go keyword, you can spin up lightweight concurrent workers called goroutines. But that simplicity comes with a hidden danger: Goroutine leaks. In this post, we’ll understand: What a goroutine leak is Why it happens so easily A real-world example How to prevent it How to detect leaks in tests What Is a Gorouti...</summary> </entry> <entry><title>The Hidden Cost of "Close Enough"</title><link href="https://gambitier.github.io/posts/the-hidden-cost-of-close-enough/" rel="alternate" type="text/html" title="The Hidden Cost of &amp;quot;Close Enough&amp;quot;" /><published>2025-10-11T00:00:00+05:30</published> <updated>2025-10-11T00:00:00+05:30</updated> <id>https://gambitier.github.io/posts/the-hidden-cost-of-close-enough/</id> <content type="text/html" src="https://gambitier.github.io/posts/the-hidden-cost-of-close-enough/" /> <author> <name>gambitier</name> </author> <category term="Software Architecture" /> <summary>How a seemingly perfect system was quietly burning through resources, and what it taught us about building resilient software. The Problem That Nobody Saw We had a thumbnail generation system that worked perfectly. Users were happy, images loaded fast, and everything seemed fine. But we were generating duplicate thumbnails for requests that were nearly identical to existing ones. The issue? ...</summary> </entry> <entry><title>Automating Go Package Version Management</title><link href="https://gambitier.github.io/posts/go-tag-automation/" rel="alternate" type="text/html" title="Automating Go Package Version Management" /><published>2025-09-28T00:00:00+05:30</published> <updated>2025-09-28T00:00:00+05:30</updated> <id>https://gambitier.github.io/posts/go-tag-automation/</id> <content type="text/html" src="https://gambitier.github.io/posts/go-tag-automation/" /> <author> <name>gambitier</name> </author> <category term="Software Development" /> <summary>Managing version tags across multiple Go repositories can be a tedious and error-prone task. After working with numerous Go projects, I found myself repeatedly performing the same manual steps: discovering packages, checking current tags, calculating new versions, and creating Git tags. This led me to build Tag Manager - a generic command-line utility that automates and streamlines the entire p...</summary> </entry> <entry><title>Efficient S3 Folder Deletion using Concurrent Processing</title><link href="https://gambitier.github.io/posts/efficient-s3-folder-deletion/" rel="alternate" type="text/html" title="Efficient S3 Folder Deletion using Concurrent Processing" /><published>2025-01-21T00:00:00+05:30</published> <updated>2025-01-22T18:23:39+05:30</updated> <id>https://gambitier.github.io/posts/efficient-s3-folder-deletion/</id> <content type="text/html" src="https://gambitier.github.io/posts/efficient-s3-folder-deletion/" /> <author> <name>gambitier</name> </author> <category term="Software Development" /> <summary>Managing large-scale deletions in Amazon S3 can be challenging, especially when dealing with folders containing thousands of objects. While AWS provides APIs for these operations, building an efficient solution requires careful consideration of concurrency, rate limits, and error handling. The Problem When working with S3, several challenges emerge when deleting folders: S3 doesn’t provid...</summary> </entry> <entry><title>Nginx and Docker: Simplifying Local Microservices</title><link href="https://gambitier.github.io/posts/nginx-docker-local-microservices/" rel="alternate" type="text/html" title="Nginx and Docker: Simplifying Local Microservices" /><published>2024-10-22T00:00:00+05:30</published> <updated>2024-10-22T00:00:00+05:30</updated> <id>https://gambitier.github.io/posts/nginx-docker-local-microservices/</id> <content type="text/html" src="https://gambitier.github.io/posts/nginx-docker-local-microservices/" /> <author> <name>gambitier</name> </author> <category term="Software Development" /> <summary>In a microservice architecture, you often have multiple services running on different ports. Accessing them often becomes cumbersome. With Nginx and Docker, you can proxy these services under one unified port and URL structure, making development easier to manage. This guide will show you how to set up Nginx with Docker to route multiple services through a single port—perfect for local microse...</summary> </entry> </feed>
