Blog refactor

Blog Refactor Finally, I went back and fixed a lot of old posts and old code entries. I tried to fix and repair links and images, but some are lost forever on some obscure WordPress blog which I used to use. I’m glad though that the code is intact and I could re-read a lot of my old stuff. It’s interesting to see how much I evolved, how much my writing evolved.

Reader's Digest 2021-04

Reader’s Digest I thought it would a cool idea if I kept a summary of the things I’ve read or listened to on a monthly basis. Here is April of 2021 so far. Enjoy. Invincible After seeing it air on Amazon Prime, I had to go and read the comic. It’s quite a lot, but I assure you it’s worth it. Some spoiler alerts… Okay, so we follow this guy, Mark Grayson.

Reader's Digest 2021-03

Reader’s Digest I thought it would a cool idea if I kept a summary of the things I’ve read or listened to on a monthly basis. Here is March of 2021 so far. Enjoy. The Aurora Database paper The paper about Aurora database from AWS can be found here: Paper. It details the design decision taken to support a highly available, fault tolerant, fast replicating database. They take the following approach… They modified mysql database such as that they only send around the redo log and the redo log is enough to recover / replicate in order to achieve write and read consistency.

Reader's Digest 2021-01

Reader’s Digest I thought it would a cool idea if I kept a summary of the things I’ve read or listened to on a monthly basis. Here is January of 2021 so far. Enjoy. All systems red - Murderbot This book is SHORT. It’s little over 3 hours of listening time. I’m listening at 1.30 so it’s just short of 2 hours. But it’s entertaining. The murderbot series is following a rouge security bot which hacked its own governor module and is self aware and free.

How to deploy a Go (Golang) backend with a React frontend separately on Kubernetes - Part One

Intro Welcome. This is a longer post about how to deploy a Go backend with a React frontend on Kubernetes as separate entities. Instead of the usual compiled together single binary Go application, we are going to separate the two. Why? Because usually a React frontend is just a “static” SPA app with very little requirements in terms of resources, while the Go backend does most of the leg work, requiring a lot more resources.

How to do a good code review

Intro Hi folks. This time, I would like to talk a little bit about code reviews. How do you do code reviews? Don’t hesitate to share it in the comments. How do I do code reviews? Well read on if you would like to know. The Top Down approach If I’m dealing with a small code change, a couple of lines here and there in the odd file first, I’ll try to understand why the review is there?

How to Make SPA refresh work with a Go backend

Intro Hi folks. Today I would like to share a quick “fix” for a problem I’ve seen popping up here and there. That is, if you have a react frontend which is a SPA app but you still want refresh to work. What do I mean by that? Consider the following… The problem You have a SPA app with a react router which navigates the user around. The app calls to a backend api which serves content of some kind.

Using a Kubernetes based Cluster for Various Services with auto HTTPS - Part 2

Intro Hi folks. This is a continuation of the previous post about my Kubernetes infrastructure located here. The two remaining points are to deploy Athens Go proxy and setting up monitoring. Athens Let’s start with Athens. First of all if you are a helm user, Athens has an awesome set of helm charts which you can use to deploy it in your cluster. Located here. I prefer to deploy my own config files, but that’s me.

How I killed my entire Kubernetes cluster

Intro One morning I woke up and tried to access my gitea just to find that it wasn’t running. I checked my cluster and found that the whole thing was dead as meat. I quickly jumped in and ran k get pods -A to see what’s going on. None of my services worked. What immediately struck my eye was a 100+ pods of my fork_updater cronjob. The fork_updater cronjob which runs once a month, looks like this: