summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--about/resources.gmi206
-rw-r--r--gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.gmi12
-rw-r--r--gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.gmi.tpl12
-rw-r--r--gemfeed/atom.xml14
-rw-r--r--index.gmi2
-rw-r--r--uptime-stats.gmi104
6 files changed, 181 insertions, 169 deletions
diff --git a/about/resources.gmi b/about/resources.gmi
index cdb5afd6..e3d48269 100644
--- a/about/resources.gmi
+++ b/about/resources.gmi
@@ -35,110 +35,110 @@ You won't find any links on this site because, over time, the links will break.
In random order:
-* Raku Recipes; J.J. Merelo; Apress
-* Seeking SRE: Conversations About Running Production Systems at Scale; David N. Blank-Edelman; eBook
-* Distributed Systems: Principles and Paradigms; Andrew S. Tanenbaum; Pearson
-* Data Science at the Command Line; Jeroen Janssens; O'Reilly
-* Ultimate Go Notebook; Bill Kennedy
-* Go Brain Teasers - Exercise Your Mind; Miki Tebeka; The Pragmatic Programmers
-* Modern Perl; Chromatic ; Onyx Neon Press
-* 97 things every SRE should know; Emil Stolarsky, Jaime Woo; O'Reilly
-* Raku Fundamentals; Moritz Lenz; Apress
-* Object-Oriented Programming with ANSI-C; Axel-Tobias Schreiner
-* Tmux 2: Productive Mouse-free Development; Brain P. Hogan; The Pragmatic Programmers
-* Java ist auch eine Insel; Christian Ullenboom;
-* Chaos Engineering - System Resiliency in Practice; Casey Rosenthal and Nora Jones; eBook
-* The KCNA (Kubernetes and Cloud Native Associate) Book; Nigel Poulton
-* 100 Go Mistakes and How to Avoid Them; Teiva Harsanyi; Manning Publications
+* DevOps And Site Reliability Engineering Handbook; Stephen Fleming; Audible
* Amazon Web Services in Action; Michael Wittig and Andreas Wittig; Manning Publications
-* Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O'Reilly
-* Systemprogrammierung in Go; Frank Müller; dpunkt
-* Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O'Reilly
+* The KCNA (Kubernetes and Cloud Native Associate) Book; Nigel Poulton
+* Programming Perl aka "The Camel Book"; Tom Christiansen, brian d foy, Larry Wall & Jon Orwant; O'Reilly
* Hands-on Infrastructure Monitoring with Prometheus; Joel Bastos, Pedro Araujo; Packt
+* The DevOps Handbook; Gene Kim, Jez Humble, Patrick Debois, John Willis; Audible
+* Site Reliability Engineering; How Google runs production systems; O'Reilly
+* Seeking SRE: Conversations About Running Production Systems at Scale; David N. Blank-Edelman; eBook
+* Raku Fundamentals; Moritz Lenz; Apress
+* Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press
* Concurrency in Go; Katherine Cox-Buday; O'Reilly
+* The Docker Book; James Turnbull; Kindle
* Effective Java; Joshua Bloch; Addison-Wesley Professional
-* The Pragmatic Programmer; David Thomas; Addison-Wesley
-* The Kubernetes Book; Nigel Poulton; Unabridged Audiobook
+* Leanring eBPF; Liz Rice; O'Reilly
+* Perl New Features; Joshua McAdams, brian d foy; Perl School
* Pro Puppet; James Turnbull, Jeffrey McCune; Apress
-* Higher Order Perl; Mark Dominus; Morgan Kaufmann
-* Site Reliability Engineering; How Google runs production systems; O'Reilly
* Clusterbau mit Linux-HA; Michael Schwartzkopff; O'Reilly
-* Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press
-* DevOps And Site Reliability Engineering Handbook; Stephen Fleming; Audible
-* Developing Games in Java; David Brackeen and others...; New Riders
-* Funktionale Programmierung; Peter Pepper; Springer
-* Perl New Features; Joshua McAdams, brian d foy; Perl School
-* Polished Ruby Programming; Jeremy Evans; Packt Publishing
-* Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press
-* C++ Programming Language; Bjarne Stroustrup;
* DNS and BIND; Cricket Liu; O'Reilly
-* Kubernetes Cookbook; Sameer Naik, Sébastien Goasguen, Jonathan Michaux; O'Reilly
-* Effective awk programming; Arnold Robbins; O'Reilly
-* Terraform Cookbook; Mikael Krief; Packt Publishing
-* The DevOps Handbook; Gene Kim, Jez Humble, Patrick Debois, John Willis; Audible
* 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
-* Programming Perl aka "The Camel Book"; Tom Christiansen, brian d foy, Larry Wall & Jon Orwant; O'Reilly
-* The Docker Book; James Turnbull; Kindle
+* Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O'Reilly
+* The Pragmatic Programmer; David Thomas; Addison-Wesley
* Programming Ruby 3.3 (5th Edition); Noel Rappin, with Dave Thomas; The Pragmatic Bookshelf
-* 21st Century C: C Tips from the New School; Ben Klemens; O'Reilly
-* Leanring eBPF; Liz Rice; O'Reilly
+* Java ist auch eine Insel; Christian Ullenboom;
+* Polished Ruby Programming; Jeremy Evans; Packt Publishing
+* Go Brain Teasers - Exercise Your Mind; Miki Tebeka; The Pragmatic Programmers
+* Modern Perl; Chromatic ; Onyx Neon Press
+* Developing Games in Java; David Brackeen and others...; New Riders
+* Terraform Cookbook; Mikael Krief; Packt Publishing
+* Raku Recipes; J.J. Merelo; Apress
+* Ultimate Go Notebook; Bill Kennedy
+* Systemprogrammierung in Go; Frank Müller; dpunkt
+* Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press
+* Higher Order Perl; Mark Dominus; Morgan Kaufmann
+* Data Science at the Command Line; Jeroen Janssens; O'Reilly
+* Kubernetes Cookbook; Sameer Naik, Sébastien Goasguen, Jonathan Michaux; O'Reilly
+* Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O'Reilly
* The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional
+* 100 Go Mistakes and How to Avoid Them; Teiva Harsanyi; Manning Publications
+* C++ Programming Language; Bjarne Stroustrup;
+* Object-Oriented Programming with ANSI-C; Axel-Tobias Schreiner
+* 97 things every SRE should know; Emil Stolarsky, Jaime Woo; O'Reilly
+* Distributed Systems: Principles and Paradigms; Andrew S. Tanenbaum; Pearson
+* Chaos Engineering - System Resiliency in Practice; Casey Rosenthal and Nora Jones; eBook
+* Tmux 2: Productive Mouse-free Development; Brain P. Hogan; The Pragmatic Programmers
+* 21st Century C: C Tips from the New School; Ben Klemens; O'Reilly
+* Effective awk programming; Arnold Robbins; O'Reilly
+* The Kubernetes Book; Nigel Poulton; Unabridged Audiobook
+* Funktionale Programmierung; Peter Pepper; Springer
## Technical references
I didn't read them from the beginning to the end, but I am using them to look up things. The books are in random order:
-* The Linux Programming Interface; Michael Kerrisk; No Starch Press
-* Implementing Service Level Objectives; Alex Hidalgo; O'Reilly
+* Groovy Kurz & Gut; Joerg Staudemeier; O'Reilly
+* Relayd and Httpd Mastery; Michael W Lucas
* Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O'Reilly
+* Algorithms; Robert Sedgewick, Kevin Wayne; Addison Wesley
* BPF Performance Tools - Linux System and Application Observability, Brendan Gregg; Addison Wesley
+* The Linux Programming Interface; Michael Kerrisk; No Starch Press
* Go: Design Patterns for Real-World Projects; Mat Ryer; Packt
-* Relayd and Httpd Mastery; Michael W Lucas
-* Algorithms; Robert Sedgewick, Kevin Wayne; Addison Wesley
-* Groovy Kurz & Gut; Joerg Staudemeier; O'Reilly
+* Implementing Service Level Objectives; Alex Hidalgo; O'Reilly
## Self-development and soft-skills books
In random order:
-* Ultralearning; Anna Laurent; Self-published via Amazon
-* Stop starting, start finishing; Arne Roock; Lean-Kanban University
-* The Off Switch; Mark Cropley; Virgin Books (RE-READ 1ST TIME)
-* So Good They Can't Ignore You; Cal Newport; Business Plus
-* Soft Skills; John Sommez; Manning Publications
-* Digital Minimalism; Cal Newport; Portofolio Penguin
+* Buddah and Einstein walk into a Bar; Guy Joseph Ale, Claire Bloom; Blackstone Publishing
* Never Split the Difference; Chris Voss, Tahl Raz; Random House Business
+* 101 Essays that change the way you think; Brianna Wiest; Audiobook
+* 97 Things Every Engineering Manager Should Know; Camille Fournier; Audiobook
+* So Good They Can't Ignore You; Cal Newport; Business Plus
+* The Joy of Missing Out; Christina Crook; New Society Publishers
+* The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books
+* Ultralearning; Scott Young; Thorsons
+* Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion
+* The 7 Habits Of Highly Effective People; Stephen R. Covey; Simon & Schuster UK
+* The Complete Software Developer's Career Guide; John Sonmez; Unabridged Audiobook
* The Bullet Journal Method; Ryder Carroll; Fourth Estate
* Atomic Habits; James Clear; Random House Business
* Search Inside Yourself - The Unexpected path to Achieving Success, Happiness (and World Peace); Chade-Meng Tan, Daniel Goleman, Jon Kabat-Zinn; HarperOne
-* The Obstacle Is The Way; Ryan Holiday; Profile Books Ltd
* Psycho-Cybernetics; Maxwell Maltz; Perigee Books
-* Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly
-* 97 Things Every Engineering Manager Should Know; Camille Fournier; Audiobook
-* Eat That Frog; Brian Tracy
* Solve for Happy; Mo Gawdat (RE-READ 1ST TIME)
-* The Joy of Missing Out; Christina Crook; New Society Publishers
-* The Software Engineer's Guidebook: Navigating senior, tech lead, and staff engineer positions at tech companies and startups; Gergely Orosz; Audiobook
-* The Courage to Be Disliked; Ichiro Kishimi and Fumitake Koga; Audiobook
-* Getting Things Done; David Allen
+* Stop starting, start finishing; Arne Roock; Lean-Kanban University
+* The Power of Now; Eckhard Tolle; Yellow Kite
+* Slow Productivity; Cal Newport; Penguin Random House
* Meditation for Mortals, Oliver Burkeman, Audiobook
-* Buddah and Einstein walk into a Bar; Guy Joseph Ale, Claire Bloom; Blackstone Publishing
* Coders at Work - Reflections on the craft of programming, Peter Seibel and Mitchell Dorian et al., Audiobook
+* Ultralearning; Anna Laurent; Self-published via Amazon
+* Soft Skills; John Sommez; Manning Publications
+* The Good Enough Job; Simone Stolzoff; Ebury Edge
+* Staff Engineer: Leadership beyond the management track; Will Larson; Audiobook
+* Getting Things Done; David Allen
+* Digital Minimalism; Cal Newport; Portofolio Penguin
+* Eat That Frog; Brian Tracy
* Consciousness: A Very Short Introduction; Susan Blackmore; Oxford Uiversity Press
-* Ultralearning; Scott Young; Thorsons
-* Deep Work; Cal Newport; Piatkus
+* The Courage to Be Disliked; Ichiro Kishimi and Fumitake Koga; Audiobook
+* Eat That Frog!; Brian Tracy; Hodder Paperbacks
* Influence without Authority; A. Cohen, D. Bradford; Wiley
-* The Complete Software Developer's Career Guide; John Sonmez; Unabridged Audiobook
-* The Power of Now; Eckhard Tolle; Yellow Kite
-* Staff Engineer: Leadership beyond the management track; Will Larson; Audiobook
-* 101 Essays that change the way you think; Brianna Wiest; Audiobook
+* The Off Switch; Mark Cropley; Virgin Books (RE-READ 1ST TIME)
* The Phoenix Project - A Novel About IT, DevOps, and Helping your Business Win; Gene Kim and Kevin Behr; Trade Select
-* Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion
-* Slow Productivity; Cal Newport; Penguin Random House
-* The Good Enough Job; Simone Stolzoff; Ebury Edge
-* The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books
-* Eat That Frog!; Brian Tracy; Hodder Paperbacks
-* The 7 Habits Of Highly Effective People; Stephen R. Covey; Simon & Schuster UK
+* Deep Work; Cal Newport; Piatkus
+* The Software Engineer's Guidebook: Navigating senior, tech lead, and staff engineer positions at tech companies and startups; Gergely Orosz; Audiobook
+* Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly
+* The Obstacle Is The Way; Ryan Holiday; Profile Books Ltd
=> ../notes/index.gmi Here are notes of mine for some of the books
@@ -146,30 +146,30 @@ In random order:
Some of these were in-person with exams; others were online learning lectures only. In random order:
-* Protocol buffers; O'Reilly Online
-* Scripting Vim; Damian Conway; O'Reilly Online
-* Algorithms Video Lectures; Robert Sedgewick; O'Reilly Online
+* Structure and Interpretation of Computer Programs; Harold Abelson and more...;
* The Well-Grounded Rubyist Video Edition; David. A. Black; O'Reilly Online
+* Protocol buffers; O'Reilly Online
+* Ultimate Go Programming; Bill Kennedy; O'Reilly Online
+* The Ultimate Kubernetes Bootcamp; School of Devops; O'Reilly Online
* Apache Tomcat Best Practises; 3-day on-site training
* F5 Loadbalancers Training; 2-day on-site training; F5, Inc.
-* Linux Security and Isolation APIs Training; Michael Kerrisk; 3-day on-site training
-* Developing IaC with Terraform (with Live Lessons); O'Reilly Online
-* Cloud Operations on AWS - Learn how to configure, deploy, maintain, and troubleshoot your AWS environments; 3-day online live training with labs; Amazon
* AWS Immersion Day; Amazon; 1-day interactive online training
-* MySQL Deep Dive Workshop; 2-day on-site training
-* The Ultimate Kubernetes Bootcamp; School of Devops; O'Reilly Online
* 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)
-* Structure and Interpretation of Computer Programs; Harold Abelson and more...;
-* Ultimate Go Programming; Bill Kennedy; O'Reilly Online
* Functional programming lecture; Remote University of Hagen
+* Algorithms Video Lectures; Robert Sedgewick; O'Reilly Online
+* Developing IaC with Terraform (with Live Lessons); O'Reilly Online
+* Scripting Vim; Damian Conway; O'Reilly Online
+* MySQL Deep Dive Workshop; 2-day on-site training
+* Cloud Operations on AWS - Learn how to configure, deploy, maintain, and troubleshoot your AWS environments; 3-day online live training with labs; Amazon
+* Linux Security and Isolation APIs Training; Michael Kerrisk; 3-day on-site training
## Technical guides
These are not whole books, but guides (smaller or larger) which I found very useful. in random order:
* Advanced Bash-Scripting Guide
-* How CPUs work at https://cpu.land
* Raku Guide at https://raku.guide
+* How CPUs work at https://cpu.land
## Podcasts
@@ -177,57 +177,57 @@ These are not whole books, but guides (smaller or larger) which I found very use
In random order:
-* Hidden Brain
-* Fork Around And Find Out
-* The ProdCast (Google SRE Podcast)
-* Backend Banter
-* Modern Mentor
-* The Pragmatic Engineer Podcast
* Pratical AI
-* Dev Interrupted
-* Deep Questions with Cal Newport
-* The Changelog Podcast(s)
-* Wednesday Wisdom
* Cup o' Go [Golang]
+* Fork Around And Find Out
* Fallthrough [Golang]
+* The ProdCast (Google SRE Podcast)
+* Dev Interrupted
+* Modern Mentor
* BSD Now [BSD]
+* Deep Questions with Cal Newport
+* The Pragmatic Engineer Podcast
* Maintainable
+* Wednesday Wisdom
+* Hidden Brain
+* The Changelog Podcast(s)
+* Backend Banter
### Podcasts I liked
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.
* CRE: Chaosradio Express [german]
-* Java Pub House
+* Go Time (predecessor of fallthrough)
* FLOSS weekly
-* Ship It (predecessor of Fork Around And Find Out)
+* Java Pub House
* Modern Mentor
-* Go Time (predecessor of fallthrough)
+* Ship It (predecessor of Fork Around And Find Out)
## Newsletters I like
This is a mix of tech and non-tech newsletters I am subscribed to. In random order:
-* byteSizeGo
* Changelog News
-* The Imperfectionist
+* The Pragmatic Engineer
+* The Valuable Dev
+* Andreas Brandhorst Newsletter (Sci-Fi author)
* Golang Weekly
+* The Imperfectionist
+* Applied Go Weekly Newsletter
* Ruby Weekly
-* Andreas Brandhorst Newsletter (Sci-Fi author)
-* VK Newsletter
-* The Pragmatic Engineer
-* Monospace Mentor
* Register Spill
-* Applied Go Weekly Newsletter
-* The Valuable Dev
+* Monospace Mentor
+* VK Newsletter
+* byteSizeGo
## Magazines I like(d)
This is a mix of tech I like(d). I may not be a current subscriber, but now and then, I buy an issue. In random order:
+* Linux Magazine
* freeX (not published anymore)
* Linux User
-* Linux Magazine
* LWN (online only)
# Formal education
diff --git a/gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.gmi b/gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.gmi
index 2c63f3b4..b6886095 100644
--- a/gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.gmi
+++ b/gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.gmi
@@ -898,12 +898,14 @@ paul@f0:~ % doas service devd restart
Next, we create the CARP control script that will restart stunnel when the CARP state changes:
+> Update: Fixed the script at Sat 3 Jan 23:55:11 EET 2026 - changed `$1` to `$2` because devd passes `$subsystem $type`, so the state is in the second argument.
+
```sh
paul@f0:~ % doas tee /usr/local/bin/carpcontrol.sh <<'EOF'
#!/bin/sh
# CARP state change control script
-case "$1" in
+case "$2" in
MASTER)
logger "CARP state changed to MASTER, starting services"
;;
@@ -911,7 +913,7 @@ case "$1" in
logger "CARP state changed to BACKUP, stopping services"
;;
*)
- logger "CARP state changed to $1 (unhandled)"
+ logger "CARP state changed to $2 (unhandled)"
;;
esac
EOF
@@ -1189,6 +1191,8 @@ This ensures that clients always connect to the active NFS server through the CA
This approach ensures clients can only connect to the active server, eliminating stale handles from the inactive server:
+> Update: Fixed the script at Sat 3 Jan 23:55:11 EET 2026 - changed `$1` to `$2` because devd passes `$subsystem $type`, so the state is in the second argument.
+
```sh
# Create CARP control script on both f0 and f1
paul@f0:~ % doas tee /usr/local/bin/carpcontrol.sh <<'EOF'
@@ -1213,7 +1217,7 @@ if [ ! -f /data/nfs/nfs.DO_NOT_REMOVE ]; then
fi
-case "$1" in
+case "$2" in
MASTER)
logger "CARP state changed to MASTER, starting services"
service rpcbind start >/dev/null 2>&1
@@ -1232,7 +1236,7 @@ case "$1" in
logger "CARP BACKUP: NFS and stunnel services stopped"
;;
*)
- logger "CARP state changed to $1 (unhandled)"
+ logger "CARP state changed to $2 (unhandled)"
;;
esac
EOF
diff --git a/gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.gmi.tpl b/gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.gmi.tpl
index cc5ea379..1bf1fde7 100644
--- a/gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.gmi.tpl
+++ b/gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.gmi.tpl
@@ -841,12 +841,14 @@ paul@f0:~ % doas service devd restart
Next, we create the CARP control script that will restart stunnel when the CARP state changes:
+> Update: Fixed the script at Sat 3 Jan 23:55:11 EET 2026 - changed `$1` to `$2` because devd passes `$subsystem $type`, so the state is in the second argument.
+
```sh
paul@f0:~ % doas tee /usr/local/bin/carpcontrol.sh <<'EOF'
#!/bin/sh
# CARP state change control script
-case "$1" in
+case "$2" in
MASTER)
logger "CARP state changed to MASTER, starting services"
;;
@@ -854,7 +856,7 @@ case "$1" in
logger "CARP state changed to BACKUP, stopping services"
;;
*)
- logger "CARP state changed to $1 (unhandled)"
+ logger "CARP state changed to $2 (unhandled)"
;;
esac
EOF
@@ -1132,6 +1134,8 @@ This ensures that clients always connect to the active NFS server through the CA
This approach ensures clients can only connect to the active server, eliminating stale handles from the inactive server:
+> Update: Fixed the script at Sat 3 Jan 23:55:11 EET 2026 - changed `$1` to `$2` because devd passes `$subsystem $type`, so the state is in the second argument.
+
```sh
# Create CARP control script on both f0 and f1
paul@f0:~ % doas tee /usr/local/bin/carpcontrol.sh <<'EOF'
@@ -1156,7 +1160,7 @@ if [ ! -f /data/nfs/nfs.DO_NOT_REMOVE ]; then
fi
-case "$1" in
+case "$2" in
MASTER)
logger "CARP state changed to MASTER, starting services"
service rpcbind start >/dev/null 2>&1
@@ -1175,7 +1179,7 @@ case "$1" in
logger "CARP BACKUP: NFS and stunnel services stopped"
;;
*)
- logger "CARP state changed to $1 (unhandled)"
+ logger "CARP state changed to $2 (unhandled)"
;;
esac
EOF
diff --git a/gemfeed/atom.xml b/gemfeed/atom.xml
index f2bacd29..035bfbc6 100644
--- a/gemfeed/atom.xml
+++ b/gemfeed/atom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
- <updated>2026-01-01T12:26:21+02:00</updated>
+ <updated>2026-01-03T23:57:42+02:00</updated>
<title>foo.zone feed</title>
<subtitle>To be in the .zone!</subtitle>
<link href="gemini://foo.zone/gemfeed/atom.xml" rel="self" />
@@ -7428,6 +7428,8 @@ paul@f0:~ % doas service devd restart
<br />
<span>Next, we create the CARP control script that will restart stunnel when the CARP state changes:</span><br />
<br />
+<span class='quote'>Update: Fixed the script at Sat 3 Jan 23:55:11 EET 2026 - changed <span class='inlinecode'>$1</span> to <span class='inlinecode'>$2</span> because devd passes <span class='inlinecode'>$subsystem $type</span>, so the state is in the second argument.</span><br />
+<br />
<!-- Generator: GNU source-highlight 3.1.9
by Lorenzo Bettini
http://www.lorenzobettini.it
@@ -7436,7 +7438,7 @@ http://www.gnu.org/software/src-highlite -->
<i><font color="silver">#!/bin/sh</font></i>
<i><font color="silver"># CARP state change control script</font></i>
-<b><u><font color="#000000">case</font></u></b> <font color="#808080">"$1"</font> <b><u><font color="#000000">in</font></u></b>
+<b><u><font color="#000000">case</font></u></b> <font color="#808080">"$2"</font> <b><u><font color="#000000">in</font></u></b>
MASTER)
logger <font color="#808080">"CARP state changed to MASTER, starting services"</font>
;;
@@ -7444,7 +7446,7 @@ http://www.gnu.org/software/src-highlite -->
logger <font color="#808080">"CARP state changed to BACKUP, stopping services"</font>
;;
*)
- logger <font color="#808080">"CARP state changed to $1 (unhandled)"</font>
+ logger <font color="#808080">"CARP state changed to $2 (unhandled)"</font>
;;
<b><u><font color="#000000">esac</font></u></b>
EOF
@@ -7754,6 +7756,8 @@ Starting stunnel.
</ul><br />
<span>This approach ensures clients can only connect to the active server, eliminating stale handles from the inactive server:</span><br />
<br />
+<span class='quote'>Update: Fixed the script at Sat 3 Jan 23:55:11 EET 2026 - changed <span class='inlinecode'>$1</span> to <span class='inlinecode'>$2</span> because devd passes <span class='inlinecode'>$subsystem $type</span>, so the state is in the second argument.</span><br />
+<br />
<!-- Generator: GNU source-highlight 3.1.9
by Lorenzo Bettini
http://www.lorenzobettini.it
@@ -7781,7 +7785,7 @@ HOSTNAME=`hostname`
<b><u><font color="#000000">fi</font></u></b>
-<b><u><font color="#000000">case</font></u></b> <font color="#808080">"$1"</font> <b><u><font color="#000000">in</font></u></b>
+<b><u><font color="#000000">case</font></u></b> <font color="#808080">"$2"</font> <b><u><font color="#000000">in</font></u></b>
MASTER)
logger <font color="#808080">"CARP state changed to MASTER, starting services"</font>
service rpcbind start &gt;/dev/null <font color="#000000">2</font>&gt;&amp;<font color="#000000">1</font>
@@ -7800,7 +7804,7 @@ HOSTNAME=`hostname`
logger <font color="#808080">"CARP BACKUP: NFS and stunnel services stopped"</font>
;;
*)
- logger <font color="#808080">"CARP state changed to $1 (unhandled)"</font>
+ logger <font color="#808080">"CARP state changed to $2 (unhandled)"</font>
;;
<b><u><font color="#000000">esac</font></u></b>
EOF
diff --git a/index.gmi b/index.gmi
index 149f5195..63653826 100644
--- a/index.gmi
+++ b/index.gmi
@@ -1,6 +1,6 @@
# Hello!
-> This site was generated at 2026-01-01T12:26:21+02:00 by `Gemtexter`
+> This site was generated at 2026-01-03T23:57:42+02:00 by `Gemtexter`
Welcome to the foo.zone!
diff --git a/uptime-stats.gmi b/uptime-stats.gmi
index 391dd6a7..e9a9846d 100644
--- a/uptime-stats.gmi
+++ b/uptime-stats.gmi
@@ -1,6 +1,6 @@
# My machine uptime stats
-> This site was last updated at 2026-01-01T12:26:21+02:00
+> This site was last updated at 2026-01-03T23:57:42+02:00
The following stats were collected via `uptimed` on all of my personal computers over many years and the output was generated by `guprecords`, the global uptime records stats analyser of mine.
@@ -27,17 +27,17 @@ Boots is the total number of host boots over the entire lifespan.
| 4. | callisto | 153 | Linux 4.0.4-303.fc22.x86_64 |
| 5. | dionysus | 136 | FreeBSD 13.0-RELEASE-p11 |
| 6. | tauceti-e | 120 | Linux 3.2.0-4-amd64 |
-| 7. | *makemake | 81 | Linux 6.9.9-200.fc40.x86_64 |
-| 8. | f2 | 70 | FreeBSD 14.3-RELEASE |
-| 9. | f1 | 65 | FreeBSD 14.3-RELEASE |
-| 10. | f0 | 62 | FreeBSD 14.3-RELEASE |
+| 7. | *f2 | 109 | FreeBSD 14.3-RELEASE-p7 |
+| 8. | *f1 | 107 | FreeBSD 14.3-RELEASE-p7 |
+| 9. | *f0 | 103 | FreeBSD 14.3-RELEASE-p7 |
+| 10. | *makemake | 81 | Linux 6.9.9-200.fc40.x86_64 |
| 11. | uranus | 59 | NetBSD 10.1 |
| 12. | pluto | 51 | Linux 3.2.0-4-amd64 |
-| 13. | *mega-m3-pro | 50 | Darwin 24.6.0 |
+| 13. | *fishfinger | 50 | OpenBSD 7.7 |
| 14. | mega15289 | 50 | Darwin 23.4.0 |
-| 15. | fishfinger | 46 | OpenBSD 7.7 |
-| 16. | t450 | 44 | FreeBSD 14.2-RELEASE |
-| 17. | blowfish | 43 | OpenBSD 7.7 |
+| 15. | *mega-m3-pro | 50 | Darwin 24.6.0 |
+| 16. | *t450 | 46 | FreeBSD 14.2-RELEASE |
+| 17. | *blowfish | 45 | OpenBSD 7.7 |
| 18. | phobos | 40 | Linux 3.4.0-CM-g1dd7cdf |
| 19. | mega8477 | 40 | Darwin 13.4.0 |
| 20. | sun | 33 | FreeBSD 10.3-RELEASE-p24 |
@@ -53,18 +53,18 @@ Uptime is the total uptime of a host over the entire lifespan.
| Pos | Host | Uptime | Last Kernel |
+-----+----------------+-----------------------------+-----------------------------------+
| 1. | vulcan | 4 years, 5 months, 6 days | Linux 3.10.0-1160.81.1.el7.x86_64 |
-| 2. | *earth | 3 years, 12 months, 9 days | Linux 6.17.12-300.fc43.x86_64 |
-| 3. | blowfish | 3 years, 10 months, 2 days | OpenBSD 7.7 |
+| 2. | *blowfish | 4 years, 1 months, 6 days | OpenBSD 7.7 |
+| 3. | *earth | 3 years, 12 months, 9 days | Linux 6.17.12-300.fc43.x86_64 |
| 4. | sun | 3 years, 9 months, 26 days | FreeBSD 10.3-RELEASE-p24 |
| 5. | uranus | 3 years, 9 months, 5 days | NetBSD 10.1 |
| 6. | uugrn | 3 years, 5 months, 5 days | FreeBSD 11.2-RELEASE-p4 |
-| 7. | fishfinger | 3 years, 1 months, 28 days | OpenBSD 7.7 |
+| 7. | *fishfinger | 3 years, 5 months, 4 days | OpenBSD 7.7 |
| 8. | deltavega | 3 years, 1 months, 21 days | Linux 3.10.0-1160.11.1.el7.x86_64 |
| 9. | pluto | 2 years, 10 months, 29 days | Linux 3.2.0-4-amd64 |
| 10. | tauceti | 2 years, 3 months, 19 days | Linux 3.2.0-4-amd64 |
| 11. | mega15289 | 1 years, 12 months, 17 days | Darwin 23.4.0 |
| 12. | tauceti-f | 1 years, 9 months, 18 days | Linux 3.2.0-3-amd64 |
-| 13. | t450 | 1 years, 7 months, 26 days | FreeBSD 14.2-RELEASE |
+| 13. | *t450 | 1 years, 7 months, 26 days | FreeBSD 14.2-RELEASE |
| 14. | *mega-m3-pro | 1 years, 7 months, 10 days | Darwin 24.6.0 |
| 15. | mega8477 | 1 years, 3 months, 25 days | Darwin 13.4.0 |
| 16. | host0 | 1 years, 3 months, 9 days | FreeBSD 6.2-RELEASE-p5 |
@@ -86,18 +86,18 @@ Score is calculated by combining all other metrics.
| 1. | uranus | 340 | NetBSD 10.1 |
| 2. | *earth | 277 | Linux 6.17.12-300.fc43.x86_64 |
| 3. | vulcan | 275 | Linux 3.10.0-1160.81.1.el7.x86_64 |
-| 4. | blowfish | 240 | OpenBSD 7.7 |
+| 4. | *blowfish | 259 | OpenBSD 7.7 |
| 5. | sun | 238 | FreeBSD 10.3-RELEASE-p24 |
-| 6. | uugrn | 211 | FreeBSD 11.2-RELEASE-p4 |
-| 7. | alphacentauri | 201 | FreeBSD 11.4-RELEASE-p7 |
-| 8. | fishfinger | 198 | OpenBSD 7.7 |
+| 6. | *fishfinger | 217 | OpenBSD 7.7 |
+| 7. | uugrn | 211 | FreeBSD 11.2-RELEASE-p4 |
+| 8. | alphacentauri | 201 | FreeBSD 11.4-RELEASE-p7 |
| 9. | deltavega | 193 | Linux 3.10.0-1160.11.1.el7.x86_64 |
| 10. | pluto | 182 | Linux 3.2.0-4-amd64 |
| 11. | dionysus | 156 | FreeBSD 13.0-RELEASE-p11 |
| 12. | mega15289 | 147 | Darwin 23.4.0 |
| 13. | tauceti | 141 | Linux 3.2.0-4-amd64 |
| 14. | *makemake | 139 | Linux 6.9.9-200.fc40.x86_64 |
-| 15. | t450 | 119 | FreeBSD 14.2-RELEASE |
+| 15. | *t450 | 128 | FreeBSD 14.2-RELEASE |
| 16. | tauceti-f | 108 | Linux 3.2.0-3-amd64 |
| 17. | *mega-m3-pro | 103 | Darwin 24.6.0 |
| 18. | tauceti-e | 96 | Linux 3.2.0-4-amd64 |
@@ -119,15 +119,15 @@ Downtime is the total downtime of a host over the entire lifespan.
| 3. | alphacentauri | 5 years, 11 months, 18 days | FreeBSD 11.4-RELEASE-p7 |
| 4. | *makemake | 3 years, 8 months, 11 days | Linux 6.9.9-200.fc40.x86_64 |
| 5. | moon | 2 years, 1 months, 1 days | FreeBSD 14.0-RELEASE-p3 |
-| 6. | callisto | 1 years, 5 months, 15 days | Linux 4.0.4-303.fc22.x86_64 |
-| 7. | mega15289 | 1 years, 4 months, 24 days | Darwin 23.4.0 |
-| 8. | t450 | 1 years, 2 months, 13 days | FreeBSD 14.2-RELEASE |
+| 6. | *t450 | 1 years, 7 months, 7 days | FreeBSD 14.2-RELEASE |
+| 7. | callisto | 1 years, 5 months, 15 days | Linux 4.0.4-303.fc22.x86_64 |
+| 8. | mega15289 | 1 years, 4 months, 24 days | Darwin 23.4.0 |
| 9. | mars | 1 years, 2 months, 10 days | Linux 3.2.0-4-amd64 |
| 10. | tauceti-e | 0 years, 12 months, 9 days | Linux 3.2.0-4-amd64 |
-| 11. | sirius | 0 years, 8 months, 20 days | Linux 2.6.32-042stab111.12 |
-| 12. | f0 | 0 years, 8 months, 3 days | FreeBSD 14.3-RELEASE |
-| 13. | f2 | 0 years, 8 months, 2 days | FreeBSD 14.3-RELEASE |
-| 14. | f1 | 0 years, 8 months, 1 days | FreeBSD 14.3-RELEASE |
+| 11. | *f0 | 0 years, 8 months, 24 days | FreeBSD 14.3-RELEASE-p7 |
+| 12. | *f2 | 0 years, 8 months, 22 days | FreeBSD 14.3-RELEASE-p7 |
+| 13. | *f1 | 0 years, 8 months, 22 days | FreeBSD 14.3-RELEASE-p7 |
+| 14. | sirius | 0 years, 8 months, 20 days | Linux 2.6.32-042stab111.12 |
| 15. | *earth | 0 years, 6 months, 29 days | Linux 6.17.12-300.fc43.x86_64 |
| 16. | deimos | 0 years, 5 months, 15 days | Linux 4.4.5-300.fc23.x86_64 |
| 17. | joghurt | 0 years, 2 months, 9 days | FreeBSD 7.0-PRERELEASE |
@@ -151,14 +151,14 @@ Lifespan is the total uptime + the total downtime of a host.
| 4. | *makemake | 4 years, 10 months, 16 days | Linux 6.9.9-200.fc40.x86_64 |
| 5. | *earth | 4 years, 6 months, 7 days | Linux 6.17.12-300.fc43.x86_64 |
| 6. | vulcan | 4 years, 5 months, 6 days | Linux 3.10.0-1160.81.1.el7.x86_64 |
-| 7. | blowfish | 3 years, 10 months, 3 days | OpenBSD 7.7 |
+| 7. | *blowfish | 4 years, 1 months, 7 days | OpenBSD 7.7 |
| 8. | sun | 3 years, 10 months, 2 days | FreeBSD 10.3-RELEASE-p24 |
-| 9. | uugrn | 3 years, 5 months, 5 days | FreeBSD 11.2-RELEASE-p4 |
-| 10. | mega15289 | 3 years, 4 months, 9 days | Darwin 23.4.0 |
-| 11. | fishfinger | 3 years, 1 months, 30 days | OpenBSD 7.7 |
-| 12. | deltavega | 3 years, 1 months, 21 days | Linux 3.10.0-1160.11.1.el7.x86_64 |
-| 13. | pluto | 2 years, 10 months, 30 days | Linux 3.2.0-4-amd64 |
-| 14. | t450 | 2 years, 9 months, 6 days | FreeBSD 14.2-RELEASE |
+| 9. | *fishfinger | 3 years, 5 months, 5 days | OpenBSD 7.7 |
+| 10. | uugrn | 3 years, 5 months, 5 days | FreeBSD 11.2-RELEASE-p4 |
+| 11. | mega15289 | 3 years, 4 months, 9 days | Darwin 23.4.0 |
+| 12. | *t450 | 3 years, 1 months, 29 days | FreeBSD 14.2-RELEASE |
+| 13. | deltavega | 3 years, 1 months, 21 days | Linux 3.10.0-1160.11.1.el7.x86_64 |
+| 14. | pluto | 2 years, 10 months, 30 days | Linux 3.2.0-4-amd64 |
| 15. | moon | 2 years, 4 months, 25 days | FreeBSD 14.0-RELEASE-p3 |
| 16. | tauceti | 2 years, 3 months, 22 days | Linux 3.2.0-4-amd64 |
| 17. | callisto | 2 years, 3 months, 13 days | Linux 4.0.4-303.fc22.x86_64 |
@@ -178,13 +178,13 @@ Boots is the total number of host boots over the entire lifespan.
+-----+----------------+-------+
| 1. | FreeBSD 10... | 551 |
| 2. | Linux 3... | 550 |
-| 3. | FreeBSD 14... | 215 |
+| 3. | *FreeBSD 14... | 339 |
| 4. | *Linux 6... | 205 |
| 5. | Linux 5... | 162 |
| 6. | Linux 4... | 161 |
| 7. | FreeBSD 11... | 153 |
| 8. | FreeBSD 13... | 116 |
-| 9. | OpenBSD 7... | 99 |
+| 9. | *OpenBSD 7... | 105 |
| 10. | Darwin 13... | 40 |
| 11. | *Darwin 24... | 28 |
| 12. | Darwin 23... | 27 |
@@ -194,8 +194,8 @@ Boots is the total number of host boots over the entire lifespan.
| 16. | Darwin 15... | 15 |
| 17. | Darwin 22... | 12 |
| 18. | Darwin 18... | 11 |
-| 19. | FreeBSD 7... | 10 |
-| 20. | FreeBSD 6... | 10 |
+| 19. | OpenBSD 4... | 10 |
+| 20. | FreeBSD 7... | 10 |
+-----+----------------+-------+
```
@@ -208,13 +208,13 @@ Uptime is the total uptime of a host over the entire lifespan.
| Pos | KernelMajor | Uptime |
+-----+----------------+------------------------------+
| 1. | Linux 3... | 15 years, 10 months, 25 days |
-| 2. | OpenBSD 7... | 7 years, 6 months, 29 days |
+| 2. | *OpenBSD 7... | 8 years, 1 months, 7 days |
| 3. | FreeBSD 10... | 5 years, 9 months, 9 days |
| 4. | Linux 5... | 4 years, 10 months, 21 days |
| 5. | *Linux 6... | 3 years, 3 months, 10 days |
-| 6. | Linux 4... | 2 years, 7 months, 22 days |
-| 7. | FreeBSD 11... | 2 years, 4 months, 28 days |
-| 8. | FreeBSD 14... | 2 years, 3 months, 24 days |
+| 6. | *FreeBSD 14... | 2 years, 11 months, 5 days |
+| 7. | Linux 4... | 2 years, 7 months, 22 days |
+| 8. | FreeBSD 11... | 2 years, 4 months, 28 days |
| 9. | Linux 2... | 1 years, 11 months, 21 days |
| 10. | Darwin 13... | 1 years, 3 months, 25 days |
| 11. | FreeBSD 6... | 1 years, 3 months, 9 days |
@@ -239,12 +239,12 @@ Score is calculated by combining all other metrics.
| Pos | KernelMajor | Score |
+-----+----------------+-------+
| 1. | Linux 3... | 1045 |
-| 2. | OpenBSD 7... | 481 |
+| 2. | *OpenBSD 7... | 517 |
| 3. | FreeBSD 10... | 406 |
| 4. | Linux 5... | 317 |
| 5. | *Linux 6... | 221 |
-| 6. | Linux 4... | 175 |
-| 7. | FreeBSD 14... | 159 |
+| 6. | *FreeBSD 14... | 211 |
+| 7. | Linux 4... | 175 |
| 8. | FreeBSD 11... | 159 |
| 9. | Linux 2... | 121 |
| 10. | Darwin 13... | 80 |
@@ -256,8 +256,8 @@ Score is calculated by combining all other metrics.
| 16. | Darwin 18... | 32 |
| 17. | Darwin 22... | 30 |
| 18. | Darwin 15... | 29 |
-| 19. | FreeBSD 5... | 25 |
-| 20. | FreeBSD 13... | 25 |
+| 19. | FreeBSD 13... | 25 |
+| 20. | FreeBSD 5... | 25 |
+-----+----------------+-------+
```
@@ -269,10 +269,10 @@ Boots is the total number of host boots over the entire lifespan.
+-----+------------+-------+
| Pos | KernelName | Boots |
+-----+------------+-------+
-| 1. | *Linux | 1100 |
-| 2. | FreeBSD | 1080 |
+| 1. | *FreeBSD | 1204 |
+| 2. | *Linux | 1100 |
| 3. | *Darwin | 155 |
-| 4. | OpenBSD | 109 |
+| 4. | *OpenBSD | 115 |
| 5. | NetBSD | 1 |
+-----+------------+-------+
```
@@ -286,8 +286,8 @@ Uptime is the total uptime of a host over the entire lifespan.
| Pos | KernelName | Uptime |
+-----+------------+-----------------------------+
| 1. | *Linux | 28 years, 4 months, 2 days |
-| 2. | FreeBSD | 12 years, 2 months, 24 days |
-| 3. | OpenBSD | 8 years, 2 months, 7 days |
+| 2. | *FreeBSD | 12 years, 10 months, 8 days |
+| 3. | *OpenBSD | 8 years, 8 months, 18 days |
| 4. | *Darwin | 5 years, 3 months, 1 days |
| 5. | NetBSD | 0 years, 1 months, 1 days |
+-----+------------+-----------------------------+
@@ -302,8 +302,8 @@ Score is calculated by combining all other metrics.
| Pos | KernelName | Score |
+-----+------------+-------+
| 1. | *Linux | 1880 |
-| 2. | FreeBSD | 860 |
-| 3. | OpenBSD | 520 |
+| 2. | *FreeBSD | 912 |
+| 3. | *OpenBSD | 557 |
| 4. | *Darwin | 341 |
| 5. | NetBSD | 0 |
+-----+------------+-------+