The idea of microservices is to have distinct applications that have specialised tasks. The tasks can be combined to satisfy the requirements of disparate requests. When there is a combination of microservices combined to satisfy… »
Closures in Go are a very simple device, they happen when a function exists within another function, and that inner function has access to a variable declared in the outer function (the inner function is… »
Having not seen my family for more than five years I decided that come rain, hail, or shine, I was going to see them this year. They live in Aotearoa/New Zealand, and I, of course,… »
Writing a Kafka consumer seems simple, subscribe to a topic, and consume messages as they appear. Unfortunately life’s not that simple, there’s a lot of things to take into account. Configuration Topics Kafka puts messages… »
I’ve been meaning to talk about this law for some time, and it was mentioned in an interview I was in recently so I thought that I should actually put a post together on this.… »
There are a great many times that different pieces of software need to have knowledge that other pieces of software have, whether it be separate systems, different modules, or different components. An example of this… »
I’m often loathe to blog about things I have read in a book, for fear of plagiarising, and not adding to the discourse, but something that I have read really needs to be shared more… »
I’ve been using kafka lately and this is a short post on a couple of the commands that I have used to get information from it when I am debugging. One thing to note, kafka… »
I’ve started reading Database Internals, a very interesting book about how a database systems actually work. Why? Apart from being interested in how a vital tool in Software Engineering is doing its job, a Backend… »
Disclaimer: This is a mad reckon, it’s based on observations over time as a SWE. A recent discussion with a friend (Hi Mark!) on social media inspired me to write this. There are multiple stages,… »
In the early 1980s Sun Microsystems slogan was “The Network is the Computer” (Cloudflare now owns the right to the trademark), and, as programmers, we now understand how true that is. Whether you’re a client… »
Documentation is like sex: when it is good, it is very, very good; and when it is bad, it is better than nothing. - Dick Brandon The Problem. One of the strangest things about the… »
In Domain Driven Design, a Bounded Context, which is “primarily a linguistic delimitation, that is to say that terms and sentences can mean different things, according to the context in which they are employed. This… »
I spent my Christmas break starting work on a tool that I want to use at work. The tool is a docker-compose like application, but intended to pass information to Podman. docker-compose (or as it’s… »
I’ve been relatively conservative when it comes to Go modules, as they came on to the scene there was the normal process where the change wasn’t 100% meeting expectations. One of those changes was being… »
It’s a common enough operation, the client needs to upload or download something, an image, video, audio file, to or from your service. But, the way that it is done (on the serverside) can have… »
Caches are a tool in the Software engineers’ toolbox that often cause confusion, just when should someone reach for the cache as a solution to their problem. Note: This is about when to use a… »
This isn’t a Go post really. In fact it’s not really a programming post either. What this post covers, though, is highly applicable to programming, in Go, or any other language. Debugging a program, in… »
Once upon a time there was a keyword that showed up in most programming languages - goto. It’s job was to send the Program counter to a different point in a program to be executed.… »