The wonders of git
I’ve been wanting to write about git for a very long time. It’s a tool used for managing versions of software (but it can be used for other things). One of the reasons that I… »
I’ve been wanting to write about git for a very long time. It’s a tool used for managing versions of software (but it can be used for other things). One of the reasons that I… »
A static site is one where there is no server side computation required, no database lookups, just ask for a resource by name, and get it back. You can do client side computations with javascript,… »
A discussion came up on IRC today, someone was asking why a query was being done the way it was, by Postgres. The person had looked at the explain function of Postgres for a given… »
The layout of a Go application on disk is a question that almost everyone asks when starting out. It’s a fair question - there’s no scaffolding that’s widely used, there was no guidelines for people… »
There are tasks that need to take place within your cluster on an ad hoc basis. These tasks tend to have short lifetimes, an example might be “updating the schema in a database”. Kubernetes offers… »
I’m writing a lot of yaml files at the moment, mostly manifests for kubernetes. Part of that task involves substituting variables into the yaml, because they change depending on the environment. As an example, this… »
After writing a few million scripts over the years,I’ve learnt a thing or two (I hope). One of those things is how painful it is to wait for some condition before continuing with the next… »
When faced with a cluster that’s not doing what you expect it do, what should you do to find out why it’s not behaving? Assuming that you have (tried to) configured your cluster to be… »
This post is mainly about instrumenting tracing in distributed systems with OpenTelemetry. Before we get to that we need to understand what constitutes an observable system. Observable systems have three ‘pillars’ of observability: Logs Traces… »
EDIT: I’ve discovered this morning that, in fact, the issue still exists. I suspect a bug in the VCS code for Go, and have raised an issue (Although the issue bot gnome has misread what… »
Go templates are a great way to build dynamic text or html with Go programs. They are very much like Jinja templates, but they come with a serious shortcoming, they are loaded at runtime, rather… »
Every so often, in one forum, or another, the subject of benign data races comes up. People want to know if a data race absolutely must have synchronisation guards applied (mutexes, semaphores, etc). For those… »
I am building a tool that requires a great deal of state management on the client side. After all of 30 seconds of research I decided to use Redux for state management. (For the record,… »
I’ve been a fan of i3wm for some time, tiling window managers are a lot cleaner than stacking window managers. I love being able to start an application and preset how much real estate it… »
After a dive into learning Kubernetes I am at that magical point where i am hugely confident with it, but still have a lot to learn :) Understanding Kubernetes is surprisingly easy, it consists of… »
What is a Service? Pods in Kubernetes are ephemeral. They are assigned an IP address at start up, but when they die or are removed, and are replaced they get a new IP address, which… »
What is a stateful application? Any application that stores data to keep track of its state. A database, for example. Stateless applications, on the other hand, do not store their state. Each new request they… »
Keep in mind that Kubernetes does not manage the storage itself, just access. Persistent Volume For things like Databases, persistence, with Kubernetes has a few requirements. Pod storage “dies” when the pod dies, so ‘persistent’… »
Helm is a: Package manager for Kubernetes (the YAML configuration files). A bundle of YAML files is called a “Helm chart” Think of this as a dockerfile manager There are Public and Private repositories You… »
Congratulations on building a fancy new thing, it’s brilliant, now it needs to be put somewhere so the rest of the world can enjoy it too. There is one thing that you need to be… »