Today I learned about backup GUID partition tables. Let me explain how. I recently moved my virtualization setup at home to the newly released Minisforum MS-A2 . The experience so far has been solid, besides it being slightly noisier than I expected. As part of the move, I migrated all my VMs over to the new machine. When I ordered the MS-A2, I only got a single Lexar NM790 4TB drive initially as…
I joined Google in October 2022, so I’ve been here about a year and a half now. Looking back, what were my expectations coming into the job? The Initial Offer and Team Matching Let me rewind a bit. I signed the offer surprisingly early, back in March 2022. This was even before team matching, so I had no idea which team I’d end up on. Fortunately, the team matching process worked out…
It’s time for the yearly “Tech Infra at home” update. Feel free to take a look at the last posts from 2022 and 2020 on that topic. This one is reasonably short, let’s start with having a look at the device diagram: There are a number of important changes present: First and foremost, I got rid of the EdgeRouter-X. Ubiquiti stopped updating it and it couldn’t handle 700…
First, a bit of context: I run a side-project called Valar, which is kind of a cluster-scale systemd-socket-activation container engine. I’m currently focusing on performance improvements and one of my targets was the proxy component. It terminates TLS connections and hands the HTTP requests off to the respective handler. As I did some load testing, I ran into the fact that my proxy spend…
This is an update on a previous post on the technical infrastructure I run at home . This post will be similarly structured to its predecessor. I will start with giving a detailed description of the base network, continue with my storage setup and finish with compute. Tier I: Physical layout & network Router: Two years after my initial post I’m still happily using my EdgeRouter-X . It works…
Today I wondered what makes a good computing infrastructure setup? Of course, the context matters here. Does one measure good infrastructure in terms of “enterprise-grade” or prefer just a well working home setup? Or can one actually transfer ideas from enterprises to its smaller scale sister? Just to clarify: I will focus on the environment at home, since these kind of fast-moving…
A small disclaimer at the beginning: while I have some background in Java, I would never consider myself a superb Java developer. In the recent years I mainly opted for Go to get stuff done, maybe missing out on some of the more interesting programming language trends. This is the main reason I decided to learn Kotlin: dipping around in new concepts. I chose Kotlin because of the recent 2019 Stack…
In my last blog post I talked about setting up your own Kubernetes cluster at home. Since we don’t run our cluster on a big cloud platform, we have no access to comfortable tools like a built-in load balancer. Time to go ashore But, don’t despair! We can deploy our own load balancer using the Kubernetes Ingress object. It allows us to define routing rules and use a backend of our…
You may find yourself sitting at home, thinking about software and stuff and what to do with that spare PC of yours. I’ve got an idea: set up a single-node run-at-home Kubernetes cluster! We need a ship (or a whale) A little disclaimer to start with: the configuration here provides no recovery mechanisms since it is based on a single master node. If you want to set up a high availability…
In this post I will explain how to build a nice and working RESTful API for our weather service using only the Go standard library. If you missed the first part of this series , I recommend reading it before continuing here. You can find the codebase of this introductory series on GitHub . Extending the blueprint Well, we have a nice blueprint of the handlers we want, but shoving around global…
First of all, welcome to my first blog post. Today I want to help you build your first RESTful API in Golang! The first two sections will help you getting started with Go, you may be able to skip these steps. Installing the go command line tool Before you can start writing Go code, you need the go command line tool that bundles the compiler and a bunch of other development tools for you. Just…