"Software developer with a kaizen mindset"

Blog

Release Strategy

Saturday Nov 27, 2021

A while back I was trying to figure out how to automate releasing and versioning for one of my sideprojects. It is an api designed for use in jamstack and is written in golang. Here I’ll describe where I’ve ended up now.

My git cheatsheet

Friday Nov 26, 2021

These are the commands I generally use the most or ones that are very useful but don’t use frequent enough to remember.

Naming is a difficult thing to nail down as a developer. Most variables have to be clear both in technical as functional context. However as with most language the vocabulary may shift over time as the product/app develops. Old usages my be replaced, but forgotten to be refactored.

There are a few things I took from learning natural languages that gave me more tools to get to better names.

A couple days ago my kubernetes cluster broke after a system upgrade. Resulting in the cluster generating the errors below.

Ever felt like your team isn’t able to deliver the flexibility you would really like? You’ve put in a lot of time to make sure you’re resilient, you barely have down time, the agile process is highly optimized. Still the new feature requests are piling up and it is getting harder and harder to keep all the happy flows straight. It might be time to shift who your customer is and treat your services as a product instead of a bespoke software solution.

Securing k8s a little

Saturday May 8, 2021

After upgrading my cluster to 1.20.5 I had to move to the secure port and start to use authentication because of it. While I found a way to open everything up where it was easier to use (as a homelab) it is very insecure.

This post is to take a tiny step to securing the apiserver.

K8s Upgrade Master 1.20

Monday May 3, 2021

So it turned out upgrading my master from Fedora 33 to Fedora 34 (and thus from kubernetes 1.18 to 1.20) broke my master. Lets have a look at how to get it running again!

How I host my static website

Thursday Apr 29, 2021

I recently changed how I hosted my blog as my last solution turned out not very stable. As my site isn’t exactly a moneymaker it had to be a low cost solution with some security standards. I’m still a responsible developer after all or so I like to think.

My mental model for gitlab-ci

Wednesday Mar 31, 2021

Mental models always help me remember how different things work. While they’re just approximations of a (black box) system, they generally describe some internal workings on an abstract level to explain observed behaviour.

These are 4 principles I try to adhere to when designing and developing software systems. They’ve worked for me at different levels of abstraction and have enabled me to rapidly deploy even complex systems. Lets have a look at what those are and give them some context on why I think they’re important to keep in mind. #1 Agility Agility is not just a way of working. Your codebase, deployments, decision making and leadership needs to be agile too.