Golang Project Structure

Tutorials, tips and tricks for writing and structuring code in Go (with additional content for other programming languages)

Adding Elements to a Slice

This post will discuss the various ways to add elements to a slice. Appending an element adds it to the end of the slice, whereas prepending it adds it to the beginning of a slice. It is also, of course, possible to add an element at any position in between. We will finish by looking […]

How to Pixelate Images in Go

When an image is pixelated, it has a visual effect applied to reduce its level of detail through the use of many same-sized blocks, each painted with a single colour. Each of those blocks can be thought of as a large pixel (since a pixel is the smallest unit that can contain a colour in […]

Ways to Work Out the Average Colour of an Image

It’s reasonable to look at a picture and to wonder how it might look if it were distilled down into a single colour, which somehow still encapsulates a sense of the original. In this post, we will look at various methods that can be used to calculate the average colour of an image in Go, […]

Some Findings From the 2021 Go Developer Survey

For the past six years, Google has run an annual Go Developer Survey in order to understand more about what the community thinks and how it feels about recent changes to the language. The survey also helps to keep us informed about any problems or concerns that have arisen and gives us an opportunity to […]

What Is Conway’s Game of Life?

This post will discuss the Game of Life, which is: a zero-player game, famous in the history of computing; a cellular automaton; a deterministic system that follows a simple ruleset; a creation of the British mathematician John Conway. Don’t worry if you don’t entirely understand what all those terms mean, because we’re going to go […]

Removing Elements From a Slice

I’ve written in the past about how to reverse the order of all the elements in a slice, but today I’m going to discuss some of the ways that elements can be removed — in other words, deleted — from a slice in Go. When looking at the various ways to remove one or more […]

Basic NLP (Natural Language Processing) With Prose

No matter how many programming languages you learn, you will almost certainly never know them as well and as instinctively as your natural language. Even though it may not always seem to be the case when you’re dealing with a difficult programming problem, the English language is much more complicated than Golang: its vocabulary is […]

Lux Makes Downloading Videos Extremely Easy

Have you ever been watching a video and wanted to download it, so you can watch it again offline or on another device? I’m going to show you something that should be able to help you do just that: Lux is a really handy little command-line application that has been built in Go and it […]