At a recent job interview I was asked to create an application that manipulated images, and allowed the user to move forward and backward through time, such that they could undo and redo changes to… 

The Go programming language lends itself well to the SOLID programming principles. They go so well together that it should be a prerequisite that those new to Go also learn SOLID as part of their… 

A common problem that Go developers come up against is how to process interfaces. They typically find themselves in a situation where their code has received an interface{} and it’s not clear that the interface… 

Goroutines are touted for being lightweight and cheap, in terms of memory usage. Let’s take a look at the argument and see if it withstands scrutiny. Before we look at Goroutine memory usage itself, we… 

Why is knowing the internals of the Go runtime so important? For that matter why is knowing Computer Science from the Silicon on up so important? First and foremost, knowing what’s going on underneath allows… 

One of the Go language’s selling points is its Goroutines. Goroutines are threads that are manufactured and managed in user-space. Goroutines are similar to Green Threads, but there is no need for a direct relationship… 

Threading in programming has a long history. A number of patterns have evolved over time, to help programmers share and control resources between threads. The Go Programming language implements a number of the classical patterns,…