summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2025-01-04 15:51:17 +0200
committerPaul Buetow <paul@buetow.org>2025-01-04 15:51:17 +0200
commit480ca0005994f7b32578357e7446d5dd765a779a (patch)
treebc25360eaca095b81f698d9572358cbe8982eeb4
parente1f0bbc23ace5d47529f0137f6e1102d792b7030 (diff)
Update content for html
-rw-r--r--about/resources.html174
-rw-r--r--gemfeed/DRAFT-f3s-kubernetes-with-freebsd-bhyve.html174
-rw-r--r--gemfeed/DRAFT-f3s-kubernetes-with-freebsd-hardware-setup.html63
-rw-r--r--gemfeed/DRAFT-summary-for-202410-202411-202410.html332
-rw-r--r--index.html2
-rw-r--r--uptime-stats.html295
6 files changed, 263 insertions, 777 deletions
diff --git a/about/resources.html b/about/resources.html
index db4ed89a..4b492e17 100644
--- a/about/resources.html
+++ b/about/resources.html
@@ -50,102 +50,102 @@ View this page as <a href="https://codeberg.org/snonux/foo.zone/src/branch/conte
<span>In random order:</span><br />
<br />
<ul>
-<li>Ultimate Go Notebook; Bill Kennedy</li>
-<li>Site Reliability Engineering; How Google runs production systems; O&#39;Reilly</li>
-<li>Effective awk programming; Arnold Robbins; O&#39;Reilly</li>
-<li>Hands-on Infrastructure Monitoring with Prometheus; Joel Bastos, Pedro Araujo; Packt </li>
-<li>Kubernetes Cookbook; Sameer Naik, Sébastien Goasguen, Jonathan Michaux; O&#39;Reilly</li>
-<li>Leanring eBPF; Liz Rice; O&#39;Reilly</li>
-<li>Data Science at the Command Line; Jeroen Janssens; O&#39;Reilly</li>
-<li>Distributed Systems: Principles and Paradigms; Andrew S. Tanenbaum; Pearson</li>
-<li>The DevOps Handbook; Gene Kim, Jez Humble, Patrick Debois, John Willis; Audible</li>
-<li>Java ist auch eine Insel; Christian Ullenboom; </li>
+<li>Programming Perl aka "The Camel Book"; Tom Christiansen, brian d foy, Larry Wall &amp; Jon Orwant; O&#39;Reilly</li>
<li>Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press</li>
-<li>Modern Perl; Chromatic ; Onyx Neon Press</li>
+<li>The Kubernetes Book; Nigel Poulton; Unabridged Audiobook</li>
+<li>Distributed Systems: Principles and Paradigms; Andrew S. Tanenbaum; Pearson</li>
+<li>Polished Ruby Programming; Jeremy Evans; Packt Publishing</li>
+<li>The Pragmatic Programmer; David Thomas; Addison-Wesley</li>
+<li>Perl New Features; Joshua McAdams, brian d foy; Perl School</li>
+<li>Effective awk programming; Arnold Robbins; O&#39;Reilly</li>
<li>The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional</li>
+<li>Raku Fundamentals; Moritz Lenz; Apress</li>
<li>Raku Recipes; J.J. Merelo; Apress</li>
-<li>Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press</li>
-<li>Funktionale Programmierung; Peter Pepper; Springer</li>
-<li>DevOps And Site Reliability Engineering Handbook; Stephen Fleming; Audible</li>
-<li>21st Century C: C Tips from the New School; Ben Klemens; O&#39;Reilly</li>
-<li>Developing Games in Java; David Brackeen and others...; New Riders</li>
-<li>Clusterbau mit Linux-HA; Michael Schwartzkopff; O&#39;Reilly</li>
-<li>Object-Oriented Programming with ANSI-C; Axel-Tobias Schreiner</li>
+<li>Tmux 2: Productive Mouse-free Development; Brain P. Hogan; The Pragmatic Programmers </li>
+<li>Site Reliability Engineering; How Google runs production systems; O&#39;Reilly</li>
+<li>Java ist auch eine Insel; Christian Ullenboom; </li>
+<li>The Practise of System and Network Administration; Thomas A. Limoncelli, Christina J. Hogan, Strata R. Chalup; Addison-Wesley Professional Pro Git; Scott Chacon, Ben Straub; Apress</li>
<li>Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O&#39;Reilly</li>
-<li>Programming Perl aka "The Camel Book"; Tom Christiansen, brian d foy, Larry Wall &amp; Jon Orwant; O&#39;Reilly</li>
-<li>C++ Programming Language; Bjarne Stroustrup;</li>
<li>Concurrency in Go; Katherine Cox-Buday; O&#39;Reilly</li>
-<li>Raku Fundamentals; Moritz Lenz; Apress</li>
+<li>Object-Oriented Programming with ANSI-C; Axel-Tobias Schreiner</li>
+<li>The KCNA (Kubernetes and Cloud Native Associate) Book; Nigel Poulton</li>
+<li>Leanring eBPF; Liz Rice; O&#39;Reilly</li>
+<li>Hands-on Infrastructure Monitoring with Prometheus; Joel Bastos, Pedro Araujo; Packt </li>
+<li>Data Science at the Command Line; Jeroen Janssens; O&#39;Reilly</li>
+<li>97 things every SRE should know; Emil Stolarsky, Jaime Woo; O&#39;Reilly</li>
+<li>100 Go Mistakes and How to Avoid Them; Teiva Harsanyi; Manning Publications</li>
+<li>21st Century C: C Tips from the New School; Ben Klemens; O&#39;Reilly</li>
+<li>Kubernetes Cookbook; Sameer Naik, Sébastien Goasguen, Jonathan Michaux; O&#39;Reilly</li>
+<li>Pro Puppet; James Turnbull, Jeffrey McCune; Apress</li>
<li>Go Brain Teasers - Exercise Your Mind; Miki Tebeka; The Pragmatic Programmers</li>
+<li>Clusterbau mit Linux-HA; Michael Schwartzkopff; O&#39;Reilly</li>
+<li>C++ Programming Language; Bjarne Stroustrup;</li>
+<li>Effective Java; Joshua Bloch; Addison-Wesley Professional</li>
+<li>Higher Order Perl; Mark Dominus; Morgan Kaufmann</li>
+<li>Developing Games in Java; David Brackeen and others...; New Riders</li>
+<li>Modern Perl; Chromatic ; Onyx Neon Press</li>
+<li>Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O&#39;Reilly</li>
+<li>Systemprogrammierung in Go; Frank Müller; dpunkt</li>
+<li>The DevOps Handbook; Gene Kim, Jez Humble, Patrick Debois, John Willis; Audible</li>
<li>DNS and BIND; Cricket Liu; O&#39;Reilly</li>
+<li>Ultimate Go Notebook; Bill Kennedy</li>
+<li>Funktionale Programmierung; Peter Pepper; Springer</li>
<li>Terraform Cookbook; Mikael Krief; Packt Publishing</li>
-<li>Polished Ruby Programming; Jeremy Evans; Packt Publishing</li>
+<li>Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press</li>
<li>The Docker Book; James Turnbull; Kindle</li>
-<li>Systemprogrammierung in Go; Frank Müller; dpunkt</li>
-<li>The Kubernetes Book; Nigel Poulton; Unabridged Audiobook</li>
-<li>Higher Order Perl; Mark Dominus; Morgan Kaufmann</li>
+<li>DevOps And Site Reliability Engineering Handbook; Stephen Fleming; Audible</li>
<li>Amazon Web Services in Action; Michael Wittig and Andreas Wittig; Manning Publications</li>
-<li>The Pragmatic Programmer; David Thomas; Addison-Wesley</li>
-<li>Tmux 2: Productive Mouse-free Development; Brain P. Hogan; The Pragmatic Programmers </li>
-<li>The KCNA (Kubernetes and Cloud Native Associate) Book; Nigel Poulton</li>
-<li>100 Go Mistakes and How to Avoid Them; Teiva Harsanyi; Manning Publications</li>
-<li>Pro Puppet; James Turnbull, Jeffrey McCune; Apress</li>
-<li>Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O&#39;Reilly</li>
-<li>97 things every SRE should know; Emil Stolarsky, Jaime Woo; O&#39;Reilly</li>
-<li>Perl New Features; Joshua McAdams, brian d foy; Perl School</li>
-<li>The Practise of System and Network Administration; Thomas A. Limoncelli, Christina J. Hogan, Strata R. Chalup; Addison-Wesley Professional Pro Git; Scott Chacon, Ben Straub; Apress</li>
-<li>Effective Java; Joshua Bloch; Addison-Wesley Professional</li>
</ul><br />
<h2 style='display: inline' id='technical-references'>Technical references</h2><br />
<br />
<span>I didn&#39;t read them from the beginning to the end, but I am using them to look up things. The books are in random order:</span><br />
<br />
<ul>
-<li>BPF Performance Tools - Linux System and Application Observability, Brendan Gregg; Addison Wesley</li>
+<li>Groovy Kurz &amp; Gut; Joerg Staudemeier; O&#39;Reilly</li>
<li>Relayd and Httpd Mastery; Michael W Lucas</li>
-<li>Implementing Service Level Objectives; Alex Hidalgo; O&#39;Reilly</li>
-<li>Algorithms; Robert Sedgewick, Kevin Wayne; Addison Wesley</li>
<li>Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O&#39;Reilly</li>
-<li>Groovy Kurz &amp; Gut; Joerg Staudemeier; O&#39;Reilly</li>
+<li>BPF Performance Tools - Linux System and Application Observability, Brendan Gregg; Addison Wesley</li>
<li>The Linux Programming Interface; Michael Kerrisk; No Starch Press </li>
+<li>Algorithms; Robert Sedgewick, Kevin Wayne; Addison Wesley</li>
+<li>Implementing Service Level Objectives; Alex Hidalgo; O&#39;Reilly</li>
</ul><br />
<h2 style='display: inline' id='self-development-and-soft-skills-books'>Self-development and soft-skills books</h2><br />
<br />
<span>In random order:</span><br />
<br />
<ul>
-<li>Stop starting, start finishing; Arne Roock; Lean-Kanban University </li>
-<li>Ultralearning; Anna Laurent; Self-published via Amazon</li>
-<li>Never Split the Difference; Chris Voss, Tahl Raz; Random House Business</li>
-<li>The Power of Now; Eckhard Tolle; Yellow Kite</li>
-<li>Digital Minimalism; Cal Newport; Portofolio Penguin</li>
-<li>The Good Enough Job; Simone Stolzoff; Ebury Edge</li>
-<li>101 Essays that change the way you think; Brianna Wiest; Audible</li>
-<li>The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books</li>
-<li>Soft Skills; John Sommez; Manning Publications</li>
-<li>Slow Productivity; Cal Newport; Penguin Random House</li>
-<li>Consciousness: A Very Short Introduction; Susan Blackmore; Oxford Uiversity Press</li>
<li>The Complete Software Developer&#39;s Career Guide; John Sonmez; Unabridged Audiobook</li>
-<li>Eat That Frog!; Brian Tracy; Hodder Paperbacks</li>
-<li>The Phoenix Project - A Novel About IT, DevOps, and Helping your Business Win; Gene Kim and Kevin Behr; Trade Select</li>
-<li>The Obstacle Is The Way; Ryan Holiday; Profile Books Ltd</li>
-<li>Solve for Happy; Mo Gawdat</li>
<li>The Off Switch; Mark Cropley; Virgin Books</li>
-<li>So Good They Can&#39;t Ignore You; Cal Newport; Business Plus</li>
-<li>The Joy of Missing Out; Christina Crook; New Society Publishers</li>
-<li>Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion </li>
-<li>Time Management for System Administrators; Thomas A. Limoncelli; O&#39;Reilly</li>
<li>The Bullet Journal Method; Ryder Carroll; Fourth Estate</li>
<li>Staff Engineer: Leadership beyond the management track; Will Larson; Audible</li>
-<li>Ultralearning; Scott Young; Thorsons</li>
-<li>The 7 Habits Of Highly Effective People; Stephen R. Covey; Simon &amp; Schuster UK</li>
-<li>Eat That Frog; Brian Tracy</li>
-<li>Deep Work; Cal Newport; Piatkus</li>
<li>Psycho-Cybernetics; Maxwell Maltz; Perigee Books</li>
-<li>Influence without Authority; A. Cohen, D. Bradford; Wiley</li>
+<li>Slow Productivity; Cal Newport; Penguin Random House</li>
+<li>Ultralearning; Anna Laurent; Self-published via Amazon</li>
+<li>Solve for Happy; Mo Gawdat</li>
<li>Buddah and Einstein walk into a Bar; Guy Joseph Ale, Claire Bloom; Blackstone Publishing</li>
+<li>Consciousness: A Very Short Introduction; Susan Blackmore; Oxford Uiversity Press</li>
+<li>The Obstacle Is The Way; Ryan Holiday; Profile Books Ltd</li>
+<li>The Joy of Missing Out; Christina Crook; New Society Publishers</li>
+<li>The Power of Now; Eckhard Tolle; Yellow Kite</li>
+<li>Eat That Frog; Brian Tracy</li>
+<li>Deep Work; Cal Newport; Piatkus</li>
+<li>Stop starting, start finishing; Arne Roock; Lean-Kanban University </li>
+<li>Never Split the Difference; Chris Voss, Tahl Raz; Random House Business</li>
<li>Atomic Habits; James Clear; Random House Business</li>
+<li>Time Management for System Administrators; Thomas A. Limoncelli; O&#39;Reilly</li>
+<li>Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion </li>
+<li>Digital Minimalism; Cal Newport; Portofolio Penguin</li>
<li>Search Inside Yourself - The Unexpected path to Achieving Success, Happiness (and World Peace); Chade-Meng Tan, Daniel Goleman, Jon Kabat-Zinn; HarperOne</li>
+<li>The Phoenix Project - A Novel About IT, DevOps, and Helping your Business Win; Gene Kim and Kevin Behr; Trade Select</li>
+<li>The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books</li>
+<li>Soft Skills; John Sommez; Manning Publications</li>
+<li>Influence without Authority; A. Cohen, D. Bradford; Wiley</li>
+<li>So Good They Can&#39;t Ignore You; Cal Newport; Business Plus</li>
+<li>The Good Enough Job; Simone Stolzoff; Ebury Edge</li>
+<li>101 Essays that change the way you think; Brianna Wiest; Audible</li>
+<li>Eat That Frog!; Brian Tracy; Hodder Paperbacks</li>
+<li>Ultralearning; Scott Young; Thorsons</li>
+<li>The 7 Habits Of Highly Effective People; Stephen R. Covey; Simon &amp; Schuster UK</li>
</ul><br />
<a class='textlink' href='../notes/index.html'>Here are notes of mine for some of the books</a><br />
<br />
@@ -154,21 +154,21 @@ View this page as <a href="https://codeberg.org/snonux/foo.zone/src/branch/conte
<span>Some of these were in-person with exams; others were online learning lectures only. In random order:</span><br />
<br />
<ul>
-<li>Algorithms Video Lectures; Robert Sedgewick; O&#39;Reilly Online</li>
-<li>Ultimate Go Programming; Bill Kennedy; O&#39;Reilly Online</li>
-<li>Apache Tomcat Best Practises; 3-day on-site training</li>
-<li>Functional programming lecture; Remote University of Hagen</li>
+<li>Scripting Vim; Damian Conway; O&#39;Reilly Online</li>
<li>Cloud Operations on AWS - Learn how to configure, deploy, maintain, and troubleshoot your AWS environments; 3-day online live training with labs; Amazon</li>
<li>Red Hat Certified System Administrator; Course + certification (Although I had the option, I decided not to take the next course as it is more effective to self learn what I need)</li>
-<li>Scripting Vim; Damian Conway; O&#39;Reilly Online</li>
<li>Protocol buffers; O&#39;Reilly Online</li>
<li>The Ultimate Kubernetes Bootcamp; School of Devops; O&#39;Reilly Online</li>
-<li>MySQL Deep Dive Workshop; 2-day on-site training</li>
+<li>Linux Security and Isolation APIs Training; Michael Kerrisk; 3-day on-site training</li>
<li>Developing IaC with Terraform (with Live Lessons); O&#39;Reilly Online</li>
<li>AWS Immersion Day; Amazon; 1-day interactive online training </li>
+<li>Ultimate Go Programming; Bill Kennedy; O&#39;Reilly Online</li>
+<li>Functional programming lecture; Remote University of Hagen</li>
<li>The Well-Grounded Rubyist Video Edition; David. A. Black; O&#39;Reilly Online</li>
+<li>Apache Tomcat Best Practises; 3-day on-site training</li>
<li>Structure and Interpretation of Computer Programs; Harold Abelson and more...; </li>
-<li>Linux Security and Isolation APIs Training; Michael Kerrisk; 3-day on-site training</li>
+<li>MySQL Deep Dive Workshop; 2-day on-site training</li>
+<li>Algorithms Video Lectures; Robert Sedgewick; O&#39;Reilly Online</li>
<li>F5 Loadbalancers Training; 2-day on-site training; F5, Inc. </li>
</ul><br />
<h2 style='display: inline' id='technical-guides'>Technical guides</h2><br />
@@ -176,9 +176,9 @@ View this page as <a href="https://codeberg.org/snonux/foo.zone/src/branch/conte
<span>These are not whole books, but guides (smaller or larger) which I found very useful. in random order:</span><br />
<br />
<ul>
-<li>How CPUs work at https://cpu.land</li>
<li>Advanced Bash-Scripting Guide </li>
<li>Raku Guide at https://raku.guide </li>
+<li>How CPUs work at https://cpu.land</li>
</ul><br />
<h2 style='display: inline' id='podcasts'>Podcasts</h2><br />
<br />
@@ -187,47 +187,47 @@ View this page as <a href="https://codeberg.org/snonux/foo.zone/src/branch/conte
<span>In random order:</span><br />
<br />
<ul>
-<li>Cup o&#39; Go [Golang]</li>
+<li>Hidden Brain</li>
<li>The Changelog Podcast(s)</li>
-<li>Fallthrough [Golang]</li>
+<li>Dev Interrupted</li>
<li>Fork Around And Find Out</li>
-<li>The ProdCast (Google SRE Podcast)</li>
<li>Maintainable</li>
+<li>Cup o&#39; Go [Golang]</li>
<li>The Pragmatic Engineer Podcast</li>
-<li>Dev Interrupted</li>
+<li>Fallthrough [Golang]</li>
<li>Backend Banter</li>
-<li>Hidden Brain</li>
<li>Deep Questions with Cal Newport</li>
+<li>The ProdCast (Google SRE Podcast)</li>
</ul><br />
<h3 style='display: inline' id='podcasts-i-liked'>Podcasts I liked</h3><br />
<br />
<span>I liked them but am not listening to them anymore. The podcasts have either "finished" (no more episodes) or I stopped listening to them due to time constraints or a shift in my interests.</span><br />
<br />
<ul>
-<li>Modern Mentor</li>
+<li>Java Pub House</li>
+<li>Ship It (predecessor of Fork Around And Find Out)</li>
<li>CRE: Chaosradio Express [german]</li>
+<li>Modern Mentor</li>
<li>Go Time (predecessor of fallthrough)</li>
<li>FLOSS weekly</li>
-<li>Ship It (predecessor of Fork Around And Find Out)</li>
-<li>Java Pub House</li>
</ul><br />
<h2 style='display: inline' id='newsletters-i-like'>Newsletters I like</h2><br />
<br />
<span>This is a mix of tech and non-tech newsletters I am subscribed to. In random order:</span><br />
<br />
<ul>
-<li>byteSizeGo</li>
-<li>Monospace Mentor</li>
-<li>VK Newsletter</li>
-<li>The Prgagmatic Engineer</li>
<li>Golang Weekly</li>
-<li>Register Spill</li>
+<li>The Prgagmatic Engineer</li>
<li>The Valuable Dev</li>
-<li>Andreas Brandhorst Newsletter (Sci-Fi author)</li>
-<li>Changelog News</li>
-<li>The Imperfectionist</li>
<li>Applied Go Weekly Newsletter</li>
+<li>Changelog News</li>
<li>Ruby Weekly</li>
+<li>Monospace Mentor</li>
+<li>VK Newsletter</li>
+<li>Andreas Brandhorst Newsletter (Sci-Fi author)</li>
+<li>Register Spill</li>
+<li>byteSizeGo</li>
+<li>The Imperfectionist</li>
</ul><br />
<h1 style='display: inline' id='formal-education'>Formal education</h1><br />
<br />
diff --git a/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-bhyve.html b/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-bhyve.html
new file mode 100644
index 00000000..2db3175d
--- /dev/null
+++ b/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-bhyve.html
@@ -0,0 +1,174 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+<title>f3s: Kubernetes with FreeBSD - Rocky Linux Bhyve VMs - Part 3</title>
+<link rel="shortcut icon" type="image/gif" href="/favicon.ico" />
+<link rel="stylesheet" href="../style.css" />
+<link rel="stylesheet" href="style-override.css" />
+</head>
+<body>
+<p class="header">
+View this page as <a href="https://codeberg.org/snonux/foo.zone/src/branch/content-md/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-bhyve.md">Markdown</a> | <a href="gemini://foo.zone/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-bhyve.gmi">Gemtext</a>
+</p>
+<h1 style='display: inline' id='f3s-kubernetes-with-freebsd---rocky-linux-bhyve-vms---part-3'>f3s: Kubernetes with FreeBSD - Rocky Linux Bhyve VMs - Part 3</h1><br />
+<br />
+<span>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.</span><br />
+<br />
+<a class='textlink' href='./2024-11-17-f3s-kubernetes-with-freebsd-part-1.html'>2024-11-17 f3s: Kubernetes with FreeBSD - Part 1: Setting the stage</a><br />
+<a class='textlink' href='./2024-12-03-f3s-kubernetes-with-freebsd-part-2.html'>2024-12-03 f3s: Kubernetes with FreeBSD - Part 2: Hardware and base installation</a><br />
+<br />
+<a href='./f3s-kubernetes-with-frhyveeebsd-part-1/f3slogo.png'><img alt='f3s logo' title='f3s logo' src='./f3s-kubernetes-with-frhyveeebsd-part-1/f3slogo.png' /></a><br />
+<br />
+<h2 style='display: inline' id='table-of-contents'>Table of Contents</h2><br />
+<br />
+<ul>
+<li><a href='#f3s-kubernetes-with-freebsd---rocky-linux-bhyve-vms---part-3'>f3s: Kubernetes with FreeBSD - Rocky Linux Bhyve VMs - Part 3</a></li>
+<li>⇢ <a href='#introduction'>Introduction</a></li>
+<li>⇢ <a href='#basic-bhyve-setup'>Basic Bhyve setup</a></li>
+<li>⇢ <a href='#rocky-linux-vms'>Rocky Linux VMs</a></li>
+<li>⇢ ⇢ <a href='#iso-download'>ISO download</a></li>
+<li>⇢ ⇢ <a href='#vm-configuration'>VM configuration</a></li>
+<li>⇢ ⇢ <a href='#vm-installation'>VM installation</a></li>
+</ul><br />
+<h2 style='display: inline' id='introduction'>Introduction</h2><br />
+<br />
+<span>In this blog post, we are going to install the Bhyve hypervisor.</span><br />
+<br />
+<span>The FreeBSD Bhyve hypervisor is a lightweight, modern hypervisor that enables virtualization on FreeBSD systems. Bhyve&#39;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. </span><br />
+<br />
+<span>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.</span><br />
+<br />
+<h2 style='display: inline' id='basic-bhyve-setup'>Basic Bhyve setup</h2><br />
+<br />
+<span>For the management of the Bhyve VMs, we are using <span class='inlinecode'>vm-bhyve</span>, 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.</span><br />
+<br />
+<a class='textlink' href='https://github.com/churchers/vm-bhyve'>https://github.com/churchers/vm-bhyve</a><br />
+<br />
+<span>The following commands are executed on all three hosts <span class='inlinecode'>f0</span>, <span class='inlinecode'>f1</span>, and <span class='inlinecode'>f2</span>, where <span class='inlinecode'>re0</span> is the name of the Ethernet interface (which may need to be adjusted if your hardware is different):</span><br />
+<br />
+<!-- Generator: GNU source-highlight 3.1.9
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre>paul@f2:~ % doas pkg install vm-bhyve bhyve-firmware
+paul@f2:~ % doas sysrc vm_enable=YES
+vm_enable: -&gt; YES
+paul@f2:~ % doas sysrc vm_dir=zfs:zroot/bhyve
+vm_dir: -&gt; 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
+</pre>
+<br />
+<span>Bhyve stores all it&#39;s data in the <span class='inlinecode'>/bhyve</span> of the <span class='inlinecode'>zroot</span> ZFS pool:</span><br />
+<br />
+<!-- Generator: GNU source-highlight 3.1.9
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre>paul@f2:~ % zfs list | grep bhyve
+zroot/bhyve <font color="#000000">1</font>.74M 453G <font color="#000000">1</font>.74M /zroot/bhyve
+</pre>
+<br />
+<span>For convenience, we also create this symlink:</span><br />
+<br />
+<!-- Generator: GNU source-highlight 3.1.9
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre>paul@f2:~ % doas ln -s /zroot/bhyve/ /bhyve
+
+</pre>
+<br />
+<span>Now, Bhyve is ready to rumble, but no VMs are there yet:</span><br />
+<br />
+<!-- Generator: GNU source-highlight 3.1.9
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre>paul@f2:~ % doas vm list
+NAME DATASTORE LOADER CPU MEMORY VNC AUTO STATE
+</pre>
+<br />
+<h2 style='display: inline' id='rocky-linux-vms'>Rocky Linux VMs</h2><br />
+<br />
+<h3 style='display: inline' id='iso-download'>ISO download</h3><br />
+<br />
+<span>We&#39;re going to install the Rocky Linux from the latest minimal iso:</span><br />
+<br />
+<!-- Generator: GNU source-highlight 3.1.9
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre>paul@f2:~ % doas vm iso \
+ https://download.rockylinux.org/pub/rocky/<font color="#000000">9</font>/isos/x86_64/Rocky-<font color="#000000">9.5</font>-x86_64-minimal.iso
+/zroot/bhyve/.iso/Rocky-<font color="#000000">9.5</font>-x86_64-minimal.iso <font color="#000000">1808</font> MB <font color="#000000">4780</font> kBps 06m28s
+paul@f2:/bhyve % doas vm create rocky
+</pre>
+<h3 style='display: inline' id='vm-configuration'>VM configuration</h3><br />
+<br />
+<span>The default configuration looks like this now:</span><br />
+<br />
+<!-- Generator: GNU source-highlight 3.1.9
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre>paul@f2:/bhyve/rocky % cat rocky.conf
+loader=<font color="#808080">"bhyveload"</font>
+cpu=<font color="#000000">1</font>
+memory=256M
+network0_type=<font color="#808080">"virtio-net"</font>
+network0_switch=<font color="#808080">"public"</font>
+disk0_type=<font color="#808080">"virtio-blk"</font>
+disk0_name=<font color="#808080">"disk0.img"</font>
+uuid=<font color="#808080">"1c4655ac-c828-11ef-a920-e8ff1ed71ca0"</font>
+network0_mac=<font color="#808080">"58:9c:fc:0d:13:3f"</font>
+</pre>
+<br />
+<span>but in order to make Rocky Linux boot, it...</span><br />
+<br />
+<h3 style='display: inline' id='vm-installation'>VM installation</h3><br />
+<br />
+<!-- Generator: GNU source-highlight 3.1.9
+by Lorenzo Bettini
+http://www.lorenzobettini.it
+http://www.gnu.org/software/src-highlite -->
+<pre>paul@f2:~ % doas vm install rocky Rocky-<font color="#000000">9.5</font>-x86_64-minimal.iso
+Starting rocky
+ * found guest <b><u><font color="#000000">in</font></u></b> /zroot/bhyve/rocky
+ * booting...
+
+paul@f0:/bhyve/rocky % doas vm list
+NAME DATASTORE LOADER CPU MEMORY VNC AUTO STATE
+rocky default uefi <font color="#000000">4</font> 14G <font color="#000000">0.0</font>.<font color="#000000">0.0</font>:<font color="#000000">5900</font> No Locked (f0.lan.buetow.org)
+
+paul@f0:/bhyve/rocky % doas sockstat -<font color="#000000">4</font> | grep <font color="#000000">5900</font>
+root bhyve <font color="#000000">6079</font> <font color="#000000">8</font> tcp4 *:<font color="#000000">5900</font> *:*
+</pre>
+<br />
+<span>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&#39;m sure this could be done unattended or more automated, but we have only 3 VMs to install, and the automation doesn&#39;t seem worth it as we are doing it only once.</span><br />
+<br />
+<br />
+<br />
+<span>Other *BSD-related posts:</span><br />
+<br />
+<a class='textlink' href='./2016-04-09-jails-and-zfs-on-freebsd-with-puppet.html'>2016-04-09 Jails and ZFS with Puppet on FreeBSD</a><br />
+<a class='textlink' href='./2022-07-30-lets-encrypt-with-openbsd-and-rex.html'>2022-07-30 Let&#39;s Encrypt with OpenBSD and Rex</a><br />
+<a class='textlink' href='./2022-10-30-installing-dtail-on-openbsd.html'>2022-10-30 Installing DTail on OpenBSD</a><br />
+<a class='textlink' href='./2024-01-13-one-reason-why-i-love-openbsd.html'>2024-01-13 One reason why I love OpenBSD</a><br />
+<a class='textlink' href='./2024-04-01-KISS-high-availability-with-OpenBSD.html'>2024-04-01 KISS high-availability with OpenBSD</a><br />
+<a class='textlink' href='./2024-11-17-f3s-kubernetes-with-freebsd-part-1.html'>2024-11-17 f3s: Kubernetes with FreeBSD - Part 1: Setting the stage</a><br />
+<a class='textlink' href='./2024-12-03-f3s-kubernetes-with-freebsd-part-2.html'>2024-12-03 f3s: Kubernetes with FreeBSD - Part 2: Hardware and base installation</a><br />
+<br />
+<span>E-Mail your comments to <span class='inlinecode'>paul@nospam.buetow.org</span> :-)</span><br />
+<br />
+<a class='textlink' href='../'>Back to the main site</a><br />
+<p class="footer">
+Generated with <a href="https://codeberg.org/snonux/gemtexter">Gemtexter 3.0.1-develop</a> |
+served by <a href="https://www.OpenBSD.org">OpenBSD</a>/<a href="https://man.openbsd.org/relayd.8">relayd(8)</a>+<a href="https://man.openbsd.org/httpd.8">httpd(8)</a> |
+<a href="https://foo.zone/site-mirrors.html">Site Mirrors</a>
+</p>
+</body>
+</html>
diff --git a/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-hardware-setup.html b/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-hardware-setup.html
deleted file mode 100644
index 220c617e..00000000
--- a/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-hardware-setup.html
+++ /dev/null
@@ -1,63 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<title>f3s: Kubernetes with FreeBSD - Setting the stage - Part 1</title>
-<link rel="shortcut icon" type="image/gif" href="/favicon.ico" />
-<link rel="stylesheet" href="../style.css" />
-<link rel="stylesheet" href="style-override.css" />
-</head>
-<body>
-<p class="header">
-View this page as <a href="https://codeberg.org/snonux/foo.zone/src/branch/content-md/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-hardware-setup.md">Markdown</a> | <a href="gemini://foo.zone/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-hardware-setup.gmi">Gemtext</a>
-</p>
-<h1 style='display: inline' id='f3s-kubernetes-with-freebsd---setting-the-stage---part-1'>f3s: Kubernetes with FreeBSD - Setting the stage - Part 1</h1><br />
-<br />
-<span class='quote'>Published at 2024-11-16T23:20:14+02:00</span><br />
-<br />
-<span>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.</span><br />
-<br />
-<span>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).</span><br />
-<br />
-<a class='textlink' href='./2024-11-17-f3s-kubernetes-with-freebsd-part-1.html'>2024-11-17 f3s: Kubernetes with FreeBSD - Part 1: Setting the stage</a><br />
-<a class='textlink' href='./2024-12-03-f3s-kubernetes-with-freebsd-part-2.html'>2024-12-03 f3s: Kubernetes with FreeBSD - Part 2: Hardware and base installation</a><br />
-<br />
-<a href='./f3s-kubernetes-with-freebsd-part-1/f3slogo.png'><img alt='f3s logo' title='f3s logo' src='./f3s-kubernetes-with-freebsd-part-1/f3slogo.png' /></a><br />
-<br />
-<span>Let&#39;s begin...</span><br />
-<br />
-<h2 style='display: inline' id='table-of-contents'>Table of Contents</h2><br />
-<br />
-<ul>
-<li><a href='#f3s-kubernetes-with-freebsd---setting-the-stage---part-1'>f3s: Kubernetes with FreeBSD - Setting the stage - Part 1</a></li>
-</ul><br />
-<span>##</span><br />
-<br />
-<span>Hardware + photos + basic unpacking</span><br />
-<span>Base os insallation (FreeBSD)</span><br />
-<ul>
-<li>static IPs</li>
-<li>utimed</li>
-<li>bhyve setup</li>
-<li>minimal rocky linux installs, with staic IPs</li>
-</ul><br />
-<span>Other *BSD-related posts:</span><br />
-<br />
-<a class='textlink' href='./2016-04-09-jails-and-zfs-on-freebsd-with-puppet.html'>2016-04-09 Jails and ZFS with Puppet on FreeBSD</a><br />
-<a class='textlink' href='./2022-07-30-lets-encrypt-with-openbsd-and-rex.html'>2022-07-30 Let&#39;s Encrypt with OpenBSD and Rex</a><br />
-<a class='textlink' href='./2022-10-30-installing-dtail-on-openbsd.html'>2022-10-30 Installing DTail on OpenBSD</a><br />
-<a class='textlink' href='./2024-01-13-one-reason-why-i-love-openbsd.html'>2024-01-13 One reason why I love OpenBSD</a><br />
-<a class='textlink' href='./2024-04-01-KISS-high-availability-with-OpenBSD.html'>2024-04-01 KISS high-availability with OpenBSD</a><br />
-<a class='textlink' href='./2024-11-17-f3s-kubernetes-with-freebsd-part-1.html'>2024-11-17 f3s: Kubernetes with FreeBSD - Part 1: Setting the stage</a><br />
-<a class='textlink' href='./2024-12-03-f3s-kubernetes-with-freebsd-part-2.html'>2024-12-03 f3s: Kubernetes with FreeBSD - Part 2: Hardware and base installation</a><br />
-<br />
-<span>E-Mail your comments to <span class='inlinecode'>paul@nospam.buetow.org</span> :-)</span><br />
-<br />
-<a class='textlink' href='../'>Back to the main site</a><br />
-<p class="footer">
-Generated with <a href="https://codeberg.org/snonux/gemtexter">Gemtexter 3.0.1-develop</a> |
-served by <a href="https://www.OpenBSD.org">OpenBSD</a>/<a href="https://man.openbsd.org/relayd.8">relayd(8)</a>+<a href="https://man.openbsd.org/httpd.8">httpd(8)</a> |
-<a href="https://foo.zone/site-mirrors.html">Site Mirrors</a>
-</p>
-</body>
-</html>
diff --git a/gemfeed/DRAFT-summary-for-202410-202411-202410.html b/gemfeed/DRAFT-summary-for-202410-202411-202410.html
deleted file mode 100644
index 2a8ee8b1..00000000
--- a/gemfeed/DRAFT-summary-for-202410-202411-202410.html
+++ /dev/null
@@ -1,332 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
-<title>Summary for 202410 202411 202412</title>
-<link rel="shortcut icon" type="image/gif" href="/favicon.ico" />
-<link rel="stylesheet" href="../style.css" />
-<link rel="stylesheet" href="style-override.css" />
-</head>
-<body>
-<p class="header">
-View this page as <a href="https://codeberg.org/snonux/foo.zone/src/branch/content-md/gemfeed/DRAFT-summary-for-202410-202411-202410.md">Markdown</a> | <a href="gemini://foo.zone/gemfeed/DRAFT-summary-for-202410-202411-202410.gmi">Gemtext</a>
-</p>
-<h1 style='display: inline' id='summary-for-202410-202411-202412'>Summary for 202410 202411 202412</h1><br />
-<br />
-<h2 style='display: inline' id='table-of-contents'>Table of Contents</h2><br />
-<br />
-<ul>
-<li><a href='#summary-for-202410-202411-202412'>Summary for 202410 202411 202412</a></li>
-<li>⇢ <a href='#october-2024'>October 2024</a></li>
-<li>⇢ ⇢ <a href='#first-on-call-experience-in-a-startup-doesn-t-'>First on-call experience in a startup. Doesn&#39;t ...</a></li>
-<li>⇢ ⇢ <a href='#reviewing-your-own-pr-or-mr-before-asking-'>Reviewing your own PR or MR before asking ...</a></li>
-<li>⇢ ⇢ <a href='#fun-with-defer-in-golang-i-did-t-know-that-'>Fun with defer in <span class='inlinecode'>#golang</span>, I did&#39;t know, that ...</a></li>
-<li>⇢ ⇢ <a href='#i-have-been-in-incidents-understandably-'>I have been in incidents. Understandably, ...</a></li>
-<li>⇢ ⇢ <a href='#little-tips-using-strings-in-golang-and-i-'>Little tips using strings in <span class='inlinecode'>#golang</span> and I ...</a></li>
-<li>⇢ ⇢ <a href='#reading-this-post-about-rust-especially-the-'>Reading this post about <span class='inlinecode'>#rust</span> (especially the ...</a></li>
-<li>⇢ ⇢ <a href='#the-opposite-of-chaosmonkey--'>The opposite of <span class='inlinecode'>#ChaosMonkey</span> ... ...</a></li>
-<li>⇢ <a href='#november-2024'>November 2024</a></li>
-<li>⇢ ⇢ <a href='#i-just-became-a-silver-patreon-for-osnews-what-'>I just became a Silver Patreon for OSnews. What ...</a></li>
-<li>⇢ ⇢ <a href='#until-now-i-wasn-t-aware-that-go-is-under-a-'>Until now, I wasn&#39;t aware, that Go is under a ...</a></li>
-<li>⇢ ⇢ <a href='#these-are-some-book-notes-from-staff-engineer-'>These are some book notes from "Staff Engineer" ...</a></li>
-<li>⇢ ⇢ <a href='#looking-at-kubernetes-it-s-pretty-much-'>Looking at <span class='inlinecode'>#Kubernetes</span>, it&#39;s pretty much ...</a></li>
-<li>⇢ ⇢ <a href='#there-has-been-an-outage-at-the-upstream-'>There has been an outage at the upstream ...</a></li>
-<li>⇢ ⇢ <a href='#one-of-the-more-confusing-parts-in-go-nil-'>One of the more confusing parts in Go, nil ...</a></li>
-<li>⇢ ⇢ <a href='#agreeably-writing-down-with-diagrams-helps-you-'>Agreeably, writing down with Diagrams helps you ...</a></li>
-<li>⇢ ⇢ <a href='#i-like-the-idea-of-types-in-ruby-raku-is-'>I like the idea of types in Ruby. Raku is ...</a></li>
-<li>⇢ ⇢ <a href='#so-haskell-is-better-suited-for-general-'>So, <span class='inlinecode'>#Haskell</span> is better suited for general ...</a></li>
-<li>⇢ ⇢ <a href='#at-first-functional-options-add-a-bit-of-'>At first, functional options add a bit of ...</a></li>
-<li>⇢ ⇢ <a href='#revamping-my-home-lab-a-little-bit-freebsd-'>Revamping my home lab a little bit. <span class='inlinecode'>#freebsd</span> ...</a></li>
-<li>⇢ ⇢ <a href='#revamping-my-home-lab-a-little-bit-freebsd-'>Revamping my home lab a little bit. <span class='inlinecode'>#freebsd</span> ...</a></li>
-<li>⇢ ⇢ <a href='#wondering-to-which-web-browser-i-should-'>Wondering to which <span class='inlinecode'>#web</span> <span class='inlinecode'>#browser</span> I should ...</a></li>
-<li>⇢ ⇢ <a href='#eks-node-viewer-is-a-nifty-tool-showing-the-'>eks-node-viewer is a nifty tool, showing the ...</a></li>
-<li>⇢ ⇢ <a href='#have-put-more-photos-on---on-my-static-photo-'>Have put more Photos on - On my static photo ...</a></li>
-<li>⇢ ⇢ <a href='#in-go-passing-pointers-are-not-automatically-'>In Go, passing pointers are not automatically ...</a></li>
-<li>⇢ ⇢ <a href='#myself-being-part-of-an-on-call-rotations-over-'>Myself being part of an on-call rotations over ...</a></li>
-<li>⇢ ⇢ <a href='#feels-good-to-code-in-my-old-love-perl-again-'>Feels good to code in my old love <span class='inlinecode'>#Perl</span> again ...</a></li>
-<li>⇢ ⇢ <a href='#this-is-an-interactive-summary-of-the-go-'>This is an interactive summary of the Go ...</a></li>
-<li>⇢ <a href='#december-2024'>December 2024</a></li>
-<li>⇢ ⇢ <a href='#thats-unexpected-you-cant-remove-a-nan-key-'>Thats unexpected, you cant remove a NaN key ...</a></li>
-<li>⇢ ⇢ <a href='#my-second-blog-post-about-revamping-my-home-lab-'>My second blog post about revamping my home lab ...</a></li>
-<li>⇢ ⇢ <a href='#very-insightful-article-about-tech-hiring-in-'>Very insightful article about tech hiring in ...</a></li>
-<li>⇢ ⇢ <a href='#for-bpf-ebpf-performance-debugging-have-'>for <span class='inlinecode'>#bpf</span> <span class='inlinecode'>#ebpf</span> performance debugging, have ...</a></li>
-<li>⇢ ⇢ <a href='#89-things-heshe-knows-about-git-commits-is-a-'>89 things he/she knows about Git commits is a ...</a></li>
-<li>⇢ ⇢ <a href='#i-found-that-working-on-multiple-side-projects-'>I found that working on multiple side projects ...</a></li>
-<li>⇢ ⇢ <a href='#agreed-agreed-besides-ruby-i-would-also-'>Agreed? Agreed. Besides <span class='inlinecode'>#Ruby</span>, I would also ...</a></li>
-<li>⇢ ⇢ <a href='#plan9-assembly-format-in-go-but-wait-it-s-not-'>Plan9 assembly format in Go, but wait, it&#39;s not ...</a></li>
-<li>⇢ ⇢ <a href='#this-is-a-neat-blog-post-about-the-helix-text-'>This is a neat blog post about the Helix text ...</a></li>
-<li>⇢ ⇢ <a href='#this-blog-post-is-basically-a-rant-against-'>This blog post is basically a rant against ...</a></li>
-<li>⇢ ⇢ <a href='#quick-trick-to-get-helix-themes-selected-'>Quick trick to get Helix themes selected ...</a></li>
-<li>⇢ ⇢ <a href='#example-where-complexity-attacks-you-from-'>Example where complexity attacks you from ...</a></li>
-<li>⇢ ⇢ <a href='#llms-for-ops-summaries-of-logs-probabilities-'>LLMs for Ops? Summaries of logs, probabilities ...</a></li>
-<li>⇢ ⇢ <a href='#excellent-article-about-your-dream-product-'>Excellent article about your dream Product ...</a></li>
-<li>⇢ ⇢ <a href='#i-just-finished-reading-all-chapters-of-cpu-'>I just finished reading all chapters of CPU ...</a></li>
-<li>⇢ ⇢ <a href='#indeed-useful-to-know-this-stuff-sre-'>Indeed, useful to know this stuff! <span class='inlinecode'>#sre</span> ...</a></li>
-<li>⇢ ⇢ <a href='#it-s-the-small-things-which-make-unix-like-'>It&#39;s the small things, which make Unix like ...</a></li>
-</ul><br />
-<h2 style='display: inline' id='october-2024'>October 2024</h2><br />
-<br />
-<h3 style='display: inline' id='first-on-call-experience-in-a-startup-doesn-t-'>First on-call experience in a startup. Doesn&#39;t ...</h3><br />
-<br />
-<span>First on-call experience in a startup. Doesn&#39;t sound a lot of fun! But the lessons were learned! <span class='inlinecode'>#sre</span></span><br />
-<br />
-<a class='textlink' href='https://ntietz.com/blog/lessons-from-my-first-on-call/'>https://ntietz.com/blog/lessons-from-my-first-on-call/</a><br />
-<br />
-<h3 style='display: inline' id='reviewing-your-own-pr-or-mr-before-asking-'>Reviewing your own PR or MR before asking ...</h3><br />
-<br />
-<span>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.</span><br />
-<br />
-<a class='textlink' href='https://www.jvt.me/posts/2019/01/12/self-code-review/'>https://www.jvt.me/posts/2019/01/12/self-code-review/</a><br />
-<br />
-<h3 style='display: inline' id='fun-with-defer-in-golang-i-did-t-know-that-'>Fun with defer in <span class='inlinecode'>#golang</span>, I did&#39;t know, that ...</h3><br />
-<br />
-<span>Fun with defer in <span class='inlinecode'>#golang</span>, I did&#39;t know, that a defer object can either be heap or stack allocated. And there are some rules for inlining, too.</span><br />
-<br />
-<a class='textlink' href='https://victoriametrics.com/blog/defer-in-go/'>https://victoriametrics.com/blog/defer-in-go/</a><br />
-<br />
-<h3 style='display: inline' id='i-have-been-in-incidents-understandably-'>I have been in incidents. Understandably, ...</h3><br />
-<br />
-<span>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&#39;s yours?</span><br />
-<br />
-<a class='textlink' href='https://firehydrant.com/blog/hot-take-dont-provide-incident-resolution-estimates/'>https://firehydrant.com/blog/hot-...de-incident-resolution-estimates/</a><br />
-<br />
-<h3 style='display: inline' id='little-tips-using-strings-in-golang-and-i-'>Little tips using strings in <span class='inlinecode'>#golang</span> and I ...</h3><br />
-<br />
-<span>Little tips using strings in <span class='inlinecode'>#golang</span> 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.</span><br />
-<br />
-<a class='textlink' href='https://www.calhoun.io/6-tips-for-using-strings-in-go/'>https://www.calhoun.io/6-tips-for-using-strings-in-go/</a><br />
-<br />
-<h3 style='display: inline' id='reading-this-post-about-rust-especially-the-'>Reading this post about <span class='inlinecode'>#rust</span> (especially the ...</h3><br />
-<br />
-<span>Reading this post about <span class='inlinecode'>#rust</span> (especially the first part), I think I made a good choice in deciding to dive into <span class='inlinecode'>#golang</span> 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?</span><br />
-<br />
-<a class='textlink' href='https://josephg.com/blog/rewriting-rust/'>https://josephg.com/blog/rewriting-rust/</a><br />
-<br />
-<h3 style='display: inline' id='the-opposite-of-chaosmonkey--'>The opposite of <span class='inlinecode'>#ChaosMonkey</span> ... ...</h3><br />
-<br />
-<span>The opposite of <span class='inlinecode'>#ChaosMonkey</span> ... 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? <span class='inlinecode'>#sre</span></span><br />
-<br />
-<a class='textlink' href='https://blog.cloudflare.com/nl-nl/improving-platform-resilience-at-cloudflare/'>https://blog.cloudflare.com/nl-nl...latform-resilience-at-cloudflare/</a><br />
-<br />
-<h2 style='display: inline' id='november-2024'>November 2024</h2><br />
-<br />
-<h3 style='display: inline' id='i-just-became-a-silver-patreon-for-osnews-what-'>I just became a Silver Patreon for OSnews. What ...</h3><br />
-<br />
-<span>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:</span><br />
-<br />
-<a class='textlink' href='https://foo.zone/gemfeed/2024-09-07-projects-i-support.html'>https://foo.zone/gemfeed/2024-09-07-projects-i-support.html</a><br />
-<br />
-<h3 style='display: inline' id='until-now-i-wasn-t-aware-that-go-is-under-a-'>Until now, I wasn&#39;t aware, that Go is under a ...</h3><br />
-<br />
-<span>Until now, I wasn&#39;t aware, that Go is under a BSD-style license (3-clause as it seems). Neat. I don&#39;t know why, but I always was under the impression it would be MIT. <span class='inlinecode'>#bsd</span> <span class='inlinecode'>#golang</span></span><br />
-<br />
-<a class='textlink' href='https://go.dev/LICENSE'>https://go.dev/LICENSE</a><br />
-<br />
-<h3 style='display: inline' id='these-are-some-book-notes-from-staff-engineer-'>These are some book notes from "Staff Engineer" ...</h3><br />
-<br />
-<span>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.</span><br />
-<br />
-<a class='textlink' href='https://foo.zone/gemfeed/2024-10-24-staff-engineer-book-notes.html'>https://foo.zone/gemfeed/2024-10-24-staff-engineer-book-notes.html</a><br />
-<br />
-<h3 style='display: inline' id='looking-at-kubernetes-it-s-pretty-much-'>Looking at <span class='inlinecode'>#Kubernetes</span>, it&#39;s pretty much ...</h3><br />
-<br />
-<span>Looking at <span class='inlinecode'>#Kubernetes</span>, it&#39;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&#39;t communicate through pipes, but network sockets, though. <span class='inlinecode'>#k8s</span></span><br />
-<br />
-<h3 style='display: inline' id='there-has-been-an-outage-at-the-upstream-'>There has been an outage at the upstream ...</h3><br />
-<br />
-<span>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 <span class='inlinecode'>#OpenBSD</span> VM!</span><br />
-<br />
-<a class='textlink' href='https://foo.zone/gemfeed/2024-04-01-KISS-high-availability-with-OpenBSD.html'>https://foo.zone/gemfeed/2024-04-...gh-availability-with-OpenBSD.html</a><br />
-<a class='textlink' href='https://openbsd.amsterdam/'>https://openbsd.amsterdam/</a><br />
-<br />
-<h3 style='display: inline' id='one-of-the-more-confusing-parts-in-go-nil-'>One of the more confusing parts in Go, nil ...</h3><br />
-<br />
-<span>One of the more confusing parts in Go, nil values vs nil errors: <span class='inlinecode'>#golang</span></span><br />
-<br />
-<a class='textlink' href='https://unexpected-go.com/nil-errors-that-are-non-nil-errors.html'>https://unexpected-go.com/nil-errors-that-are-non-nil-errors.html</a><br />
-<br />
-<h3 style='display: inline' id='agreeably-writing-down-with-diagrams-helps-you-'>Agreeably, writing down with Diagrams helps you ...</h3><br />
-<br />
-<span>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.</span><br />
-<br />
-<a class='textlink' href='https://ntietz.com/blog/reasons-to-write-design-docs/'>https://ntietz.com/blog/reasons-to-write-design-docs/</a><br />
-<br />
-<h3 style='display: inline' id='i-like-the-idea-of-types-in-ruby-raku-is-'>I like the idea of types in Ruby. Raku is ...</h3><br />
-<br />
-<span>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? <span class='inlinecode'>#Ruby</span> <span class='inlinecode'>#RakuLang</span></span><br />
-<br />
-<a class='textlink' href='https://github.com/ruby/rbs'>https://github.com/ruby/rbs</a><br />
-<br />
-<h3 style='display: inline' id='so-haskell-is-better-suited-for-general-'>So, <span class='inlinecode'>#Haskell</span> is better suited for general ...</h3><br />
-<br />
-<span>So, <span class='inlinecode'>#Haskell</span> is better suited for general purpose than <span class='inlinecode'>#Rust</span>? I thought deploying something in Haskell means publishing an academic paper :-) Interesting rant about Rust, though:</span><br />
-<br />
-<a class='textlink' href='https://chrisdone.com/posts/rust/'>https://chrisdone.com/posts/rust/</a><br />
-<br />
-<h3 style='display: inline' id='at-first-functional-options-add-a-bit-of-'>At first, functional options add a bit of ...</h3><br />
-<br />
-<span>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. <span class='inlinecode'>#golang</span></span><br />
-<br />
-<a class='textlink' href='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/</a><br />
-<br />
-<h3 style='display: inline' id='revamping-my-home-lab-a-little-bit-freebsd-'>Revamping my home lab a little bit. <span class='inlinecode'>#freebsd</span> ...</h3><br />
-<br />
-<span>Revamping my home lab a little bit. <span class='inlinecode'>#freebsd</span> <span class='inlinecode'>#bhyve</span> <span class='inlinecode'>#rocky</span> <span class='inlinecode'>#linux</span> <span class='inlinecode'>#vm</span> <span class='inlinecode'>#k3s</span> <span class='inlinecode'>#kuberbetes</span> <span class='inlinecode'>#wireguard</span> <span class='inlinecode'>#zfs</span> <span class='inlinecode'>#nfs</span> <span class='inlinecode'>#ha</span> <span class='inlinecode'>#relayd</span> <span class='inlinecode'>#k8s</span> <span class='inlinecode'>#selfhosting</span> <span class='inlinecode'>#self</span>-hosting <span class='inlinecode'>#homelab</span> <span class='inlinecode'>#home</span>-lab</span><br />
-<br />
-<a class='textlink' href='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</a><br />
-<br />
-<h3 style='display: inline' id='revamping-my-home-lab-a-little-bit-freebsd-'>Revamping my home lab a little bit. <span class='inlinecode'>#freebsd</span> ...</h3><br />
-<br />
-<span>Revamping my home lab a little bit. <span class='inlinecode'>#freebsd</span> <span class='inlinecode'>#bhyve</span> <span class='inlinecode'>#rocky</span> <span class='inlinecode'>#linux</span> <span class='inlinecode'>#vm</span> <span class='inlinecode'>#k3s</span> <span class='inlinecode'>#kubernetes</span> <span class='inlinecode'>#wireguard</span> <span class='inlinecode'>#zfs</span> <span class='inlinecode'>#nfs</span> <span class='inlinecode'>#ha</span> <span class='inlinecode'>#relayd</span> <span class='inlinecode'>#k8s</span> <span class='inlinecode'>#selfhosting</span> <span class='inlinecode'>#homelab</span></span><br />
-<br />
-<a class='textlink' href='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</a><br />
-<br />
-<h3 style='display: inline' id='wondering-to-which-web-browser-i-should-'>Wondering to which <span class='inlinecode'>#web</span> <span class='inlinecode'>#browser</span> I should ...</h3><br />
-<br />
-<span>Wondering to which <span class='inlinecode'>#web</span> <span class='inlinecode'>#browser</span> I should switch now personally ...</span><br />
-<br />
-<a class='textlink' href='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/</a><br />
-<br />
-<h3 style='display: inline' id='eks-node-viewer-is-a-nifty-tool-showing-the-'>eks-node-viewer is a nifty tool, showing the ...</h3><br />
-<br />
-<span>eks-node-viewer is a nifty tool, showing the compute nodes currently in use in the <span class='inlinecode'>#EKS</span> cluster. especially useful when dynamically allocating nodes with <span class='inlinecode'>#karpenter</span> or auto scaling groups.</span><br />
-<br />
-<a class='textlink' href='https://github.com/awslabs/eks-node-viewer'>https://github.com/awslabs/eks-node-viewer</a><br />
-<br />
-<h3 style='display: inline' id='have-put-more-photos-on---on-my-static-photo-'>Have put more Photos on - On my static photo ...</h3><br />
-<br />
-<span>Have put more Photos on - On my static photo sites - Generated with a <span class='inlinecode'>#bash</span> script</span><br />
-<br />
-<a class='textlink' href='https://irregular.ninja'>https://irregular.ninja</a><br />
-<br />
-<h3 style='display: inline' id='in-go-passing-pointers-are-not-automatically-'>In Go, passing pointers are not automatically ...</h3><br />
-<br />
-<span>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. <span class='inlinecode'>#golang</span></span><br />
-<br />
-<a class='textlink' href='https://blog.boot.dev/golang/pointers-faster-than-values/'>https://blog.boot.dev/golang/pointers-faster-than-values/</a><br />
-<br />
-<h3 style='display: inline' id='myself-being-part-of-an-on-call-rotations-over-'>Myself being part of an on-call rotations over ...</h3><br />
-<br />
-<span>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:</span><br />
-<br />
-<a class='textlink' href='https://ntietz.com/blog/what-i-tell-people-new-to-oncall/'>https://ntietz.com/blog/what-i-tell-people-new-to-oncall/</a><br />
-<br />
-<h3 style='display: inline' id='feels-good-to-code-in-my-old-love-perl-again-'>Feels good to code in my old love <span class='inlinecode'>#Perl</span> again ...</h3><br />
-<br />
-<span>Feels good to code in my old love <span class='inlinecode'>#Perl</span> again after a while. I am implementing a log parser for generating site stats of my personal homepage! :-) @Perl</span><br />
-<br />
-<h3 style='display: inline' id='this-is-an-interactive-summary-of-the-go-'>This is an interactive summary of the Go ...</h3><br />
-<br />
-<span>This is an interactive summary of the Go release, with a lot of examples utilising iterators in the slices and map packages. Love it! <span class='inlinecode'>#golang</span></span><br />
-<br />
-<a class='textlink' href='https://antonz.org/go-1-23/'>https://antonz.org/go-1-23/</a><br />
-<br />
-<h2 style='display: inline' id='december-2024'>December 2024</h2><br />
-<br />
-<h3 style='display: inline' id='thats-unexpected-you-cant-remove-a-nan-key-'>Thats unexpected, you cant remove a NaN key ...</h3><br />
-<br />
-<span>Thats unexpected, you cant remove a NaN key from a map without clearing it! <span class='inlinecode'>#golang</span></span><br />
-<br />
-<a class='textlink' href='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</a><br />
-<br />
-<h3 style='display: inline' id='my-second-blog-post-about-revamping-my-home-lab-'>My second blog post about revamping my home lab ...</h3><br />
-<br />
-<span>My second blog post about revamping my home lab a little bit just hit the net. <span class='inlinecode'>#FreeBSD</span> <span class='inlinecode'>#ZFS</span> <span class='inlinecode'>#n100</span> <span class='inlinecode'>#k8s</span> <span class='inlinecode'>#k3s</span> <span class='inlinecode'>#kubernetes</span></span><br />
-<br />
-<a class='textlink' href='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</a><br />
-<br />
-<h3 style='display: inline' id='very-insightful-article-about-tech-hiring-in-'>Very insightful article about tech hiring in ...</h3><br />
-<br />
-<span>Very insightful article about tech hiring in the age of LLMs. As an interviewer, I have experienced some of the scrnarios already first hand...</span><br />
-<br />
-<a class='textlink' href='https://newsletter.pragmaticengineer.com/p/how-genai-changes-tech-hiring'>https://newsletter.pragmaticengin...m/p/how-genai-changes-tech-hiring</a><br />
-<br />
-<h3 style='display: inline' id='for-bpf-ebpf-performance-debugging-have-'>for <span class='inlinecode'>#bpf</span> <span class='inlinecode'>#ebpf</span> performance debugging, have ...</h3><br />
-<br />
-<span>for <span class='inlinecode'>#bpf</span> <span class='inlinecode'>#ebpf</span> 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 <span class='inlinecode'>#linux</span> kernel. Highly recommend!</span><br />
-<br />
-<a class='textlink' href='https://github.com/Netflix/bpftop'>https://github.com/Netflix/bpftop</a><br />
-<br />
-<h3 style='display: inline' id='89-things-heshe-knows-about-git-commits-is-a-'>89 things he/she knows about Git commits is a ...</h3><br />
-<br />
-<span>89 things he/she knows about Git commits is a neat list of <span class='inlinecode'>#Git</span> wisdoms</span><br />
-<br />
-<a class='textlink' href='https://www.jvt.me/posts/2024/07/12/things-know-commits/'>https://www.jvt.me/posts/2024/07/12/things-know-commits/</a><br />
-<br />
-<h3 style='display: inline' id='i-found-that-working-on-multiple-side-projects-'>I found that working on multiple side projects ...</h3><br />
-<br />
-<span>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&#39;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.</span><br />
-<br />
-<h3 style='display: inline' id='agreed-agreed-besides-ruby-i-would-also-'>Agreed? Agreed. Besides <span class='inlinecode'>#Ruby</span>, I would also ...</h3><br />
-<br />
-<span>Agreed? Agreed. Besides <span class='inlinecode'>#Ruby</span>, I would also add <span class='inlinecode'>#RakuLang</span> and <span class='inlinecode'>#Perl</span> @Perl to the list of languages that are great for shell scripts - "Making Easy Things Easy and Hard Things Possible"</span><br />
-<br />
-<a class='textlink' href='https://lucasoshiro.github.io/posts-en/2024-06-17-ruby-shellscript/'>https://lucasoshiro.github.io/posts-en/2024-06-17-ruby-shellscript/</a><br />
-<br />
-<h3 style='display: inline' id='plan9-assembly-format-in-go-but-wait-it-s-not-'>Plan9 assembly format in Go, but wait, it&#39;s not ...</h3><br />
-<br />
-<span>Plan9 assembly format in Go, but wait, it&#39;s not the Operating System Plan9! <span class='inlinecode'>#golang</span> <span class='inlinecode'>#rabbithole</span></span><br />
-<br />
-<a class='textlink' href='https://www.osnews.com/story/140941/go-plan9-memo-speeding-up-calculations-450/'>https://www.osnews.com/story/1409...emo-speeding-up-calculations-450/</a><br />
-<br />
-<h3 style='display: inline' id='this-is-a-neat-blog-post-about-the-helix-text-'>This is a neat blog post about the Helix text ...</h3><br />
-<br />
-<span>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 <span class='inlinecode'>#tmux</span>. It doesn&#39;t bother me that Helix is purely terminal-based and therefore everything has to be in the same font. <span class='inlinecode'>#HelixEditor</span></span><br />
-<br />
-<a class='textlink' href='https://jonathan-frere.com/posts/helix/'>https://jonathan-frere.com/posts/helix/</a><br />
-<br />
-<h3 style='display: inline' id='this-blog-post-is-basically-a-rant-against-'>This blog post is basically a rant against ...</h3><br />
-<br />
-<span>This blog post is basically a rant against DataDog... Personally, I don&#39;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! <span class='inlinecode'>#dtail</span> <span class='inlinecode'>#logs</span> <span class='inlinecode'>#logmanagement</span></span><br />
-<br />
-<a class='textlink' href='https://crys.site/blog/2024/reinventint-the-weel/'>https://crys.site/blog/2024/reinventint-the-weel/</a><br />
-<a class='textlink' href='https://dtail.dev'>https://dtail.dev</a><br />
-<br />
-<h3 style='display: inline' id='quick-trick-to-get-helix-themes-selected-'>Quick trick to get Helix themes selected ...</h3><br />
-<br />
-<span>Quick trick to get Helix themes selected randomly <span class='inlinecode'>#HelixEditor</span></span><br />
-<br />
-<a class='textlink' href='https://foo.zone/gemfeed/2024-12-15-random-helix-themes.html'>https://foo.zone/gemfeed/2024-12-15-random-helix-themes.html</a><br />
-<br />
-<h3 style='display: inline' id='example-where-complexity-attacks-you-from-'>Example where complexity attacks you from ...</h3><br />
-<br />
-<span>Example where complexity attacks you from behind <span class='inlinecode'>#k8s</span> <span class='inlinecode'>#kubernetes</span> <span class='inlinecode'>#OpenAI</span></span><br />
-<br />
-<a class='textlink' href='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/</a><br />
-<br />
-<h3 style='display: inline' id='llms-for-ops-summaries-of-logs-probabilities-'>LLMs for Ops? Summaries of logs, probabilities ...</h3><br />
-<br />
-<span>LLMs for Ops? Summaries of logs, probabilities about correctness, auto-generating Ansible, some uses cases are there. Wouldn&#39;t trust it fully, though.</span><br />
-<br />
-<a class='textlink' href='https://youtu.be/WodaffxVq-E?si=noY0egrfl5izCSQI'>https://youtu.be/WodaffxVq-E?si=noY0egrfl5izCSQI</a><br />
-<br />
-<h3 style='display: inline' id='excellent-article-about-your-dream-product-'>Excellent article about your dream Product ...</h3><br />
-<br />
-<span>Excellent article about your dream Product Manager: Why every software team needs a product manager to thrive via @wallabagapp</span><br />
-<br />
-<a class='textlink' href='https://testdouble.com/insights/why-product-managers-accelerate-improve-software-delivery'>https://testdouble.com/insights/w...elerate-improve-software-delivery</a><br />
-<br />
-<h3 style='display: inline' id='i-just-finished-reading-all-chapters-of-cpu-'>I just finished reading all chapters of CPU ...</h3><br />
-<br />
-<span>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)! <span class='inlinecode'>#cpu</span> <span class='inlinecode'>#linux</span> <span class='inlinecode'>#unix</span> <span class='inlinecode'>#kernel</span> <span class='inlinecode'>#macOS</span></span><br />
-<br />
-<a class='textlink' href='https://cpu.land/'>https://cpu.land/</a><br />
-<br />
-<h3 style='display: inline' id='indeed-useful-to-know-this-stuff-sre-'>Indeed, useful to know this stuff! <span class='inlinecode'>#sre</span> ...</h3><br />
-<br />
-<span>Indeed, useful to know this stuff! <span class='inlinecode'>#sre</span></span><br />
-<br />
-<a class='textlink' href='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/</a><br />
-<br />
-<h3 style='display: inline' id='it-s-the-small-things-which-make-unix-like-'>It&#39;s the small things, which make Unix like ...</h3><br />
-<br />
-<span>It&#39;s the small things, which make Unix like systems, like GNU/Linux, interesting. Didn&#39;t know about this <span class='inlinecode'>#GNU</span> <span class='inlinecode'>#Tar</span> behaviour yet:</span><br />
-<br />
-<a class='textlink' href='https://xeiaso.net/notes/2024/pop-quiz-tar/&lt;nil&gt;15110'>https://xeiaso.net/notes/2024/pop-quiz-tar/<nil>15110</a><br />
-<p class="footer">
-Generated with <a href="https://codeberg.org/snonux/gemtexter">Gemtexter 3.0.1-develop</a> |
-served by <a href="https://www.OpenBSD.org">OpenBSD</a>/<a href="https://man.openbsd.org/relayd.8">relayd(8)</a>+<a href="https://man.openbsd.org/httpd.8">httpd(8)</a> |
-<a href="https://foo.zone/site-mirrors.html">Site Mirrors</a>
-</p>
-</body>
-</html>
diff --git a/index.html b/index.html
index b0195c22..30bee577 100644
--- a/index.html
+++ b/index.html
@@ -13,7 +13,7 @@ View this page as <a href="https://codeberg.org/snonux/foo.zone/src/branch/conte
</p>
<h1 style='display: inline' id='foozone'>foo.zone</h1><br />
<br />
-<span class='quote'>This site was generated at 2024-12-31T19:00:17+02:00 by <span class='inlinecode'>Gemtexter</span></span><br />
+<span class='quote'>This site was generated at 2025-01-04T15:50:21+02:00 by <span class='inlinecode'>Gemtexter</span></span><br />
<br />
<span>Welcome to the foo.zone. Everything you read on this site is my personal opinion and experience. You can call me a Linux/*BSD enthusiast and hobbyist. I mainly write about tech, IT, programming and sometimes also about self-improvement here. Note that this blog usually does not overlap with what I do at my day job as a Site Reliability Engineer.</span><br />
<br />
diff --git a/uptime-stats.html b/uptime-stats.html
index cbda6235..ae27fd8f 100644
--- a/uptime-stats.html
+++ b/uptime-stats.html
@@ -13,7 +13,7 @@ View this page as <a href="https://codeberg.org/snonux/foo.zone/src/branch/conte
</p>
<h1 style='display: inline' id='my-machine-uptime-stats'>My machine uptime stats</h1><br />
<br />
-<span class='quote'>This site was last updated at 2024-12-31T19:00:17+02:00</span><br />
+<span class='quote'>This site was last updated at 2025-01-04T15:50:21+02:00</span><br />
<br />
<span>The following stats were collected via <span class='inlinecode'>uptimed</span> on all of my personal computers over many years and the output was generated by <span class='inlinecode'>guprecords</span>, the global uptime records stats analyser of mine.</span><br />
<br />
@@ -26,299 +26,6 @@ View this page as <a href="https://codeberg.org/snonux/foo.zone/src/branch/conte
<br />
<a class='textlink' href='./gemfeed/2023-05-01-unveiling-guprecords:-uptime-records-with-raku.html'>Unveiling <span class='inlinecode'>guprecords.raku</span>: Uptime records with Raku</a><br />
<br />
-<h2 style='display: inline' id='top-20-boots-s-by-host'>Top 20 Boots&#39;s by Host</h2><br />
-<br />
-<span>Boots is the total number of host boots over the entire lifespan.</span><br />
-<br />
-<pre>
-+-----+----------------+-------+
-| Pos | Host | Boots |
-+-----+----------------+-------+
-| 1. | alphacentauri | 671 |
-| 2. | mars | 207 |
-| 3. | *earth | 162 |
-| 4. | callisto | 153 |
-| 5. | dionysus | 136 |
-| 6. | tauceti-e | 120 |
-| 7. | makemake | 60 |
-| 8. | *uranus | 57 |
-| 9. | pluto | 51 |
-| 10. | mega15289 | 50 |
-| 11. | *t450 | 42 |
-| 12. | phobos | 40 |
-| 13. | mega8477 | 40 |
-| 14. | *fishfinger | 36 |
-| 15. | sun | 33 |
-| 16. | *blowfish | 32 |
-| 17. | *mega-m3-pro | 24 |
-| 18. | moon | 20 |
-| 19. | vulcan | 19 |
-| 20. | tauceti | 16 |
-+-----+----------------+-------+
-</pre>
-<br />
-<h2 style='display: inline' id='top-20-uptime-s-by-host'>Top 20 Uptime&#39;s by Host</h2><br />
-<br />
-<span>Uptime is the total uptime of a host over the entire lifespan.</span><br />
-<br />
-<pre>
-+-----+----------------+-----------------------------+
-| Pos | Host | Uptime |
-+-----+----------------+-----------------------------+
-| 1. | vulcan | 4 years, 5 months, 6 days |
-| 2. | sun | 3 years, 9 months, 26 days |
-| 3. | *uranus | 3 years, 9 months, 5 days |
-| 4. | uugrn | 3 years, 5 months, 5 days |
-| 5. | deltavega | 3 years, 1 months, 21 days |
-| 6. | *blowfish | 2 years, 12 months, 7 days |
-| 7. | *earth | 2 years, 11 months, 21 days |
-| 8. | pluto | 2 years, 10 months, 29 days |
-| 9. | *fishfinger | 2 years, 4 months, 5 days |
-| 10. | tauceti | 2 years, 3 months, 19 days |
-| 11. | mega15289 | 1 years, 12 months, 17 days |
-| 12. | tauceti-f | 1 years, 9 months, 18 days |
-| 13. | mega8477 | 1 years, 3 months, 25 days |
-| 14. | host0 | 1 years, 3 months, 9 days |
-| 15. | tauceti-e | 1 years, 2 months, 20 days |
-| 16. | makemake | 1 years, 2 months, 20 days |
-| 17. | *t450 | 0 years, 11 months, 18 days |
-| 18. | callisto | 0 years, 10 months, 31 days |
-| 19. | alphacentauri | 0 years, 10 months, 28 days |
-| 20. | babylon5 | 0 years, 9 months, 25 days |
-+-----+----------------+-----------------------------+
-</pre>
-<br />
-<h2 style='display: inline' id='top-20-score-s-by-host'>Top 20 Score&#39;s by Host</h2><br />
-<br />
-<span>Score is calculated by combining all other metrics.</span><br />
-<br />
-<pre>
-+-----+----------------+-------+
-| Pos | Host | Score |
-+-----+----------------+-------+
-| 1. | *uranus | 334 |
-| 2. | vulcan | 275 |
-| 3. | sun | 238 |
-| 4. | uugrn | 211 |
-| 5. | *earth | 206 |
-| 6. | alphacentauri | 201 |
-| 7. | deltavega | 193 |
-| 8. | *blowfish | 190 |
-| 9. | pluto | 182 |
-| 10. | dionysus | 156 |
-| 11. | *fishfinger | 148 |
-| 12. | mega15289 | 147 |
-| 13. | tauceti | 141 |
-| 14. | makemake | 114 |
-| 15. | tauceti-f | 108 |
-| 16. | tauceti-e | 96 |
-| 17. | callisto | 86 |
-| 18. | mega8477 | 80 |
-| 19. | *t450 | 78 |
-| 20. | host0 | 76 |
-+-----+----------------+-------+
-</pre>
-<br />
-<h2 style='display: inline' id='top-20-downtime-s-by-host'>Top 20 Downtime&#39;s by Host</h2><br />
-<br />
-<span>Downtime is the total downtime of a host over the entire lifespan.</span><br />
-<br />
-<pre>
-+-----+----------------+-----------------------------+
-| Pos | Host | Downtime |
-+-----+----------------+-----------------------------+
-| 1. | dionysus | 8 years, 3 months, 16 days |
-| 2. | *uranus | 6 years, 1 months, 16 days |
-| 3. | alphacentauri | 5 years, 11 months, 18 days |
-| 4. | makemake | 2 years, 6 months, 20 days |
-| 5. | moon | 2 years, 1 months, 1 days |
-| 6. | callisto | 1 years, 5 months, 15 days |
-| 7. | mega15289 | 1 years, 4 months, 24 days |
-| 8. | *t450 | 1 years, 2 months, 13 days |
-| 9. | mars | 1 years, 2 months, 10 days |
-| 10. | tauceti-e | 0 years, 12 months, 9 days |
-| 11. | sirius | 0 years, 8 months, 20 days |
-| 12. | *earth | 0 years, 6 months, 13 days |
-| 13. | deimos | 0 years, 5 months, 15 days |
-| 14. | joghurt | 0 years, 2 months, 9 days |
-| 15. | host0 | 0 years, 2 months, 1 days |
-| 16. | fibonacci | 0 years, 1 months, 11 days |
-| 17. | cobol | 0 years, 1 months, 8 days |
-| 18. | mega8477 | 0 years, 1 months, 8 days |
-| 19. | sun | 0 years, 1 months, 7 days |
-| 20. | sentax | 0 years, 1 months, 6 days |
-+-----+----------------+-----------------------------+
-</pre>
-<br />
-<h2 style='display: inline' id='top-20-lifespan-s-by-host'>Top 20 Lifespan&#39;s by Host</h2><br />
-<br />
-<span>Lifespan is the total uptime + the total downtime of a host.</span><br />
-<br />
-<pre>
-+-----+----------------+-----------------------------+
-| Pos | Host | Lifespan |
-+-----+----------------+-----------------------------+
-| 1. | *uranus | 9 years, 9 months, 21 days |
-| 2. | dionysus | 8 years, 6 months, 17 days |
-| 3. | alphacentauri | 6 years, 9 months, 13 days |
-| 4. | vulcan | 4 years, 5 months, 6 days |
-| 5. | sun | 3 years, 10 months, 2 days |
-| 6. | makemake | 3 years, 8 months, 10 days |
-| 7. | uugrn | 3 years, 5 months, 5 days |
-| 8. | *earth | 3 years, 5 months, 4 days |
-| 9. | mega15289 | 3 years, 4 months, 9 days |
-| 10. | deltavega | 3 years, 1 months, 21 days |
-| 11. | *blowfish | 2 years, 12 months, 8 days |
-| 12. | pluto | 2 years, 10 months, 30 days |
-| 13. | moon | 2 years, 4 months, 25 days |
-| 14. | *fishfinger | 2 years, 4 months, 5 days |
-| 15. | tauceti | 2 years, 3 months, 22 days |
-| 16. | callisto | 2 years, 3 months, 13 days |
-| 17. | tauceti-e | 2 years, 1 months, 29 days |
-| 18. | *t450 | 2 years, 1 months, 1 days |
-| 19. | tauceti-f | 1 years, 9 months, 20 days |
-| 20. | mars | 1 years, 8 months, 19 days |
-+-----+----------------+-----------------------------+
-</pre>
-<br />
-<h2 style='display: inline' id='top-20-boots-s-by-kernelmajor'>Top 20 Boots&#39;s by KernelMajor</h2><br />
-<br />
-<span>Boots is the total number of host boots over the entire lifespan.</span><br />
-<br />
-<pre>
-+-----+----------------+-------+
-| Pos | KernelMajor | Boots |
-+-----+----------------+-------+
-| 1. | FreeBSD 10... | 551 |
-| 2. | Linux 3... | 550 |
-| 3. | Linux 5... | 162 |
-| 4. | Linux 4... | 161 |
-| 5. | FreeBSD 11... | 153 |
-| 6. | *Linux 6... | 125 |
-| 7. | FreeBSD 13... | 116 |
-| 8. | *OpenBSD 7... | 78 |
-| 9. | Darwin 13... | 40 |
-| 10. | *Darwin 23... | 29 |
-| 11. | FreeBSD 5... | 25 |
-| 12. | Linux 2... | 22 |
-| 13. | *FreeBSD 14... | 20 |
-| 14. | Darwin 21... | 17 |
-| 15. | Darwin 15... | 15 |
-| 16. | Darwin 22... | 12 |
-| 17. | Darwin 18... | 11 |
-| 18. | FreeBSD 6... | 10 |
-| 19. | OpenBSD 4... | 10 |
-| 20. | FreeBSD 7... | 10 |
-+-----+----------------+-------+
-</pre>
-<br />
-<h2 style='display: inline' id='top-20-uptime-s-by-kernelmajor'>Top 20 Uptime&#39;s by KernelMajor</h2><br />
-<br />
-<span>Uptime is the total uptime of a host over the entire lifespan.</span><br />
-<br />
-<pre>
-+-----+----------------+------------------------------+
-| Pos | KernelMajor | Uptime |
-+-----+----------------+------------------------------+
-| 1. | Linux 3... | 15 years, 10 months, 25 days |
-| 2. | *OpenBSD 7... | 5 years, 11 months, 10 days |
-| 3. | FreeBSD 10... | 5 years, 9 months, 9 days |
-| 4. | Linux 5... | 4 years, 10 months, 21 days |
-| 5. | Linux 4... | 2 years, 7 months, 22 days |
-| 6. | FreeBSD 11... | 2 years, 4 months, 28 days |
-| 7. | *Linux 6... | 2 years, 2 months, 6 days |
-| 8. | Linux 2... | 1 years, 11 months, 21 days |
-| 9. | Darwin 13... | 1 years, 3 months, 25 days |
-| 10. | FreeBSD 6... | 1 years, 3 months, 9 days |
-| 11. | *FreeBSD 14... | 0 years, 11 months, 4 days |
-| 12. | *Darwin 23... | 0 years, 9 months, 6 days |
-| 13. | OpenBSD 4... | 0 years, 8 months, 12 days |
-| 14. | Darwin 21... | 0 years, 8 months, 2 days |
-| 15. | Darwin 18... | 0 years, 7 months, 5 days |
-| 16. | Darwin 22... | 0 years, 6 months, 22 days |
-| 17. | Darwin 15... | 0 years, 6 months, 15 days |
-| 18. | FreeBSD 5... | 0 years, 5 months, 18 days |
-| 19. | FreeBSD 13... | 0 years, 4 months, 2 days |
-| 20. | Darwin 20... | 0 years, 3 months, 7 days |
-+-----+----------------+------------------------------+
-</pre>
-<br />
-<h2 style='display: inline' id='top-20-score-s-by-kernelmajor'>Top 20 Score&#39;s by KernelMajor</h2><br />
-<br />
-<span>Score is calculated by combining all other metrics.</span><br />
-<br />
-<pre>
-+-----+----------------+-------+
-| Pos | KernelMajor | Score |
-+-----+----------------+-------+
-| 1. | Linux 3... | 1045 |
-| 2. | FreeBSD 10... | 406 |
-| 3. | *OpenBSD 7... | 379 |
-| 4. | Linux 5... | 317 |
-| 5. | Linux 4... | 175 |
-| 6. | FreeBSD 11... | 159 |
-| 7. | *Linux 6... | 145 |
-| 8. | Linux 2... | 121 |
-| 9. | Darwin 13... | 80 |
-| 10. | FreeBSD 6... | 75 |
-| 11. | *FreeBSD 14... | 57 |
-| 12. | *Darwin 23... | 48 |
-| 13. | OpenBSD 4... | 39 |
-| 14. | Darwin 21... | 38 |
-| 15. | Darwin 18... | 32 |
-| 16. | Darwin 22... | 30 |
-| 17. | Darwin 15... | 29 |
-| 18. | FreeBSD 5... | 25 |
-| 19. | FreeBSD 13... | 25 |
-| 20. | Darwin 20... | 11 |
-+-----+----------------+-------+
-</pre>
-<br />
-<h2 style='display: inline' id='top-20-boots-s-by-kernelname'>Top 20 Boots&#39;s by KernelName</h2><br />
-<br />
-<span>Boots is the total number of host boots over the entire lifespan.</span><br />
-<br />
-<pre>
-+-----+------------+-------+
-| Pos | KernelName | Boots |
-+-----+------------+-------+
-| 1. | *Linux | 1020 |
-| 2. | *FreeBSD | 885 |
-| 3. | *Darwin | 129 |
-| 4. | *OpenBSD | 88 |
-+-----+------------+-------+
-</pre>
-<br />
-<h2 style='display: inline' id='top-20-uptime-s-by-kernelname'>Top 20 Uptime&#39;s by KernelName</h2><br />
-<br />
-<span>Uptime is the total uptime of a host over the entire lifespan.</span><br />
-<br />
-<pre>
-+-----+------------+-----------------------------+
-| Pos | KernelName | Uptime |
-+-----+------------+-----------------------------+
-| 1. | *Linux | 27 years, 2 months, 28 days |
-| 2. | *FreeBSD | 10 years, 10 months, 5 days |
-| 3. | *OpenBSD | 6 years, 6 months, 20 days |
-| 4. | *Darwin | 4 years, 2 months, 16 days |
-+-----+------------+-----------------------------+
-</pre>
-<br />
-<h2 style='display: inline' id='top-20-score-s-by-kernelname'>Top 20 Score&#39;s by KernelName</h2><br />
-<br />
-<span>Score is calculated by combining all other metrics.</span><br />
-<br />
-<pre>
-+-----+------------+-------+
-| Pos | KernelName | Score |
-+-----+------------+-------+
-| 1. | *Linux | 1804 |
-| 2. | *FreeBSD | 758 |
-| 3. | *OpenBSD | 418 |
-| 4. | *Darwin | 274 |
-+-----+------------+-------+
-</pre>
-<br />
<p class="footer">
Generated with <a href="https://codeberg.org/snonux/gemtexter">Gemtexter 3.0.1-develop</a> |
served by <a href="https://www.OpenBSD.org">OpenBSD</a>/<a href="https://man.openbsd.org/relayd.8">relayd(8)</a>+<a href="https://man.openbsd.org/httpd.8">httpd(8)</a> |