Locks in Go - Mutex, RWMutex, and When to Use What

Posted on Wed 25 March 2026 in Programming • Tagged with Golang, Programming

In our concurrency post, we briefly touched on mutexes. But there's more to locking in Go than just sync.Mutex. Go gives you several synchronization primitives, each designed for a specific access pattern. Use the wrong one and you'll either have a race condition, a deadlock, or unnecessary contention killing …


Continue reading

Concurrency in Go - Goroutines, Channels, and Patterns That Actually Matter

Posted on Tue 24 March 2026 in Programming • Tagged with Golang, Programming

"Don't communicate by sharing memory; share memory by communicating." That's the Go proverb that took me a while to truly understand. When I came from a Python/Django background, concurrency meant threads, locks, and race conditions giving me nightmares. Go changed that for me. Not because concurrency is easy (it's …


Continue reading

Understanding Context in Go - The Right Way to Pass It Around

Posted on Mon 23 March 2026 in Programming • Tagged with Golang, Programming

If you've been writing Go for any amount of time, you've seen ctx context.Context as the first parameter in almost every function. When I first started with Go, I treated it like a formality - just pass it along and don't think about it. That's fine until your HTTP handler …


Continue reading

Few terms in C++

Posted on Sat 24 August 2019 in Programming

Howdy Coders!

Well, today we will learn about a few terms related to File Handling in C++.

Stream :- A sequence of bytes

File: A collection of data or information stored on some media with some specific name is called file.

Text File :- The file which stores data or information in …


Continue reading

What is Git Blame & it's usecases

Posted on Tue 06 February 2018 in Programming • Tagged with GitHub, Git

Git Logo

Git Blame

Have you ever wondered who touched a bunch of lines in this code last time? There have been lot of situations which can leave people baffled for a while to know who actually changed what. Blame labels each line in the code with the details of the last …


Continue reading