My Programming Escapades
Andraz Bajt
Trying out Microk8s
In another “running kuberets” flavoured post I’ll be trying out microk8s High availability K8s. Low-ops, minimal production Kubernetes, for devs, cloud, clusters, workstations, Edge and IoT. In the past I’ve been using k3s for small (mostly single node) “clusters”. The pitch is very similar. The few differences I can point out now are: microk8s is a bit heavier - I don’t think it will run on 1G vps, let’s try it out microk8s has a better HA story - definately want to try this out k3s comes as a single “run everywhere” binary whereas microk8s requires snap Setting up I’ll be using Hetzner Cloud to provision a few small VMs for my laboratory.
Trying out Rancher
This time it’s a bit different: this post has very little code and a lot of screenshots as I was primarily working with a GUI. Reading about (and working with) K3s is almost impossible to not hear about Rancher - the company behind K3s. But what had me slightly confused is their primary product: Rancher (the software). The web page says Managed Kubernetes Cluster Operations but that doesn’t really tell me much.
Trying out Okteto Cloud
This is a part two of Trying out Okteto. I’ll be trying out - “The Kubernetes development platform”. At a first glance it looks like a hosted kubernetes solution + the CLI tool I already tested + some bells and whistles. Let’s find out what those are. First impressions Login with github. Boom I’m in, no extra sign up required. Big thumbs up. Looks like I got a managed namespace with 8G ram, 4cpus and 5G storage.
Trying out Okteto (CLI)
Today I’ll be giving Okteto a spin. From the docs Okteto: Tool to Develop Applications on Kubernetes Or my personal pitch: Okteto delivers on the “my other computer is the cloud” trope What does this mean? First of all: there is a distinction between Okteto Cloud & Okteto Enterprise: this is a server side solution that provides managed k8s namespaces, CD and other bells and whistles - will look into this in the future okteto - the tool: open source client to work with Okteto Cloud & Okteto Enterprise - but the core functionality works with any k8s cluster.
Trying out Buffalo
I’m trying out a new concept: my “I should check this out” list of tools and technologies has grown quite a bit so I got the idea that I could do short write ups of my experimentation and first impressions to give myself motivation to try these things out. Will see how this turns out, hopefully this will turn out a series :) Today I’ll be trying out Buffalo - a Go web framework.
Attaching your local machine to a Kubernetes cluster
Why on earth would you want to do that?! You may have a legitimate reason like pooling spare compute capacity. Oooooor you’re just goofing around in order to understand things. Like me. Specifically I was playing with telepresence (a “VPN into the cluster”) and a had an idea: why not just run a part of the cluster locally. Then you can interact with the containers and containers can interact with your host (host port, host path etc), no magic required.
Surprising ease of gaming on Linux in 2020
During the quarantine my hobbies (and I imagine many others') shifted to more indoors ones - possibly sedentary. Among other things I also started gaming after a hiatus of many years. But as you can probably imagine gaming on a 13" laptop with integrated graphics is not the most gratifying of experiences. So I got myself a desktop with a proper graphics card. And now comes the interesting part: since all the games I originally planned on playing have Linux support I decided to skip buying a copy of Windows and copy my laptop NixOS config and extend it as needed.
Rename rebase with git
Want to perform a git rebase in which you rename a file without pesky conflicts? tl;dr git filter-branch -f --tree-filter "git mv ORIGINAL_FILE_NAME NEW_FILE_NAME || true" -- $(git merge-base origin/master HEAD)..HEAD git rebase origin/master Ever wanted to rename a file you created/modified in a pull request but also wanted to keep the pristine history you worked hard for? Well tough luck you can either push a new commit to rename it (and keep old commits with the old file name) or resolve a bunch of pointless conflicts.
Moving to Hugo
If you’ve been here before you might notice the site looks different. Indeed I moved my content to yet another platform (first it was blogspot -> hakyll). I wanted to publish something but I ran into issues: my toolchain did not work. See, I’ve been doing less Haskell on my machine lately and negligence led into my setup rotting (as I did upgrade my machine quite a bit). Truth be told the infrastructure was not designed to last the test of time.
Linear time sorting
Did you know that you can sort data in time linear with respect to the lenght of said data? Some people dismiss linear time sorts because they’ve learned that n log n is the bottom bound for sorting an arbitrary input. But n log n is optimal!? Let’s even sketch out a proof. Any function that sorts an array of elements will in fact figure out a permutation of elements into a sorted order.