diff options
| author | Paul Buetow <paul@buetow.org> | 2025-07-01 22:47:55 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2025-07-01 22:47:55 +0300 |
| commit | 7248767f16f90cf241da2e910bb1f181ad7bba1e (patch) | |
| tree | 1d69a4db936fdf005a25059e5fed25445a9d3d7f | |
| parent | 19be0a4d2e8ce0d0ec5dd65415e16061b946f57a (diff) | |
new post
| -rw-r--r-- | about/resources.html | 190 | ||||
| -rw-r--r-- | gemfeed/2025-01-01-posts-from-october-to-december-2024.html | 1 | ||||
| -rw-r--r-- | gemfeed/2025-07-01-posts-from-january-to-june-2025.html | 760 | ||||
| -rw-r--r-- | gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-6.html | 206 | ||||
| -rw-r--r-- | gemfeed/atom.xml | 941 | ||||
| -rw-r--r-- | gemfeed/index.html | 1 | ||||
| -rw-r--r-- | index.html | 3 | ||||
| -rw-r--r-- | uptime-stats.html | 54 |
8 files changed, 1847 insertions, 309 deletions
diff --git a/about/resources.html b/about/resources.html index 4143bd2a..919040c5 100644 --- a/about/resources.html +++ b/about/resources.html @@ -50,107 +50,107 @@ <span>In random order:</span><br /> <br /> <ul> -<li>Terraform Cookbook; Mikael Krief; Packt Publishing</li> -<li>Pro Puppet; James Turnbull, Jeffrey McCune; Apress</li> -<li>Programming Perl aka "The Camel Book"; Tom Christiansen, brian d foy, Larry Wall & Jon Orwant; O'Reilly</li> -<li>The Kubernetes Book; Nigel Poulton; Unabridged Audiobook</li> -<li>Programming Ruby 3.3 (5th Edition); Noel Rappin, with Dave Thomas; The Pragmatic Bookshelf</li> -<li>Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press</li> -<li>Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press</li> -<li>Systemprogrammierung in Go; Frank Müller; dpunkt</li> -<li>Ultimate Go Notebook; Bill Kennedy</li> -<li>Effective awk programming; Arnold Robbins; O'Reilly</li> -<li>The Practise of System and Network Administration; Thomas A. Limoncelli, Christina J. Hogan, Strata R. Chalup; Addison-Wesley Professional Pro Git; Scott Chacon, Ben Straub; Apress</li> -<li>Data Science at the Command Line; Jeroen Janssens; O'Reilly</li> <li>Polished Ruby Programming; Jeremy Evans; Packt Publishing</li> -<li>Tmux 2: Productive Mouse-free Development; Brain P. Hogan; The Pragmatic Programmers </li> -<li>Go Brain Teasers - Exercise Your Mind; Miki Tebeka; The Pragmatic Programmers</li> -<li>Site Reliability Engineering; How Google runs production systems; O'Reilly</li> -<li>Raku Recipes; J.J. Merelo; Apress</li> -<li>Clusterbau mit Linux-HA; Michael Schwartzkopff; O'Reilly</li> +<li>Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press</li> <li>Leanring eBPF; Liz Rice; O'Reilly</li> -<li>DevOps And Site Reliability Engineering Handbook; Stephen Fleming; Audible</li> +<li>Tmux 2: Productive Mouse-free Development; Brain P. Hogan; The Pragmatic Programmers </li> +<li>Perl New Features; Joshua McAdams, brian d foy; Perl School</li> +<li>Object-Oriented Programming with ANSI-C; Axel-Tobias Schreiner</li> +<li>The Kubernetes Book; Nigel Poulton; Unabridged Audiobook</li> +<li>Java ist auch eine Insel; Christian Ullenboom; </li> <li>DNS and BIND; Cricket Liu; O'Reilly</li> -<li>21st Century C: C Tips from the New School; Ben Klemens; O'Reilly</li> -<li>Developing Games in Java; David Brackeen and others...; New Riders</li> -<li>Concurrency in Go; Katherine Cox-Buday; O'Reilly</li> +<li>Effective awk programming; Arnold Robbins; O'Reilly</li> +<li>Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press</li> +<li>Go Brain Teasers - Exercise Your Mind; Miki Tebeka; The Pragmatic Programmers</li> +<li>Ultimate Go Notebook; Bill Kennedy</li> <li>The Docker Book; James Turnbull; Kindle</li> <li>The Pragmatic Programmer; David Thomas; Addison-Wesley</li> -<li>Hands-on Infrastructure Monitoring with Prometheus; Joel Bastos, Pedro Araujo; Packt </li> +<li>The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional</li> +<li>Distributed Systems: Principles and Paradigms; Andrew S. Tanenbaum; Pearson</li> +<li>Concurrency in Go; Katherine Cox-Buday; O'Reilly</li> +<li>21st Century C: C Tips from the New School; Ben Klemens; O'Reilly</li> +<li>The DevOps Handbook; Gene Kim, Jez Humble, Patrick Debois, John Willis; Audible</li> +<li>Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O'Reilly</li> +<li>97 things every SRE should know; Emil Stolarsky, Jaime Woo; O'Reilly</li> +<li>Terraform Cookbook; Mikael Krief; Packt Publishing</li> <li>Raku Fundamentals; Moritz Lenz; Apress</li> -<li>C++ Programming Language; Bjarne Stroustrup;</li> -<li>Perl New Features; Joshua McAdams, brian d foy; Perl School</li> +<li>Amazon Web Services in Action; Michael Wittig and Andreas Wittig; Manning Publications</li> +<li>Pro Puppet; James Turnbull, Jeffrey McCune; Apress</li> +<li>Funktionale Programmierung; Peter Pepper; Springer</li> <li>Kubernetes Cookbook; Sameer Naik, Sébastien Goasguen, Jonathan Michaux; O'Reilly</li> -<li>Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O'Reilly</li> <li>Modern Perl; Chromatic ; Onyx Neon Press</li> -<li>The DevOps Handbook; Gene Kim, Jez Humble, Patrick Debois, John Willis; Audible</li> +<li>Developing Games in Java; David Brackeen and others...; New Riders</li> +<li>Systemprogrammierung in Go; Frank Müller; dpunkt</li> <li>100 Go Mistakes and How to Avoid Them; Teiva Harsanyi; Manning Publications</li> -<li>97 things every SRE should know; Emil Stolarsky, Jaime Woo; O'Reilly</li> -<li>Funktionale Programmierung; Peter Pepper; Springer</li> +<li>Data Science at the Command Line; Jeroen Janssens; O'Reilly</li> +<li>Raku Recipes; J.J. Merelo; Apress</li> +<li>Programming Perl aka "The Camel Book"; Tom Christiansen, brian d foy, Larry Wall & Jon Orwant; O'Reilly</li> +<li>C++ Programming Language; Bjarne Stroustrup;</li> +<li>Programming Ruby 3.3 (5th Edition); Noel Rappin, with Dave Thomas; The Pragmatic Bookshelf</li> <li>Higher Order Perl; Mark Dominus; Morgan Kaufmann</li> -<li>Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O'Reilly</li> -<li>Distributed Systems: Principles and Paradigms; Andrew S. Tanenbaum; Pearson</li> -<li>Object-Oriented Programming with ANSI-C; Axel-Tobias Schreiner</li> -<li>The KCNA (Kubernetes and Cloud Native Associate) Book; Nigel Poulton</li> -<li>Amazon Web Services in Action; Michael Wittig and Andreas Wittig; Manning Publications</li> -<li>The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional</li> -<li>Java ist auch eine Insel; Christian Ullenboom; </li> <li>Effective Java; Joshua Bloch; Addison-Wesley Professional</li> +<li>Hands-on Infrastructure Monitoring with Prometheus; Joel Bastos, Pedro Araujo; Packt </li> +<li>Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O'Reilly</li> +<li>Site Reliability Engineering; How Google runs production systems; O'Reilly</li> +<li>The Practise of System and Network Administration; Thomas A. Limoncelli, Christina J. Hogan, Strata R. Chalup; Addison-Wesley Professional Pro Git; Scott Chacon, Ben Straub; Apress</li> +<li>DevOps And Site Reliability Engineering Handbook; Stephen Fleming; Audible</li> +<li>The KCNA (Kubernetes and Cloud Native Associate) Book; Nigel Poulton</li> +<li>Clusterbau mit Linux-HA; Michael Schwartzkopff; O'Reilly</li> </ul><br /> <h2 style='display: inline' id='technical-references'>Technical references</h2><br /> <br /> <span>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:</span><br /> <br /> <ul> -<li>Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O'Reilly</li> <li>Algorithms; Robert Sedgewick, Kevin Wayne; Addison Wesley</li> -<li>Relayd and Httpd Mastery; Michael W Lucas</li> +<li>Implementing Service Level Objectives; Alex Hidalgo; O'Reilly</li> +<li>Go: Design Patterns for Real-World Projects; Mat Ryer; Packt</li> +<li>Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O'Reilly</li> <li>Groovy Kurz & Gut; Joerg Staudemeier; O'Reilly</li> <li>The Linux Programming Interface; Michael Kerrisk; No Starch Press </li> +<li>Relayd and Httpd Mastery; Michael W Lucas</li> <li>BPF Performance Tools - Linux System and Application Observability, Brendan Gregg; Addison Wesley</li> -<li>Go: Design Patterns for Real-World Projects; Mat Ryer; Packt</li> -<li>Implementing Service Level Objectives; Alex Hidalgo; O'Reilly</li> </ul><br /> <h2 style='display: inline' id='self-development-and-soft-skills-books'>Self-development and soft-skills books</h2><br /> <br /> <span>In random order:</span><br /> <br /> <ul> -<li>Search Inside Yourself - The Unexpected path to Achieving Success, Happiness (and World Peace); Chade-Meng Tan, Daniel Goleman, Jon Kabat-Zinn; HarperOne</li> +<li>Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion</li> +<li>Deep Work; Cal Newport; Piatkus</li> +<li>Coders at Work - Reflections on the craft of programming, Peter Seibel and Mitchell Dorian et al., Audiobook</li> <li>Getting Things Done; David Allen</li> -<li>Influence without Authority; A. Cohen, D. Bradford; Wiley</li> -<li>Solve for Happy; Mo Gawdat (RE-READ 1ST TIME)</li> -<li>The Power of Now; Eckhard Tolle; Yellow Kite</li> -<li>The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books</li> -<li>The Bullet Journal Method; Ryder Carroll; Fourth Estate</li> -<li>Psycho-Cybernetics; Maxwell Maltz; Perigee Books</li> -<li>Ultralearning; Anna Laurent; Self-published via Amazon</li> -<li>The Phoenix Project - A Novel About IT, DevOps, and Helping your Business Win; Gene Kim and Kevin Behr; Trade Select</li> -<li>Digital Minimalism; Cal Newport; Portofolio Penguin</li> -<li>The Joy of Missing Out; Christina Crook; New Society Publishers</li> -<li>Atomic Habits; James Clear; Random House Business</li> -<li>The Off Switch; Mark Cropley; Virgin Books (RE-READ 1ST TIME)</li> -<li>Ultralearning; Scott Young; Thorsons</li> +<li>Slow Productivity; Cal Newport; Penguin Random House</li> <li>Meditation for Mortals, Oliver Burkeman, Audiobook</li> -<li>The 7 Habits Of Highly Effective People; Stephen R. Covey; Simon & Schuster UK</li> <li>Staff Engineer: Leadership beyond the management track; Will Larson; Audiobook</li> -<li>The Complete Software Developer's Career Guide; John Sonmez; Unabridged Audiobook</li> -<li>The Good Enough Job; Simone Stolzoff; Ebury Edge</li> <li>The Obstacle Is The Way; Ryan Holiday; Profile Books Ltd</li> -<li>Coders at Work - Reflections on the craft of programming, Peter Seibel and Mitchell Dorian et al., Audiobook</li> -<li>101 Essays that change the way you think; Brianna Wiest; Audiobook</li> -<li>Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion</li> +<li>Solve for Happy; Mo Gawdat (RE-READ 1ST TIME)</li> +<li>Never Split the Difference; Chris Voss, Tahl Raz; Random House Business</li> +<li>Stop starting, start finishing; Arne Roock; Lean-Kanban University </li> <li>Soft Skills; John Sommez; Manning Publications</li> +<li>Ultralearning; Anna Laurent; Self-published via Amazon</li> +<li>The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books</li> +<li>The Joy of Missing Out; Christina Crook; New Society Publishers</li> +<li>The Complete Software Developer's Career Guide; John Sonmez; Unabridged Audiobook</li> +<li>Digital Minimalism; Cal Newport; Portofolio Penguin</li> +<li>The Bullet Journal Method; Ryder Carroll; Fourth Estate</li> <li>So Good They Can't Ignore You; Cal Newport; Business Plus</li> +<li>Ultralearning; Scott Young; Thorsons</li> +<li>Influence without Authority; A. Cohen, D. Bradford; Wiley</li> +<li>Search Inside Yourself - The Unexpected path to Achieving Success, Happiness (and World Peace); Chade-Meng Tan, Daniel Goleman, Jon Kabat-Zinn; HarperOne</li> +<li>The Off Switch; Mark Cropley; Virgin Books (RE-READ 1ST TIME)</li> <li>Consciousness: A Very Short Introduction; Susan Blackmore; Oxford Uiversity Press</li> -<li>Buddah and Einstein walk into a Bar; Guy Joseph Ale, Claire Bloom; Blackstone Publishing</li> -<li>Deep Work; Cal Newport; Piatkus</li> +<li>The Good Enough Job; Simone Stolzoff; Ebury Edge</li> +<li>Psycho-Cybernetics; Maxwell Maltz; Perigee Books</li> +<li>The 7 Habits Of Highly Effective People; Stephen R. Covey; Simon & Schuster UK</li> +<li>The Power of Now; Eckhard Tolle; Yellow Kite</li> <li>Eat That Frog; Brian Tracy</li> -<li>Never Split the Difference; Chris Voss, Tahl Raz; Random House Business</li> -<li>Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly</li> +<li>Buddah and Einstein walk into a Bar; Guy Joseph Ale, Claire Bloom; Blackstone Publishing</li> +<li>101 Essays that change the way you think; Brianna Wiest; Audiobook</li> <li>Eat That Frog!; Brian Tracy; Hodder Paperbacks</li> -<li>Slow Productivity; Cal Newport; Penguin Random House</li> -<li>Stop starting, start finishing; Arne Roock; Lean-Kanban University </li> +<li>Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly</li> +<li>The Phoenix Project - A Novel About IT, DevOps, and Helping your Business Win; Gene Kim and Kevin Behr; Trade Select</li> +<li>Atomic Habits; James Clear; Random House Business</li> </ul><br /> <a class='textlink' href='../notes/index.html'>Here are notes of mine for some of the books</a><br /> <br /> @@ -161,20 +161,20 @@ <ul> <li>AWS Immersion Day; Amazon; 1-day interactive online training </li> <li>Ultimate Go Programming; Bill Kennedy; O'Reilly Online</li> +<li>The Well-Grounded Rubyist Video Edition; David. A. Black; O'Reilly Online</li> +<li>The Ultimate Kubernetes Bootcamp; School of Devops; O'Reilly Online</li> <li>Cloud Operations on AWS - Learn how to configure, deploy, maintain, and troubleshoot your AWS environments; 3-day online live training with labs; Amazon</li> -<li>Red Hat Certified System Administrator; Course + certification (Although I had the option, I decided not to take the next course as it is more effective to self learn what I need)</li> -<li>Scripting Vim; Damian Conway; O'Reilly Online</li> -<li>Linux Security and Isolation APIs Training; Michael Kerrisk; 3-day on-site training</li> -<li>F5 Loadbalancers Training; 2-day on-site training; F5, Inc. </li> <li>Apache Tomcat Best Practises; 3-day on-site training</li> <li>Structure and Interpretation of Computer Programs; Harold Abelson and more...; </li> +<li>Scripting Vim; Damian Conway; O'Reilly Online</li> +<li>Functional programming lecture; Remote University of Hagen</li> +<li>F5 Loadbalancers Training; 2-day on-site training; F5, Inc. </li> +<li>Protocol buffers; O'Reilly Online</li> +<li>Developing IaC with Terraform (with Live Lessons); O'Reilly Online</li> <li>Algorithms Video Lectures; Robert Sedgewick; O'Reilly Online</li> +<li>Linux Security and Isolation APIs Training; Michael Kerrisk; 3-day on-site training</li> <li>MySQL Deep Dive Workshop; 2-day on-site training</li> -<li>Developing IaC with Terraform (with Live Lessons); O'Reilly Online</li> -<li>The Well-Grounded Rubyist Video Edition; David. A. Black; O'Reilly Online</li> -<li>Protocol buffers; O'Reilly Online</li> -<li>Functional programming lecture; Remote University of Hagen</li> -<li>The Ultimate Kubernetes Bootcamp; School of Devops; O'Reilly Online</li> +<li>Red Hat Certified System Administrator; Course + certification (Although I had the option, I decided not to take the next course as it is more effective to self learn what I need)</li> </ul><br /> <h2 style='display: inline' id='technical-guides'>Technical guides</h2><br /> <br /> @@ -182,8 +182,8 @@ <br /> <ul> <li>How CPUs work at https://cpu.land</li> -<li>Raku Guide at https://raku.guide </li> <li>Advanced Bash-Scripting Guide </li> +<li>Raku Guide at https://raku.guide </li> </ul><br /> <h2 style='display: inline' id='podcasts'>Podcasts</h2><br /> <br /> @@ -192,20 +192,20 @@ <span>In random order:</span><br /> <br /> <ul> +<li>Backend Banter</li> +<li>Hidden Brain</li> +<li>Fallthrough [Golang]</li> +<li>The Pragmatic Engineer Podcast</li> +<li>Fork Around And Find Out</li> +<li>BSD Now [BSD]</li> <li>Deep Questions with Cal Newport</li> -<li>Modern Mentor</li> +<li>Maintainable</li> +<li>Pratical AI</li> <li>The ProdCast (Google SRE Podcast)</li> -<li>BSD Now [BSD]</li> <li>Cup o' Go [Golang]</li> -<li>The Pragmatic Engineer Podcast</li> -<li>Pratical AI</li> -<li>The Changelog Podcast(s)</li> -<li>Fallthrough [Golang]</li> <li>Dev Interrupted</li> -<li>Fork Around And Find Out</li> -<li>Backend Banter</li> -<li>Maintainable</li> -<li>Hidden Brain</li> +<li>The Changelog Podcast(s)</li> +<li>Modern Mentor</li> </ul><br /> <h3 style='display: inline' id='podcasts-i-liked'>Podcasts I liked</h3><br /> <br /> @@ -213,39 +213,39 @@ <br /> <ul> <li>Go Time (predecessor of fallthrough)</li> -<li>Modern Mentor</li> <li>Java Pub House</li> -<li>FLOSS weekly</li> <li>Ship It (predecessor of Fork Around And Find Out)</li> <li>CRE: Chaosradio Express [german]</li> +<li>FLOSS weekly</li> +<li>Modern Mentor</li> </ul><br /> <h2 style='display: inline' id='newsletters-i-like'>Newsletters I like</h2><br /> <br /> <span>This is a mix of tech and non-tech newsletters I am subscribed to. In random order:</span><br /> <br /> <ul> -<li>Applied Go Weekly Newsletter</li> -<li>VK Newsletter</li> -<li>Monospace Mentor</li> -<li>Golang Weekly</li> +<li>Ruby Weekly</li> <li>The Valuable Dev</li> +<li>VK Newsletter</li> +<li>Applied Go Weekly Newsletter</li> +<li>The Imperfectionist</li> <li>byteSizeGo</li> <li>The Pragmatic Engineer</li> -<li>The Imperfectionist</li> <li>Changelog News</li> -<li>Ruby Weekly</li> <li>Register Spill</li> <li>Andreas Brandhorst Newsletter (Sci-Fi author)</li> +<li>Monospace Mentor</li> +<li>Golang Weekly</li> </ul><br /> <h2 style='display: inline' id='magazines-i-liked'>Magazines I like(d)</h2><br /> <br /> <span>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:</span><br /> <br /> <ul> -<li>LWN (online only)</li> <li>Linux User</li> -<li>Linux Magazine</li> <li>freeX (not published anymore)</li> +<li>Linux Magazine</li> +<li>LWN (online only)</li> </ul><br /> <h1 style='display: inline' id='formal-education'>Formal education</h1><br /> <br /> diff --git a/gemfeed/2025-01-01-posts-from-october-to-december-2024.html b/gemfeed/2025-01-01-posts-from-october-to-december-2024.html index 570a8a5a..0655ee18 100644 --- a/gemfeed/2025-01-01-posts-from-october-to-december-2024.html +++ b/gemfeed/2025-01-01-posts-from-october-to-december-2024.html @@ -341,6 +341,7 @@ <br /> <span>Other related posts:</span><br /> <br /> +<a class='textlink' href='./2025-07-01-posts-from-january-to-june-2025.html'>2025-07-01 Posts from January to June 2025</a><br /> <a class='textlink' href='./2025-01-01-posts-from-october-to-december-2024.html'>2025-01-01 Posts from October to December 2024 (You are currently reading this)</a><br /> <br /> <span>E-Mail your comments to <span class='inlinecode'>paul@nospam.buetow.org</span> :-)</span><br /> diff --git a/gemfeed/2025-07-01-posts-from-january-to-june-2025.html b/gemfeed/2025-07-01-posts-from-january-to-june-2025.html new file mode 100644 index 00000000..496b5c6e --- /dev/null +++ b/gemfeed/2025-07-01-posts-from-january-to-june-2025.html @@ -0,0 +1,760 @@ +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> +<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> +<head> +<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> +<title>Posts from January to June 2025</title> +<link rel="shortcut icon" type="image/gif" href="/favicon.ico" /> +<link rel="stylesheet" href="../style.css" /> +<link rel="stylesheet" href="style-override.css" /> +</head> +<body> +<p class="header"> +<a href="https://foo.zone">Home</a> | <a href="https://codeberg.org/snonux/foo.zone/src/branch/content-md/gemfeed/2025-07-01-posts-from-january-to-june-2025.md">Markdown</a> | <a href="gemini://foo.zone/gemfeed/2025-07-01-posts-from-january-to-june-2025.gmi">Gemini</a> +</p> +<h1 style='display: inline' id='posts-from-january-to-june-2025'>Posts from January to June 2025</h1><br /> +<br /> +<span class='quote'>Published at 2025-07-01T22:39:29+03:00</span><br /> +<br /> +<span>These are my social media posts from the last six months. I keep them here to reflect on them and also to not lose them. Social media networks come and go and are not under my control, but my domain is here to stay. </span><br /> +<br /> +<span>These are from Mastodon and LinkedIn. Have a look at my about page for my social media profiles. This list is generated with Gos, my social media platform sharing tool.</span><br /> +<br /> +<a class='textlink' href='../about/index.html'>My about page</a><br /> +<a class='textlink' href='https://codeberg.org/snonux/gos'>https://codeberg.org/snonux/gos</a><br /> +<br /> +<h2 style='display: inline' id='table-of-contents'>Table of Contents</h2><br /> +<br /> +<ul> +<li><a href='#posts-from-january-to-june-2025'>Posts from January to June 2025</a></li> +<li>⇢ <a href='#january-2025'>January 2025</a></li> +<li>⇢ ⇢ <a href='#i-am-currently-binge-listening-to-the-google-'>I am currently binge-listening to the Google ...</a></li> +<li>⇢ ⇢ <a href='#recently-there-was-a-5000-loc-bash-'>Recently, there was a >5000 LOC <span class='inlinecode'>#bash</span> ...</a></li> +<li>⇢ ⇢ <a href='#ghostty-is-a-terminal-emulator-that-was-'>Ghostty is a terminal emulator that was ...</a></li> +<li>⇢ ⇢ <a href='#go-is-not-an-easy-programming-language-don-t-'>Go is not an easy programming language. Don't ...</a></li> +<li>⇢ ⇢ <a href='#how-will-ai-change-software-engineering-or-has-'>How will AI change software engineering (or has ...</a></li> +<li>⇢ ⇢ <a href='#eliminating-toil---toil-is-not-always-a-bad-'>Eliminating toil - Toil is not always a bad ...</a></li> +<li>⇢ ⇢ <a href='#fun-read-how-about-using-the-character-'>Fun read. How about using the character ...</a></li> +<li>⇢ ⇢ <a href='#thats-unexpected-you-cant-remove-a-nan-key-'>Thats unexpected, you cant remove a NaN key ...</a></li> +<li>⇢ ⇢ <a href='#nice-refresher-for-shell-bash-zsh-'>Nice refresher for <span class='inlinecode'>#shell</span> <span class='inlinecode'>#bash</span> <span class='inlinecode'>#zsh</span> ...</a></li> +<li>⇢ ⇢ <a href='#i-think-discussing-action-items-in-incident-'>I think discussing action items in incident ...</a></li> +<li>⇢ ⇢ <a href='#at-first-functional-options-add-a-bit-of-'>At first, functional options add a bit of ...</a></li> +<li>⇢ ⇢ <a href='#in-the-working-with-an-sre-interview-i-have-'>In the "Working with an SRE Interview" I have ...</a></li> +<li>⇢ ⇢ <a href='#in-the-working-with-an-sre-interview-i-have-'>In the "Working with an SRE Interview" I have ...</a></li> +<li>⇢ ⇢ <a href='#small-introduction-to-the-android-'>Small introduction to the <span class='inlinecode'>#Android</span> ...</a></li> +<li>⇢ ⇢ <a href='#helix-202501-has-been-released-the-completion-'>Helix 2025.01 has been released. The completion ...</a></li> +<li>⇢ ⇢ <a href='#i-found-these-are-excellent-examples-of-how-'>I found these are excellent examples of how ...</a></li> +<li>⇢ ⇢ <a href='#llms-for-ops-summaries-of-logs-probabilities-'>LLMs for Ops? Summaries of logs, probabilities ...</a></li> +<li>⇢ ⇢ <a href='#enjoying-an-apc-power-ups-bx750mi-in-my-'>Enjoying an APC Power-UPS BX750MI in my ...</a></li> +<li>⇢ ⇢ <a href='#even-in-the-projects-where-i-m-the-only-'>"Even in the projects where I'm the only ...</a></li> +<li>⇢ ⇢ <a href='#connecting-an-ups-to-my-freebsd-cluster-'>Connecting an <span class='inlinecode'>#UPS</span> to my <span class='inlinecode'>#FreeBSD</span> cluster ...</a></li> +<li>⇢ ⇢ <a href='#so-the-co-founder-and-cto-of-honeycombio-and-'>So, the Co-founder and CTO of honeycomb.io and ...</a></li> +<li>⇢ <a href='#february-2025'>February 2025</a></li> +<li>⇢ ⇢ <a href='#i-don-t-know-about-you-but-at-work-i-usually-'>I don't know about you, but at work, I usually ...</a></li> +<li>⇢ ⇢ <a href='#great-proposal-got-accepted-by-the-goteam-for-'>Great proposal (got accepted by the Goteam) for ...</a></li> +<li>⇢ ⇢ <a href='#my-gemtexter-has-only-1320-loc-the-biggest-'>My Gemtexter has only 1320 LOC.... The Biggest ...</a></li> +<li>⇢ ⇢ <a href='#against-tmp---he-is-making-a-point-unix-'>Against /tmp - He is making a point <span class='inlinecode'>#unix</span> ...</a></li> +<li>⇢ ⇢ <a href='#random-weird-things-part-2-blog-'>Random Weird Things Part 2: <span class='inlinecode'>#blog</span> ...</a></li> +<li>⇢ ⇢ <a href='#as-a-former-pebble-user-and-fan-thats-'>As a former <span class='inlinecode'>#Pebble</span> user and fan, thats ...</a></li> +<li>⇢ ⇢ <a href='#i-think-i-am-slowly-getting-the-point-of-cue-'>I think I am slowly getting the point of Cue. ...</a></li> +<li>⇢ ⇢ <a href='#jonathan-s-reflection-of-10-years-of-'>Jonathan's reflection of 10 years of ...</a></li> +<li>⇢ ⇢ <a href='#really-enjoyed-reading-this-easily-digestible-'>Really enjoyed reading this. Easily digestible ...</a></li> +<li>⇢ ⇢ <a href='#some-great-advice-from-40-years-of-experience-'>Some great advice from 40 years of experience ...</a></li> +<li>⇢ ⇢ <a href='#i-enjoyed-this-talk-some-recipes-i-knew-'>I enjoyed this talk, some recipes I knew ...</a></li> +<li>⇢ ⇢ <a href='#a-way-of-how-to-add-the-version-info-to-the-go-'>A way of how to add the version info to the Go ...</a></li> +<li>⇢ ⇢ <a href='#in-other-words-using-tparallel-for-'>In other words, using t.Parallel() for ...</a></li> +<li>⇢ ⇢ <a href='#neat-little-blog-post-showcasing-various-'>Neat little blog post, showcasing various ...</a></li> +<li>⇢ ⇢ <a href='#the-smallest-thing-in-go-golang-'>The smallest thing in Go <span class='inlinecode'>#golang</span> ...</a></li> +<li>⇢ ⇢ <a href='#fun-with-defer-in-golang-i-did-t-know-that-'>Fun with defer in <span class='inlinecode'>#golang</span>, I did't know, that ...</a></li> +<li>⇢ ⇢ <a href='#what-i-like-about-go-is-that-it-is-still-'>What I like about Go is that it is still ...</a></li> +<li>⇢ <a href='#march-2025'>March 2025</a></li> +<li>⇢ ⇢ <a href='#television-has-somewhat-transformed-how-i-work-'>Television has somewhat transformed how I work ...</a></li> +<li>⇢ ⇢ <a href='#once-in-a-while-i-like-to-read-a-book-about-a-'>Once in a while, I like to read a book about a ...</a></li> +<li>⇢ ⇢ <a href='#as-you-may-have-noticed-i-like-to-share-on-'>As you may have noticed, I like to share on ...</a></li> +<li>⇢ ⇢ <a href='#personally-i-think-ai-llms-are-pretty-'>Personally, I think AI (LLMs) are pretty ...</a></li> +<li>⇢ ⇢ <a href='#type-aliases-in-golang-soon-also-work-with-'>Type aliases in <span class='inlinecode'>#golang</span>, soon also work with ...</a></li> +<li>⇢ ⇢ <a href='#perl-my-first-love-of-programming-'><span class='inlinecode'>#Perl</span>, my "first love" of programming ...</a></li> +<li>⇢ ⇢ <a href='#i-guess-there-are-valid-reasons-for-phttpdget-'>I guess there are valid reasons for phttpdget, ...</a></li> +<li>⇢ ⇢ <a href='#this-is-one-of-the-reasons-why-i-like-'>This is one of the reasons why I like ...</a></li> +<li>⇢ ⇢ <a href='#advanced-concurrency-patterns-with-golang-'>Advanced Concurrency Patterns with <span class='inlinecode'>#Golang</span> ...</a></li> +<li>⇢ ⇢ <a href='#sqlite-was-designed-as-an-tcl-extension-'><span class='inlinecode'>#SQLite</span> was designed as an <span class='inlinecode'>#TCL</span> extension. ...</a></li> +<li>⇢ ⇢ <a href='#git-provides-automatic-rendering-of-markdown-'>Git provides automatic rendering of Markdown ...</a></li> +<li>⇢ ⇢ <a href='#these-are-some-neat-little-go-tips-linters-'>These are some neat little Go tips. Linters ...</a></li> +<li>⇢ ⇢ <a href='#this-is-a-great-introductory-blog-post-about-'>This is a great introductory blog post about ...</a></li> +<li>⇢ ⇢ <a href='#maps-in-go-under-the-hood-golang-'>Maps in Go under the hood <span class='inlinecode'>#golang</span> ...</a></li> +<li>⇢ ⇢ <a href='#i-found-that-working-on-multiple-side-projects-'>I found that working on multiple side projects ...</a></li> +<li>⇢ ⇢ <a href='#i-have-been-in-incidents-understandably-'>I have been in incidents. Understandably, ...</a></li> +<li>⇢ ⇢ <a href='#i-dont-understand-what-it-is-certificates-are-'>I dont understand what it is. Certificates are ...</a></li> +<li>⇢ ⇢ <a href='#don-t-just-blindly-trust-llms-i-recently-'>Don't just blindly trust LLMs. I recently ...</a></li> +<li>⇢ <a href='#april-2025'>April 2025</a></li> +<li>⇢ ⇢ <a href='#i-knew-about-any-being-equivalent-to-'>I knew about any being equivalent to ...</a></li> +<li>⇢ ⇢ <a href='#neat-summary-of-new-perl-features-per-'>Neat summary of new <span class='inlinecode'>#Perl</span> features per ...</a></li> +<li>⇢ ⇢ <a href='#errorsas-checks-for-the-error-type-whereas-'>errors.As() checks for the error type, whereas ...</a></li> +<li>⇢ ⇢ <a href='#good-stuff-10-years-of-functional-options-and-'>Good stuff: 10 years of functional options and ...</a></li> +<li>⇢ ⇢ <a href='#i-had-some-fun-with-freebsd-bhyve-and-'>I had some fun with <span class='inlinecode'>#FreeBSD</span>, <span class='inlinecode'>#Bhyve</span> and ...</a></li> +<li>⇢ ⇢ <a href='#the-moment-your-blog-receives-prs-for-typo-'>The moment your blog receives PRs for typo ...</a></li> +<li>⇢ ⇢ <a href='#one-thing-not-mentioned-is-that-openrsync-s-'>One thing not mentioned is that <span class='inlinecode'>#OpenRsync</span>'s ...</a></li> +<li>⇢ ⇢ <a href='#this-is-an-interesting-elixir-pipes-operator-'>This is an interesting <span class='inlinecode'>#Elixir</span> pipes operator ...</a></li> +<li>⇢ ⇢ <a href='#the-story-of-how-my-favorite-golang-book-was-'>The story of how my favorite <span class='inlinecode'>#Golang</span> book was ...</a></li> +<li>⇢ ⇢ <a href='#these-are-my-personal-book-notes-from-daniel-'>These are my personal book notes from Daniel ...</a></li> +<li>⇢ ⇢ <a href='#i-certainly-learned-a-lot-reading-this-llm-'>I certainly learned a lot reading this <span class='inlinecode'>#llm</span> ...</a></li> +<li>⇢ ⇢ <a href='#writing-indempotent-bash-scripts-'>Writing indempotent <span class='inlinecode'>#Bash</span> scripts ...</a></li> +<li>⇢ ⇢ <a href='#regarding-ai-for-code-generation-you-should-'>Regarding <span class='inlinecode'>#AI</span> for code generation. You should ...</a></li> +<li>⇢ ⇢ <a href='#i-like-the-rocky-metaphor-and-this-post-also-'>I like the Rocky metaphor. And this post also ...</a></li> +<li>⇢ <a href='#may-2025'>May 2025</a></li> +<li>⇢ ⇢ <a href='#there-s-now-also-a-fish-shell-edition-of-my-'>There's now also a <span class='inlinecode'>#Fish</span> shell edition of my ...</a></li> +<li>⇢ ⇢ <a href='#i-loved-this-talk-it-s-about-how-you-can-'>I loved this talk. It's about how you can ...</a></li> +<li>⇢ ⇢ <a href='#some-unexpected-golang-stuff-ppl-say-that-'>Some unexpected <span class='inlinecode'>#golang</span> stuff, ppl say, that ...</a></li> +<li>⇢ ⇢ <a href='#with-the-advent-of-ai-and-llms-i-have-observed-'>With the advent of AI and LLMs, I have observed ...</a></li> +<li>⇢ ⇢ <a href='#for-science-fun-and-profit-i-set-up-a-'>For science, fun and profit, I set up a ...</a></li> +<li>⇢ ⇢ <a href='#ever-wondered-about-the-hung-task-linux-'>Ever wondered about the hung task Linux ...</a></li> +<li>⇢ ⇢ <a href='#a-bit-of-fun-the-fortran-hating-gateway--'>A bit of <span class='inlinecode'>#fun</span>: The FORTRAN hating gateway ― ...</a></li> +<li>⇢ ⇢ <a href='#so-golang-was-invented-while-engineers-at-'>So, Golang was invented while engineers at ...</a></li> +<li>⇢ ⇢ <a href='#i-couldn-t-do-without-here-docs-if-they-did-'>I couldn't do without here-docs. If they did ...</a></li> +<li>⇢ ⇢ <a href='#i-started-using-computers-as-a-kid-on-ms-dos-'>I started using computers as a kid on MS-DOS ...</a></li> +<li>⇢ ⇢ <a href='#thats-interesting-running-android-in-'>Thats interesting, running <span class='inlinecode'>#Android</span> in ...</a></li> +<li>⇢ ⇢ <a href='#before-wiping-the-pre-installed-windows-11-'>Before wiping the pre-installed <span class='inlinecode'>#Windows</span> 11 ...</a></li> +<li>⇢ ⇢ <a href='#some-might-hate-me-saying-this-but-didnt-'>Some might hate me saying this, but didnt ...</a></li> +<li>⇢ ⇢ <a href='#wouldn-t-still-do-that-even-with-100-test-'>Wouldn't still do that, even with 100% test ...</a></li> +<li>⇢ ⇢ <a href='#some-neat-slice-tricks-for-go-golang-'>Some neat slice tricks for Go: <span class='inlinecode'>#golang</span> ...</a></li> +<li>⇢ ⇢ <a href='#i-understand-that-kubernetes-is-not-for-'>I understand that Kubernetes is not for ...</a></li> +<li>⇢ <a href='#june-2025'>June 2025</a></li> +<li>⇢ ⇢ <a href='#some-great-advices-will-try-out-some-of-them-'>Some great advices, will try out some of them! ...</a></li> +<li>⇢ ⇢ <a href='#in-golang-values-are-actually-copied-when-'>In <span class='inlinecode'>#Golang</span>, values are actually copied when ...</a></li> +<li>⇢ ⇢ <a href='#this-is-a-great-little-tutorial-for-searching-'>This is a great little tutorial for searching ...</a></li> +<li>⇢ ⇢ <a href='#the-mov-instruction-of-a-cpu-is-turing-'>The mov instruction of a CPU is turing ...</a></li> +<li>⇢ ⇢ <a href='#i-removed-the-social-media-profile-from-my-'>I removed the social media profile from my ...</a></li> +<li>⇢ ⇢ <a href='#so-want-a-real-recent-unix-use-aix-macos-'>So want a "real" recent UNIX? Use AIX! <span class='inlinecode'>#macos</span> ...</a></li> +<li>⇢ ⇢ <a href='#this-episode-i-think-is-kind-of-an-eye-opener-'>This episode, I think, is kind of an eye-opener ...</a></li> +<li>⇢ ⇢ <a href='#my-openbsd-blog-setup-got-mentioned-in-the-'>My <span class='inlinecode'>#OpenBSD</span> blog setup got mentioned in the ...</a></li> +<li>⇢ ⇢ <a href='#golang-is-the-best-when-it-comes-to-agentic-'><span class='inlinecode'>#Golang</span> is the best when it comes to agentic ...</a></li> +<li>⇢ ⇢ <a href='#where-zsh-is-better-than-bash-'>Where <span class='inlinecode'>#zsh</span> is better than <span class='inlinecode'>#bash</span> ...</a></li> +<li>⇢ ⇢ <a href='#i-really-enjoyed-this-talk-about-obscure-go-'>I really enjoyed this talk about obscure Go ...</a></li> +<li>⇢ ⇢ <a href='#commenting-your-regular-expression-is-generally-'>Commenting your regular expression is generally ...</a></li> +<li>⇢ ⇢ <a href='#you-have-to-make-a-decision-for-yourself-but-'>You have to make a decision for yourself, but ...</a></li> +<li>⇢ ⇢ <a href='#100-go-mistakes-and-how-to-avoid-them-is-one-'>"100 Go Mistakes and How to Avoid Them" is one ...</a></li> +<li>⇢ ⇢ <a href='#the-ruby-data-class-seems-quite-helpful-'>The <span class='inlinecode'>#Ruby</span> Data class seems quite helpful ...</a></li> +</ul><br /> +<h2 style='display: inline' id='january-2025'>January 2025</h2><br /> +<br /> +<h3 style='display: inline' id='i-am-currently-binge-listening-to-the-google-'>I am currently binge-listening to the Google ...</h3><br /> +<br /> +<span>I am currently binge-listening to the Google <span class='inlinecode'>#SRE</span> ProdCast. It's really great to learn about the stories of individual SREs and their journeys. It is not just about SREs at Google; there are also external guests.</span><br /> +<br /> +<a class='textlink' href='https://sre.google/prodcast/'>sre.google/prodcast/</a><br /> +<br /> +<h3 style='display: inline' id='recently-there-was-a-5000-loc-bash-'>Recently, there was a >5000 LOC <span class='inlinecode'>#bash</span> ...</h3><br /> +<br /> +<span>Recently, there was a >5000 LOC <span class='inlinecode'>#bash</span> codebase at work that reported the progress of a migration, nobody understood it and it was wonky (sometimes it would not return the desired results). On top of that, the coding style was very bad as well (I could rant forever here). The engineer who wrote it left the company. I rewrote it in <span class='inlinecode'>#Perl</span> in about 300 LOC. Colleagues asked why not Python. Perl is the perfect choice here—it's even in its name: Practical Extraction and Report Language!</span><br /> +<br /> +<h3 style='display: inline' id='ghostty-is-a-terminal-emulator-that-was-'>Ghostty is a terminal emulator that was ...</h3><br /> +<br /> +<span>Ghostty is a terminal emulator that was recently released publicly as open-source. I love that it works natively on both Linux and macOS; it looks great (font rendering) and is fast and customizable via a config file (which I manage with a config mng system). Ghostty is a passion project written in Zig, the author loved the community so much while working on it that he donated $300k to the Zig Foundation. <span class='inlinecode'>#terminal</span> <span class='inlinecode'>#emulator</span></span><br /> +<br /> +<a class='textlink' href='https://ghostty.org'>ghostty.org</a><br /> +<br /> +<h3 style='display: inline' id='go-is-not-an-easy-programming-language-don-t-'>Go is not an easy programming language. Don't ...</h3><br /> +<br /> +<span>Go is not an easy programming language. Don't confuse easy with simple syntax. I'd agree to this. With the recent addition of Generics to the language I also feel that even the syntax stops being simple.. Also, simplicity is complex (especially under the hood how the language works - there are many mechanics you need to know if you really want to master the language). <span class='inlinecode'>#golang</span></span><br /> +<br /> +<a class='textlink' href='https://www.arp242.net/go-easy.html'>www.arp242.net/go-easy.html</a><br /> +<br /> +<h3 style='display: inline' id='how-will-ai-change-software-engineering-or-has-'>How will AI change software engineering (or has ...</h3><br /> +<br /> +<span>How will AI change software engineering (or has it already)? The bottom line is that less experienced engineers may have problems (accepting incomplete or incorrect programs, only reaching 70 percent solutions), while experienced engineers can leverage AI to boost their performance as they know how to fix the remaining 30 percent of the generated code. <span class='inlinecode'>#ai</span> <span class='inlinecode'>#engineering</span> <span class='inlinecode'>#software</span></span><br /> +<br /> +<a class='textlink' href='https://newsletter.pragmaticengineer.com/p/how-ai-will-change-software-engineering'>newsletter.pragmaticengineer.com/p/how-ai-will-change-software-engineering</a><br /> +<br /> +<h3 style='display: inline' id='eliminating-toil---toil-is-not-always-a-bad-'>Eliminating toil - Toil is not always a bad ...</h3><br /> +<br /> +<span>Eliminating toil - Toil is not always a bad thing - some even enjoy toil - it is calming in small amounts - but it becomes toxic in large amounts - <span class='inlinecode'>#SRE</span></span><br /> +<br /> +<a class='textlink' href='https://sre.google/sre-book/eliminating-toil/'>sre.google/sre-book/eliminating-toil/</a><br /> +<br /> +<h3 style='display: inline' id='fun-read-how-about-using-the-character-'>Fun read. How about using the character ...</h3><br /> +<br /> +<span>Fun read. How about using the character sequence :-) as a statement separator in a programming language?</span><br /> +<br /> +<a class='textlink' href='https://ntietz.com/blog/researching-why-we-use-semicolons-as-statement-terminators/'>ntietz.com/blog/researching-why-we-use-semicolons-as-statement-terminators/</a><br /> +<br /> +<h3 style='display: inline' id='thats-unexpected-you-cant-remove-a-nan-key-'>Thats unexpected, you cant remove a NaN key ...</h3><br /> +<br /> +<span>Thats unexpected, you cant remove a NaN key from a map without clearing it! <span class='inlinecode'>#golang</span> via @wallabagapp</span><br /> +<br /> +<a class='textlink' href='https://unexpected-go.com/you-cant-remove-a-nan-key-from-a-map-without-clearing-it.html'>unexpected-go.com/you-cant-remove-a-nan-key-from-a-map-without-clearing-it.html</a><br /> +<br /> +<h3 style='display: inline' id='nice-refresher-for-shell-bash-zsh-'>Nice refresher for <span class='inlinecode'>#shell</span> <span class='inlinecode'>#bash</span> <span class='inlinecode'>#zsh</span> ...</h3><br /> +<br /> +<span>Nice refresher for <span class='inlinecode'>#shell</span> <span class='inlinecode'>#bash</span> <span class='inlinecode'>#zsh</span> redirection rules</span><br /> +<br /> +<a class='textlink' href='https://rednafi.com/misc/shell_redirection/'>rednafi.com/misc/shell_redirection/</a><br /> +<br /> +<h3 style='display: inline' id='i-think-discussing-action-items-in-incident-'>I think discussing action items in incident ...</h3><br /> +<br /> +<span>I think discussing action items in incident reviews is important. At least the obvious should be captured and noted down. It does not mean that the action items need to be fully refined in the review meeting; that would be out of scope, in my opinion.</span><br /> +<br /> +<a class='textlink' href='https://surfingcomplexity.blog/2024/09/28/why-i-dont-like-discussing-action-items-during-incident-reviews/'>surfingcomplexity.blog/2024/09/28/why-..-..-action-items-during-incident-reviews/</a><br /> +<br /> +<h3 style='display: inline' id='at-first-functional-options-add-a-bit-of-'>At first, functional options add a bit of ...</h3><br /> +<br /> +<span>At first, functional options add a bit of boilerplate, but they turn out to be quite neat, especially when you have very long parameter lists that need to be made neat and tidy. <span class='inlinecode'>#golang</span></span><br /> +<br /> +<a class='textlink' href='https://www.calhoun.io/using-functional-options-instead-of-method-chaining-in-go/'>www.calhoun.io/using-functional-options-instead-of-method-chaining-in-go/</a><br /> +<br /> +<h3 style='display: inline' id='in-the-working-with-an-sre-interview-i-have-'>In the "Working with an SRE Interview" I have ...</h3><br /> +<br /> +<span>In the "Working with an SRE Interview" I have been askd about what it's like working with an SRE! We'd covered much more in depth, but we decided not to make it too long in the final version! <span class='inlinecode'>#sre</span> <span class='inlinecode'>#interview</span></span><br /> +<br /> +<a class='textlink' href='gemini://foo.zone/gemfeed/2025-01-15-working-with-an-sre-interview.gmi'>foo.zone/gemfeed/2025-01-15-working-with-an-sre-interview.gmi (Gemini)</a><br /> +<a class='textlink' href='https://foo.zone/gemfeed/2025-01-15-working-with-an-sre-interview.html'>foo.zone/gemfeed/2025-01-15-working-with-an-sre-interview.html</a><br /> +<br /> +<h3 style='display: inline' id='in-the-working-with-an-sre-interview-i-have-'>In the "Working with an SRE Interview" I have ...</h3><br /> +<br /> +<span>In the "Working with an SRE Interview" I have been askd about what it's like working with an SRE! We'd covered much more in depth, but we decided not to make it too long in the final version! <span class='inlinecode'>#sre</span> <span class='inlinecode'>#interview</span></span><br /> +<br /> +<a class='textlink' href='gemini://foo.zone/gemfeed/2025-01-15-working-with-an-sre-interview.gmi'>foo.zone/gemfeed/2025-01-15-working-with-an-sre-interview.gmi (Gemini)</a><br /> +<a class='textlink' href='https://foo.zone/gemfeed/2025-01-15-working-with-an-sre-interview.html'>foo.zone/gemfeed/2025-01-15-working-with-an-sre-interview.html</a><br /> +<br /> +<h3 style='display: inline' id='small-introduction-to-the-android-'>Small introduction to the <span class='inlinecode'>#Android</span> ...</h3><br /> +<br /> +<span>Small introduction to the <span class='inlinecode'>#Android</span> distribution called <span class='inlinecode'>#GrapheneOS</span> For myself, I am using a Pixel 7 Pro, which comes with "only" 5 years of support (not yet 7 years like the Pixel 8 and 9 series). I also wrote about GrapheneOS here once:</span><br /> +<br /> +<a class='textlink' href='https://dataswamp.org/~solene/2025-01-12-intro-to-grapheneos.html'>dataswamp.org/~solene/2025-01-12-intro-to-grapheneos.html</a><br /> +<a class='textlink' href='gemini://foo.zone/gemfeed/2023-01-23-why-grapheneos-rox.gmi'>foo.zone/gemfeed/2023-01-23-why-grapheneos-rox.gmi (Gemini)</a><br /> +<a class='textlink' href='https://foo.zone/gemfeed/2023-01-23-why-grapheneos-rox.html'>foo.zone/gemfeed/2023-01-23-why-grapheneos-rox.html</a><br /> +<br /> +<h3 style='display: inline' id='helix-202501-has-been-released-the-completion-'>Helix 2025.01 has been released. The completion ...</h3><br /> +<br /> +<span>Helix 2025.01 has been released. The completion of path names and the snippet functionality will be particularly useful for me. Overall, it's a great release. The release notes cover only some highlights, but there are many more changes in this version so also have a look at the Changelog! <span class='inlinecode'>#HelixEditor</span></span><br /> +<br /> +<a class='textlink' href='https://helix-editor.com/news/release-25-01-highlights/'>helix-editor.com/news/release-25-01-highlights/</a><br /> +<br /> +<h3 style='display: inline' id='i-found-these-are-excellent-examples-of-how-'>I found these are excellent examples of how ...</h3><br /> +<br /> +<span>I found these are excellent examples of how <span class='inlinecode'>#OpenBSD</span>'s <span class='inlinecode'>#relayd</span> can be used.</span><br /> +<br /> +<a class='textlink' href='https://www.tumfatig.net/2023/using-openbsd-relayd8-as-an-application-layer-gateway/'>www.tumfatig.net/2023/using-openbsd-relayd8-as-an-application-layer-gateway/</a><br /> +<br /> +<h3 style='display: inline' id='llms-for-ops-summaries-of-logs-probabilities-'>LLMs for Ops? Summaries of logs, probabilities ...</h3><br /> +<br /> +<span>LLMs for Ops? Summaries of logs, probabilities about correctness, auto-generating Ansible, some uses cases are there. Wouldn't trust it fully, though.</span><br /> +<br /> +<a class='textlink' href='https://youtu.be/WodaffxVq-E?si=noY0egrfl5izCSQI'>youtu.be/WodaffxVq-E?si=noY0egrfl5izCSQI</a><br /> +<br /> +<h3 style='display: inline' id='enjoying-an-apc-power-ups-bx750mi-in-my-'>Enjoying an APC Power-UPS BX750MI in my ...</h3><br /> +<br /> +<span>Enjoying an APC Power-UPS BX750MI in my <span class='inlinecode'>#homelab</span> with <span class='inlinecode'>#FreeBSD</span> and apcupsd. I can easily use the UPS status to auto-shutdown a cluster of FreeBSD machines on a power cut. One FreeBSD machine acts as the apcupsd master, connected via USB to the APC, while the remaining machines read the status remotely via the apcupsd network port from the master. However, it won't work when the master is down. <span class='inlinecode'>#APC</span> <span class='inlinecode'>#UPS</span></span><br /> +<br /> +<h3 style='display: inline' id='even-in-the-projects-where-i-m-the-only-'>"Even in the projects where I'm the only ...</h3><br /> +<br /> +<span>"Even in the projects where I'm the only person, there are at least three people involved: past me, present me, and future me." - Quote from <span class='inlinecode'>#software</span> <span class='inlinecode'>#programming</span></span><br /> +<br /> +<a class='textlink' href='https://liw.fi/40/#index1h1'>liw.fi/40/#index1h1</a><br /> +<br /> +<h3 style='display: inline' id='connecting-an-ups-to-my-freebsd-cluster-'>Connecting an <span class='inlinecode'>#UPS</span> to my <span class='inlinecode'>#FreeBSD</span> cluster ...</h3><br /> +<br /> +<span>Connecting an <span class='inlinecode'>#UPS</span> to my <span class='inlinecode'>#FreeBSD</span> cluster in my <span class='inlinecode'>#homelab</span>, protecting it from power cuts!</span><br /> +<br /> +<a class='textlink' href='gemini://foo.zone/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi'>foo.zone/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi (Gemini)</a><br /> +<a class='textlink' href='https://foo.zone/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.html'>foo.zone/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.html</a><br /> +<br /> +<h3 style='display: inline' id='so-the-co-founder-and-cto-of-honeycombio-and-'>So, the Co-founder and CTO of honeycomb.io and ...</h3><br /> +<br /> +<span>So, the Co-founder and CTO of honeycomb.io and author of the book Observability Engineering always hated observability. And Distinguished Software Engineer and The Pragmatic Engineer host can't pronounce the word Observability. :-) No, jokes aside, I liked this podcast episode of The Pragmatic Engineer: Observability: the present and future, with Charity Majors <span class='inlinecode'>#sre</span> <span class='inlinecode'>#observability</span></span><br /> +<br /> +<a class='textlink' href='https://newsletter.pragmaticengineer.com/p/observability-the-present-and-future'>newsletter.pragmaticengineer.com/p/observability-the-present-and-future</a><br /> +<br /> +<h2 style='display: inline' id='february-2025'>February 2025</h2><br /> +<br /> +<h3 style='display: inline' id='i-don-t-know-about-you-but-at-work-i-usually-'>I don't know about you, but at work, I usually ...</h3><br /> +<br /> +<span>I don't know about you, but at work, I usually deal with complex setups involving thousands of servers and work in a complex hybrid microservices-based environment (cloud and on-prem), where homelabbing (as simple as described in my blog post) is really relaxing and recreative. So, I was homelabbing a bit again, securing my <span class='inlinecode'>#FreeBSD</span> cluster from power cuts. <span class='inlinecode'>#UPS</span> <span class='inlinecode'>#recreative</span></span><br /> +<br /> +<a class='textlink' href='gemini://foo.zone/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi'>foo.zone/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi (Gemini)</a><br /> +<a class='textlink' href='https://foo.zone/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.html'>foo.zone/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.html</a><br /> +<br /> +<h3 style='display: inline' id='great-proposal-got-accepted-by-the-goteam-for-'>Great proposal (got accepted by the Goteam) for ...</h3><br /> +<br /> +<span>Great proposal (got accepted by the Goteam) for safer file system open functions <span class='inlinecode'>#golang</span></span><br /> +<br /> +<a class='textlink' href='https://github.com/golang/go/issues/67002'>github.com/golang/go/issues/67002</a><br /> +<br /> +<h3 style='display: inline' id='my-gemtexter-has-only-1320-loc-the-biggest-'>My Gemtexter has only 1320 LOC.... The Biggest ...</h3><br /> +<br /> +<span>My Gemtexter has only 1320 LOC.... The Biggest Shell Programs in the World are huuuge... <span class='inlinecode'>#shell</span> <span class='inlinecode'>#sh</span></span><br /> +<br /> +<a class='textlink' href='https://github.com/oils-for-unix/oils/wiki/The-Biggest-Shell-Programs-in-the-World'>github.com/oils-for-unix/oils/wiki/The-Biggest-Shell-Programs-in-the-World</a><br /> +<br /> +<h3 style='display: inline' id='against-tmp---he-is-making-a-point-unix-'>Against /tmp - He is making a point <span class='inlinecode'>#unix</span> ...</h3><br /> +<br /> +<span>Against /tmp - He is making a point <span class='inlinecode'>#unix</span> <span class='inlinecode'>#linux</span> <span class='inlinecode'>#bsd</span> <span class='inlinecode'>#filesystem</span> via @wallabagapp</span><br /> +<br /> +<a class='textlink' href='https://dotat.at/@/2024-10-22-tmp.html'>dotat.at/@/2024-10-22-tmp.html</a><br /> +<br /> +<h3 style='display: inline' id='random-weird-things-part-2-blog-'>Random Weird Things Part 2: <span class='inlinecode'>#blog</span> ...</h3><br /> +<br /> +<span>Random Weird Things Part 2: <span class='inlinecode'>#blog</span> <span class='inlinecode'>#computing</span></span><br /> +<br /> +<a class='textlink' href='gemini://foo.zone/gemfeed/2025-02-08-random-weird-things-ii.gmi'>foo.zone/gemfeed/2025-02-08-random-weird-things-ii.gmi (Gemini)</a><br /> +<a class='textlink' href='https://foo.zone/gemfeed/2025-02-08-random-weird-things-ii.html'>foo.zone/gemfeed/2025-02-08-random-weird-things-ii.html</a><br /> +<br /> +<h3 style='display: inline' id='as-a-former-pebble-user-and-fan-thats-'>As a former <span class='inlinecode'>#Pebble</span> user and fan, thats ...</h3><br /> +<br /> +<span>As a former <span class='inlinecode'>#Pebble</span> user and fan, thats aweaome news. PebbleOS is now open source and there will aoon be a new watch. I don't know about you, but I will be the first getting one :-) <span class='inlinecode'>#foss</span></span><br /> +<br /> +<a class='textlink' href='https://ericmigi.com/blog/why-were-bringing-pebble-back'>ericmigi.com/blog/why-were-bringing-pebble-back</a><br /> +<br /> +<h3 style='display: inline' id='i-think-i-am-slowly-getting-the-point-of-cue-'>I think I am slowly getting the point of Cue. ...</h3><br /> +<br /> +<span>I think I am slowly getting the point of Cue. For example, it can replace both a JSON file and a JSON Schema. Furthermore, you can convert it from and into different formats (Cue, JSON, YAML, Go data types, ...), and you can nicely embed this into a Go project as well. <span class='inlinecode'>#cue</span> <span class='inlinecode'>#cuelang</span> <span class='inlinecode'>#golang</span> <span class='inlinecode'>#configuration</span></span><br /> +<br /> +<a class='textlink' href='https://cuelang.org'>cuelang.org</a><br /> +<br /> +<h3 style='display: inline' id='jonathan-s-reflection-of-10-years-of-'>Jonathan's reflection of 10 years of ...</h3><br /> +<br /> +<span>Jonathan's reflection of 10 years of programming!</span><br /> +<br /> +<a class='textlink' href='https://jonathan-frere.com/posts/10-years-of-programming/'>jonathan-frere.com/posts/10-years-of-programming/</a><br /> +<br /> +<h3 style='display: inline' id='really-enjoyed-reading-this-easily-digestible-'>Really enjoyed reading this. Easily digestible ...</h3><br /> +<br /> +<span>Really enjoyed reading this. Easily digestible summary of what's new in Go 1.24. <span class='inlinecode'>#golang</span></span><br /> +<br /> +<a class='textlink' href='https://antonz.org/go-1-24/'>antonz.org/go-1-24/</a><br /> +<br /> +<h3 style='display: inline' id='some-great-advice-from-40-years-of-experience-'>Some great advice from 40 years of experience ...</h3><br /> +<br /> +<span>Some great advice from 40 years of experience as a software developer. <span class='inlinecode'>#software</span> <span class='inlinecode'>#development</span></span><br /> +<br /> +<a class='textlink' href='https://liw.fi/40/#index1h1'>liw.fi/40/#index1h1</a><br /> +<br /> +<h3 style='display: inline' id='i-enjoyed-this-talk-some-recipes-i-knew-'>I enjoyed this talk, some recipes I knew ...</h3><br /> +<br /> +<span>I enjoyed this talk, some recipes I knew already, others were new to me. The "line of sight" is my favourite, which I always tend to follow. I also liked the example where the speaker simplified a "complex" nested functions into two not-nested-if-statements. <span class='inlinecode'>#golang</span></span><br /> +<br /> +<a class='textlink' href='https://www.youtube.com/watch?v=zdKHq9Xo4OY&list=WL&index=5'>www.youtube.com/watch?v=zdKHq9Xo4OY&list=WL&index=5</a><br /> +<br /> +<h3 style='display: inline' id='a-way-of-how-to-add-the-version-info-to-the-go-'>A way of how to add the version info to the Go ...</h3><br /> +<br /> +<span>A way of how to add the version info to the Go binary. ... I personally just hardcode the version number in version.go and update it there manually for each release. But with Go 1.24, I will try embedding it! <span class='inlinecode'>#golang</span></span><br /> +<br /> +<a class='textlink' href='https://jerrynsh.com/3-easy-ways-to-add-version-flag-in-go/'>jerrynsh.com/3-easy-ways-to-add-version-flag-in-go/</a><br /> +<br /> +<h3 style='display: inline' id='in-other-words-using-tparallel-for-'>In other words, using t.Parallel() for ...</h3><br /> +<br /> +<span>In other words, using t.Parallel() for lightweight unit tests will likely make them slower.... <span class='inlinecode'>#golang</span></span><br /> +<br /> +<a class='textlink' href='https://threedots.tech/post/go-test-parallelism/'>threedots.tech/post/go-test-parallelism/</a><br /> +<br /> +<h3 style='display: inline' id='neat-little-blog-post-showcasing-various-'>Neat little blog post, showcasing various ...</h3><br /> +<br /> +<span>Neat little blog post, showcasing various methods unsed for generic programming before of the introduction of generics. Only reflection wasn't listed. <span class='inlinecode'>#golang</span></span><br /> +<br /> +<a class='textlink' href='https://bitfieldconsulting.com/posts/generics'>bitfieldconsulting.com/posts/generics</a><br /> +<br /> +<h3 style='display: inline' id='the-smallest-thing-in-go-golang-'>The smallest thing in Go <span class='inlinecode'>#golang</span> ...</h3><br /> +<br /> +<span>The smallest thing in Go <span class='inlinecode'>#golang</span></span><br /> +<br /> +<a class='textlink' href='https://bitfieldconsulting.com/posts/iota'>bitfieldconsulting.com/posts/iota</a><br /> +<br /> +<h3 style='display: inline' id='fun-with-defer-in-golang-i-did-t-know-that-'>Fun with defer in <span class='inlinecode'>#golang</span>, I did't know, that ...</h3><br /> +<br /> +<span>Fun with defer in <span class='inlinecode'>#golang</span>, I did't know, that a defer object can either be heap or stack allocated. And there are some rules for inlining, too.</span><br /> +<br /> +<a class='textlink' href='https://victoriametrics.com/blog/defer-in-go/'>victoriametrics.com/blog/defer-in-go/</a><br /> +<br /> +<h3 style='display: inline' id='what-i-like-about-go-is-that-it-is-still-'>What I like about Go is that it is still ...</h3><br /> +<br /> +<span>What I like about Go is that it is still possible to understand what's going on under the hood, whereas in JVM-based languages (for example) or dynamic languages, there are too many optimizations and abstractions. However, you don't need to know too much about how it works under the hood in Go (like memory management in C). It's just the fact that you can—you have a choice. <span class='inlinecode'>#golang</span></span><br /> +<br /> +<a class='textlink' href='https://blog.devtrovert.com/p/goroutine-scheduler-revealed-youll'>blog.devtrovert.com/p/goroutine-scheduler-revealed-youll</a><br /> +<br /> +<h2 style='display: inline' id='march-2025'>March 2025</h2><br /> +<br /> +<h3 style='display: inline' id='television-has-somewhat-transformed-how-i-work-'>Television has somewhat transformed how I work ...</h3><br /> +<br /> +<span>Television has somewhat transformed how I work in the shell on a day-to-day basis. It is especially useful for me in navigating all the local Git repositories on my laptop. I have bound Ctrl+G in my shell for that now. <span class='inlinecode'>#television</span> <span class='inlinecode'>#tv</span> <span class='inlinecode'>#tool</span> <span class='inlinecode'>#shell</span></span><br /> +<br /> +<a class='textlink' href='https://github.com/alexpasmantier/television'>github.com/alexpasmantier/television</a><br /> +<br /> +<h3 style='display: inline' id='once-in-a-while-i-like-to-read-a-book-about-a-'>Once in a while, I like to read a book about a ...</h3><br /> +<br /> +<span>Once in a while, I like to read a book about a programming language I have been using for a while to find new tricks or to refresh and sharpen my knowledge about it. I just finished reading "Programming Ruby 3.3," and I must say this is my favorite Ruby book now. What makes this one so special is that it is quite recent and covers all the new features. <span class='inlinecode'>#ruby</span> <span class='inlinecode'>#programming</span> <span class='inlinecode'>#coding</span></span><br /> +<br /> +<a class='textlink' href='https://pragprog.com/titles/ruby5/programming-ruby-3-3-5th-edition/'>pragprog.com/titles/ruby5/programming-ruby-3-3-5th-edition/</a><br /> +<br /> +<h3 style='display: inline' id='as-you-may-have-noticed-i-like-to-share-on-'>As you may have noticed, I like to share on ...</h3><br /> +<br /> +<span>As you may have noticed, I like to share on Mastodon and LinkedIn all the technical things I find interesting, and this blog post is technically all about that. Having said that, I love these tiny side projects. They are so relaxing to work on! <span class='inlinecode'>#gos</span> <span class='inlinecode'>#golang</span> <span class='inlinecode'>#tool</span> <span class='inlinecode'>#programming</span> <span class='inlinecode'>#fun</span></span><br /> +<br /> +<a class='textlink' href='gemini://foo.zone/gemfeed/2025-03-05-sharing-on-social-media-with-gos.gmi'>foo.zone/gemfeed/2025-03-05-sharing-on-social-media-with-gos.gmi (Gemini)</a><br /> +<a class='textlink' href='https://foo.zone/gemfeed/2025-03-05-sharing-on-social-media-with-gos.html'>foo.zone/gemfeed/2025-03-05-sharing-on-social-media-with-gos.html</a><br /> +<br /> +<h3 style='display: inline' id='personally-i-think-ai-llms-are-pretty-'>Personally, I think AI (LLMs) are pretty ...</h3><br /> +<br /> +<span>Personally, I think AI (LLMs) are pretty useful. But there's really some Hype around that. However, AI is about to stay - its not all hype</span><br /> +<br /> +<a class='textlink' href='https://unixdigest.com/articles/i-passionately-hate-hype-especially-the-ai-hype.html'>unixdigest.com/articles/i-passionately-hate-hype-especially-the-ai-hype.html</a><br /> +<br /> +<h3 style='display: inline' id='type-aliases-in-golang-soon-also-work-with-'>Type aliases in <span class='inlinecode'>#golang</span>, soon also work with ...</h3><br /> +<br /> +<span>Type aliases in <span class='inlinecode'>#golang</span>, soon also work with generics. It's an interesting feature, useful for refactorings and simplifications</span><br /> +<br /> +<a class='textlink' href='https://go.dev/blog/alias-names'>go.dev/blog/alias-names</a><br /> +<br /> +<h3 style='display: inline' id='perl-my-first-love-of-programming-'><span class='inlinecode'>#Perl</span>, my "first love" of programming ...</h3><br /> +<br /> +<span><span class='inlinecode'>#Perl</span>, my "first love" of programming languages. Still there, still use it here and then (but not as my primary language at the moment). And others do so as well, apparently. Which makes me happy! :-)</span><br /> +<br /> +<a class='textlink' href='https://dev.to/fa5tworm/why-perl-remains-indispensable-in-the-age-of-modern-programming-languages-2io0'>dev.to/fa5tworm/why-perl-remains-indis..-..e-of-modern-programming-languages-2io0</a><br /> +<br /> +<h3 style='display: inline' id='i-guess-there-are-valid-reasons-for-phttpdget-'>I guess there are valid reasons for phttpdget, ...</h3><br /> +<br /> +<span>I guess there are valid reasons for phttpdget, which I also don't know about? Maybe complexity and/or licensing of other tools. <span class='inlinecode'>#FreeBSD</span></span><br /> +<br /> +<a class='textlink' href='https://l33t.codes/2024/12/05/Updating-FreeBSD-and-Re-Inventing-the-Wheel/'>l33t.codes/2024/12/05/Updating-FreeBSD-and-Re-Inventing-the-Wheel/</a><br /> +<br /> +<h3 style='display: inline' id='this-is-one-of-the-reasons-why-i-like-'>This is one of the reasons why I like ...</h3><br /> +<br /> +<span>This is one of the reasons why I like terminal-based applications so much—they are usually more lightweight than GUI-based ones (and also more flexible).</span><br /> +<br /> +<a class='textlink' href='https://www.arp242.net/stupid-light.html'>www.arp242.net/stupid-light.html</a><br /> +<br /> +<h3 style='display: inline' id='advanced-concurrency-patterns-with-golang-'>Advanced Concurrency Patterns with <span class='inlinecode'>#Golang</span> ...</h3><br /> +<br /> +<span>Advanced Concurrency Patterns with <span class='inlinecode'>#Golang</span></span><br /> +<br /> +<a class='textlink' href='https://blogtitle.github.io/go-advanced-concurrency-patterns-part-1/'>blogtitle.github.io/go-advanced-concurrency-patterns-part-1/</a><br /> +<br /> +<h3 style='display: inline' id='sqlite-was-designed-as-an-tcl-extension-'><span class='inlinecode'>#SQLite</span> was designed as an <span class='inlinecode'>#TCL</span> extension. ...</h3><br /> +<br /> +<span><span class='inlinecode'>#SQLite</span> was designed as an <span class='inlinecode'>#TCL</span> extension. There are ~trillion SQLite databases in active use. SQLite heavily relies on <span class='inlinecode'>#TCL</span>: C code generation via mksqlite3c.tcl, C code isn't edited directly by the SQLite developers, and for testing , and for doc generation). The devs use a custom editor written in Tcl/Tk called "e" to edit the source! There's a custom versioning system Fossil, a custom chat-room written in Tcl/Tk!</span><br /> +<br /> +<a class='textlink' href='https://www.tcl-lang.org/community/tcl2017/assets/talk93/Paper.html'>www.tcl-lang.org/community/tcl2017/assets/talk93/Paper.html</a><br /> +<br /> +<h3 style='display: inline' id='git-provides-automatic-rendering-of-markdown-'>Git provides automatic rendering of Markdown ...</h3><br /> +<br /> +<span>Git provides automatic rendering of Markdown files, including README.md, in a repository’s root directory" .... so much junk now in LLM powered search engines.... <span class='inlinecode'>#llm</span> <span class='inlinecode'>#ai</span></span><br /> +<br /> +<h3 style='display: inline' id='these-are-some-neat-little-go-tips-linters-'>These are some neat little Go tips. Linters ...</h3><br /> +<br /> +<span>These are some neat little Go tips. Linters already tell you when you silently omit a function return value, though. The slice filter without allocation trick is nice and simple. And I agree that switch statements are preferable to if-else statements. <span class='inlinecode'>#golang</span></span><br /> +<br /> +<a class='textlink' href='https://blog.devtrovert.com/p/go-ep5-avoid-contextbackground-make'>blog.devtrovert.com/p/go-ep5-avoid-contextbackground-make</a><br /> +<br /> +<h3 style='display: inline' id='this-is-a-great-introductory-blog-post-about-'>This is a great introductory blog post about ...</h3><br /> +<br /> +<span>This is a great introductory blog post about the Helix modal editor. It's also been my first choice for over a year now. I am really looking forward to the Steel plugin system, though. I don't think I need a lot of plugins, but one or two would certainly be on my wish list. <span class='inlinecode'>#HelixEditor</span> <span class='inlinecode'>#Helix</span></span><br /> +<br /> +<a class='textlink' href='https://felix-knorr.net/posts/2025-03-16-helix-review.html'>felix-knorr.net/posts/2025-03-16-helix-review.html</a><br /> +<br /> +<h3 style='display: inline' id='maps-in-go-under-the-hood-golang-'>Maps in Go under the hood <span class='inlinecode'>#golang</span> ...</h3><br /> +<br /> +<span>Maps in Go under the hood <span class='inlinecode'>#golang</span></span><br /> +<br /> +<a class='textlink' href='https://victoriametrics.com/blog/go-map/'>victoriametrics.com/blog/go-map/</a><br /> +<br /> +<h3 style='display: inline' id='i-found-that-working-on-multiple-side-projects-'>I found that working on multiple side projects ...</h3><br /> +<br /> +<span>I found that working on multiple side projects concurrently is better than concentrating on just one. This seems inefficient, but if you to lose motivation, you can temporarily switch to another one with full élan. Remember to stop starting and start finishing. This doesn't mean you should be working on 10+ side projects concurrently! Select your projects and commit to finishing them before starting the next thing. For example, my current limit of concurrent side projects is around five.</span><br /> +<br /> +<h3 style='display: inline' id='i-have-been-in-incidents-understandably-'>I have been in incidents. Understandably, ...</h3><br /> +<br /> +<span>I have been in incidents. Understandably, everyone wants the issue to be resolved as quickly and others want to know how long TTR will be. IMHO, providing no estimates at all is no solution either. So maybe give a rough estimate but clearly communicate that the estimate is rough and that X, Y, and Z can interfere, meaning there is a chance it will take longer to resolve the incident. Just my thought. What's yours?</span><br /> +<br /> +<a class='textlink' href='https://firehydrant.com/blog/hot-take-dont-provide-incident-resolution-estimates/'>firehydrant.com/blog/hot-take-dont-provide-incident-resolution-estimates/</a><br /> +<br /> +<h3 style='display: inline' id='i-dont-understand-what-it-is-certificates-are-'>I dont understand what it is. Certificates are ...</h3><br /> +<br /> +<span>I dont understand what it is. Certificates are so easy to monitor but still, expirations cause so many incidents. <span class='inlinecode'>#sre</span></span><br /> +<br /> +<a class='textlink' href='https://securityboulevard.com/2024/10/dont-let-an-expired-certificate-cause-critical-downtime-prevent-outages-with-a-smart-clm/'>securityboulevard.com/2024/10/dont-let..-..time-prevent-outages-with-a-smart-clm/</a><br /> +<br /> +<h3 style='display: inline' id='don-t-just-blindly-trust-llms-i-recently-'>Don't just blindly trust LLMs. I recently ...</h3><br /> +<br /> +<span>Don't just blindly trust LLMs. I recently trusted an LLM, spent 1 hour debugging, and ultimately had to verify my assumption about <span class='inlinecode'>fcntl</span> behavior regarding inherited file descriptors in child processes manually with a C program, as the manual page wasn't clear to me. I could have done that immediately and I would have been done within 10 minutes. <span class='inlinecode'>#productivity</span> <span class='inlinecode'>#loss</span> <span class='inlinecode'>#llm</span> <span class='inlinecode'>#programming</span> <span class='inlinecode'>#C</span></span><br /> +<br /> +<h2 style='display: inline' id='april-2025'>April 2025</h2><br /> +<br /> +<h3 style='display: inline' id='i-knew-about-any-being-equivalent-to-'>I knew about any being equivalent to ...</h3><br /> +<br /> +<span>I knew about any being equivalent to interface{} in <span class='inlinecode'>#Golang</span>, but wasn't aware, that it was introduced to Go because of the generics.</span><br /> +<br /> +<h3 style='display: inline' id='neat-summary-of-new-perl-features-per-'>Neat summary of new <span class='inlinecode'>#Perl</span> features per ...</h3><br /> +<br /> +<span>Neat summary of new <span class='inlinecode'>#Perl</span> features per release</span><br /> +<br /> +<a class='textlink' href='https://sheet.shiar.nl/perl'>sheet.shiar.nl/perl</a><br /> +<br /> +<h3 style='display: inline' id='errorsas-checks-for-the-error-type-whereas-'>errors.As() checks for the error type, whereas ...</h3><br /> +<br /> +<span>errors.As() checks for the error type, whereas errors.Is() checks for the exact error value. Interesting read about Errors in <span class='inlinecode'>#golang</span> - and there is also a cat meme in the middle of the blog post! And then, it continues with pointers to pointers to error values or how about a pointer to an empty interface?</span><br /> +<br /> +<a class='textlink' href='https://adrianlarion.com/golang-error-handling-demystified-errors-is-errors-as-errors-unwrap-custom-errors-and-more/'>adrianlarion.com/golang-error-handling..-..-errors-unwrap-custom-errors-and-more/</a><br /> +<br /> +<h3 style='display: inline' id='good-stuff-10-years-of-functional-options-and-'>Good stuff: 10 years of functional options and ...</h3><br /> +<br /> +<span>Good stuff: 10 years of functional options and key lessons Learned along the way <span class='inlinecode'>#golang</span></span><br /> +<br /> +<a class='textlink' href='https://www.bytesizego.com/blog/10-years-functional-options-golang'>www.bytesizego.com/blog/10-years-functional-options-golang</a><br /> +<br /> +<h3 style='display: inline' id='i-had-some-fun-with-freebsd-bhyve-and-'>I had some fun with <span class='inlinecode'>#FreeBSD</span>, <span class='inlinecode'>#Bhyve</span> and ...</h3><br /> +<br /> +<span>I had some fun with <span class='inlinecode'>#FreeBSD</span>, <span class='inlinecode'>#Bhyve</span> and <span class='inlinecode'>#Rocky</span> <span class='inlinecode'>#Linux</span>. Not just for fun, also for science and profit! <span class='inlinecode'>#homelab</span> <span class='inlinecode'>#selfhosting</span> <span class='inlinecode'>#self</span>-hosting</span><br /> +<br /> +<a class='textlink' href='gemini://foo.zone/gemfeed/2025-04-05-f3s-kubernetes-with-freebsd-part-4.gmi'>foo.zone/gemfeed/2025-04-05-f3s-kubernetes-with-freebsd-part-4.gmi (Gemini)</a><br /> +<a class='textlink' href='https://foo.zone/gemfeed/2025-04-05-f3s-kubernetes-with-freebsd-part-4.html'>foo.zone/gemfeed/2025-04-05-f3s-kubernetes-with-freebsd-part-4.html</a><br /> +<br /> +<h3 style='display: inline' id='the-moment-your-blog-receives-prs-for-typo-'>The moment your blog receives PRs for typo ...</h3><br /> +<br /> +<span>The moment your blog receives PRs for typo corrections, you notice, that people are actually reading and care about your stuff :-) <span class='inlinecode'>#blog</span> <span class='inlinecode'>#personal</span> <span class='inlinecode'>#tech</span></span><br /> +<br /> +<h3 style='display: inline' id='one-thing-not-mentioned-is-that-openrsync-s-'>One thing not mentioned is that <span class='inlinecode'>#OpenRsync</span>'s ...</h3><br /> +<br /> +<span>One thing not mentioned is that <span class='inlinecode'>#OpenRsync</span>'s origin is the <span class='inlinecode'>#OpenBSD</span> project (at least as far as I am aware! Correct me if I am wrong :-) )! <span class='inlinecode'>#openbsd</span> <span class='inlinecode'>#rsync</span> <span class='inlinecode'>#macos</span> <span class='inlinecode'>#openrsync</span></span><br /> +<br /> +<a class='textlink' href='https://derflounder.wordpress.com/2025/04/06/rsync-replaced-with-openrsync-on-macos-sequoia/'>derflounder.wordpress.com/2025/04/06/r..-..laced-with-openrsync-on-macos-sequoia/</a><br /> +<br /> +<h3 style='display: inline' id='this-is-an-interesting-elixir-pipes-operator-'>This is an interesting <span class='inlinecode'>#Elixir</span> pipes operator ...</h3><br /> +<br /> +<span>This is an interesting <span class='inlinecode'>#Elixir</span> pipes operator experiment in <span class='inlinecode'>#Ruby</span>. <span class='inlinecode'>#Python</span> has also been experimenting with such an operator. Raku (not mentioned in the linked article) already has the <span class='inlinecode'>==></span> sequence operator, of course (which can also can be used backwards <span class='inlinecode'><==</span> - who has doubted? :-) ). <span class='inlinecode'>#syntax</span> <span class='inlinecode'>#codegolf</span> <span class='inlinecode'>#fun</span> <span class='inlinecode'>#coding</span> <span class='inlinecode'>#RakuLang</span></span><br /> +<br /> +<a class='textlink' href='https://zverok.space/blog/2024-11-16-elixir-pipes.html'>zverok.space/blog/2024-11-16-elixir-pipes.html</a><br /> +<br /> +<h3 style='display: inline' id='the-story-of-how-my-favorite-golang-book-was-'>The story of how my favorite <span class='inlinecode'>#Golang</span> book was ...</h3><br /> +<br /> +<span>The story of how my favorite <span class='inlinecode'>#Golang</span> book was written:</span><br /> +<br /> +<a class='textlink' href='https://www.thecoder.cafe/p/100-go-mistakes'>www.thecoder.cafe/p/100-go-mistakes</a><br /> +<br /> +<h3 style='display: inline' id='these-are-my-personal-book-notes-from-daniel-'>These are my personal book notes from Daniel ...</h3><br /> +<br /> +<span>These are my personal book notes from Daniel Pink's "When: The Scientific Secrets of Perfect Timing." The notes are for me (to improve happiness and productivity). You still need to read the whole book to get your own insights, but maybe the notes will be useful for you as well. <span class='inlinecode'>#blog</span> <span class='inlinecode'>#book</span> <span class='inlinecode'>#booknotes</span> <span class='inlinecode'>#productivity</span></span><br /> +<br /> +<a class='textlink' href='gemini://foo.zone/gemfeed/2025-04-19-when-book-notes.gmi'>foo.zone/gemfeed/2025-04-19-when-book-notes.gmi (Gemini)</a><br /> +<a class='textlink' href='https://foo.zone/gemfeed/2025-04-19-when-book-notes.html'>foo.zone/gemfeed/2025-04-19-when-book-notes.html</a><br /> +<br /> +<h3 style='display: inline' id='i-certainly-learned-a-lot-reading-this-llm-'>I certainly learned a lot reading this <span class='inlinecode'>#llm</span> ...</h3><br /> +<br /> +<span>I certainly learned a lot reading this <span class='inlinecode'>#llm</span> <span class='inlinecode'>#coding</span> <span class='inlinecode'>#programming</span></span><br /> +<br /> +<a class='textlink' href='https://simonwillison.net/2025/Mar/11/using-llms-for-code/'>simonwillison.net/2025/Mar/11/using-llms-for-code/</a><br /> +<br /> +<h3 style='display: inline' id='writing-indempotent-bash-scripts-'>Writing indempotent <span class='inlinecode'>#Bash</span> scripts ...</h3><br /> +<br /> +<span>Writing indempotent <span class='inlinecode'>#Bash</span> scripts</span><br /> +<br /> +<a class='textlink' href='https://arslan.io/2019/07/03/how-to-write-idempotent-bash-scripts/'>arslan.io/2019/07/03/how-to-write-idempotent-bash-scripts/</a><br /> +<br /> +<h3 style='display: inline' id='regarding-ai-for-code-generation-you-should-'>Regarding <span class='inlinecode'>#AI</span> for code generation. You should ...</h3><br /> +<br /> +<span>Regarding <span class='inlinecode'>#AI</span> for code generation. You should be at least a bit curious and exleriement a bit. You don't have to use it if you don't see fit purpose.</span><br /> +<br /> +<a class='textlink' href='https://registerspill.thorstenball.com/p/they-all-use-it?publication_id=1543843&post_id=151910861&isFreemail=true&r=2n9ive&triedRedirect=true'>registerspill.thorstenball.com/p/they-..-..email=true&r=2n9ive&triedRedirect=true</a><br /> +<br /> +<h3 style='display: inline' id='i-like-the-rocky-metaphor-and-this-post-also-'>I like the Rocky metaphor. And this post also ...</h3><br /> +<br /> +<span>I like the Rocky metaphor. And this post also reflects my thoughts on coding. <span class='inlinecode'>#llm</span> <span class='inlinecode'>#ai</span> <span class='inlinecode'>#software</span></span><br /> +<br /> +<a class='textlink' href='https://cekrem.github.io/posts/coding-as-craft-going-back-to-the-old-gym/'>cekrem.github.io/posts/coding-as-craft-going-back-to-the-old-gym/</a><br /> +<br /> +<h2 style='display: inline' id='may-2025'>May 2025</h2><br /> +<br /> +<h3 style='display: inline' id='there-s-now-also-a-fish-shell-edition-of-my-'>There's now also a <span class='inlinecode'>#Fish</span> shell edition of my ...</h3><br /> +<br /> +<span>There's now also a <span class='inlinecode'>#Fish</span> shell edition of my <span class='inlinecode'>#tmux</span> helper scripts: <span class='inlinecode'>#fishshell</span></span><br /> +<br /> +<a class='textlink' href='gemini://foo.zone/gemfeed/2025-05-02-terminal-multiplexing-with-tmux-fish-edition.gmi'>foo.zone/gemfeed/2025-05-02-terminal-multiplexing-with-tmux-fish-edition.gmi (Gemini)</a><br /> +<a class='textlink' href='https://foo.zone/gemfeed/2025-05-02-terminal-multiplexing-with-tmux-fish-edition.html'>foo.zone/gemfeed/2025-05-02-terminal-multiplexing-with-tmux-fish-edition.html</a><br /> +<br /> +<h3 style='display: inline' id='i-loved-this-talk-it-s-about-how-you-can-'>I loved this talk. It's about how you can ...</h3><br /> +<br /> +<span>I loved this talk. It's about how you can create your own <span class='inlinecode'>#Linux</span> <span class='inlinecode'>#container</span> without Docker, using less than 100 lines of shell code without Docker or Podman and co. - Why is this talk useful? If you understand how <span class='inlinecode'>#containers</span> work "under the hood," it becomes easier to make design decisions, write your own tools, or debug production systems. I also recommend his training courses, of which I visited one once.</span><br /> +<br /> +<a class='textlink' href='https://www.youtube.com/watch?v=4RUiVAlJE2w'>www.youtube.com/watch?v=4RUiVAlJE2w</a><br /> +<br /> +<h3 style='display: inline' id='some-unexpected-golang-stuff-ppl-say-that-'>Some unexpected <span class='inlinecode'>#golang</span> stuff, ppl say, that ...</h3><br /> +<br /> +<span>Some unexpected <span class='inlinecode'>#golang</span> stuff, ppl say, that Go is a simple language. IMHO the devil is in the details.</span><br /> +<br /> +<a class='textlink' href='https://unexpected-go.com/'>unexpected-go.com/</a><br /> +<br /> +<h3 style='display: inline' id='with-the-advent-of-ai-and-llms-i-have-observed-'>With the advent of AI and LLMs, I have observed ...</h3><br /> +<br /> +<span>With the advent of AI and LLMs, I have observed that being able to type quickly has become even more important for engineers. Previously, fast typing wasn't as crucial when coding, as most of the time was spent thinking or navigating through the code. However, with LLMs, you find yourself typing much more frequently. That's an unexpected personal win for me, as I recently learned fast touch typing: <span class='inlinecode'>#llm</span> <span class='inlinecode'>#coding</span> <span class='inlinecode'>#programming</span></span><br /> +<br /> +<a class='textlink' href='gemini://foo.zone/gemfeed/2024-08-05-typing-127.1-words-per-minute.gmi'>foo.zone/gemfeed/2024-08-05-typing-127.1-words-per-minute.gmi (Gemini)</a><br /> +<a class='textlink' href='https://foo.zone/gemfeed/2024-08-05-typing-127.1-words-per-minute.html'>foo.zone/gemfeed/2024-08-05-typing-127.1-words-per-minute.html</a><br /> +<br /> +<h3 style='display: inline' id='for-science-fun-and-profit-i-set-up-a-'>For science, fun and profit, I set up a ...</h3><br /> +<br /> +<span>For science, fun and profit, I set up a <span class='inlinecode'>#WireGuard</span> mesh network for my <span class='inlinecode'>#FreeBSD</span>, <span class='inlinecode'>#OpenBSD</span>, <span class='inlinecode'>#RockyLinux</span> and <span class='inlinecode'>#Kubernetes</span> <span class='inlinecode'>#homelab</span>: There's also a mesh generator, which I wrote in <span class='inlinecode'>#Ruby</span>. <span class='inlinecode'>#k3s</span> <span class='inlinecode'>#linux</span> <span class='inlinecode'>#k8s</span> <span class='inlinecode'>#k3s</span></span><br /> +<br /> +<a class='textlink' href='gemini://foo.zone/gemfeed/2025-05-11-f3s-kubernetes-with-freebsd-part-5.gmi'>foo.zone/gemfeed/2025-05-11-f3s-kubernetes-with-freebsd-part-5.gmi (Gemini)</a><br /> +<a class='textlink' href='https://foo.zone/gemfeed/2025-05-11-f3s-kubernetes-with-freebsd-part-5.html'>foo.zone/gemfeed/2025-05-11-f3s-kubernetes-with-freebsd-part-5.html</a><br /> +<br /> +<h3 style='display: inline' id='ever-wondered-about-the-hung-task-linux-'>Ever wondered about the hung task Linux ...</h3><br /> +<br /> +<span>Ever wondered about the hung task Linux messages on a busy server? Every case is unique, and there is no standard approach to debug them, but here it gets a bit demystified: <span class='inlinecode'>#linux</span> <span class='inlinecode'>#kernel</span></span><br /> +<br /> +<a class='textlink' href='https://blog.cloudflare.com/searching-for-the-cause-of-hung-tasks-in-the-linux-kernel/'>blog.cloudflare.com/searching-for-the-cause-of-hung-tasks-in-the-linux-kernel/</a><br /> +<br /> +<h3 style='display: inline' id='a-bit-of-fun-the-fortran-hating-gateway--'>A bit of <span class='inlinecode'>#fun</span>: The FORTRAN hating gateway ― ...</h3><br /> +<br /> +<span>A bit of <span class='inlinecode'>#fun</span>: The FORTRAN hating gateway ― Andreas Zwinkau</span><br /> +<br /> +<a class='textlink' href='https://beza1e1.tuxen.de/lore/fortran_hating_gateway.html'>beza1e1.tuxen.de/lore/fortran_hating_gateway.html</a><br /> +<br /> +<h3 style='display: inline' id='so-golang-was-invented-while-engineers-at-'>So, Golang was invented while engineers at ...</h3><br /> +<br /> +<span>So, Golang was invented while engineers at Google waited for C++ to compile. Here I am, waiting a long time for Java to compile...</span><br /> +<br /> +<h3 style='display: inline' id='i-couldn-t-do-without-here-docs-if-they-did-'>I couldn't do without here-docs. If they did ...</h3><br /> +<br /> +<span>I couldn't do without here-docs. If they did not exist, I would need to find another field and pursue a career there. <span class='inlinecode'>#bash</span> <span class='inlinecode'>#sh</span> <span class='inlinecode'>#shell</span></span><br /> +<br /> +<a class='textlink' href='https://rednafi.com/misc/heredoc_headache/'>rednafi.com/misc/heredoc_headache/</a><br /> +<br /> +<h3 style='display: inline' id='i-started-using-computers-as-a-kid-on-ms-dos-'>I started using computers as a kid on MS-DOS ...</h3><br /> +<br /> +<span>I started using computers as a kid on MS-DOS and mainly used Norton Commander to navigate the file system in order to start games. Later, I became more interested in computing in general and switched to Linux, but there was no NC. However, there was GNU Midnight Commander, which I still use regularly to this day. It's absolutely worth checking out, even in the modern day. <span class='inlinecode'>#tools</span> <span class='inlinecode'>#opensource</span></span><br /> +<br /> +<a class='textlink' href='https://en.wikipedia.org/wiki/Midnight_Commander'>en.wikipedia.org/wiki/Midnight_Commander</a><br /> +<br /> +<h3 style='display: inline' id='thats-interesting-running-android-in-'>Thats interesting, running <span class='inlinecode'>#Android</span> in ...</h3><br /> +<br /> +<span>Thats interesting, running <span class='inlinecode'>#Android</span> in <span class='inlinecode'>#Kubernetes</span></span><br /> +<br /> +<a class='textlink' href='https://ku.bz/Gs4-wpK5h'>ku.bz/Gs4-wpK5h</a><br /> +<br /> +<h3 style='display: inline' id='before-wiping-the-pre-installed-windows-11-'>Before wiping the pre-installed <span class='inlinecode'>#Windows</span> 11 ...</h3><br /> +<br /> +<span>Before wiping the pre-installed <span class='inlinecode'>#Windows</span> 11 Pro on my new Beelink mini PC, I tested <span class='inlinecode'>#WSL2</span> with <span class='inlinecode'>#Fedora</span> <span class='inlinecode'>#Linux</span>. I compiled my pet project, I/O Riot NG (ior), which requires many system libraries, including <span class='inlinecode'>#BPF</span>. I’m impressed—everything works just like on native Fedora, and my tool runs and traces I/O syscalls with BPF out of the box. I might would prefer now Windows over MacOS if I had to chose between those two for work.</span><br /> +<br /> +<a class='textlink' href='https://codeberg.org/snonux/ior'>codeberg.org/snonux/ior</a><br /> +<br /> +<h3 style='display: inline' id='some-might-hate-me-saying-this-but-didnt-'>Some might hate me saying this, but didnt ...</h3><br /> +<br /> +<span>Some might hate me saying this, but didnt <span class='inlinecode'>#systemd</span> solve the problem of a shared /tmp directory by introducing PrivateTmp?? but yes why did it have to go that way...</span><br /> +<br /> +<a class='textlink' href='https://www.osnews.com/story/140968/tmp-should-not-exist/'>www.osnews.com/story/140968/tmp-should-not-exist/</a><br /> +<br /> +<h3 style='display: inline' id='wouldn-t-still-do-that-even-with-100-test-'>Wouldn't still do that, even with 100% test ...</h3><br /> +<br /> +<span>Wouldn't still do that, even with 100% test coverage, LT and integration tests, unless theres an exception the business relies on <span class='inlinecode'>#sre</span></span><br /> +<br /> +<a class='textlink' href='https://medium.com/openclassrooms-product-design-and-engineering/do-not-deploy-on-friday-92b1b46ebfe6'>medium.com/openclassrooms-product-desi..-..g/do-not-deploy-on-friday-92b1b46ebfe6</a><br /> +<br /> +<h3 style='display: inline' id='some-neat-slice-tricks-for-go-golang-'>Some neat slice tricks for Go: <span class='inlinecode'>#golang</span> ...</h3><br /> +<br /> +<span>Some neat slice tricks for Go: <span class='inlinecode'>#golang</span></span><br /> +<br /> +<a class='textlink' href='https://blog.devtrovert.com/p/12-slice-tricks-to-enhance-your-go'>blog.devtrovert.com/p/12-slice-tricks-to-enhance-your-go</a><br /> +<br /> +<h3 style='display: inline' id='i-understand-that-kubernetes-is-not-for-'>I understand that Kubernetes is not for ...</h3><br /> +<br /> +<span>I understand that Kubernetes is not for everyone, but it still seems to be the new default for everything newly built. Despite the fact that Kubernetes is complex to maintain and use, there is still a lot of SRE/DevOps talent out there who have it on their CVs, which contributes significantly to the supportability of the infrastructure and the applications running on it. This way, you don't have to teach every new engineer your "own way" infrastructure. It's like a standard language of infrastructure that many people speak. However, Kubernetes should not be the default solution for everything, in my opinion. <span class='inlinecode'>#kubernetes</span> <span class='inlinecode'>#k8s</span></span><br /> +<br /> +<a class='textlink' href='https://www.gitpod.io/blog/we-are-leaving-kubernetes'>www.gitpod.io/blog/we-are-leaving-kubernetes</a><br /> +<br /> +<h2 style='display: inline' id='june-2025'>June 2025</h2><br /> +<br /> +<h3 style='display: inline' id='some-great-advices-will-try-out-some-of-them-'>Some great advices, will try out some of them! ...</h3><br /> +<br /> +<span>Some great advices, will try out some of them! <span class='inlinecode'>#programming</span></span><br /> +<br /> +<a class='textlink' href='https://endler.dev/2025/best-programmers/'>endler.dev/2025/best-programmers/</a><br /> +<br /> +<h3 style='display: inline' id='in-golang-values-are-actually-copied-when-'>In <span class='inlinecode'>#Golang</span>, values are actually copied when ...</h3><br /> +<br /> +<span>In <span class='inlinecode'>#Golang</span>, values are actually copied when assigned (boxed) into an interface. That can have performance impact.</span><br /> +<br /> +<a class='textlink' href='https://goperf.dev/01-common-patterns/interface-boxing/'>goperf.dev/01-common-patterns/interface-boxing/</a><br /> +<br /> +<h3 style='display: inline' id='this-is-a-great-little-tutorial-for-searching-'>This is a great little tutorial for searching ...</h3><br /> +<br /> +<span>This is a great little tutorial for searching in the <span class='inlinecode'>#HelixEditor</span> <span class='inlinecode'>#editor</span> <span class='inlinecode'>#coding</span></span><br /> +<br /> +<a class='textlink' href='https://helix-editor-tutorials.com/tutorials/using-helix-global-search/'>helix-editor-tutorials.com/tutorials/using-helix-global-search/</a><br /> +<br /> +<h3 style='display: inline' id='the-mov-instruction-of-a-cpu-is-turing-'>The mov instruction of a CPU is turing ...</h3><br /> +<br /> +<span>The mov instruction of a CPU is turing complete. And theres an implementation of <span class='inlinecode'>#Doom</span> only using mov, it renders one frame per 7 hours! <span class='inlinecode'>#fun</span></span><br /> +<br /> +<a class='textlink' href='https://beza1e1.tuxen.de/articles/accidentally_turing_complete.html'>beza1e1.tuxen.de/articles/accidentally_turing_complete.html</a><br /> +<br /> +<h3 style='display: inline' id='i-removed-the-social-media-profile-from-my-'>I removed the social media profile from my ...</h3><br /> +<br /> +<span>I removed the social media profile from my GrapheneOS phone. Originally, I created a separate profile just for social media to avoid using it too often. But I noticed that I switched to it too frequently. Not having social media within reach is probably the best option. <span class='inlinecode'>#socialmedia</span> <span class='inlinecode'>#sm</span> <span class='inlinecode'>#distractions</span></span><br /> +<br /> +<h3 style='display: inline' id='so-want-a-real-recent-unix-use-aix-macos-'>So want a "real" recent UNIX? Use AIX! <span class='inlinecode'>#macos</span> ...</h3><br /> +<br /> +<span>So want a "real" recent UNIX? Use AIX! <span class='inlinecode'>#macos</span> <span class='inlinecode'>#unix</span> <span class='inlinecode'>#aix</span></span><br /> +<br /> +<a class='textlink' href='https://www.osnews.com/story/141633/apples-macos-unix-certification-is-a-lie/'>www.osnews.com/story/141633/apples-macos-unix-certification-is-a-lie/</a><br /> +<br /> +<h3 style='display: inline' id='this-episode-i-think-is-kind-of-an-eye-opener-'>This episode, I think, is kind of an eye-opener ...</h3><br /> +<br /> +<span>This episode, I think, is kind of an eye-opener for me personally. I knew, that AI is there to stay, but you better should now start playing with your pet projects, otherwise your performance reviews will be awkward in a year or two from now, when you are expected to use AI for your daily work. <span class='inlinecode'>#ai</span> <span class='inlinecode'>#llm</span> <span class='inlinecode'>#coding</span> <span class='inlinecode'>#programming</span></span><br /> +<br /> +<a class='textlink' href='https://changelog.com/friends/96'>changelog.com/friends/96</a><br /> +<br /> +<h3 style='display: inline' id='my-openbsd-blog-setup-got-mentioned-in-the-'>My <span class='inlinecode'>#OpenBSD</span> blog setup got mentioned in the ...</h3><br /> +<br /> +<span>My <span class='inlinecode'>#OpenBSD</span> blog setup got mentioned in the BSDNow.tv Podcast (In the Feedback section) :-) <span class='inlinecode'>#BSD</span> <span class='inlinecode'>#podcast</span> <span class='inlinecode'>#runbsd</span></span><br /> +<br /> +<a class='textlink' href='https://www.bsdnow.tv/614'>www.bsdnow.tv/614</a><br /> +<br /> +<h3 style='display: inline' id='golang-is-the-best-when-it-comes-to-agentic-'><span class='inlinecode'>#Golang</span> is the best when it comes to agentic ...</h3><br /> +<br /> +<span><span class='inlinecode'>#Golang</span> is the best when it comes to agentic coding: <span class='inlinecode'>#llm</span></span><br /> +<br /> +<a class='textlink' href='https://lucumr.pocoo.org/2025/6/12/agentic-coding/'>lucumr.pocoo.org/2025/6/12/agentic-coding/</a><br /> +<br /> +<h3 style='display: inline' id='where-zsh-is-better-than-bash-'>Where <span class='inlinecode'>#zsh</span> is better than <span class='inlinecode'>#bash</span> ...</h3><br /> +<br /> +<span>Where <span class='inlinecode'>#zsh</span> is better than <span class='inlinecode'>#bash</span></span><br /> +<br /> +<a class='textlink' href='https://www.arp242.net/why-zsh.html'>www.arp242.net/why-zsh.html</a><br /> +<br /> +<h3 style='display: inline' id='i-really-enjoyed-this-talk-about-obscure-go-'>I really enjoyed this talk about obscure Go ...</h3><br /> +<br /> +<span>I really enjoyed this talk about obscure Go optimizations. None of it is really standard and can change from one version of Go to another, though. <span class='inlinecode'>#golang</span> <span class='inlinecode'>#talk</span></span><br /> +<br /> +<a class='textlink' href='https://www.youtube.com/watch?v=rRtihWOcaLI'>www.youtube.com/watch?v=rRtihWOcaLI</a><br /> +<br /> +<h3 style='display: inline' id='commenting-your-regular-expression-is-generally-'>Commenting your regular expression is generally ...</h3><br /> +<br /> +<span>Commenting your regular expression is generally a good advice! Works pretty well as described in the article not just in <span class='inlinecode'>#Ruby</span>, but also in <span class='inlinecode'>#Perl</span> (@Perl), <span class='inlinecode'>#RakuLang</span>, ...</span><br /> +<br /> +<a class='textlink' href='https://thoughtbot.com/blog/comment-your-regular-expressions'>thoughtbot.com/blog/comment-your-regular-expressions</a><br /> +<br /> +<h3 style='display: inline' id='you-have-to-make-a-decision-for-yourself-but-'>You have to make a decision for yourself, but ...</h3><br /> +<br /> +<span>You have to make a decision for yourself, but generally, work smarter (and faster—but keep the quality)! About 40 hours <span class='inlinecode'>#productivity</span> <span class='inlinecode'>#work</span> <span class='inlinecode'>#workload</span></span><br /> +<br /> +<a class='textlink' href='https://thesquareplanet.com/blog/about-40-hours/'>thesquareplanet.com/blog/about-40-hours/</a><br /> +<br /> +<h3 style='display: inline' id='100-go-mistakes-and-how-to-avoid-them-is-one-'>"100 Go Mistakes and How to Avoid Them" is one ...</h3><br /> +<br /> +<span>"100 Go Mistakes and How to Avoid Them" is one of my favorite <span class='inlinecode'>#Golang</span> books. Julia Evans also stumbled across some issues she'd learned from this book. The book itself is an absolute must for every Gopher (or someone who wants to become one!)</span><br /> +<br /> +<a class='textlink' href='https://jvns.ca/blog/2024/08/06/go-structs-copied-on-assignment/'>jvns.ca/blog/2024/08/06/go-structs-copied-on-assignment/</a><br /> +<br /> +<h3 style='display: inline' id='the-ruby-data-class-seems-quite-helpful-'>The <span class='inlinecode'>#Ruby</span> Data class seems quite helpful ...</h3><br /> +<br /> +<span>The <span class='inlinecode'>#Ruby</span> Data class seems quite helpful</span><br /> +<br /> +<a class='textlink' href='https://allaboutcoding.ghinda.com/example-of-value-objects-using-rubys-data-class'>allaboutcoding.ghinda.com/example-of-value-objects-using-rubys-data-class</a><br /> +<br /> +<span>Other related posts:</span><br /> +<br /> +<a class='textlink' href='./2025-01-01-posts-from-october-to-december-2024.html'>2025-01-01 Posts from October to December 2024</a><br /> +<a class='textlink' href='./2025-07-01-posts-from-january-to-june-2025.html'>2025-07-01 Posts from January to June 2025 (You are currently reading this)</a><br /> +<p class="footer"> +Generated with <a href="https://codeberg.org/snonux/gemtexter">Gemtexter 3.0.1-develop</a> | +served by <a href="https://www.OpenBSD.org">OpenBSD</a>/<a href="https://man.openbsd.org/relayd.8">relayd(8)</a>+<a href="https://man.openbsd.org/httpd.8">httpd(8)</a> | +<a href="https://foo.zone/site-mirrors.html">Site Mirrors</a> +</p> +</body> +</html> diff --git a/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-6.html b/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-6.html index 5c7c5fc3..f0a3800d 100644 --- a/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-6.html +++ b/gemfeed/DRAFT-f3s-kubernetes-with-freebsd-part-6.html @@ -36,6 +36,15 @@ <li>⇢ ⇢ <a href='#configuring-zdata-zfs-pool-and-encryption'>Configuring <span class='inlinecode'>zdata</span> ZFS pool and encryption</a></li> <li>⇢ ⇢ <a href='#migrating-bhyve-vms-to-encrypted-bhyve-zfs-volume'>Migrating Bhyve VMs to encrypted <span class='inlinecode'>bhyve</span> ZFS volume</a></li> <li>⇢ <a href='#carp'>CARP</a></li> +<li>⇢ <a href='#zfs-replication-with-zrepl'>ZFS Replication with zrepl</a></li> +<li>⇢ ⇢ <a href='#installing-zrepl'>Installing zrepl</a></li> +<li>⇢ ⇢ <a href='#checking-zfs-pools'>Checking ZFS pools</a></li> +<li>⇢ ⇢ <a href='#configuring-zrepl-with-wireguard-tunnel'>Configuring zrepl with WireGuard tunnel</a></li> +<li>⇢ ⇢ <a href='#configuring-zrepl-on-f0-source'>Configuring zrepl on f0 (source)</a></li> +<li>⇢ ⇢ <a href='#configuring-zrepl-on-f1-sink'>Configuring zrepl on f1 (sink)</a></li> +<li>⇢ ⇢ <a href='#enabling-and-starting-zrepl-services'>Enabling and starting zrepl services</a></li> +<li>⇢ ⇢ <a href='#verifying-replication'>Verifying replication</a></li> +<li>⇢ ⇢ <a href='#monitoring-replication'>Monitoring replication</a></li> </ul><br /> <h2 style='display: inline' id='introduction'>Introduction</h2><br /> <br /> @@ -215,6 +224,203 @@ zroot/bhyve/rocky keystatus available - <span>reboot or run doas kldload carp0 </span><br /> <br /> <br /> +<h2 style='display: inline' id='zfs-replication-with-zrepl'>ZFS Replication with zrepl</h2><br /> +<br /> +<span>In this section, we'll set up automatic ZFS replication from f0 to f1 using zrepl. This ensures our data is replicated across nodes for redundancy.</span><br /> +<br /> +<h3 style='display: inline' id='installing-zrepl'>Installing zrepl</h3><br /> +<br /> +<span>First, install zrepl on both hosts:</span><br /> +<br /> +<!-- Generator: GNU source-highlight 3.1.9 +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><i><font color="silver"># On f0</font></i> +paul@f0:~ % doas pkg install -y zrepl + +<i><font color="silver"># On f1</font></i> +paul@f1:~ % doas pkg install -y zrepl +</pre> +<br /> +<h3 style='display: inline' id='checking-zfs-pools'>Checking ZFS pools</h3><br /> +<br /> +<span>Verify the pools and datasets on both hosts:</span><br /> +<br /> +<!-- Generator: GNU source-highlight 3.1.9 +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><i><font color="silver"># On f0</font></i> +paul@f0:~ % doas zpool list +NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT +zdata 928G <font color="#000000">1</font>.03M 928G - - <font color="#000000">0</font>% <font color="#000000">0</font>% <font color="#000000">1</font>.00x ONLINE - +zroot 472G <font color="#000000">26</font>.7G 445G - - <font color="#000000">0</font>% <font color="#000000">5</font>% <font color="#000000">1</font>.00x ONLINE - + +paul@f0:~ % doas zfs list -r zdata/enc +NAME USED AVAIL REFER MOUNTPOINT +zdata/enc 200K 899G 200K /data/enc + +<i><font color="silver"># On f1</font></i> +paul@f1:~ % doas zpool list +NAME SIZE ALLOC FREE CKPOINT EXPANDSZ FRAG CAP DEDUP HEALTH ALTROOT +zdata 928G 956K 928G - - <font color="#000000">0</font>% <font color="#000000">0</font>% <font color="#000000">1</font>.00x ONLINE - +zroot 472G <font color="#000000">11</font>.7G 460G - - <font color="#000000">0</font>% <font color="#000000">2</font>% <font color="#000000">1</font>.00x ONLINE - + +paul@f1:~ % doas zfs list -r zdata/enc +NAME USED AVAIL REFER MOUNTPOINT +zdata/enc 200K 899G 200K /data/enc +</pre> +<br /> +<h3 style='display: inline' id='configuring-zrepl-with-wireguard-tunnel'>Configuring zrepl with WireGuard tunnel</h3><br /> +<br /> +<span>Since we have a WireGuard tunnel between f0 and f1, we'll use TCP transport over the secure tunnel instead of SSH. First, check the WireGuard IP addresses:</span><br /> +<br /> +<!-- Generator: GNU source-highlight 3.1.9 +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><i><font color="silver"># Check WireGuard interface IPs</font></i> +paul@f0:~ % ifconfig wg0 | grep inet + inet <font color="#000000">192.168</font>.<font color="#000000">2.130</font> netmask <font color="#000000">0xffffff00</font> + +paul@f1:~ % ifconfig wg0 | grep inet + inet <font color="#000000">192.168</font>.<font color="#000000">2.131</font> netmask <font color="#000000">0xffffff00</font> +</pre> +<br /> +<h3 style='display: inline' id='configuring-zrepl-on-f0-source'>Configuring zrepl on f0 (source)</h3><br /> +<br /> +<span>Create the zrepl configuration on f0:</span><br /> +<br /> +<!-- Generator: GNU source-highlight 3.1.9 +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre>paul@f0:~ % doas tee /usr/local/etc/zrepl/zrepl.yml <<<font color="#808080">'EOF'</font> +global: + logging: + - <b><u><font color="#000000">type</font></u></b>: stdout + level: info + format: human + +<b><u><font color="#000000">jobs</font></u></b>: + - name: <font color="#808080">"f0_to_f1"</font> + <b><u><font color="#000000">type</font></u></b>: push + connect: + <b><u><font color="#000000">type</font></u></b>: tcp + address: <font color="#808080">"192.168.2.131:8888"</font> + filesystems: { + <font color="#808080">"zdata/enc"</font>: <b><u><font color="#000000">true</font></u></b> + } + send: + encrypted: <b><u><font color="#000000">true</font></u></b> + snapshotting: + <b><u><font color="#000000">type</font></u></b>: periodic + prefix: zrepl_ + interval: 10m + pruning: + keep_sender: + - <b><u><font color="#000000">type</font></u></b>: last_n + count: <font color="#000000">10</font> + - <b><u><font color="#000000">type</font></u></b>: grid + grid: 1x1h(keep=all) | 24x1h | 7x1d | 4x7d | 6x30d + regex: <font color="#808080">"^zrepl_.*"</font> + keep_receiver: + - <b><u><font color="#000000">type</font></u></b>: grid + grid: 1x1h(keep=all) | 24x1h | 7x1d | 4x7d | 6x30d + regex: <font color="#808080">"^zrepl_.*"</font> +EOF +</pre> +<br /> +<h3 style='display: inline' id='configuring-zrepl-on-f1-sink'>Configuring zrepl on f1 (sink)</h3><br /> +<br /> +<span>Create the zrepl configuration on f1:</span><br /> +<br /> +<!-- Generator: GNU source-highlight 3.1.9 +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre>paul@f1:~ % doas tee /usr/local/etc/zrepl/zrepl.yml <<<font color="#808080">'EOF'</font> +global: + logging: + - <b><u><font color="#000000">type</font></u></b>: stdout + level: info + format: human + +<b><u><font color="#000000">jobs</font></u></b>: + - name: <font color="#808080">"sink"</font> + <b><u><font color="#000000">type</font></u></b>: sink + serve: + <b><u><font color="#000000">type</font></u></b>: tcp + listen: <font color="#808080">"192.168.2.131:8888"</font> + clients: + <font color="#808080">"192.168.2.130"</font>: <font color="#808080">"f0"</font> + recv: + placeholder: + encryption: inherit + root_fs: <font color="#808080">"zdata/enc"</font> +EOF +</pre> +<br /> +<h3 style='display: inline' id='enabling-and-starting-zrepl-services'>Enabling and starting zrepl services</h3><br /> +<br /> +<span>Enable and start zrepl on both hosts:</span><br /> +<br /> +<!-- Generator: GNU source-highlight 3.1.9 +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><i><font color="silver"># On f0</font></i> +paul@f0:~ % doas sysrc zrepl_enable=YES +zrepl_enable: -> YES +paul@f0:~ % doas service zrepl start +Starting zrepl. + +<i><font color="silver"># On f1</font></i> +paul@f1:~ % doas sysrc zrepl_enable=YES +zrepl_enable: -> YES +paul@f1:~ % doas service zrepl start +Starting zrepl. +</pre> +<br /> +<h3 style='display: inline' id='verifying-replication'>Verifying replication</h3><br /> +<br /> +<span>Check the replication status:</span><br /> +<br /> +<!-- Generator: GNU source-highlight 3.1.9 +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><i><font color="silver"># On f0, check zrepl status</font></i> +paul@f0:~ % doas zrepl status + +<i><font color="silver"># Check for zrepl snapshots</font></i> +paul@f0:~ % doas zfs list -t snapshot -r zdata/enc | grep zrepl + +<i><font color="silver"># On f1, verify the replicated datasets</font></i> +paul@f1:~ % doas zfs list -r zdata/enc + +<i><font color="silver"># Check zrepl logs for any errors</font></i> +paul@f0:~ % doas tail -f /var/log/zrepl.log +</pre> +<br /> +<h3 style='display: inline' id='monitoring-replication'>Monitoring replication</h3><br /> +<br /> +<span>You can monitor the replication progress with:</span><br /> +<br /> +<!-- Generator: GNU source-highlight 3.1.9 +by Lorenzo Bettini +http://www.lorenzobettini.it +http://www.gnu.org/software/src-highlite --> +<pre><i><font color="silver"># Real-time status</font></i> +paul@f0:~ % doas zrepl status --mode interactive + +<i><font color="silver"># Check specific job details</font></i> +paul@f0:~ % doas zrepl status --job f0_to_f1 +</pre> +<br /> +<span>With this setup, zdata/enc on f0 will be automatically replicated to f1 every 10 minutes, with encrypted snapshots preserved on both sides. The pruning policy ensures that we keep recent snapshots while managing disk space efficiently.</span><br /> +<br /> <span>ZFS auto scrubbing....~?</span><br /> <br /> <span>Backup of the keys on the key locations (all keys on all 3 USB keys)</span><br /> diff --git a/gemfeed/atom.xml b/gemfeed/atom.xml index 7ec56e5b..0b9cc97e 100644 --- a/gemfeed/atom.xml +++ b/gemfeed/atom.xml @@ -1,12 +1,765 @@ <?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> - <updated>2025-06-29T13:29:59+03:00</updated> + <updated>2025-07-01T22:39:30+03:00</updated> <title>foo.zone feed</title> <subtitle>To be in the .zone!</subtitle> <link href="https://foo.zone/gemfeed/atom.xml" rel="self" /> <link href="https://foo.zone/" /> <id>https://foo.zone/</id> <entry> + <title>Posts from January to June 2025</title> + <link href="https://foo.zone/gemfeed/2025-07-01-posts-from-january-to-june-2025.html" /> + <id>https://foo.zone/gemfeed/2025-07-01-posts-from-january-to-june-2025.html</id> + <updated>2025-07-01T22:39:29+03:00</updated> + <author> + <name>Paul Buetow aka snonux</name> + <email>paul@dev.buetow.org</email> + </author> + <summary>These are my social media posts from the last six months. I keep them here to reflect on them and also to not lose them. Social media networks come and go and are not under my control, but my domain is here to stay. </summary> + <content type="xhtml"> + <div xmlns="http://www.w3.org/1999/xhtml"> + <h1 style='display: inline' id='posts-from-january-to-june-2025'>Posts from January to June 2025</h1><br /> +<br /> +<span>These are my social media posts from the last six months. I keep them here to reflect on them and also to not lose them. Social media networks come and go and are not under my control, but my domain is here to stay. </span><br /> +<br /> +<span>These are from Mastodon and LinkedIn. Have a look at my about page for my social media profiles. This list is generated with Gos, my social media platform sharing tool.</span><br /> +<br /> +<a class='textlink' href='../about/index.html'>My about page</a><br /> +<a class='textlink' href='https://codeberg.org/snonux/gos'>https://codeberg.org/snonux/gos</a><br /> +<br /> +<h2 style='display: inline' id='table-of-contents'>Table of Contents</h2><br /> +<br /> +<ul> +<li><a href='#posts-from-january-to-june-2025'>Posts from January to June 2025</a></li> +<li>⇢ <a href='#january-2025'>January 2025</a></li> +<li>⇢ ⇢ <a href='#i-am-currently-binge-listening-to-the-google-'>I am currently binge-listening to the Google ...</a></li> +<li>⇢ ⇢ <a href='#recently-there-was-a-5000-loc-bash-'>Recently, there was a >5000 LOC <span class='inlinecode'>#bash</span> ...</a></li> +<li>⇢ ⇢ <a href='#ghostty-is-a-terminal-emulator-that-was-'>Ghostty is a terminal emulator that was ...</a></li> +<li>⇢ ⇢ <a href='#go-is-not-an-easy-programming-language-don-t-'>Go is not an easy programming language. Don't ...</a></li> +<li>⇢ ⇢ <a href='#how-will-ai-change-software-engineering-or-has-'>How will AI change software engineering (or has ...</a></li> +<li>⇢ ⇢ <a href='#eliminating-toil---toil-is-not-always-a-bad-'>Eliminating toil - Toil is not always a bad ...</a></li> +<li>⇢ ⇢ <a href='#fun-read-how-about-using-the-character-'>Fun read. How about using the character ...</a></li> +<li>⇢ ⇢ <a href='#thats-unexpected-you-cant-remove-a-nan-key-'>Thats unexpected, you cant remove a NaN key ...</a></li> +<li>⇢ ⇢ <a href='#nice-refresher-for-shell-bash-zsh-'>Nice refresher for <span class='inlinecode'>#shell</span> <span class='inlinecode'>#bash</span> <span class='inlinecode'>#zsh</span> ...</a></li> +<li>⇢ ⇢ <a href='#i-think-discussing-action-items-in-incident-'>I think discussing action items in incident ...</a></li> +<li>⇢ ⇢ <a href='#at-first-functional-options-add-a-bit-of-'>At first, functional options add a bit of ...</a></li> +<li>⇢ ⇢ <a href='#in-the-working-with-an-sre-interview-i-have-'>In the "Working with an SRE Interview" I have ...</a></li> +<li>⇢ ⇢ <a href='#in-the-working-with-an-sre-interview-i-have-'>In the "Working with an SRE Interview" I have ...</a></li> +<li>⇢ ⇢ <a href='#small-introduction-to-the-android-'>Small introduction to the <span class='inlinecode'>#Android</span> ...</a></li> +<li>⇢ ⇢ <a href='#helix-202501-has-been-released-the-completion-'>Helix 2025.01 has been released. The completion ...</a></li> +<li>⇢ ⇢ <a href='#i-found-these-are-excellent-examples-of-how-'>I found these are excellent examples of how ...</a></li> +<li>⇢ ⇢ <a href='#llms-for-ops-summaries-of-logs-probabilities-'>LLMs for Ops? Summaries of logs, probabilities ...</a></li> +<li>⇢ ⇢ <a href='#enjoying-an-apc-power-ups-bx750mi-in-my-'>Enjoying an APC Power-UPS BX750MI in my ...</a></li> +<li>⇢ ⇢ <a href='#even-in-the-projects-where-i-m-the-only-'>"Even in the projects where I'm the only ...</a></li> +<li>⇢ ⇢ <a href='#connecting-an-ups-to-my-freebsd-cluster-'>Connecting an <span class='inlinecode'>#UPS</span> to my <span class='inlinecode'>#FreeBSD</span> cluster ...</a></li> +<li>⇢ ⇢ <a href='#so-the-co-founder-and-cto-of-honeycombio-and-'>So, the Co-founder and CTO of honeycomb.io and ...</a></li> +<li>⇢ <a href='#february-2025'>February 2025</a></li> +<li>⇢ ⇢ <a href='#i-don-t-know-about-you-but-at-work-i-usually-'>I don't know about you, but at work, I usually ...</a></li> +<li>⇢ ⇢ <a href='#great-proposal-got-accepted-by-the-goteam-for-'>Great proposal (got accepted by the Goteam) for ...</a></li> +<li>⇢ ⇢ <a href='#my-gemtexter-has-only-1320-loc-the-biggest-'>My Gemtexter has only 1320 LOC.... The Biggest ...</a></li> +<li>⇢ ⇢ <a href='#against-tmp---he-is-making-a-point-unix-'>Against /tmp - He is making a point <span class='inlinecode'>#unix</span> ...</a></li> +<li>⇢ ⇢ <a href='#random-weird-things-part-2-blog-'>Random Weird Things Part 2: <span class='inlinecode'>#blog</span> ...</a></li> +<li>⇢ ⇢ <a href='#as-a-former-pebble-user-and-fan-thats-'>As a former <span class='inlinecode'>#Pebble</span> user and fan, thats ...</a></li> +<li>⇢ ⇢ <a href='#i-think-i-am-slowly-getting-the-point-of-cue-'>I think I am slowly getting the point of Cue. ...</a></li> +<li>⇢ ⇢ <a href='#jonathan-s-reflection-of-10-years-of-'>Jonathan's reflection of 10 years of ...</a></li> +<li>⇢ ⇢ <a href='#really-enjoyed-reading-this-easily-digestible-'>Really enjoyed reading this. Easily digestible ...</a></li> +<li>⇢ ⇢ <a href='#some-great-advice-from-40-years-of-experience-'>Some great advice from 40 years of experience ...</a></li> +<li>⇢ ⇢ <a href='#i-enjoyed-this-talk-some-recipes-i-knew-'>I enjoyed this talk, some recipes I knew ...</a></li> +<li>⇢ ⇢ <a href='#a-way-of-how-to-add-the-version-info-to-the-go-'>A way of how to add the version info to the Go ...</a></li> +<li>⇢ ⇢ <a href='#in-other-words-using-tparallel-for-'>In other words, using t.Parallel() for ...</a></li> +<li>⇢ ⇢ <a href='#neat-little-blog-post-showcasing-various-'>Neat little blog post, showcasing various ...</a></li> +<li>⇢ ⇢ <a href='#the-smallest-thing-in-go-golang-'>The smallest thing in Go <span class='inlinecode'>#golang</span> ...</a></li> +<li>⇢ ⇢ <a href='#fun-with-defer-in-golang-i-did-t-know-that-'>Fun with defer in <span class='inlinecode'>#golang</span>, I did't know, that ...</a></li> +<li>⇢ ⇢ <a href='#what-i-like-about-go-is-that-it-is-still-'>What I like about Go is that it is still ...</a></li> +<li>⇢ <a href='#march-2025'>March 2025</a></li> +<li>⇢ ⇢ <a href='#television-has-somewhat-transformed-how-i-work-'>Television has somewhat transformed how I work ...</a></li> +<li>⇢ ⇢ <a href='#once-in-a-while-i-like-to-read-a-book-about-a-'>Once in a while, I like to read a book about a ...</a></li> +<li>⇢ ⇢ <a href='#as-you-may-have-noticed-i-like-to-share-on-'>As you may have noticed, I like to share on ...</a></li> +<li>⇢ ⇢ <a href='#personally-i-think-ai-llms-are-pretty-'>Personally, I think AI (LLMs) are pretty ...</a></li> +<li>⇢ ⇢ <a href='#type-aliases-in-golang-soon-also-work-with-'>Type aliases in <span class='inlinecode'>#golang</span>, soon also work with ...</a></li> +<li>⇢ ⇢ <a href='#perl-my-first-love-of-programming-'><span class='inlinecode'>#Perl</span>, my "first love" of programming ...</a></li> +<li>⇢ ⇢ <a href='#i-guess-there-are-valid-reasons-for-phttpdget-'>I guess there are valid reasons for phttpdget, ...</a></li> +<li>⇢ ⇢ <a href='#this-is-one-of-the-reasons-why-i-like-'>This is one of the reasons why I like ...</a></li> +<li>⇢ ⇢ <a href='#advanced-concurrency-patterns-with-golang-'>Advanced Concurrency Patterns with <span class='inlinecode'>#Golang</span> ...</a></li> +<li>⇢ ⇢ <a href='#sqlite-was-designed-as-an-tcl-extension-'><span class='inlinecode'>#SQLite</span> was designed as an <span class='inlinecode'>#TCL</span> extension. ...</a></li> +<li>⇢ ⇢ <a href='#git-provides-automatic-rendering-of-markdown-'>Git provides automatic rendering of Markdown ...</a></li> +<li>⇢ ⇢ <a href='#these-are-some-neat-little-go-tips-linters-'>These are some neat little Go tips. Linters ...</a></li> +<li>⇢ ⇢ <a href='#this-is-a-great-introductory-blog-post-about-'>This is a great introductory blog post about ...</a></li> +<li>⇢ ⇢ <a href='#maps-in-go-under-the-hood-golang-'>Maps in Go under the hood <span class='inlinecode'>#golang</span> ...</a></li> +<li>⇢ ⇢ <a href='#i-found-that-working-on-multiple-side-projects-'>I found that working on multiple side projects ...</a></li> +<li>⇢ ⇢ <a href='#i-have-been-in-incidents-understandably-'>I have been in incidents. Understandably, ...</a></li> +<li>⇢ ⇢ <a href='#i-dont-understand-what-it-is-certificates-are-'>I dont understand what it is. Certificates are ...</a></li> +<li>⇢ ⇢ <a href='#don-t-just-blindly-trust-llms-i-recently-'>Don't just blindly trust LLMs. I recently ...</a></li> +<li>⇢ <a href='#april-2025'>April 2025</a></li> +<li>⇢ ⇢ <a href='#i-knew-about-any-being-equivalent-to-'>I knew about any being equivalent to ...</a></li> +<li>⇢ ⇢ <a href='#neat-summary-of-new-perl-features-per-'>Neat summary of new <span class='inlinecode'>#Perl</span> features per ...</a></li> +<li>⇢ ⇢ <a href='#errorsas-checks-for-the-error-type-whereas-'>errors.As() checks for the error type, whereas ...</a></li> +<li>⇢ ⇢ <a href='#good-stuff-10-years-of-functional-options-and-'>Good stuff: 10 years of functional options and ...</a></li> +<li>⇢ ⇢ <a href='#i-had-some-fun-with-freebsd-bhyve-and-'>I had some fun with <span class='inlinecode'>#FreeBSD</span>, <span class='inlinecode'>#Bhyve</span> and ...</a></li> +<li>⇢ ⇢ <a href='#the-moment-your-blog-receives-prs-for-typo-'>The moment your blog receives PRs for typo ...</a></li> +<li>⇢ ⇢ <a href='#one-thing-not-mentioned-is-that-openrsync-s-'>One thing not mentioned is that <span class='inlinecode'>#OpenRsync</span>'s ...</a></li> +<li>⇢ ⇢ <a href='#this-is-an-interesting-elixir-pipes-operator-'>This is an interesting <span class='inlinecode'>#Elixir</span> pipes operator ...</a></li> +<li>⇢ ⇢ <a href='#the-story-of-how-my-favorite-golang-book-was-'>The story of how my favorite <span class='inlinecode'>#Golang</span> book was ...</a></li> +<li>⇢ ⇢ <a href='#these-are-my-personal-book-notes-from-daniel-'>These are my personal book notes from Daniel ...</a></li> +<li>⇢ ⇢ <a href='#i-certainly-learned-a-lot-reading-this-llm-'>I certainly learned a lot reading this <span class='inlinecode'>#llm</span> ...</a></li> +<li>⇢ ⇢ <a href='#writing-indempotent-bash-scripts-'>Writing indempotent <span class='inlinecode'>#Bash</span> scripts ...</a></li> +<li>⇢ ⇢ <a href='#regarding-ai-for-code-generation-you-should-'>Regarding <span class='inlinecode'>#AI</span> for code generation. You should ...</a></li> +<li>⇢ ⇢ <a href='#i-like-the-rocky-metaphor-and-this-post-also-'>I like the Rocky metaphor. And this post also ...</a></li> +<li>⇢ <a href='#may-2025'>May 2025</a></li> +<li>⇢ ⇢ <a href='#there-s-now-also-a-fish-shell-edition-of-my-'>There's now also a <span class='inlinecode'>#Fish</span> shell edition of my ...</a></li> +<li>⇢ ⇢ <a href='#i-loved-this-talk-it-s-about-how-you-can-'>I loved this talk. It's about how you can ...</a></li> +<li>⇢ ⇢ <a href='#some-unexpected-golang-stuff-ppl-say-that-'>Some unexpected <span class='inlinecode'>#golang</span> stuff, ppl say, that ...</a></li> +<li>⇢ ⇢ <a href='#with-the-advent-of-ai-and-llms-i-have-observed-'>With the advent of AI and LLMs, I have observed ...</a></li> +<li>⇢ ⇢ <a href='#for-science-fun-and-profit-i-set-up-a-'>For science, fun and profit, I set up a ...</a></li> +<li>⇢ ⇢ <a href='#ever-wondered-about-the-hung-task-linux-'>Ever wondered about the hung task Linux ...</a></li> +<li>⇢ ⇢ <a href='#a-bit-of-fun-the-fortran-hating-gateway--'>A bit of <span class='inlinecode'>#fun</span>: The FORTRAN hating gateway ― ...</a></li> +<li>⇢ ⇢ <a href='#so-golang-was-invented-while-engineers-at-'>So, Golang was invented while engineers at ...</a></li> +<li>⇢ ⇢ <a href='#i-couldn-t-do-without-here-docs-if-they-did-'>I couldn't do without here-docs. If they did ...</a></li> +<li>⇢ ⇢ <a href='#i-started-using-computers-as-a-kid-on-ms-dos-'>I started using computers as a kid on MS-DOS ...</a></li> +<li>⇢ ⇢ <a href='#thats-interesting-running-android-in-'>Thats interesting, running <span class='inlinecode'>#Android</span> in ...</a></li> +<li>⇢ ⇢ <a href='#before-wiping-the-pre-installed-windows-11-'>Before wiping the pre-installed <span class='inlinecode'>#Windows</span> 11 ...</a></li> +<li>⇢ ⇢ <a href='#some-might-hate-me-saying-this-but-didnt-'>Some might hate me saying this, but didnt ...</a></li> +<li>⇢ ⇢ <a href='#wouldn-t-still-do-that-even-with-100-test-'>Wouldn't still do that, even with 100% test ...</a></li> +<li>⇢ ⇢ <a href='#some-neat-slice-tricks-for-go-golang-'>Some neat slice tricks for Go: <span class='inlinecode'>#golang</span> ...</a></li> +<li>⇢ ⇢ <a href='#i-understand-that-kubernetes-is-not-for-'>I understand that Kubernetes is not for ...</a></li> +<li>⇢ <a href='#june-2025'>June 2025</a></li> +<li>⇢ ⇢ <a href='#some-great-advices-will-try-out-some-of-them-'>Some great advices, will try out some of them! ...</a></li> +<li>⇢ ⇢ <a href='#in-golang-values-are-actually-copied-when-'>In <span class='inlinecode'>#Golang</span>, values are actually copied when ...</a></li> +<li>⇢ ⇢ <a href='#this-is-a-great-little-tutorial-for-searching-'>This is a great little tutorial for searching ...</a></li> +<li>⇢ ⇢ <a href='#the-mov-instruction-of-a-cpu-is-turing-'>The mov instruction of a CPU is turing ...</a></li> +<li>⇢ ⇢ <a href='#i-removed-the-social-media-profile-from-my-'>I removed the social media profile from my ...</a></li> +<li>⇢ ⇢ <a href='#so-want-a-real-recent-unix-use-aix-macos-'>So want a "real" recent UNIX? Use AIX! <span class='inlinecode'>#macos</span> ...</a></li> +<li>⇢ ⇢ <a href='#this-episode-i-think-is-kind-of-an-eye-opener-'>This episode, I think, is kind of an eye-opener ...</a></li> +<li>⇢ ⇢ <a href='#my-openbsd-blog-setup-got-mentioned-in-the-'>My <span class='inlinecode'>#OpenBSD</span> blog setup got mentioned in the ...</a></li> +<li>⇢ ⇢ <a href='#golang-is-the-best-when-it-comes-to-agentic-'><span class='inlinecode'>#Golang</span> is the best when it comes to agentic ...</a></li> +<li>⇢ ⇢ <a href='#where-zsh-is-better-than-bash-'>Where <span class='inlinecode'>#zsh</span> is better than <span class='inlinecode'>#bash</span> ...</a></li> +<li>⇢ ⇢ <a href='#i-really-enjoyed-this-talk-about-obscure-go-'>I really enjoyed this talk about obscure Go ...</a></li> +<li>⇢ ⇢ <a href='#commenting-your-regular-expression-is-generally-'>Commenting your regular expression is generally ...</a></li> +<li>⇢ ⇢ <a href='#you-have-to-make-a-decision-for-yourself-but-'>You have to make a decision for yourself, but ...</a></li> +<li>⇢ ⇢ <a href='#100-go-mistakes-and-how-to-avoid-them-is-one-'>"100 Go Mistakes and How to Avoid Them" is one ...</a></li> +<li>⇢ ⇢ <a href='#the-ruby-data-class-seems-quite-helpful-'>The <span class='inlinecode'>#Ruby</span> Data class seems quite helpful ...</a></li> +</ul><br /> +<h2 style='display: inline' id='january-2025'>January 2025</h2><br /> +<br /> +<h3 style='display: inline' id='i-am-currently-binge-listening-to-the-google-'>I am currently binge-listening to the Google ...</h3><br /> +<br /> +<span>I am currently binge-listening to the Google <span class='inlinecode'>#SRE</span> ProdCast. It's really great to learn about the stories of individual SREs and their journeys. It is not just about SREs at Google; there are also external guests.</span><br /> +<br /> +<a class='textlink' href='https://sre.google/prodcast/'>sre.google/prodcast/</a><br /> +<br /> +<h3 style='display: inline' id='recently-there-was-a-5000-loc-bash-'>Recently, there was a >5000 LOC <span class='inlinecode'>#bash</span> ...</h3><br /> +<br /> +<span>Recently, there was a >5000 LOC <span class='inlinecode'>#bash</span> codebase at work that reported the progress of a migration, nobody understood it and it was wonky (sometimes it would not return the desired results). On top of that, the coding style was very bad as well (I could rant forever here). The engineer who wrote it left the company. I rewrote it in <span class='inlinecode'>#Perl</span> in about 300 LOC. Colleagues asked why not Python. Perl is the perfect choice here—it's even in its name: Practical Extraction and Report Language!</span><br /> +<br /> +<h3 style='display: inline' id='ghostty-is-a-terminal-emulator-that-was-'>Ghostty is a terminal emulator that was ...</h3><br /> +<br /> +<span>Ghostty is a terminal emulator that was recently released publicly as open-source. I love that it works natively on both Linux and macOS; it looks great (font rendering) and is fast and customizable via a config file (which I manage with a config mng system). Ghostty is a passion project written in Zig, the author loved the community so much while working on it that he donated $300k to the Zig Foundation. <span class='inlinecode'>#terminal</span> <span class='inlinecode'>#emulator</span></span><br /> +<br /> +<a class='textlink' href='https://ghostty.org'>ghostty.org</a><br /> +<br /> +<h3 style='display: inline' id='go-is-not-an-easy-programming-language-don-t-'>Go is not an easy programming language. Don't ...</h3><br /> +<br /> +<span>Go is not an easy programming language. Don't confuse easy with simple syntax. I'd agree to this. With the recent addition of Generics to the language I also feel that even the syntax stops being simple.. Also, simplicity is complex (especially under the hood how the language works - there are many mechanics you need to know if you really want to master the language). <span class='inlinecode'>#golang</span></span><br /> +<br /> +<a class='textlink' href='https://www.arp242.net/go-easy.html'>www.arp242.net/go-easy.html</a><br /> +<br /> +<h3 style='display: inline' id='how-will-ai-change-software-engineering-or-has-'>How will AI change software engineering (or has ...</h3><br /> +<br /> +<span>How will AI change software engineering (or has it already)? The bottom line is that less experienced engineers may have problems (accepting incomplete or incorrect programs, only reaching 70 percent solutions), while experienced engineers can leverage AI to boost their performance as they know how to fix the remaining 30 percent of the generated code. <span class='inlinecode'>#ai</span> <span class='inlinecode'>#engineering</span> <span class='inlinecode'>#software</span></span><br /> +<br /> +<a class='textlink' href='https://newsletter.pragmaticengineer.com/p/how-ai-will-change-software-engineering'>newsletter.pragmaticengineer.com/p/how-ai-will-change-software-engineering</a><br /> +<br /> +<h3 style='display: inline' id='eliminating-toil---toil-is-not-always-a-bad-'>Eliminating toil - Toil is not always a bad ...</h3><br /> +<br /> +<span>Eliminating toil - Toil is not always a bad thing - some even enjoy toil - it is calming in small amounts - but it becomes toxic in large amounts - <span class='inlinecode'>#SRE</span></span><br /> +<br /> +<a class='textlink' href='https://sre.google/sre-book/eliminating-toil/'>sre.google/sre-book/eliminating-toil/</a><br /> +<br /> +<h3 style='display: inline' id='fun-read-how-about-using-the-character-'>Fun read. How about using the character ...</h3><br /> +<br /> +<span>Fun read. How about using the character sequence :-) as a statement separator in a programming language?</span><br /> +<br /> +<a class='textlink' href='https://ntietz.com/blog/researching-why-we-use-semicolons-as-statement-terminators/'>ntietz.com/blog/researching-why-we-use-semicolons-as-statement-terminators/</a><br /> +<br /> +<h3 style='display: inline' id='thats-unexpected-you-cant-remove-a-nan-key-'>Thats unexpected, you cant remove a NaN key ...</h3><br /> +<br /> +<span>Thats unexpected, you cant remove a NaN key from a map without clearing it! <span class='inlinecode'>#golang</span> via @wallabagapp</span><br /> +<br /> +<a class='textlink' href='https://unexpected-go.com/you-cant-remove-a-nan-key-from-a-map-without-clearing-it.html'>unexpected-go.com/you-cant-remove-a-nan-key-from-a-map-without-clearing-it.html</a><br /> +<br /> +<h3 style='display: inline' id='nice-refresher-for-shell-bash-zsh-'>Nice refresher for <span class='inlinecode'>#shell</span> <span class='inlinecode'>#bash</span> <span class='inlinecode'>#zsh</span> ...</h3><br /> +<br /> +<span>Nice refresher for <span class='inlinecode'>#shell</span> <span class='inlinecode'>#bash</span> <span class='inlinecode'>#zsh</span> redirection rules</span><br /> +<br /> +<a class='textlink' href='https://rednafi.com/misc/shell_redirection/'>rednafi.com/misc/shell_redirection/</a><br /> +<br /> +<h3 style='display: inline' id='i-think-discussing-action-items-in-incident-'>I think discussing action items in incident ...</h3><br /> +<br /> +<span>I think discussing action items in incident reviews is important. At least the obvious should be captured and noted down. It does not mean that the action items need to be fully refined in the review meeting; that would be out of scope, in my opinion.</span><br /> +<br /> +<a class='textlink' href='https://surfingcomplexity.blog/2024/09/28/why-i-dont-like-discussing-action-items-during-incident-reviews/'>surfingcomplexity.blog/2024/09/28/why-..-..-action-items-during-incident-reviews/</a><br /> +<br /> +<h3 style='display: inline' id='at-first-functional-options-add-a-bit-of-'>At first, functional options add a bit of ...</h3><br /> +<br /> +<span>At first, functional options add a bit of boilerplate, but they turn out to be quite neat, especially when you have very long parameter lists that need to be made neat and tidy. <span class='inlinecode'>#golang</span></span><br /> +<br /> +<a class='textlink' href='https://www.calhoun.io/using-functional-options-instead-of-method-chaining-in-go/'>www.calhoun.io/using-functional-options-instead-of-method-chaining-in-go/</a><br /> +<br /> +<h3 style='display: inline' id='in-the-working-with-an-sre-interview-i-have-'>In the "Working with an SRE Interview" I have ...</h3><br /> +<br /> +<span>In the "Working with an SRE Interview" I have been askd about what it's like working with an SRE! We'd covered much more in depth, but we decided not to make it too long in the final version! <span class='inlinecode'>#sre</span> <span class='inlinecode'>#interview</span></span><br /> +<br /> +<a class='textlink' href='https://foo.zone/gemfeed/2025-01-15-working-with-an-sre-interview.gmi'>foo.zone/gemfeed/2025-01-15-working-with-an-sre-interview.html (Gemini)</a><br /> +<a class='textlink' href='https://foo.zone/gemfeed/2025-01-15-working-with-an-sre-interview.html'>foo.zone/gemfeed/2025-01-15-working-with-an-sre-interview.html</a><br /> +<br /> +<h3 style='display: inline' id='in-the-working-with-an-sre-interview-i-have-'>In the "Working with an SRE Interview" I have ...</h3><br /> +<br /> +<span>In the "Working with an SRE Interview" I have been askd about what it's like working with an SRE! We'd covered much more in depth, but we decided not to make it too long in the final version! <span class='inlinecode'>#sre</span> <span class='inlinecode'>#interview</span></span><br /> +<br /> +<a class='textlink' href='https://foo.zone/gemfeed/2025-01-15-working-with-an-sre-interview.gmi'>foo.zone/gemfeed/2025-01-15-working-with-an-sre-interview.html (Gemini)</a><br /> +<a class='textlink' href='https://foo.zone/gemfeed/2025-01-15-working-with-an-sre-interview.html'>foo.zone/gemfeed/2025-01-15-working-with-an-sre-interview.html</a><br /> +<br /> +<h3 style='display: inline' id='small-introduction-to-the-android-'>Small introduction to the <span class='inlinecode'>#Android</span> ...</h3><br /> +<br /> +<span>Small introduction to the <span class='inlinecode'>#Android</span> distribution called <span class='inlinecode'>#GrapheneOS</span> For myself, I am using a Pixel 7 Pro, which comes with "only" 5 years of support (not yet 7 years like the Pixel 8 and 9 series). I also wrote about GrapheneOS here once:</span><br /> +<br /> +<a class='textlink' href='https://dataswamp.org/~solene/2025-01-12-intro-to-grapheneos.html'>dataswamp.org/~solene/2025-01-12-intro-to-grapheneos.html</a><br /> +<a class='textlink' href='https://foo.zone/gemfeed/2023-01-23-why-grapheneos-rox.gmi'>foo.zone/gemfeed/2023-01-23-why-grapheneos-rox.html (Gemini)</a><br /> +<a class='textlink' href='https://foo.zone/gemfeed/2023-01-23-why-grapheneos-rox.html'>foo.zone/gemfeed/2023-01-23-why-grapheneos-rox.html</a><br /> +<br /> +<h3 style='display: inline' id='helix-202501-has-been-released-the-completion-'>Helix 2025.01 has been released. The completion ...</h3><br /> +<br /> +<span>Helix 2025.01 has been released. The completion of path names and the snippet functionality will be particularly useful for me. Overall, it's a great release. The release notes cover only some highlights, but there are many more changes in this version so also have a look at the Changelog! <span class='inlinecode'>#HelixEditor</span></span><br /> +<br /> +<a class='textlink' href='https://helix-editor.com/news/release-25-01-highlights/'>helix-editor.com/news/release-25-01-highlights/</a><br /> +<br /> +<h3 style='display: inline' id='i-found-these-are-excellent-examples-of-how-'>I found these are excellent examples of how ...</h3><br /> +<br /> +<span>I found these are excellent examples of how <span class='inlinecode'>#OpenBSD</span>'s <span class='inlinecode'>#relayd</span> can be used.</span><br /> +<br /> +<a class='textlink' href='https://www.tumfatig.net/2023/using-openbsd-relayd8-as-an-application-layer-gateway/'>www.tumfatig.net/2023/using-openbsd-relayd8-as-an-application-layer-gateway/</a><br /> +<br /> +<h3 style='display: inline' id='llms-for-ops-summaries-of-logs-probabilities-'>LLMs for Ops? Summaries of logs, probabilities ...</h3><br /> +<br /> +<span>LLMs for Ops? Summaries of logs, probabilities about correctness, auto-generating Ansible, some uses cases are there. Wouldn't trust it fully, though.</span><br /> +<br /> +<a class='textlink' href='https://youtu.be/WodaffxVq-E?si=noY0egrfl5izCSQI'>youtu.be/WodaffxVq-E?si=noY0egrfl5izCSQI</a><br /> +<br /> +<h3 style='display: inline' id='enjoying-an-apc-power-ups-bx750mi-in-my-'>Enjoying an APC Power-UPS BX750MI in my ...</h3><br /> +<br /> +<span>Enjoying an APC Power-UPS BX750MI in my <span class='inlinecode'>#homelab</span> with <span class='inlinecode'>#FreeBSD</span> and apcupsd. I can easily use the UPS status to auto-shutdown a cluster of FreeBSD machines on a power cut. One FreeBSD machine acts as the apcupsd master, connected via USB to the APC, while the remaining machines read the status remotely via the apcupsd network port from the master. However, it won't work when the master is down. <span class='inlinecode'>#APC</span> <span class='inlinecode'>#UPS</span></span><br /> +<br /> +<h3 style='display: inline' id='even-in-the-projects-where-i-m-the-only-'>"Even in the projects where I'm the only ...</h3><br /> +<br /> +<span>"Even in the projects where I'm the only person, there are at least three people involved: past me, present me, and future me." - Quote from <span class='inlinecode'>#software</span> <span class='inlinecode'>#programming</span></span><br /> +<br /> +<a class='textlink' href='https://liw.fi/40/#index1h1'>liw.fi/40/#index1h1</a><br /> +<br /> +<h3 style='display: inline' id='connecting-an-ups-to-my-freebsd-cluster-'>Connecting an <span class='inlinecode'>#UPS</span> to my <span class='inlinecode'>#FreeBSD</span> cluster ...</h3><br /> +<br /> +<span>Connecting an <span class='inlinecode'>#UPS</span> to my <span class='inlinecode'>#FreeBSD</span> cluster in my <span class='inlinecode'>#homelab</span>, protecting it from power cuts!</span><br /> +<br /> +<a class='textlink' href='https://foo.zone/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi'>foo.zone/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.html (Gemini)</a><br /> +<a class='textlink' href='https://foo.zone/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.html'>foo.zone/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.html</a><br /> +<br /> +<h3 style='display: inline' id='so-the-co-founder-and-cto-of-honeycombio-and-'>So, the Co-founder and CTO of honeycomb.io and ...</h3><br /> +<br /> +<span>So, the Co-founder and CTO of honeycomb.io and author of the book Observability Engineering always hated observability. And Distinguished Software Engineer and The Pragmatic Engineer host can't pronounce the word Observability. :-) No, jokes aside, I liked this podcast episode of The Pragmatic Engineer: Observability: the present and future, with Charity Majors <span class='inlinecode'>#sre</span> <span class='inlinecode'>#observability</span></span><br /> +<br /> +<a class='textlink' href='https://newsletter.pragmaticengineer.com/p/observability-the-present-and-future'>newsletter.pragmaticengineer.com/p/observability-the-present-and-future</a><br /> +<br /> +<h2 style='display: inline' id='february-2025'>February 2025</h2><br /> +<br /> +<h3 style='display: inline' id='i-don-t-know-about-you-but-at-work-i-usually-'>I don't know about you, but at work, I usually ...</h3><br /> +<br /> +<span>I don't know about you, but at work, I usually deal with complex setups involving thousands of servers and work in a complex hybrid microservices-based environment (cloud and on-prem), where homelabbing (as simple as described in my blog post) is really relaxing and recreative. So, I was homelabbing a bit again, securing my <span class='inlinecode'>#FreeBSD</span> cluster from power cuts. <span class='inlinecode'>#UPS</span> <span class='inlinecode'>#recreative</span></span><br /> +<br /> +<a class='textlink' href='https://foo.zone/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.gmi'>foo.zone/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.html (Gemini)</a><br /> +<a class='textlink' href='https://foo.zone/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.html'>foo.zone/gemfeed/2025-02-01-f3s-kubernetes-with-freebsd-part-3.html</a><br /> +<br /> +<h3 style='display: inline' id='great-proposal-got-accepted-by-the-goteam-for-'>Great proposal (got accepted by the Goteam) for ...</h3><br /> +<br /> +<span>Great proposal (got accepted by the Goteam) for safer file system open functions <span class='inlinecode'>#golang</span></span><br /> +<br /> +<a class='textlink' href='https://github.com/golang/go/issues/67002'>github.com/golang/go/issues/67002</a><br /> +<br /> +<h3 style='display: inline' id='my-gemtexter-has-only-1320-loc-the-biggest-'>My Gemtexter has only 1320 LOC.... The Biggest ...</h3><br /> +<br /> +<span>My Gemtexter has only 1320 LOC.... The Biggest Shell Programs in the World are huuuge... <span class='inlinecode'>#shell</span> <span class='inlinecode'>#sh</span></span><br /> +<br /> +<a class='textlink' href='https://github.com/oils-for-unix/oils/wiki/The-Biggest-Shell-Programs-in-the-World'>github.com/oils-for-unix/oils/wiki/The-Biggest-Shell-Programs-in-the-World</a><br /> +<br /> +<h3 style='display: inline' id='against-tmp---he-is-making-a-point-unix-'>Against /tmp - He is making a point <span class='inlinecode'>#unix</span> ...</h3><br /> +<br /> +<span>Against /tmp - He is making a point <span class='inlinecode'>#unix</span> <span class='inlinecode'>#linux</span> <span class='inlinecode'>#bsd</span> <span class='inlinecode'>#filesystem</span> via @wallabagapp</span><br /> +<br /> +<a class='textlink' href='https://dotat.at/@/2024-10-22-tmp.html'>dotat.at/@/2024-10-22-tmp.html</a><br /> +<br /> +<h3 style='display: inline' id='random-weird-things-part-2-blog-'>Random Weird Things Part 2: <span class='inlinecode'>#blog</span> ...</h3><br /> +<br /> +<span>Random Weird Things Part 2: <span class='inlinecode'>#blog</span> <span class='inlinecode'>#computing</span></span><br /> +<br /> +<a class='textlink' href='https://foo.zone/gemfeed/2025-02-08-random-weird-things-ii.gmi'>foo.zone/gemfeed/2025-02-08-random-weird-things-ii.html (Gemini)</a><br /> +<a class='textlink' href='https://foo.zone/gemfeed/2025-02-08-random-weird-things-ii.html'>foo.zone/gemfeed/2025-02-08-random-weird-things-ii.html</a><br /> +<br /> +<h3 style='display: inline' id='as-a-former-pebble-user-and-fan-thats-'>As a former <span class='inlinecode'>#Pebble</span> user and fan, thats ...</h3><br /> +<br /> +<span>As a former <span class='inlinecode'>#Pebble</span> user and fan, thats aweaome news. PebbleOS is now open source and there will aoon be a new watch. I don't know about you, but I will be the first getting one :-) <span class='inlinecode'>#foss</span></span><br /> +<br /> +<a class='textlink' href='https://ericmigi.com/blog/why-were-bringing-pebble-back'>ericmigi.com/blog/why-were-bringing-pebble-back</a><br /> +<br /> +<h3 style='display: inline' id='i-think-i-am-slowly-getting-the-point-of-cue-'>I think I am slowly getting the point of Cue. ...</h3><br /> +<br /> +<span>I think I am slowly getting the point of Cue. For example, it can replace both a JSON file and a JSON Schema. Furthermore, you can convert it from and into different formats (Cue, JSON, YAML, Go data types, ...), and you can nicely embed this into a Go project as well. <span class='inlinecode'>#cue</span> <span class='inlinecode'>#cuelang</span> <span class='inlinecode'>#golang</span> <span class='inlinecode'>#configuration</span></span><br /> +<br /> +<a class='textlink' href='https://cuelang.org'>cuelang.org</a><br /> +<br /> +<h3 style='display: inline' id='jonathan-s-reflection-of-10-years-of-'>Jonathan's reflection of 10 years of ...</h3><br /> +<br /> +<span>Jonathan's reflection of 10 years of programming!</span><br /> +<br /> +<a class='textlink' href='https://jonathan-frere.com/posts/10-years-of-programming/'>jonathan-frere.com/posts/10-years-of-programming/</a><br /> +<br /> +<h3 style='display: inline' id='really-enjoyed-reading-this-easily-digestible-'>Really enjoyed reading this. Easily digestible ...</h3><br /> +<br /> +<span>Really enjoyed reading this. Easily digestible summary of what's new in Go 1.24. <span class='inlinecode'>#golang</span></span><br /> +<br /> +<a class='textlink' href='https://antonz.org/go-1-24/'>antonz.org/go-1-24/</a><br /> +<br /> +<h3 style='display: inline' id='some-great-advice-from-40-years-of-experience-'>Some great advice from 40 years of experience ...</h3><br /> +<br /> +<span>Some great advice from 40 years of experience as a software developer. <span class='inlinecode'>#software</span> <span class='inlinecode'>#development</span></span><br /> +<br /> +<a class='textlink' href='https://liw.fi/40/#index1h1'>liw.fi/40/#index1h1</a><br /> +<br /> +<h3 style='display: inline' id='i-enjoyed-this-talk-some-recipes-i-knew-'>I enjoyed this talk, some recipes I knew ...</h3><br /> +<br /> +<span>I enjoyed this talk, some recipes I knew already, others were new to me. The "line of sight" is my favourite, which I always tend to follow. I also liked the example where the speaker simplified a "complex" nested functions into two not-nested-if-statements. <span class='inlinecode'>#golang</span></span><br /> +<br /> +<a class='textlink' href='https://www.youtube.com/watch?v=zdKHq9Xo4OY&list=WL&index=5'>www.youtube.com/watch?v=zdKHq9Xo4OY&list=WL&index=5</a><br /> +<br /> +<h3 style='display: inline' id='a-way-of-how-to-add-the-version-info-to-the-go-'>A way of how to add the version info to the Go ...</h3><br /> +<br /> +<span>A way of how to add the version info to the Go binary. ... I personally just hardcode the version number in version.go and update it there manually for each release. But with Go 1.24, I will try embedding it! <span class='inlinecode'>#golang</span></span><br /> +<br /> +<a class='textlink' href='https://jerrynsh.com/3-easy-ways-to-add-version-flag-in-go/'>jerrynsh.com/3-easy-ways-to-add-version-flag-in-go/</a><br /> +<br /> +<h3 style='display: inline' id='in-other-words-using-tparallel-for-'>In other words, using t.Parallel() for ...</h3><br /> +<br /> +<span>In other words, using t.Parallel() for lightweight unit tests will likely make them slower.... <span class='inlinecode'>#golang</span></span><br /> +<br /> +<a class='textlink' href='https://threedots.tech/post/go-test-parallelism/'>threedots.tech/post/go-test-parallelism/</a><br /> +<br /> +<h3 style='display: inline' id='neat-little-blog-post-showcasing-various-'>Neat little blog post, showcasing various ...</h3><br /> +<br /> +<span>Neat little blog post, showcasing various methods unsed for generic programming before of the introduction of generics. Only reflection wasn't listed. <span class='inlinecode'>#golang</span></span><br /> +<br /> +<a class='textlink' href='https://bitfieldconsulting.com/posts/generics'>bitfieldconsulting.com/posts/generics</a><br /> +<br /> +<h3 style='display: inline' id='the-smallest-thing-in-go-golang-'>The smallest thing in Go <span class='inlinecode'>#golang</span> ...</h3><br /> +<br /> +<span>The smallest thing in Go <span class='inlinecode'>#golang</span></span><br /> +<br /> +<a class='textlink' href='https://bitfieldconsulting.com/posts/iota'>bitfieldconsulting.com/posts/iota</a><br /> +<br /> +<h3 style='display: inline' id='fun-with-defer-in-golang-i-did-t-know-that-'>Fun with defer in <span class='inlinecode'>#golang</span>, I did't know, that ...</h3><br /> +<br /> +<span>Fun with defer in <span class='inlinecode'>#golang</span>, I did't know, that a defer object can either be heap or stack allocated. And there are some rules for inlining, too.</span><br /> +<br /> +<a class='textlink' href='https://victoriametrics.com/blog/defer-in-go/'>victoriametrics.com/blog/defer-in-go/</a><br /> +<br /> +<h3 style='display: inline' id='what-i-like-about-go-is-that-it-is-still-'>What I like about Go is that it is still ...</h3><br /> +<br /> +<span>What I like about Go is that it is still possible to understand what's going on under the hood, whereas in JVM-based languages (for example) or dynamic languages, there are too many optimizations and abstractions. However, you don't need to know too much about how it works under the hood in Go (like memory management in C). It's just the fact that you can—you have a choice. <span class='inlinecode'>#golang</span></span><br /> +<br /> +<a class='textlink' href='https://blog.devtrovert.com/p/goroutine-scheduler-revealed-youll'>blog.devtrovert.com/p/goroutine-scheduler-revealed-youll</a><br /> +<br /> +<h2 style='display: inline' id='march-2025'>March 2025</h2><br /> +<br /> +<h3 style='display: inline' id='television-has-somewhat-transformed-how-i-work-'>Television has somewhat transformed how I work ...</h3><br /> +<br /> +<span>Television has somewhat transformed how I work in the shell on a day-to-day basis. It is especially useful for me in navigating all the local Git repositories on my laptop. I have bound Ctrl+G in my shell for that now. <span class='inlinecode'>#television</span> <span class='inlinecode'>#tv</span> <span class='inlinecode'>#tool</span> <span class='inlinecode'>#shell</span></span><br /> +<br /> +<a class='textlink' href='https://github.com/alexpasmantier/television'>github.com/alexpasmantier/television</a><br /> +<br /> +<h3 style='display: inline' id='once-in-a-while-i-like-to-read-a-book-about-a-'>Once in a while, I like to read a book about a ...</h3><br /> +<br /> +<span>Once in a while, I like to read a book about a programming language I have been using for a while to find new tricks or to refresh and sharpen my knowledge about it. I just finished reading "Programming Ruby 3.3," and I must say this is my favorite Ruby book now. What makes this one so special is that it is quite recent and covers all the new features. <span class='inlinecode'>#ruby</span> <span class='inlinecode'>#programming</span> <span class='inlinecode'>#coding</span></span><br /> +<br /> +<a class='textlink' href='https://pragprog.com/titles/ruby5/programming-ruby-3-3-5th-edition/'>pragprog.com/titles/ruby5/programming-ruby-3-3-5th-edition/</a><br /> +<br /> +<h3 style='display: inline' id='as-you-may-have-noticed-i-like-to-share-on-'>As you may have noticed, I like to share on ...</h3><br /> +<br /> +<span>As you may have noticed, I like to share on Mastodon and LinkedIn all the technical things I find interesting, and this blog post is technically all about that. Having said that, I love these tiny side projects. They are so relaxing to work on! <span class='inlinecode'>#gos</span> <span class='inlinecode'>#golang</span> <span class='inlinecode'>#tool</span> <span class='inlinecode'>#programming</span> <span class='inlinecode'>#fun</span></span><br /> +<br /> +<a class='textlink' href='https://foo.zone/gemfeed/2025-03-05-sharing-on-social-media-with-gos.gmi'>foo.zone/gemfeed/2025-03-05-sharing-on-social-media-with-gos.html (Gemini)</a><br /> +<a class='textlink' href='https://foo.zone/gemfeed/2025-03-05-sharing-on-social-media-with-gos.html'>foo.zone/gemfeed/2025-03-05-sharing-on-social-media-with-gos.html</a><br /> +<br /> +<h3 style='display: inline' id='personally-i-think-ai-llms-are-pretty-'>Personally, I think AI (LLMs) are pretty ...</h3><br /> +<br /> +<span>Personally, I think AI (LLMs) are pretty useful. But there's really some Hype around that. However, AI is about to stay - its not all hype</span><br /> +<br /> +<a class='textlink' href='https://unixdigest.com/articles/i-passionately-hate-hype-especially-the-ai-hype.html'>unixdigest.com/articles/i-passionately-hate-hype-especially-the-ai-hype.html</a><br /> +<br /> +<h3 style='display: inline' id='type-aliases-in-golang-soon-also-work-with-'>Type aliases in <span class='inlinecode'>#golang</span>, soon also work with ...</h3><br /> +<br /> +<span>Type aliases in <span class='inlinecode'>#golang</span>, soon also work with generics. It's an interesting feature, useful for refactorings and simplifications</span><br /> +<br /> +<a class='textlink' href='https://go.dev/blog/alias-names'>go.dev/blog/alias-names</a><br /> +<br /> +<h3 style='display: inline' id='perl-my-first-love-of-programming-'><span class='inlinecode'>#Perl</span>, my "first love" of programming ...</h3><br /> +<br /> +<span><span class='inlinecode'>#Perl</span>, my "first love" of programming languages. Still there, still use it here and then (but not as my primary language at the moment). And others do so as well, apparently. Which makes me happy! :-)</span><br /> +<br /> +<a class='textlink' href='https://dev.to/fa5tworm/why-perl-remains-indispensable-in-the-age-of-modern-programming-languages-2io0'>dev.to/fa5tworm/why-perl-remains-indis..-..e-of-modern-programming-languages-2io0</a><br /> +<br /> +<h3 style='display: inline' id='i-guess-there-are-valid-reasons-for-phttpdget-'>I guess there are valid reasons for phttpdget, ...</h3><br /> +<br /> +<span>I guess there are valid reasons for phttpdget, which I also don't know about? Maybe complexity and/or licensing of other tools. <span class='inlinecode'>#FreeBSD</span></span><br /> +<br /> +<a class='textlink' href='https://l33t.codes/2024/12/05/Updating-FreeBSD-and-Re-Inventing-the-Wheel/'>l33t.codes/2024/12/05/Updating-FreeBSD-and-Re-Inventing-the-Wheel/</a><br /> +<br /> +<h3 style='display: inline' id='this-is-one-of-the-reasons-why-i-like-'>This is one of the reasons why I like ...</h3><br /> +<br /> +<span>This is one of the reasons why I like terminal-based applications so much—they are usually more lightweight than GUI-based ones (and also more flexible).</span><br /> +<br /> +<a class='textlink' href='https://www.arp242.net/stupid-light.html'>www.arp242.net/stupid-light.html</a><br /> +<br /> +<h3 style='display: inline' id='advanced-concurrency-patterns-with-golang-'>Advanced Concurrency Patterns with <span class='inlinecode'>#Golang</span> ...</h3><br /> +<br /> +<span>Advanced Concurrency Patterns with <span class='inlinecode'>#Golang</span></span><br /> +<br /> +<a class='textlink' href='https://blogtitle.github.io/go-advanced-concurrency-patterns-part-1/'>blogtitle.github.io/go-advanced-concurrency-patterns-part-1/</a><br /> +<br /> +<h3 style='display: inline' id='sqlite-was-designed-as-an-tcl-extension-'><span class='inlinecode'>#SQLite</span> was designed as an <span class='inlinecode'>#TCL</span> extension. ...</h3><br /> +<br /> +<span><span class='inlinecode'>#SQLite</span> was designed as an <span class='inlinecode'>#TCL</span> extension. There are ~trillion SQLite databases in active use. SQLite heavily relies on <span class='inlinecode'>#TCL</span>: C code generation via mksqlite3c.tcl, C code isn't edited directly by the SQLite developers, and for testing , and for doc generation). The devs use a custom editor written in Tcl/Tk called "e" to edit the source! There's a custom versioning system Fossil, a custom chat-room written in Tcl/Tk!</span><br /> +<br /> +<a class='textlink' href='https://www.tcl-lang.org/community/tcl2017/assets/talk93/Paper.html'>www.tcl-lang.org/community/tcl2017/assets/talk93/Paper.html</a><br /> +<br /> +<h3 style='display: inline' id='git-provides-automatic-rendering-of-markdown-'>Git provides automatic rendering of Markdown ...</h3><br /> +<br /> +<span>Git provides automatic rendering of Markdown files, including README.md, in a repository’s root directory" .... so much junk now in LLM powered search engines.... <span class='inlinecode'>#llm</span> <span class='inlinecode'>#ai</span></span><br /> +<br /> +<h3 style='display: inline' id='these-are-some-neat-little-go-tips-linters-'>These are some neat little Go tips. Linters ...</h3><br /> +<br /> +<span>These are some neat little Go tips. Linters already tell you when you silently omit a function return value, though. The slice filter without allocation trick is nice and simple. And I agree that switch statements are preferable to if-else statements. <span class='inlinecode'>#golang</span></span><br /> +<br /> +<a class='textlink' href='https://blog.devtrovert.com/p/go-ep5-avoid-contextbackground-make'>blog.devtrovert.com/p/go-ep5-avoid-contextbackground-make</a><br /> +<br /> +<h3 style='display: inline' id='this-is-a-great-introductory-blog-post-about-'>This is a great introductory blog post about ...</h3><br /> +<br /> +<span>This is a great introductory blog post about the Helix modal editor. It's also been my first choice for over a year now. I am really looking forward to the Steel plugin system, though. I don't think I need a lot of plugins, but one or two would certainly be on my wish list. <span class='inlinecode'>#HelixEditor</span> <span class='inlinecode'>#Helix</span></span><br /> +<br /> +<a class='textlink' href='https://felix-knorr.net/posts/2025-03-16-helix-review.html'>felix-knorr.net/posts/2025-03-16-helix-review.html</a><br /> +<br /> +<h3 style='display: inline' id='maps-in-go-under-the-hood-golang-'>Maps in Go under the hood <span class='inlinecode'>#golang</span> ...</h3><br /> +<br /> +<span>Maps in Go under the hood <span class='inlinecode'>#golang</span></span><br /> +<br /> +<a class='textlink' href='https://victoriametrics.com/blog/go-map/'>victoriametrics.com/blog/go-map/</a><br /> +<br /> +<h3 style='display: inline' id='i-found-that-working-on-multiple-side-projects-'>I found that working on multiple side projects ...</h3><br /> +<br /> +<span>I found that working on multiple side projects concurrently is better than concentrating on just one. This seems inefficient, but if you to lose motivation, you can temporarily switch to another one with full élan. Remember to stop starting and start finishing. This doesn't mean you should be working on 10+ side projects concurrently! Select your projects and commit to finishing them before starting the next thing. For example, my current limit of concurrent side projects is around five.</span><br /> +<br /> +<h3 style='display: inline' id='i-have-been-in-incidents-understandably-'>I have been in incidents. Understandably, ...</h3><br /> +<br /> +<span>I have been in incidents. Understandably, everyone wants the issue to be resolved as quickly and others want to know how long TTR will be. IMHO, providing no estimates at all is no solution either. So maybe give a rough estimate but clearly communicate that the estimate is rough and that X, Y, and Z can interfere, meaning there is a chance it will take longer to resolve the incident. Just my thought. What's yours?</span><br /> +<br /> +<a class='textlink' href='https://firehydrant.com/blog/hot-take-dont-provide-incident-resolution-estimates/'>firehydrant.com/blog/hot-take-dont-provide-incident-resolution-estimates/</a><br /> +<br /> +<h3 style='display: inline' id='i-dont-understand-what-it-is-certificates-are-'>I dont understand what it is. Certificates are ...</h3><br /> +<br /> +<span>I dont understand what it is. Certificates are so easy to monitor but still, expirations cause so many incidents. <span class='inlinecode'>#sre</span></span><br /> +<br /> +<a class='textlink' href='https://securityboulevard.com/2024/10/dont-let-an-expired-certificate-cause-critical-downtime-prevent-outages-with-a-smart-clm/'>securityboulevard.com/2024/10/dont-let..-..time-prevent-outages-with-a-smart-clm/</a><br /> +<br /> +<h3 style='display: inline' id='don-t-just-blindly-trust-llms-i-recently-'>Don't just blindly trust LLMs. I recently ...</h3><br /> +<br /> +<span>Don't just blindly trust LLMs. I recently trusted an LLM, spent 1 hour debugging, and ultimately had to verify my assumption about <span class='inlinecode'>fcntl</span> behavior regarding inherited file descriptors in child processes manually with a C program, as the manual page wasn't clear to me. I could have done that immediately and I would have been done within 10 minutes. <span class='inlinecode'>#productivity</span> <span class='inlinecode'>#loss</span> <span class='inlinecode'>#llm</span> <span class='inlinecode'>#programming</span> <span class='inlinecode'>#C</span></span><br /> +<br /> +<h2 style='display: inline' id='april-2025'>April 2025</h2><br /> +<br /> +<h3 style='display: inline' id='i-knew-about-any-being-equivalent-to-'>I knew about any being equivalent to ...</h3><br /> +<br /> +<span>I knew about any being equivalent to interface{} in <span class='inlinecode'>#Golang</span>, but wasn't aware, that it was introduced to Go because of the generics.</span><br /> +<br /> +<h3 style='display: inline' id='neat-summary-of-new-perl-features-per-'>Neat summary of new <span class='inlinecode'>#Perl</span> features per ...</h3><br /> +<br /> +<span>Neat summary of new <span class='inlinecode'>#Perl</span> features per release</span><br /> +<br /> +<a class='textlink' href='https://sheet.shiar.nl/perl'>sheet.shiar.nl/perl</a><br /> +<br /> +<h3 style='display: inline' id='errorsas-checks-for-the-error-type-whereas-'>errors.As() checks for the error type, whereas ...</h3><br /> +<br /> +<span>errors.As() checks for the error type, whereas errors.Is() checks for the exact error value. Interesting read about Errors in <span class='inlinecode'>#golang</span> - and there is also a cat meme in the middle of the blog post! And then, it continues with pointers to pointers to error values or how about a pointer to an empty interface?</span><br /> +<br /> +<a class='textlink' href='https://adrianlarion.com/golang-error-handling-demystified-errors-is-errors-as-errors-unwrap-custom-errors-and-more/'>adrianlarion.com/golang-error-handling..-..-errors-unwrap-custom-errors-and-more/</a><br /> +<br /> +<h3 style='display: inline' id='good-stuff-10-years-of-functional-options-and-'>Good stuff: 10 years of functional options and ...</h3><br /> +<br /> +<span>Good stuff: 10 years of functional options and key lessons Learned along the way <span class='inlinecode'>#golang</span></span><br /> +<br /> +<a class='textlink' href='https://www.bytesizego.com/blog/10-years-functional-options-golang'>www.bytesizego.com/blog/10-years-functional-options-golang</a><br /> +<br /> +<h3 style='display: inline' id='i-had-some-fun-with-freebsd-bhyve-and-'>I had some fun with <span class='inlinecode'>#FreeBSD</span>, <span class='inlinecode'>#Bhyve</span> and ...</h3><br /> +<br /> +<span>I had some fun with <span class='inlinecode'>#FreeBSD</span>, <span class='inlinecode'>#Bhyve</span> and <span class='inlinecode'>#Rocky</span> <span class='inlinecode'>#Linux</span>. Not just for fun, also for science and profit! <span class='inlinecode'>#homelab</span> <span class='inlinecode'>#selfhosting</span> <span class='inlinecode'>#self</span>-hosting</span><br /> +<br /> +<a class='textlink' href='https://foo.zone/gemfeed/2025-04-05-f3s-kubernetes-with-freebsd-part-4.gmi'>foo.zone/gemfeed/2025-04-05-f3s-kubernetes-with-freebsd-part-4.html (Gemini)</a><br /> +<a class='textlink' href='https://foo.zone/gemfeed/2025-04-05-f3s-kubernetes-with-freebsd-part-4.html'>foo.zone/gemfeed/2025-04-05-f3s-kubernetes-with-freebsd-part-4.html</a><br /> +<br /> +<h3 style='display: inline' id='the-moment-your-blog-receives-prs-for-typo-'>The moment your blog receives PRs for typo ...</h3><br /> +<br /> +<span>The moment your blog receives PRs for typo corrections, you notice, that people are actually reading and care about your stuff :-) <span class='inlinecode'>#blog</span> <span class='inlinecode'>#personal</span> <span class='inlinecode'>#tech</span></span><br /> +<br /> +<h3 style='display: inline' id='one-thing-not-mentioned-is-that-openrsync-s-'>One thing not mentioned is that <span class='inlinecode'>#OpenRsync</span>'s ...</h3><br /> +<br /> +<span>One thing not mentioned is that <span class='inlinecode'>#OpenRsync</span>'s origin is the <span class='inlinecode'>#OpenBSD</span> project (at least as far as I am aware! Correct me if I am wrong :-) )! <span class='inlinecode'>#openbsd</span> <span class='inlinecode'>#rsync</span> <span class='inlinecode'>#macos</span> <span class='inlinecode'>#openrsync</span></span><br /> +<br /> +<a class='textlink' href='https://derflounder.wordpress.com/2025/04/06/rsync-replaced-with-openrsync-on-macos-sequoia/'>derflounder.wordpress.com/2025/04/06/r..-..laced-with-openrsync-on-macos-sequoia/</a><br /> +<br /> +<h3 style='display: inline' id='this-is-an-interesting-elixir-pipes-operator-'>This is an interesting <span class='inlinecode'>#Elixir</span> pipes operator ...</h3><br /> +<br /> +<span>This is an interesting <span class='inlinecode'>#Elixir</span> pipes operator experiment in <span class='inlinecode'>#Ruby</span>. <span class='inlinecode'>#Python</span> has also been experimenting with such an operator. Raku (not mentioned in the linked article) already has the <span class='inlinecode'>==></span> sequence operator, of course (which can also can be used backwards <span class='inlinecode'><==</span> - who has doubted? :-) ). <span class='inlinecode'>#syntax</span> <span class='inlinecode'>#codegolf</span> <span class='inlinecode'>#fun</span> <span class='inlinecode'>#coding</span> <span class='inlinecode'>#RakuLang</span></span><br /> +<br /> +<a class='textlink' href='https://zverok.space/blog/2024-11-16-elixir-pipes.html'>zverok.space/blog/2024-11-16-elixir-pipes.html</a><br /> +<br /> +<h3 style='display: inline' id='the-story-of-how-my-favorite-golang-book-was-'>The story of how my favorite <span class='inlinecode'>#Golang</span> book was ...</h3><br /> +<br /> +<span>The story of how my favorite <span class='inlinecode'>#Golang</span> book was written:</span><br /> +<br /> +<a class='textlink' href='https://www.thecoder.cafe/p/100-go-mistakes'>www.thecoder.cafe/p/100-go-mistakes</a><br /> +<br /> +<h3 style='display: inline' id='these-are-my-personal-book-notes-from-daniel-'>These are my personal book notes from Daniel ...</h3><br /> +<br /> +<span>These are my personal book notes from Daniel Pink's "When: The Scientific Secrets of Perfect Timing." The notes are for me (to improve happiness and productivity). You still need to read the whole book to get your own insights, but maybe the notes will be useful for you as well. <span class='inlinecode'>#blog</span> <span class='inlinecode'>#book</span> <span class='inlinecode'>#booknotes</span> <span class='inlinecode'>#productivity</span></span><br /> +<br /> +<a class='textlink' href='https://foo.zone/gemfeed/2025-04-19-when-book-notes.gmi'>foo.zone/gemfeed/2025-04-19-when-book-notes.html (Gemini)</a><br /> +<a class='textlink' href='https://foo.zone/gemfeed/2025-04-19-when-book-notes.html'>foo.zone/gemfeed/2025-04-19-when-book-notes.html</a><br /> +<br /> +<h3 style='display: inline' id='i-certainly-learned-a-lot-reading-this-llm-'>I certainly learned a lot reading this <span class='inlinecode'>#llm</span> ...</h3><br /> +<br /> +<span>I certainly learned a lot reading this <span class='inlinecode'>#llm</span> <span class='inlinecode'>#coding</span> <span class='inlinecode'>#programming</span></span><br /> +<br /> +<a class='textlink' href='https://simonwillison.net/2025/Mar/11/using-llms-for-code/'>simonwillison.net/2025/Mar/11/using-llms-for-code/</a><br /> +<br /> +<h3 style='display: inline' id='writing-indempotent-bash-scripts-'>Writing indempotent <span class='inlinecode'>#Bash</span> scripts ...</h3><br /> +<br /> +<span>Writing indempotent <span class='inlinecode'>#Bash</span> scripts</span><br /> +<br /> +<a class='textlink' href='https://arslan.io/2019/07/03/how-to-write-idempotent-bash-scripts/'>arslan.io/2019/07/03/how-to-write-idempotent-bash-scripts/</a><br /> +<br /> +<h3 style='display: inline' id='regarding-ai-for-code-generation-you-should-'>Regarding <span class='inlinecode'>#AI</span> for code generation. You should ...</h3><br /> +<br /> +<span>Regarding <span class='inlinecode'>#AI</span> for code generation. You should be at least a bit curious and exleriement a bit. You don't have to use it if you don't see fit purpose.</span><br /> +<br /> +<a class='textlink' href='https://registerspill.thorstenball.com/p/they-all-use-it?publication_id=1543843&post_id=151910861&isFreemail=true&r=2n9ive&triedRedirect=true'>registerspill.thorstenball.com/p/they-..-..email=true&r=2n9ive&triedRedirect=true</a><br /> +<br /> +<h3 style='display: inline' id='i-like-the-rocky-metaphor-and-this-post-also-'>I like the Rocky metaphor. And this post also ...</h3><br /> +<br /> +<span>I like the Rocky metaphor. And this post also reflects my thoughts on coding. <span class='inlinecode'>#llm</span> <span class='inlinecode'>#ai</span> <span class='inlinecode'>#software</span></span><br /> +<br /> +<a class='textlink' href='https://cekrem.github.io/posts/coding-as-craft-going-back-to-the-old-gym/'>cekrem.github.io/posts/coding-as-craft-going-back-to-the-old-gym/</a><br /> +<br /> +<h2 style='display: inline' id='may-2025'>May 2025</h2><br /> +<br /> +<h3 style='display: inline' id='there-s-now-also-a-fish-shell-edition-of-my-'>There's now also a <span class='inlinecode'>#Fish</span> shell edition of my ...</h3><br /> +<br /> +<span>There's now also a <span class='inlinecode'>#Fish</span> shell edition of my <span class='inlinecode'>#tmux</span> helper scripts: <span class='inlinecode'>#fishshell</span></span><br /> +<br /> +<a class='textlink' href='https://foo.zone/gemfeed/2025-05-02-terminal-multiplexing-with-tmux-fish-edition.gmi'>foo.zone/gemfeed/2025-05-02-terminal-multiplexing-with-tmux-fish-edition.html (Gemini)</a><br /> +<a class='textlink' href='https://foo.zone/gemfeed/2025-05-02-terminal-multiplexing-with-tmux-fish-edition.html'>foo.zone/gemfeed/2025-05-02-terminal-multiplexing-with-tmux-fish-edition.html</a><br /> +<br /> +<h3 style='display: inline' id='i-loved-this-talk-it-s-about-how-you-can-'>I loved this talk. It's about how you can ...</h3><br /> +<br /> +<span>I loved this talk. It's about how you can create your own <span class='inlinecode'>#Linux</span> <span class='inlinecode'>#container</span> without Docker, using less than 100 lines of shell code without Docker or Podman and co. - Why is this talk useful? If you understand how <span class='inlinecode'>#containers</span> work "under the hood," it becomes easier to make design decisions, write your own tools, or debug production systems. I also recommend his training courses, of which I visited one once.</span><br /> +<br /> +<a class='textlink' href='https://www.youtube.com/watch?v=4RUiVAlJE2w'>www.youtube.com/watch?v=4RUiVAlJE2w</a><br /> +<br /> +<h3 style='display: inline' id='some-unexpected-golang-stuff-ppl-say-that-'>Some unexpected <span class='inlinecode'>#golang</span> stuff, ppl say, that ...</h3><br /> +<br /> +<span>Some unexpected <span class='inlinecode'>#golang</span> stuff, ppl say, that Go is a simple language. IMHO the devil is in the details.</span><br /> +<br /> +<a class='textlink' href='https://unexpected-go.com/'>unexpected-go.com/</a><br /> +<br /> +<h3 style='display: inline' id='with-the-advent-of-ai-and-llms-i-have-observed-'>With the advent of AI and LLMs, I have observed ...</h3><br /> +<br /> +<span>With the advent of AI and LLMs, I have observed that being able to type quickly has become even more important for engineers. Previously, fast typing wasn't as crucial when coding, as most of the time was spent thinking or navigating through the code. However, with LLMs, you find yourself typing much more frequently. That's an unexpected personal win for me, as I recently learned fast touch typing: <span class='inlinecode'>#llm</span> <span class='inlinecode'>#coding</span> <span class='inlinecode'>#programming</span></span><br /> +<br /> +<a class='textlink' href='https://foo.zone/gemfeed/2024-08-05-typing-127.1-words-per-minute.gmi'>foo.zone/gemfeed/2024-08-05-typing-127.1-words-per-minute.html (Gemini)</a><br /> +<a class='textlink' href='https://foo.zone/gemfeed/2024-08-05-typing-127.1-words-per-minute.html'>foo.zone/gemfeed/2024-08-05-typing-127.1-words-per-minute.html</a><br /> +<br /> +<h3 style='display: inline' id='for-science-fun-and-profit-i-set-up-a-'>For science, fun and profit, I set up a ...</h3><br /> +<br /> +<span>For science, fun and profit, I set up a <span class='inlinecode'>#WireGuard</span> mesh network for my <span class='inlinecode'>#FreeBSD</span>, <span class='inlinecode'>#OpenBSD</span>, <span class='inlinecode'>#RockyLinux</span> and <span class='inlinecode'>#Kubernetes</span> <span class='inlinecode'>#homelab</span>: There's also a mesh generator, which I wrote in <span class='inlinecode'>#Ruby</span>. <span class='inlinecode'>#k3s</span> <span class='inlinecode'>#linux</span> <span class='inlinecode'>#k8s</span> <span class='inlinecode'>#k3s</span></span><br /> +<br /> +<a class='textlink' href='https://foo.zone/gemfeed/2025-05-11-f3s-kubernetes-with-freebsd-part-5.gmi'>foo.zone/gemfeed/2025-05-11-f3s-kubernetes-with-freebsd-part-5.html (Gemini)</a><br /> +<a class='textlink' href='https://foo.zone/gemfeed/2025-05-11-f3s-kubernetes-with-freebsd-part-5.html'>foo.zone/gemfeed/2025-05-11-f3s-kubernetes-with-freebsd-part-5.html</a><br /> +<br /> +<h3 style='display: inline' id='ever-wondered-about-the-hung-task-linux-'>Ever wondered about the hung task Linux ...</h3><br /> +<br /> +<span>Ever wondered about the hung task Linux messages on a busy server? Every case is unique, and there is no standard approach to debug them, but here it gets a bit demystified: <span class='inlinecode'>#linux</span> <span class='inlinecode'>#kernel</span></span><br /> +<br /> +<a class='textlink' href='https://blog.cloudflare.com/searching-for-the-cause-of-hung-tasks-in-the-linux-kernel/'>blog.cloudflare.com/searching-for-the-cause-of-hung-tasks-in-the-linux-kernel/</a><br /> +<br /> +<h3 style='display: inline' id='a-bit-of-fun-the-fortran-hating-gateway--'>A bit of <span class='inlinecode'>#fun</span>: The FORTRAN hating gateway ― ...</h3><br /> +<br /> +<span>A bit of <span class='inlinecode'>#fun</span>: The FORTRAN hating gateway ― Andreas Zwinkau</span><br /> +<br /> +<a class='textlink' href='https://beza1e1.tuxen.de/lore/fortran_hating_gateway.html'>beza1e1.tuxen.de/lore/fortran_hating_gateway.html</a><br /> +<br /> +<h3 style='display: inline' id='so-golang-was-invented-while-engineers-at-'>So, Golang was invented while engineers at ...</h3><br /> +<br /> +<span>So, Golang was invented while engineers at Google waited for C++ to compile. Here I am, waiting a long time for Java to compile...</span><br /> +<br /> +<h3 style='display: inline' id='i-couldn-t-do-without-here-docs-if-they-did-'>I couldn't do without here-docs. If they did ...</h3><br /> +<br /> +<span>I couldn't do without here-docs. If they did not exist, I would need to find another field and pursue a career there. <span class='inlinecode'>#bash</span> <span class='inlinecode'>#sh</span> <span class='inlinecode'>#shell</span></span><br /> +<br /> +<a class='textlink' href='https://rednafi.com/misc/heredoc_headache/'>rednafi.com/misc/heredoc_headache/</a><br /> +<br /> +<h3 style='display: inline' id='i-started-using-computers-as-a-kid-on-ms-dos-'>I started using computers as a kid on MS-DOS ...</h3><br /> +<br /> +<span>I started using computers as a kid on MS-DOS and mainly used Norton Commander to navigate the file system in order to start games. Later, I became more interested in computing in general and switched to Linux, but there was no NC. However, there was GNU Midnight Commander, which I still use regularly to this day. It's absolutely worth checking out, even in the modern day. <span class='inlinecode'>#tools</span> <span class='inlinecode'>#opensource</span></span><br /> +<br /> +<a class='textlink' href='https://en.wikipedia.org/wiki/Midnight_Commander'>en.wikipedia.org/wiki/Midnight_Commander</a><br /> +<br /> +<h3 style='display: inline' id='thats-interesting-running-android-in-'>Thats interesting, running <span class='inlinecode'>#Android</span> in ...</h3><br /> +<br /> +<span>Thats interesting, running <span class='inlinecode'>#Android</span> in <span class='inlinecode'>#Kubernetes</span></span><br /> +<br /> +<a class='textlink' href='https://ku.bz/Gs4-wpK5h'>ku.bz/Gs4-wpK5h</a><br /> +<br /> +<h3 style='display: inline' id='before-wiping-the-pre-installed-windows-11-'>Before wiping the pre-installed <span class='inlinecode'>#Windows</span> 11 ...</h3><br /> +<br /> +<span>Before wiping the pre-installed <span class='inlinecode'>#Windows</span> 11 Pro on my new Beelink mini PC, I tested <span class='inlinecode'>#WSL2</span> with <span class='inlinecode'>#Fedora</span> <span class='inlinecode'>#Linux</span>. I compiled my pet project, I/O Riot NG (ior), which requires many system libraries, including <span class='inlinecode'>#BPF</span>. I’m impressed—everything works just like on native Fedora, and my tool runs and traces I/O syscalls with BPF out of the box. I might would prefer now Windows over MacOS if I had to chose between those two for work.</span><br /> +<br /> +<a class='textlink' href='https://codeberg.org/snonux/ior'>codeberg.org/snonux/ior</a><br /> +<br /> +<h3 style='display: inline' id='some-might-hate-me-saying-this-but-didnt-'>Some might hate me saying this, but didnt ...</h3><br /> +<br /> +<span>Some might hate me saying this, but didnt <span class='inlinecode'>#systemd</span> solve the problem of a shared /tmp directory by introducing PrivateTmp?? but yes why did it have to go that way...</span><br /> +<br /> +<a class='textlink' href='https://www.osnews.com/story/140968/tmp-should-not-exist/'>www.osnews.com/story/140968/tmp-should-not-exist/</a><br /> +<br /> +<h3 style='display: inline' id='wouldn-t-still-do-that-even-with-100-test-'>Wouldn't still do that, even with 100% test ...</h3><br /> +<br /> +<span>Wouldn't still do that, even with 100% test coverage, LT and integration tests, unless theres an exception the business relies on <span class='inlinecode'>#sre</span></span><br /> +<br /> +<a class='textlink' href='https://medium.com/openclassrooms-product-design-and-engineering/do-not-deploy-on-friday-92b1b46ebfe6'>medium.com/openclassrooms-product-desi..-..g/do-not-deploy-on-friday-92b1b46ebfe6</a><br /> +<br /> +<h3 style='display: inline' id='some-neat-slice-tricks-for-go-golang-'>Some neat slice tricks for Go: <span class='inlinecode'>#golang</span> ...</h3><br /> +<br /> +<span>Some neat slice tricks for Go: <span class='inlinecode'>#golang</span></span><br /> +<br /> +<a class='textlink' href='https://blog.devtrovert.com/p/12-slice-tricks-to-enhance-your-go'>blog.devtrovert.com/p/12-slice-tricks-to-enhance-your-go</a><br /> +<br /> +<h3 style='display: inline' id='i-understand-that-kubernetes-is-not-for-'>I understand that Kubernetes is not for ...</h3><br /> +<br /> +<span>I understand that Kubernetes is not for everyone, but it still seems to be the new default for everything newly built. Despite the fact that Kubernetes is complex to maintain and use, there is still a lot of SRE/DevOps talent out there who have it on their CVs, which contributes significantly to the supportability of the infrastructure and the applications running on it. This way, you don't have to teach every new engineer your "own way" infrastructure. It's like a standard language of infrastructure that many people speak. However, Kubernetes should not be the default solution for everything, in my opinion. <span class='inlinecode'>#kubernetes</span> <span class='inlinecode'>#k8s</span></span><br /> +<br /> +<a class='textlink' href='https://www.gitpod.io/blog/we-are-leaving-kubernetes'>www.gitpod.io/blog/we-are-leaving-kubernetes</a><br /> +<br /> +<h2 style='display: inline' id='june-2025'>June 2025</h2><br /> +<br /> +<h3 style='display: inline' id='some-great-advices-will-try-out-some-of-them-'>Some great advices, will try out some of them! ...</h3><br /> +<br /> +<span>Some great advices, will try out some of them! <span class='inlinecode'>#programming</span></span><br /> +<br /> +<a class='textlink' href='https://endler.dev/2025/best-programmers/'>endler.dev/2025/best-programmers/</a><br /> +<br /> +<h3 style='display: inline' id='in-golang-values-are-actually-copied-when-'>In <span class='inlinecode'>#Golang</span>, values are actually copied when ...</h3><br /> +<br /> +<span>In <span class='inlinecode'>#Golang</span>, values are actually copied when assigned (boxed) into an interface. That can have performance impact.</span><br /> +<br /> +<a class='textlink' href='https://goperf.dev/01-common-patterns/interface-boxing/'>goperf.dev/01-common-patterns/interface-boxing/</a><br /> +<br /> +<h3 style='display: inline' id='this-is-a-great-little-tutorial-for-searching-'>This is a great little tutorial for searching ...</h3><br /> +<br /> +<span>This is a great little tutorial for searching in the <span class='inlinecode'>#HelixEditor</span> <span class='inlinecode'>#editor</span> <span class='inlinecode'>#coding</span></span><br /> +<br /> +<a class='textlink' href='https://helix-editor-tutorials.com/tutorials/using-helix-global-search/'>helix-editor-tutorials.com/tutorials/using-helix-global-search/</a><br /> +<br /> +<h3 style='display: inline' id='the-mov-instruction-of-a-cpu-is-turing-'>The mov instruction of a CPU is turing ...</h3><br /> +<br /> +<span>The mov instruction of a CPU is turing complete. And theres an implementation of <span class='inlinecode'>#Doom</span> only using mov, it renders one frame per 7 hours! <span class='inlinecode'>#fun</span></span><br /> +<br /> +<a class='textlink' href='https://beza1e1.tuxen.de/articles/accidentally_turing_complete.html'>beza1e1.tuxen.de/articles/accidentally_turing_complete.html</a><br /> +<br /> +<h3 style='display: inline' id='i-removed-the-social-media-profile-from-my-'>I removed the social media profile from my ...</h3><br /> +<br /> +<span>I removed the social media profile from my GrapheneOS phone. Originally, I created a separate profile just for social media to avoid using it too often. But I noticed that I switched to it too frequently. Not having social media within reach is probably the best option. <span class='inlinecode'>#socialmedia</span> <span class='inlinecode'>#sm</span> <span class='inlinecode'>#distractions</span></span><br /> +<br /> +<h3 style='display: inline' id='so-want-a-real-recent-unix-use-aix-macos-'>So want a "real" recent UNIX? Use AIX! <span class='inlinecode'>#macos</span> ...</h3><br /> +<br /> +<span>So want a "real" recent UNIX? Use AIX! <span class='inlinecode'>#macos</span> <span class='inlinecode'>#unix</span> <span class='inlinecode'>#aix</span></span><br /> +<br /> +<a class='textlink' href='https://www.osnews.com/story/141633/apples-macos-unix-certification-is-a-lie/'>www.osnews.com/story/141633/apples-macos-unix-certification-is-a-lie/</a><br /> +<br /> +<h3 style='display: inline' id='this-episode-i-think-is-kind-of-an-eye-opener-'>This episode, I think, is kind of an eye-opener ...</h3><br /> +<br /> +<span>This episode, I think, is kind of an eye-opener for me personally. I knew, that AI is there to stay, but you better should now start playing with your pet projects, otherwise your performance reviews will be awkward in a year or two from now, when you are expected to use AI for your daily work. <span class='inlinecode'>#ai</span> <span class='inlinecode'>#llm</span> <span class='inlinecode'>#coding</span> <span class='inlinecode'>#programming</span></span><br /> +<br /> +<a class='textlink' href='https://changelog.com/friends/96'>changelog.com/friends/96</a><br /> +<br /> +<h3 style='display: inline' id='my-openbsd-blog-setup-got-mentioned-in-the-'>My <span class='inlinecode'>#OpenBSD</span> blog setup got mentioned in the ...</h3><br /> +<br /> +<span>My <span class='inlinecode'>#OpenBSD</span> blog setup got mentioned in the BSDNow.tv Podcast (In the Feedback section) :-) <span class='inlinecode'>#BSD</span> <span class='inlinecode'>#podcast</span> <span class='inlinecode'>#runbsd</span></span><br /> +<br /> +<a class='textlink' href='https://www.bsdnow.tv/614'>www.bsdnow.tv/614</a><br /> +<br /> +<h3 style='display: inline' id='golang-is-the-best-when-it-comes-to-agentic-'><span class='inlinecode'>#Golang</span> is the best when it comes to agentic ...</h3><br /> +<br /> +<span><span class='inlinecode'>#Golang</span> is the best when it comes to agentic coding: <span class='inlinecode'>#llm</span></span><br /> +<br /> +<a class='textlink' href='https://lucumr.pocoo.org/2025/6/12/agentic-coding/'>lucumr.pocoo.org/2025/6/12/agentic-coding/</a><br /> +<br /> +<h3 style='display: inline' id='where-zsh-is-better-than-bash-'>Where <span class='inlinecode'>#zsh</span> is better than <span class='inlinecode'>#bash</span> ...</h3><br /> +<br /> +<span>Where <span class='inlinecode'>#zsh</span> is better than <span class='inlinecode'>#bash</span></span><br /> +<br /> +<a class='textlink' href='https://www.arp242.net/why-zsh.html'>www.arp242.net/why-zsh.html</a><br /> +<br /> +<h3 style='display: inline' id='i-really-enjoyed-this-talk-about-obscure-go-'>I really enjoyed this talk about obscure Go ...</h3><br /> +<br /> +<span>I really enjoyed this talk about obscure Go optimizations. None of it is really standard and can change from one version of Go to another, though. <span class='inlinecode'>#golang</span> <span class='inlinecode'>#talk</span></span><br /> +<br /> +<a class='textlink' href='https://www.youtube.com/watch?v=rRtihWOcaLI'>www.youtube.com/watch?v=rRtihWOcaLI</a><br /> +<br /> +<h3 style='display: inline' id='commenting-your-regular-expression-is-generally-'>Commenting your regular expression is generally ...</h3><br /> +<br /> +<span>Commenting your regular expression is generally a good advice! Works pretty well as described in the article not just in <span class='inlinecode'>#Ruby</span>, but also in <span class='inlinecode'>#Perl</span> (@Perl), <span class='inlinecode'>#RakuLang</span>, ...</span><br /> +<br /> +<a class='textlink' href='https://thoughtbot.com/blog/comment-your-regular-expressions'>thoughtbot.com/blog/comment-your-regular-expressions</a><br /> +<br /> +<h3 style='display: inline' id='you-have-to-make-a-decision-for-yourself-but-'>You have to make a decision for yourself, but ...</h3><br /> +<br /> +<span>You have to make a decision for yourself, but generally, work smarter (and faster—but keep the quality)! About 40 hours <span class='inlinecode'>#productivity</span> <span class='inlinecode'>#work</span> <span class='inlinecode'>#workload</span></span><br /> +<br /> +<a class='textlink' href='https://thesquareplanet.com/blog/about-40-hours/'>thesquareplanet.com/blog/about-40-hours/</a><br /> +<br /> +<h3 style='display: inline' id='100-go-mistakes-and-how-to-avoid-them-is-one-'>"100 Go Mistakes and How to Avoid Them" is one ...</h3><br /> +<br /> +<span>"100 Go Mistakes and How to Avoid Them" is one of my favorite <span class='inlinecode'>#Golang</span> books. Julia Evans also stumbled across some issues she'd learned from this book. The book itself is an absolute must for every Gopher (or someone who wants to become one!)</span><br /> +<br /> +<a class='textlink' href='https://jvns.ca/blog/2024/08/06/go-structs-copied-on-assignment/'>jvns.ca/blog/2024/08/06/go-structs-copied-on-assignment/</a><br /> +<br /> +<h3 style='display: inline' id='the-ruby-data-class-seems-quite-helpful-'>The <span class='inlinecode'>#Ruby</span> Data class seems quite helpful ...</h3><br /> +<br /> +<span>The <span class='inlinecode'>#Ruby</span> Data class seems quite helpful</span><br /> +<br /> +<a class='textlink' href='https://allaboutcoding.ghinda.com/example-of-value-objects-using-rubys-data-class'>allaboutcoding.ghinda.com/example-of-value-objects-using-rubys-data-class</a><br /> +<br /> +<span>Other related posts:</span><br /> +<br /> +<a class='textlink' href='./2025-01-01-posts-from-october-to-december-2024.html'>2025-01-01 Posts from October to December 2024</a><br /> +<a class='textlink' href='./2025-07-01-posts-from-january-to-june-2025.html'>2025-07-01 Posts from January to June 2025 (You are currently reading this)</a><br /> + </div> + </content> + </entry> + <entry> <title>Task Samurai: An agentic coding learning experiment</title> <link href="https://foo.zone/gemfeed/2025-06-22-task-samurai.html" /> <id>https://foo.zone/gemfeed/2025-06-22-task-samurai.html</id> @@ -4100,6 +4853,7 @@ Jan 26 17:36:32 f2 apcupsd[2159]: apcupsd shutdown succeeded <br /> <span>Other related posts:</span><br /> <br /> +<a class='textlink' href='./2025-07-01-posts-from-january-to-june-2025.html'>2025-07-01 Posts from January to June 2025</a><br /> <a class='textlink' href='./2025-01-01-posts-from-october-to-december-2024.html'>2025-01-01 Posts from October to December 2024 (You are currently reading this)</a><br /> <br /> <span>E-Mail your comments to <span class='inlinecode'>paul@nospam.buetow.org</span> :-)</span><br /> @@ -10319,189 +11073,4 @@ no1 in 455 days, 18:52:44 | at Sun Jul 21 07:37:51 2024 </div> </content> </entry> - <entry> - <title>Gemtexter 2.0.0 - Let's Gemtext again²</title> - <link href="https://foo.zone/gemfeed/2023-03-25-gemtexter-2.0.0-lets-gemtext-again-2.html" /> - <id>https://foo.zone/gemfeed/2023-03-25-gemtexter-2.0.0-lets-gemtext-again-2.html</id> - <updated>2023-03-25T17:50:32+02:00</updated> - <author> - <name>Paul Buetow aka snonux</name> - <email>paul@dev.buetow.org</email> - </author> - <summary>I proudly announce that I've released Gemtexter version `2.0.0`. What is Gemtexter? It's my minimalist static site generator for Gemini Gemtext, HTML and Markdown written in GNU Bash.</summary> - <content type="xhtml"> - <div xmlns="http://www.w3.org/1999/xhtml"> - <h1 style='display: inline' id='gemtexter-200---let-s-gemtext-again'>Gemtexter 2.0.0 - Let's Gemtext again²</h1><br /> -<br /> -<span class='quote'>Published at 2023-03-25T17:50:32+02:00</span><br /> -<br /> -<span>I proudly announce that I've released Gemtexter version <span class='inlinecode'>2.0.0</span>. What is Gemtexter? It's my minimalist static site generator for Gemini Gemtext, HTML and Markdown written in GNU Bash.</span><br /> -<br /> -<a class='textlink' href='https://codeberg.org/snonux/gemtexter'>https://codeberg.org/snonux/gemtexter</a><br /> -<br /> -<span>This is a new major release, so it contains a breaking change (see "Meta cache made obsolete").</span><br /> -<br /> -<span>Let's list what's new!</span><br /> -<br /> -<pre> --=[ typewriters ]=- 1/98 - - .-------. - _|~~ ~~ |_ .-------. - =(_|_______|_)= _|~~ ~~ |_ - |:::::::::| =(_|_______|_) - |:::::::[]| |:::::::::| - |o=======.| |:::::::[]| - jgs `"""""""""` |o=======.| - mod. by Paul Buetow `"""""""""` -</pre> -<br /> -<h2 style='display: inline' id='table-of-contents'>Table of Contents</h2><br /> -<br /> -<ul> -<li><a href='#gemtexter-200---let-s-gemtext-again'>Gemtexter 2.0.0 - Let's Gemtext again²</a></li> -<li>⇢ <a href='#minimal-template-engine'>Minimal template engine</a></li> -<li>⇢ <a href='#added-hooks'>Added hooks</a></li> -<li>⇢ <a href='#use-of-safer-bash-options'>Use of safer Bash options</a></li> -<li>⇢ <a href='#meta-cache-made-obsolete'>Meta cache made obsolete</a></li> -<li>⇢ <a href='#xmllint-support'>XMLLint support</a></li> -<li>⇢ <a href='#more'>More</a></li> -</ul><br /> -<h2 style='display: inline' id='minimal-template-engine'>Minimal template engine</h2><br /> -<br /> -<span>Gemtexter now supports templating, enabling dynamically generated content to <span class='inlinecode'>.gmi</span> files before converting anything to any output format like HTML and Markdown.</span><br /> -<br /> -<span>A template file name must have the suffix <span class='inlinecode'>gmi.tpl</span>. A template must be put into the same directory as the Gemtext <span class='inlinecode'>.gmi</span> file to be generated. Gemtexter will generate a Gemtext file <span class='inlinecode'>index.gmi</span> from a given template <span class='inlinecode'>index.gmi.tpl</span>. A <span class='inlinecode'><<<</span> and <span class='inlinecode'>>>></span> encloses a multiline template. All lines starting with <span class='inlinecode'><< </span> will be evaluated as a single line of Bash code and the output will be written into the resulting Gemtext file.</span><br /> -<br /> -<span>For example, the template <span class='inlinecode'>index.gmi.tpl</span>:</span><br /> -<br /> -<pre> -# Hello world - -<< echo "> This site was generated at $(date --iso-8601=seconds) by \`Gemtexter\`" - -Welcome to this capsule! - -<<< - for i in {1..10}; do - echo Multiline template line $i - done ->>> -</pre> -<br /> -<span>... results into the following <span class='inlinecode'>index.gmi</span> after running <span class='inlinecode'>./gemtexter --generate</span> (or <span class='inlinecode'>./gemtexter --template</span>, which instructs to do only template processing and nothing else):</span><br /> -<br /> -<pre> -# Hello world - -> This site was generated at 2023-03-15T19:07:59+02:00 by `Gemtexter` - -Welcome to this capsule! - -Multiline template line 1 -Multiline template line 2 -Multiline template line 3 -Multiline template line 4 -Multiline template line 5 -Multiline template line 6 -Multiline template line 7 -Multiline template line 8 -Multiline template line 9 -Multiline template line 10 -</pre> -<br /> -<span>Another thing you can do is insert an index with links to similar blog posts. E.g.:</span><br /> -<br /> -<pre> -See more entries about DTail and Golang: - -<< template::inline::rindex dtail golang - -Blablabla... -</pre> -<br /> -<span>... scans all other post entries with <span class='inlinecode'>dtail</span> and <span class='inlinecode'>golang</span> in the file name and generates a link list like this:</span><br /> -<br /> -<pre> -See more entries about DTail and Golang: - -=> ./2022-10-30-installing-dtail-on-openbsd.html 2022-10-30 Installing DTail on OpenBSD -=> ./2022-04-22-programming-golang.html 2022-04-22 The Golang Programming language -=> ./2022-03-06-the-release-of-dtail-4.0.0.html 2022-03-06 The release of DTail 4.0.0 -=> ./2021-04-22-dtail-the-distributed-log-tail-program.html 2021-04-22 DTail - The distributed log tail program (You are currently reading this) - -Blablabla... -</pre> -<br /> -<h2 style='display: inline' id='added-hooks'>Added hooks</h2><br /> -<br /> -<span>You can configure <span class='inlinecode'>PRE_GENERATE_HOOK</span> and <span class='inlinecode'>POST_PUBLISH_HOOK</span> to point to scripts to be executed before running <span class='inlinecode'>--generate</span>, or after running <span class='inlinecode'>--publish</span>. E.g. you could populate some of the content by an external script before letting Gemtexter do its thing or you could automatically deploy the site after running <span class='inlinecode'>--publish</span>.</span><br /> -<br /> -<span>The sample config file <span class='inlinecode'>gemtexter.conf</span> includes this as an example now; these scripts will only be executed when they actually exist:</span><br /> -<br /> -<!-- Generator: GNU source-highlight 3.1.9 -by Lorenzo Bettini -http://www.lorenzobettini.it -http://www.gnu.org/software/src-highlite --> -<pre><b><u><font color="#000000">declare</font></u></b> -xr PRE_GENERATE_HOOK=./pre_generate_hook.sh -<b><u><font color="#000000">declare</font></u></b> -xr POST_PUBLISH_HOOK=./post_publish_hook.sh -</pre> -<br /> -<h2 style='display: inline' id='use-of-safer-bash-options'>Use of safer Bash options</h2><br /> -<br /> -<span>Gemtexter now does <span class='inlinecode'>set -euf -o pipefile</span>, which helps to eliminate bugs and to catch scripting errors sooner. Previous versions only <span class='inlinecode'>set -e</span>.</span><br /> -<br /> -<h2 style='display: inline' id='meta-cache-made-obsolete'>Meta cache made obsolete</h2><br /> -<br /> -<span>Here is the breaking change to older versions of Gemtexter. The <span class='inlinecode'>$BASE_CONTENT_DIR/meta</span> directory was made obsolete. <span class='inlinecode'>meta</span> was used to store various information about all the blog post entries to make generating an Atom feed in Bash easier. Especially the publishing dates of each post were stored there. Instead, the publishing date is now encoded in the <span class='inlinecode'>.gmi</span> file. And if it is missing, Gemtexter will set it to the current date and time at first run.</span><br /> -<br /> -<span>An example blog post without any publishing date looks like this:</span><br /> -<br /> -<!-- Generator: GNU source-highlight 3.1.9 -by Lorenzo Bettini -http://www.lorenzobettini.it -http://www.gnu.org/software/src-highlite --> -<pre>% cat gemfeed/<font color="#000000">2023</font>-<font color="#000000">02</font>-<font color="#000000">26</font>-title-here.gmi -<i><font color="silver"># Title here</font></i> - -The remaining content of the Gemtext file... -</pre> -<br /> -<span>Gemtexter will add a line starting with <span class='inlinecode'>> Published at ...</span> now. Any subsequent Atom feed generation will then use that date.</span><br /> -<br /> -<!-- Generator: GNU source-highlight 3.1.9 -by Lorenzo Bettini -http://www.lorenzobettini.it -http://www.gnu.org/software/src-highlite --> -<pre>% cat gemfeed/<font color="#000000">2023</font>-<font color="#000000">02</font>-<font color="#000000">26</font>-title-here.gmi -<i><font color="silver"># Title here</font></i> - -> Published at <font color="#000000">2023</font>-<font color="#000000">02</font>-26T21:<font color="#000000">43</font>:<font color="#000000">51</font>+<font color="#000000">01</font>:<font color="#000000">00</font> - -The remaining content of the Gemtext file... -</pre> -<br /> -<h2 style='display: inline' id='xmllint-support'>XMLLint support</h2><br /> -<br /> -<span>Optionally, when the <span class='inlinecode'>xmllint</span> binary is installed, Gemtexter will perform a simple XML lint check against the Atom feed generated. This is a double-check of whether the Atom feed is a valid XML.</span><br /> -<br /> -<h2 style='display: inline' id='more'>More</h2><br /> -<br /> -<span>Additionally, there were a couple of bug fixes, refactorings and overall improvements in the documentation made. </span><br /> -<br /> -<span>E-Mail your comments to <span class='inlinecode'>paul@nospam.buetow.org</span> :-)</span><br /> -<br /> -<span>Other related posts are:</span><br /> -<br /> -<a class='textlink' href='./2024-10-02-gemtexter-3.0.0-lets-gemtext-again-4.html'>2024-10-02 Gemtexter 3.0.0 - Let's Gemtext again⁴</a><br /> -<a class='textlink' href='./2023-07-21-gemtexter-2.1.0-lets-gemtext-again-3.html'>2023-07-21 Gemtexter 2.1.0 - Let's Gemtext again³</a><br /> -<a class='textlink' href='./2023-03-25-gemtexter-2.0.0-lets-gemtext-again-2.html'>2023-03-25 Gemtexter 2.0.0 - Let's Gemtext again² (You are currently reading this)</a><br /> -<a class='textlink' href='./2022-08-27-gemtexter-1.1.0-lets-gemtext-again.html'>2022-08-27 Gemtexter 1.1.0 - Let's Gemtext again</a><br /> -<a class='textlink' href='./2021-06-05-gemtexter-one-bash-script-to-rule-it-all.html'>2021-06-05 Gemtexter - One Bash script to rule it all</a><br /> -<a class='textlink' href='./2021-04-24-welcome-to-the-geminispace.html'>2021-04-24 Welcome to the Geminispace</a><br /> -<br /> -<a class='textlink' href='../'>Back to the main site</a><br /> - </div> - </content> - </entry> </feed> diff --git a/gemfeed/index.html b/gemfeed/index.html index f85f572c..188cd25b 100644 --- a/gemfeed/index.html +++ b/gemfeed/index.html @@ -15,6 +15,7 @@ <br /> <h2 style='display: inline' id='to-be-in-the-zone'>To be in the .zone!</h2><br /> <br /> +<a class='textlink' href='./2025-07-01-posts-from-january-to-june-2025.html'>2025-07-01 - Posts from January to June 2025</a><br /> <a class='textlink' href='./2025-06-22-task-samurai.html'>2025-06-22 - Task Samurai: An agentic coding learning experiment</a><br /> <a class='textlink' href='./2025-06-07-a-monks-guide-to-happiness-book-notes.html'>2025-06-07 - 'A Monk's Guide to Happiness' book notes</a><br /> <a class='textlink' href='./2025-05-11-f3s-kubernetes-with-freebsd-part-5.html'>2025-05-11 - f3s: Kubernetes with FreeBSD - Part 5: WireGuard mesh network</a><br /> @@ -13,7 +13,7 @@ </p> <h1 style='display: inline' id='hello'>Hello!</h1><br /> <br /> -<span class='quote'>This site was generated at 2025-06-30T10:10:02+03:00 by <span class='inlinecode'>Gemtexter</span></span><br /> +<span class='quote'>This site was generated at 2025-07-01T22:39:30+03:00 by <span class='inlinecode'>Gemtexter</span></span><br /> <br /> <span>Welcome to the foo.zone!</span><br /> <br /> @@ -43,6 +43,7 @@ <br /> <h3 style='display: inline' id='posts'>Posts</h3><br /> <br /> +<a class='textlink' href='./gemfeed/2025-07-01-posts-from-january-to-june-2025.html'>2025-07-01 - Posts from January to June 2025</a><br /> <a class='textlink' href='./gemfeed/2025-06-22-task-samurai.html'>2025-06-22 - Task Samurai: An agentic coding learning experiment</a><br /> <a class='textlink' href='./gemfeed/2025-06-07-a-monks-guide-to-happiness-book-notes.html'>2025-06-07 - 'A Monk's Guide to Happiness' book notes</a><br /> <a class='textlink' href='./gemfeed/2025-05-11-f3s-kubernetes-with-freebsd-part-5.html'>2025-05-11 - f3s: Kubernetes with FreeBSD - Part 5: WireGuard mesh network</a><br /> diff --git a/uptime-stats.html b/uptime-stats.html index 85c16e41..2560f267 100644 --- a/uptime-stats.html +++ b/uptime-stats.html @@ -13,7 +13,7 @@ </p> <h1 style='display: inline' id='my-machine-uptime-stats'>My machine uptime stats</h1><br /> <br /> -<span class='quote'>This site was last updated at 2025-06-30T10:13:49+03:00</span><br /> +<span class='quote'>This site was last updated at 2025-07-01T22:39:30+03:00</span><br /> <br /> <span>The following stats were collected via <span class='inlinecode'>uptimed</span> on all of my personal computers over many years and the output was generated by <span class='inlinecode'>guprecords</span>, the global uptime records stats analyser of mine.</span><br /> <br /> @@ -36,7 +36,7 @@ +-----+----------------+-------+------------------------------+ | 1. | alphacentauri | 671 | FreeBSD 11.4-RELEASE-p7 | | 2. | mars | 207 | Linux 3.2.0-4-amd64 | -| 3. | *earth | 188 | Linux 6.14.6-300.fc42.x86_64 | +| 3. | *earth | 189 | Linux 6.15.3-200.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 | @@ -44,7 +44,7 @@ | 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 | 49 | Darwin 24.5.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 | @@ -52,8 +52,8 @@ | 16. | *blowfish | 38 | OpenBSD 7.6 | | 17. | sun | 33 | FreeBSD 10.3-RELEASE-p24 | | 18. | *f2 | 25 | FreeBSD 14.2-RELEASE-p1 | -| 19. | moon | 20 | FreeBSD 14.0-RELEASE-p3 | -| 20. | *f1 | 20 | FreeBSD 14.2-RELEASE-p1 | +| 19. | *f1 | 20 | FreeBSD 14.2-RELEASE-p1 | +| 20. | moon | 20 | FreeBSD 14.0-RELEASE-p3 | +-----+----------------+-------+------------------------------+ </pre> <br /> @@ -68,7 +68,7 @@ | 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, 6 months, 17 days | Linux 6.14.6-300.fc42.x86_64 | +| 4. | *earth | 3 years, 6 months, 20 days | Linux 6.15.3-200.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 | @@ -82,7 +82,7 @@ | 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. | tauceti-e | 1 years, 2 months, 20 days | Linux 3.2.0-4-amd64 | -| 18. | *mega-m3-pro | 1 years, 1 months, 23 days | Darwin 24.5.0 | +| 18. | *mega-m3-pro | 1 years, 1 months, 26 days | Darwin 24.5.0 | | 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 | +-----+----------------+-----------------------------+-----------------------------------+ @@ -98,7 +98,7 @@ +-----+----------------+-------+-----------------------------------+ | 1. | *uranus | 342 | NetBSD 10.1 | | 2. | vulcan | 275 | Linux 3.10.0-1160.81.1.el7.x86_64 | -| 3. | *earth | 244 | Linux 6.14.6-300.fc42.x86_64 | +| 3. | *earth | 244 | Linux 6.15.3-200.fc42.x86_64 | | 4. | sun | 238 | FreeBSD 10.3-RELEASE-p24 | | 5. | *blowfish | 218 | OpenBSD 7.6 | | 6. | uugrn | 211 | FreeBSD 11.2-RELEASE-p4 | @@ -138,7 +138,7 @@ | 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.14.6-300.fc42.x86_64 | +| 12. | *earth | 0 years, 6 months, 20 days | Linux 6.15.3-200.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 | @@ -163,7 +163,7 @@ | 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 | 3 years, 12 months, 4 days | Linux 6.14.6-300.fc42.x86_64 | +| 6. | *earth | 3 years, 12 months, 7 days | Linux 6.15.3-200.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 | | 9. | uugrn | 3 years, 5 months, 5 days | FreeBSD 11.2-RELEASE-p4 | @@ -191,7 +191,7 @@ +-----+----------------+-------+ | 1. | FreeBSD 10... | 551 | | 2. | Linux 3... | 550 | -| 3. | *Linux 6... | 168 | +| 3. | *Linux 6... | 169 | | 4. | Linux 5... | 162 | | 5. | Linux 4... | 161 | | 6. | FreeBSD 11... | 153 | @@ -201,14 +201,14 @@ | 10. | Darwin 13... | 40 | | 11. | Darwin 23... | 33 | | 12. | FreeBSD 5... | 25 | -| 13. | Linux 2... | 22 | -| 14. | *Darwin 24... | 21 | +| 13. | *Darwin 24... | 22 | +| 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. | FreeBSD 6... | 10 | +| 19. | FreeBSD 6... | 10 | +| 20. | FreeBSD 7... | 10 | +-----+----------------+-------+ </pre> <br /> @@ -224,7 +224,7 @@ | 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, 9 months, 13 days | +| 5. | *Linux 6... | 2 years, 9 months, 16 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 | @@ -237,7 +237,7 @@ | 15. | Darwin 18... | 0 years, 7 months, 5 days | | 16. | Darwin 22... | 0 years, 6 months, 22 days | | 17. | Darwin 15... | 0 years, 6 months, 15 days | -| 18. | *Darwin 24... | 0 years, 5 months, 26 days | +| 18. | *Darwin 24... | 0 years, 5 months, 30 days | | 19. | FreeBSD 5... | 0 years, 5 months, 18 days | | 20. | FreeBSD 13... | 0 years, 4 months, 2 days | +-----+----------------+------------------------------+ @@ -255,7 +255,7 @@ | 2. | *OpenBSD 7... | 435 | | 3. | FreeBSD 10... | 406 | | 4. | Linux 5... | 317 | -| 5. | *Linux 6... | 187 | +| 5. | *Linux 6... | 188 | | 6. | Linux 4... | 175 | | 7. | FreeBSD 11... | 159 | | 8. | Linux 2... | 121 | @@ -266,9 +266,9 @@ | 13. | OpenBSD 4... | 39 | | 14. | Darwin 21... | 38 | | 15. | Darwin 18... | 32 | -| 16. | Darwin 22... | 30 | -| 17. | Darwin 15... | 29 | -| 18. | *Darwin 24... | 29 | +| 16. | *Darwin 24... | 30 | +| 17. | Darwin 22... | 30 | +| 18. | Darwin 15... | 29 | | 19. | FreeBSD 5... | 25 | | 20. | FreeBSD 13... | 25 | +-----+----------------+-------+ @@ -282,9 +282,9 @@ +-----+------------+-------+ | Pos | KernelName | Boots | +-----+------------+-------+ -| 1. | *Linux | 1063 | +| 1. | *Linux | 1064 | | 2. | *FreeBSD | 944 | -| 3. | *Darwin | 154 | +| 3. | *Darwin | 155 | | 4. | *OpenBSD | 101 | | 5. | *NetBSD | 1 | +-----+------------+-------+ @@ -298,10 +298,10 @@ +-----+------------+-----------------------------+ | Pos | KernelName | Uptime | +-----+------------+-----------------------------+ -| 1. | *Linux | 27 years, 10 months, 6 days | +| 1. | *Linux | 27 years, 10 months, 9 days | | 2. | *FreeBSD | 11 years, 5 months, 3 days | | 3. | *OpenBSD | 7 years, 5 months, 5 days | -| 4. | *Darwin | 4 years, 9 months, 13 days | +| 4. | *Darwin | 4 years, 9 months, 17 days | | 5. | *NetBSD | 0 years, 1 months, 1 days | +-----+------------+-----------------------------+ </pre> @@ -314,10 +314,10 @@ +-----+------------+-------+ | Pos | KernelName | Score | +-----+------------+-------+ -| 1. | *Linux | 1846 | +| 1. | *Linux | 1847 | | 2. | *FreeBSD | 799 | | 3. | *OpenBSD | 474 | -| 4. | *Darwin | 312 | +| 4. | *Darwin | 313 | | 5. | *NetBSD | 2 | +-----+------------+-------+ </pre> |
