summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--about/resources.gmi190
-rw-r--r--gemfeed/2023-03-25-gemtexter-2.0.0-lets-gemtext-again-2.gmi8
-rw-r--r--gemfeed/2024-07-05-random-weird-things.gmi16
-rw-r--r--gemfeed/2025-08-05-local-coding-llm-with-ollama.gmi26
-rw-r--r--gemfeed/2025-08-05-local-coding-llm-with-ollama.gmi.tpl26
-rw-r--r--gemfeed/atom.xml44
-rw-r--r--index.gmi2
-rw-r--r--uptime-stats.gmi2
8 files changed, 157 insertions, 157 deletions
diff --git a/about/resources.gmi b/about/resources.gmi
index fd3b35cb..ad8fb5b4 100644
--- a/about/resources.gmi
+++ b/about/resources.gmi
@@ -35,105 +35,105 @@ You won't find any links on this site because, over time, the links will break.
In random order:
-* Object-Oriented Programming with ANSI-C; Axel-Tobias Schreiner
-* Kubernetes Cookbook; Sameer Naik, Sébastien Goasguen, Jonathan Michaux; O'Reilly
+* Terraform Cookbook; Mikael Krief; Packt Publishing
+* Clusterbau mit Linux-HA; Michael Schwartzkopff; O'Reilly
+* Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O'Reilly
+* The Practise of System and Network Administration; Thomas A. Limoncelli, Christina J. Hogan, Strata R. Chalup; Addison-Wesley Professional Pro Git; Scott Chacon, Ben Straub; Apress
+* Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O'Reilly
+* Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press
+* The Kubernetes Book; Nigel Poulton; Unabridged Audiobook
+* Funktionale Programmierung; Peter Pepper; Springer
+* 21st Century C: C Tips from the New School; Ben Klemens; O'Reilly
* Java ist auch eine Insel; Christian Ullenboom;
-* C++ Programming Language; Bjarne Stroustrup;
-* Programming Perl aka "The Camel Book"; Tom Christiansen, brian d foy, Larry Wall & Jon Orwant; O'Reilly
* Distributed Systems: Principles and Paradigms; Andrew S. Tanenbaum; Pearson
-* The Pragmatic Programmer; David Thomas; Addison-Wesley
-* 100 Go Mistakes and How to Avoid Them; Teiva Harsanyi; Manning Publications
-* Concurrency in Go; Katherine Cox-Buday; O'Reilly
-* Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O'Reilly
* The KCNA (Kubernetes and Cloud Native Associate) Book; Nigel Poulton
-* 21st Century C: C Tips from the New School; Ben Klemens; O'Reilly
-* Go Brain Teasers - Exercise Your Mind; Miki Tebeka; The Pragmatic Programmers
-* Terraform Cookbook; Mikael Krief; Packt Publishing
-* Hands-on Infrastructure Monitoring with Prometheus; Joel Bastos, Pedro Araujo; Packt
+* The Pragmatic Programmer; David Thomas; Addison-Wesley
+* The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional
+* Raku Fundamentals; Moritz Lenz; Apress
+* Site Reliability Engineering; How Google runs production systems; O'Reilly
+* Polished Ruby Programming; Jeremy Evans; Packt Publishing
+* DevOps And Site Reliability Engineering Handbook; Stephen Fleming; Audible
+* Systemprogrammierung in Go; Frank Müller; dpunkt
+* Programming Ruby 3.3 (5th Edition); Noel Rappin, with Dave Thomas; The Pragmatic Bookshelf
* DNS and BIND; Cricket Liu; O'Reilly
+* Developing Games in Java; David Brackeen and others...; New Riders
+* Amazon Web Services in Action; Michael Wittig and Andreas Wittig; Manning Publications
+* Tmux 2: Productive Mouse-free Development; Brain P. Hogan; The Pragmatic Programmers
* Raku Recipes; J.J. Merelo; Apress
-* The Docker Book; James Turnbull; Kindle
* Higher Order Perl; Mark Dominus; Morgan Kaufmann
-* Tmux 2: Productive Mouse-free Development; Brain P. Hogan; The Pragmatic Programmers
+* Hands-on Infrastructure Monitoring with Prometheus; Joel Bastos, Pedro Araujo; Packt
* 97 things every SRE should know; Emil Stolarsky, Jaime Woo; O'Reilly
-* The DevOps Handbook; Gene Kim, Jez Humble, Patrick Debois, John Willis; Audible
-* Developing Games in Java; David Brackeen and others...; New Riders
-* Amazon Web Services in Action; Michael Wittig and Andreas Wittig; Manning Publications
-* Programming Ruby 3.3 (5th Edition); Noel Rappin, with Dave Thomas; The Pragmatic Bookshelf
-* Raku Fundamentals; Moritz Lenz; Apress
-* Site Reliability Engineering; How Google runs production systems; O'Reilly
-* The Kubernetes Book; Nigel Poulton; Unabridged Audiobook
-* The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional
-* Data Science at the Command Line; Jeroen Janssens; O'Reilly
* Ultimate Go Notebook; Bill Kennedy
-* Modern Perl; Chromatic ; Onyx Neon Press
-* Leanring eBPF; Liz Rice; O'Reilly
-* Perl New Features; Joshua McAdams, brian d foy; Perl School
-* Funktionale Programmierung; Peter Pepper; Springer
* Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press
-* 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
+* C++ Programming Language; Bjarne Stroustrup;
* Effective awk programming; Arnold Robbins; O'Reilly
-* Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O'Reilly
-* Polished Ruby Programming; Jeremy Evans; Packt Publishing
+* Leanring eBPF; Liz Rice; O'Reilly
+* The DevOps Handbook; Gene Kim, Jez Humble, Patrick Debois, John Willis; Audible
+* Data Science at the Command Line; Jeroen Janssens; O'Reilly
+* Kubernetes Cookbook; Sameer Naik, Sébastien Goasguen, Jonathan Michaux; O'Reilly
+* 100 Go Mistakes and How to Avoid Them; Teiva Harsanyi; Manning Publications
+* The Docker Book; James Turnbull; Kindle
+* Object-Oriented Programming with ANSI-C; Axel-Tobias Schreiner
+* Concurrency in Go; Katherine Cox-Buday; O'Reilly
* Effective Java; Joshua Bloch; Addison-Wesley Professional
-* DevOps And Site Reliability Engineering Handbook; Stephen Fleming; Audible
-* Systemprogrammierung in Go; Frank Müller; dpunkt
-* Clusterbau mit Linux-HA; Michael Schwartzkopff; O'Reilly
-* Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press
+* Programming Perl aka "The Camel Book"; Tom Christiansen, brian d foy, Larry Wall & Jon Orwant; O'Reilly
+* Modern Perl; Chromatic ; Onyx Neon Press
+* Perl New Features; Joshua McAdams, brian d foy; Perl School
+* Go Brain Teasers - Exercise Your Mind; Miki Tebeka; The Pragmatic Programmers
* Pro Puppet; James Turnbull, Jeffrey McCune; Apress
## Technical references
I didn't read them from the beginning to the end, but I am using them to look up things. The books are in random order:
-* The Linux Programming Interface; Michael Kerrisk; No Starch Press
-* Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O'Reilly
-* BPF Performance Tools - Linux System and Application Observability, Brendan Gregg; Addison Wesley
-* Go: Design Patterns for Real-World Projects; Mat Ryer; Packt
* Algorithms; Robert Sedgewick, Kevin Wayne; Addison Wesley
+* Implementing Service Level Objectives; Alex Hidalgo; O'Reilly
* Relayd and Httpd Mastery; Michael W Lucas
+* Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O'Reilly
+* Go: Design Patterns for Real-World Projects; Mat Ryer; Packt
+* BPF Performance Tools - Linux System and Application Observability, Brendan Gregg; Addison Wesley
+* The Linux Programming Interface; Michael Kerrisk; No Starch Press
* Groovy Kurz & Gut; Joerg Staudemeier; O'Reilly
-* Implementing Service Level Objectives; Alex Hidalgo; O'Reilly
## Self-development and soft-skills books
In random order:
-* Influence without Authority; A. Cohen, D. Bradford; Wiley
-* Stop starting, start finishing; Arne Roock; Lean-Kanban University
-* The Phoenix Project - A Novel About IT, DevOps, and Helping your Business Win; Gene Kim and Kevin Behr; Trade Select
+* Soft Skills; John Sommez; Manning Publications
+* Psycho-Cybernetics; Maxwell Maltz; Perigee Books
+* 101 Essays that change the way you think; Brianna Wiest; Audiobook
+* Ultralearning; Scott Young; Thorsons
* The 7 Habits Of Highly Effective People; Stephen R. Covey; Simon & Schuster UK
* Search Inside Yourself - The Unexpected path to Achieving Success, Happiness (and World Peace); Chade-Meng Tan, Daniel Goleman, Jon Kabat-Zinn; HarperOne
-* Digital Minimalism; Cal Newport; Portofolio Penguin
-* The Power of Now; Eckhard Tolle; Yellow Kite
-* Eat That Frog; Brian Tracy
-* Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion
-* The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books
-* 101 Essays that change the way you think; Brianna Wiest; Audiobook
-* Atomic Habits; James Clear; Random House Business
+* Never Split the Difference; Chris Voss, Tahl Raz; Random House Business
+* Consciousness: A Very Short Introduction; Susan Blackmore; Oxford Uiversity Press
* The Bullet Journal Method; Ryder Carroll; Fourth Estate
+* Buddah and Einstein walk into a Bar; Guy Joseph Ale, Claire Bloom; Blackstone Publishing
* The Complete Software Developer's Career Guide; John Sonmez; Unabridged Audiobook
+* Ultralearning; Anna Laurent; Self-published via Amazon
+* Deep Work; Cal Newport; Piatkus
+* Coders at Work - Reflections on the craft of programming, Peter Seibel and Mitchell Dorian et al., Audiobook
+* The Off Switch; Mark Cropley; Virgin Books (RE-READ 1ST TIME)
+* Digital Minimalism; Cal Newport; Portofolio Penguin
* The Good Enough Job; Simone Stolzoff; Ebury Edge
-* Staff Engineer: Leadership beyond the management track; Will Larson; Audiobook
* Getting Things Done; David Allen
-* Coders at Work - Reflections on the craft of programming, Peter Seibel and Mitchell Dorian et al., Audiobook
+* The Phoenix Project - A Novel About IT, DevOps, and Helping your Business Win; Gene Kim and Kevin Behr; Trade Select
* The Obstacle Is The Way; Ryan Holiday; Profile Books Ltd
-* Ultralearning; Scott Young; Thorsons
-* Never Split the Difference; Chris Voss, Tahl Raz; Random House Business
-* Buddah and Einstein walk into a Bar; Guy Joseph Ale, Claire Bloom; Blackstone Publishing
-* Psycho-Cybernetics; Maxwell Maltz; Perigee Books
-* The Off Switch; Mark Cropley; Virgin Books (RE-READ 1ST TIME)
+* Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly
+* The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books
+* Influence without Authority; A. Cohen, D. Bradford; Wiley
+* The Power of Now; Eckhard Tolle; Yellow Kite
+* Slow Productivity; Cal Newport; Penguin Random House
+* So Good They Can't Ignore You; Cal Newport; Business Plus
+* Eat That Frog; Brian Tracy
* Meditation for Mortals, Oliver Burkeman, Audiobook
+* Staff Engineer: Leadership beyond the management track; Will Larson; Audiobook
+* The Joy of Missing Out; Christina Crook; New Society Publishers
* Eat That Frog!; Brian Tracy; Hodder Paperbacks
-* Ultralearning; Anna Laurent; Self-published via Amazon
-* So Good They Can't Ignore You; Cal Newport; Business Plus
+* Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion
+* Atomic Habits; James Clear; Random House Business
+* Stop starting, start finishing; Arne Roock; Lean-Kanban University
* Solve for Happy; Mo Gawdat (RE-READ 1ST TIME)
-* Slow Productivity; Cal Newport; Penguin Random House
-* Consciousness: A Very Short Introduction; Susan Blackmore; Oxford Uiversity Press
-* Deep Work; Cal Newport; Piatkus
-* The Joy of Missing Out; Christina Crook; New Society Publishers
-* Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly
-* Soft Skills; John Sommez; Manning Publications
=> ../notes/index.gmi Here are notes of mine for some of the books
@@ -141,30 +141,30 @@ In random order:
Some of these were in-person with exams; others were online learning lectures only. In random order:
-* Developing IaC with Terraform (with Live Lessons); O'Reilly Online
-* Structure and Interpretation of Computer Programs; Harold Abelson and more...;
+* AWS Immersion Day; Amazon; 1-day interactive online training
+* F5 Loadbalancers Training; 2-day on-site training; F5, Inc.
* Cloud Operations on AWS - Learn how to configure, deploy, maintain, and troubleshoot your AWS environments; 3-day online live training with labs; Amazon
-* MySQL Deep Dive Workshop; 2-day on-site training
+* Algorithms Video Lectures; Robert Sedgewick; O'Reilly Online
+* The Well-Grounded Rubyist Video Edition; David. A. Black; O'Reilly Online
+* Scripting Vim; Damian Conway; O'Reilly Online
+* Red Hat Certified System Administrator; Course + certification (Although I had the option, I decided not to take the next course as it is more effective to self learn what I need)
+* Developing IaC with Terraform (with Live Lessons); O'Reilly Online
* Functional programming lecture; Remote University of Hagen
* Apache Tomcat Best Practises; 3-day on-site training
-* Algorithms Video Lectures; Robert Sedgewick; O'Reilly Online
+* Structure and Interpretation of Computer Programs; Harold Abelson and more...;
* Linux Security and Isolation APIs Training; Michael Kerrisk; 3-day on-site training
-* F5 Loadbalancers Training; 2-day on-site training; F5, Inc.
-* Protocol buffers; O'Reilly Online
-* Scripting Vim; Damian Conway; O'Reilly Online
-* The Well-Grounded Rubyist Video Edition; David. A. Black; O'Reilly Online
* Ultimate Go Programming; Bill Kennedy; O'Reilly Online
-* Red Hat Certified System Administrator; Course + certification (Although I had the option, I decided not to take the next course as it is more effective to self learn what I need)
-* AWS Immersion Day; Amazon; 1-day interactive online training
+* Protocol buffers; O'Reilly Online
* The Ultimate Kubernetes Bootcamp; School of Devops; O'Reilly Online
+* MySQL Deep Dive Workshop; 2-day on-site training
## Technical guides
These are not whole books, but guides (smaller or larger) which I found very useful. in random order:
-* How CPUs work at https://cpu.land
* Raku Guide at https://raku.guide
* Advanced Bash-Scripting Guide
+* How CPUs work at https://cpu.land
## Podcasts
@@ -172,20 +172,20 @@ These are not whole books, but guides (smaller or larger) which I found very use
In random order:
+* Pratical AI
* The ProdCast (Google SRE Podcast)
-* Deep Questions with Cal Newport
-* The Pragmatic Engineer Podcast
-* Maintainable
+* Hidden Brain
* Dev Interrupted
-* Modern Mentor
-* Fork Around And Find Out
* Cup o' Go [Golang]
-* Backend Banter
-* The Changelog Podcast(s)
-* Fallthrough [Golang]
-* Hidden Brain
* BSD Now [BSD]
-* Pratical AI
+* Fallthrough [Golang]
+* The Changelog Podcast(s)
+* Fork Around And Find Out
+* Backend Banter
+* Deep Questions with Cal Newport
+* Maintainable
+* The Pragmatic Engineer Podcast
+* Modern Mentor
### Podcasts I liked
@@ -193,34 +193,34 @@ I liked them but am not listening to them anymore. The podcasts have either "fin
* Java Pub House
* Modern Mentor
-* CRE: Chaosradio Express [german]
* Ship It (predecessor of Fork Around And Find Out)
-* FLOSS weekly
+* CRE: Chaosradio Express [german]
* Go Time (predecessor of fallthrough)
+* FLOSS weekly
## Newsletters I like
This is a mix of tech and non-tech newsletters I am subscribed to. In random order:
-* The Imperfectionist
+* The Pragmatic Engineer
+* Register Spill
* byteSizeGo
* The Valuable Dev
-* VK Newsletter
-* Register Spill
* Monospace Mentor
-* Changelog News
-* Andreas Brandhorst Newsletter (Sci-Fi author)
-* Applied Go Weekly Newsletter
* Golang Weekly
-* The Pragmatic Engineer
+* VK Newsletter
+* Changelog News
+* The Imperfectionist
* Ruby Weekly
+* Applied Go Weekly Newsletter
+* Andreas Brandhorst Newsletter (Sci-Fi author)
## Magazines I like(d)
This is a mix of tech I like(d). I may not be a current subscriber, but now and then, I buy an issue. In random order:
-* Linux User
* LWN (online only)
+* Linux User
* Linux Magazine
* freeX (not published anymore)
diff --git a/gemfeed/2023-03-25-gemtexter-2.0.0-lets-gemtext-again-2.gmi b/gemfeed/2023-03-25-gemtexter-2.0.0-lets-gemtext-again-2.gmi
index 43c6c9e6..a8104ded 100644
--- a/gemfeed/2023-03-25-gemtexter-2.0.0-lets-gemtext-again-2.gmi
+++ b/gemfeed/2023-03-25-gemtexter-2.0.0-lets-gemtext-again-2.gmi
@@ -44,15 +44,15 @@ For example, the template `index.gmi.tpl`:
```
# Hello world
-<< echo "> This site was generated at $(date --iso-8601=seconds) by \`Gemtexter\`"
+[[ 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
->>>
+]]]
```
... results into the following `index.gmi` after running `./gemtexter --generate` (or `./gemtexter --template`, which instructs to do only template processing and nothing else):
@@ -81,7 +81,7 @@ Another thing you can do is insert an index with links to similar blog posts. E.
```
See more entries about DTail and Golang:
-<< template::inline::rindex dtail golang
+[[ template::inline::rindex dtail golang
Blablabla...
```
diff --git a/gemfeed/2024-07-05-random-weird-things.gmi b/gemfeed/2024-07-05-random-weird-things.gmi
index 5ad17655..3f9e4912 100644
--- a/gemfeed/2024-07-05-random-weird-things.gmi
+++ b/gemfeed/2024-07-05-random-weird-things.gmi
@@ -279,7 +279,7 @@ This is a pretty old meme, but still worth posting here (as some may be unaware)
?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[
\t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\0
31]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\
->(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+
+](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+
(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:
(?:\r\n)?[ \t])*))*|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z
|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)
@@ -295,8 +295,8 @@ r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[
|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r
\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:
\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t
->))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031
->+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](
+]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031
+]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](
?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?
:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?
:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)|(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?
@@ -315,7 +315,7 @@ r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[
:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([
^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\"
.\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\
->\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\
+]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\
[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\
r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\]
\000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]
@@ -327,17 +327,17 @@ r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\]
(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".
\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[
^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\]
->))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)(?:,\s*(
+]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\>(?:(?:\r\n)?[ \t])*)(?:,\s*(
?:(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\
".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(
?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[
\["()<>@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t
->)*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t
->)+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?
+])*))*@(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t
+])+|\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?
:\.(?:(?:\r\n)?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|
\Z|(?=[\["()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:
[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>@,;:\\".\[\
->]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)
+]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\<(?:(?:\r\n)
?[ \t])*(?:@(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["
()<>@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)
?[ \t])*(?:[^()<>@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()<>
diff --git a/gemfeed/2025-08-05-local-coding-llm-with-ollama.gmi b/gemfeed/2025-08-05-local-coding-llm-with-ollama.gmi
index 5e3ec60e..d9439a6d 100644
--- a/gemfeed/2025-08-05-local-coding-llm-with-ollama.gmi
+++ b/gemfeed/2025-08-05-local-coding-llm-with-ollama.gmi
@@ -298,7 +298,7 @@ cargo install lsp-ai
I edited `~/.config/helix/languages.toml` to include:
```
- [[language]]
+[[language]]
name = "go"
auto-format= true
diagnostic-severity = "hint"
@@ -335,7 +335,7 @@ max_tokens = 64
max_context = 8096
## Configure the messages per your needs
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "system"
content = "Instructions:\n- You are an AI programming assistant.\n- Given a
piece of code with the cursor location marked by \"<CURSOR>\", replace
@@ -350,47 +350,47 @@ a comment, complete the comment meaningfully.\n- Handle ambiguous cases by
providing the most contextually appropriate completion.\n- Be consistent with
your responses."
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "user"
content = "func greet(name) {\n print(f\"Hello, {<CURSOR>}\")\n}"
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "assistant"
content = "name"
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "user"
content = "func sum(a, b) {\n return a + <CURSOR>\n}"
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "assistant"
content = "b"
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "user"
content = "func multiply(a, b int ) int {\n a * <CURSOR>\n}"
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "assistant"
content = "b"
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "user"
content = "// <CURSOR>\nfunc add(a, b) {\n return a + b\n}"
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "assistant"
content = "Adds two numbers"
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "user"
content = "// This function checks if a number is even\n<CURSOR>"
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "assistant"
content = "func is_even(n) {\n return n % 2 == 0\n}"
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "user"
content = "{CODE}"
```
diff --git a/gemfeed/2025-08-05-local-coding-llm-with-ollama.gmi.tpl b/gemfeed/2025-08-05-local-coding-llm-with-ollama.gmi.tpl
index 3e4984ad..463ca159 100644
--- a/gemfeed/2025-08-05-local-coding-llm-with-ollama.gmi.tpl
+++ b/gemfeed/2025-08-05-local-coding-llm-with-ollama.gmi.tpl
@@ -281,7 +281,7 @@ cargo install lsp-ai
I edited `~/.config/helix/languages.toml` to include:
```
- [[language]]
+[[language]]
name = "go"
auto-format= true
diagnostic-severity = "hint"
@@ -318,7 +318,7 @@ max_tokens = 64
max_context = 8096
## Configure the messages per your needs
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "system"
content = "Instructions:\n- You are an AI programming assistant.\n- Given a
piece of code with the cursor location marked by \"<CURSOR>\", replace
@@ -333,47 +333,47 @@ a comment, complete the comment meaningfully.\n- Handle ambiguous cases by
providing the most contextually appropriate completion.\n- Be consistent with
your responses."
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "user"
content = "func greet(name) {\n print(f\"Hello, {<CURSOR>}\")\n}"
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "assistant"
content = "name"
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "user"
content = "func sum(a, b) {\n return a + <CURSOR>\n}"
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "assistant"
content = "b"
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "user"
content = "func multiply(a, b int ) int {\n a * <CURSOR>\n}"
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "assistant"
content = "b"
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "user"
content = "// <CURSOR>\nfunc add(a, b) {\n return a + b\n}"
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "assistant"
content = "Adds two numbers"
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "user"
content = "// This function checks if a number is even\n<CURSOR>"
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "assistant"
content = "func is_even(n) {\n return n % 2 == 0\n}"
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "user"
content = "{CODE}"
```
diff --git a/gemfeed/atom.xml b/gemfeed/atom.xml
index b1d37d01..a4bb86e0 100644
--- a/gemfeed/atom.xml
+++ b/gemfeed/atom.xml
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
- <updated>2025-08-05T16:11:18+03:00</updated>
+ <updated>2025-08-05T16:21:03+03:00</updated>
<title>foo.zone feed</title>
<subtitle>To be in the .zone!</subtitle>
<link href="gemini://foo.zone/gemfeed/atom.xml" rel="self" />
@@ -350,7 +350,7 @@ http://www.gnu.org/software/src-highlite -->
<span>I edited <span class='inlinecode'>~/.config/helix/languages.toml</span> to include:</span><br />
<br />
<pre>
- [[language]]
+[[language]]
name = "go"
auto-format= true
diagnostic-severity = "hint"
@@ -387,7 +387,7 @@ max_tokens = 64
max_context = 8096
## Configure the messages per your needs
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "system"
content = "Instructions:\n- You are an AI programming assistant.\n- Given a
piece of code with the cursor location marked by \"&lt;CURSOR&gt;\", replace
@@ -402,47 +402,47 @@ a comment, complete the comment meaningfully.\n- Handle ambiguous cases by
providing the most contextually appropriate completion.\n- Be consistent with
your responses."
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "user"
content = "func greet(name) {\n print(f\"Hello, {&lt;CURSOR&gt;}\")\n}"
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "assistant"
content = "name"
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "user"
content = "func sum(a, b) {\n return a + &lt;CURSOR&gt;\n}"
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "assistant"
content = "b"
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "user"
content = "func multiply(a, b int ) int {\n a * &lt;CURSOR&gt;\n}"
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "assistant"
content = "b"
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "user"
content = "// &lt;CURSOR&gt;\nfunc add(a, b) {\n return a + b\n}"
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "assistant"
content = "Adds two numbers"
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "user"
content = "// This function checks if a number is even\n&lt;CURSOR&gt;"
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "assistant"
content = "func is_even(n) {\n return n % 2 == 0\n}"
- [[language-server.lsp-ai.config.completion.parameters.messages]]
+[[language-server.lsp-ai.config.completion.parameters.messages]]
role = "user"
content = "{CODE}"
</pre>
@@ -8927,7 +8927,7 @@ def _token:
?:\r\n)?[ \t])+|\Z|(?=[\["()&lt;&gt;@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[
\t]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()&lt;&gt;@,;:\\".\[\] \000-\0
31]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()&lt;&gt;@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\
-&gt;(?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()&lt;&gt;@,;:\\".\[\] \000-\031]+
+](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()&lt;&gt;@,;:\\".\[\] \000-\031]+
(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()&lt;&gt;@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:
(?:\r\n)?[ \t])*))*|(?:[^()&lt;&gt;@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z
|(?=[\["()&lt;&gt;@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)
@@ -8943,8 +8943,8 @@ r\n)?[ \t])+|\Z|(?=[\["()&lt;&gt;@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\
|\Z|(?=[\["()&lt;&gt;@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r
\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()&lt;&gt;@,;:\\".\[\] \000-\031]+(?:(?:(?:
\r\n)?[ \t])+|\Z|(?=[\["()&lt;&gt;@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t
-&gt;))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()&lt;&gt;@,;:\\".\[\] \000-\031
-&gt;+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()&lt;&gt;@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](
+]))*"(?:(?:\r\n)?[ \t])*))*@(?:(?:\r\n)?[ \t])*(?:[^()&lt;&gt;@,;:\\".\[\] \000-\031
+]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()&lt;&gt;@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](
?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()&lt;&gt;@,;:\\".\[\] \000-\031]+(?
:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()&lt;&gt;@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?
:\r\n)?[ \t])*))*\&gt;(?:(?:\r\n)?[ \t])*)|(?:[^()&lt;&gt;@,;:\\".\[\] \000-\031]+(?:(?
@@ -8963,7 +8963,7 @@ r\n)?[ \t])+|\Z|(?=[\["()&lt;&gt;@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\
:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()&lt;&gt;@,;:\\".\[\]]))|\[([
^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()&lt;&gt;@,;:\\"
.\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()&lt;&gt;@,;:\\".\[\]]))|\[([^\[\
-&gt;\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()&lt;&gt;@,;:\\".\
+]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*(?:,@(?:(?:\r\n)?[ \t])*(?:[^()&lt;&gt;@,;:\\".\
[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()&lt;&gt;@,;:\\".\[\]]))|\[([^\[\]\
r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()&lt;&gt;@,;:\\".\[\]
\000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()&lt;&gt;@,;:\\".\[\]]))|\[([^\[\]\r\\]
@@ -8975,17 +8975,17 @@ r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[^()&lt;&gt;@,;:\\".\
(?:[^()&lt;&gt;@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()&lt;&gt;@,;:\\".
\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)?[ \t])*(?:[
^()&lt;&gt;@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()&lt;&gt;@,;:\\".\[\]
-&gt;))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\&gt;(?:(?:\r\n)?[ \t])*)(?:,\s*(
+]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*\&gt;(?:(?:\r\n)?[ \t])*)(?:,\s*(
?:(?:[^()&lt;&gt;@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()&lt;&gt;@,;:\\
".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)(?:\.(?:(
?:\r\n)?[ \t])*(?:[^()&lt;&gt;@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[
\["()&lt;&gt;@,;:\\".\[\]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t
-&gt;)*))*@(?:(?:\r\n)?[ \t])*(?:[^()&lt;&gt;@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t
-&gt;)+|\Z|(?=[\["()&lt;&gt;@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?
+])*))*@(?:(?:\r\n)?[ \t])*(?:[^()&lt;&gt;@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t
+])+|\Z|(?=[\["()&lt;&gt;@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?
:\.(?:(?:\r\n)?[ \t])*(?:[^()&lt;&gt;@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|
\Z|(?=[\["()&lt;&gt;@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*))*|(?:
[^()&lt;&gt;@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()&lt;&gt;@,;:\\".\[\
-&gt;]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\&lt;(?:(?:\r\n)
+]]))|"(?:[^\"\r\\]|\\.|(?:(?:\r\n)?[ \t]))*"(?:(?:\r\n)?[ \t])*)*\&lt;(?:(?:\r\n)
?[ \t])*(?:@(?:[^()&lt;&gt;@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["
()&lt;&gt;@,;:\\".\[\]]))|\[([^\[\]\r\\]|\\.)*\](?:(?:\r\n)?[ \t])*)(?:\.(?:(?:\r\n)
?[ \t])*(?:[^()&lt;&gt;@,;:\\".\[\] \000-\031]+(?:(?:(?:\r\n)?[ \t])+|\Z|(?=[\["()&lt;&gt;
diff --git a/index.gmi b/index.gmi
index ce580a65..56a28224 100644
--- a/index.gmi
+++ b/index.gmi
@@ -1,6 +1,6 @@
# Hello!
-> This site was generated at 2025-08-05T16:11:18+03:00 by `Gemtexter`
+> This site was generated at 2025-08-05T16:21:03+03:00 by `Gemtexter`
Welcome to the foo.zone!
diff --git a/uptime-stats.gmi b/uptime-stats.gmi
index 806c14b2..6e6cb1eb 100644
--- a/uptime-stats.gmi
+++ b/uptime-stats.gmi
@@ -1,6 +1,6 @@
# My machine uptime stats
-> This site was last updated at 2025-08-05T16:11:18+03:00
+> This site was last updated at 2025-08-05T16:21:03+03:00
The following stats were collected via `uptimed` on all of my personal computers over many years and the output was generated by `guprecords`, the global uptime records stats analyser of mine.