summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--about/resources.gmi182
-rw-r--r--gemfeed/2024-07-05-random-weird-things.gmi1
-rw-r--r--gemfeed/2025-02-08-random-weird-things-ii.gmi1
-rw-r--r--gemfeed/2025-08-15-random-weird-things-iii.gmi116
-rw-r--r--gemfeed/2025-08-15-random-weird-things-iii.gmi.tpl101
-rw-r--r--gemfeed/DRAFT-kubernetes-with-freebsd-part-7.gmi1
-rw-r--r--gemfeed/atom.xml266
-rw-r--r--gemfeed/index.gmi1
-rw-r--r--index.gmi3
-rw-r--r--uptime-stats.gmi114
10 files changed, 506 insertions, 280 deletions
diff --git a/about/resources.gmi b/about/resources.gmi
index 79c803c9..d03aebb6 100644
--- a/about/resources.gmi
+++ b/about/resources.gmi
@@ -35,105 +35,105 @@ You won't find any links on this site because, over time, the links will break.
In random order:
+* DNS and BIND; Cricket Liu; O'Reilly
+* The DevOps Handbook; Gene Kim, Jez Humble, Patrick Debois, John Willis; Audible
+* 100 Go Mistakes and How to Avoid Them; Teiva Harsanyi; Manning Publications
+* Go Brain Teasers - Exercise Your Mind; Miki Tebeka; The Pragmatic Programmers
+* Leanring eBPF; Liz Rice; O'Reilly
* Ultimate Go Notebook; Bill Kennedy
-* Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O'Reilly
-* Kubernetes Cookbook; Sameer Naik, Sébastien Goasguen, Jonathan Michaux; O'Reilly
-* Raku Fundamentals; Moritz Lenz; Apress
-* Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press
* The KCNA (Kubernetes and Cloud Native Associate) Book; Nigel Poulton
-* Leanring eBPF; Liz Rice; O'Reilly
-* Effective Java; Joshua Bloch; Addison-Wesley Professional
-* Data Science at the Command Line; Jeroen Janssens; O'Reilly
-* Distributed Systems: Principles and Paradigms; Andrew S. Tanenbaum; Pearson
-* Amazon Web Services in Action; Michael Wittig and Andreas Wittig; Manning Publications
-* Concurrency in Go; Katherine Cox-Buday; O'Reilly
-* The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional
+* Pro Puppet; James Turnbull, Jeffrey McCune; Apress
+* Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O'Reilly
+* 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
+* Effective awk programming; Arnold Robbins; O'Reilly
+* The Kubernetes Book; Nigel Poulton; Unabridged Audiobook
* Funktionale Programmierung; Peter Pepper; Springer
-* Terraform Cookbook; Mikael Krief; Packt Publishing
-* The Pragmatic Programmer; David Thomas; Addison-Wesley
+* Concurrency in Go; Katherine Cox-Buday; O'Reilly
* Higher Order Perl; Mark Dominus; Morgan Kaufmann
-* 100 Go Mistakes and How to Avoid Them; Teiva Harsanyi; Manning Publications
-* The DevOps Handbook; Gene Kim, Jez Humble, Patrick Debois, John Willis; Audible
-* Java ist auch eine Insel; Christian Ullenboom;
-* Developing Games in Java; David Brackeen and others...; New Riders
+* Polished Ruby Programming; Jeremy Evans; Packt Publishing
+* Raku Recipes; J.J. Merelo; Apress
* Site Reliability Engineering; How Google runs production systems; O'Reilly
-* The Kubernetes Book; Nigel Poulton; Unabridged Audiobook
-* Modern Perl; Chromatic ; Onyx Neon Press
-* Tmux 2: Productive Mouse-free Development; Brain P. Hogan; The Pragmatic Programmers
-* Programming Ruby 3.3 (5th Edition); Noel Rappin, with Dave Thomas; The Pragmatic Bookshelf
-* Go Brain Teasers - Exercise Your Mind; Miki Tebeka; The Pragmatic Programmers
-* 97 things every SRE should know; Emil Stolarsky, Jaime Woo; O'Reilly
-* Object-Oriented Programming with ANSI-C; Axel-Tobias Schreiner
+* DevOps And Site Reliability Engineering Handbook; Stephen Fleming; Audible
+* Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O'Reilly
* Clusterbau mit Linux-HA; Michael Schwartzkopff; O'Reilly
-* Perl New Features; Joshua McAdams, brian d foy; Perl School
-* Programming Perl aka "The Camel Book"; Tom Christiansen, brian d foy, Larry Wall & Jon Orwant; O'Reilly
-* Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press
-* Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O'Reilly
-* Hands-on Infrastructure Monitoring with Prometheus; Joel Bastos, Pedro Araujo; Packt
-* Pro Puppet; James Turnbull, Jeffrey McCune; Apress
-* 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
-* Effective awk programming; Arnold Robbins; O'Reilly
+* Java ist auch eine Insel; Christian Ullenboom;
* The Docker Book; James Turnbull; Kindle
* Systemprogrammierung in Go; Frank Müller; dpunkt
-* Polished Ruby Programming; Jeremy Evans; Packt Publishing
+* Distributed Systems: Principles and Paradigms; Andrew S. Tanenbaum; Pearson
+* Effective Java; Joshua Bloch; Addison-Wesley Professional
+* Programming Ruby 3.3 (5th Edition); Noel Rappin, with Dave Thomas; The Pragmatic Bookshelf
+* Object-Oriented Programming with ANSI-C; Axel-Tobias Schreiner
+* Modern Perl; Chromatic ; Onyx Neon Press
+* Data Science at the Command Line; Jeroen Janssens; O'Reilly
+* The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional
+* 97 things every SRE should know; Emil Stolarsky, Jaime Woo; O'Reilly
* C++ Programming Language; Bjarne Stroustrup;
-* DevOps And Site Reliability Engineering Handbook; Stephen Fleming; Audible
+* Kubernetes Cookbook; Sameer Naik, Sébastien Goasguen, Jonathan Michaux; O'Reilly
+* Terraform Cookbook; Mikael Krief; Packt Publishing
+* Raku Fundamentals; Moritz Lenz; Apress
+* Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press
+* Perl New Features; Joshua McAdams, brian d foy; Perl School
* 21st Century C: C Tips from the New School; Ben Klemens; O'Reilly
-* Raku Recipes; J.J. Merelo; Apress
-* DNS and BIND; Cricket Liu; O'Reilly
+* Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press
+* Hands-on Infrastructure Monitoring with Prometheus; Joel Bastos, Pedro Araujo; Packt
+* Programming Perl aka "The Camel Book"; Tom Christiansen, brian d foy, Larry Wall & Jon Orwant; O'Reilly
+* Developing Games in Java; David Brackeen and others...; New Riders
+* The Pragmatic Programmer; David Thomas; Addison-Wesley
+* Tmux 2: Productive Mouse-free Development; Brain P. Hogan; The Pragmatic Programmers
+* Amazon Web Services in Action; Michael Wittig and Andreas Wittig; Manning Publications
## 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:
-* Go: Design Patterns for Real-World Projects; Mat Ryer; Packt
* BPF Performance Tools - Linux System and Application Observability, Brendan Gregg; Addison Wesley
+* Implementing Service Level Objectives; Alex Hidalgo; O'Reilly
+* Go: Design Patterns for Real-World Projects; Mat Ryer; Packt
* Groovy Kurz & Gut; Joerg Staudemeier; O'Reilly
-* Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O'Reilly
* Algorithms; Robert Sedgewick, Kevin Wayne; Addison Wesley
-* The Linux Programming Interface; Michael Kerrisk; No Starch Press
* Relayd and Httpd Mastery; Michael W Lucas
-* Implementing Service Level Objectives; Alex Hidalgo; O'Reilly
+* Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O'Reilly
+* The Linux Programming Interface; Michael Kerrisk; No Starch Press
## Self-development and soft-skills books
In random order:
-* The 7 Habits Of Highly Effective People; Stephen R. Covey; Simon & Schuster UK
* Getting Things Done; David Allen
+* The 7 Habits Of Highly Effective People; Stephen R. Covey; Simon & Schuster UK
+* So Good They Can't Ignore You; Cal Newport; Business Plus
+* Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly
* Buddah and Einstein walk into a Bar; Guy Joseph Ale, Claire Bloom; Blackstone Publishing
+* The Off Switch; Mark Cropley; Virgin Books (RE-READ 1ST TIME)
+* The Power of Now; Eckhard Tolle; Yellow Kite
+* Consciousness: A Very Short Introduction; Susan Blackmore; Oxford Uiversity Press
+* The Obstacle Is The Way; Ryan Holiday; Profile Books Ltd
* Digital Minimalism; Cal Newport; Portofolio Penguin
-* Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion
-* Slow Productivity; Cal Newport; Penguin Random House
-* Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly
-* Search Inside Yourself - The Unexpected path to Achieving Success, Happiness (and World Peace); Chade-Meng Tan, Daniel Goleman, Jon Kabat-Zinn; HarperOne
-* Coders at Work - Reflections on the craft of programming, Peter Seibel and Mitchell Dorian et al., Audiobook
-* Stop starting, start finishing; Arne Roock; Lean-Kanban University
-* Psycho-Cybernetics; Maxwell Maltz; Perigee Books
-* The Bullet Journal Method; Ryder Carroll; Fourth Estate
-* The Joy of Missing Out; Christina Crook; New Society Publishers
+* Soft Skills; John Sommez; Manning Publications
+* Staff Engineer: Leadership beyond the management track; Will Larson; Audiobook
* Eat That Frog; Brian Tracy
* Ultralearning; Anna Laurent; Self-published via Amazon
-* The Obstacle Is The Way; Ryan Holiday; Profile Books Ltd
-* Consciousness: A Very Short Introduction; Susan Blackmore; Oxford Uiversity Press
-* Soft Skills; John Sommez; Manning Publications
+* The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books
+* Eat That Frog!; Brian Tracy; Hodder Paperbacks
+* Influence without Authority; A. Cohen, D. Bradford; Wiley
+* Stop starting, start finishing; Arne Roock; Lean-Kanban University
+* The Complete Software Developer's Career Guide; John Sonmez; Unabridged Audiobook
* Meditation for Mortals, Oliver Burkeman, Audiobook
-* So Good They Can't Ignore You; Cal Newport; Business Plus
+* Coders at Work - Reflections on the craft of programming, Peter Seibel and Mitchell Dorian et al., Audiobook
+* The Good Enough Job; Simone Stolzoff; Ebury Edge
+* Psycho-Cybernetics; Maxwell Maltz; Perigee Books
+* Slow Productivity; Cal Newport; Penguin Random House
* The Phoenix Project - A Novel About IT, DevOps, and Helping your Business Win; Gene Kim and Kevin Behr; Trade Select
* Ultralearning; Scott Young; Thorsons
-* The Off Switch; Mark Cropley; Virgin Books (RE-READ 1ST TIME)
-* Influence without Authority; A. Cohen, D. Bradford; Wiley
+* Search Inside Yourself - The Unexpected path to Achieving Success, Happiness (and World Peace); Chade-Meng Tan, Daniel Goleman, Jon Kabat-Zinn; HarperOne
* Solve for Happy; Mo Gawdat (RE-READ 1ST TIME)
-* Deep Work; Cal Newport; Piatkus
+* Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion
+* The Joy of Missing Out; Christina Crook; New Society Publishers
* Never Split the Difference; Chris Voss, Tahl Raz; Random House Business
-* Eat That Frog!; Brian Tracy; Hodder Paperbacks
* 101 Essays that change the way you think; Brianna Wiest; Audiobook
+* The Bullet Journal Method; Ryder Carroll; Fourth Estate
+* Deep Work; Cal Newport; Piatkus
* Atomic Habits; James Clear; Random House Business
-* The Complete Software Developer's Career Guide; John Sonmez; Unabridged Audiobook
-* The Good Enough Job; Simone Stolzoff; Ebury Edge
-* Staff Engineer: Leadership beyond the management track; Will Larson; Audiobook
-* The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books
-* The Power of Now; Eckhard Tolle; Yellow Kite
=> ../notes/index.gmi Here are notes of mine for some of the books
@@ -141,22 +141,22 @@ In random order:
Some of these were in-person with exams; others were online learning lectures only. In random order:
-* The Well-Grounded Rubyist Video Edition; David. A. Black; O'Reilly Online
-* Ultimate Go Programming; Bill Kennedy; 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
-* Linux Security and Isolation APIs Training; Michael Kerrisk; 3-day on-site training
-* Protocol buffers; O'Reilly Online
-* Scripting Vim; Damian Conway; 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...;
-* MySQL Deep Dive Workshop; 2-day on-site training
+* The Well-Grounded Rubyist Video Edition; David. A. Black; O'Reilly Online
+* Functional programming lecture; Remote University of Hagen
* AWS Immersion Day; Amazon; 1-day interactive online training
-* F5 Loadbalancers Training; 2-day on-site training; F5, Inc.
* Developing IaC with Terraform (with Live Lessons); O'Reilly Online
+* Protocol buffers; 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)
* Apache Tomcat Best Practises; 3-day on-site training
+* Linux Security and Isolation APIs Training; Michael Kerrisk; 3-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
+* Scripting Vim; Damian Conway; O'Reilly Online
+* MySQL Deep Dive Workshop; 2-day on-site training
+* Ultimate Go Programming; Bill Kennedy; O'Reilly Online
* Algorithms Video Lectures; Robert Sedgewick; O'Reilly Online
* The Ultimate Kubernetes Bootcamp; School of Devops; O'Reilly Online
-* Functional programming lecture; Remote University of Hagen
+* F5 Loadbalancers Training; 2-day on-site training; F5, Inc.
## Technical guides
@@ -172,57 +172,57 @@ These are not whole books, but guides (smaller or larger) which I found very use
In random order:
-* The Pragmatic Engineer Podcast
+* Pratical AI
* Modern Mentor
+* The ProdCast (Google SRE Podcast)
* Hidden Brain
-* The Changelog Podcast(s)
-* Dev Interrupted
* Cup o' Go [Golang]
-* BSD Now [BSD]
-* Fallthrough [Golang]
* Deep Questions with Cal Newport
+* The Changelog Podcast(s)
+* BSD Now [BSD]
+* Dev Interrupted
+* The Pragmatic Engineer Podcast
* Backend Banter
-* The ProdCast (Google SRE Podcast)
-* Pratical AI
-* Maintainable
+* Fallthrough [Golang]
* Fork Around And Find Out
+* Maintainable
### 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.
-* Java Pub House
-* CRE: Chaosradio Express [german]
* Modern Mentor
-* FLOSS weekly
+* Java Pub House
* Ship It (predecessor of Fork Around And Find Out)
* Go Time (predecessor of fallthrough)
+* CRE: Chaosradio Express [german]
+* FLOSS weekly
## Newsletters I like
This is a mix of tech and non-tech newsletters I am subscribed to. In random order:
-* Ruby Weekly
* Golang Weekly
+* The Valuable Dev
+* Applied Go Weekly Newsletter
+* The Pragmatic Engineer
+* Ruby Weekly
* Register Spill
+* Andreas Brandhorst Newsletter (Sci-Fi author)
* VK Newsletter
+* byteSizeGo
* Monospace Mentor
-* The Valuable Dev
* The Imperfectionist
-* Applied Go Weekly Newsletter
* Changelog News
-* byteSizeGo
-* The Pragmatic Engineer
-* Andreas Brandhorst Newsletter (Sci-Fi author)
## 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 User
+* Linux Magazine
* freeX (not published anymore)
* LWN (online only)
-* Linux Magazine
# Formal education
diff --git a/gemfeed/2024-07-05-random-weird-things.gmi b/gemfeed/2024-07-05-random-weird-things.gmi
index 3f9e4912..29f03ed2 100644
--- a/gemfeed/2024-07-05-random-weird-things.gmi
+++ b/gemfeed/2024-07-05-random-weird-things.gmi
@@ -6,6 +6,7 @@ Every so often, I come across random, weird, and unexpected things on the intern
=> ./2024-07-05-random-weird-things.gmi 2024-07-05 Random Weird Things - Part Ⅰ (You are currently reading this)
=> ./2025-02-08-random-weird-things-ii.gmi 2025-02-08 Random Weird Things - Part Ⅱ
+=> ./2025-08-15-random-weird-things-iii.gmi 2025-08-15 Random Weird Things - Part Ⅲ
```
/\_/\
diff --git a/gemfeed/2025-02-08-random-weird-things-ii.gmi b/gemfeed/2025-02-08-random-weird-things-ii.gmi
index 617f5eb5..7c2e8317 100644
--- a/gemfeed/2025-02-08-random-weird-things-ii.gmi
+++ b/gemfeed/2025-02-08-random-weird-things-ii.gmi
@@ -6,6 +6,7 @@ Every so often, I come across random, weird, and unexpected things on the intern
=> ./2024-07-05-random-weird-things.gmi 2024-07-05 Random Weird Things - Part Ⅰ
=> ./2025-02-08-random-weird-things-ii.gmi 2025-02-08 Random Weird Things - Part Ⅱ (You are currently reading this)
+=> ./2025-08-15-random-weird-things-iii.gmi 2025-08-15 Random Weird Things - Part Ⅲ
```
/\_/\ /\_/\
diff --git a/gemfeed/2025-08-15-random-weird-things-iii.gmi b/gemfeed/2025-08-15-random-weird-things-iii.gmi
new file mode 100644
index 00000000..3a4a80fe
--- /dev/null
+++ b/gemfeed/2025-08-15-random-weird-things-iii.gmi
@@ -0,0 +1,116 @@
+# Random Weird Things - Part Ⅲ
+
+> Published at 2025-08-14T23:21:32+03:00
+
+Every so often, I come across random, weird, and unexpected things on the internet. It would be neat to share them here from time to time. This is the third run.
+
+=> ./2024-07-05-random-weird-things.gmi 2024-07-05 Random Weird Things - Part Ⅰ
+=> ./2025-02-08-random-weird-things-ii.gmi 2025-02-08 Random Weird Things - Part Ⅱ
+=> ./2025-08-15-random-weird-things-iii.gmi 2025-08-15 Random Weird Things - Part Ⅲ (You are currently reading this)
+
+```
+ /\_/\ /\_/\ /\_/\
+( o.o ) WHOA!( o.o ) WHOA!( o.o )
+ > ^ < > ^ < > ^ <
+ / \ MEOW! / \ MOEEW!/ \
+/_____\ /_____\ /_____\
+```
+
+## Table of Contents
+
+* ⇢ Random Weird Things - Part Ⅲ
+* ⇢ ⇢ 21. Doom in TypeScript’s type system
+* ⇢ ⇢ Run it in a PDF
+* ⇢ ⇢ ⇢ 22. Doom inside a PDF
+* ⇢ ⇢ ⇢ 23. Linux inside a PDF
+* ⇢ ⇢ 24. SQLite loves Tcl
+* ⇢ ⇢ 25. Fossil, “e”, and a Tcl/Tk chat
+* ⇢ ⇢ 26. Kubernetes from an Excel spreadsheet
+* ⇢ ⇢ 27. SRE means “Sorry…”
+* ⇢ ⇢ 28. Touch Grass, the app
+* ⇢ ⇢ 29. Blogging with the C preprocessor
+* ⇢ ⇢ 30. Accidentally Turing-complete
+
+## 21. Doom in TypeScript’s type system
+
+Yes, really. Someone has implemented Doom to run within the TypeScript type system—compile-time madness, but fun to watch.
+
+=> https://www.youtube.com/watch?v=0mCsluv5FXA Doom in the TS type system
+
+TypeScript’s type checker is surprisingly expressive: conditional types, recursion, and template literal types let you encode nontrivial logic that “executes” during compilation. The demo exploits this to build a tiny ray-caster that renders as compiler errors or types. It’s wildly impractical, but a great reminder that enough expressiveness plus recursion tends to drift toward Turing completeness.
+
+## Run it in a PDF
+
+### 22. Doom inside a PDF
+
+Running Doom embedded in a PDF file. No separate binary—just a cursed document.
+
+=> https://github.com/ading2210/doompdf doompdf
+
+This relies on features like PDF JavaScript and interactive objects, which some viewers still support. Expect mixed results: many modern readers sandbox or disable scripting by default for security. If you try it, use a compatible desktop viewer and be prepared for portability quirks.
+
+### 23. Linux inside a PDF
+
+Boot a tiny Linux inside a PDF. This rabbit hole goes deep.
+
+=> https://github.com/ading2210/linuxpdf linuxpdf
+
+Like the Doom-in-PDF trick, this leans on the PDF runtime to host unconventional logic and rendering. It’s more of an art piece than a daily driver, but it shows how “document” formats can accidentally become platforms. The security posture of PDF viewers varies significantly, so expect inconsistent behaviour across different apps.
+
+## 24. SQLite loves Tcl
+
+SQLite was initially designed as a Tcl extension and still relies heavily on Tcl today: the amalgamated C source is generated by `mksqlite3c.tcl`, tests are written in Tcl, and even the documentation is built with it.
+
+=> https://www.tcl-lang.org/community/tcl2017/assets/talk93/Paper.html Tcl 2017 paper
+
+The famous single-file `sqlite3.c` is not hand-edited—developers maintain sources, plus build scripts that knit everything together deterministically. Their Tcl-centric tooling provides them with reproducible builds and a very opinionated workflow. It’s a great counterexample to the idea that “serious” projects must standardise on the most popular build stacks.
+
+## 25. Fossil, “e”, and a Tcl/Tk chat
+
+The SQLite folks use a custom Tcl/Tk editor called “e”, a homegrown VCS (Fossil), and even a Tcl/Tk chat room for development—peak bespoke tooling.
+
+=> https://www.tcl-lang.org/community/tcl2017/assets/talk93/Paper.html More details in the paper
+
+Fossil bundles source control, tickets, wiki, and a web UI into a single portable binary—no external services required. The “e” editor and chat complete a tight, integrated loop tailored to their team’s needs and constraints. It’s delightfully “boring tech” that has produced one of the most reliable databases on earth.
+
+## 26. Kubernetes from an Excel spreadsheet
+
+Drive `kubectl` from an `.xlsx` file because clusters belong in spreadsheets, apparently.
+
+=> https://github.com/learnk8s/xlskubectl xlskubectl
+
+Resources are rows; columns map to fields; the tool renders YAML and applies it for you. It’s oddly ergonomic for demos, audits, or letting non‑YAML‑native teammates propose changes. Obviously, be careful—permissions and review gates still matter even if your “IDE” is Excel.
+
+## 27. SRE means “Sorry…”
+
+An industry joke (or truth?) that SRE stands for “Sorry…”.
+
+Anecdotes are a good reminder that failure is inevitable and empathy is essential. The best takeaways are about clear communication, graceful degradation, and blameless postmortems. Laughing helps, but guardrails and good on‑call hygiene help even more.
+
+## 28. Touch Grass, the app
+
+When screens consume too much, this site/app nudges you to go outside.
+
+=> https://touchgrass.now/ Touch grass
+
+It’s simple and playful—sometimes that’s the nudge you need to break doomscroll loops. Treat it like a micro‑ritual: set a reminder, step outside, reset. Your eyes (and nervous system) will thank you.
+
+## 29. Blogging with the C preprocessor
+
+Use the C preprocessor to assemble a blog. It shouldn’t work this well—and yet.
+
+=> https://wheybags.com/blog/macroblog.html Macroblog with cpp
+
+Posts are stitched together with `#include`s and macros, giving you DRY content blocks and repeatable builds. It’s hacky, fast, and delightfully text‑only—perfect for people who think makefiles are a UI. Would I recommend it for everyone? No. Is it charming and effective? Absolutely.
+
+## 30. Accidentally Turing-complete
+
+A delightful catalogue of systems that unintentionally become Turing-complete.
+
+=> https://beza1e1.tuxen.de/articles/accidentally_turing_complete.html Accidentally Turing-complete
+
+Give a system conditionals, state, and unbounded composition, and it often crosses the threshold into general computation—whether that was the goal or not. The list includes items such as CSS, regular expression dialects, and even card games. It’s a fun lens for understanding why “just a configuration language” can get complicated fast.
+
+I hope you had some fun. E-Mail your comments to `paul@nospam.buetow.org` :-)
+
+=> ../ Back to the main site
diff --git a/gemfeed/2025-08-15-random-weird-things-iii.gmi.tpl b/gemfeed/2025-08-15-random-weird-things-iii.gmi.tpl
new file mode 100644
index 00000000..c8066800
--- /dev/null
+++ b/gemfeed/2025-08-15-random-weird-things-iii.gmi.tpl
@@ -0,0 +1,101 @@
+# Random Weird Things - Part Ⅲ
+
+> Published at 2025-08-14T23:21:32+03:00
+
+Every so often, I come across random, weird, and unexpected things on the internet. It would be neat to share them here from time to time. This is the third run.
+
+<< template::inline::index random-weird-things
+
+```
+ /\_/\ /\_/\ /\_/\
+( o.o ) WHOA!( o.o ) WHOA!( o.o )
+ > ^ < > ^ < > ^ <
+ / \ MEOW! / \ MOEEW!/ \
+/_____\ /_____\ /_____\
+```
+
+<< template::inline::toc
+
+## 21. Doom in TypeScript’s type system
+
+Yes, really. Someone has implemented Doom to run within the TypeScript type system—compile-time madness, but fun to watch.
+
+=> https://www.youtube.com/watch?v=0mCsluv5FXA Doom in the TS type system
+
+TypeScript’s type checker is surprisingly expressive: conditional types, recursion, and template literal types let you encode nontrivial logic that “executes” during compilation. The demo exploits this to build a tiny ray-caster that renders as compiler errors or types. It’s wildly impractical, but a great reminder that enough expressiveness plus recursion tends to drift toward Turing completeness.
+
+## Run it in a PDF
+
+### 22. Doom inside a PDF
+
+Running Doom embedded in a PDF file. No separate binary—just a cursed document.
+
+=> https://github.com/ading2210/doompdf doompdf
+
+This relies on features like PDF JavaScript and interactive objects, which some viewers still support. Expect mixed results: many modern readers sandbox or disable scripting by default for security. If you try it, use a compatible desktop viewer and be prepared for portability quirks.
+
+### 23. Linux inside a PDF
+
+Boot a tiny Linux inside a PDF. This rabbit hole goes deep.
+
+=> https://github.com/ading2210/linuxpdf linuxpdf
+
+Like the Doom-in-PDF trick, this leans on the PDF runtime to host unconventional logic and rendering. It’s more of an art piece than a daily driver, but it shows how “document” formats can accidentally become platforms. The security posture of PDF viewers varies significantly, so expect inconsistent behaviour across different apps.
+
+## 24. SQLite loves Tcl
+
+SQLite was initially designed as a Tcl extension and still relies heavily on Tcl today: the amalgamated C source is generated by `mksqlite3c.tcl`, tests are written in Tcl, and even the documentation is built with it.
+
+=> https://www.tcl-lang.org/community/tcl2017/assets/talk93/Paper.html Tcl 2017 paper
+
+The famous single-file `sqlite3.c` is not hand-edited—developers maintain sources, plus build scripts that knit everything together deterministically. Their Tcl-centric tooling provides them with reproducible builds and a very opinionated workflow. It’s a great counterexample to the idea that “serious” projects must standardise on the most popular build stacks.
+
+## 25. Fossil, “e”, and a Tcl/Tk chat
+
+The SQLite folks use a custom Tcl/Tk editor called “e”, a homegrown VCS (Fossil), and even a Tcl/Tk chat room for development—peak bespoke tooling.
+
+=> https://www.tcl-lang.org/community/tcl2017/assets/talk93/Paper.html More details in the paper
+
+Fossil bundles source control, tickets, wiki, and a web UI into a single portable binary—no external services required. The “e” editor and chat complete a tight, integrated loop tailored to their team’s needs and constraints. It’s delightfully “boring tech” that has produced one of the most reliable databases on earth.
+
+## 26. Kubernetes from an Excel spreadsheet
+
+Drive `kubectl` from an `.xlsx` file because clusters belong in spreadsheets, apparently.
+
+=> https://github.com/learnk8s/xlskubectl xlskubectl
+
+Resources are rows; columns map to fields; the tool renders YAML and applies it for you. It’s oddly ergonomic for demos, audits, or letting non‑YAML‑native teammates propose changes. Obviously, be careful—permissions and review gates still matter even if your “IDE” is Excel.
+
+## 27. SRE means “Sorry…”
+
+An industry joke (or truth?) that SRE stands for “Sorry…”.
+
+Anecdotes are a good reminder that failure is inevitable and empathy is essential. The best takeaways are about clear communication, graceful degradation, and blameless postmortems. Laughing helps, but guardrails and good on‑call hygiene help even more.
+
+## 28. Touch Grass, the app
+
+When screens consume too much, this site/app nudges you to go outside.
+
+=> https://touchgrass.now/ Touch grass
+
+It’s simple and playful—sometimes that’s the nudge you need to break doomscroll loops. Treat it like a micro‑ritual: set a reminder, step outside, reset. Your eyes (and nervous system) will thank you.
+
+## 29. Blogging with the C preprocessor
+
+Use the C preprocessor to assemble a blog. It shouldn’t work this well—and yet.
+
+=> https://wheybags.com/blog/macroblog.html Macroblog with cpp
+
+Posts are stitched together with `#include`s and macros, giving you DRY content blocks and repeatable builds. It’s hacky, fast, and delightfully text‑only—perfect for people who think makefiles are a UI. Would I recommend it for everyone? No. Is it charming and effective? Absolutely.
+
+## 30. Accidentally Turing-complete
+
+A delightful catalogue of systems that unintentionally become Turing-complete.
+
+=> https://beza1e1.tuxen.de/articles/accidentally_turing_complete.html Accidentally Turing-complete
+
+Give a system conditionals, state, and unbounded composition, and it often crosses the threshold into general computation—whether that was the goal or not. The list includes items such as CSS, regular expression dialects, and even card games. It’s a fun lens for understanding why “just a configuration language” can get complicated fast.
+
+I hope you had some fun. E-Mail your comments to `paul@nospam.buetow.org` :-)
+
+=> ../ Back to the main site
diff --git a/gemfeed/DRAFT-kubernetes-with-freebsd-part-7.gmi b/gemfeed/DRAFT-kubernetes-with-freebsd-part-7.gmi
index 8ccb2421..caed80cf 100644
--- a/gemfeed/DRAFT-kubernetes-with-freebsd-part-7.gmi
+++ b/gemfeed/DRAFT-kubernetes-with-freebsd-part-7.gmi
@@ -556,6 +556,7 @@ TODO: increase replica of traefik to 2, persist config surviving reboots
TODO: fix check-mounts script (mountpoint command and stale mounts... differentiate better)
TODO: remove traefic metal lb pods? persist the change?
TODO: use helm charts examples, but only after the initial apache example...
+TODO: how to set up the users for the NFSv4 user mapping (same user with same UIDs i ncontainer, on Rocky and on FreeBSD). also ensure, that the `id` command shows all the same. as there may be already entries/duplicates in the passwd files (e.g. tape group, etc)
Other *BSD-related posts:
diff --git a/gemfeed/atom.xml b/gemfeed/atom.xml
index 6843e7c1..efdbeece 100644
--- a/gemfeed/atom.xml
+++ b/gemfeed/atom.xml
@@ -1,12 +1,144 @@
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
- <updated>2025-08-08T18:47:55+03:00</updated>
+ <updated>2025-08-14T23:22:50+03:00</updated>
<title>foo.zone feed</title>
<subtitle>To be in the .zone!</subtitle>
<link href="gemini://foo.zone/gemfeed/atom.xml" rel="self" />
<link href="gemini://foo.zone/" />
<id>gemini://foo.zone/</id>
<entry>
+ <title>Random Weird Things - Part Ⅲ</title>
+ <link href="gemini://foo.zone/gemfeed/2025-08-15-random-weird-things-iii.gmi" />
+ <id>gemini://foo.zone/gemfeed/2025-08-15-random-weird-things-iii.gmi</id>
+ <updated>2025-08-14T23:21:32+03:00</updated>
+ <author>
+ <name>Paul Buetow aka snonux</name>
+ <email>paul@dev.buetow.org</email>
+ </author>
+ <summary>Every so often, I come across random, weird, and unexpected things on the internet. It would be neat to share them here from time to time. This is the third run.</summary>
+ <content type="xhtml">
+ <div xmlns="http://www.w3.org/1999/xhtml">
+ <h1 style='display: inline' id='random-weird-things---part-'>Random Weird Things - Part Ⅲ</h1><br />
+<br />
+<span class='quote'>Published at 2025-08-14T23:21:32+03:00</span><br />
+<br />
+<span>Every so often, I come across random, weird, and unexpected things on the internet. It would be neat to share them here from time to time. This is the third run.</span><br />
+<br />
+<a class='textlink' href='./2024-07-05-random-weird-things.html'>2024-07-05 Random Weird Things - Part Ⅰ</a><br />
+<a class='textlink' href='./2025-02-08-random-weird-things-ii.html'>2025-02-08 Random Weird Things - Part Ⅱ</a><br />
+<a class='textlink' href='./2025-08-15-random-weird-things-iii.html'>2025-08-15 Random Weird Things - Part Ⅲ (You are currently reading this)</a><br />
+<br />
+<pre>
+ /\_/\ /\_/\ /\_/\
+( o.o ) WHOA!( o.o ) WHOA!( o.o )
+ &gt; ^ &lt; &gt; ^ &lt; &gt; ^ &lt;
+ / \ MEOW! / \ MOEEW!/ \
+/_____\ /_____\ /_____\
+</pre>
+<br />
+<h2 style='display: inline' id='table-of-contents'>Table of Contents</h2><br />
+<br />
+<ul>
+<li><a href='#random-weird-things---part-'>Random Weird Things - Part Ⅲ</a></li>
+<li>⇢ <a href='#21-doom-in-typescripts-type-system'>21. Doom in TypeScript’s type system</a></li>
+<li>⇢ <a href='#run-it-in-a-pdf'>Run it in a PDF</a></li>
+<li>⇢ ⇢ <a href='#22-doom-inside-a-pdf'>22. Doom inside a PDF</a></li>
+<li>⇢ ⇢ <a href='#23-linux-inside-a-pdf'>23. Linux inside a PDF</a></li>
+<li>⇢ <a href='#24-sqlite-loves-tcl'>24. SQLite loves Tcl</a></li>
+<li>⇢ <a href='#25-fossil-e-and-a-tcltk-chat'>25. Fossil, “e”, and a Tcl/Tk chat</a></li>
+<li>⇢ <a href='#26-kubernetes-from-an-excel-spreadsheet'>26. Kubernetes from an Excel spreadsheet</a></li>
+<li>⇢ <a href='#27-sre-means-sorry'>27. SRE means “Sorry…”</a></li>
+<li>⇢ <a href='#28-touch-grass-the-app'>28. Touch Grass, the app</a></li>
+<li>⇢ <a href='#29-blogging-with-the-c-preprocessor'>29. Blogging with the C preprocessor</a></li>
+<li>⇢ <a href='#30-accidentally-turing-complete'>30. Accidentally Turing-complete</a></li>
+</ul><br />
+<h2 style='display: inline' id='21-doom-in-typescripts-type-system'>21. Doom in TypeScript’s type system</h2><br />
+<br />
+<span>Yes, really. Someone has implemented Doom to run within the TypeScript type system—compile-time madness, but fun to watch.</span><br />
+<br />
+<a class='textlink' href='https://www.youtube.com/watch?v=0mCsluv5FXA'>Doom in the TS type system</a><br />
+<br />
+<span>TypeScript’s type checker is surprisingly expressive: conditional types, recursion, and template literal types let you encode nontrivial logic that “executes” during compilation. The demo exploits this to build a tiny ray-caster that renders as compiler errors or types. It’s wildly impractical, but a great reminder that enough expressiveness plus recursion tends to drift toward Turing completeness.</span><br />
+<br />
+<h2 style='display: inline' id='run-it-in-a-pdf'>Run it in a PDF</h2><br />
+<br />
+<h3 style='display: inline' id='22-doom-inside-a-pdf'>22. Doom inside a PDF</h3><br />
+<br />
+<span>Running Doom embedded in a PDF file. No separate binary—just a cursed document.</span><br />
+<br />
+<a class='textlink' href='https://github.com/ading2210/doompdf'>doompdf</a><br />
+<br />
+<span>This relies on features like PDF JavaScript and interactive objects, which some viewers still support. Expect mixed results: many modern readers sandbox or disable scripting by default for security. If you try it, use a compatible desktop viewer and be prepared for portability quirks.</span><br />
+<br />
+<h3 style='display: inline' id='23-linux-inside-a-pdf'>23. Linux inside a PDF</h3><br />
+<br />
+<span>Boot a tiny Linux inside a PDF. This rabbit hole goes deep.</span><br />
+<br />
+<a class='textlink' href='https://github.com/ading2210/linuxpdf'>linuxpdf</a><br />
+<br />
+<span>Like the Doom-in-PDF trick, this leans on the PDF runtime to host unconventional logic and rendering. It’s more of an art piece than a daily driver, but it shows how “document” formats can accidentally become platforms. The security posture of PDF viewers varies significantly, so expect inconsistent behaviour across different apps.</span><br />
+<br />
+<h2 style='display: inline' id='24-sqlite-loves-tcl'>24. SQLite loves Tcl</h2><br />
+<br />
+<span>SQLite was initially designed as a Tcl extension and still relies heavily on Tcl today: the amalgamated C source is generated by <span class='inlinecode'>mksqlite3c.tcl</span>, tests are written in Tcl, and even the documentation is built with it.</span><br />
+<br />
+<a class='textlink' href='https://www.tcl-lang.org/community/tcl2017/assets/talk93/Paper.html'>Tcl 2017 paper</a><br />
+<br />
+<span>The famous single-file <span class='inlinecode'>sqlite3.c</span> is not hand-edited—developers maintain sources, plus build scripts that knit everything together deterministically. Their Tcl-centric tooling provides them with reproducible builds and a very opinionated workflow. It’s a great counterexample to the idea that “serious” projects must standardise on the most popular build stacks.</span><br />
+<br />
+<h2 style='display: inline' id='25-fossil-e-and-a-tcltk-chat'>25. Fossil, “e”, and a Tcl/Tk chat</h2><br />
+<br />
+<span>The SQLite folks use a custom Tcl/Tk editor called “e”, a homegrown VCS (Fossil), and even a Tcl/Tk chat room for development—peak bespoke tooling.</span><br />
+<br />
+<a class='textlink' href='https://www.tcl-lang.org/community/tcl2017/assets/talk93/Paper.html'>More details in the paper</a><br />
+<br />
+<span>Fossil bundles source control, tickets, wiki, and a web UI into a single portable binary—no external services required. The “e” editor and chat complete a tight, integrated loop tailored to their team’s needs and constraints. It’s delightfully “boring tech” that has produced one of the most reliable databases on earth.</span><br />
+<br />
+<h2 style='display: inline' id='26-kubernetes-from-an-excel-spreadsheet'>26. Kubernetes from an Excel spreadsheet</h2><br />
+<br />
+<span>Drive <span class='inlinecode'>kubectl</span> from an <span class='inlinecode'>.xlsx</span> file because clusters belong in spreadsheets, apparently.</span><br />
+<br />
+<a class='textlink' href='https://github.com/learnk8s/xlskubectl'>xlskubectl</a><br />
+<br />
+<span>Resources are rows; columns map to fields; the tool renders YAML and applies it for you. It’s oddly ergonomic for demos, audits, or letting non‑YAML‑native teammates propose changes. Obviously, be careful—permissions and review gates still matter even if your “IDE” is Excel.</span><br />
+<br />
+<h2 style='display: inline' id='27-sre-means-sorry'>27. SRE means “Sorry…”</h2><br />
+<br />
+<span>An industry joke (or truth?) that SRE stands for “Sorry…”. </span><br />
+<br />
+<span>Anecdotes are a good reminder that failure is inevitable and empathy is essential. The best takeaways are about clear communication, graceful degradation, and blameless postmortems. Laughing helps, but guardrails and good on‑call hygiene help even more.</span><br />
+<br />
+<h2 style='display: inline' id='28-touch-grass-the-app'>28. Touch Grass, the app</h2><br />
+<br />
+<span>When screens consume too much, this site/app nudges you to go outside.</span><br />
+<br />
+<a class='textlink' href='https://touchgrass.now/'>Touch grass</a><br />
+<br />
+<span>It’s simple and playful—sometimes that’s the nudge you need to break doomscroll loops. Treat it like a micro‑ritual: set a reminder, step outside, reset. Your eyes (and nervous system) will thank you.</span><br />
+<br />
+<h2 style='display: inline' id='29-blogging-with-the-c-preprocessor'>29. Blogging with the C preprocessor</h2><br />
+<br />
+<span>Use the C preprocessor to assemble a blog. It shouldn’t work this well—and yet.</span><br />
+<br />
+<a class='textlink' href='https://wheybags.com/blog/macroblog.html'>Macroblog with cpp</a><br />
+<br />
+<span>Posts are stitched together with <span class='inlinecode'>#include</span>s and macros, giving you DRY content blocks and repeatable builds. It’s hacky, fast, and delightfully text‑only—perfect for people who think makefiles are a UI. Would I recommend it for everyone? No. Is it charming and effective? Absolutely.</span><br />
+<br />
+<h2 style='display: inline' id='30-accidentally-turing-complete'>30. Accidentally Turing-complete</h2><br />
+<br />
+<span>A delightful catalogue of systems that unintentionally become Turing-complete.</span><br />
+<br />
+<a class='textlink' href='https://beza1e1.tuxen.de/articles/accidentally_turing_complete.html'>Accidentally Turing-complete</a><br />
+<br />
+<span>Give a system conditionals, state, and unbounded composition, and it often crosses the threshold into general computation—whether that was the goal or not. The list includes items such as CSS, regular expression dialects, and even card games. It’s a fun lens for understanding why “just a configuration language” can get complicated fast.</span><br />
+<br />
+<span>I hope you had some fun. 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 />
+ </div>
+ </content>
+ </entry>
+ <entry>
<title>Local LLM for Coding with Ollama on macOS</title>
<link href="gemini://foo.zone/gemfeed/2025-08-05-local-coding-llm-with-ollama.gmi" />
<id>gemini://foo.zone/gemfeed/2025-08-05-local-coding-llm-with-ollama.gmi</id>
@@ -5978,6 +6110,7 @@ http://www.gnu.org/software/src-highlite -->
<br />
<a class='textlink' href='./2024-07-05-random-weird-things.html'>2024-07-05 Random Weird Things - Part Ⅰ</a><br />
<a class='textlink' href='./2025-02-08-random-weird-things-ii.html'>2025-02-08 Random Weird Things - Part Ⅱ (You are currently reading this)</a><br />
+<a class='textlink' href='./2025-08-15-random-weird-things-iii.html'>2025-08-15 Random Weird Things - Part Ⅲ</a><br />
<br />
<pre>
/\_/\ /\_/\
@@ -8669,6 +8802,7 @@ jgs \\`_..---.Y.---.._`//
<br />
<a class='textlink' href='./2024-07-05-random-weird-things.html'>2024-07-05 Random Weird Things - Part Ⅰ (You are currently reading this)</a><br />
<a class='textlink' href='./2025-02-08-random-weird-things-ii.html'>2025-02-08 Random Weird Things - Part Ⅱ</a><br />
+<a class='textlink' href='./2025-08-15-random-weird-things-iii.html'>2025-08-15 Random Weird Things - Part Ⅲ</a><br />
<br />
<pre>
/\_/\
@@ -12949,134 +13083,4 @@ http://www.gnu.org/software/src-highlite -->
</div>
</content>
</entry>
- <entry>
- <title>'The Obstacle is the Way' book notes</title>
- <link href="gemini://foo.zone/gemfeed/2023-05-06-the-obstacle-is-the-way-book-notes.gmi" />
- <id>gemini://foo.zone/gemfeed/2023-05-06-the-obstacle-is-the-way-book-notes.gmi</id>
- <updated>2023-05-06T17:23:16+03:00</updated>
- <author>
- <name>Paul Buetow aka snonux</name>
- <email>paul@dev.buetow.org</email>
- </author>
- <summary>These are my personal takeaways after reading 'The Obstacle Is the Way' by Ryan Holiday. This is mainly for my own use, but you might find it helpful too.</summary>
- <content type="xhtml">
- <div xmlns="http://www.w3.org/1999/xhtml">
- <h1 style='display: inline' id='the-obstacle-is-the-way-book-notes'>"The Obstacle is the Way" book notes</h1><br />
-<br />
-<span class='quote'>Published at 2023-05-06T17:23:16+03:00</span><br />
-<br />
-<span>These are my personal takeaways after reading "The Obstacle Is the Way" by Ryan Holiday. This is mainly for my own use, but you might find it helpful too.</span><br />
-<br />
-<pre>
- ,.......... ..........,
- ,..,&#39; &#39;.&#39; &#39;,..,
- ,&#39; ,&#39; : &#39;, &#39;,
- ,&#39; ,&#39; : &#39;, &#39;,
- ,&#39; ,&#39; : &#39;, &#39;,
- ,&#39; ,&#39;............., : ,.............&#39;, &#39;,
-,&#39; &#39;............ &#39;.&#39; ............&#39; &#39;,
- &#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;;&#39;&#39;&#39;;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;&#39;
- &#39;&#39;&#39;
-</pre>
-<br />
-<h2 style='display: inline' id='table-of-contents'>Table of Contents</h2><br />
-<br />
-<ul>
-<li><a href='#the-obstacle-is-the-way-book-notes'>"The Obstacle is the Way" book notes</a></li>
-<li>⇢ <a href='#reframe-your-perspective'>Reframe your perspective</a></li>
-<li>⇢ <a href='#embrace-rationality'>Embrace rationality</a></li>
-<li>⇢ <a href='#control-your-response'>Control your response</a></li>
-<li>⇢ <a href='#practice-emotional-and-physical-resilience'>Practice emotional and physical resilience</a></li>
-<li>⇢ <a href='#persistence-and-patience'>Persistence and patience</a></li>
-<li>⇢ <a href='#embrace-failure'>Embrace failure</a></li>
-<li>⇢ <a href='#be-adaptable'>Be adaptable</a></li>
-<li>⇢ <a href='#embrace-non-action'>Embrace non-action</a></li>
-<li>⇢ <a href='#leverage-crisis'>Leverage crisis</a></li>
-<li>⇢ <a href='#build-your-inner-citadel'>Build your inner citadel</a></li>
-<li>⇢ <a href='#love-everything-that-happens'>Love everything that happens</a></li>
-<li>⇢ <a href='#conclusion'>Conclusion</a></li>
-</ul><br />
-<span>"The obstacle is the way" is a powerful statement that encapsulates the wisdom of turning challenges into opportunities for growth and success. We will explore using obstacles as fuel, transforming weaknesses into strengths, and adopting a mindset that allows us to be creative and persistent in the face of adversity.</span><br />
-<br />
-<h2 style='display: inline' id='reframe-your-perspective'>Reframe your perspective</h2><br />
-<br />
-<span>The obstacle in your path can become your path to success. Instead of being paralyzed by challenges, see them as opportunities to learn and grow. Remember, the things that hurt us often instruct us. </span><br />
-<br />
-<span>We spend a lot of time trying to get things perfect and look at the rules, but what matters is that it works; it doesn&#39;t need to be after the book. Focus on results rather than on beautiful methods. In Jujitsu, it does matter that you bring your opponent down, but not how. There are many ways from point A to point B; it doesn&#39;t need to be a straight line. So many try to find the best solution but need to catch up on what is in Infront of them. Think progress and not perfection.</span><br />
-<br />
-<span>Don&#39;t always try to use the front door; a backdoor could open. It&#39;s nonsense. Don&#39;t fight the judo master with judo. Non-action can be action, exposing the weaknesses of others.</span><br />
-<br />
-<h2 style='display: inline' id='embrace-rationality'>Embrace rationality</h2><br />
-<br />
-<span>It is a superpower to see things rationally when others are fearful. Focus on the reality of the situation without letting emotions, such as anger, cloud your judgment. This ability will enable you to make better decisions in adversity. Ability to see things what they really are. E.g. wine is old fermented grapes, or other people behaving like animals during a fight. Show the middle finger if someone persists on the stupid rules occasionally.</span><br />
-<br />
-<h2 style='display: inline' id='control-your-response'>Control your response</h2><br />
-<br />
-<span>You can choose how you respond to obstacles. Focus on what you can control, and don&#39;t let yourself feel harmed by external circumstances. Remember, you decide how things affect you; nobody else does. Choose to feel good in response to any situation. Embrace the challenges and obstacles that come your way, as they are opportunities for growth and learning.</span><br />
-<br />
-<h2 style='display: inline' id='practice-emotional-and-physical-resilience'>Practice emotional and physical resilience</h2><br />
-<br />
-<span>Martial artists know the importance of developing physical and emotional strength. Cultivate the art of not panicking; it will help you avoid making mistakes during high-pressure situations.</span><br />
-<br />
-<span>Focus on what you can control. Don&#39;t choose to feel harmed, and then you won&#39;t be harmed. I decide things that affect me; nobody else does. E.g., in prison, your mind stays your own. Don&#39;t ignore fear but explain it away, have a different view.</span><br />
-<br />
-<h2 style='display: inline' id='persistence-and-patience'>Persistence and patience</h2><br />
-<br />
-<span>Practice persistence and patience in your pursuits. Focus on the process rather than the prize and take one step at a time. Remember, the journey is about finishing tasks, projects, or workouts to the best of your ability. Never be in a hurry and never be desperate. There is no reason to be rushed; there are all in the long haul. Follow the process and not the price. Take it one step at a time. The process is about finishing (workout, task, project, etc.).</span><br />
-<br />
-<h2 style='display: inline' id='embrace-failure'>Embrace failure</h2><br />
-<br />
-<span>Failure is a natural part of life and can make us stronger. Treat defeat as a stepping stone to success and education. What is defeat? The first step to education. Failure makes you stronger. If we do our best, we can be proud of it, regardless of the result. Do your job, but do it right. Only an asshole thinks he is too good at the things he does. Also, asking for forgiveness is easier than asking for permission. </span><br />
-<br />
-<h2 style='display: inline' id='be-adaptable'>Be adaptable</h2><br />
-<br />
-<span>There are many ways to achieve your goals; sometimes, unconventional methods are necessary. Feel free to break the rules or go off the beaten path if it will lead to better results. Transform weaknesses into strengths. We have a choice of how to respond to things. It&#39;s not about being positive but to be creative. Aim high, but stuff will happen; E.g., surprises will always happen.</span><br />
-<br />
-<h2 style='display: inline' id='embrace-non-action'>Embrace non-action</h2><br />
-<br />
-<span>We constantly push to the next thing. Sometimes the best course of action is standing still or even going backwards. Obstacles might resolve by themselves. Or going sideways. Sometimes, the best action is to stand still, go sideways, or even go backwards. Obstacles may resolve themselves or present new opportunities if you&#39;re patient and observant. People always want your input before you have all the facts. They want you to play after their rules. The question is, do you let them? The English call it the cool head. Being in control of Stress; requires practice. Appear, the absence of fear (Greek). When all others do it one way, it does not mean it is the correct or best practice.</span><br />
-<br />
-<h2 style='display: inline' id='leverage-crisis'>Leverage crisis</h2><br />
-<br />
-<span>In times of crisis, seize the chance to do things never done before. Great people use negative situations to their advantage and become the most effective in challenging circumstances.</span><br />
-<br />
-<span>The art of not panicking; otherwise, you will make mistakes. When overs are shocked, you know which way to take due to your thinking of the problem at Hand. A crisis gives you a chance to do things which never done before. Ordinary people shy from negative situations; great people use these for their benefit and are the most effective. The obstacle is not just turned upside down but used as a catapult.</span><br />
-<br />
-<span>Be prepared for nothing to work. Problems are an opportunity to do your best, not to do miracles. Always manage your expectations. It will suck, but it will be ok. Be prepared to begin from the beginning. Be cheerful and eagerly work on the next obstacle. Each time you become better. Life is not a sprint but a marathon. After each obstacle lies another obstacle, there won&#39;t be anything without obstacles. Passing one means you are ready for the next.</span><br />
-<br />
-<h2 style='display: inline' id='build-your-inner-citadel'>Build your inner citadel</h2><br />
-<br />
-<span>Develop your inner strength during good times so you can rely on it in bad times. Always prepare for adversity and face it with calmness and resilience. Be humble enough that things which happen will happen. Build your inner citadel. In good times strengthen it. In bad times rely on it.</span><br />
-<br />
-<span>We should always prepare for things to get tough. Your house burns down: no worries, we eliminated much rubbish. Imagine what can go wrong before things go wrong. We are prepared for adversity; it&#39;s other people who aren&#39;t. Phil Jackson&#39;s hip problem example. To receive unexpected benefits, you must first accept the unexpected obstacles. Meditate on death. It&#39;s a universal obstacle. Use it as a reminder to do your best.</span><br />
-<br />
-<h2 style='display: inline' id='love-everything-that-happens'>Love everything that happens</h2><br />
-<br />
-<span>Turn an obstacle the other way around for your benefit. Use it at fuel. It&#39;s simple but challenging. Most are paralyzed instead. The obstacle in the path becomes the path. Obstacles are neither good nor bad. The things which hurt, instruct.</span><br />
-<br />
-<span>Should I hate people who hate me? That&#39;s their problem and not mine. Be always calm and relaxed during the fight. The story of the battle is the story of the smile. Cheerfulness in all situations, especially the bad ones. Love for everything that happens; if it happens, it was meant to happen. We can choose how we react to things, so why not choose to feel good? I love everything that happens. You must never lower yourself to the person you don&#39;t like.</span><br />
-<br />
-<h2 style='display: inline' id='conclusion'>Conclusion</h2><br />
-<br />
-<span>Life is a marathon, not a sprint. Each obstacle we overcome prepares us for the next one. Remember, the obstacle is not just a barrier to be turned upside down; it can also be used as a catapult to propel us forward. By embracing challenges and using them as opportunities for growth, we become stronger, more adaptable, and, ultimately, more successful.</span><br />
-<br />
-<span>E-Mail your comments to <span class='inlinecode'>paul@nospam.buetow.org</span> :-)</span><br />
-<br />
-<span>Other book notes of mine are:</span><br />
-<br />
-<a class='textlink' href='./2025-06-07-a-monks-guide-to-happiness-book-notes.html'>2025-06-07 "A Monk&#39;s Guide to Happiness" book notes</a><br />
-<a class='textlink' href='./2025-04-19-when-book-notes.html'>2025-04-19 "When: The Scientific Secrets of Perfect Timing" book notes</a><br />
-<a class='textlink' href='./2024-10-24-staff-engineer-book-notes.html'>2024-10-24 "Staff Engineer" book notes</a><br />
-<a class='textlink' href='./2024-07-07-the-stoic-challenge-book-notes.html'>2024-07-07 "The Stoic Challenge" book notes</a><br />
-<a class='textlink' href='./2024-05-01-slow-productivity-book-notes.html'>2024-05-01 "Slow Productivity" book notes</a><br />
-<a class='textlink' href='./2023-11-11-mind-management-book-notes.html'>2023-11-11 "Mind Management" book notes</a><br />
-<a class='textlink' href='./2023-07-17-career-guide-and-soft-skills-book-notes.html'>2023-07-17 "Software Developmers Career Guide and Soft Skills" book notes</a><br />
-<a class='textlink' href='./2023-05-06-the-obstacle-is-the-way-book-notes.html'>2023-05-06 "The Obstacle is the Way" book notes (You are currently reading this)</a><br />
-<a class='textlink' href='./2023-04-01-never-split-the-difference-book-notes.html'>2023-04-01 "Never split the difference" book notes</a><br />
-<a class='textlink' href='./2023-03-16-the-pragmatic-programmer-book-notes.html'>2023-03-16 "The Pragmatic Programmer" book notes</a><br />
-<br />
-<a class='textlink' href='../'>Back to the main site</a><br />
- </div>
- </content>
- </entry>
</feed>
diff --git a/gemfeed/index.gmi b/gemfeed/index.gmi
index 6e049797..f6e86b4d 100644
--- a/gemfeed/index.gmi
+++ b/gemfeed/index.gmi
@@ -2,6 +2,7 @@
## To be in the .zone!
+=> ./2025-08-15-random-weird-things-iii.gmi 2025-08-15 - Random Weird Things - Part Ⅲ
=> ./2025-08-05-local-coding-llm-with-ollama.gmi 2025-08-05 - Local LLM for Coding with Ollama on macOS
=> ./2025-07-14-f3s-kubernetes-with-freebsd-part-6.gmi 2025-07-14 - f3s: Kubernetes with FreeBSD - Part 6: Storage
=> ./2025-07-01-posts-from-january-to-june-2025.gmi 2025-07-01 - Posts from January to June 2025
diff --git a/index.gmi b/index.gmi
index 26fd8087..960a0135 100644
--- a/index.gmi
+++ b/index.gmi
@@ -1,6 +1,6 @@
# Hello!
-> This site was generated at 2025-08-08T18:47:55+03:00 by `Gemtexter`
+> This site was generated at 2025-08-14T23:22:50+03:00 by `Gemtexter`
Welcome to the foo.zone!
@@ -38,6 +38,7 @@ Everything you read on this site is my personal opinion and experience. You can
### Posts
+=> ./gemfeed/2025-08-15-random-weird-things-iii.gmi 2025-08-15 - Random Weird Things - Part Ⅲ
=> ./gemfeed/2025-08-05-local-coding-llm-with-ollama.gmi 2025-08-05 - Local LLM for Coding with Ollama on macOS
=> ./gemfeed/2025-07-14-f3s-kubernetes-with-freebsd-part-6.gmi 2025-07-14 - f3s: Kubernetes with FreeBSD - Part 6: Storage
=> ./gemfeed/2025-07-01-posts-from-january-to-june-2025.gmi 2025-07-01 - Posts from January to June 2025
diff --git a/uptime-stats.gmi b/uptime-stats.gmi
index bab1cadb..757d8c2c 100644
--- a/uptime-stats.gmi
+++ b/uptime-stats.gmi
@@ -1,6 +1,6 @@
# My machine uptime stats
-> This site was last updated at 2025-08-08T18:47:55+03:00
+> This site was last updated at 2025-08-14T23:22:49+03: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.
@@ -23,20 +23,20 @@ Boots is the total number of host boots over the entire lifespan.
+-----+----------------+-------+------------------------------+
| 1. | alphacentauri | 671 | FreeBSD 11.4-RELEASE-p7 |
| 2. | mars | 207 | Linux 3.2.0-4-amd64 |
-| 3. | *earth | 199 | Linux 6.15.7-200.fc42.x86_64 |
+| 3. | *earth | 201 | Linux 6.15.9-201.fc42.x86_64 |
| 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 | 76 | Linux 6.9.9-200.fc40.x86_64 |
| 8. | uranus | 59 | NetBSD 10.1 |
| 9. | pluto | 51 | Linux 3.2.0-4-amd64 |
-| 10. | mega15289 | 50 | Darwin 23.4.0 |
-| 11. | *mega-m3-pro | 50 | Darwin 24.5.0 |
-| 12. | *t450 | 43 | FreeBSD 14.2-RELEASE |
-| 13. | *fishfinger | 43 | OpenBSD 7.6 |
-| 14. | mega8477 | 40 | Darwin 13.4.0 |
-| 15. | phobos | 40 | Linux 3.4.0-CM-g1dd7cdf |
-| 16. | *blowfish | 38 | OpenBSD 7.6 |
+| 10. | *mega-m3-pro | 50 | Darwin 24.6.0 |
+| 11. | mega15289 | 50 | Darwin 23.4.0 |
+| 12. | *t450 | 44 | FreeBSD 14.2-RELEASE |
+| 13. | fishfinger | 43 | OpenBSD 7.6 |
+| 14. | phobos | 40 | Linux 3.4.0-CM-g1dd7cdf |
+| 15. | mega8477 | 40 | Darwin 13.4.0 |
+| 16. | blowfish | 38 | OpenBSD 7.6 |
| 17. | sun | 33 | FreeBSD 10.3-RELEASE-p24 |
| 18. | f2 | 25 | FreeBSD 14.2-RELEASE-p1 |
| 19. | f1 | 20 | FreeBSD 14.2-RELEASE-p1 |
@@ -55,20 +55,20 @@ Uptime is the total uptime of a host over the entire lifespan.
| 1. | vulcan | 4 years, 5 months, 6 days | Linux 3.10.0-1160.81.1.el7.x86_64 |
| 2. | sun | 3 years, 9 months, 26 days | FreeBSD 10.3-RELEASE-p24 |
| 3. | uranus | 3 years, 9 months, 5 days | NetBSD 10.1 |
-| 4. | *earth | 3 years, 7 months, 27 days | Linux 6.15.7-200.fc42.x86_64 |
-| 5. | *blowfish | 3 years, 5 months, 16 days | OpenBSD 7.6 |
+| 4. | *earth | 3 years, 8 months, 2 days | Linux 6.15.9-201.fc42.x86_64 |
+| 5. | blowfish | 3 years, 5 months, 16 days | OpenBSD 7.6 |
| 6. | uugrn | 3 years, 5 months, 5 days | FreeBSD 11.2-RELEASE-p4 |
| 7. | deltavega | 3 years, 1 months, 21 days | Linux 3.10.0-1160.11.1.el7.x86_64 |
| 8. | pluto | 2 years, 10 months, 29 days | Linux 3.2.0-4-amd64 |
-| 9. | *fishfinger | 2 years, 9 months, 11 days | OpenBSD 7.6 |
+| 9. | fishfinger | 2 years, 9 months, 11 days | OpenBSD 7.6 |
| 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, 4 months, 28 days | FreeBSD 14.2-RELEASE |
+| 13. | *t450 | 1 years, 7 months, 26 days | FreeBSD 14.2-RELEASE |
| 14. | mega8477 | 1 years, 3 months, 25 days | Darwin 13.4.0 |
-| 15. | host0 | 1 years, 3 months, 9 days | FreeBSD 6.2-RELEASE-p5 |
-| 16. | makemake | 1 years, 3 months, 5 days | Linux 6.9.9-200.fc40.x86_64 |
-| 17. | *mega-m3-pro | 1 years, 3 months, 2 days | Darwin 24.5.0 |
+| 15. | *mega-m3-pro | 1 years, 3 months, 9 days | Darwin 24.6.0 |
+| 16. | host0 | 1 years, 3 months, 9 days | FreeBSD 6.2-RELEASE-p5 |
+| 17. | makemake | 1 years, 3 months, 5 days | Linux 6.9.9-200.fc40.x86_64 |
| 18. | tauceti-e | 1 years, 2 months, 20 days | Linux 3.2.0-4-amd64 |
| 19. | callisto | 0 years, 10 months, 31 days | Linux 4.0.4-303.fc22.x86_64 |
| 20. | alphacentauri | 0 years, 10 months, 28 days | FreeBSD 11.4-RELEASE-p7 |
@@ -85,24 +85,24 @@ Score is calculated by combining all other metrics.
+-----+----------------+-------+-----------------------------------+
| 1. | uranus | 340 | NetBSD 10.1 |
| 2. | vulcan | 275 | Linux 3.10.0-1160.81.1.el7.x86_64 |
-| 3. | *earth | 251 | Linux 6.15.7-200.fc42.x86_64 |
+| 3. | *earth | 253 | Linux 6.15.9-201.fc42.x86_64 |
| 4. | sun | 238 | FreeBSD 10.3-RELEASE-p24 |
-| 5. | *blowfish | 218 | OpenBSD 7.6 |
+| 5. | blowfish | 216 | OpenBSD 7.6 |
| 6. | uugrn | 211 | FreeBSD 11.2-RELEASE-p4 |
| 7. | alphacentauri | 201 | FreeBSD 11.4-RELEASE-p7 |
| 8. | deltavega | 193 | Linux 3.10.0-1160.11.1.el7.x86_64 |
| 9. | pluto | 182 | Linux 3.2.0-4-amd64 |
-| 10. | *fishfinger | 176 | OpenBSD 7.6 |
+| 10. | fishfinger | 173 | OpenBSD 7.6 |
| 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 | 128 | Linux 6.9.9-200.fc40.x86_64 |
-| 15. | tauceti-f | 108 | Linux 3.2.0-3-amd64 |
-| 16. | *t450 | 106 | FreeBSD 14.2-RELEASE |
+| 15. | *t450 | 122 | FreeBSD 14.2-RELEASE |
+| 16. | tauceti-f | 108 | Linux 3.2.0-3-amd64 |
| 17. | tauceti-e | 96 | Linux 3.2.0-4-amd64 |
| 18. | callisto | 86 | Linux 4.0.4-303.fc22.x86_64 |
-| 19. | mega8477 | 80 | Darwin 13.4.0 |
-| 20. | *mega-m3-pro | 80 | Darwin 24.5.0 |
+| 19. | *mega-m3-pro | 81 | Darwin 24.6.0 |
+| 20. | mega8477 | 80 | Darwin 13.4.0 |
+-----+----------------+-------+-----------------------------------+
```
@@ -125,7 +125,7 @@ Downtime is the total downtime of a host over the entire lifespan.
| 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. | *earth | 0 years, 6 months, 20 days | Linux 6.15.7-200.fc42.x86_64 |
+| 12. | *earth | 0 years, 6 months, 20 days | Linux 6.15.9-201.fc42.x86_64 |
| 13. | deimos | 0 years, 5 months, 15 days | Linux 4.4.5-300.fc23.x86_64 |
| 14. | f0 | 0 years, 4 months, 20 days | FreeBSD 14.2-RELEASE-p1 |
| 15. | f2 | 0 years, 4 months, 19 days | FreeBSD 14.2-RELEASE-p1 |
@@ -133,7 +133,7 @@ Downtime is the total downtime of a host over the entire lifespan.
| 17. | joghurt | 0 years, 2 months, 9 days | FreeBSD 7.0-PRERELEASE |
| 18. | host0 | 0 years, 2 months, 1 days | FreeBSD 6.2-RELEASE-p5 |
| 19. | fibonacci | 0 years, 1 months, 11 days | FreeBSD 5.3-RELEASE-p15 |
-| 20. | cobol | 0 years, 1 months, 8 days | FreeBSD 10.1-RELEASE-p24 |
+| 20. | *mega-m3-pro | 0 years, 1 months, 11 days | Darwin 24.6.0 |
+-----+----------------+-----------------------------+------------------------------+
```
@@ -150,15 +150,15 @@ Lifespan is the total uptime + the total downtime of a host.
| 3. | alphacentauri | 6 years, 9 months, 13 days | FreeBSD 11.4-RELEASE-p7 |
| 4. | vulcan | 4 years, 5 months, 6 days | Linux 3.10.0-1160.81.1.el7.x86_64 |
| 5. | makemake | 4 years, 4 months, 7 days | Linux 6.9.9-200.fc40.x86_64 |
-| 6. | *earth | 4 years, 1 months, 13 days | Linux 6.15.7-200.fc42.x86_64 |
+| 6. | *earth | 4 years, 1 months, 20 days | Linux 6.15.9-201.fc42.x86_64 |
| 7. | sun | 3 years, 10 months, 2 days | FreeBSD 10.3-RELEASE-p24 |
-| 8. | *blowfish | 3 years, 5 months, 17 days | OpenBSD 7.6 |
+| 8. | blowfish | 3 years, 5 months, 17 days | OpenBSD 7.6 |
| 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. | deltavega | 3 years, 1 months, 21 days | Linux 3.10.0-1160.11.1.el7.x86_64 |
| 12. | pluto | 2 years, 10 months, 30 days | Linux 3.2.0-4-amd64 |
-| 13. | *fishfinger | 2 years, 9 months, 13 days | OpenBSD 7.6 |
-| 14. | *t450 | 2 years, 6 months, 9 days | FreeBSD 14.2-RELEASE |
+| 13. | fishfinger | 2 years, 9 months, 13 days | OpenBSD 7.6 |
+| 14. | *t450 | 2 years, 9 months, 6 days | FreeBSD 14.2-RELEASE |
| 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,24 +178,24 @@ Boots is the total number of host boots over the entire lifespan.
+-----+----------------+-------+
| 1. | FreeBSD 10... | 551 |
| 2. | Linux 3... | 550 |
-| 3. | *Linux 6... | 179 |
+| 3. | *Linux 6... | 181 |
| 4. | Linux 5... | 162 |
| 5. | Linux 4... | 161 |
| 6. | FreeBSD 11... | 153 |
| 7. | FreeBSD 13... | 116 |
-| 8. | *OpenBSD 7... | 91 |
-| 9. | *FreeBSD 14... | 79 |
+| 8. | OpenBSD 7... | 91 |
+| 9. | *FreeBSD 14... | 80 |
| 10. | Darwin 13... | 40 |
-| 11. | Darwin 23... | 32 |
-| 12. | FreeBSD 5... | 25 |
-| 13. | *Darwin 24... | 23 |
+| 11. | Darwin 23... | 30 |
+| 12. | *Darwin 24... | 25 |
+| 13. | FreeBSD 5... | 25 |
| 14. | Linux 2... | 22 |
| 15. | Darwin 21... | 17 |
| 16. | Darwin 15... | 15 |
| 17. | Darwin 22... | 12 |
| 18. | Darwin 18... | 11 |
-| 19. | FreeBSD 7... | 10 |
-| 20. | OpenBSD 4... | 10 |
+| 19. | OpenBSD 4... | 10 |
+| 20. | FreeBSD 6... | 10 |
+-----+----------------+-------+
```
@@ -208,21 +208,21 @@ 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... | 6 years, 9 months, 24 days |
+| 2. | OpenBSD 7... | 6 years, 9 months, 24 days |
| 3. | FreeBSD 10... | 5 years, 9 months, 9 days |
| 4. | Linux 5... | 4 years, 10 months, 21 days |
-| 5. | *Linux 6... | 2 years, 10 months, 23 days |
+| 5. | *Linux 6... | 2 years, 10 months, 29 days |
| 6. | Linux 4... | 2 years, 7 months, 22 days |
| 7. | FreeBSD 11... | 2 years, 4 months, 28 days |
| 8. | Linux 2... | 1 years, 11 months, 21 days |
-| 9. | *FreeBSD 14... | 1 years, 6 months, 1 days |
+| 9. | *FreeBSD 14... | 1 years, 8 months, 29 days |
| 10. | Darwin 13... | 1 years, 3 months, 25 days |
| 11. | FreeBSD 6... | 1 years, 3 months, 9 days |
| 12. | Darwin 23... | 0 years, 11 months, 9 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 24... | 0 years, 7 months, 3 days |
+| 15. | *Darwin 24... | 0 years, 7 months, 11 days |
+| 16. | Darwin 18... | 0 years, 7 months, 5 days |
| 17. | Darwin 22... | 0 years, 6 months, 22 days |
| 18. | Darwin 15... | 0 years, 6 months, 15 days |
| 19. | FreeBSD 5... | 0 years, 5 months, 18 days |
@@ -239,20 +239,20 @@ Score is calculated by combining all other metrics.
| Pos | KernelMajor | Score |
+-----+----------------+-------+
| 1. | Linux 3... | 1045 |
-| 2. | *OpenBSD 7... | 435 |
+| 2. | OpenBSD 7... | 432 |
| 3. | FreeBSD 10... | 406 |
| 4. | Linux 5... | 317 |
-| 5. | *Linux 6... | 195 |
+| 5. | *Linux 6... | 196 |
| 6. | Linux 4... | 175 |
| 7. | FreeBSD 11... | 159 |
| 8. | Linux 2... | 121 |
-| 9. | *FreeBSD 14... | 98 |
+| 9. | *FreeBSD 14... | 114 |
| 10. | Darwin 13... | 80 |
| 11. | FreeBSD 6... | 75 |
| 12. | Darwin 23... | 56 |
| 13. | OpenBSD 4... | 39 |
| 14. | Darwin 21... | 38 |
-| 15. | *Darwin 24... | 36 |
+| 15. | *Darwin 24... | 37 |
| 16. | Darwin 18... | 32 |
| 17. | Darwin 22... | 30 |
| 18. | Darwin 15... | 29 |
@@ -269,10 +269,10 @@ Boots is the total number of host boots over the entire lifespan.
+-----+------------+-------+
| Pos | KernelName | Boots |
+-----+------------+-------+
-| 1. | *Linux | 1074 |
-| 2. | *FreeBSD | 944 |
+| 1. | *Linux | 1076 |
+| 2. | *FreeBSD | 945 |
| 3. | *Darwin | 155 |
-| 4. | *OpenBSD | 101 |
+| 4. | OpenBSD | 101 |
| 5. | NetBSD | 1 |
+-----+------------+-------+
```
@@ -285,10 +285,10 @@ Uptime is the total uptime of a host over the entire lifespan.
+-----+------------+------------------------------+
| Pos | KernelName | Uptime |
+-----+------------+------------------------------+
-| 1. | *Linux | 27 years, 11 months, 15 days |
-| 2. | *FreeBSD | 11 years, 5 months, 3 days |
-| 3. | *OpenBSD | 7 years, 5 months, 5 days |
-| 4. | *Darwin | 4 years, 10 months, 21 days |
+| 1. | *Linux | 27 years, 11 months, 21 days |
+| 2. | *FreeBSD | 11 years, 7 months, 30 days |
+| 3. | OpenBSD | 7 years, 5 months, 5 days |
+| 4. | *Darwin | 4 years, 10 months, 29 days |
| 5. | NetBSD | 0 years, 1 months, 1 days |
+-----+------------+------------------------------+
```
@@ -301,10 +301,10 @@ Score is calculated by combining all other metrics.
+-----+------------+-------+
| Pos | KernelName | Score |
+-----+------------+-------+
-| 1. | *Linux | 1854 |
-| 2. | *FreeBSD | 799 |
-| 3. | *OpenBSD | 474 |
-| 4. | *Darwin | 319 |
+| 1. | *Linux | 1855 |
+| 2. | *FreeBSD | 814 |
+| 3. | OpenBSD | 472 |
+| 4. | *Darwin | 320 |
| 5. | NetBSD | 0 |
+-----+------------+-------+
```