summaryrefslogtreecommitdiff
path: root/gemfeed
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-01-01 12:36:33 +0200
committerPaul Buetow <paul@buetow.org>2025-01-01 12:36:33 +0200
commit18b32f7cd29df2f987e091e12674c68243dd5e20 (patch)
tree0a2524e02f337e019da134e60dc028b03625ef66 /gemfeed
parent30c91712524f5faf3fa625cf99409cb2b9de6005 (diff)
add draft for part 3
Diffstat (limited to 'gemfeed')
-rw-r--r--gemfeed/DRAFT-f3s-kubernetes-with-freebsd-bhyve.gmi.tpl117
-rw-r--r--gemfeed/DRAFT-f3s-kubernetes-with-freebsd-hardware-setup.gmi41
-rw-r--r--gemfeed/DRAFT-f3s-kubernetes-with-freebsd-hardware-setup.gmi.tpl32
-rw-r--r--gemfeed/DRAFT-summary-for-202410-202411-202410.gmi311
4 files changed, 117 insertions, 384 deletions
diff --git a/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-bhyve.gmi.tpl b/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-bhyve.gmi.tpl
new file mode 100644
index 00000000..66184ca7
--- /dev/null
+++ b/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-bhyve.gmi.tpl
@@ -0,0 +1,117 @@
+# f3s: Kubernetes with FreeBSD - Rocky Linux Bhyve VMs - Part 3
+
+This is the third blog post about my f3s series for my self-hosting demands in my home lab. f3s? The "f" stands for FreeBSD, and the "3s" stands for k3s, the Kubernetes distribution we will use on FreeBSD-based physical machines.
+
+<< template::inline::index f3s-kubernetes-with-freebsd-part
+
+=> ./f3s-kubernetes-with-frhyveeebsd-part-1/f3slogo.png f3s logo
+
+<< template::inline::toc
+
+## Introduction
+
+In this blog post, we are going to install the Bhyve hypervisor.
+
+The FreeBSD Bhyve hypervisor is a lightweight, modern hypervisor that enables virtualization on FreeBSD systems. Bhyve's strengths include its minimal overhead, which allows it to achieve near-native performance for virtual machines. It is designed to be efficient and lightweight, leveraging the capabilities of the FreeBSD operating system for performance and network management.
+
+Bhyve supports running a variety of guest operating systems, including FreeBSD, Linux, and Windows, on hardware platforms that support hardware virtualization extensions (such as Intel VT-x or AMD-V). In our case, we are going to virtualize Rocky Linux, which later on in this series will be used to run k3s.
+
+## Basic Bhyve setup
+
+For the management of the Bhyve VMs, we are using `vm-bhyve`, a tool not part of the FreeBSD operating system but available as a ready-to-use package. It eases VM management and reduces a lot of the overhead. We also install the required package to make Bhyve work with the UEFI firmware.
+
+=> https://github.com/churchers/vm-bhyve
+
+The following commands are executed on all three hosts `f0`, `f1`, and `f2`, where `re0` is the name of the Ethernet interface (which may need to be adjusted if your hardware is different):
+
+```sh
+paul@f2:~ % doas pkg install vm-bhyve bhyve-firmware
+paul@f2:~ % doas sysrc vm_enable=YES
+vm_enable: -> YES
+paul@f2:~ % doas sysrc vm_dir=zfs:zroot/bhyve
+vm_dir: -> zfs:zroot/bhyve
+paul@f2:~ % doas zfs create zroot/bhyve
+paul@f2:~ % doas vm init
+paul@f2:~ % doas vm create public
+paul@f2:~ % doas vm switch add public re0
+```
+
+Bhyve stores all it's data in the `/bhyve` of the `zroot` ZFS pool:
+
+```sh
+paul@f2:~ % zfs list | grep bhyve
+zroot/bhyve 1.74M 453G 1.74M /zroot/bhyve
+```
+
+For convenience, we also create this symlink:
+
+```sh
+paul@f2:~ % doas ln -s /zroot/bhyve/ /bhyve
+
+```
+
+Now, Bhyve is ready to rumble, but no VMs are there yet:
+
+```sh
+paul@f2:~ % doas vm list
+NAME DATASTORE LOADER CPU MEMORY VNC AUTO STATE
+```
+
+## Rocky Linux VMs
+
+### ISO download
+
+We're going to install the Rocky Linux from the latest minimal iso:
+
+```sh
+paul@f2:~ % doas vm iso \
+ https://download.rockylinux.org/pub/rocky/9/isos/x86_64/Rocky-9.5-x86_64-minimal.iso
+/zroot/bhyve/.iso/Rocky-9.5-x86_64-minimal.iso 1808 MB 4780 kBps 06m28s
+paul@f2:/bhyve % doas vm create rocky
+```
+### VM configuration
+
+The default configuration looks like this now:
+
+```sh
+paul@f2:/bhyve/rocky % cat rocky.conf
+loader="bhyveload"
+cpu=1
+memory=256M
+network0_type="virtio-net"
+network0_switch="public"
+disk0_type="virtio-blk"
+disk0_name="disk0.img"
+uuid="1c4655ac-c828-11ef-a920-e8ff1ed71ca0"
+network0_mac="58:9c:fc:0d:13:3f"
+```
+
+but in order to make Rocky Linux boot, it...
+
+### VM installation
+
+```sh
+paul@f2:~ % doas vm install rocky Rocky-9.5-x86_64-minimal.iso
+Starting rocky
+ * found guest in /zroot/bhyve/rocky
+ * booting...
+
+paul@f0:/bhyve/rocky % doas vm list
+NAME DATASTORE LOADER CPU MEMORY VNC AUTO STATE
+rocky default uefi 4 14G 0.0.0.0:5900 No Locked (f0.lan.buetow.org)
+
+paul@f0:/bhyve/rocky % doas sockstat -4 | grep 5900
+root bhyve 6079 8 tcp4 *:5900 *:*
+```
+
+Port 5900 is now also open for VNC connections, so we connect to it with a VNC client and run through the installation dialogs. I'm sure this could be done unattended or more automated, but we have only 3 VMs to install, and the automation doesn't seem worth it as we are doing it only once.
+
+
+
+Other *BSD-related posts:
+
+<< template::inline::index bsd
+
+E-Mail your comments to `paul@nospam.buetow.org` :-)
+
+=> ../ Back to the main site
diff --git a/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-hardware-setup.gmi b/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-hardware-setup.gmi
deleted file mode 100644
index f96cd65f..00000000
--- a/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-hardware-setup.gmi
+++ /dev/null
@@ -1,41 +0,0 @@
-# f3s: Kubernetes with FreeBSD - Setting the stage - Part 1
-
-> Published at 2024-11-16T23:20:14+02:00
-
-This is the second blog post about my f3s series for my self-hosting demands in my home lab. f3s? The "f" stands for FreeBSD, and the "3s" stands for k3s, the Kubernetes distribution I will use on FreeBSD-based physical machines.
-
-I will post a new entry every month or so (there are too many other side projects for more frequent updates—I bet you can understand).
-
-=> ./2024-11-17-f3s-kubernetes-with-freebsd-part-1.gmi 2024-11-17 f3s: Kubernetes with FreeBSD - Part 1: Setting the stage
-=> ./2024-12-03-f3s-kubernetes-with-freebsd-part-2.gmi 2024-12-03 f3s: Kubernetes with FreeBSD - Part 2: Hardware and base installation
-
-=> ./f3s-kubernetes-with-freebsd-part-1/f3slogo.png f3s logo
-
-Let's begin...
-
-## Table of Contents
-
-* ⇢ f3s: Kubernetes with FreeBSD - Setting the stage - Part 1
-
-##
-
-Hardware + photos + basic unpacking
-Base os insallation (FreeBSD)
-* static IPs
-* utimed
-* bhyve setup
-* minimal rocky linux installs, with staic IPs
-
-Other *BSD-related posts:
-
-=> ./2016-04-09-jails-and-zfs-on-freebsd-with-puppet.gmi 2016-04-09 Jails and ZFS with Puppet on FreeBSD
-=> ./2022-07-30-lets-encrypt-with-openbsd-and-rex.gmi 2022-07-30 Let's Encrypt with OpenBSD and Rex
-=> ./2022-10-30-installing-dtail-on-openbsd.gmi 2022-10-30 Installing DTail on OpenBSD
-=> ./2024-01-13-one-reason-why-i-love-openbsd.gmi 2024-01-13 One reason why I love OpenBSD
-=> ./2024-04-01-KISS-high-availability-with-OpenBSD.gmi 2024-04-01 KISS high-availability with OpenBSD
-=> ./2024-11-17-f3s-kubernetes-with-freebsd-part-1.gmi 2024-11-17 f3s: Kubernetes with FreeBSD - Part 1: Setting the stage
-=> ./2024-12-03-f3s-kubernetes-with-freebsd-part-2.gmi 2024-12-03 f3s: Kubernetes with FreeBSD - Part 2: Hardware and base installation
-
-E-Mail your comments to `paul@nospam.buetow.org` :-)
-
-=> ../ Back to the main site
diff --git a/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-hardware-setup.gmi.tpl b/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-hardware-setup.gmi.tpl
deleted file mode 100644
index 949a4d08..00000000
--- a/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-hardware-setup.gmi.tpl
+++ /dev/null
@@ -1,32 +0,0 @@
-# f3s: Kubernetes with FreeBSD - Setting the stage - Part 1
-
-> Published at 2024-11-16T23:20:14+02:00
-
-This is the second blog post about my f3s series for my self-hosting demands in my home lab. f3s? The "f" stands for FreeBSD, and the "3s" stands for k3s, the Kubernetes distribution I will use on FreeBSD-based physical machines.
-
-I will post a new entry every month or so (there are too many other side projects for more frequent updates—I bet you can understand).
-
-<< template::inline::index f3s-kubernetes-with-freebsd-part
-
-=> ./f3s-kubernetes-with-freebsd-part-1/f3slogo.png f3s logo
-
-Let's begin...
-
-<< template::inline::toc
-
-##
-
-Hardware + photos + basic unpacking
-Base os insallation (FreeBSD)
-* static IPs
-* utimed
-* bhyve setup
-* minimal rocky linux installs, with staic IPs
-
-Other *BSD-related posts:
-
-<< template::inline::index bsd
-
-E-Mail your comments to `paul@nospam.buetow.org` :-)
-
-=> ../ Back to the main site
diff --git a/gemfeed/DRAFT-summary-for-202410-202411-202410.gmi b/gemfeed/DRAFT-summary-for-202410-202411-202410.gmi
deleted file mode 100644
index 668c1af0..00000000
--- a/gemfeed/DRAFT-summary-for-202410-202411-202410.gmi
+++ /dev/null
@@ -1,311 +0,0 @@
-# Summary for 202410 202411 202412
-
-## Table of Contents
-
-* ⇢ Summary for 202410 202411 202412
-* ⇢ ⇢ October 2024
-* ⇢ ⇢ ⇢ First on-call experience in a startup. Doesn't ...
-* ⇢ ⇢ ⇢ Reviewing your own PR or MR before asking ...
-* ⇢ ⇢ ⇢ Fun with defer in `#golang`, I did't know, that ...
-* ⇢ ⇢ ⇢ I have been in incidents. Understandably, ...
-* ⇢ ⇢ ⇢ Little tips using strings in `#golang` and I ...
-* ⇢ ⇢ ⇢ Reading this post about `#rust` (especially the ...
-* ⇢ ⇢ ⇢ The opposite of `#ChaosMonkey` ... ...
-* ⇢ ⇢ November 2024
-* ⇢ ⇢ ⇢ I just became a Silver Patreon for OSnews. What ...
-* ⇢ ⇢ ⇢ Until now, I wasn't aware, that Go is under a ...
-* ⇢ ⇢ ⇢ These are some book notes from "Staff Engineer" ...
-* ⇢ ⇢ ⇢ Looking at `#Kubernetes`, it's pretty much ...
-* ⇢ ⇢ ⇢ There has been an outage at the upstream ...
-* ⇢ ⇢ ⇢ One of the more confusing parts in Go, nil ...
-* ⇢ ⇢ ⇢ Agreeably, writing down with Diagrams helps you ...
-* ⇢ ⇢ ⇢ I like the idea of types in Ruby. Raku is ...
-* ⇢ ⇢ ⇢ So, `#Haskell` is better suited for general ...
-* ⇢ ⇢ ⇢ At first, functional options add a bit of ...
-* ⇢ ⇢ ⇢ Revamping my home lab a little bit. `#freebsd` ...
-* ⇢ ⇢ ⇢ Revamping my home lab a little bit. `#freebsd` ...
-* ⇢ ⇢ ⇢ Wondering to which `#web` `#browser` I should ...
-* ⇢ ⇢ ⇢ eks-node-viewer is a nifty tool, showing the ...
-* ⇢ ⇢ ⇢ Have put more Photos on - On my static photo ...
-* ⇢ ⇢ ⇢ In Go, passing pointers are not automatically ...
-* ⇢ ⇢ ⇢ Myself being part of an on-call rotations over ...
-* ⇢ ⇢ ⇢ Feels good to code in my old love `#Perl` again ...
-* ⇢ ⇢ ⇢ This is an interactive summary of the Go ...
-* ⇢ ⇢ December 2024
-* ⇢ ⇢ ⇢ Thats unexpected, you cant remove a NaN key ...
-* ⇢ ⇢ ⇢ My second blog post about revamping my home lab ...
-* ⇢ ⇢ ⇢ Very insightful article about tech hiring in ...
-* ⇢ ⇢ ⇢ for `#bpf` `#ebpf` performance debugging, have ...
-* ⇢ ⇢ ⇢ 89 things he/she knows about Git commits is a ...
-* ⇢ ⇢ ⇢ I found that working on multiple side projects ...
-* ⇢ ⇢ ⇢ Agreed? Agreed. Besides `#Ruby`, I would also ...
-* ⇢ ⇢ ⇢ Plan9 assembly format in Go, but wait, it's not ...
-* ⇢ ⇢ ⇢ This is a neat blog post about the Helix text ...
-* ⇢ ⇢ ⇢ This blog post is basically a rant against ...
-* ⇢ ⇢ ⇢ Quick trick to get Helix themes selected ...
-* ⇢ ⇢ ⇢ Example where complexity attacks you from ...
-* ⇢ ⇢ ⇢ LLMs for Ops? Summaries of logs, probabilities ...
-* ⇢ ⇢ ⇢ Excellent article about your dream Product ...
-* ⇢ ⇢ ⇢ I just finished reading all chapters of CPU ...
-* ⇢ ⇢ ⇢ Indeed, useful to know this stuff! `#sre` ...
-* ⇢ ⇢ ⇢ It's the small things, which make Unix like ...
-
-## October 2024
-
-### First on-call experience in a startup. Doesn't ...
-
-First on-call experience in a startup. Doesn't sound a lot of fun! But the lessons were learned! `#sre`
-
-=> https://ntietz.com/blog/lessons-from-my-first-on-call/
-
-### Reviewing your own PR or MR before asking ...
-
-Reviewing your own PR or MR before asking others to review it makes a lot of sense. Have seen so many silly mistakes which would have been avoided. Saving time for the real reviewer.
-
-=> https://www.jvt.me/posts/2019/01/12/self-code-review/
-
-### Fun with defer in `#golang`, I did't know, that ...
-
-Fun with defer in `#golang`, I did't know, that a defer object can either be heap or stack allocated. And there are some rules for inlining, too.
-
-=> https://victoriametrics.com/blog/defer-in-go/
-
-### I have been in incidents. Understandably, ...
-
-I have been in incidents. Understandably, everyone wants the issue to be resolved as quickly and others want to know how long TTR will be. IMHO, providing no estimates at all is no solution either. So maybe give a rough estimate but clearly communicate that the estimate is rough and that X, Y, and Z can interfere, meaning there is a chance it will take longer to resolve the incident. Just my thought. What's yours?
-
-=> https://firehydrant.com/blog/hot-take-dont-provide-incident-resolution-estimates/ https://firehydrant.com/blog/hot-...de-incident-resolution-estimates/
-
-### Little tips using strings in `#golang` and I ...
-
-Little tips using strings in `#golang` and I personally think one must look more into the std lib (not just for strings, also for slices, maps,...), there are tons of useful helper functions.
-
-=> https://www.calhoun.io/6-tips-for-using-strings-in-go/
-
-### Reading this post about `#rust` (especially the ...
-
-Reading this post about `#rust` (especially the first part), I think I made a good choice in deciding to dive into `#golang` instead. There was a point where I wanted to learn a new programming language, and Rust was on my list of choices. I think the Go project does a much better job of deciding what goes into the language and how. What are your thoughts?
-
-=> https://josephg.com/blog/rewriting-rust/
-
-### The opposite of `#ChaosMonkey` ... ...
-
-The opposite of `#ChaosMonkey` ... automatically repairing and healing services helping to reduce manual toil work. Runbooks and scripts are only the first step, followed by a fully blown service written in Go. Could be useful, but IMHO why not rather address the root causes of the manual toil work? `#sre`
-
-=> https://blog.cloudflare.com/nl-nl/improving-platform-resilience-at-cloudflare/ https://blog.cloudflare.com/nl-nl...latform-resilience-at-cloudflare/
-
-## November 2024
-
-### I just became a Silver Patreon for OSnews. What ...
-
-I just became a Silver Patreon for OSnews. What is OSnews? It is an independent news site about IT. It is slightly independent and, at times, alternative. I have enjoyed it since my early student days. This one and other projects I financially support are listed here:
-
-=> https://foo.zone/gemfeed/2024-09-07-projects-i-support.html
-
-### Until now, I wasn't aware, that Go is under a ...
-
-Until now, I wasn't aware, that Go is under a BSD-style license (3-clause as it seems). Neat. I don't know why, but I always was under the impression it would be MIT. `#bsd` `#golang`
-
-=> https://go.dev/LICENSE
-
-### These are some book notes from "Staff Engineer" ...
-
-These are some book notes from "Staff Engineer" – there is some really good insight into what is expected from a Staff Engineer and beyond in the industry. I wish I had read the book earlier.
-
-=> https://foo.zone/gemfeed/2024-10-24-staff-engineer-book-notes.html
-
-### Looking at `#Kubernetes`, it's pretty much ...
-
-Looking at `#Kubernetes`, it's pretty much following the Unix way of doing things. It has many tools, but each tool has its own single purpose: DNS, scheduling, container runtime, various controllers, networking, observability, alerting, and more services in the control plane. Everything is managed by different services or plugins, mostly running in their dedicated pods. They don't communicate through pipes, but network sockets, though. `#k8s`
-
-### There has been an outage at the upstream ...
-
-There has been an outage at the upstream network provider for OpenBSD.Amsterdam (hoster, I am using). This was the first real-world test for my KISS HA setup, and it worked flawlessly! All my sites and services failed over automatically to my other `#OpenBSD` VM!
-
-=> https://foo.zone/gemfeed/2024-04-01-KISS-high-availability-with-OpenBSD.html https://foo.zone/gemfeed/2024-04-...gh-availability-with-OpenBSD.html
-=> https://openbsd.amsterdam/
-
-### One of the more confusing parts in Go, nil ...
-
-One of the more confusing parts in Go, nil values vs nil errors: `#golang`
-
-=> https://unexpected-go.com/nil-errors-that-are-non-nil-errors.html
-
-### Agreeably, writing down with Diagrams helps you ...
-
-Agreeably, writing down with Diagrams helps you to think things more through. And keeps others on the same page. Only worth for projects from a certain size, IMHO.
-
-=> https://ntietz.com/blog/reasons-to-write-design-docs/
-
-### I like the idea of types in Ruby. Raku is ...
-
-I like the idea of types in Ruby. Raku is supports that already, but in Ruby, you must specify the types in a separate .rbs file, which is, in my opinion, cumbersome and is a reason not to use it extensively for now. I believe there are efforts to embed the type information in the standard .rb files, and that the .rbs is just an experiment to see how types could work out without introducing changes into the core Ruby language itself right now? `#Ruby` `#RakuLang`
-
-=> https://github.com/ruby/rbs
-
-### So, `#Haskell` is better suited for general ...
-
-So, `#Haskell` is better suited for general purpose than `#Rust`? I thought deploying something in Haskell means publishing an academic paper :-) Interesting rant about Rust, though:
-
-=> https://chrisdone.com/posts/rust/
-
-### At first, functional options add a bit of ...
-
-At first, functional options add a bit of boilerplate, but they turn out to be quite neat, especially when you have very long parameter lists that need to be made neat and tidy. `#golang`
-
-=> https://www.calhoun.io/using-functional-options-instead-of-method-chaining-in-go/ https://www.calhoun.io/using-func...instead-of-method-chaining-in-go/
-
-### Revamping my home lab a little bit. `#freebsd` ...
-
-Revamping my home lab a little bit. `#freebsd` `#bhyve` `#rocky` `#linux` `#vm` `#k3s` `#kuberbetes` `#wireguard` `#zfs` `#nfs` `#ha` `#relayd` `#k8s` `#selfhosting` `#self`-hosting `#homelab` `#home`-lab
-
-=> https://foo.zone/gemfeed/2024-11-17-f3s-kubernetes-with-freebsd-part-1.html https://foo.zone/gemfeed/2024-11-...bernetes-with-freebsd-part-1.html
-
-### Revamping my home lab a little bit. `#freebsd` ...
-
-Revamping my home lab a little bit. `#freebsd` `#bhyve` `#rocky` `#linux` `#vm` `#k3s` `#kubernetes` `#wireguard` `#zfs` `#nfs` `#ha` `#relayd` `#k8s` `#selfhosting` `#homelab`
-
-=> https://foo.zone/gemfeed/2024-11-17-f3s-kubernetes-with-freebsd-part-1.html https://foo.zone/gemfeed/2024-11-...bernetes-with-freebsd-part-1.html
-
-### Wondering to which `#web` `#browser` I should ...
-
-Wondering to which `#web` `#browser` I should switch now personally ...
-
-=> https://www.osnews.com/story/141100/mozilla-foundation-lays-off-30-of-its-employees-ends-advocacy-for-open-web-privacy-and-more/ https://www.osnews.com/story/1411...cy-for-open-web-privacy-and-more/
-
-### eks-node-viewer is a nifty tool, showing the ...
-
-eks-node-viewer is a nifty tool, showing the compute nodes currently in use in the `#EKS` cluster. especially useful when dynamically allocating nodes with `#karpenter` or auto scaling groups.
-
-=> https://github.com/awslabs/eks-node-viewer
-
-### Have put more Photos on - On my static photo ...
-
-Have put more Photos on - On my static photo sites - Generated with a `#bash` script
-
-=> https://irregular.ninja
-
-### In Go, passing pointers are not automatically ...
-
-In Go, passing pointers are not automatically faster than values. Pointers often force the memory to be allocated on the heap, adding GC overhad. With values, Go can determine whether to put the memory on the stack instead. But with large structs/objects (how you want to call them) or if you want to modify state, then pointers are the semantic to use. `#golang`
-
-=> https://blog.boot.dev/golang/pointers-faster-than-values/
-
-### Myself being part of an on-call rotations over ...
-
-Myself being part of an on-call rotations over my whole professional life, just have learned this lesson "Tell people who are new to on-call: Just have fun" :-) This is a neat blog post to read:
-
-=> https://ntietz.com/blog/what-i-tell-people-new-to-oncall/
-
-### Feels good to code in my old love `#Perl` again ...
-
-Feels good to code in my old love `#Perl` again after a while. I am implementing a log parser for generating site stats of my personal homepage! :-) @Perl
-
-### This is an interactive summary of the Go ...
-
-This is an interactive summary of the Go release, with a lot of examples utilising iterators in the slices and map packages. Love it! `#golang`
-
-=> https://antonz.org/go-1-23/
-
-## December 2024
-
-### Thats unexpected, you cant remove a NaN key ...
-
-Thats unexpected, you cant remove a NaN key from a map without clearing it! `#golang`
-
-=> https://unexpected-go.com/you-cant-remove-a-nan-key-from-a-map-without-clearing-it.html https://unexpected-go.com/you-can...om-a-map-without-clearing-it.html
-
-### My second blog post about revamping my home lab ...
-
-My second blog post about revamping my home lab a little bit just hit the net. `#FreeBSD` `#ZFS` `#n100` `#k8s` `#k3s` `#kubernetes`
-
-=> https://foo.zone/gemfeed/2024-12-03-f3s-kubernetes-with-freebsd-part-2.html https://foo.zone/gemfeed/2024-12-...bernetes-with-freebsd-part-2.html
-
-### Very insightful article about tech hiring in ...
-
-Very insightful article about tech hiring in the age of LLMs. As an interviewer, I have experienced some of the scrnarios already first hand...
-
-=> https://newsletter.pragmaticengineer.com/p/how-genai-changes-tech-hiring https://newsletter.pragmaticengin...m/p/how-genai-changes-tech-hiring
-
-### for `#bpf` `#ebpf` performance debugging, have ...
-
-for `#bpf` `#ebpf` performance debugging, have a look at bpftop from Netflix. A neat tool showing you the estimated CPU time and other performance statistics for all the BPF programs currently loaded into the `#linux` kernel. Highly recommend!
-
-=> https://github.com/Netflix/bpftop
-
-### 89 things he/she knows about Git commits is a ...
-
-89 things he/she knows about Git commits is a neat list of `#Git` wisdoms
-
-=> https://www.jvt.me/posts/2024/07/12/things-know-commits/
-
-### I found that working on multiple side projects ...
-
-I found that working on multiple side projects concurrently is better than concentrating on just one. This seems inefficient at first, but whenever you tend to lose motivation, you can temporarily switch to another one with full élan. However, remember to stop starting and start finishing. This doesn't mean you should be working on 10+ (and a growing list of) side projects concurrently! Select your projects and commit to finishing them before starting the next thing. For example, my current limit of concurrent side projects is around five.
-
-### Agreed? Agreed. Besides `#Ruby`, I would also ...
-
-Agreed? Agreed. Besides `#Ruby`, I would also add `#RakuLang` and `#Perl` @Perl to the list of languages that are great for shell scripts - "Making Easy Things Easy and Hard Things Possible"
-
-=> https://lucasoshiro.github.io/posts-en/2024-06-17-ruby-shellscript/
-
-### Plan9 assembly format in Go, but wait, it's not ...
-
-Plan9 assembly format in Go, but wait, it's not the Operating System Plan9! `#golang` `#rabbithole`
-
-=> https://www.osnews.com/story/140941/go-plan9-memo-speeding-up-calculations-450/ https://www.osnews.com/story/1409...emo-speeding-up-calculations-450/
-
-### This is a neat blog post about the Helix text ...
-
-This is a neat blog post about the Helix text editor, to which I personally switched around a year ago (from NeoVim). I should blog about my experience as well. To summarize: I am using it together with the terminal multiplexer `#tmux`. It doesn't bother me that Helix is purely terminal-based and therefore everything has to be in the same font. `#HelixEditor`
-
-=> https://jonathan-frere.com/posts/helix/
-
-### This blog post is basically a rant against ...
-
-This blog post is basically a rant against DataDog... Personally, I don't have much experience with DataDog (actually, I have never used it), but one reason to work with logs at my day job (with over 2,000 physical server machines) and to be cost-effective is by using dtail! `#dtail` `#logs` `#logmanagement`
-
-=> https://crys.site/blog/2024/reinventint-the-weel/
-=> https://dtail.dev
-
-### Quick trick to get Helix themes selected ...
-
-Quick trick to get Helix themes selected randomly `#HelixEditor`
-
-=> https://foo.zone/gemfeed/2024-12-15-random-helix-themes.html
-
-### Example where complexity attacks you from ...
-
-Example where complexity attacks you from behind `#k8s` `#kubernetes` `#OpenAI`
-
-=> https://surfingcomplexity.blog/2024/12/14/quick-takes-on-the-recent-openai-public-incident-write-up/ https://surfingcomplexity.blog/20...-openai-public-incident-write-up/
-
-### LLMs for Ops? Summaries of logs, probabilities ...
-
-LLMs for Ops? Summaries of logs, probabilities about correctness, auto-generating Ansible, some uses cases are there. Wouldn't trust it fully, though.
-
-=> https://youtu.be/WodaffxVq-E?si=noY0egrfl5izCSQI
-
-### Excellent article about your dream Product ...
-
-Excellent article about your dream Product Manager: Why every software team needs a product manager to thrive via @wallabagapp
-
-=> https://testdouble.com/insights/why-product-managers-accelerate-improve-software-delivery https://testdouble.com/insights/w...elerate-improve-software-delivery
-
-### I just finished reading all chapters of CPU ...
-
-I just finished reading all chapters of CPU land: ... not claiming to remember every detail, but it is a great refresher how CPUs and operating systems actually work under the hood when you execute a program, which we tend to forget in our higher abstraction world. I liked the "story" and some of the jokes along the way! Size wise, it is pretty digestable (not talking about books, but only 7 web articles/chapters)! `#cpu` `#linux` `#unix` `#kernel` `#macOS`
-
-=> https://cpu.land/
-
-### Indeed, useful to know this stuff! `#sre` ...
-
-Indeed, useful to know this stuff! `#sre`
-
-=> https://biriukov.dev/docs/resolver-dual-stack-application/0-sre-should-know-about-gnu-linux-resolvers-and-dual-stack-applications/ https://biriukov.dev/docs/resolve...vers-and-dual-stack-applications/
-
-### It's the small things, which make Unix like ...
-
-It's the small things, which make Unix like systems, like GNU/Linux, interesting. Didn't know about this `#GNU` `#Tar` behaviour yet:
-
-=> https://xeiaso.net/notes/2024/pop-quiz-tar/<nil>15110