Shift in the Software Development Paradigm: From Imperative Coding to Solution Architecture and the Economics of AIDec 18, 2025·7 min read
The most popular Go dependency is…testify! As you know, destination is not as important as the journey, so now that we got this out of the way, bear with me for the rest of this article, and I’ll give you the top 10, and many more stats 😊 You might even learn a few things along the ...Jan 24, 2026·9 min read
Go: Understanding Concurrency Internals and the Runtime SchedulerHere's where we started this book: Functions that run with go are called goroutines. The Go runtime juggles these goroutines and distributes them among operating system threads running on CPU cores. Compared to OS threads, goroutines are lightweight...Sep 14, 2024·11 min read
Go: Atomic Operations and Lock-Free Programming TechniquesSome concurrent operations don't require explicit synchronization. We can use these to create lock-free types and functions that are safe to use from multiple goroutines. Let's dive into the topic! Non-Atomic Increment Suppose multiple goroutines in...Aug 28, 2024·8 min read
Go: Using Context for Request Cancellation and Timeout ManagementIn programming, context refers to information about the environment in which an object exists or a function executes. In Go, context usually refers to the Context interface from the context package. It was originally designed to make working with HTT...Jul 3, 2024·11 min read
Go: Using Semaphores to Manage Concurrent ExecutionHaving the full power of multi-core hardware is great, but sometimes we prefer to limit concurrency in certain parts of a system. Semaphores are a great way to do this. Let's learn more about them! Mutex: One Goroutine at a Time Let's say our progra...Jun 12, 2024·11 min read
Go: Building Concurrent Data Processing PipelinesNow that we understand how to use goroutines and channels, let's explore how to combine them into concurrent pipelines for efficient data processing. Leaked Goroutines Consider a function that sends numbers within a specified range to a channel: fun...May 18, 2024·13 min read
Go: Preventing Data Races and Ensuring Thread-Safe AccessWhat happens if multiple goroutines modify the same data structure? Sadly, nothing good. Let's learn more about it. Concurrent Modification So far, our goroutines haven't gotten in each other's way. They've used channels to exchange data, which is s...Apr 25, 2024·11 min read