Adding a responsive menu to your Hugo PaperMod blog
I have been using Hugo-PaperMod as a theme for quite some time. It is pretty lightweight and yet flexible. For the past 4-5 years, I have been working with this Hugo based blog and I have definitely learned a lot about the structure of a Hugo website and made several modifications to the original theme but just on my blog and shared about it earlier. There was one thing that I hadn’t done for quite sometime. Primarily because I really don’t have the time to keep modifying themes. I barely have time to write about things I want to write. But today I bit the bullet and decided that I was going to do it. This is partly because my wife was reviewing the latest Resume page that I added and she told me that the navigation had to be scrolled horizontally! And as someone who has built user friendly platforms most of my professional career, this hurt. So off to work I went. ...
Why your internal developer platform will fail
What is an internal developer platform? A suite of tools or applications, utilities or the likes that is tailored to the needs of developers of an organisation that enables them to build, deploy and manage software in an opinionated way that is often considered as the golden path to building and releasing a product to customers. Companies generally invest in these as they start to scale. They tend to realise the benefits which I think can be summarised as the following: ...
Managing life with a new born
Starting a family Three years ago, my wife and I decided to think about starting a family. The decision to start a family was not made like let’s do it. It was more of a reluctant, if it happens, it happens. Fast forward about 18-24 months, 2 miscarriages, and a lot of emotional roller coasters and pain, both physical and psychological, especially for my wife as I feel like women go through a lot compared to men during pregnancy, we finally had our baby. ...
The Hidden Dangers of Unconscious Bias: Understanding and Managing Implicit Prejudices
Introduction A recent conversation with my cousin, who was moving to London, highlighted a concerning issue: an unconscious bias that made him prejudiced. What did they say that made me feel concerned? “I am not racist but when I got out of the station, I noticed that it was mostly people of x community walking around. I didn’t feel safe at all.” This is unconscious bias in action. And as this bias made my cousin feel unsafe among a community of people of a race, and is therefore discriminating against a race, it is racism. The technical term for this particular bias is Perception bias. ...
Kubernetes for non-ops folks - Kubernetes Objects and manifests - an introduction
What are k8s objects? Objects in k8s are entities that k8s uses to represent the state of your cluster. They are used to describe: what applications are running on which nodes in the cluster what resources are available to those applications what policies exist around the behaviour of those applications Like I mentioned in the description of the control loop in Controller Manager, these object specs determine the desired state. How do I work with them? In order to work with k8s objects, you need to use the k8s API. You do this using the kubectl CLI. If you wish to programmatically interact with the API, you could use one of the k8s client libraries. ...
Kubernetes for non-ops folks - Nodes
Now that you know what the control plane and containers are, you must be wondering where they run on a k8s cluster. Your workload on K8s, runs on nodes. K8s places your containers into something called a pod and then that Pod runs on Nodes. Consider a node as a virtual or physical machine in your cluster, based on the type of cluster you manage. In a cluster, you generally have multiple nodes and each node may have 1 or more pods running on them. This is entirely up to the configuration of the containers. There may be cases where it is best for a couple of containers to run on the same pod, whereas in other circumstance, there maybe pods that must never run on the same node. We’ll look at the terminology of the configuration behind that later. ...
Kubernetes for non-ops folks - Containers
Let us look at some terms that people commonly use when describing or talking about Kubernetes. Kubernetes is used to run containerised applications. But not just one container, it often runs a distributed system. Such a system which has a main control plane that runs and orchestrates several containers on Kubernetes becomes a kubernetes cluster. But before we go further, let me avoid having to type the full word Kubernetes every single time and stick to the abbreviation, k8s. ...
Kubernetes for non-ops folks - Architecture
Let’s take a high level view of a k8s cluster, I’m borrowing a beautiful image from the official docs below. k8s cluster architecture Overview Notice that there is a Control Plane which comprises of several components that interact with things outside it - several nodes! The nodes outside the *control plane also seem to to have things running on them. The control plane This terminology is probably familiar to those coming from networking. ...
Kubernetes for non-ops folks - Introduction
Background If you have been reading this blog you probably already know that my career has primarily been on the development side and I have never really done much operations. I have worked in organisations where development and operations were completely separate and also in organisations where devs ran and operated the applications they developed. However, since December 2021, I embarked on a new adventure, one that was going to change my life forever. ...
Lack of product thinking - A rant
Warning ...