summaryrefslogtreecommitdiff
path: root/about
diff options
context:
space:
mode:
Diffstat (limited to 'about')
-rw-r--r--about/.rcmbackup/dtail.gmi.4ec10c59b1af9f5aaf429e592d74fccff5aaead34e58f1846171512126774f9a6
-rw-r--r--about/.rcmbackup/index.gmi.bb1a163b952ceebda52fa84be5f09da136ac5fa9c24cd03f629683ba9d91c60f36
-rw-r--r--about/.rcmbackup/index.gmi.ee1e23e53492a4a5ca20597b378da2ccef98c0a28e07a6038f259f5790c55b5736
-rw-r--r--about/.rcmbackup/novels.gmi.tpl.c1c4cb6bc73dbb3da253807acd4bdf976b384bc531ebc65fda55e029ae07a15e124
-rw-r--r--about/.rcmbackup/resources.gmi.tpl.858f4de9007cae4a9462f8f4d8cca0a3f35da02b975dfe03a4d5efb5ad38aa05104
-rw-r--r--about/.rcmbackup/showcase.gmi.tpl.e8706aaaac0dd7ad59148a5c17ede052f8252c5db8ad77f74d5c4218051a6ec61417
-rw-r--r--about/index.gmi.new0
-rw-r--r--about/resources.gmi202
-rw-r--r--about/showcase.gmi885
-rw-r--r--about/showcase.gmi.tpl521
-rw-r--r--about/showcase/debroid/image-1.png140
-rw-r--r--about/showcase/hypr/image-1.svg425
12 files changed, 3111 insertions, 785 deletions
diff --git a/about/.rcmbackup/dtail.gmi.4ec10c59b1af9f5aaf429e592d74fccff5aaead34e58f1846171512126774f9a b/about/.rcmbackup/dtail.gmi.4ec10c59b1af9f5aaf429e592d74fccff5aaead34e58f1846171512126774f9a
new file mode 100644
index 00000000..986b63d8
--- /dev/null
+++ b/about/.rcmbackup/dtail.gmi.4ec10c59b1af9f5aaf429e592d74fccff5aaead34e58f1846171512126774f9a
@@ -0,0 +1,6 @@
+# DTail
+
+=> https://github.com/mimecast/dtail github.com/mimecast/dtail - At Mimecast
+=> https://codeberg.org/snonux/dtail codeberg.org/snonux/dtail - On my personal Codeberg
+
+=> ../ Back to the main site
diff --git a/about/.rcmbackup/index.gmi.bb1a163b952ceebda52fa84be5f09da136ac5fa9c24cd03f629683ba9d91c60f b/about/.rcmbackup/index.gmi.bb1a163b952ceebda52fa84be5f09da136ac5fa9c24cd03f629683ba9d91c60f
new file mode 100644
index 00000000..e02bb15f
--- /dev/null
+++ b/about/.rcmbackup/index.gmi.bb1a163b952ceebda52fa84be5f09da136ac5fa9c24cd03f629683ba9d91c60f
@@ -0,0 +1,36 @@
+# About
+
+* Name: Paul Buetow
+* Father, husband, computer tinkerer, yogi, science fiction lover, cat owner
+* Born in: Germany, currently living in: Sofia, Bulgaria
+* Profession: Computerist - Solving problems with computers that we wouldn't have without them
+* Current job: Site Reliability Engineer
+* Education: Diplom-Informatiker (FH) (Diploma from a German University of Applied Sciences, before they had international Bachelor's and Master's programs)
+* E-Mail: `paul@nospam.buetow.org`
+
+=> ./paul.jpg Paul Buetow
+
+## My sites
+
+=> ../ My blog here at foo.zone
+=> https://irregular.ninja irregular.ninja - My street photography site (warning: multiple MBs, it's photos after all)
+
+## Show me the code
+
+=> ./showcase.gmi Project showcase
+=> https://codeberg.org/snonux codeberg.org/snonux - My Codeberg page
+=> https://github.com/snonux github.com/snonux - My GitHub page (it's just a mirror of Codeberg, really)
+
+## Social Media and Communities
+
+=> https://fosstodon.org/@snonux @snonux@fosstodon.org - Me on Mastodon
+=> https://www.linkedin.com/in/paul-buetow-b4857270/ My LinkedIn profile
+
+## Books I've read
+
+=> ./resources.gmi Resources, technical books, podcasts, courses, and guides I recommend
+=> ./novels.gmi Novels I've read
+
+That's all for now...
+
+=> ../ Back to the main site \ No newline at end of file
diff --git a/about/.rcmbackup/index.gmi.ee1e23e53492a4a5ca20597b378da2ccef98c0a28e07a6038f259f5790c55b57 b/about/.rcmbackup/index.gmi.ee1e23e53492a4a5ca20597b378da2ccef98c0a28e07a6038f259f5790c55b57
new file mode 100644
index 00000000..7d171834
--- /dev/null
+++ b/about/.rcmbackup/index.gmi.ee1e23e53492a4a5ca20597b378da2ccef98c0a28e07a6038f259f5790c55b57
@@ -0,0 +1,36 @@
+# About
+
+* Name: Paul Buetow
+* Father, Husband, Computer tinkerer, Yogi, Science fiction lover, cat owner
+* Born in: Germany, currently living in: Sofia, Bulgaria
+* Profession: Computerist - Solving problems with computers that we wouldn't have without them
+* Current job: Site Reliability Engineer
+* Education: Diplom-Informatiker (FH) (Diploma from a German University of Applied Sciences, before they had international Bachelor and Masters programs)
+* E-Mail: `paul@nospam.buetow.org`
+
+=> ./paul.jpg Paul Buetow
+
+## My sites
+
+=> ../ My blog here at foo.zone
+=> https://irregular.ninja irregular.ninja - My street photography site (warn: multiple MBs, it's photos after all)
+
+## Show me the code
+
+=> ./showcase.gmi Project showcase
+=> https://codeberg.org/snonux codeberg.org/snonux - My Codeberg page
+=> https://github.com/snonux github.com/snonux - My GitHub page (it's just a mirror of Codeberg, really)
+
+## Social Media and Communities
+
+=> https://fosstodon.org/@snonux @snonux@fosstodon.org - Me at Mastodon
+=> https://www.linkedin.com/in/paul-buetow-b4857270/ My LinkedIn profile
+
+## Books I've read
+
+=> ./resources.gmi Resources, Technical Books, Podcasts, Courses and Guides I recommend
+=> ./novels.gmi Novels I've read
+
+That's all for now...
+
+=> ../ Back to the main site
diff --git a/about/.rcmbackup/novels.gmi.tpl.c1c4cb6bc73dbb3da253807acd4bdf976b384bc531ebc65fda55e029ae07a15e b/about/.rcmbackup/novels.gmi.tpl.c1c4cb6bc73dbb3da253807acd4bdf976b384bc531ebc65fda55e029ae07a15e
new file mode 100644
index 00000000..72258e6b
--- /dev/null
+++ b/about/.rcmbackup/novels.gmi.tpl.c1c4cb6bc73dbb3da253807acd4bdf976b384bc531ebc65fda55e029ae07a15e
@@ -0,0 +1,124 @@
+# Novels
+
+<< template::inline::toc
+
+## Introduction
+
+This site lists my favourite novels I have read. I prefer to read them in German though. You will notice that these are mostly Science Fiction novels. Where possible, this page shows both English and German titles.
+
+Some were read as paperback, others as eBooks, and some were listened to (Audiobook). For a graphical representation you can also have a look here:
+
+=> https://f3s.buetow.org/scifi f3s.buetow.org/scifi
+=> https://codeberg.org/snonux/scifi codeberg.org/snonux/scifi - Script used to generate the site above
+
+```
+ . . ' .
+ ' . . ' . +
+ ` ' . '
+ . ,'`. .
+ . .." _.-;' `. .
+ _.-"`.##%"_.--" ,' `. "#" ___,,od000
+ ,'"-_ _.-.--"\ ,' `-_ '%#%',,/////00000HH
+ ,' |_.' )`/- __..--""`-_`-._ J L/////00000HHHHM
+ . + ,' _.-" / / _-"" `-._`-_/___\///0000HHHHMMM
+ .'_.-"" ' :_/_.-' _,`-/__V__\0000HHHHHMMMM
+ . _-"" . ' _,////\ | /000HHHHHMMMMM
+_-" . ' + . . ,//////0\ | /00HHHHHHHMMMMM
+ ` ,//////000\|/00HHHHHHHMMMMMM
+. ' . ' . . ' ,//////00000|00HHHHHHHHMMMMMM
+ . . . ' ,//////000000|00HHHHHHHMMMMMMM
+ . ' . . ,///////000000|0HHHHHHHHMMMMMMM
+ ' ' . ' ///////000000000HHHHHHHHMMMMMMM
+ + . . ' . ,///////000000000HHHHHHHMMMMMMMM
+ ' . ' . ///////000000000HHHHHHHHMMMMMMMM
+ ' . ' ///////000000000HHHHHHHHMMMMMMMM
+ . ' ,///////000000000HHHHHHHHMMMMMMMM
+```
+
+## Read
+
+### Alastair Reynolds
+
+Revelation Space Universe:
+
+* 2000 - Revelation Space (english) / Unendlichkeit (german), Paperback
+* 2001 - Chasm City, Paperback
+* 2002 - Redemption Ark (english) / Die Arche (german), Paperback
+* 2003 - Absolution Gap (english) / Offenbarung (german), Paperback
+* 2005 - Diamond Dogs, Turquoise Days (english) / Träume von Unendlichkeit (german), Paperback
+* 2006 - Galactic North, Audiobook (Libro.fm)
+* 2021 - Inhibitor Phase, Audiobook (Libro.fm)
+
+Poseidons Children Series:
+
+* 2016 - Blue Remembered Earth - Poseidons Children (english) / Okular - Poseidons Kinder (german), eBook
+* 2017 - On the Steel Breeze - Poseidons Children (english) / Duplikat - Poseidons Kinder (german), eBook
+
+### Arthur C. Clarke
+
+* 1973 - Rendezvous with Rama (english), Audiobook
+* 1989 - Rama II (english), Audiobook
+* 1991 - The Garden of Rama (english), Audiobook
+* 1993 - Rama Revealed (english), Audiobook
+
+### Andreas Brandhorst (german)
+
+* 2004 - Diamant (german) - Diamant-Trilogie, Paperback
+* 2004 - Der Metamorph (german) - Diamant-Trilogie, Paperback
+* 2005 - Der Zeitkrieg (german) - Diamant-Trilogie, Paperback
+* 2006 - Feuervögel (german) - Graken-Trilogie, Paperback
+* 2007 - Feuerstürme (german) - Graken-Trilogie, Paperback
+* 2008 - Feuerträume (german) - Graken-Trilogie, Paperback
+* 2010 - Kinder der Ewigkeit (german), Paperback
+* 2012 - Das Artefakt (german), Paperback
+* 2013 - Der letzte Regent (german), Paperback
+* 2014 - Das Kosmotop (german), Paperback
+* 2015 - Ikarus (german), Paperback
+* 2015 - Das Schiff (german), Paperback
+* 2016 - Omni (german) - Omniversum, Paperback
+* 2017 - Das Arkonadia-Rätsel (german) - Omniversum, Paperback
+* 2017 - Das Erwachen (german) - Maschinenintelligenz-Trilogie, eBook
+* 2018 - Ewiges Leben (german), Paperback
+* 2019 - Das Netz der Sterne (german), Audiobook
+* 2019 - Seelenfänger (german), Audiobook
+* 2020 - Die Eskalation (german) - Maschinenintelligenz-Trilogie, eBook
+* 2021 - Mars Discovery (german) - Maschinenintelligenz-Trilogie, eBook
+* 2021 - Die Tiefe der Zeit (german), Paperback
+* 2022 - Eklipse (german), eBook
+* 2022 - Ruf der Unendlichkeit (german), Audiobook
+* 2023 - Oxygen: Welt ohne Sauerstoff (german), Audiobook
+* 2024 - Zeta (german), Audiobook
+* 2024 - Infinitia (german), Audiobook
+* 2024 - Der Riss (german), eBook
+
+### David Reimer (german)
+
+* 2022 - Die Anomalie in der Finsternis - Die Wächter des Wissens - Band 1 (german), Audiobook
+* 2022 - Der dunkle Reisende - Die Wächter des Wissens - Band 2 (german), Audiobook
+* 2022 - Das Signal der Schöpfer - Die Wächter des Wissens - Band 3 (german), Audiobook
+* 2022 - Das Ende des Universums - Die Wächter des Wissens - Band 4 (german), Audiobook
+
+### Ian Banks
+
+* 1987 - Consider Pheblas (english) / Bedenke Pheblas (german) - Culture Book 1, Audiobook
+* 1988 - The Player of Games (english) - Culture Book 2, Audiobook
+
+### Dan Simmons
+
+* 1989 - Hyperion, Audiobook
+* 1990 - The fall of Hyperion, Audiobook
+
+### Other authors
+
+* 1949 - 1984, George Orwell, Audiobook
+* 1979 - The Hitchhikers Guide to the Galaxy (english) / Per Anhalter durch die Galaxis (german), Adam Douglas - All books of the series, Paperback
+* 2009 - Quest, Andreas Eschbach, Paperback
+* 2010 - The Icarus Hunt (english) / Jagt auf Ikarus (german), Timothy Zahn, Paperback
+* 2010 - Der Astronaut (german), Andy Weir, Audiobook
+* 2015 - The Three-Body Problem, Liu Cixin, Audiobook
+* 2019 - Die Unvollkommenen (german), Theresa Hannig, Audiobook
+* 2022 - Mickey 7 - Der letzte Klon (german), Edward Ashton, Audiobook
+
+Do you recommend a good Science Fiction Novel? E-Mail at paul at buetow dot org! :-)
+
+=> ./ Go back
diff --git a/about/.rcmbackup/resources.gmi.tpl.858f4de9007cae4a9462f8f4d8cca0a3f35da02b975dfe03a4d5efb5ad38aa05 b/about/.rcmbackup/resources.gmi.tpl.858f4de9007cae4a9462f8f4d8cca0a3f35da02b975dfe03a4d5efb5ad38aa05
new file mode 100644
index 00000000..0e154f1d
--- /dev/null
+++ b/about/.rcmbackup/resources.gmi.tpl.858f4de9007cae4a9462f8f4d8cca0a3f35da02b975dfe03a4d5efb5ad38aa05
@@ -0,0 +1,104 @@
+ Resources
+
+This site contains a list of resources I find and found helpful. I am not an expert in all of these topics, but all the resources listed here impacted me. I read some of the books quite a long time ago, so there might be newer editions out there already, and I might need to refresh some of the knowledge.
+
+The list may not be exhaustive, but I will be adding more in the future. I firmly believe that educating yourself further is one of the most important things to advance. The lists are in random order and reshuffled every time (via *sort -R*) when updates are made.
+
+You won't find any links on this site because, over time, the links will break. Please use your favourite search engine when you are interested in one of the resources...
+
+```
+ .--. .---. .-.
+ .---|--| .-. | A | .---. |~| .--.
+.--|===|Go|---|_|--.__| S |--|:::| |~|-==-|==|---.
+|%%|Lin|la|===| |~~|%%| C |--| |_|~|Perl| |___|-.
+| |ux |ng|===| |==| | I | |k8s|=| | 7 |Ra|---|=|
+| | | | |_|__| | I |__| | | | |ku|___| |
+|~~|===|--|===|~|~~|%%|~~~|--|:::|=|~|----|==|---|=|
+^--^---'--^---^-^--^--^---'--^---^-^-^-==-^--^---^-'hjw
+```
+
+<< template::inline::toc
+
+## Technical books
+
+In random order:
+
+<< sort -R technical-books.txt
+
+## 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:
+
+<< sort -R technical-references.txt
+
+## Self-development and soft-skills books
+
+In random order:
+
+<< sort -R self-skills.txt
+
+=> ../notes/index.gmi Here are notes of mine for some of the books
+
+## Technical video lectures and courses
+
+Some of these were in-person with exams; others were online learning lectures only. In random order:
+
+<< sort -R technical-courses.txt
+
+## Technical guides
+
+These are not whole books, but guides (smaller or larger) which I found very useful. in random order:
+
+<< sort -R technical-guides.txt
+
+## Podcasts
+
+### Podcasts I like
+
+In random order:
+
+<< sort -R podcasts.txt
+
+### Podcasts I liked
+
+I liked them but am not listening to them anymore. The podcasts have either "finished" (no more episodes) or I stopped listening to them due to time constraints or a shift in my interests.
+
+<< sort -R old-podcasts.txt
+
+## Newsletters I like
+
+This is a mix of tech and non-tech newsletters I am subscribed to. In random order:
+
+<< sort -R newsletters.txt
+
+## 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:
+
+<< sort -R magazines.txt
+
+## YouTube channels
+
+* Jo Van Eyck - A lot about AI in Software Engineering
+* The Linux Experiment - Nice to watch to relax and learn about Linux news
+
+# Formal education
+
+I have met many self-taught IT professionals I highly respect. In my own opinion, a formal degree does not automatically qualify a person for a particular job. It is more about how you educate yourself further *after* formal education. The pragmatic way of thinking and getting things done do not require a college or university degree.
+
+However, I still believe a degree in Computer Science helps to understand all the theories involved that you would have never learned otherwise. Isn't it cool to understand how compilers work under the hood (automata theory) even if you are not required to hack the compiler in your current position? You could apply the same theory for other things too. This was just *one* example.
+
+* One year Student exchange program in OH, USA
+* German School Majors (Abitur), focus areas: German and Mathematics
+* Half-year internship as a C/C++ programmer in Sofia, Bulgaria
+* Graduated from University as Diplom-Inform. (FH) at the Aachen University of Applied Sciences, Germany
+
+My diploma thesis, "Object-oriented development of a GUI based tool for event-based simulation of distributed systems," can be found at:
+
+=> https://codeberg.org/snonux/vs-sim
+
+I was one of the last students handed out an "old fashioned" German Diploma degree before the University switched to the international Bachelor and Master versions. To give you an idea: The "Diplom-Inform. (FH)" means translated "Diploma in Informatics from a University of Applied Sciences (FH: Fachhochschule)". Going after the international student credit score, it can be seen as an equivalent to a "Master in Computer Science" degree.
+
+Colleges and Universities are costly in many countries. Come to Germany, the first college degree is for free (if you finish within a certain deadline!)
+
+=> ./ Go back
diff --git a/about/.rcmbackup/showcase.gmi.tpl.e8706aaaac0dd7ad59148a5c17ede052f8252c5db8ad77f74d5c4218051a6ec6 b/about/.rcmbackup/showcase.gmi.tpl.e8706aaaac0dd7ad59148a5c17ede052f8252c5db8ad77f74d5c4218051a6ec6
new file mode 100644
index 00000000..b71aec63
--- /dev/null
+++ b/about/.rcmbackup/showcase.gmi.tpl.e8706aaaac0dd7ad59148a5c17ede052f8252c5db8ad77f74d5c4218051a6ec6
@@ -0,0 +1,1417 @@
+# Project Showcase
+
+Generated on: 2026-03-12
+
+This page showcases my side projects, providing an overview of what each project does, its technical implementation, and key metrics. Each project summary includes information about the programming languages used, development activity, releases, and licensing. The projects are ranked by score, which combines recent activity, project size, tag history, and whether the project has shipped a release.
+
+<< template::inline::toc
+
+## Overall Statistics
+
+* 📦 Total Projects: 64
+* 📊 Total Commits: 13,595
+* 📈 Total Lines of Code: 334,197
+* 📄 Total Lines of Documentation: 46,922
+* 💻 Languages: Go (53.7%), Java (12.3%), C (5.8%), CSS (5.3%), YAML (4.7%), Perl (4.3%), HTML (2.9%), Shell (2.6%), Python (2.1%), C/C++ (1.3%), JSON (1.1%), Config (1.0%), Ruby (0.9%), HCL (0.8%), Make (0.4%), XML (0.2%), Haskell (0.2%), JavaScript (0.1%), Raku (0.1%)
+* 📚 Documentation: Markdown (74.1%), Text (24.7%), LaTeX (1.2%)
+* 🚀 Release Status: 42 released, 22 experimental (65.6% with releases, 34.4% experimental)
+
+## Projects
+
+### 1. ior 1←1
+
+* 💻 Languages: Go (88.9%), C (10.6%), JSON (0.3%), C/C++ (0.2%)
+* 📚 Documentation: Markdown (85.8%), Text (14.2%)
+* 📊 Commits: 732
+* 📈 Lines of Code: 55808
+* 📄 Lines of Documentation: 3394
+* 🏷️ Tags: 0
+* 📅 Development Period: 2024-01-18 to 2026-03-11
+* 🏆 Score: 111.7 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🧪 Status: Experimental (no releases yet)
+
+
+=> showcase/ior/image-1.png ior screenshot
+
+> **🚧 PRE-ALPHA SOFTWARE:** This project is in a pre-alpha state and is intended for my own personal use only. Use at your own risk.
+
+=> https://codeberg.org/snonux/ior View on Codeberg
+=> https://github.com/snonux/ior View on GitHub
+
+---
+
+### 2. timesamurai 2
+
+* 💻 Languages: Go (99.2%), Shell (0.6%), YAML (0.1%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 91
+* 📈 Lines of Code: 9493
+* 📄 Lines of Documentation: 112
+* 🏷️ Tags: 4
+* 📅 Development Period: 2025-06-25 to 2026-03-07
+* 🏆 Score: 59.3 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: MIT
+* 🏷️ Latest Release: v0.7.0 (2026-03-05)
+
+
+> **🚧 PRE-ALPHA SOFTWARE:** This project is in a pre-alpha state and is intended for my own personal use only. Use at your own risk.
+
+=> https://codeberg.org/snonux/timesamurai View on Codeberg
+=> https://github.com/snonux/timesamurai View on GitHub
+
+---
+
+### 3. hexai 3↙2
+
+* 💻 Languages: Go (100.0%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 377
+* 📈 Lines of Code: 31218
+* 📄 Lines of Documentation: 4089
+* 🏷️ Tags: 50
+* 📅 Development Period: 2025-08-01 to 2026-03-10
+* 🏆 Score: 50.6 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: v0.21.0 (2026-02-12)
+
+
+=> showcase/hexai/image-1.png hexai screenshot
+
+Hexai, the AI addition for your Helix Editor (https://helix-editor.com) .. Other editors should work but weren't tested.
+
+=> https://codeberg.org/snonux/hexai View on Codeberg
+=> https://github.com/snonux/hexai View on GitHub
+
+---
+
+### 4. dotfiles 4↙3
+
+* 💻 Languages: Shell (66.6%), CSS (10.9%), Config (10.1%), TOML (10.0%), JSON (1.1%), Ruby (1.0%), INI (0.2%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 845
+* 📈 Lines of Code: 2990
+* 📄 Lines of Documentation: 5386
+* 🏷️ Tags: 0
+* 📅 Development Period: 2023-07-30 to 2026-03-10
+* 🏆 Score: 35.1 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🧪 Status: Experimental (no releases yet)
+
+
+These are all my dotfiles. I can install them locally on my laptop and/or workstation as well as remotely on any server.
+
+=> https://codeberg.org/snonux/dotfiles View on Codeberg
+=> https://github.com/snonux/dotfiles View on GitHub
+
+---
+
+### 5. loadbars 5↖47
+
+* 💻 Languages: Go (92.8%), Shell (7.2%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 577
+* 📈 Lines of Code: 6595
+* 📄 Lines of Documentation: 328
+* 🏷️ Tags: 47
+* 📅 Development Period: 2010-11-05 to 2026-03-02
+* 🏆 Score: 25.5 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: Custom License
+* 🏷️ Latest Release: v0.11.1 (2026-02-17)
+
+
+=> showcase/loadbars/image-1.gif loadbars screenshot
+
+Loadbars is a tool that can be used to observe CPU loads of several remote servers at once in real time. It connects with SSH (using SSH public/private key auth) to several servers at once and vizualizes all server CPUs and memory statistics right next each other (either summarized or each core separately). Loadbars is not a tool for collecting CPU loads and drawing graphs for later analysis. However, since such tools require a significant amount of time before producing results, Loadbars lets you observe the current state immediately. Loadbars does not remember or record any load information. It just shows the current CPU usages like top or vmstat does.
+
+=> https://codeberg.org/snonux/loadbars View on Codeberg
+=> https://github.com/snonux/loadbars View on GitHub
+
+---
+
+### 6. foostore 6↖7
+
+* 💻 Languages: Go (98.4%), Shell (1.6%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 110
+* 📈 Lines of Code: 7020
+* 📄 Lines of Documentation: 250
+* 🏷️ Tags: 9
+* 📅 Development Period: 2018-05-26 to 2026-03-07
+* 🏆 Score: 17.6 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: v0.5.3 (2026-03-02)
+
+
+> **🚧 PRE-ALPHA SOFTWARE:** This project is in active early development, unstable, and intended for personal use. Expect bugs, breaking changes, missing safeguards, and possible data loss. Backward compatibility and upgrade paths are not guaranteed. Use at your own risk.
+
+=> https://codeberg.org/snonux/foostore View on Codeberg
+=> https://github.com/snonux/foostore View on GitHub
+
+---
+
+### 7. epimetheus 7↙4
+
+* 💻 Languages: Go (85.2%), Shell (14.8%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 4
+* 📈 Lines of Code: 5199
+* 📄 Lines of Documentation: 1736
+* 🏷️ Tags: 0
+* 📅 Development Period: 2026-02-07 to 2026-03-07
+* 🏆 Score: 14.5 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🧪 Status: Experimental (no releases yet)
+
+
+=> showcase/epimetheus/image-1.png epimetheus screenshot
+
+> **🚧 PRE-ALPHA SOFTWARE:** This project is in a pre-alpha state and is intended for my own personal use only. Use at your own risk.
+
+=> https://codeberg.org/snonux/epimetheus View on Codeberg
+=> https://github.com/snonux/epimetheus View on GitHub
+
+---
+
+### 8. conf 8↙5
+
+* 💻 Languages: YAML (80.7%), Perl (9.9%), Shell (6.0%), Python (2.3%), Docker (0.7%), Config (0.2%), HTML (0.1%)
+* 📚 Documentation: Markdown (97.1%), Text (2.9%)
+* 📊 Commits: 791
+* 📈 Lines of Code: 19132
+* 📄 Lines of Documentation: 6572
+* 🏷️ Tags: 0
+* 📅 Development Period: 2021-12-28 to 2026-02-15
+* 🏆 Score: 11.3 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🧪 Status: Experimental (no releases yet)
+
+
+This is my personal config repository. Including...
+
+=> https://codeberg.org/snonux/conf View on Codeberg
+=> https://github.com/snonux/conf View on GitHub
+
+---
+
+### 9. scifi 9↙8
+
+* 💻 Languages: JSON (35.9%), CSS (30.6%), JavaScript (29.6%), HTML (3.8%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 23
+* 📈 Lines of Code: 1664
+* 📄 Lines of Documentation: 853
+* 🏷️ Tags: 0
+* 📅 Development Period: 2026-01-25 to 2026-01-27
+* 🏆 Score: 7.2 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🧪 Status: Experimental (no releases yet)
+
+
+A static HTML page showcasing a science fiction book collection. Works fully offline with all assets stored locally.
+
+=> https://codeberg.org/snonux/scifi View on Codeberg
+=> https://github.com/snonux/scifi View on GitHub
+
+---
+
+### 10. gitsyncer 10↖15
+
+* 💻 Languages: Go (93.4%), Shell (6.3%), JSON (0.3%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 132
+* 📈 Lines of Code: 11821
+* 📄 Lines of Documentation: 2456
+* 🏷️ Tags: 34
+* 📅 Development Period: 2025-06-23 to 2026-03-11
+* 🏆 Score: 5.5 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: BSD-2-Clause
+* 🏷️ Latest Release: v0.15.4 (2026-03-11)
+
+
+GitSyncer is a tool for synchronizing git repositories between multiple organizations (e.g., GitHub and Codeberg). It automatically keeps all branches in sync across different git hosting platforms.
+
+=> https://codeberg.org/snonux/gitsyncer View on Codeberg
+=> https://github.com/snonux/gitsyncer View on GitHub
+
+---
+
+### 11. log4jbench 11↙9
+
+* 💻 Languages: Java (78.9%), XML (21.1%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 4
+* 📈 Lines of Code: 774
+* 📄 Lines of Documentation: 119
+* 🏷️ Tags: 0
+* 📅 Development Period: 2026-01-09 to 2026-01-09
+* 🏆 Score: 5.1 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: MIT
+* 🧪 Status: Experimental (no releases yet)
+
+
+A minimal Java tool to benchmark Log4j2 logging throughput with configurable concurrent threads and various logging configurations.
+
+=> https://codeberg.org/snonux/log4jbench View on Codeberg
+=> https://github.com/snonux/log4jbench View on GitHub
+
+---
+
+### 12. rcm 12↙10
+
+* 💻 Languages: Ruby (99.6%), TOML (0.4%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 109
+* 📈 Lines of Code: 1719
+* 📄 Lines of Documentation: 778
+* 🏷️ Tags: 3
+* 📅 Development Period: 2024-12-05 to 2026-03-02
+* 🏆 Score: 5.0 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: Custom License
+* 🏷️ Latest Release: v0.1.1 (2026-03-01)
+
+
+=> showcase/rcm/image-1.png rcm screenshot
+
+A KISS (Keep It Simple, Stupid) configuration management system written in Ruby, designed for personal use.
+
+=> https://codeberg.org/snonux/rcm View on Codeberg
+=> https://github.com/snonux/rcm View on GitHub
+
+---
+
+### 13. yoga 13↙12
+
+* 💻 Languages: Go (69.1%), HTML (30.9%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 17
+* 📈 Lines of Code: 6498
+* 📄 Lines of Documentation: 196
+* 🏷️ Tags: 9
+* 📅 Development Period: 2025-10-01 to 2026-03-07
+* 🏆 Score: 4.8 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: v0.4.0 (2026-01-28)
+
+
+=> showcase/yoga/image-1.png yoga screenshot
+
+> **⚠️ DEPRECATED:** This project is no longer maintained. No further updates, bug fixes, or feature additions will be made. Use at your own risk.
+
+=> https://codeberg.org/snonux/yoga View on Codeberg
+=> https://github.com/snonux/yoga View on GitHub
+
+---
+
+### 14. gogios 14↙11
+
+* 💻 Languages: Go (98.9%), JSON (0.6%), YAML (0.5%)
+* 📚 Documentation: Markdown (94.9%), Text (5.1%)
+* 📊 Commits: 109
+* 📈 Lines of Code: 3875
+* 📄 Lines of Documentation: 394
+* 🏷️ Tags: 10
+* 📅 Development Period: 2023-04-17 to 2026-02-16
+* 🏆 Score: 4.7 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: Custom License
+* 🏷️ Latest Release: v1.4.1 (2026-02-16)
+
+
+=> showcase/gogios/image-1.png gogios screenshot
+
+Gogios is a lightweight and minimalistic monitoring tool not designed for large-scale monitoring. It is ideal for monitoring self-hosted servers on a tiny scale, such as only a handful of servers or virtual machines (e.g. my personal infrastructure). If you have limited resources to monitor and require a simple yet effective solution, Gogios is an excellent choice. However, for larger environments with more complex monitoring requirements, it might be necessary to consider other monitoring solutions better suited for managing and scaling with increased monitoring demands.
+
+=> https://codeberg.org/snonux/gogios View on Codeberg
+=> https://github.com/snonux/gogios View on GitHub
+
+---
+
+### 15. totalrecall 15↙14
+
+* 💻 Languages: Go (99.0%), Shell (0.5%), YAML (0.4%)
+* 📚 Documentation: Markdown (99.5%), Text (0.5%)
+* 📊 Commits: 109
+* 📈 Lines of Code: 13424
+* 📄 Lines of Documentation: 377
+* 🏷️ Tags: 18
+* 📅 Development Period: 2025-07-14 to 2026-03-08
+* 🏆 Score: 4.7 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: MIT
+* 🏷️ Latest Release: v0.8.3 (2026-03-08)
+
+
+=> showcase/totalrecall/image-1.png totalrecall screenshot
+
+`totalrecall` is a versatile tool for generating Anki flashcard materials from Bulgarian words. It offers both a command-line interface (CLI) and a graphical user interface (GUI) for creating audio pronunciation files and AI-generated images.
+
+=> https://codeberg.org/snonux/totalrecall View on Codeberg
+=> https://github.com/snonux/totalrecall View on GitHub
+
+---
+
+### 16. perc 16↙13
+
+* 💻 Languages: Go (100.0%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 7
+* 📈 Lines of Code: 452
+* 📄 Lines of Documentation: 80
+* 🏷️ Tags: 3
+* 📅 Development Period: 2025-11-25 to 2025-11-25
+* 🏆 Score: 4.3 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: v0.1.0 (2025-11-25)
+
+
+A simple vibe-coded command-line percentage calculator written in Go.
+
+=> https://codeberg.org/snonux/perc View on Codeberg
+=> https://github.com/snonux/perc View on GitHub
+
+---
+
+### 17. tasksamurai 17↙16
+
+* 💻 Languages: Go (99.8%), YAML (0.2%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 235
+* 📈 Lines of Code: 6567
+* 📄 Lines of Documentation: 251
+* 🏷️ Tags: 10
+* 📅 Development Period: 2025-06-19 to 2026-03-05
+* 🏆 Score: 3.8 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: BSD-2-Clause
+* 🏷️ Latest Release: v0.11.4 (2026-03-05)
+
+
+=> showcase/tasksamurai/image-1.png tasksamurai screenshot
+
+Task Samurai invokes the `task` command to read and modify tasks. The tasks are displayed in a Bubble Tea table where each row represents a task. Hotkeys trigger Taskwarrior commands such as starting, completing or annotating tasks. The UI refreshes automatically after each action so the table is always up to date.
+
+=> https://codeberg.org/snonux/tasksamurai View on Codeberg
+=> https://github.com/snonux/tasksamurai View on GitHub
+
+---
+
+### 18. gos 18←18
+
+* 💻 Languages: Go (99.5%), Shell (0.2%), JSON (0.2%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 402
+* 📈 Lines of Code: 4143
+* 📄 Lines of Documentation: 477
+* 🏷️ Tags: 13
+* 📅 Development Period: 2024-05-04 to 2026-02-28
+* 🏆 Score: 2.5 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: Custom License
+* 🏷️ Latest Release: v1.2.4 (2026-02-17)
+
+
+=> showcase/gos/image-1.png gos screenshot
+
+Gos is a Go-based replacement for Buffer.com, providing the ability to schedule and manage social media posts from the command line. It can be run, for example, every time you open a new shell or only once every N hours when you open a new shell.
+
+=> https://codeberg.org/snonux/gos View on Codeberg
+=> https://github.com/snonux/gos View on GitHub
+
+---
+
+### 19. foostats 19↙17
+
+* 💻 Languages: Perl (100.0%)
+* 📚 Documentation: Markdown (54.6%), Text (45.4%)
+* 📊 Commits: 98
+* 📈 Lines of Code: 1902
+* 📄 Lines of Documentation: 423
+* 🏷️ Tags: 2
+* 📅 Development Period: 2023-01-02 to 2025-11-01
+* 🏆 Score: 2.4 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: Custom License
+* 🏷️ Latest Release: v0.2.0 (2025-10-21)
+
+
+A privacy-respecting web analytics tool for OpenBSD that processes HTTP/HTTPS and Gemini protocol logs to generate anonymous site statistics. Designed for the foo.zone ecosystem and similar sites, it provides comprehensive traffic analysis while preserving visitor privacy through SHA3-512 IP hashing.
+
+=> https://codeberg.org/snonux/foostats View on Codeberg
+=> https://github.com/snonux/foostats View on GitHub
+
+---
+
+### 20. timr 20↙19
+
+* 💻 Languages: Go (96.0%), Shell (4.0%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 32
+* 📈 Lines of Code: 1538
+* 📄 Lines of Documentation: 99
+* 🏷️ Tags: 5
+* 📅 Development Period: 2025-06-25 to 2026-01-02
+* 🏆 Score: 2.4 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: MIT
+* 🏷️ Latest Release: v0.3.0 (2026-01-02)
+
+
+A simple command-line tool to track time spent on tasks. It has been primarily coded using Google Gemini CLI and Claude Code CLI.
+
+=> https://codeberg.org/snonux/timr View on Codeberg
+=> https://github.com/snonux/timr View on GitHub
+
+---
+
+### 21. dtail 21↙20
+
+* 💻 Languages: Go (93.9%), JSON (2.8%), C (2.0%), Make (0.5%), C/C++ (0.3%), Config (0.2%), Shell (0.2%), Docker (0.1%)
+* 📚 Documentation: Text (79.4%), Markdown (20.6%)
+* 📊 Commits: 1104
+* 📈 Lines of Code: 20091
+* 📄 Lines of Documentation: 5674
+* 🏷️ Tags: 27
+* 📅 Development Period: 2020-01-09 to 2025-06-20
+* 🏆 Score: 2.2 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: Apache-2.0
+* 🏷️ Latest Release: v4.3.3 (2024-08-23)
+
+
+=> showcase/dtail/image-1.png dtail screenshot
+
+DTail (a distributed tail program) is a DevOps tool for engineers programmed in Google Go for following (tailing), catting and grepping (including gzip and zstd decompression support) log files on many machines concurrently. An advanced feature of DTail is to execute distributed MapReduce aggregations across many devices.
+
+=> https://codeberg.org/snonux/dtail View on Codeberg
+=> https://github.com/snonux/dtail View on GitHub
+
+---
+
+### 22. wireguardmeshgenerator 22↖23
+
+* 💻 Languages: Ruby (65.4%), YAML (34.6%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 36
+* 📈 Lines of Code: 563
+* 📄 Lines of Documentation: 24
+* 🏷️ Tags: 1
+* 📅 Development Period: 2025-04-18 to 2026-01-20
+* 🏆 Score: 1.5 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: Custom License
+* 🏷️ Latest Release: v1.0.0 (2025-05-11)
+
+
+Have a look at the `wireguardmeshgenerator.yaml`
+
+=> https://codeberg.org/snonux/wireguardmeshgenerator View on Codeberg
+=> https://github.com/snonux/wireguardmeshgenerator View on GitHub
+
+---
+
+### 23. gemtexter 23↙22
+
+* 💻 Languages: CSS (55.3%), Python (16.1%), HTML (15.3%), JSON (6.6%), Shell (5.3%), Config (1.5%)
+* 📚 Documentation: Text (70.2%), Markdown (29.8%)
+* 📊 Commits: 480
+* 📈 Lines of Code: 30319
+* 📄 Lines of Documentation: 1280
+* 🏷️ Tags: 6
+* 📅 Development Period: 2021-05-21 to 2025-06-22
+* 🏆 Score: 1.4 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: GPL-3.0
+* 🏷️ Latest Release: 3.0.0 (2024-10-01)
+
+
+This is the source code of my personal internet site and blog engine. All content is written in Gemini Gemtext format, but the script `gemtexter` generates multiple other static output formats (with zero JavaScript) from it. You can reach the site(s)...
+
+=> https://codeberg.org/snonux/gemtexter View on Codeberg
+=> https://github.com/snonux/gemtexter View on GitHub
+
+---
+
+### 24. goprecords 24←24
+
+* 💻 Languages: Go (100.0%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 118
+* 📈 Lines of Code: 2855
+* 📄 Lines of Documentation: 489
+* 🏷️ Tags: 6
+* 📅 Development Period: 2013-03-22 to 2026-03-08
+* 🏆 Score: 1.3 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: v0.2.1 (2026-02-20)
+
+
+`goprecords` is a Go command-line program that generates uptime reports for hosts based on the input record files from `uptimed`. It supports importing records into SQLite and querying for reports, or reporting directly from a stats directory.
+
+=> https://codeberg.org/snonux/goprecords View on Codeberg
+=> https://github.com/snonux/goprecords View on GitHub
+
+---
+
+### 25. ds-sim 25↙21
+
+* 💻 Languages: Java (98.9%), Shell (0.6%), CSS (0.5%)
+* 📚 Documentation: Markdown (98.7%), Text (1.3%)
+* 📊 Commits: 438
+* 📈 Lines of Code: 25762
+* 📄 Lines of Documentation: 3101
+* 🏷️ Tags: 0
+* 📅 Development Period: 2008-05-15 to 2025-06-27
+* 🏆 Score: 1.2 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: Custom License
+* 🧪 Status: Experimental (no releases yet)
+
+
+=> showcase/ds-sim/image-1.png ds-sim screenshot
+
+DS-Sim is a open-source simulator for distributed systems, written in Java. It provides a powerful environment for simulating and learning about distributed systems concepts.
+
+=> https://codeberg.org/snonux/ds-sim View on Codeberg
+=> https://github.com/snonux/ds-sim View on GitHub
+
+---
+
+### 26. quicklogger 26↙25
+
+* 💻 Languages: Go (96.4%), XML (1.8%), Shell (1.1%), TOML (0.7%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 36
+* 📈 Lines of Code: 1220
+* 📄 Lines of Documentation: 78
+* 🏷️ Tags: 5
+* 📅 Development Period: 2024-01-20 to 2026-03-01
+* 🏆 Score: 0.8 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: MIT
+* 🏷️ Latest Release: v0.1.0 (2026-03-01)
+
+
+=> showcase/quicklogger/image-1.png quicklogger screenshot
+
+This is a tiny GUI app written in Go using the Fyne framework to quickly log a message to a file. Read on my blog more about this: https://foo.zone/gemfeed/2024-03-03-a-fine-fyne-android-app-for-quickly-logging-ideas-programmed-in-golang.html
+
+=> https://codeberg.org/snonux/quicklogger View on Codeberg
+=> https://github.com/snonux/quicklogger View on GitHub
+
+---
+
+### 27. sillybench 27←27
+
+* 💻 Languages: Go (90.9%), Shell (9.1%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 5
+* 📈 Lines of Code: 33
+* 📄 Lines of Documentation: 3
+* 🏷️ Tags: 0
+* 📅 Development Period: 2025-04-03 to 2025-04-03
+* 🏆 Score: 0.7 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🧪 Status: Experimental (no releases yet)
+
+
+To compare how fast this runs on FreeBSD vs a Linux Bhyve VM
+
+=> https://codeberg.org/snonux/sillybench View on Codeberg
+=> https://github.com/snonux/sillybench View on GitHub
+
+---
+
+### 28. terraform 28↙26
+
+* 💻 Languages: HCL (96.6%), Make (1.9%), YAML (1.5%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 125
+* 📈 Lines of Code: 2851
+* 📄 Lines of Documentation: 52
+* 🏷️ Tags: 0
+* 📅 Development Period: 2023-08-27 to 2025-08-08
+* 🏆 Score: 0.5 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: MIT
+* 🧪 Status: Experimental (no releases yet)
+
+
+Go to AWS Secrets manager manually and create it!
+
+=> https://codeberg.org/snonux/terraform View on Codeberg
+=> https://github.com/snonux/terraform View on GitHub
+
+---
+
+### 29. guprecords 29←29
+
+* 💻 Languages: Raku (100.0%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 97
+* 📈 Lines of Code: 383
+* 📄 Lines of Documentation: 425
+* 🏷️ Tags: 1
+* 📅 Development Period: 2013-03-22 to 2026-03-07
+* 🏆 Score: 0.5 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: v1.0.0 (2023-04-29)
+
+
+guprecords: source code repository.
+
+=> https://codeberg.org/snonux/guprecords View on Codeberg
+=> https://github.com/snonux/guprecords View on GitHub
+
+---
+
+### 30. geheim 30←30
+
+* 💻 Languages: Ruby (86.7%), Shell (13.3%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 75
+* 📈 Lines of Code: 822
+* 📄 Lines of Documentation: 108
+* 🏷️ Tags: 4
+* 📅 Development Period: 2018-05-26 to 2026-03-07
+* 🏆 Score: 0.4 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: v0.3.1 (2025-11-01)
+
+
+> **⚠️ DEPRECATED:** This project is no longer maintained. I have switched to another solution and will not be doing any further work on this project.
+
+=> https://codeberg.org/snonux/geheim View on Codeberg
+=> https://github.com/snonux/geheim View on GitHub
+
+---
+
+### 31. gorum 31↙28
+
+* 💻 Languages: Go (91.3%), JSON (6.4%), YAML (2.3%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 83
+* 📈 Lines of Code: 1525
+* 📄 Lines of Documentation: 17
+* 🏷️ Tags: 0
+* 📅 Development Period: 2023-04-17 to 2026-03-07
+* 🏆 Score: 0.4 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: Custom License
+* 🧪 Status: Experimental (no releases yet)
+
+
+Gogios is a minimalistic quorum manager.
+
+=> https://codeberg.org/snonux/gorum View on Codeberg
+=> https://github.com/snonux/gorum View on GitHub
+
+---
+
+### 32. docker-radicale-server 32↙31
+
+* 💻 Languages: Make (57.5%), Docker (42.5%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 5
+* 📈 Lines of Code: 40
+* 📄 Lines of Documentation: 3
+* 🏷️ Tags: 0
+* 📅 Development Period: 2023-12-31 to 2025-08-11
+* 🏆 Score: 0.3 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🧪 Status: Experimental (no releases yet)
+
+
+For the Radicale server https://radicale.org
+
+=> https://codeberg.org/snonux/docker-radicale-server View on Codeberg
+=> https://github.com/snonux/docker-radicale-server View on GitHub
+
+---
+
+### 33. photoalbum 33↖34
+
+* 💻 Languages: Shell (80.1%), Make (12.3%), Config (7.6%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 153
+* 📈 Lines of Code: 342
+* 📄 Lines of Documentation: 39
+* 🏷️ Tags: 15
+* 📅 Development Period: 2011-11-19 to 2022-04-02
+* 🏆 Score: 0.3 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: 0.5.0 (2022-02-21)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+photoalbum is a minimal Bash script for Unix like operating systems (such as Linux) to generate static web photo albums.
+The resulting static photo album is pure HTML+CSS (without any JavaScript!).
+
+=> https://codeberg.org/snonux/photoalbum View on Codeberg
+=> https://github.com/snonux/photoalbum View on GitHub
+
+---
+
+### 34. randomjournalpage 34↙33
+
+* 💻 Languages: Shell (94.1%), Make (5.9%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 8
+* 📈 Lines of Code: 51
+* 📄 Lines of Documentation: 26
+* 🏷️ Tags: 0
+* 📅 Development Period: 2022-06-02 to 2024-04-20
+* 🏆 Score: 0.2 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🧪 Status: Experimental (no releases yet)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+This is a quick and dirty script which I use personally to grab a random PDF file (a scanned version of one of my bullet journals) and to extract a random set of pages from it in order to reflect/read what was happening in the past. This also includes various notes of books I have read and random ideas I wrote down and my want to reconsider.
+
+=> https://codeberg.org/snonux/randomjournalpage View on Codeberg
+=> https://github.com/snonux/randomjournalpage View on GitHub
+
+---
+
+### 35. ioriot 35←35
+
+* 💻 Languages: C (55.5%), C/C++ (24.0%), Config (19.6%), Make (1.0%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 50
+* 📈 Lines of Code: 12420
+* 📄 Lines of Documentation: 610
+* 🏷️ Tags: 8
+* 📅 Development Period: 2018-03-01 to 2020-01-22
+* 🏆 Score: 0.2 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: Apache-2.0
+* 🏷️ Latest Release: 0.5.1 (2019-01-04)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+=> showcase/ioriot/image-1.png ioriot screenshot
+
+...is an I/O benchmarking tool for Linux based operating systems which captures I/O operations on a (possibly production) server in order to replay the exact same I/O operations on a load test machine.
+
+=> https://codeberg.org/snonux/ioriot View on Codeberg
+=> https://github.com/snonux/ioriot View on GitHub
+
+---
+
+### 36. algorithms 36↙32
+
+* 💻 Languages: Go (99.2%), Make (0.8%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 82
+* 📈 Lines of Code: 1728
+* 📄 Lines of Documentation: 18
+* 🏷️ Tags: 0
+* 📅 Development Period: 2020-07-12 to 2023-04-09
+* 🏆 Score: 0.2 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: Custom License
+* 🧪 Status: Experimental (no releases yet)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+This includes exercises from the Algorithms lecture. Well, this is just a refresher exercise.
+
+=> https://codeberg.org/snonux/algorithms View on Codeberg
+=> https://github.com/snonux/algorithms View on GitHub
+
+---
+
+### 37. ipv6test 37↙36
+
+* 💻 Languages: Perl (65.8%), Docker (34.2%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 22
+* 📈 Lines of Code: 149
+* 📄 Lines of Documentation: 21
+* 🏷️ Tags: 0
+* 📅 Development Period: 2011-07-09 to 2026-02-17
+* 🏆 Score: 0.2 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: Custom License
+* 🧪 Status: Experimental (no releases yet)
+
+
+This is a quick and dirty Perl-based IPv6 test website.
+
+=> https://codeberg.org/snonux/ipv6test View on Codeberg
+=> https://github.com/snonux/ipv6test View on GitHub
+
+---
+
+### 38. staticfarm-apache-handlers 38↖40
+
+* 💻 Languages: Perl (96.4%), Make (3.6%)
+* 📚 Documentation: Text (100.0%)
+* 📊 Commits: 4
+* 📈 Lines of Code: 919
+* 📄 Lines of Documentation: 16
+* 🏷️ Tags: 1
+* 📅 Development Period: 2015-01-02 to 2026-03-07
+* 🏆 Score: 0.2 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: 1.1.3 (2015-01-02)
+
+
+DEPRECATED
+ This project is no longer maintained. No further updates, bug fixes, or
+ feature additions will be made. Use at your own risk.
+
+=> https://codeberg.org/snonux/staticfarm-apache-handlers View on Codeberg
+=> https://github.com/snonux/staticfarm-apache-handlers View on GitHub
+
+---
+
+### 39. sway-autorotate 39↙38
+
+* 💻 Languages: Shell (100.0%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 8
+* 📈 Lines of Code: 41
+* 📄 Lines of Documentation: 17
+* 🏷️ Tags: 0
+* 📅 Development Period: 2020-01-30 to 2025-04-30
+* 🏆 Score: 0.2 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: GPL-3.0
+* 🧪 Status: Experimental (no releases yet)
+
+
+This is a fork of https://github.com/tedk0n/autorotate_sway_script
+
+=> https://codeberg.org/snonux/sway-autorotate View on Codeberg
+=> https://github.com/snonux/sway-autorotate View on GitHub
+
+---
+
+### 40. mon 40↙39
+
+* 💻 Languages: Perl (96.5%), Shell (1.8%), Make (1.2%), Config (0.4%)
+* 📚 Documentation: Text (100.0%)
+* 📊 Commits: 8
+* 📈 Lines of Code: 5360
+* 📄 Lines of Documentation: 793
+* 🏷️ Tags: 2
+* 📅 Development Period: 2015-01-02 to 2026-03-07
+* 🏆 Score: 0.2 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: 1.0.1 (2015-01-02)
+
+
+DEPRECATED
+ This project is no longer maintained. No further updates, bug fixes, or
+ feature additions will be made. Use at your own risk.
+
+=> https://codeberg.org/snonux/mon View on Codeberg
+=> https://github.com/snonux/mon View on GitHub
+
+---
+
+### 41. fapi 41↖44
+
+* 💻 Languages: Python (96.6%), Make (3.1%), Config (0.3%)
+* 📚 Documentation: Text (98.3%), Markdown (1.7%)
+* 📊 Commits: 222
+* 📈 Lines of Code: 1681
+* 📄 Lines of Documentation: 543
+* 🏷️ Tags: 32
+* 📅 Development Period: 2014-03-10 to 2026-03-07
+* 🏆 Score: 0.2 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: 1.0.2 (2014-11-17)
+
+
+DEPRECATED
+ This project is no longer maintained. No further updates, bug fixes, or
+ feature additions will be made. Use at your own risk.
+
+=> https://codeberg.org/snonux/fapi View on Codeberg
+=> https://github.com/snonux/fapi View on GitHub
+
+---
+
+### 42. pingdomfetch 42↙41
+
+* 💻 Languages: Perl (97.3%), Make (2.7%)
+* 📚 Documentation: Text (100.0%)
+* 📊 Commits: 10
+* 📈 Lines of Code: 1839
+* 📄 Lines of Documentation: 416
+* 🏷️ Tags: 3
+* 📅 Development Period: 2015-01-02 to 2026-03-07
+* 🏆 Score: 0.1 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: 1.0.2 (2015-01-02)
+
+
+DEPRECATED
+ This project is no longer maintained. No further updates, bug fixes, or
+ feature additions will be made. Use at your own risk.
+
+=> https://codeberg.org/snonux/pingdomfetch View on Codeberg
+=> https://github.com/snonux/pingdomfetch View on GitHub
+
+---
+
+### 43. fype 43↙37
+
+* 💻 Languages: C (77.3%), C/C++ (13.1%), HTML (7.5%), Make (2.1%)
+* 📚 Documentation: Text (65.8%), LaTeX (20.5%), Markdown (13.7%)
+* 📊 Commits: 120
+* 📈 Lines of Code: 7904
+* 📄 Lines of Documentation: 2774
+* 🏷️ Tags: 0
+* 📅 Development Period: 2008-05-15 to 2026-02-28
+* 🏆 Score: 0.1 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: Custom License
+* 🧪 Status: Experimental (no releases yet)
+
+
+**F**or **Y**our **P**rogram **E**xecution — a lightweight scripting language.
+
+=> https://codeberg.org/snonux/fype View on Codeberg
+=> https://github.com/snonux/fype View on GitHub
+
+---
+
+### 44. pwgrep 44↖50
+
+* 💻 Languages: Shell (85.0%), Make (15.0%)
+* 📚 Documentation: Text (75.0%), Markdown (25.0%)
+* 📊 Commits: 143
+* 📈 Lines of Code: 493
+* 📄 Lines of Documentation: 28
+* 🏷️ Tags: 33
+* 📅 Development Period: 2009-09-27 to 2026-03-07
+* 🏆 Score: 0.1 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: 0.9.3 (2014-06-14)
+
+
+> **⚠️ DEPRECATED:** This project is no longer maintained. No further updates, bug fixes, or feature additions will be made. Use at your own risk.
+
+=> https://codeberg.org/snonux/pwgrep View on Codeberg
+=> https://github.com/snonux/pwgrep View on GitHub
+
+---
+
+### 45. xerl 45↙42
+
+* 💻 Languages: Perl (98.3%), Config (1.2%), Make (0.5%)
+* 📊 Commits: 671
+* 📈 Lines of Code: 1675
+* 🏷️ Tags: 1
+* 📅 Development Period: 2011-03-06 to 2026-03-07
+* 🏆 Score: 0.1 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: Custom License
+* 🏷️ Latest Release: v1.0.0 (2018-12-22)
+
+
+Those are the host templates to be used with Xerl itself.
+
+=> https://codeberg.org/snonux/xerl View on Codeberg
+=> https://github.com/snonux/xerl View on GitHub
+
+---
+
+### 46. awksite 46↖61
+
+* 💻 Languages: AWK (72.1%), HTML (16.4%), Config (11.5%)
+* 📚 Documentation: Text (50.0%), Markdown (50.0%)
+* 📊 Commits: 4
+* 📈 Lines of Code: 122
+* 📄 Lines of Documentation: 12
+* 🏷️ Tags: 2
+* 📅 Development Period: 2011-01-27 to 2026-03-07
+* 🏆 Score: 0.1 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: v0.2 (2011-01-27)
+
+
+> **⚠️ DEPRECATED:** This project is no longer maintained. No further updates, bug fixes, or feature additions will be made. Use at your own risk.
+
+=> https://codeberg.org/snonux/awksite View on Codeberg
+=> https://github.com/snonux/awksite View on GitHub
+
+---
+
+### 47. gotop 47↖48
+
+* 💻 Languages: Go (98.0%), Make (2.0%)
+* 📚 Documentation: Markdown (60.0%), Text (40.0%)
+* 📊 Commits: 58
+* 📈 Lines of Code: 499
+* 📄 Lines of Documentation: 10
+* 🏷️ Tags: 1
+* 📅 Development Period: 2015-05-24 to 2026-03-07
+* 🏆 Score: 0.1 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: 0.1 (2015-06-01)
+
+
+> **⚠️ DEPRECATED:** This project is no longer maintained. No further updates, bug fixes, or feature additions will be made. Use at your own risk.
+
+=> https://codeberg.org/snonux/gotop View on Codeberg
+=> https://github.com/snonux/gotop View on GitHub
+
+---
+
+### 48. japi 48↖53
+
+* 💻 Languages: Perl (78.3%), Make (21.7%)
+* 📚 Documentation: Text (100.0%)
+* 📊 Commits: 42
+* 📈 Lines of Code: 286
+* 📄 Lines of Documentation: 148
+* 🏷️ Tags: 12
+* 📅 Development Period: 2013-03-22 to 2026-03-07
+* 🏆 Score: 0.1 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: 0.4.3 (2014-06-16)
+
+
+DEPRECATED
+ This project is no longer maintained. No further updates, bug fixes, or
+ feature additions will be made. Use at your own risk.
+
+=> https://codeberg.org/snonux/japi View on Codeberg
+=> https://github.com/snonux/japi View on GitHub
+
+---
+
+### 49. perldaemon 49↖51
+
+* 💻 Languages: Perl (72.7%), Shell (23.9%), Config (3.4%)
+* 📊 Commits: 111
+* 📈 Lines of Code: 611
+* 🏷️ Tags: 6
+* 📅 Development Period: 2011-02-05 to 2026-03-07
+* 🏆 Score: 0.1 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: Custom License
+* 🏷️ Latest Release: v1.4 (2022-04-29)
+
+
+PerlDaemon is a minimal daemon for Linux and other UNIX a like operating system
+programmed in Perl. It can be extended to fit any task...
+
+=> https://codeberg.org/snonux/perldaemon View on Codeberg
+=> https://github.com/snonux/perldaemon View on GitHub
+
+---
+
+### 50. rubyfy 50↙49
+
+* 💻 Languages: Ruby (98.5%), JSON (1.5%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 35
+* 📈 Lines of Code: 273
+* 📄 Lines of Documentation: 34
+* 🏷️ Tags: 1
+* 📅 Development Period: 2015-09-29 to 2026-03-07
+* 🏆 Score: 0.1 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: Apache-2.0
+* 🏷️ Latest Release: 0 (2015-10-26)
+
+
+> **⚠️ DEPRECATED:** This project is no longer maintained. No further updates, bug fixes, or feature additions will be made. Use at your own risk.
+
+=> https://codeberg.org/snonux/rubyfy View on Codeberg
+=> https://github.com/snonux/rubyfy View on GitHub
+
+---
+
+### 51. perl-c-fibonacci 51↙45
+
+* 💻 Languages: C (80.4%), Make (19.6%)
+* 📚 Documentation: Text (100.0%)
+* 📊 Commits: 4
+* 📈 Lines of Code: 51
+* 📄 Lines of Documentation: 69
+* 🏷️ Tags: 0
+* 📅 Development Period: 2014-03-24 to 2022-04-23
+* 🏆 Score: 0.1 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🧪 Status: Experimental (no releases yet)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+perl-c-fibonacci: source code repository.
+
+=> https://codeberg.org/snonux/perl-c-fibonacci View on Codeberg
+=> https://github.com/snonux/perl-c-fibonacci View on GitHub
+
+---
+
+### 52. netdiff 52↖56
+
+* 💻 Languages: Shell (52.2%), Make (46.3%), Config (1.5%)
+* 📚 Documentation: Text (100.0%)
+* 📊 Commits: 43
+* 📈 Lines of Code: 134
+* 📄 Lines of Documentation: 110
+* 🏷️ Tags: 10
+* 📅 Development Period: 2013-03-22 to 2026-03-07
+* 🏆 Score: 0.1 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: 0.1.5 (2014-06-22)
+
+
+DEPRECATED
+ This project is no longer maintained. No further updates, bug fixes, or
+ feature additions will be made. Use at your own risk.
+
+=> https://codeberg.org/snonux/netdiff View on Codeberg
+=> https://github.com/snonux/netdiff View on GitHub
+
+---
+
+### 53. jsmstrade 53↙52
+
+* 💻 Languages: Java (76.0%), Shell (15.4%), XML (8.6%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 21
+* 📈 Lines of Code: 720
+* 📄 Lines of Documentation: 8
+* 🏷️ Tags: 3
+* 📅 Development Period: 2008-06-21 to 2026-03-07
+* 🏆 Score: 0.1 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: Custom License
+* 🏷️ Latest Release: v0.3 (2009-02-08)
+
+
+=> showcase/jsmstrade/image-1.png jsmstrade screenshot
+
+> **⚠️ DEPRECATED:** This project is no longer maintained. No further updates, bug fixes, or feature additions will be made. Use at your own risk.
+
+=> https://codeberg.org/snonux/jsmstrade View on Codeberg
+=> https://github.com/snonux/jsmstrade View on GitHub
+
+---
+
+### 54. muttdelay 54↖55
+
+* 💻 Languages: Make (47.1%), Shell (46.3%), Vim Script (5.9%), Config (0.7%)
+* 📚 Documentation: Text (100.0%)
+* 📊 Commits: 42
+* 📈 Lines of Code: 136
+* 📄 Lines of Documentation: 100
+* 🏷️ Tags: 4
+* 📅 Development Period: 2013-03-22 to 2026-03-07
+* 🏆 Score: 0.1 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: 0.2.0 (2014-07-05)
+
+
+DEPRECATED
+ This project is no longer maintained. No further updates, bug fixes, or
+ feature additions will be made. Use at your own risk.
+
+=> https://codeberg.org/snonux/muttdelay View on Codeberg
+=> https://github.com/snonux/muttdelay View on GitHub
+
+---
+
+### 55. netcalendar 55↙46
+
+* 💻 Languages: Java (83.0%), HTML (12.9%), XML (3.0%), CSS (0.8%), Make (0.2%)
+* 📚 Documentation: Text (89.5%), Markdown (10.5%)
+* 📊 Commits: 51
+* 📈 Lines of Code: 17380
+* 📄 Lines of Documentation: 949
+* 🏷️ Tags: 1
+* 📅 Development Period: 2009-02-07 to 2026-03-07
+* 🏆 Score: 0.1 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: GPL-2.0
+* 🏷️ Latest Release: v0.1 (2009-02-08)
+
+
+=> showcase/netcalendar/image-1.png netcalendar screenshot
+
+> **⚠️ DEPRECATED:** This project is no longer maintained. No further updates, bug fixes, or feature additions will be made. Use at your own risk.
+
+=> https://codeberg.org/snonux/netcalendar View on Codeberg
+=> https://github.com/snonux/netcalendar View on GitHub
+
+---
+
+### 56. cpuinfo 56↖59
+
+* 💻 Languages: Shell (53.2%), Make (46.8%)
+* 📚 Documentation: Text (100.0%)
+* 📊 Commits: 28
+* 📈 Lines of Code: 124
+* 📄 Lines of Documentation: 75
+* 🏷️ Tags: 4
+* 📅 Development Period: 2010-11-05 to 2021-11-05
+* 🏆 Score: 0.1 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: 1.0.2 (2014-06-22)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+cpuinfo - A small and humble tool to print out CPU data
+
+=> https://codeberg.org/snonux/cpuinfo View on Codeberg
+=> https://github.com/snonux/cpuinfo View on GitHub
+
+---
+
+### 57. template 57↖60
+
+* 💻 Languages: Make (89.2%), Shell (10.8%)
+* 📚 Documentation: Text (100.0%)
+* 📊 Commits: 23
+* 📈 Lines of Code: 65
+* 📄 Lines of Documentation: 232
+* 🏷️ Tags: 1
+* 📅 Development Period: 2013-03-22 to 2026-03-07
+* 🏆 Score: 0.1 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: 0.0.0.0 (2013-03-22)
+
+
+DEPRECATED
+ This project is no longer maintained. No further updates, bug fixes, or
+ feature additions will be made. Use at your own risk.
+
+=> https://codeberg.org/snonux/template View on Codeberg
+=> https://github.com/snonux/template View on GitHub
+
+---
+
+### 58. dyndns 58↖62
+
+* 💻 Languages: Shell (100.0%)
+* 📚 Documentation: Text (100.0%)
+* 📊 Commits: 4
+* 📈 Lines of Code: 18
+* 📄 Lines of Documentation: 53
+* 🏷️ Tags: 0
+* 📅 Development Period: 2014-03-24 to 2026-03-07
+* 🏆 Score: 0.1 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🧪 Status: Experimental (no releases yet)
+
+
+DEPRECATED
+ This project is no longer maintained. No further updates, bug fixes, or
+ feature additions will be made. Use at your own risk.
+
+=> https://codeberg.org/snonux/dyndns View on Codeberg
+=> https://github.com/snonux/dyndns View on GitHub
+
+---
+
+### 59. debroid 59↙57
+
+* 💻 Languages: Shell (92.0%), Make (8.0%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 17
+* 📈 Lines of Code: 88
+* 📄 Lines of Documentation: 150
+* 🏷️ Tags: 1
+* 📅 Development Period: 2015-06-18 to 2026-03-07
+* 🏆 Score: 0.1 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🧪 Status: Experimental (no releases yet)
+
+
+=> showcase/debroid/image-1.png debroid screenshot
+
+> **⚠️ DEPRECATED:** This project is no longer maintained. No further updates, bug fixes, or feature additions will be made. Use at your own risk.
+
+=> https://codeberg.org/snonux/debroid View on Codeberg
+=> https://github.com/snonux/debroid View on GitHub
+
+---
+
+### 60. perl-poetry 60↙54
+
+* 💻 Languages: Perl (100.0%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 2
+* 📈 Lines of Code: 191
+* 📄 Lines of Documentation: 8
+* 🏷️ Tags: 0
+* 📅 Development Period: 2014-03-24 to 2014-03-24
+* 🏆 Score: 0.1 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🧪 Status: Experimental (no releases yet)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+Here you find some Poetry written in Perl.
+
+=> https://codeberg.org/snonux/perl-poetry View on Codeberg
+=> https://github.com/snonux/perl-poetry View on GitHub
+
+---
+
+### 61. hsbot 61↙58
+
+* 💻 Languages: Haskell (98.5%), Make (1.5%)
+* 📊 Commits: 81
+* 📈 Lines of Code: 601
+* 🏷️ Tags: 0
+* 📅 Development Period: 2009-11-22 to 2026-03-07
+* 🏆 Score: 0.1 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: Custom License
+* 🧪 Status: Experimental (no releases yet)
+
+
+This project is no longer maintained. No further updates, bug fixes, or
+feature additions will be made. Use at your own risk.
+
+=> https://codeberg.org/snonux/hsbot View on Codeberg
+=> https://github.com/snonux/hsbot View on GitHub
+
+---
+
+### 62. ychat 62↙43
+
+* 📚 Documentation: Text (100.0%)
+* 📊 Commits: 67
+* 📈 Lines of Code: 0
+* 📄 Lines of Documentation: 9
+* 🏷️ Tags: 34
+* 📅 Development Period: 2008-05-15 to 2013-12-15
+* 🏆 Score: 0.0 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: yhttpd-0.7.2 (2013-04-06)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+ychat: source code repository.
+
+=> https://codeberg.org/snonux/ychat View on Codeberg
+=> https://github.com/snonux/ychat View on GitHub
+
+---
+
+### 63. vs-sim 63←63
+
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 412
+* 📈 Lines of Code: 0
+* 📄 Lines of Documentation: 7
+* 🏷️ Tags: 4
+* 📅 Development Period: 2008-05-15 to 2015-05-23
+* 🏆 Score: 0.0 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: v1.0 (2008-08-24)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+VS-Sim is an open source simulator programmed in Java for distributed systems. VS-Sim stands for "Verteilte Systeme Simulator" which is the german translation for "Distributed Sytstems Simulator".
+
+=> https://codeberg.org/snonux/vs-sim View on Codeberg
+=> https://github.com/snonux/vs-sim View on GitHub
+
+---
+
+### 64. foo.zone 64↙6
+
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 3643
+* 📈 Lines of Code: 0
+* 📄 Lines of Documentation: 23
+* 🏷️ Tags: 0
+* 📅 Development Period: 2021-05-21 to 2022-04-02
+* 🏆 Score: 0.0 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🧪 Status: Experimental (no releases yet)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+Each format is in it's own branch in this repository. E.g.:
+
+=> https://codeberg.org/snonux/foo.zone View on Codeberg
+=> https://github.com/snonux/foo.zone View on GitHub
diff --git a/about/index.gmi.new b/about/index.gmi.new
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/about/index.gmi.new
diff --git a/about/resources.gmi b/about/resources.gmi
index b9c560b6..8e2f0cc2 100644
--- a/about/resources.gmi
+++ b/about/resources.gmi
@@ -36,110 +36,110 @@ You won't find any links on this site because, over time, the links will break.
In random order:
-* The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional
-* Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press
+* Programming Perl aka "The Camel Book"; Tom Christiansen, brian d foy, Larry Wall & Jon Orwant; O'Reilly
+* Higher Order Perl; Mark Dominus; Morgan Kaufmann
+* Hands-on Infrastructure Monitoring with Prometheus; Joel Bastos, Pedro Araujo; Packt
+* The Docker Book; James Turnbull; Kindle
+* Effective awk programming; Arnold Robbins; O'Reilly
+* Programming Ruby 3.3 (5th Edition); Noel Rappin, with Dave Thomas; The Pragmatic Bookshelf
+* DNS and BIND; Cricket Liu; O'Reilly
* DevOps And Site Reliability Engineering Handbook; Stephen Fleming; Audible
-* Chaos Engineering - System Resiliency in Practice; Casey Rosenthal and Nora Jones; eBook
+* Java ist auch eine Insel; Christian Ullenboom;
+* Concurrency in Go; Katherine Cox-Buday; O'Reilly
* Perl New Features; Joshua McAdams, brian d foy; Perl School
+* C++ Programming Language; Bjarne Stroustrup;
+* 21st Century C: C Tips from the New School; Ben Klemens; O'Reilly
+* Leanring eBPF; Liz Rice; O'Reilly
+* 100 Go Mistakes and How to Avoid Them; Teiva Harsanyi; Manning Publications
+* Amazon Web Services in Action; Michael Wittig and Andreas Wittig; Manning Publications
* Go Brain Teasers - Exercise Your Mind; Miki Tebeka; The Pragmatic Programmers
-* Kubernetes Cookbook; Sameer Naik, Sébastien Goasguen, Jonathan Michaux; O'Reilly
+* Tmux 2: Productive Mouse-free Development; Brain P. Hogan; The Pragmatic Programmers
+* Systemprogrammierung in Go; Frank Müller; dpunkt
+* The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional
+* Raku Recipes; J.J. Merelo; Apress
+* Raku Fundamentals; Moritz Lenz; Apress
* Object-Oriented Programming with ANSI-C; Axel-Tobias Schreiner
-* The KCNA (Kubernetes and Cloud Native Associate) Book; Nigel Poulton
* The DevOps Handbook; Gene Kim, Jez Humble, Patrick Debois, John Willis; Audible
-* Funktionale Programmierung; Peter Pepper; Springer
+* The Pragmatic Programmer; David Thomas; Addison-Wesley
+* The Kubernetes Book; Nigel Poulton; Unabridged Audiobook
+* Ultimate Go Notebook; Bill Kennedy
+* Pro Puppet; James Turnbull, Jeffrey McCune; Apress
+* Clusterbau mit Linux-HA; Michael Schwartzkopff; O'Reilly
* Site Reliability Engineering; How Google runs production systems; O'Reilly
-* Higher Order Perl; Mark Dominus; Morgan Kaufmann
* Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O'Reilly
+* The KCNA (Kubernetes and Cloud Native Associate) Book; Nigel Poulton
+* Distributed Systems: Principles and Paradigms; Andrew S. Tanenbaum; Pearson
+* Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press
+* Polished Ruby Programming; Jeremy Evans; Packt Publishing
+* Chaos Engineering - System Resiliency in Practice; Casey Rosenthal and Nora Jones; eBook
* Modern Perl; Chromatic ; Onyx Neon Press
-* The Kubernetes Book; Nigel Poulton; Unabridged Audiobook
-* The Docker Book; James Turnbull; Kindle
-* Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press
-* Raku Recipes; J.J. Merelo; Apress
-* Tmux 2: Productive Mouse-free Development; Brain P. Hogan; The Pragmatic Programmers
-* Clusterbau mit Linux-HA; Michael Schwartzkopff; O'Reilly
-* Programming Ruby 3.3 (5th Edition); Noel Rappin, with Dave Thomas; The Pragmatic Bookshelf
-* The Pragmatic Programmer; David Thomas; Addison-Wesley
-* Seeking SRE: Conversations About Running Production Systems at Scale; David N. Blank-Edelman; eBook
+* Effective Java; Joshua Bloch; Addison-Wesley Professional
+* Funktionale Programmierung; Peter Pepper; Springer
+* Kubernetes Cookbook; Sameer Naik, Sébastien Goasguen, Jonathan Michaux; O'Reilly
* 97 things every SRE should know; Emil Stolarsky, Jaime Woo; O'Reilly
+* Learn You a Haskell for Great Good!; Miran Lipovaca; 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
-* 100 Go Mistakes and How to Avoid Them; Teiva Harsanyi; Manning Publications
-* Programming Perl aka "The Camel Book"; Tom Christiansen, brian d foy, Larry Wall & Jon Orwant; O'Reilly
-* Terraform Cookbook; Mikael Krief; Packt Publishing
-* DNS and BIND; Cricket Liu; O'Reilly
-* Distributed Systems: Principles and Paradigms; Andrew S. Tanenbaum; Pearson
-* Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O'Reilly
-* Raku Fundamentals; Moritz Lenz; Apress
-* Effective awk programming; Arnold Robbins; O'Reilly
+* Seeking SRE: Conversations About Running Production Systems at Scale; David N. Blank-Edelman; eBook
* Developing Games in Java; David Brackeen and others...; New Riders
-* C++ Programming Language; Bjarne Stroustrup;
-* Effective Java; Joshua Bloch; Addison-Wesley Professional
-* Pro Puppet; James Turnbull, Jeffrey McCune; Apress
-* Hands-on Infrastructure Monitoring with Prometheus; Joel Bastos, Pedro Araujo; Packt
-* Amazon Web Services in Action; Michael Wittig and Andreas Wittig; Manning Publications
-* Systemprogrammierung in Go; Frank Müller; dpunkt
-* Leanring eBPF; Liz Rice; O'Reilly
-* Concurrency in Go; Katherine Cox-Buday; O'Reilly
-* Polished Ruby Programming; Jeremy Evans; Packt Publishing
+* Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O'Reilly
+* Terraform Cookbook; Mikael Krief; Packt Publishing
* Data Science at the Command Line; Jeroen Janssens; O'Reilly
-* Ultimate Go Notebook; Bill Kennedy
-* 21st Century C: C Tips from the New School; Ben Klemens; O'Reilly
-* Java ist auch eine Insel; Christian Ullenboom;
## Technical references
I didn't read them from the beginning to the end, but I am using them to look up things. The books are in random order:
-* Go: Design Patterns for Real-World Projects; Mat Ryer; Packt
-* Groovy Kurz & Gut; Joerg Staudemeier; O'Reilly
-* The Linux Programming Interface; Michael Kerrisk; No Starch Press
-* Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O'Reilly
+* Implementing Service Level Objectives; Alex Hidalgo; O'Reilly
* Algorithms; Robert Sedgewick, Kevin Wayne; Addison Wesley
+* The Linux Programming Interface; Michael Kerrisk; No Starch Press
+* Groovy Kurz & Gut; Joerg Staudemeier; O'Reilly
* Relayd and Httpd Mastery; Michael W Lucas
+* Go: Design Patterns for Real-World Projects; Mat Ryer; Packt
+* Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O'Reilly
* BPF Performance Tools - Linux System and Application Observability, Brendan Gregg; Addison Wesley
-* Implementing Service Level Objectives; Alex Hidalgo; O'Reilly
## Self-development and soft-skills books
In random order:
-* So Good They Can't Ignore You; Cal Newport; Business Plus
-* The Complete Software Developer's Career Guide; John Sonmez; Unabridged Audiobook
-* Consciousness: A Very Short Introduction; Susan Blackmore; Oxford Uiversity Press
-* Never Split the Difference; Chris Voss, Tahl Raz; Random House Business
-* 101 Essays that change the way you think; Brianna Wiest; Audiobook
* Slow Productivity; Cal Newport; Penguin Random House
+* The Complete Software Developer's Career Guide; John Sonmez; Unabridged Audiobook
+* The Phoenix Project - A Novel About IT, DevOps, and Helping your Business Win; Gene Kim and Kevin Behr; Trade Select
* Eat That Frog; Brian Tracy
-* The Obstacle Is The Way; Ryan Holiday; Profile Books Ltd
-* Ultralearning; Anna Laurent; Self-published via Amazon
-* Staff Engineer: Leadership beyond the management track; Will Larson; Audiobook
-* Digital Minimalism; Cal Newport; Portofolio Penguin
+* Meditation for Mortals, Oliver Burkeman, Audiobook
+* 101 Essays that change the way you think; Brianna Wiest; Audiobook
+* Psycho-Cybernetics; Maxwell Maltz; Perigee Books
+* Buddah and Einstein walk into a Bar; Guy Joseph Ale, Claire Bloom; Blackstone Publishing
+* Consciousness: A Very Short Introduction; Susan Blackmore; Oxford Uiversity Press
* The 7 Habits Of Highly Effective People; Stephen R. Covey; Simon & Schuster UK
-* The Joy of Missing Out; Christina Crook; New Society Publishers
-* The Good Enough Job; Simone Stolzoff; Ebury Edge
-* Soft Skills; John Sommez; Manning Publications
-* 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
-* Ultralearning; Scott Young; Thorsons
-* Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly
-* The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books
+* Ultralearning; Anna Laurent; Self-published via Amazon
* The Software Engineer's Guidebook: Navigating senior, tech lead, and staff engineer positions at tech companies and startups; Gergely Orosz; Audiobook
-* Psycho-Cybernetics; Maxwell Maltz; Perigee Books
-* 97 Things Every Engineering Manager Should Know; Camille Fournier; Audiobook
+* The Courage to Be Disliked; Ichiro Kishimi and Fumitake Koga; Audiobook
+* So Good They Can't Ignore You; Cal Newport; Business Plus
* Eat That Frog!; Brian Tracy; Hodder Paperbacks
-* Buddah and Einstein walk into a Bar; Guy Joseph Ale, Claire Bloom; Blackstone Publishing
-* Atomic Habits; James Clear; Random House Business
-* Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion
+* Stop starting, start finishing; Arne Roock; Lean-Kanban University
+* Never Split the Difference; Chris Voss, Tahl Raz; Random House Business
+* The Off Switch; Mark Cropley; Virgin Books (RE-READ 1ST TIME)
+* Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly
* The Power of Now; Eckhard Tolle; Yellow Kite
-* The Courage to Be Disliked; Ichiro Kishimi and Fumitake Koga; Audiobook
* Deep Work; Cal Newport; Piatkus
+* Coders at Work - Reflections on the craft of programming, Peter Seibel and Mitchell Dorian et al., Audiobook
+* The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books
+* Staff Engineer: Leadership beyond the management track; Will Larson; Audiobook
+* Soft Skills; John Sommez; Manning Publications
+* The Obstacle Is The Way; Ryan Holiday; Profile Books Ltd
+* Getting Things Done; David Allen
+* The Good Enough Job; Simone Stolzoff; Ebury Edge
+* Atomic Habits; James Clear; Random House Business
+* The Bullet Journal Method; Ryder Carroll; Fourth Estate
+* The Joy of Missing Out; Christina Crook; New Society Publishers
+* Solve for Happy; Mo Gawdat (RE-READ 1ST TIME)
+* Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion
+* 97 Things Every Engineering Manager Should Know; Camille Fournier; Audiobook
* Influence without Authority; A. Cohen, D. Bradford; Wiley
+* Digital Minimalism; Cal Newport; Portofolio Penguin
* Search Inside Yourself - The Unexpected path to Achieving Success, Happiness (and World Peace); Chade-Meng Tan, Daniel Goleman, Jon Kabat-Zinn; HarperOne
-* The Off Switch; Mark Cropley; Virgin Books (RE-READ 1ST TIME)
-* Solve for Happy; Mo Gawdat (RE-READ 1ST TIME)
-* Stop starting, start finishing; Arne Roock; Lean-Kanban University
-* Meditation for Mortals, Oliver Burkeman, Audiobook
-* The Bullet Journal Method; Ryder Carroll; Fourth Estate
-* Getting Things Done; David Allen
+* Ultralearning; Scott Young; Thorsons
=> ../notes/index.gmi Here are notes of mine for some of the books
@@ -147,30 +147,30 @@ In random order:
Some of these were in-person with exams; others were online learning lectures only. In random order:
+* Cloud Operations on AWS - Learn how to configure, deploy, maintain, and troubleshoot your AWS environments; 3-day online live training with labs; Amazon
* Structure and Interpretation of Computer Programs; Harold Abelson and more...;
* MySQL Deep Dive Workshop; 2-day on-site training
+* F5 Loadbalancers Training; 2-day on-site training; F5, Inc.
* Scripting Vim; Damian Conway; O'Reilly Online
-* Protocol buffers; O'Reilly Online
-* Cloud Operations on AWS - Learn how to configure, deploy, maintain, and troubleshoot your AWS environments; 3-day online live training with labs; Amazon
* Functional programming lecture; Remote University of Hagen
-* 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)
+* Apache Tomcat Best Practises; 3-day on-site training
* The Ultimate Kubernetes Bootcamp; School of Devops; O'Reilly Online
-* The Well-Grounded Rubyist Video Edition; David. A. Black; O'Reilly Online
-* Algorithms Video Lectures; Robert Sedgewick; O'Reilly Online
+* Protocol buffers; O'Reilly Online
+* Red Hat Certified System Administrator; Course + certification (Although I had the option, I decided not to take the next course as it is more effective to self learn what I need)
* AWS Immersion Day; Amazon; 1-day interactive online training
-* F5 Loadbalancers Training; 2-day on-site training; F5, Inc.
-* Developing IaC with Terraform (with Live Lessons); O'Reilly Online
-* Apache Tomcat Best Practises; 3-day on-site training
* Linux Security and Isolation APIs Training; Michael Kerrisk; 3-day on-site training
+* Developing IaC with Terraform (with Live Lessons); O'Reilly Online
+* Algorithms Video Lectures; Robert Sedgewick; O'Reilly Online
+* Ultimate Go Programming; Bill Kennedy; O'Reilly Online
+* The Well-Grounded Rubyist Video Edition; David. A. Black; O'Reilly Online
## Technical guides
These are not whole books, but guides (smaller or larger) which I found very useful. in random order:
-* Advanced Bash-Scripting Guide
-* Raku Guide at https://raku.guide
* How CPUs work at https://cpu.land
+* Raku Guide at https://raku.guide
+* Advanced Bash-Scripting Guide
## Podcasts
@@ -178,58 +178,58 @@ These are not whole books, but guides (smaller or larger) which I found very use
In random order:
-* Dev Interrupted
-* Fork Around And Find Out
* BSD Now [BSD]
-* The Changelog Podcast(s)
+* Cup o' Go [Golang]
+* Fallthrough [Golang]
+* Backend Banter
+* Dev Interrupted
+* Hidden Brain
+* The Pragmatic Engineer Podcast
* Pratical AI
+* Deep Questions with Cal Newport
* The ProdCast (Google SRE Podcast)
-* Backend Banter
* Wednesday Wisdom
-* Deep Questions with Cal Newport
-* Cup o' Go [Golang]
+* The Changelog Podcast(s)
* Modern Mentor
* Maintainable
-* The Pragmatic Engineer Podcast
-* Hidden Brain
-* Fallthrough [Golang]
+* Fork Around And Find Out
### Podcasts I liked
I liked them but am not listening to them anymore. The podcasts have either "finished" (no more episodes) or I stopped listening to them due to time constraints or a shift in my interests.
* Go Time (predecessor of fallthrough)
-* Java Pub House
* FLOSS weekly
-* CRE: Chaosradio Express [german]
* Ship It (predecessor of Fork Around And Find Out)
* Modern Mentor
+* CRE: Chaosradio Express [german]
+* Java Pub House
## Newsletters I like
This is a mix of tech and non-tech newsletters I am subscribed to. In random order:
-* Register Spill
-* Changelog News
* The Imperfectionist
-* The Valuable Dev
+* Monospace Mentor
* Golang Weekly
+* VK Newsletter
* The Pragmatic Engineer
-* Ruby Weekly
-* Applied Go Weekly Newsletter
* byteSizeGo
+* Register Spill
* Andreas Brandhorst Newsletter (Sci-Fi author)
-* VK Newsletter
-* Monospace Mentor
+* The Valuable Dev
+* Ruby Weekly
+* Changelog News
+* Applied Go Weekly Newsletter
## 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:
-* LWN (online only)
* freeX (not published anymore)
-* Linux Magazine
+* LWN (online only)
* Linux User
+* Linux Magazine
## YouTube channels
diff --git a/about/showcase.gmi b/about/showcase.gmi
index 747137b0..170f256c 100644
--- a/about/showcase.gmi
+++ b/about/showcase.gmi
@@ -1,6 +1,6 @@
# Project Showcase
-Generated on: 2026-03-12
+Generated on: 2026-03-27
This page showcases my side projects, providing an overview of what each project does, its technical implementation, and key metrics. Each project summary includes information about the programming languages used, development activity, releases, and licensing. The projects are ranked by score, which combines recent activity, project size, tag history, and whether the project has shipped a release.
@@ -9,160 +9,165 @@ This page showcases my side projects, providing an overview of what each project
* ⇢ Project Showcase
* ⇢ ⇢ Overall Statistics
* ⇢ ⇢ Projects
-* ⇢ ⇢ ⇢ 1. ior 1←1
-* ⇢ ⇢ ⇢ 2. timesamurai 2
-* ⇢ ⇢ ⇢ 3. hexai 3↙2
-* ⇢ ⇢ ⇢ 4. dotfiles 4↙3
-* ⇢ ⇢ ⇢ 5. loadbars 5↖47
-* ⇢ ⇢ ⇢ 6. foostore 6↖7
-* ⇢ ⇢ ⇢ 7. epimetheus 7↙4
-* ⇢ ⇢ ⇢ 8. conf 8↙5
-* ⇢ ⇢ ⇢ 9. scifi 9↙8
-* ⇢ ⇢ ⇢ 10. gitsyncer 10↖15
-* ⇢ ⇢ ⇢ 11. log4jbench 11↙9
-* ⇢ ⇢ ⇢ 12. rcm 12↙10
-* ⇢ ⇢ ⇢ 13. yoga 13↙12
-* ⇢ ⇢ ⇢ 14. gogios 14↙11
-* ⇢ ⇢ ⇢ 15. totalrecall 15↙14
-* ⇢ ⇢ ⇢ 16. perc 16↙13
-* ⇢ ⇢ ⇢ 17. tasksamurai 17↙16
-* ⇢ ⇢ ⇢ 18. gos 18←18
-* ⇢ ⇢ ⇢ 19. foostats 19↙17
-* ⇢ ⇢ ⇢ 20. timr 20↙19
-* ⇢ ⇢ ⇢ 21. dtail 21↙20
-* ⇢ ⇢ ⇢ 22. wireguardmeshgenerator 22↖23
-* ⇢ ⇢ ⇢ 23. gemtexter 23↙22
-* ⇢ ⇢ ⇢ 24. goprecords 24←24
-* ⇢ ⇢ ⇢ 25. ds-sim 25↙21
-* ⇢ ⇢ ⇢ 26. quicklogger 26↙25
-* ⇢ ⇢ ⇢ 27. sillybench 27←27
-* ⇢ ⇢ ⇢ 28. terraform 28↙26
-* ⇢ ⇢ ⇢ 29. guprecords 29←29
-* ⇢ ⇢ ⇢ 30. geheim 30←30
-* ⇢ ⇢ ⇢ 31. gorum 31↙28
-* ⇢ ⇢ ⇢ 32. docker-radicale-server 32↙31
-* ⇢ ⇢ ⇢ 33. photoalbum 33↖34
-* ⇢ ⇢ ⇢ 34. randomjournalpage 34↙33
-* ⇢ ⇢ ⇢ 35. ioriot 35←35
-* ⇢ ⇢ ⇢ 36. algorithms 36↙32
-* ⇢ ⇢ ⇢ 37. ipv6test 37↙36
-* ⇢ ⇢ ⇢ 38. staticfarm-apache-handlers 38↖40
-* ⇢ ⇢ ⇢ 39. sway-autorotate 39↙38
-* ⇢ ⇢ ⇢ 40. mon 40↙39
-* ⇢ ⇢ ⇢ 41. fapi 41↖44
-* ⇢ ⇢ ⇢ 42. pingdomfetch 42↙41
-* ⇢ ⇢ ⇢ 43. fype 43↙37
-* ⇢ ⇢ ⇢ 44. pwgrep 44↖50
-* ⇢ ⇢ ⇢ 45. xerl 45↙42
-* ⇢ ⇢ ⇢ 46. awksite 46↖61
-* ⇢ ⇢ ⇢ 47. gotop 47↖48
-* ⇢ ⇢ ⇢ 48. japi 48↖53
-* ⇢ ⇢ ⇢ 49. perldaemon 49↖51
-* ⇢ ⇢ ⇢ 50. rubyfy 50↙49
-* ⇢ ⇢ ⇢ 51. perl-c-fibonacci 51↙45
-* ⇢ ⇢ ⇢ 52. netdiff 52↖56
-* ⇢ ⇢ ⇢ 53. jsmstrade 53↙52
-* ⇢ ⇢ ⇢ 54. muttdelay 54↖55
-* ⇢ ⇢ ⇢ 55. netcalendar 55↙46
-* ⇢ ⇢ ⇢ 56. cpuinfo 56↖59
-* ⇢ ⇢ ⇢ 57. template 57↖60
-* ⇢ ⇢ ⇢ 58. dyndns 58↖62
-* ⇢ ⇢ ⇢ 59. debroid 59↙57
-* ⇢ ⇢ ⇢ 60. perl-poetry 60↙54
-* ⇢ ⇢ ⇢ 61. hsbot 61↙58
-* ⇢ ⇢ ⇢ 62. ychat 62↙43
-* ⇢ ⇢ ⇢ 63. vs-sim 63←63
-* ⇢ ⇢ ⇢ 64. foo.zone 64↙6
+* ⇢ ⇢ ⇢ 1. hexai 1←1↖3↙2
+* ⇢ ⇢ ⇢ 2. gt 2
+* ⇢ ⇢ ⇢ 3. hypr 3
+* ⇢ ⇢ ⇢ 4. dotfiles 4↙3↖4↙3
+* ⇢ ⇢ ⇢ 5. snonux 5
+* ⇢ ⇢ ⇢ 6. dtail 6↙2↖21↙20
+* ⇢ ⇢ ⇢ 7. conf 7↖9↙8↙5
+* ⇢ ⇢ ⇢ 8. ior 8↙4↙1←1
+* ⇢ ⇢ ⇢ 9. timesamurai 9↙5↙2
+* ⇢ ⇢ ⇢ 10. loadbars 10↙6↙5↖47
+* ⇢ ⇢ ⇢ 11. foostore 11↙7↙6↖7
+* ⇢ ⇢ ⇢ 12. ds-sim 12↖25←25↙21
+* ⇢ ⇢ ⇢ 13. epimetheus 13↙8↙7↙4
+* ⇢ ⇢ ⇢ 14. gitsyncer 14↙11↙10↖15
+* ⇢ ⇢ ⇢ 15. scifi 15↙10↙9↙8
+* ⇢ ⇢ ⇢ 16. rcm 16↙12←12↙10
+* ⇢ ⇢ ⇢ 17. yoga 17↙13←13↙12
+* ⇢ ⇢ ⇢ 18. totalrecall 18↙15←15↙14
+* ⇢ ⇢ ⇢ 19. gogios 19↙16↙14↙11
+* ⇢ ⇢ ⇢ 20. log4jbench 20↙14↙11↙9
+* ⇢ ⇢ ⇢ 21. perc 21↙17↙16↙13
+* ⇢ ⇢ ⇢ 22. tasksamurai 22↙18↙17↙16
+* ⇢ ⇢ ⇢ 23. gos 23↙19↙18←18
+* ⇢ ⇢ ⇢ 24. foostats 24↙20↙19↙17
+* ⇢ ⇢ ⇢ 25. timr 25↙21↙20↙19
+* ⇢ ⇢ ⇢ 26. gemtexter 26↙22↖23↙22
+* ⇢ ⇢ ⇢ 27. wireguardmeshgenerator 27↙23↙22↖23
+* ⇢ ⇢ ⇢ 28. goprecords 28↙24←24←24
+* ⇢ ⇢ ⇢ 29. ioriot 29↖34↖35←35
+* ⇢ ⇢ ⇢ 30. quicklogger 30↙26←26↙25
+* ⇢ ⇢ ⇢ 31. sillybench 31↙27←27←27
+* ⇢ ⇢ ⇢ 32. terraform 32↙28←28↙26
+* ⇢ ⇢ ⇢ 33. geheim 33↙29↖30←30
+* ⇢ ⇢ ⇢ 34. gorum 34↙30↖31↙28
+* ⇢ ⇢ ⇢ 35. docker-radicale-server 35↙31↖32↙31
+* ⇢ ⇢ ⇢ 36. photoalbum 36↙32↖33↖34
+* ⇢ ⇢ ⇢ 37. randomjournalpage 37↙33↖34↙33
+* ⇢ ⇢ ⇢ 38. algorithms 38↙35↖36↙32
+* ⇢ ⇢ ⇢ 39. ipv6test 39↙36↖37↙36
+* ⇢ ⇢ ⇢ 40. staticfarm-apache-handlers 40↙37↖38↖40
+* ⇢ ⇢ ⇢ 41. sway-autorotate 41↙38↖39↙38
+* ⇢ ⇢ ⇢ 42. guprecords 42↙39↙29←29
+* ⇢ ⇢ ⇢ 43. mon 43↙40←40↙39
+* ⇢ ⇢ ⇢ 44. fapi 44↙41←41↖44
+* ⇢ ⇢ ⇢ 45. pingdomfetch 45↙42←42↙41
+* ⇢ ⇢ ⇢ 46. fype 46↙43←43↙37
+* ⇢ ⇢ ⇢ 47. pwgrep 47↙44←44↖50
+* ⇢ ⇢ ⇢ 48. xerl 48↙45←45↙42
+* ⇢ ⇢ ⇢ 49. awksite 49↙46←46↖61
+* ⇢ ⇢ ⇢ 50. gotop 50↙47←47↖48
+* ⇢ ⇢ ⇢ 51. japi 51↙48←48↖53
+* ⇢ ⇢ ⇢ 52. rubyfy 52↙49↖50↙49
+* ⇢ ⇢ ⇢ 53. perl-c-fibonacci 53↙50↖51↙45
+* ⇢ ⇢ ⇢ 54. netdiff 54↙51↖52↖56
+* ⇢ ⇢ ⇢ 55. perldaemon 55↙52↙49↖51
+* ⇢ ⇢ ⇢ 56. jsmstrade 56↙53←53↙52
+* ⇢ ⇢ ⇢ 57. muttdelay 57↙54←54↖55
+* ⇢ ⇢ ⇢ 58. netcalendar 58↙55←55↙46
+* ⇢ ⇢ ⇢ 59. vs-sim 59↙56↖63←63
+* ⇢ ⇢ ⇢ 60. cpuinfo 60↙57↙56↖59
+* ⇢ ⇢ ⇢ 61. template 61↙58↙57↖60
+* ⇢ ⇢ ⇢ 62. dyndns 62↙59↙58↖62
+* ⇢ ⇢ ⇢ 63. debroid 63↙60↙59↙57
+* ⇢ ⇢ ⇢ 64. perl-poetry 64↙61↙60↙54
+* ⇢ ⇢ ⇢ 65. hsbot 65↙62↙61↙58
+* ⇢ ⇢ ⇢ 66. ychat 66↙63↙62↙43
+* ⇢ ⇢ ⇢ 67. snonux.foo 67
+* ⇢ ⇢ ⇢ 68. foo.zone 68↙64←64↙6
## Overall Statistics
-* 📦 Total Projects: 64
-* 📊 Total Commits: 13,595
-* 📈 Total Lines of Code: 334,197
-* 📄 Total Lines of Documentation: 46,922
-* 💻 Languages: Go (53.7%), Java (12.3%), C (5.8%), CSS (5.3%), YAML (4.7%), Perl (4.3%), HTML (2.9%), Shell (2.6%), Python (2.1%), C/C++ (1.3%), JSON (1.1%), Config (1.0%), Ruby (0.9%), HCL (0.8%), Make (0.4%), XML (0.2%), Haskell (0.2%), JavaScript (0.1%), Raku (0.1%)
-* 📚 Documentation: Markdown (74.1%), Text (24.7%), LaTeX (1.2%)
-* 🚀 Release Status: 42 released, 22 experimental (65.6% with releases, 34.4% experimental)
+* 📦 Total Projects: 68
+* 📊 Total Commits: 13,714
+* 📈 Total Lines of Code: 386,291
+* 📄 Total Lines of Documentation: 269,903
+* 💻 Languages: Go (57.9%), Java (15.5%), C (5.3%), YAML (4.1%), Perl (3.7%), Shell (2.7%), Ruby (1.9%), TypeScript (1.4%), HTML (1.3%), C/C++ (1.1%), CSS (1.0%), Config (0.8%), Python (0.7%), HCL (0.7%), JSON (0.5%), Make (0.4%), TOML (0.3%), XML (0.2%), Haskell (0.2%), JavaScript (0.1%)
+* 📚 Documentation: Text (82.8%), Markdown (15.9%), LaTeX (1.3%)
+* 🚀 Release Status: 44 released, 24 experimental (64.7% with releases, 35.3% experimental)
## Projects
-### 1. ior 1←1
+### 1. hexai 1←1↖3↙2
-* 💻 Languages: Go (88.9%), C (10.6%), JSON (0.3%), C/C++ (0.2%)
-* 📚 Documentation: Markdown (85.8%), Text (14.2%)
-* 📊 Commits: 732
-* 📈 Lines of Code: 55808
-* 📄 Lines of Documentation: 3394
-* 🏷️ Tags: 0
-* 📅 Development Period: 2024-01-18 to 2026-03-11
-* 🏆 Score: 111.7 (combines recent activity, code size, tags, and release status)
+* 💻 Languages: Go (100.0%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 503
+* 📈 Lines of Code: 43837
+* 📄 Lines of Documentation: 4368
+* 🏷️ Tags: 76
+* 📅 Development Period: 2025-08-01 to 2026-03-27
+* 🏆 Score: 436.8 (combines recent activity, code size, tags, and release status)
* ⚖️ License: No license found
-* 🧪 Status: Experimental (no releases yet)
+* 🏷️ Latest Release: v0.27.1 (2026-03-27)
-=> showcase/ior/image-1.png ior screenshot
+=> showcase/hexai/image-1.png hexai screenshot
-> **🚧 PRE-ALPHA SOFTWARE:** This project is in a pre-alpha state and is intended for my own personal use only. Use at your own risk.
+Hexai, the AI addition for your Helix Editor (https://helix-editor.com) .. Other editors should work but weren't tested.
-=> https://codeberg.org/snonux/ior View on Codeberg
-=> https://github.com/snonux/ior View on GitHub
+=> https://codeberg.org/snonux/hexai View on Codeberg
+=> https://github.com/snonux/hexai View on GitHub
---
-### 2. timesamurai 2
+### 2. gt 2
-* 💻 Languages: Go (99.2%), Shell (0.6%), YAML (0.1%)
+* 💻 Languages: Go (99.4%), YAML (0.6%)
* 📚 Documentation: Markdown (100.0%)
-* 📊 Commits: 91
-* 📈 Lines of Code: 9493
-* 📄 Lines of Documentation: 112
-* 🏷️ Tags: 4
-* 📅 Development Period: 2025-06-25 to 2026-03-07
-* 🏆 Score: 59.3 (combines recent activity, code size, tags, and release status)
+* 📊 Commits: 168
+* 📈 Lines of Code: 10028
+* 📄 Lines of Documentation: 301
+* 🏷️ Tags: 6
+* 📅 Development Period: 2025-11-25 to 2026-03-26
+* 🏆 Score: 219.3 (combines recent activity, code size, tags, and release status)
* ⚖️ License: MIT
-* 🏷️ Latest Release: v0.7.0 (2026-03-05)
+* 🏷️ Latest Release: v0.4.1 (2026-03-26)
-> **🚧 PRE-ALPHA SOFTWARE:** This project is in a pre-alpha state and is intended for my own personal use only. Use at your own risk.
+A simple AI-engineered command-line percentage calculator written in Go. No frontier AI models from Claude, OpenAI, Google, ec, were used for this project. The ones used were:
-=> https://codeberg.org/snonux/timesamurai View on Codeberg
-=> https://github.com/snonux/timesamurai View on GitHub
+=> https://codeberg.org/snonux/gt View on Codeberg
+=> https://github.com/snonux/gt View on GitHub
---
-### 3. hexai 3↙2
+### 3. hypr 3
-* 💻 Languages: Go (100.0%)
+* 💻 Languages: TypeScript (46.4%), Ruby (33.4%), TOML (6.8%), Python (6.6%), Shell (3.5%), JSON (3.3%)
* 📚 Documentation: Markdown (100.0%)
-* 📊 Commits: 377
-* 📈 Lines of Code: 31218
-* 📄 Lines of Documentation: 4089
-* 🏷️ Tags: 50
-* 📅 Development Period: 2025-08-01 to 2026-03-10
-* 🏆 Score: 50.6 (combines recent activity, code size, tags, and release status)
+* 📊 Commits: 69
+* 📈 Lines of Code: 12072
+* 📄 Lines of Documentation: 3062
+* 🏷️ Tags: 0
+* 📅 Development Period: 2026-03-21 to 2026-03-27
+* 🏆 Score: 115.6 (combines recent activity, code size, tags, and release status)
* ⚖️ License: No license found
-* 🏷️ Latest Release: v0.21.0 (2026-02-12)
+* 🧪 Status: Experimental (no releases yet)
-=> showcase/hexai/image-1.png hexai screenshot
+=> showcase/hypr/image-1.svg hypr screenshot
-Hexai, the AI addition for your Helix Editor (https://helix-editor.com) .. Other editors should work but weren't tested.
+Automates Hyperstack GPU VM lifecycle: create, bootstrap, WireGuard tunnel, and vLLM inference.
+Runs two A100 VMs concurrently — each serving a different model — with [Pi](https://pi.dev) coding agents connected to each.
-=> https://codeberg.org/snonux/hexai View on Codeberg
-=> https://github.com/snonux/hexai View on GitHub
+=> https://codeberg.org/snonux/hypr View on Codeberg
+=> https://github.com/snonux/hypr View on GitHub
---
-### 4. dotfiles 4↙3
+### 4. dotfiles 4↙3↖4↙3
-* 💻 Languages: Shell (66.6%), CSS (10.9%), Config (10.1%), TOML (10.0%), JSON (1.1%), Ruby (1.0%), INI (0.2%)
+* 💻 Languages: Shell (65.1%), CSS (10.5%), Config (9.9%), TOML (9.7%), JSON (3.6%), Ruby (1.0%), INI (0.2%)
* 📚 Documentation: Markdown (100.0%)
-* 📊 Commits: 845
-* 📈 Lines of Code: 2990
-* 📄 Lines of Documentation: 5386
+* 📊 Commits: 897
+* 📈 Lines of Code: 3107
+* 📄 Lines of Documentation: 7850
* 🏷️ Tags: 0
-* 📅 Development Period: 2023-07-30 to 2026-03-10
-* 🏆 Score: 35.1 (combines recent activity, code size, tags, and release status)
+* 📅 Development Period: 2023-07-30 to 2026-03-27
+* 🏆 Score: 58.3 (combines recent activity, code size, tags, and release status)
* ⚖️ License: No license found
* 🧪 Status: Experimental (no releases yet)
@@ -174,7 +179,116 @@ These are all my dotfiles. I can install them locally on my laptop and/or workst
---
-### 5. loadbars 5↖47
+### 5. snonux 5
+
+* 💻 Languages: CSS (65.9%), Go (27.0%), HTML (5.8%), TOML (0.6%), XML (0.6%)
+* 📚 Documentation: Markdown (89.3%), Text (10.7%)
+* 📊 Commits: 16
+* 📈 Lines of Code: 3077
+* 📄 Lines of Documentation: 205
+* 🏷️ Tags: 0
+* 📅 Development Period: 2026-03-21 to 2026-03-22
+* 🏆 Score: 51.7 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🧪 Status: Experimental (no releases yet)
+
+
+**WIP** - A microblog generator project
+
+=> https://codeberg.org/snonux/snonux View on Codeberg
+=> https://github.com/snonux/snonux View on GitHub
+
+---
+
+### 6. dtail 6↙2↖21↙20
+
+* 💻 Languages: Go (93.4%), Shell (3.0%), JSON (1.6%), C (1.0%), Make (0.7%), C/C++ (0.2%)
+* 📚 Documentation: Text (98.1%), Markdown (1.9%)
+* 📊 Commits: 640
+* 📈 Lines of Code: 37822
+* 📄 Lines of Documentation: 220523
+* 🏷️ Tags: 27
+* 📅 Development Period: 2020-01-09 to 2026-03-20
+* 🏆 Score: 43.7 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: Apache-2.0
+* 🏷️ Latest Release: v4.3.3 (2024-08-23)
+
+
+=> showcase/dtail/image-1.png dtail screenshot
+
+DTail (a distributed tail program) is a DevOps tool for engineers programmed in Google Go for following (tailing), catting and grepping (including gzip and zstd decompression support) log files on many machines concurrently. An advanced feature of DTail is to execute distributed MapReduce aggregations across many devices.
+
+=> https://codeberg.org/snonux/dtail View on Codeberg
+=> https://github.com/snonux/dtail View on GitHub
+
+---
+
+### 7. conf 7↖9↙8↙5
+
+* 💻 Languages: YAML (82.4%), Perl (10.1%), Shell (3.9%), Python (2.3%), Docker (0.7%), Ruby (0.2%), Config (0.2%), HTML (0.1%)
+* 📚 Documentation: Markdown (97.0%), Text (3.0%)
+* 📊 Commits: 829
+* 📈 Lines of Code: 18770
+* 📄 Lines of Documentation: 6305
+* 🏷️ Tags: 0
+* 📅 Development Period: 2021-12-28 to 2026-03-22
+* 🏆 Score: 31.1 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🧪 Status: Experimental (no releases yet)
+
+
+This is my personal config repository. Including...
+
+=> https://codeberg.org/snonux/conf View on Codeberg
+=> https://github.com/snonux/conf View on GitHub
+
+---
+
+### 8. ior 8↙4↙1←1
+
+* 💻 Languages: Go (89.5%), C (10.0%), JSON (0.3%), C/C++ (0.2%)
+* 📚 Documentation: Markdown (82.7%), Text (17.3%)
+* 📊 Commits: 759
+* 📈 Lines of Code: 58935
+* 📄 Lines of Documentation: 2789
+* 🏷️ Tags: 0
+* 📅 Development Period: 2024-01-18 to 2026-03-19
+* 🏆 Score: 27.1 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🧪 Status: Experimental (no releases yet)
+
+
+=> showcase/ior/image-1.png ior screenshot
+
+> **🚧 PRE-ALPHA SOFTWARE:** This project is in a pre-alpha state and is intended for my own personal use only. Use at your own risk.
+
+=> https://codeberg.org/snonux/ior View on Codeberg
+=> https://github.com/snonux/ior View on GitHub
+
+---
+
+### 9. timesamurai 9↙5↙2
+
+* 💻 Languages: Go (99.3%), Shell (0.6%), YAML (0.1%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 96
+* 📈 Lines of Code: 10363
+* 📄 Lines of Documentation: 112
+* 🏷️ Tags: 5
+* 📅 Development Period: 2025-06-25 to 2026-03-26
+* 🏆 Score: 26.4 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: MIT
+* 🏷️ Latest Release: v0.8.0 (2026-03-26)
+
+
+> **🚧 PRE-ALPHA SOFTWARE:** This project is in a pre-alpha state and is intended for my own personal use only. Use at your own risk.
+
+=> https://codeberg.org/snonux/timesamurai View on Codeberg
+=> https://github.com/snonux/timesamurai View on GitHub
+
+---
+
+### 10. loadbars 10↙6↙5↖47
* 💻 Languages: Go (92.8%), Shell (7.2%)
* 📚 Documentation: Markdown (100.0%)
@@ -183,7 +297,7 @@ These are all my dotfiles. I can install them locally on my laptop and/or workst
* 📄 Lines of Documentation: 328
* 🏷️ Tags: 47
* 📅 Development Period: 2010-11-05 to 2026-03-02
-* 🏆 Score: 25.5 (combines recent activity, code size, tags, and release status)
+* 🏆 Score: 16.0 (combines recent activity, code size, tags, and release status)
* ⚖️ License: Custom License
* 🏷️ Latest Release: v0.11.1 (2026-02-17)
@@ -197,7 +311,7 @@ Loadbars is a tool that can be used to observe CPU loads of several remote serve
---
-### 6. foostore 6↖7
+### 11. foostore 11↙7↙6↖7
* 💻 Languages: Go (98.4%), Shell (1.6%)
* 📚 Documentation: Markdown (100.0%)
@@ -206,7 +320,7 @@ Loadbars is a tool that can be used to observe CPU loads of several remote serve
* 📄 Lines of Documentation: 250
* 🏷️ Tags: 9
* 📅 Development Period: 2018-05-26 to 2026-03-07
-* 🏆 Score: 17.6 (combines recent activity, code size, tags, and release status)
+* 🏆 Score: 12.1 (combines recent activity, code size, tags, and release status)
* ⚖️ License: No license found
* 🏷️ Latest Release: v0.5.3 (2026-03-02)
@@ -218,7 +332,30 @@ Loadbars is a tool that can be used to observe CPU loads of several remote serve
---
-### 7. epimetheus 7↙4
+### 12. ds-sim 12↖25←25↙21
+
+* 💻 Languages: Java (98.6%), Shell (0.9%), CSS (0.4%)
+* 📚 Documentation: Markdown (98.7%), Text (1.3%)
+* 📊 Commits: 473
+* 📈 Lines of Code: 28576
+* 📄 Lines of Documentation: 3101
+* 🏷️ Tags: 2
+* 📅 Development Period: 2008-05-15 to 2026-03-27
+* 🏆 Score: 12.0 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: Custom License
+* 🏷️ Latest Release: 1.1.0 (2026-03-27)
+
+
+=> showcase/ds-sim/image-1.png ds-sim screenshot
+
+DS-Sim is a open-source simulator for distributed systems, written in Java. It provides a powerful environment for simulating and learning about distributed systems concepts.
+
+=> https://codeberg.org/snonux/ds-sim View on Codeberg
+=> https://github.com/snonux/ds-sim View on GitHub
+
+---
+
+### 13. epimetheus 13↙8↙7↙4
* 💻 Languages: Go (85.2%), Shell (14.8%)
* 📚 Documentation: Markdown (100.0%)
@@ -227,7 +364,7 @@ Loadbars is a tool that can be used to observe CPU loads of several remote serve
* 📄 Lines of Documentation: 1736
* 🏷️ Tags: 0
* 📅 Development Period: 2026-02-07 to 2026-03-07
-* 🏆 Score: 14.5 (combines recent activity, code size, tags, and release status)
+* 🏆 Score: 9.1 (combines recent activity, code size, tags, and release status)
* ⚖️ License: No license found
* 🧪 Status: Experimental (no releases yet)
@@ -241,60 +378,18 @@ Loadbars is a tool that can be used to observe CPU loads of several remote serve
---
-### 8. conf 8↙5
-
-* 💻 Languages: YAML (80.7%), Perl (9.9%), Shell (6.0%), Python (2.3%), Docker (0.7%), Config (0.2%), HTML (0.1%)
-* 📚 Documentation: Markdown (97.1%), Text (2.9%)
-* 📊 Commits: 791
-* 📈 Lines of Code: 19132
-* 📄 Lines of Documentation: 6572
-* 🏷️ Tags: 0
-* 📅 Development Period: 2021-12-28 to 2026-02-15
-* 🏆 Score: 11.3 (combines recent activity, code size, tags, and release status)
-* ⚖️ License: No license found
-* 🧪 Status: Experimental (no releases yet)
-
-
-This is my personal config repository. Including...
-
-=> https://codeberg.org/snonux/conf View on Codeberg
-=> https://github.com/snonux/conf View on GitHub
-
----
-
-### 9. scifi 9↙8
-
-* 💻 Languages: JSON (35.9%), CSS (30.6%), JavaScript (29.6%), HTML (3.8%)
-* 📚 Documentation: Markdown (100.0%)
-* 📊 Commits: 23
-* 📈 Lines of Code: 1664
-* 📄 Lines of Documentation: 853
-* 🏷️ Tags: 0
-* 📅 Development Period: 2026-01-25 to 2026-01-27
-* 🏆 Score: 7.2 (combines recent activity, code size, tags, and release status)
-* ⚖️ License: No license found
-* 🧪 Status: Experimental (no releases yet)
-
-
-A static HTML page showcasing a science fiction book collection. Works fully offline with all assets stored locally.
-
-=> https://codeberg.org/snonux/scifi View on Codeberg
-=> https://github.com/snonux/scifi View on GitHub
-
----
-
-### 10. gitsyncer 10↖15
+### 14. gitsyncer 14↙11↙10↖15
-* 💻 Languages: Go (93.4%), Shell (6.3%), JSON (0.3%)
+* 💻 Languages: Go (93.5%), Shell (6.2%), JSON (0.3%)
* 📚 Documentation: Markdown (100.0%)
-* 📊 Commits: 132
-* 📈 Lines of Code: 11821
+* 📊 Commits: 137
+* 📈 Lines of Code: 11973
* 📄 Lines of Documentation: 2456
-* 🏷️ Tags: 34
-* 📅 Development Period: 2025-06-23 to 2026-03-11
-* 🏆 Score: 5.5 (combines recent activity, code size, tags, and release status)
+* 🏷️ Tags: 38
+* 📅 Development Period: 2025-06-23 to 2026-03-19
+* 🏆 Score: 6.3 (combines recent activity, code size, tags, and release status)
* ⚖️ License: BSD-2-Clause
-* 🏷️ Latest Release: v0.15.4 (2026-03-11)
+* 🏷️ Latest Release: v0.15.8 (2026-03-19)
GitSyncer is a tool for synchronizing git repositories between multiple organizations (e.g., GitHub and Codeberg). It automatically keeps all branches in sync across different git hosting platforms.
@@ -304,37 +399,37 @@ GitSyncer is a tool for synchronizing git repositories between multiple organiza
---
-### 11. log4jbench 11↙9
+### 15. scifi 15↙10↙9↙8
-* 💻 Languages: Java (78.9%), XML (21.1%)
+* 💻 Languages: JSON (36.6%), JavaScript (30.2%), CSS (29.6%), HTML (3.7%)
* 📚 Documentation: Markdown (100.0%)
-* 📊 Commits: 4
-* 📈 Lines of Code: 774
-* 📄 Lines of Documentation: 119
+* 📊 Commits: 27
+* 📈 Lines of Code: 1724
+* 📄 Lines of Documentation: 874
* 🏷️ Tags: 0
-* 📅 Development Period: 2026-01-09 to 2026-01-09
-* 🏆 Score: 5.1 (combines recent activity, code size, tags, and release status)
-* ⚖️ License: MIT
+* 📅 Development Period: 2026-01-25 to 2026-03-13
+* 🏆 Score: 6.2 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
* 🧪 Status: Experimental (no releases yet)
-A minimal Java tool to benchmark Log4j2 logging throughput with configurable concurrent threads and various logging configurations.
+A static HTML page showcasing a science fiction book collection. Works fully offline with all assets stored locally.
-=> https://codeberg.org/snonux/log4jbench View on Codeberg
-=> https://github.com/snonux/log4jbench View on GitHub
+=> https://codeberg.org/snonux/scifi View on Codeberg
+=> https://github.com/snonux/scifi View on GitHub
---
-### 12. rcm 12↙10
+### 16. rcm 16↙12←12↙10
* 💻 Languages: Ruby (99.6%), TOML (0.4%)
* 📚 Documentation: Markdown (100.0%)
-* 📊 Commits: 109
+* 📊 Commits: 113
* 📈 Lines of Code: 1719
* 📄 Lines of Documentation: 778
* 🏷️ Tags: 3
* 📅 Development Period: 2024-12-05 to 2026-03-02
-* 🏆 Score: 5.0 (combines recent activity, code size, tags, and release status)
+* 🏆 Score: 4.3 (combines recent activity, code size, tags, and release status)
* ⚖️ License: Custom License
* 🏷️ Latest Release: v0.1.1 (2026-03-01)
@@ -348,7 +443,7 @@ A KISS (Keep It Simple, Stupid) configuration management system written in Ruby,
---
-### 13. yoga 13↙12
+### 17. yoga 17↙13←13↙12
* 💻 Languages: Go (69.1%), HTML (30.9%)
* 📚 Documentation: Markdown (100.0%)
@@ -357,7 +452,7 @@ A KISS (Keep It Simple, Stupid) configuration management system written in Ruby,
* 📄 Lines of Documentation: 196
* 🏷️ Tags: 9
* 📅 Development Period: 2025-10-01 to 2026-03-07
-* 🏆 Score: 4.8 (combines recent activity, code size, tags, and release status)
+* 🏆 Score: 4.3 (combines recent activity, code size, tags, and release status)
* ⚖️ License: No license found
* 🏷️ Latest Release: v0.4.0 (2026-01-28)
@@ -371,7 +466,30 @@ A KISS (Keep It Simple, Stupid) configuration management system written in Ruby,
---
-### 14. gogios 14↙11
+### 18. totalrecall 18↙15←15↙14
+
+* 💻 Languages: Go (99.0%), Shell (0.5%), YAML (0.4%)
+* 📚 Documentation: Markdown (99.5%), Text (0.5%)
+* 📊 Commits: 109
+* 📈 Lines of Code: 13424
+* 📄 Lines of Documentation: 377
+* 🏷️ Tags: 18
+* 📅 Development Period: 2025-07-14 to 2026-03-08
+* 🏆 Score: 4.2 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: MIT
+* 🏷️ Latest Release: v0.8.3 (2026-03-08)
+
+
+=> showcase/totalrecall/image-1.png totalrecall screenshot
+
+`totalrecall` is a versatile tool for generating Anki flashcard materials from Bulgarian words. It offers both a command-line interface (CLI) and a graphical user interface (GUI) for creating audio pronunciation files and AI-generated images.
+
+=> https://codeberg.org/snonux/totalrecall View on Codeberg
+=> https://github.com/snonux/totalrecall View on GitHub
+
+---
+
+### 19. gogios 19↙16↙14↙11
* 💻 Languages: Go (98.9%), JSON (0.6%), YAML (0.5%)
* 📚 Documentation: Markdown (94.9%), Text (5.1%)
@@ -380,7 +498,7 @@ A KISS (Keep It Simple, Stupid) configuration management system written in Ruby,
* 📄 Lines of Documentation: 394
* 🏷️ Tags: 10
* 📅 Development Period: 2023-04-17 to 2026-02-16
-* 🏆 Score: 4.7 (combines recent activity, code size, tags, and release status)
+* 🏆 Score: 4.2 (combines recent activity, code size, tags, and release status)
* ⚖️ License: Custom License
* 🏷️ Latest Release: v1.4.1 (2026-02-16)
@@ -394,30 +512,28 @@ Gogios is a lightweight and minimalistic monitoring tool not designed for large-
---
-### 15. totalrecall 15↙14
+### 20. log4jbench 20↙14↙11↙9
-* 💻 Languages: Go (99.0%), Shell (0.5%), YAML (0.4%)
-* 📚 Documentation: Markdown (99.5%), Text (0.5%)
-* 📊 Commits: 109
-* 📈 Lines of Code: 13424
-* 📄 Lines of Documentation: 377
-* 🏷️ Tags: 18
-* 📅 Development Period: 2025-07-14 to 2026-03-08
-* 🏆 Score: 4.7 (combines recent activity, code size, tags, and release status)
+* 💻 Languages: Java (78.9%), XML (21.1%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 4
+* 📈 Lines of Code: 774
+* 📄 Lines of Documentation: 119
+* 🏷️ Tags: 0
+* 📅 Development Period: 2026-01-09 to 2026-01-09
+* 🏆 Score: 4.1 (combines recent activity, code size, tags, and release status)
* ⚖️ License: MIT
-* 🏷️ Latest Release: v0.8.3 (2026-03-08)
-
+* 🧪 Status: Experimental (no releases yet)
-=> showcase/totalrecall/image-1.png totalrecall screenshot
-`totalrecall` is a versatile tool for generating Anki flashcard materials from Bulgarian words. It offers both a command-line interface (CLI) and a graphical user interface (GUI) for creating audio pronunciation files and AI-generated images.
+A minimal Java tool to benchmark Log4j2 logging throughput with configurable concurrent threads and various logging configurations.
-=> https://codeberg.org/snonux/totalrecall View on Codeberg
-=> https://github.com/snonux/totalrecall View on GitHub
+=> https://codeberg.org/snonux/log4jbench View on Codeberg
+=> https://github.com/snonux/log4jbench View on GitHub
---
-### 16. perc 16↙13
+### 21. perc 21↙17↙16↙13
* 💻 Languages: Go (100.0%)
* 📚 Documentation: Markdown (100.0%)
@@ -426,7 +542,7 @@ Gogios is a lightweight and minimalistic monitoring tool not designed for large-
* 📄 Lines of Documentation: 80
* 🏷️ Tags: 3
* 📅 Development Period: 2025-11-25 to 2025-11-25
-* 🏆 Score: 4.3 (combines recent activity, code size, tags, and release status)
+* 🏆 Score: 3.8 (combines recent activity, code size, tags, and release status)
* ⚖️ License: No license found
* 🏷️ Latest Release: v0.1.0 (2025-11-25)
@@ -438,18 +554,18 @@ A simple vibe-coded command-line percentage calculator written in Go.
---
-### 17. tasksamurai 17↙16
+### 22. tasksamurai 22↙18↙17↙16
* 💻 Languages: Go (99.8%), YAML (0.2%)
* 📚 Documentation: Markdown (100.0%)
-* 📊 Commits: 235
-* 📈 Lines of Code: 6567
+* 📊 Commits: 236
+* 📈 Lines of Code: 6577
* 📄 Lines of Documentation: 251
-* 🏷️ Tags: 10
-* 📅 Development Period: 2025-06-19 to 2026-03-05
-* 🏆 Score: 3.8 (combines recent activity, code size, tags, and release status)
+* 🏷️ Tags: 11
+* 📅 Development Period: 2025-06-19 to 2026-03-23
+* 🏆 Score: 3.6 (combines recent activity, code size, tags, and release status)
* ⚖️ License: BSD-2-Clause
-* 🏷️ Latest Release: v0.11.4 (2026-03-05)
+* 🏷️ Latest Release: v0.12.0 (2026-03-23)
=> showcase/tasksamurai/image-1.png tasksamurai screenshot
@@ -461,18 +577,18 @@ Task Samurai invokes the `task` command to read and modify tasks. The tasks are
---
-### 18. gos 18←18
+### 23. gos 23↙19↙18←18
-* 💻 Languages: Go (99.5%), Shell (0.2%), JSON (0.2%)
+* 💻 Languages: Go (99.5%), JSON (0.2%), Shell (0.2%)
* 📚 Documentation: Markdown (100.0%)
-* 📊 Commits: 402
-* 📈 Lines of Code: 4143
+* 📊 Commits: 405
+* 📈 Lines of Code: 4378
* 📄 Lines of Documentation: 477
-* 🏷️ Tags: 13
-* 📅 Development Period: 2024-05-04 to 2026-02-28
-* 🏆 Score: 2.5 (combines recent activity, code size, tags, and release status)
+* 🏷️ Tags: 15
+* 📅 Development Period: 2024-05-04 to 2026-03-13
+* 🏆 Score: 2.7 (combines recent activity, code size, tags, and release status)
* ⚖️ License: Custom License
-* 🏷️ Latest Release: v1.2.4 (2026-02-17)
+* 🏷️ Latest Release: v1.2.6 (2026-03-13)
=> showcase/gos/image-1.png gos screenshot
@@ -484,7 +600,7 @@ Gos is a Go-based replacement for Buffer.com, providing the ability to schedule
---
-### 19. foostats 19↙17
+### 24. foostats 24↙20↙19↙17
* 💻 Languages: Perl (100.0%)
* 📚 Documentation: Markdown (54.6%), Text (45.4%)
@@ -493,7 +609,7 @@ Gos is a Go-based replacement for Buffer.com, providing the ability to schedule
* 📄 Lines of Documentation: 423
* 🏷️ Tags: 2
* 📅 Development Period: 2023-01-02 to 2025-11-01
-* 🏆 Score: 2.4 (combines recent activity, code size, tags, and release status)
+* 🏆 Score: 2.3 (combines recent activity, code size, tags, and release status)
* ⚖️ License: Custom License
* 🏷️ Latest Release: v0.2.0 (2025-10-21)
@@ -505,7 +621,7 @@ A privacy-respecting web analytics tool for OpenBSD that processes HTTP/HTTPS an
---
-### 20. timr 20↙19
+### 25. timr 25↙21↙20↙19
* 💻 Languages: Go (96.0%), Shell (4.0%)
* 📚 Documentation: Markdown (100.0%)
@@ -514,7 +630,7 @@ A privacy-respecting web analytics tool for OpenBSD that processes HTTP/HTTPS an
* 📄 Lines of Documentation: 99
* 🏷️ Tags: 5
* 📅 Development Period: 2025-06-25 to 2026-01-02
-* 🏆 Score: 2.4 (combines recent activity, code size, tags, and release status)
+* 🏆 Score: 2.2 (combines recent activity, code size, tags, and release status)
* ⚖️ License: MIT
* 🏷️ Latest Release: v0.3.0 (2026-01-02)
@@ -526,38 +642,36 @@ A simple command-line tool to track time spent on tasks. It has been primarily c
---
-### 21. dtail 21↙20
-
-* 💻 Languages: Go (93.9%), JSON (2.8%), C (2.0%), Make (0.5%), C/C++ (0.3%), Config (0.2%), Shell (0.2%), Docker (0.1%)
-* 📚 Documentation: Text (79.4%), Markdown (20.6%)
-* 📊 Commits: 1104
-* 📈 Lines of Code: 20091
-* 📄 Lines of Documentation: 5674
-* 🏷️ Tags: 27
-* 📅 Development Period: 2020-01-09 to 2025-06-20
-* 🏆 Score: 2.2 (combines recent activity, code size, tags, and release status)
-* ⚖️ License: Apache-2.0
-* 🏷️ Latest Release: v4.3.3 (2024-08-23)
+### 26. gemtexter 26↙22↖23↙22
+* 💻 Languages: Shell (70.8%), CSS (26.2%), Config (1.8%), HTML (1.2%)
+* 📚 Documentation: Text (76.1%), Markdown (23.9%)
+* 📊 Commits: 477
+* 📈 Lines of Code: 2491
+* 📄 Lines of Documentation: 1180
+* 🏷️ Tags: 6
+* 📅 Development Period: 2021-05-21 to 2026-03-12
+* 🏆 Score: 2.0 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: GPL-3.0
+* 🏷️ Latest Release: 3.0.0 (2024-10-01)
-=> showcase/dtail/image-1.png dtail screenshot
-DTail (a distributed tail program) is a DevOps tool for engineers programmed in Google Go for following (tailing), catting and grepping (including gzip and zstd decompression support) log files on many machines concurrently. An advanced feature of DTail is to execute distributed MapReduce aggregations across many devices.
+This is the source code of my personal internet site and blog engine. All content is written in Gemini Gemtext format, but the script `gemtexter` generates multiple other static output formats (with zero JavaScript) from it. You can reach the site(s)...
-=> https://codeberg.org/snonux/dtail View on Codeberg
-=> https://github.com/snonux/dtail View on GitHub
+=> https://codeberg.org/snonux/gemtexter View on Codeberg
+=> https://github.com/snonux/gemtexter View on GitHub
---
-### 22. wireguardmeshgenerator 22↖23
+### 27. wireguardmeshgenerator 27↙23↙22↖23
-* 💻 Languages: Ruby (65.4%), YAML (34.6%)
+* 💻 Languages: Ruby (63.5%), YAML (36.5%)
* 📚 Documentation: Markdown (100.0%)
-* 📊 Commits: 36
-* 📈 Lines of Code: 563
+* 📊 Commits: 37
+* 📈 Lines of Code: 583
* 📄 Lines of Documentation: 24
* 🏷️ Tags: 1
-* 📅 Development Period: 2025-04-18 to 2026-01-20
+* 📅 Development Period: 2025-04-18 to 2026-03-18
* 🏆 Score: 1.5 (combines recent activity, code size, tags, and release status)
* ⚖️ License: Custom License
* 🏷️ Latest Release: v1.0.0 (2025-05-11)
@@ -570,28 +684,7 @@ Have a look at the `wireguardmeshgenerator.yaml`
---
-### 23. gemtexter 23↙22
-
-* 💻 Languages: CSS (55.3%), Python (16.1%), HTML (15.3%), JSON (6.6%), Shell (5.3%), Config (1.5%)
-* 📚 Documentation: Text (70.2%), Markdown (29.8%)
-* 📊 Commits: 480
-* 📈 Lines of Code: 30319
-* 📄 Lines of Documentation: 1280
-* 🏷️ Tags: 6
-* 📅 Development Period: 2021-05-21 to 2025-06-22
-* 🏆 Score: 1.4 (combines recent activity, code size, tags, and release status)
-* ⚖️ License: GPL-3.0
-* 🏷️ Latest Release: 3.0.0 (2024-10-01)
-
-
-This is the source code of my personal internet site and blog engine. All content is written in Gemini Gemtext format, but the script `gemtexter` generates multiple other static output formats (with zero JavaScript) from it. You can reach the site(s)...
-
-=> https://codeberg.org/snonux/gemtexter View on Codeberg
-=> https://github.com/snonux/gemtexter View on GitHub
-
----
-
-### 24. goprecords 24←24
+### 28. goprecords 28↙24←24←24
* 💻 Languages: Go (100.0%)
* 📚 Documentation: Markdown (100.0%)
@@ -612,30 +705,30 @@ This is the source code of my personal internet site and blog engine. All conten
---
-### 25. ds-sim 25↙21
+### 29. ioriot 29↖34↖35←35
-* 💻 Languages: Java (98.9%), Shell (0.6%), CSS (0.5%)
-* 📚 Documentation: Markdown (98.7%), Text (1.3%)
-* 📊 Commits: 438
-* 📈 Lines of Code: 25762
-* 📄 Lines of Documentation: 3101
-* 🏷️ Tags: 0
-* 📅 Development Period: 2008-05-15 to 2025-06-27
+* 💻 Languages: C (58.7%), C/C++ (22.5%), Config (17.9%), Make (1.0%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 84
+* 📈 Lines of Code: 13609
+* 📄 Lines of Documentation: 899
+* 🏷️ Tags: 8
+* 📅 Development Period: 2018-03-01 to 2026-03-19
* 🏆 Score: 1.2 (combines recent activity, code size, tags, and release status)
-* ⚖️ License: Custom License
-* 🧪 Status: Experimental (no releases yet)
+* ⚖️ License: Apache-2.0
+* 🏷️ Latest Release: 0.5.1 (2019-01-04)
-=> showcase/ds-sim/image-1.png ds-sim screenshot
+=> showcase/ioriot/image-1.png ioriot screenshot
-DS-Sim is a open-source simulator for distributed systems, written in Java. It provides a powerful environment for simulating and learning about distributed systems concepts.
+...is an I/O benchmarking tool for Linux based operating systems which captures I/O operations on a (possibly production) server in order to replay the exact same I/O operations on a load test machine.
-=> https://codeberg.org/snonux/ds-sim View on Codeberg
-=> https://github.com/snonux/ds-sim View on GitHub
+=> https://codeberg.org/snonux/ioriot View on Codeberg
+=> https://github.com/snonux/ioriot View on GitHub
---
-### 26. quicklogger 26↙25
+### 30. quicklogger 30↙26←26↙25
* 💻 Languages: Go (96.4%), XML (1.8%), Shell (1.1%), TOML (0.7%)
* 📚 Documentation: Markdown (100.0%)
@@ -658,7 +751,7 @@ This is a tiny GUI app written in Go using the Fyne framework to quickly log a m
---
-### 27. sillybench 27←27
+### 31. sillybench 31↙27←27←27
* 💻 Languages: Go (90.9%), Shell (9.1%)
* 📚 Documentation: Markdown (100.0%)
@@ -667,7 +760,7 @@ This is a tiny GUI app written in Go using the Fyne framework to quickly log a m
* 📄 Lines of Documentation: 3
* 🏷️ Tags: 0
* 📅 Development Period: 2025-04-03 to 2025-04-03
-* 🏆 Score: 0.7 (combines recent activity, code size, tags, and release status)
+* 🏆 Score: 0.6 (combines recent activity, code size, tags, and release status)
* ⚖️ License: No license found
* 🧪 Status: Experimental (no releases yet)
@@ -679,7 +772,7 @@ To compare how fast this runs on FreeBSD vs a Linux Bhyve VM
---
-### 28. terraform 28↙26
+### 32. terraform 32↙28←28↙26
* 💻 Languages: HCL (96.6%), Make (1.9%), YAML (1.5%)
* 📚 Documentation: Markdown (100.0%)
@@ -700,28 +793,7 @@ Go to AWS Secrets manager manually and create it!
---
-### 29. guprecords 29←29
-
-* 💻 Languages: Raku (100.0%)
-* 📚 Documentation: Markdown (100.0%)
-* 📊 Commits: 97
-* 📈 Lines of Code: 383
-* 📄 Lines of Documentation: 425
-* 🏷️ Tags: 1
-* 📅 Development Period: 2013-03-22 to 2026-03-07
-* 🏆 Score: 0.5 (combines recent activity, code size, tags, and release status)
-* ⚖️ License: No license found
-* 🏷️ Latest Release: v1.0.0 (2023-04-29)
-
-
-guprecords: source code repository.
-
-=> https://codeberg.org/snonux/guprecords View on Codeberg
-=> https://github.com/snonux/guprecords View on GitHub
-
----
-
-### 30. geheim 30←30
+### 33. geheim 33↙29↖30←30
* 💻 Languages: Ruby (86.7%), Shell (13.3%)
* 📚 Documentation: Markdown (100.0%)
@@ -742,7 +814,7 @@ guprecords: source code repository.
---
-### 31. gorum 31↙28
+### 34. gorum 34↙30↖31↙28
* 💻 Languages: Go (91.3%), JSON (6.4%), YAML (2.3%)
* 📚 Documentation: Markdown (100.0%)
@@ -763,7 +835,7 @@ Gogios is a minimalistic quorum manager.
---
-### 32. docker-radicale-server 32↙31
+### 35. docker-radicale-server 35↙31↖32↙31
* 💻 Languages: Make (57.5%), Docker (42.5%)
* 📚 Documentation: Markdown (100.0%)
@@ -784,7 +856,7 @@ For the Radicale server https://radicale.org
---
-### 33. photoalbum 33↖34
+### 36. photoalbum 36↙32↖33↖34
* 💻 Languages: Shell (80.1%), Make (12.3%), Config (7.6%)
* 📚 Documentation: Markdown (100.0%)
@@ -807,7 +879,7 @@ The resulting static photo album is pure HTML+CSS (without any JavaScript!).
---
-### 34. randomjournalpage 34↙33
+### 37. randomjournalpage 37↙33↖34↙33
* 💻 Languages: Shell (94.1%), Make (5.9%)
* 📚 Documentation: Markdown (100.0%)
@@ -829,31 +901,7 @@ This is a quick and dirty script which I use personally to grab a random PDF fil
---
-### 35. ioriot 35←35
-
-* 💻 Languages: C (55.5%), C/C++ (24.0%), Config (19.6%), Make (1.0%)
-* 📚 Documentation: Markdown (100.0%)
-* 📊 Commits: 50
-* 📈 Lines of Code: 12420
-* 📄 Lines of Documentation: 610
-* 🏷️ Tags: 8
-* 📅 Development Period: 2018-03-01 to 2020-01-22
-* 🏆 Score: 0.2 (combines recent activity, code size, tags, and release status)
-* ⚖️ License: Apache-2.0
-* 🏷️ Latest Release: 0.5.1 (2019-01-04)
-
-⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
-
-=> showcase/ioriot/image-1.png ioriot screenshot
-
-...is an I/O benchmarking tool for Linux based operating systems which captures I/O operations on a (possibly production) server in order to replay the exact same I/O operations on a load test machine.
-
-=> https://codeberg.org/snonux/ioriot View on Codeberg
-=> https://github.com/snonux/ioriot View on GitHub
-
----
-
-### 36. algorithms 36↙32
+### 38. algorithms 38↙35↖36↙32
* 💻 Languages: Go (99.2%), Make (0.8%)
* 📚 Documentation: Markdown (100.0%)
@@ -875,7 +923,7 @@ This includes exercises from the Algorithms lecture. Well, this is just a refres
---
-### 37. ipv6test 37↙36
+### 39. ipv6test 39↙36↖37↙36
* 💻 Languages: Perl (65.8%), Docker (34.2%)
* 📚 Documentation: Markdown (100.0%)
@@ -896,7 +944,7 @@ This is a quick and dirty Perl-based IPv6 test website.
---
-### 38. staticfarm-apache-handlers 38↖40
+### 40. staticfarm-apache-handlers 40↙37↖38↖40
* 💻 Languages: Perl (96.4%), Make (3.6%)
* 📚 Documentation: Text (100.0%)
@@ -919,7 +967,7 @@ DEPRECATED
---
-### 39. sway-autorotate 39↙38
+### 41. sway-autorotate 41↙38↖39↙38
* 💻 Languages: Shell (100.0%)
* 📚 Documentation: Markdown (100.0%)
@@ -940,7 +988,27 @@ This is a fork of https://github.com/tedk0n/autorotate_sway_script
---
-### 40. mon 40↙39
+### 42. guprecords 42↙39↙29←29
+
+* 💻 Languages: Raku (100.0%)
+* 📊 Commits: 97
+* 📈 Lines of Code: 195
+* 🏷️ Tags: 1
+* 📅 Development Period: 2013-03-22 to 2023-03-09
+* 🏆 Score: 0.2 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🏷️ Latest Release: v1.0.0 (2023-04-29)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+guprecords: source code repository.
+
+=> https://codeberg.org/snonux/guprecords View on Codeberg
+=> https://github.com/snonux/guprecords View on GitHub
+
+---
+
+### 43. mon 43↙40←40↙39
* 💻 Languages: Perl (96.5%), Shell (1.8%), Make (1.2%), Config (0.4%)
* 📚 Documentation: Text (100.0%)
@@ -963,7 +1031,7 @@ DEPRECATED
---
-### 41. fapi 41↖44
+### 44. fapi 44↙41←41↖44
* 💻 Languages: Python (96.6%), Make (3.1%), Config (0.3%)
* 📚 Documentation: Text (98.3%), Markdown (1.7%)
@@ -986,7 +1054,7 @@ DEPRECATED
---
-### 42. pingdomfetch 42↙41
+### 45. pingdomfetch 45↙42←42↙41
* 💻 Languages: Perl (97.3%), Make (2.7%)
* 📚 Documentation: Text (100.0%)
@@ -1009,7 +1077,7 @@ DEPRECATED
---
-### 43. fype 43↙37
+### 46. fype 46↙43←43↙37
* 💻 Languages: C (77.3%), C/C++ (13.1%), HTML (7.5%), Make (2.1%)
* 📚 Documentation: Text (65.8%), LaTeX (20.5%), Markdown (13.7%)
@@ -1030,7 +1098,7 @@ DEPRECATED
---
-### 44. pwgrep 44↖50
+### 47. pwgrep 47↙44←44↖50
* 💻 Languages: Shell (85.0%), Make (15.0%)
* 📚 Documentation: Text (75.0%), Markdown (25.0%)
@@ -1051,7 +1119,7 @@ DEPRECATED
---
-### 45. xerl 45↙42
+### 48. xerl 48↙45←45↙42
* 💻 Languages: Perl (98.3%), Config (1.2%), Make (0.5%)
* 📊 Commits: 671
@@ -1070,10 +1138,10 @@ Those are the host templates to be used with Xerl itself.
---
-### 46. awksite 46↖61
+### 49. awksite 49↙46←46↖61
* 💻 Languages: AWK (72.1%), HTML (16.4%), Config (11.5%)
-* 📚 Documentation: Text (50.0%), Markdown (50.0%)
+* 📚 Documentation: Markdown (50.0%), Text (50.0%)
* 📊 Commits: 4
* 📈 Lines of Code: 122
* 📄 Lines of Documentation: 12
@@ -1091,7 +1159,7 @@ Those are the host templates to be used with Xerl itself.
---
-### 47. gotop 47↖48
+### 50. gotop 50↙47←47↖48
* 💻 Languages: Go (98.0%), Make (2.0%)
* 📚 Documentation: Markdown (60.0%), Text (40.0%)
@@ -1112,7 +1180,7 @@ Those are the host templates to be used with Xerl itself.
---
-### 48. japi 48↖53
+### 51. japi 51↙48←48↖53
* 💻 Languages: Perl (78.3%), Make (21.7%)
* 📚 Documentation: Text (100.0%)
@@ -1135,27 +1203,7 @@ DEPRECATED
---
-### 49. perldaemon 49↖51
-
-* 💻 Languages: Perl (72.7%), Shell (23.9%), Config (3.4%)
-* 📊 Commits: 111
-* 📈 Lines of Code: 611
-* 🏷️ Tags: 6
-* 📅 Development Period: 2011-02-05 to 2026-03-07
-* 🏆 Score: 0.1 (combines recent activity, code size, tags, and release status)
-* ⚖️ License: Custom License
-* 🏷️ Latest Release: v1.4 (2022-04-29)
-
-
-PerlDaemon is a minimal daemon for Linux and other UNIX a like operating system
-programmed in Perl. It can be extended to fit any task...
-
-=> https://codeberg.org/snonux/perldaemon View on Codeberg
-=> https://github.com/snonux/perldaemon View on GitHub
-
----
-
-### 50. rubyfy 50↙49
+### 52. rubyfy 52↙49↖50↙49
* 💻 Languages: Ruby (98.5%), JSON (1.5%)
* 📚 Documentation: Markdown (100.0%)
@@ -1176,7 +1224,7 @@ programmed in Perl. It can be extended to fit any task...
---
-### 51. perl-c-fibonacci 51↙45
+### 53. perl-c-fibonacci 53↙50↖51↙45
* 💻 Languages: C (80.4%), Make (19.6%)
* 📚 Documentation: Text (100.0%)
@@ -1198,7 +1246,7 @@ perl-c-fibonacci: source code repository.
---
-### 52. netdiff 52↖56
+### 54. netdiff 54↙51↖52↖56
* 💻 Languages: Shell (52.2%), Make (46.3%), Config (1.5%)
* 📚 Documentation: Text (100.0%)
@@ -1221,7 +1269,28 @@ DEPRECATED
---
-### 53. jsmstrade 53↙52
+### 55. perldaemon 55↙52↙49↖51
+
+* 💻 Languages: Perl (74.2%), Shell (22.2%), Config (3.6%)
+* 📊 Commits: 111
+* 📈 Lines of Code: 659
+* 🏷️ Tags: 6
+* 📅 Development Period: 2011-02-05 to 2022-04-21
+* 🏆 Score: 0.1 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: Custom License
+* 🏷️ Latest Release: v1.4 (2022-04-29)
+
+⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
+
+PerlDaemon is a minimal daemon for Linux and other UNIX a like operating system
+programmed in Perl. It can be extended to fit any task...
+
+=> https://codeberg.org/snonux/perldaemon View on Codeberg
+=> https://github.com/snonux/perldaemon View on GitHub
+
+---
+
+### 56. jsmstrade 56↙53←53↙52
* 💻 Languages: Java (76.0%), Shell (15.4%), XML (8.6%)
* 📚 Documentation: Markdown (100.0%)
@@ -1244,7 +1313,7 @@ DEPRECATED
---
-### 54. muttdelay 54↖55
+### 57. muttdelay 57↙54←54↖55
* 💻 Languages: Make (47.1%), Shell (46.3%), Vim Script (5.9%), Config (0.7%)
* 📚 Documentation: Text (100.0%)
@@ -1267,7 +1336,7 @@ DEPRECATED
---
-### 55. netcalendar 55↙46
+### 58. netcalendar 58↙55←55↙46
* 💻 Languages: Java (83.0%), HTML (12.9%), XML (3.0%), CSS (0.8%), Make (0.2%)
* 📚 Documentation: Text (89.5%), Markdown (10.5%)
@@ -1290,7 +1359,30 @@ DEPRECATED
---
-### 56. cpuinfo 56↖59
+### 59. vs-sim 59↙56↖63←63
+
+* 💻 Languages: Java (98.8%), Shell (0.7%), XML (0.4%)
+* 📚 Documentation: LaTeX (98.3%), Text (1.4%), Markdown (0.3%)
+* 📊 Commits: 409
+* 📈 Lines of Code: 16303
+* 📄 Lines of Documentation: 2905
+* 🏷️ Tags: 4
+* 📅 Development Period: 2008-05-15 to 2026-03-07
+* 🏆 Score: 0.1 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: Custom License
+* 🏷️ Latest Release: v1.0 (2008-08-24)
+
+
+=> showcase/vs-sim/image-1.jpg vs-sim screenshot
+
+VS-Sim is an open source simulator programmed in Java for distributed systems. VS-Sim stands for "Verteilte Systeme Simulator" which is the german translation for "Distributed Sytstems Simulator".
+
+=> https://codeberg.org/snonux/vs-sim View on Codeberg
+=> https://github.com/snonux/vs-sim View on GitHub
+
+---
+
+### 60. cpuinfo 60↙57↙56↖59
* 💻 Languages: Shell (53.2%), Make (46.8%)
* 📚 Documentation: Text (100.0%)
@@ -1312,7 +1404,7 @@ cpuinfo - A small and humble tool to print out CPU data
---
-### 57. template 57↖60
+### 61. template 61↙58↙57↖60
* 💻 Languages: Make (89.2%), Shell (10.8%)
* 📚 Documentation: Text (100.0%)
@@ -1335,7 +1427,7 @@ DEPRECATED
---
-### 58. dyndns 58↖62
+### 62. dyndns 62↙59↙58↖62
* 💻 Languages: Shell (100.0%)
* 📚 Documentation: Text (100.0%)
@@ -1358,7 +1450,7 @@ DEPRECATED
---
-### 59. debroid 59↙57
+### 63. debroid 63↙60↙59↙57
* 💻 Languages: Shell (92.0%), Make (8.0%)
* 📚 Documentation: Markdown (100.0%)
@@ -1381,7 +1473,7 @@ DEPRECATED
---
-### 60. perl-poetry 60↙54
+### 64. perl-poetry 64↙61↙60↙54
* 💻 Languages: Perl (100.0%)
* 📚 Documentation: Markdown (100.0%)
@@ -1403,7 +1495,7 @@ Here you find some Poetry written in Perl.
---
-### 61. hsbot 61↙58
+### 65. hsbot 65↙62↙61↙58
* 💻 Languages: Haskell (98.5%), Make (1.5%)
* 📊 Commits: 81
@@ -1423,7 +1515,7 @@ feature additions will be made. Use at your own risk.
---
-### 62. ychat 62↙43
+### 66. ychat 66↙63↙62↙43
* 📚 Documentation: Text (100.0%)
* 📊 Commits: 67
@@ -1444,28 +1536,27 @@ ychat: source code repository.
---
-### 63. vs-sim 63←63
+### 67. snonux.foo 67
* 📚 Documentation: Markdown (100.0%)
-* 📊 Commits: 412
+* 📊 Commits: 1
* 📈 Lines of Code: 0
-* 📄 Lines of Documentation: 7
-* 🏷️ Tags: 4
-* 📅 Development Period: 2008-05-15 to 2015-05-23
+* 📄 Lines of Documentation: 10
+* 🏷️ Tags: 0
+* 📅 Development Period: 2026-03-21 to 2026-03-21
* 🏆 Score: 0.0 (combines recent activity, code size, tags, and release status)
* ⚖️ License: No license found
-* 🏷️ Latest Release: v1.0 (2008-08-24)
+* 🧪 Status: Experimental (no releases yet)
-⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
-VS-Sim is an open source simulator programmed in Java for distributed systems. VS-Sim stands for "Verteilte Systeme Simulator" which is the german translation for "Distributed Sytstems Simulator".
+This directory belongs to the [snonux](https://codeberg.org/snonux/snonux) microblog generator project.
-=> https://codeberg.org/snonux/vs-sim View on Codeberg
-=> https://github.com/snonux/vs-sim View on GitHub
+=> https://codeberg.org/snonux/snonux.foo View on Codeberg
+=> https://github.com/snonux/snonux.foo View on GitHub
---
-### 64. foo.zone 64↙6
+### 68. foo.zone 68↙64←64↙6
* 📚 Documentation: Markdown (100.0%)
* 📊 Commits: 3643
diff --git a/about/showcase.gmi.tpl b/about/showcase.gmi.tpl
index 1202db90..ca19a580 100644
--- a/about/showcase.gmi.tpl
+++ b/about/showcase.gmi.tpl
@@ -1,6 +1,6 @@
# Project Showcase
-Generated on: 2026-03-20
+Generated on: 2026-03-27
This page showcases my side projects, providing an overview of what each project does, its technical implementation, and key metrics. Each project summary includes information about the programming languages used, development activity, releases, and licensing. The projects are ranked by score, which combines recent activity, project size, tag history, and whether the project has shipped a release.
@@ -8,28 +8,28 @@ This page showcases my side projects, providing an overview of what each project
## Overall Statistics
-* 📦 Total Projects: 64
-* 📊 Total Commits: 13,197
-* 📈 Total Lines of Code: 346,257
-* 📄 Total Lines of Documentation: 266,068
-* 💻 Languages: Go (57.9%), Java (16.5%), C (5.6%), YAML (4.6%), Perl (4.1%), Shell (2.9%), HTML (1.4%), Ruby (1.3%), C/C++ (1.2%), Config (0.9%), HCL (0.8%), Python (0.6%), CSS (0.5%), JSON (0.5%), Make (0.4%), XML (0.2%), Haskell (0.2%), JavaScript (0.2%), TOML (0.1%)
-* 📚 Documentation: Text (84.0%), Markdown (14.7%), LaTeX (1.3%)
-* 🚀 Release Status: 42 released, 22 experimental (65.6% with releases, 34.4% experimental)
+* 📦 Total Projects: 68
+* 📊 Total Commits: 13,714
+* 📈 Total Lines of Code: 386,291
+* 📄 Total Lines of Documentation: 269,903
+* 💻 Languages: Go (57.9%), Java (15.5%), C (5.3%), YAML (4.1%), Perl (3.7%), Shell (2.7%), Ruby (1.9%), TypeScript (1.4%), HTML (1.3%), C/C++ (1.1%), CSS (1.0%), Config (0.8%), Python (0.7%), HCL (0.7%), JSON (0.5%), Make (0.4%), TOML (0.3%), XML (0.2%), Haskell (0.2%), JavaScript (0.1%)
+* 📚 Documentation: Text (82.8%), Markdown (15.9%), LaTeX (1.3%)
+* 🚀 Release Status: 44 released, 24 experimental (64.7% with releases, 35.3% experimental)
## Projects
-### 1. hexai 1↖3↙2
+### 1. hexai 1←1↖3↙2
* 💻 Languages: Go (100.0%)
* 📚 Documentation: Markdown (100.0%)
-* 📊 Commits: 423
-* 📈 Lines of Code: 36886
-* 📄 Lines of Documentation: 4131
-* 🏷️ Tags: 60
-* 📅 Development Period: 2025-08-01 to 2026-03-19
-* 🏆 Score: 147.8 (combines recent activity, code size, tags, and release status)
+* 📊 Commits: 503
+* 📈 Lines of Code: 43837
+* 📄 Lines of Documentation: 4368
+* 🏷️ Tags: 76
+* 📅 Development Period: 2025-08-01 to 2026-03-27
+* 🏆 Score: 436.8 (combines recent activity, code size, tags, and release status)
* ⚖️ License: No license found
-* 🏷️ Latest Release: v0.25.0 (2026-03-19)
+* 🏷️ Latest Release: v0.27.1 (2026-03-27)
=> showcase/hexai/image-1.png hexai screenshot
@@ -41,16 +41,103 @@ Hexai, the AI addition for your Helix Editor (https://helix-editor.com) .. Other
---
-### 2. dtail 2↖21↙20
+### 2. gt 2
-* 💻 Languages: Go (93.1%), Shell (3.1%), JSON (1.6%), C (1.1%), Make (0.7%), C/C++ (0.2%)
-* 📚 Documentation: Text (98.2%), Markdown (1.8%)
-* 📊 Commits: 629
-* 📈 Lines of Code: 36191
-* 📄 Lines of Documentation: 220453
+* 💻 Languages: Go (99.4%), YAML (0.6%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 168
+* 📈 Lines of Code: 10028
+* 📄 Lines of Documentation: 301
+* 🏷️ Tags: 6
+* 📅 Development Period: 2025-11-25 to 2026-03-26
+* 🏆 Score: 219.3 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: MIT
+* 🏷️ Latest Release: v0.4.1 (2026-03-26)
+
+
+A simple AI-engineered command-line percentage calculator written in Go. No frontier AI models from Claude, OpenAI, Google, ec, were used for this project. The ones used were:
+
+=> https://codeberg.org/snonux/gt View on Codeberg
+=> https://github.com/snonux/gt View on GitHub
+
+---
+
+### 3. hypr 3
+
+* 💻 Languages: TypeScript (46.4%), Ruby (33.4%), TOML (6.8%), Python (6.6%), Shell (3.5%), JSON (3.3%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 69
+* 📈 Lines of Code: 12072
+* 📄 Lines of Documentation: 3062
+* 🏷️ Tags: 0
+* 📅 Development Period: 2026-03-21 to 2026-03-27
+* 🏆 Score: 115.6 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🧪 Status: Experimental (no releases yet)
+
+
+=> showcase/hypr/image-1.svg hypr screenshot
+
+Automates Hyperstack GPU VM lifecycle: create, bootstrap, WireGuard tunnel, and vLLM inference.
+Runs two A100 VMs concurrently — each serving a different model — with [Pi](https://pi.dev) coding agents connected to each.
+
+=> https://codeberg.org/snonux/hypr View on Codeberg
+=> https://github.com/snonux/hypr View on GitHub
+
+---
+
+### 4. dotfiles 4↙3↖4↙3
+
+* 💻 Languages: Shell (65.1%), CSS (10.5%), Config (9.9%), TOML (9.7%), JSON (3.6%), Ruby (1.0%), INI (0.2%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 897
+* 📈 Lines of Code: 3107
+* 📄 Lines of Documentation: 7850
+* 🏷️ Tags: 0
+* 📅 Development Period: 2023-07-30 to 2026-03-27
+* 🏆 Score: 58.3 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🧪 Status: Experimental (no releases yet)
+
+
+These are all my dotfiles. I can install them locally on my laptop and/or workstation as well as remotely on any server.
+
+=> https://codeberg.org/snonux/dotfiles View on Codeberg
+=> https://github.com/snonux/dotfiles View on GitHub
+
+---
+
+### 5. snonux 5
+
+* 💻 Languages: CSS (65.9%), Go (27.0%), HTML (5.8%), TOML (0.6%), XML (0.6%)
+* 📚 Documentation: Markdown (89.3%), Text (10.7%)
+* 📊 Commits: 16
+* 📈 Lines of Code: 3077
+* 📄 Lines of Documentation: 205
+* 🏷️ Tags: 0
+* 📅 Development Period: 2026-03-21 to 2026-03-22
+* 🏆 Score: 51.7 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🧪 Status: Experimental (no releases yet)
+
+
+**WIP** - A microblog generator project
+
+=> https://codeberg.org/snonux/snonux View on Codeberg
+=> https://github.com/snonux/snonux View on GitHub
+
+---
+
+### 6. dtail 6↙2↖21↙20
+
+* 💻 Languages: Go (93.4%), Shell (3.0%), JSON (1.6%), C (1.0%), Make (0.7%), C/C++ (0.2%)
+* 📚 Documentation: Text (98.1%), Markdown (1.9%)
+* 📊 Commits: 640
+* 📈 Lines of Code: 37822
+* 📄 Lines of Documentation: 220523
* 🏷️ Tags: 27
-* 📅 Development Period: 2020-01-09 to 2026-03-13
-* 🏆 Score: 55.1 (combines recent activity, code size, tags, and release status)
+* 📅 Development Period: 2020-01-09 to 2026-03-20
+* 🏆 Score: 43.7 (combines recent activity, code size, tags, and release status)
* ⚖️ License: Apache-2.0
* 🏷️ Latest Release: v4.3.3 (2024-08-23)
@@ -64,37 +151,37 @@ DTail (a distributed tail program) is a DevOps tool for engineers programmed in
---
-### 3. dotfiles 3↖4↙3
+### 7. conf 7↖9↙8↙5
-* 💻 Languages: Shell (66.0%), CSS (10.6%), Config (9.9%), TOML (9.8%), JSON (2.5%), Ruby (1.0%), INI (0.2%)
-* 📚 Documentation: Markdown (100.0%)
-* 📊 Commits: 864
-* 📈 Lines of Code: 3072
-* 📄 Lines of Documentation: 7571
+* 💻 Languages: YAML (82.4%), Perl (10.1%), Shell (3.9%), Python (2.3%), Docker (0.7%), Ruby (0.2%), Config (0.2%), HTML (0.1%)
+* 📚 Documentation: Markdown (97.0%), Text (3.0%)
+* 📊 Commits: 829
+* 📈 Lines of Code: 18770
+* 📄 Lines of Documentation: 6305
* 🏷️ Tags: 0
-* 📅 Development Period: 2023-07-30 to 2026-03-19
-* 🏆 Score: 37.7 (combines recent activity, code size, tags, and release status)
+* 📅 Development Period: 2021-12-28 to 2026-03-22
+* 🏆 Score: 31.1 (combines recent activity, code size, tags, and release status)
* ⚖️ License: No license found
* 🧪 Status: Experimental (no releases yet)
-These are all my dotfiles. I can install them locally on my laptop and/or workstation as well as remotely on any server.
+This is my personal config repository. Including...
-=> https://codeberg.org/snonux/dotfiles View on Codeberg
-=> https://github.com/snonux/dotfiles View on GitHub
+=> https://codeberg.org/snonux/conf View on Codeberg
+=> https://github.com/snonux/conf View on GitHub
---
-### 4. ior 4↙1←1
+### 8. ior 8↙4↙1←1
-* 💻 Languages: Go (88.9%), C (10.6%), JSON (0.3%), C/C++ (0.2%)
-* 📚 Documentation: Markdown (85.8%), Text (14.2%)
-* 📊 Commits: 733
-* 📈 Lines of Code: 55967
-* 📄 Lines of Documentation: 3397
+* 💻 Languages: Go (89.5%), C (10.0%), JSON (0.3%), C/C++ (0.2%)
+* 📚 Documentation: Markdown (82.7%), Text (17.3%)
+* 📊 Commits: 759
+* 📈 Lines of Code: 58935
+* 📄 Lines of Documentation: 2789
* 🏷️ Tags: 0
-* 📅 Development Period: 2024-01-18 to 2026-03-12
-* 🏆 Score: 36.7 (combines recent activity, code size, tags, and release status)
+* 📅 Development Period: 2024-01-18 to 2026-03-19
+* 🏆 Score: 27.1 (combines recent activity, code size, tags, and release status)
* ⚖️ License: No license found
* 🧪 Status: Experimental (no releases yet)
@@ -108,18 +195,18 @@ These are all my dotfiles. I can install them locally on my laptop and/or workst
---
-### 5. timesamurai 5↙2
+### 9. timesamurai 9↙5↙2
-* 💻 Languages: Go (99.2%), Shell (0.6%), YAML (0.1%)
+* 💻 Languages: Go (99.3%), Shell (0.6%), YAML (0.1%)
* 📚 Documentation: Markdown (100.0%)
-* 📊 Commits: 91
-* 📈 Lines of Code: 9493
+* 📊 Commits: 96
+* 📈 Lines of Code: 10363
* 📄 Lines of Documentation: 112
-* 🏷️ Tags: 4
-* 📅 Development Period: 2025-06-25 to 2026-03-07
-* 🏆 Score: 33.0 (combines recent activity, code size, tags, and release status)
+* 🏷️ Tags: 5
+* 📅 Development Period: 2025-06-25 to 2026-03-26
+* 🏆 Score: 26.4 (combines recent activity, code size, tags, and release status)
* ⚖️ License: MIT
-* 🏷️ Latest Release: v0.7.0 (2026-03-05)
+* 🏷️ Latest Release: v0.8.0 (2026-03-26)
> **🚧 PRE-ALPHA SOFTWARE:** This project is in a pre-alpha state and is intended for my own personal use only. Use at your own risk.
@@ -129,7 +216,7 @@ These are all my dotfiles. I can install them locally on my laptop and/or workst
---
-### 6. loadbars 6↙5↖47
+### 10. loadbars 10↙6↙5↖47
* 💻 Languages: Go (92.8%), Shell (7.2%)
* 📚 Documentation: Markdown (100.0%)
@@ -138,7 +225,7 @@ These are all my dotfiles. I can install them locally on my laptop and/or workst
* 📄 Lines of Documentation: 328
* 🏷️ Tags: 47
* 📅 Development Period: 2010-11-05 to 2026-03-02
-* 🏆 Score: 19.6 (combines recent activity, code size, tags, and release status)
+* 🏆 Score: 16.0 (combines recent activity, code size, tags, and release status)
* ⚖️ License: Custom License
* 🏷️ Latest Release: v0.11.1 (2026-02-17)
@@ -152,7 +239,7 @@ Loadbars is a tool that can be used to observe CPU loads of several remote serve
---
-### 7. foostore 7↙6↖7
+### 11. foostore 11↙7↙6↖7
* 💻 Languages: Go (98.4%), Shell (1.6%)
* 📚 Documentation: Markdown (100.0%)
@@ -161,7 +248,7 @@ Loadbars is a tool that can be used to observe CPU loads of several remote serve
* 📄 Lines of Documentation: 250
* 🏷️ Tags: 9
* 📅 Development Period: 2018-05-26 to 2026-03-07
-* 🏆 Score: 14.3 (combines recent activity, code size, tags, and release status)
+* 🏆 Score: 12.1 (combines recent activity, code size, tags, and release status)
* ⚖️ License: No license found
* 🏷️ Latest Release: v0.5.3 (2026-03-02)
@@ -173,7 +260,30 @@ Loadbars is a tool that can be used to observe CPU loads of several remote serve
---
-### 8. epimetheus 8↙7↙4
+### 12. ds-sim 12↖25←25↙21
+
+* 💻 Languages: Java (98.6%), Shell (0.9%), CSS (0.4%)
+* 📚 Documentation: Markdown (98.7%), Text (1.3%)
+* 📊 Commits: 473
+* 📈 Lines of Code: 28576
+* 📄 Lines of Documentation: 3101
+* 🏷️ Tags: 2
+* 📅 Development Period: 2008-05-15 to 2026-03-27
+* 🏆 Score: 12.0 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: Custom License
+* 🏷️ Latest Release: 1.1.0 (2026-03-27)
+
+
+=> showcase/ds-sim/image-1.png ds-sim screenshot
+
+DS-Sim is a open-source simulator for distributed systems, written in Java. It provides a powerful environment for simulating and learning about distributed systems concepts.
+
+=> https://codeberg.org/snonux/ds-sim View on Codeberg
+=> https://github.com/snonux/ds-sim View on GitHub
+
+---
+
+### 13. epimetheus 13↙8↙7↙4
* 💻 Languages: Go (85.2%), Shell (14.8%)
* 📚 Documentation: Markdown (100.0%)
@@ -182,7 +292,7 @@ Loadbars is a tool that can be used to observe CPU loads of several remote serve
* 📄 Lines of Documentation: 1736
* 🏷️ Tags: 0
* 📅 Development Period: 2026-02-07 to 2026-03-07
-* 🏆 Score: 11.1 (combines recent activity, code size, tags, and release status)
+* 🏆 Score: 9.1 (combines recent activity, code size, tags, and release status)
* ⚖️ License: No license found
* 🧪 Status: Experimental (no releases yet)
@@ -196,28 +306,28 @@ Loadbars is a tool that can be used to observe CPU loads of several remote serve
---
-### 9. conf 9↙8↙5
+### 14. gitsyncer 14↙11↙10↖15
-* 💻 Languages: YAML (75.7%), Perl (9.3%), Ruby (6.6%), Shell (4.9%), Python (2.1%), Docker (0.6%), TOML (0.3%), Config (0.2%), HTML (0.1%)
-* 📚 Documentation: Markdown (97.0%), Text (3.0%)
-* 📊 Commits: 794
-* 📈 Lines of Code: 20394
-* 📄 Lines of Documentation: 6315
-* 🏷️ Tags: 0
-* 📅 Development Period: 2021-12-28 to 2026-03-15
-* 🏆 Score: 10.0 (combines recent activity, code size, tags, and release status)
-* ⚖️ License: No license found
-* 🧪 Status: Experimental (no releases yet)
+* 💻 Languages: Go (93.5%), Shell (6.2%), JSON (0.3%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 137
+* 📈 Lines of Code: 11973
+* 📄 Lines of Documentation: 2456
+* 🏷️ Tags: 38
+* 📅 Development Period: 2025-06-23 to 2026-03-19
+* 🏆 Score: 6.3 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: BSD-2-Clause
+* 🏷️ Latest Release: v0.15.8 (2026-03-19)
-This is my personal config repository. Including...
+GitSyncer is a tool for synchronizing git repositories between multiple organizations (e.g., GitHub and Codeberg). It automatically keeps all branches in sync across different git hosting platforms.
-=> https://codeberg.org/snonux/conf View on Codeberg
-=> https://github.com/snonux/conf View on GitHub
+=> https://codeberg.org/snonux/gitsyncer View on Codeberg
+=> https://github.com/snonux/gitsyncer View on GitHub
---
-### 10. scifi 10↙9↙8
+### 15. scifi 15↙10↙9↙8
* 💻 Languages: JSON (36.6%), JavaScript (30.2%), CSS (29.6%), HTML (3.7%)
* 📚 Documentation: Markdown (100.0%)
@@ -226,7 +336,7 @@ This is my personal config repository. Including...
* 📄 Lines of Documentation: 874
* 🏷️ Tags: 0
* 📅 Development Period: 2026-01-25 to 2026-03-13
-* 🏆 Score: 7.1 (combines recent activity, code size, tags, and release status)
+* 🏆 Score: 6.2 (combines recent activity, code size, tags, and release status)
* ⚖️ License: No license found
* 🧪 Status: Experimental (no releases yet)
@@ -238,28 +348,7 @@ A static HTML page showcasing a science fiction book collection. Works fully off
---
-### 11. gitsyncer 11↙10↖15
-
-* 💻 Languages: Go (93.4%), Shell (6.2%), JSON (0.3%)
-* 📚 Documentation: Markdown (100.0%)
-* 📊 Commits: 134
-* 📈 Lines of Code: 11960
-* 📄 Lines of Documentation: 2456
-* 🏷️ Tags: 35
-* 📅 Development Period: 2025-06-23 to 2026-03-12
-* 🏆 Score: 5.7 (combines recent activity, code size, tags, and release status)
-* ⚖️ License: BSD-2-Clause
-* 🏷️ Latest Release: v0.15.5 (2026-03-12)
-
-
-GitSyncer is a tool for synchronizing git repositories between multiple organizations (e.g., GitHub and Codeberg). It automatically keeps all branches in sync across different git hosting platforms.
-
-=> https://codeberg.org/snonux/gitsyncer View on Codeberg
-=> https://github.com/snonux/gitsyncer View on GitHub
-
----
-
-### 12. rcm 12←12↙10
+### 16. rcm 16↙12←12↙10
* 💻 Languages: Ruby (99.6%), TOML (0.4%)
* 📚 Documentation: Markdown (100.0%)
@@ -268,7 +357,7 @@ GitSyncer is a tool for synchronizing git repositories between multiple organiza
* 📄 Lines of Documentation: 778
* 🏷️ Tags: 3
* 📅 Development Period: 2024-12-05 to 2026-03-02
-* 🏆 Score: 4.6 (combines recent activity, code size, tags, and release status)
+* 🏆 Score: 4.3 (combines recent activity, code size, tags, and release status)
* ⚖️ License: Custom License
* 🏷️ Latest Release: v0.1.1 (2026-03-01)
@@ -282,7 +371,7 @@ A KISS (Keep It Simple, Stupid) configuration management system written in Ruby,
---
-### 13. yoga 13←13↙12
+### 17. yoga 17↙13←13↙12
* 💻 Languages: Go (69.1%), HTML (30.9%)
* 📚 Documentation: Markdown (100.0%)
@@ -291,7 +380,7 @@ A KISS (Keep It Simple, Stupid) configuration management system written in Ruby,
* 📄 Lines of Documentation: 196
* 🏷️ Tags: 9
* 📅 Development Period: 2025-10-01 to 2026-03-07
-* 🏆 Score: 4.5 (combines recent activity, code size, tags, and release status)
+* 🏆 Score: 4.3 (combines recent activity, code size, tags, and release status)
* ⚖️ License: No license found
* 🏷️ Latest Release: v0.4.0 (2026-01-28)
@@ -305,28 +394,7 @@ A KISS (Keep It Simple, Stupid) configuration management system written in Ruby,
---
-### 14. log4jbench 14↙11↙9
-
-* 💻 Languages: Java (78.9%), XML (21.1%)
-* 📚 Documentation: Markdown (100.0%)
-* 📊 Commits: 4
-* 📈 Lines of Code: 774
-* 📄 Lines of Documentation: 119
-* 🏷️ Tags: 0
-* 📅 Development Period: 2026-01-09 to 2026-01-09
-* 🏆 Score: 4.5 (combines recent activity, code size, tags, and release status)
-* ⚖️ License: MIT
-* 🧪 Status: Experimental (no releases yet)
-
-
-A minimal Java tool to benchmark Log4j2 logging throughput with configurable concurrent threads and various logging configurations.
-
-=> https://codeberg.org/snonux/log4jbench View on Codeberg
-=> https://github.com/snonux/log4jbench View on GitHub
-
----
-
-### 15. totalrecall 15←15↙14
+### 18. totalrecall 18↙15←15↙14
* 💻 Languages: Go (99.0%), Shell (0.5%), YAML (0.4%)
* 📚 Documentation: Markdown (99.5%), Text (0.5%)
@@ -335,7 +403,7 @@ A minimal Java tool to benchmark Log4j2 logging throughput with configurable con
* 📄 Lines of Documentation: 377
* 🏷️ Tags: 18
* 📅 Development Period: 2025-07-14 to 2026-03-08
-* 🏆 Score: 4.4 (combines recent activity, code size, tags, and release status)
+* 🏆 Score: 4.2 (combines recent activity, code size, tags, and release status)
* ⚖️ License: MIT
* 🏷️ Latest Release: v0.8.3 (2026-03-08)
@@ -349,7 +417,7 @@ A minimal Java tool to benchmark Log4j2 logging throughput with configurable con
---
-### 16. gogios 16↙14↙11
+### 19. gogios 19↙16↙14↙11
* 💻 Languages: Go (98.9%), JSON (0.6%), YAML (0.5%)
* 📚 Documentation: Markdown (94.9%), Text (5.1%)
@@ -358,7 +426,7 @@ A minimal Java tool to benchmark Log4j2 logging throughput with configurable con
* 📄 Lines of Documentation: 394
* 🏷️ Tags: 10
* 📅 Development Period: 2023-04-17 to 2026-02-16
-* 🏆 Score: 4.4 (combines recent activity, code size, tags, and release status)
+* 🏆 Score: 4.2 (combines recent activity, code size, tags, and release status)
* ⚖️ License: Custom License
* 🏷️ Latest Release: v1.4.1 (2026-02-16)
@@ -372,7 +440,28 @@ Gogios is a lightweight and minimalistic monitoring tool not designed for large-
---
-### 17. perc 17↙16↙13
+### 20. log4jbench 20↙14↙11↙9
+
+* 💻 Languages: Java (78.9%), XML (21.1%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 4
+* 📈 Lines of Code: 774
+* 📄 Lines of Documentation: 119
+* 🏷️ Tags: 0
+* 📅 Development Period: 2026-01-09 to 2026-01-09
+* 🏆 Score: 4.1 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: MIT
+* 🧪 Status: Experimental (no releases yet)
+
+
+A minimal Java tool to benchmark Log4j2 logging throughput with configurable concurrent threads and various logging configurations.
+
+=> https://codeberg.org/snonux/log4jbench View on Codeberg
+=> https://github.com/snonux/log4jbench View on GitHub
+
+---
+
+### 21. perc 21↙17↙16↙13
* 💻 Languages: Go (100.0%)
* 📚 Documentation: Markdown (100.0%)
@@ -381,7 +470,7 @@ Gogios is a lightweight and minimalistic monitoring tool not designed for large-
* 📄 Lines of Documentation: 80
* 🏷️ Tags: 3
* 📅 Development Period: 2025-11-25 to 2025-11-25
-* 🏆 Score: 4.0 (combines recent activity, code size, tags, and release status)
+* 🏆 Score: 3.8 (combines recent activity, code size, tags, and release status)
* ⚖️ License: No license found
* 🏷️ Latest Release: v0.1.0 (2025-11-25)
@@ -393,18 +482,18 @@ A simple vibe-coded command-line percentage calculator written in Go.
---
-### 18. tasksamurai 18↙17↙16
+### 22. tasksamurai 22↙18↙17↙16
* 💻 Languages: Go (99.8%), YAML (0.2%)
* 📚 Documentation: Markdown (100.0%)
-* 📊 Commits: 235
-* 📈 Lines of Code: 6567
+* 📊 Commits: 236
+* 📈 Lines of Code: 6577
* 📄 Lines of Documentation: 251
-* 🏷️ Tags: 10
-* 📅 Development Period: 2025-06-19 to 2026-03-05
+* 🏷️ Tags: 11
+* 📅 Development Period: 2025-06-19 to 2026-03-23
* 🏆 Score: 3.6 (combines recent activity, code size, tags, and release status)
* ⚖️ License: BSD-2-Clause
-* 🏷️ Latest Release: v0.11.4 (2026-03-05)
+* 🏷️ Latest Release: v0.12.0 (2026-03-23)
=> showcase/tasksamurai/image-1.png tasksamurai screenshot
@@ -416,7 +505,7 @@ Task Samurai invokes the `task` command to read and modify tasks. The tasks are
---
-### 19. gos 19↙18←18
+### 23. gos 23↙19↙18←18
* 💻 Languages: Go (99.5%), JSON (0.2%), Shell (0.2%)
* 📚 Documentation: Markdown (100.0%)
@@ -425,7 +514,7 @@ Task Samurai invokes the `task` command to read and modify tasks. The tasks are
* 📄 Lines of Documentation: 477
* 🏷️ Tags: 15
* 📅 Development Period: 2024-05-04 to 2026-03-13
-* 🏆 Score: 2.8 (combines recent activity, code size, tags, and release status)
+* 🏆 Score: 2.7 (combines recent activity, code size, tags, and release status)
* ⚖️ License: Custom License
* 🏷️ Latest Release: v1.2.6 (2026-03-13)
@@ -439,7 +528,7 @@ Gos is a Go-based replacement for Buffer.com, providing the ability to schedule
---
-### 20. foostats 20↙19↙17
+### 24. foostats 24↙20↙19↙17
* 💻 Languages: Perl (100.0%)
* 📚 Documentation: Markdown (54.6%), Text (45.4%)
@@ -448,7 +537,7 @@ Gos is a Go-based replacement for Buffer.com, providing the ability to schedule
* 📄 Lines of Documentation: 423
* 🏷️ Tags: 2
* 📅 Development Period: 2023-01-02 to 2025-11-01
-* 🏆 Score: 2.4 (combines recent activity, code size, tags, and release status)
+* 🏆 Score: 2.3 (combines recent activity, code size, tags, and release status)
* ⚖️ License: Custom License
* 🏷️ Latest Release: v0.2.0 (2025-10-21)
@@ -460,7 +549,7 @@ A privacy-respecting web analytics tool for OpenBSD that processes HTTP/HTTPS an
---
-### 21. timr 21↙20↙19
+### 25. timr 25↙21↙20↙19
* 💻 Languages: Go (96.0%), Shell (4.0%)
* 📚 Documentation: Markdown (100.0%)
@@ -469,7 +558,7 @@ A privacy-respecting web analytics tool for OpenBSD that processes HTTP/HTTPS an
* 📄 Lines of Documentation: 99
* 🏷️ Tags: 5
* 📅 Development Period: 2025-06-25 to 2026-01-02
-* 🏆 Score: 2.3 (combines recent activity, code size, tags, and release status)
+* 🏆 Score: 2.2 (combines recent activity, code size, tags, and release status)
* ⚖️ License: MIT
* 🏷️ Latest Release: v0.3.0 (2026-01-02)
@@ -481,7 +570,7 @@ A simple command-line tool to track time spent on tasks. It has been primarily c
---
-### 22. gemtexter 22↖23↙22
+### 26. gemtexter 26↙22↖23↙22
* 💻 Languages: Shell (70.8%), CSS (26.2%), Config (1.8%), HTML (1.2%)
* 📚 Documentation: Text (76.1%), Markdown (23.9%)
@@ -490,7 +579,7 @@ A simple command-line tool to track time spent on tasks. It has been primarily c
* 📄 Lines of Documentation: 1180
* 🏷️ Tags: 6
* 📅 Development Period: 2021-05-21 to 2026-03-12
-* 🏆 Score: 2.1 (combines recent activity, code size, tags, and release status)
+* 🏆 Score: 2.0 (combines recent activity, code size, tags, and release status)
* ⚖️ License: GPL-3.0
* 🏷️ Latest Release: 3.0.0 (2024-10-01)
@@ -502,7 +591,7 @@ This is the source code of my personal internet site and blog engine. All conten
---
-### 23. wireguardmeshgenerator 23↙22↖23
+### 27. wireguardmeshgenerator 27↙23↙22↖23
* 💻 Languages: Ruby (63.5%), YAML (36.5%)
* 📚 Documentation: Markdown (100.0%)
@@ -523,7 +612,7 @@ Have a look at the `wireguardmeshgenerator.yaml`
---
-### 24. goprecords 24←24←24
+### 28. goprecords 28↙24←24←24
* 💻 Languages: Go (100.0%)
* 📚 Documentation: Markdown (100.0%)
@@ -544,30 +633,30 @@ Have a look at the `wireguardmeshgenerator.yaml`
---
-### 25. ds-sim 25←25↙21
+### 29. ioriot 29↖34↖35←35
-* 💻 Languages: Java (98.9%), Shell (0.6%), CSS (0.5%)
-* 📚 Documentation: Markdown (98.7%), Text (1.3%)
-* 📊 Commits: 438
-* 📈 Lines of Code: 25762
-* 📄 Lines of Documentation: 3101
-* 🏷️ Tags: 0
-* 📅 Development Period: 2008-05-15 to 2025-06-27
+* 💻 Languages: C (58.7%), C/C++ (22.5%), Config (17.9%), Make (1.0%)
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 84
+* 📈 Lines of Code: 13609
+* 📄 Lines of Documentation: 899
+* 🏷️ Tags: 8
+* 📅 Development Period: 2018-03-01 to 2026-03-19
* 🏆 Score: 1.2 (combines recent activity, code size, tags, and release status)
-* ⚖️ License: Custom License
-* 🧪 Status: Experimental (no releases yet)
+* ⚖️ License: Apache-2.0
+* 🏷️ Latest Release: 0.5.1 (2019-01-04)
-=> showcase/ds-sim/image-1.png ds-sim screenshot
+=> showcase/ioriot/image-1.png ioriot screenshot
-DS-Sim is a open-source simulator for distributed systems, written in Java. It provides a powerful environment for simulating and learning about distributed systems concepts.
+...is an I/O benchmarking tool for Linux based operating systems which captures I/O operations on a (possibly production) server in order to replay the exact same I/O operations on a load test machine.
-=> https://codeberg.org/snonux/ds-sim View on Codeberg
-=> https://github.com/snonux/ds-sim View on GitHub
+=> https://codeberg.org/snonux/ioriot View on Codeberg
+=> https://github.com/snonux/ioriot View on GitHub
---
-### 26. quicklogger 26←26↙25
+### 30. quicklogger 30↙26←26↙25
* 💻 Languages: Go (96.4%), XML (1.8%), Shell (1.1%), TOML (0.7%)
* 📚 Documentation: Markdown (100.0%)
@@ -590,7 +679,7 @@ This is a tiny GUI app written in Go using the Fyne framework to quickly log a m
---
-### 27. sillybench 27←27←27
+### 31. sillybench 31↙27←27←27
* 💻 Languages: Go (90.9%), Shell (9.1%)
* 📚 Documentation: Markdown (100.0%)
@@ -599,7 +688,7 @@ This is a tiny GUI app written in Go using the Fyne framework to quickly log a m
* 📄 Lines of Documentation: 3
* 🏷️ Tags: 0
* 📅 Development Period: 2025-04-03 to 2025-04-03
-* 🏆 Score: 0.7 (combines recent activity, code size, tags, and release status)
+* 🏆 Score: 0.6 (combines recent activity, code size, tags, and release status)
* ⚖️ License: No license found
* 🧪 Status: Experimental (no releases yet)
@@ -611,7 +700,7 @@ To compare how fast this runs on FreeBSD vs a Linux Bhyve VM
---
-### 28. terraform 28←28↙26
+### 32. terraform 32↙28←28↙26
* 💻 Languages: HCL (96.6%), Make (1.9%), YAML (1.5%)
* 📚 Documentation: Markdown (100.0%)
@@ -632,7 +721,7 @@ Go to AWS Secrets manager manually and create it!
---
-### 29. geheim 29↖30←30
+### 33. geheim 33↙29↖30←30
* 💻 Languages: Ruby (86.7%), Shell (13.3%)
* 📚 Documentation: Markdown (100.0%)
@@ -653,7 +742,7 @@ Go to AWS Secrets manager manually and create it!
---
-### 30. gorum 30↖31↙28
+### 34. gorum 34↙30↖31↙28
* 💻 Languages: Go (91.3%), JSON (6.4%), YAML (2.3%)
* 📚 Documentation: Markdown (100.0%)
@@ -674,7 +763,7 @@ Gogios is a minimalistic quorum manager.
---
-### 31. docker-radicale-server 31↖32↙31
+### 35. docker-radicale-server 35↙31↖32↙31
* 💻 Languages: Make (57.5%), Docker (42.5%)
* 📚 Documentation: Markdown (100.0%)
@@ -695,7 +784,7 @@ For the Radicale server https://radicale.org
---
-### 32. photoalbum 32↖33↖34
+### 36. photoalbum 36↙32↖33↖34
* 💻 Languages: Shell (80.1%), Make (12.3%), Config (7.6%)
* 📚 Documentation: Markdown (100.0%)
@@ -718,7 +807,7 @@ The resulting static photo album is pure HTML+CSS (without any JavaScript!).
---
-### 33. randomjournalpage 33↖34↙33
+### 37. randomjournalpage 37↙33↖34↙33
* 💻 Languages: Shell (94.1%), Make (5.9%)
* 📚 Documentation: Markdown (100.0%)
@@ -740,31 +829,7 @@ This is a quick and dirty script which I use personally to grab a random PDF fil
---
-### 34. ioriot 34↖35←35
-
-* 💻 Languages: C (55.5%), C/C++ (24.0%), Config (19.6%), Make (1.0%)
-* 📚 Documentation: Markdown (100.0%)
-* 📊 Commits: 50
-* 📈 Lines of Code: 12420
-* 📄 Lines of Documentation: 610
-* 🏷️ Tags: 8
-* 📅 Development Period: 2018-03-01 to 2020-01-22
-* 🏆 Score: 0.2 (combines recent activity, code size, tags, and release status)
-* ⚖️ License: Apache-2.0
-* 🏷️ Latest Release: 0.5.1 (2019-01-04)
-
-⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.
-
-=> showcase/ioriot/image-1.png ioriot screenshot
-
-...is an I/O benchmarking tool for Linux based operating systems which captures I/O operations on a (possibly production) server in order to replay the exact same I/O operations on a load test machine.
-
-=> https://codeberg.org/snonux/ioriot View on Codeberg
-=> https://github.com/snonux/ioriot View on GitHub
-
----
-
-### 35. algorithms 35↖36↙32
+### 38. algorithms 38↙35↖36↙32
* 💻 Languages: Go (99.2%), Make (0.8%)
* 📚 Documentation: Markdown (100.0%)
@@ -786,7 +851,7 @@ This includes exercises from the Algorithms lecture. Well, this is just a refres
---
-### 36. ipv6test 36↖37↙36
+### 39. ipv6test 39↙36↖37↙36
* 💻 Languages: Perl (65.8%), Docker (34.2%)
* 📚 Documentation: Markdown (100.0%)
@@ -807,7 +872,7 @@ This is a quick and dirty Perl-based IPv6 test website.
---
-### 37. staticfarm-apache-handlers 37↖38↖40
+### 40. staticfarm-apache-handlers 40↙37↖38↖40
* 💻 Languages: Perl (96.4%), Make (3.6%)
* 📚 Documentation: Text (100.0%)
@@ -830,7 +895,7 @@ DEPRECATED
---
-### 38. sway-autorotate 38↖39↙38
+### 41. sway-autorotate 41↙38↖39↙38
* 💻 Languages: Shell (100.0%)
* 📚 Documentation: Markdown (100.0%)
@@ -851,7 +916,7 @@ This is a fork of https://github.com/tedk0n/autorotate_sway_script
---
-### 39. guprecords 39↙29←29
+### 42. guprecords 42↙39↙29←29
* 💻 Languages: Raku (100.0%)
* 📊 Commits: 97
@@ -871,7 +936,7 @@ guprecords: source code repository.
---
-### 40. mon 40←40↙39
+### 43. mon 43↙40←40↙39
* 💻 Languages: Perl (96.5%), Shell (1.8%), Make (1.2%), Config (0.4%)
* 📚 Documentation: Text (100.0%)
@@ -894,7 +959,7 @@ DEPRECATED
---
-### 41. fapi 41←41↖44
+### 44. fapi 44↙41←41↖44
* 💻 Languages: Python (96.6%), Make (3.1%), Config (0.3%)
* 📚 Documentation: Text (98.3%), Markdown (1.7%)
@@ -917,7 +982,7 @@ DEPRECATED
---
-### 42. pingdomfetch 42←42↙41
+### 45. pingdomfetch 45↙42←42↙41
* 💻 Languages: Perl (97.3%), Make (2.7%)
* 📚 Documentation: Text (100.0%)
@@ -940,7 +1005,7 @@ DEPRECATED
---
-### 43. fype 43←43↙37
+### 46. fype 46↙43←43↙37
* 💻 Languages: C (77.3%), C/C++ (13.1%), HTML (7.5%), Make (2.1%)
* 📚 Documentation: Text (65.8%), LaTeX (20.5%), Markdown (13.7%)
@@ -961,7 +1026,7 @@ DEPRECATED
---
-### 44. pwgrep 44←44↖50
+### 47. pwgrep 47↙44←44↖50
* 💻 Languages: Shell (85.0%), Make (15.0%)
* 📚 Documentation: Text (75.0%), Markdown (25.0%)
@@ -982,7 +1047,7 @@ DEPRECATED
---
-### 45. xerl 45←45↙42
+### 48. xerl 48↙45←45↙42
* 💻 Languages: Perl (98.3%), Config (1.2%), Make (0.5%)
* 📊 Commits: 671
@@ -1001,7 +1066,7 @@ Those are the host templates to be used with Xerl itself.
---
-### 46. awksite 46←46↖61
+### 49. awksite 49↙46←46↖61
* 💻 Languages: AWK (72.1%), HTML (16.4%), Config (11.5%)
* 📚 Documentation: Markdown (50.0%), Text (50.0%)
@@ -1022,7 +1087,7 @@ Those are the host templates to be used with Xerl itself.
---
-### 47. gotop 47←47↖48
+### 50. gotop 50↙47←47↖48
* 💻 Languages: Go (98.0%), Make (2.0%)
* 📚 Documentation: Markdown (60.0%), Text (40.0%)
@@ -1043,7 +1108,7 @@ Those are the host templates to be used with Xerl itself.
---
-### 48. japi 48←48↖53
+### 51. japi 51↙48←48↖53
* 💻 Languages: Perl (78.3%), Make (21.7%)
* 📚 Documentation: Text (100.0%)
@@ -1066,7 +1131,7 @@ DEPRECATED
---
-### 49. rubyfy 49↖50↙49
+### 52. rubyfy 52↙49↖50↙49
* 💻 Languages: Ruby (98.5%), JSON (1.5%)
* 📚 Documentation: Markdown (100.0%)
@@ -1087,7 +1152,7 @@ DEPRECATED
---
-### 50. perl-c-fibonacci 50↖51↙45
+### 53. perl-c-fibonacci 53↙50↖51↙45
* 💻 Languages: C (80.4%), Make (19.6%)
* 📚 Documentation: Text (100.0%)
@@ -1109,7 +1174,7 @@ perl-c-fibonacci: source code repository.
---
-### 51. netdiff 51↖52↖56
+### 54. netdiff 54↙51↖52↖56
* 💻 Languages: Shell (52.2%), Make (46.3%), Config (1.5%)
* 📚 Documentation: Text (100.0%)
@@ -1132,7 +1197,7 @@ DEPRECATED
---
-### 52. perldaemon 52↙49↖51
+### 55. perldaemon 55↙52↙49↖51
* 💻 Languages: Perl (74.2%), Shell (22.2%), Config (3.6%)
* 📊 Commits: 111
@@ -1153,7 +1218,7 @@ programmed in Perl. It can be extended to fit any task...
---
-### 53. jsmstrade 53←53↙52
+### 56. jsmstrade 56↙53←53↙52
* 💻 Languages: Java (76.0%), Shell (15.4%), XML (8.6%)
* 📚 Documentation: Markdown (100.0%)
@@ -1176,7 +1241,7 @@ programmed in Perl. It can be extended to fit any task...
---
-### 54. muttdelay 54←54↖55
+### 57. muttdelay 57↙54←54↖55
* 💻 Languages: Make (47.1%), Shell (46.3%), Vim Script (5.9%), Config (0.7%)
* 📚 Documentation: Text (100.0%)
@@ -1199,7 +1264,7 @@ DEPRECATED
---
-### 55. netcalendar 55←55↙46
+### 58. netcalendar 58↙55←55↙46
* 💻 Languages: Java (83.0%), HTML (12.9%), XML (3.0%), CSS (0.8%), Make (0.2%)
* 📚 Documentation: Text (89.5%), Markdown (10.5%)
@@ -1222,7 +1287,7 @@ DEPRECATED
---
-### 56. vs-sim 56↖63←63
+### 59. vs-sim 59↙56↖63←63
* 💻 Languages: Java (98.8%), Shell (0.7%), XML (0.4%)
* 📚 Documentation: LaTeX (98.3%), Text (1.4%), Markdown (0.3%)
@@ -1245,7 +1310,7 @@ VS-Sim is an open source simulator programmed in Java for distributed systems. V
---
-### 57. cpuinfo 57↙56↖59
+### 60. cpuinfo 60↙57↙56↖59
* 💻 Languages: Shell (53.2%), Make (46.8%)
* 📚 Documentation: Text (100.0%)
@@ -1267,7 +1332,7 @@ cpuinfo - A small and humble tool to print out CPU data
---
-### 58. template 58↙57↖60
+### 61. template 61↙58↙57↖60
* 💻 Languages: Make (89.2%), Shell (10.8%)
* 📚 Documentation: Text (100.0%)
@@ -1290,7 +1355,7 @@ DEPRECATED
---
-### 59. dyndns 59↙58↖62
+### 62. dyndns 62↙59↙58↖62
* 💻 Languages: Shell (100.0%)
* 📚 Documentation: Text (100.0%)
@@ -1313,7 +1378,7 @@ DEPRECATED
---
-### 60. debroid 60↙59↙57
+### 63. debroid 63↙60↙59↙57
* 💻 Languages: Shell (92.0%), Make (8.0%)
* 📚 Documentation: Markdown (100.0%)
@@ -1336,7 +1401,7 @@ DEPRECATED
---
-### 61. perl-poetry 61↙60↙54
+### 64. perl-poetry 64↙61↙60↙54
* 💻 Languages: Perl (100.0%)
* 📚 Documentation: Markdown (100.0%)
@@ -1358,7 +1423,7 @@ Here you find some Poetry written in Perl.
---
-### 62. hsbot 62↙61↙58
+### 65. hsbot 65↙62↙61↙58
* 💻 Languages: Haskell (98.5%), Make (1.5%)
* 📊 Commits: 81
@@ -1378,7 +1443,7 @@ feature additions will be made. Use at your own risk.
---
-### 63. ychat 63↙62↙43
+### 66. ychat 66↙63↙62↙43
* 📚 Documentation: Text (100.0%)
* 📊 Commits: 67
@@ -1399,7 +1464,27 @@ ychat: source code repository.
---
-### 64. foo.zone 64←64↙6
+### 67. snonux.foo 67
+
+* 📚 Documentation: Markdown (100.0%)
+* 📊 Commits: 1
+* 📈 Lines of Code: 0
+* 📄 Lines of Documentation: 10
+* 🏷️ Tags: 0
+* 📅 Development Period: 2026-03-21 to 2026-03-21
+* 🏆 Score: 0.0 (combines recent activity, code size, tags, and release status)
+* ⚖️ License: No license found
+* 🧪 Status: Experimental (no releases yet)
+
+
+This directory belongs to the [snonux](https://codeberg.org/snonux/snonux) microblog generator project.
+
+=> https://codeberg.org/snonux/snonux.foo View on Codeberg
+=> https://github.com/snonux/snonux.foo View on GitHub
+
+---
+
+### 68. foo.zone 68↙64←64↙6
* 📚 Documentation: Markdown (100.0%)
* 📊 Commits: 3643
diff --git a/about/showcase/debroid/image-1.png b/about/showcase/debroid/image-1.png
index c21e60d9..9b8c1524 100644
--- a/about/showcase/debroid/image-1.png
+++ b/about/showcase/debroid/image-1.png
@@ -44,64 +44,64 @@
}
</style>
- <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-6da842159062d25e.css" />
- <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-b55097560d244c08.css" />
- <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-52276e82f63bb403.css" />
- <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-6e7c458caf1e80bb.css" />
+ <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-primitives-10bf9dd67e3d70bd.css" />
+ <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-0fcd9af82350aeda.css" />
+ <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/global-a40b6ece39d70d4a.css" />
+ <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/github-b02a278369fa132e.css" />
- <script type="application/json" id="client-env">{"locale":"en","featureFlags":["a11y_status_checks_ruleset","actions_custom_images_public_preview_visibility","actions_custom_images_storage_billing_ui_visibility","actions_image_version_event","actions_scheduled_workflow_timezone_enabled","alternate_user_config_repo","arianotify_comprehensive_migration","batch_suggested_changes","codespaces_prebuild_region_target_update","coding_agent_model_selection","coding_agent_model_selection_all_skus","contentful_primer_code_blocks","copilot_agent_image_upload","copilot_agent_snippy","copilot_api_agentic_issue_marshal_yaml","copilot_ask_mode_dropdown","copilot_chat_attach_multiple_images","copilot_chat_clear_model_selection_for_default_change","copilot_chat_enable_tool_call_logs","copilot_chat_file_redirect","copilot_chat_input_commands","copilot_chat_opening_thread_switch","copilot_chat_reduce_quota_checks","copilot_chat_repository_picker","copilot_chat_search_bar_redirect","copilot_chat_selection_attachments","copilot_chat_vision_in_claude","copilot_chat_vision_preview_gate","copilot_cli_install_cta","copilot_code_review_batch_apply_suggestions","copilot_coding_agent_task_response","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_duplicate_thread","copilot_extensions_hide_in_dotcom_chat","copilot_extensions_removal_on_marketplace","copilot_features_sql_server_logo","copilot_features_zed_logo","copilot_file_block_ref_matching","copilot_ftp_hyperspace_upgrade_prompt","copilot_icebreakers_experiment_dashboard","copilot_icebreakers_experiment_hyperspace","copilot_immersive_embedded","copilot_immersive_job_result_preview","copilot_immersive_layout_routes","copilot_immersive_structured_model_picker","copilot_immersive_task_hyperlinking","copilot_immersive_task_within_chat_thread","copilot_mc_cli_resume_any_users_task","copilot_mission_control_always_send_integration_id","copilot_mission_control_cli_resume_with_task_id","copilot_mission_control_decoupled_mode_agent_tooltip","copilot_mission_control_initial_data_spinner","copilot_mission_control_scroll_to_bottom_button","copilot_mission_control_task_alive_updates","copilot_mission_control_use_task_name","copilot_org_policy_page_focus_mode","copilot_redirect_header_button_to_agents","copilot_resource_panel","copilot_scroll_preview_tabs","copilot_share_active_subthread","copilot_spaces_ga","copilot_spaces_individual_policies_ga","copilot_spaces_pagination","copilot_spark_empty_state","copilot_spark_handle_nil_friendly_name","copilot_swe_agent_hide_model_picker_if_only_auto","copilot_swe_agent_pr_comment_model_picker","copilot_swe_agent_use_subagents","copilot_task_api_github_rest_style","copilot_unconfigured_is_inherited","copilot_usage_metrics_ga","copilot_workbench_slim_line_top_tabs","custom_instructions_file_references","custom_properties_consolidate_default_value_input","dashboard_add_updated_desc","dashboard_indexeddb_caching","dashboard_lists_max_age_filter","dashboard_universe_2025_feedback_dialog","disable_soft_navigate_turbo_visit","flex_cta_groups_mvp","global_nav_react","global_nav_ui_commands","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","ipm_global_transactional_message_agents","ipm_global_transactional_message_copilot","ipm_global_transactional_message_issues","ipm_global_transactional_message_prs","ipm_global_transactional_message_repos","ipm_global_transactional_message_spaces","issue_fields_global_search","issue_fields_timeline_events","issue_fields_visibility_settings","issue_form_upload_field_paste","issues_dashboard_inp_optimization","issues_dashboard_semantic_search","issues_diff_based_label_updates","issues_expanded_file_types","issues_index_semantic_search","issues_lazy_load_comment_box_suggestions","issues_react_bots_timeline_pagination","issues_react_chrome_container_query_fix","issues_react_low_quality_comment_warning","issues_react_prohibit_title_fallback","landing_pages_ninetailed","landing_pages_web_vitals_tracking","lifecycle_label_name_updates","marketing_pages_search_explore_provider","memex_default_issue_create_repository","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","merge_status_header_feedback","mission_control_retry_on_401","notifications_menu_defer_labels","oauth_authorize_clickjacking_protection","open_agent_session_in_vscode_insiders","open_agent_session_in_vscode_stable","primer_react_css_has_selector_perf","primer_react_spinner_synchronize_animations","prs_conversations_react","prx_merge_status_button_alt_logic","pulls_add_archived_false","ruleset_deletion_confirmation","sample_network_conn_type","session_logs_ungroup_reasoning_text","site_calculator_actions_2025","site_features_copilot_universe","site_homepage_collaborate_video","spark_prompt_secret_scanning","spark_server_connection_status","suppress_automated_browser_vitals","suppress_non_representative_vitals","viewscreen_sandbox","webp_support","workbench_store_readonly"],"copilotApiOverrideUrl":"https://api.githubcopilot.com"}</script>
+ <script type="application/json" id="client-env">{"locale":"en","featureFlags":["a11y_status_checks_ruleset","actions_custom_images_storage_billing_ui_visibility","actions_image_version_event","actions_scheduled_workflow_timezone_enabled","alternate_user_config_repo","arianotify_comprehensive_migration","batch_suggested_changes","billing_discount_threshold_notification","close_pr_side_panel","codespaces_prebuild_region_target_update","coding_agent_model_selection","coding_agent_model_selection_all_skus","contentful_primer_code_blocks","copilot_agent_image_upload","copilot_agent_snippy","copilot_api_agentic_issue_marshal_yaml","copilot_ask_mode_dropdown","copilot_chat_attach_multiple_images","copilot_chat_clear_model_selection_for_default_change","copilot_chat_enable_tool_call_logs","copilot_chat_explain_error_user_model","copilot_chat_file_redirect","copilot_chat_input_commands","copilot_chat_opening_thread_switch","copilot_chat_reduce_quota_checks","copilot_chat_repository_picker","copilot_chat_search_bar_redirect","copilot_chat_selection_attachments","copilot_chat_vision_in_claude","copilot_chat_vision_preview_gate","copilot_cli_install_cta","copilot_code_review_batch_apply_suggestions","copilot_coding_agent_task_response","copilot_custom_copilots","copilot_custom_copilots_feature_preview","copilot_duplicate_thread","copilot_extensions_hide_in_dotcom_chat","copilot_extensions_removal_on_marketplace","copilot_features_sql_server_logo","copilot_features_zed_logo","copilot_file_block_ref_matching","copilot_ftp_hyperspace_upgrade_prompt","copilot_icebreakers_experiment_dashboard","copilot_icebreakers_experiment_hyperspace","copilot_immersive_embedded","copilot_immersive_file_block_transition_open","copilot_immersive_file_preview_keep_mounted","copilot_immersive_job_result_preview","copilot_immersive_layout_routes","copilot_immersive_structured_model_picker","copilot_immersive_task_hyperlinking","copilot_immersive_task_within_chat_thread","copilot_mc_cli_resume_any_users_task","copilot_mission_control_always_send_integration_id","copilot_mission_control_cli_resume_with_task_id","copilot_mission_control_decoupled_mode_agent_tooltip","copilot_mission_control_initial_data_spinner","copilot_mission_control_scroll_to_bottom_button","copilot_mission_control_task_alive_updates","copilot_mission_control_use_task_name","copilot_org_policy_page_focus_mode","copilot_redirect_header_button_to_agents","copilot_resource_panel","copilot_scroll_preview_tabs","copilot_share_active_subthread","copilot_spaces_ga","copilot_spaces_individual_policies_ga","copilot_spaces_pagination","copilot_spark_empty_state","copilot_spark_handle_nil_friendly_name","copilot_swe_agent_hide_model_picker_if_only_auto","copilot_swe_agent_pr_comment_model_picker","copilot_swe_agent_use_subagents","copilot_task_api_github_rest_style","copilot_unconfigured_is_inherited","copilot_usage_metrics_ga","copilot_workbench_slim_line_top_tabs","custom_instructions_file_references","custom_properties_consolidate_default_value_input","dashboard_add_updated_desc","dashboard_indexeddb_caching","dashboard_lists_max_age_filter","dashboard_universe_2025_feedback_dialog","flex_cta_groups_mvp","global_nav_react","global_nav_unified_payload","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","ipm_global_transactional_message_agents","ipm_global_transactional_message_copilot","ipm_global_transactional_message_issues","ipm_global_transactional_message_prs","ipm_global_transactional_message_repos","ipm_global_transactional_message_spaces","issue_cca_modal_open","issue_cca_visualization","issue_fields_global_search","issue_fields_visibility_settings","issues_dashboard_inp_optimization","issues_diff_based_label_updates","issues_expanded_file_types","issues_index_semantic_search","issues_lazy_load_comment_box_suggestions","issues_react_bots_timeline_pagination","issues_react_chrome_container_query_fix","issues_react_prohibit_title_fallback","issues_search_type_gql","landing_pages_ninetailed","landing_pages_web_vitals_tracking","lifecycle_label_name_updates","marketing_pages_search_explore_provider","memex_default_issue_create_repository","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","merge_status_header_feedback","mission_control_retry_on_401","oauth_authorize_clickjacking_protection","open_agent_session_in_vscode_insiders","open_agent_session_in_vscode_stable","primer_react_action_menu_display_in_viewport_inside_dialog","primer_react_css_has_selector_perf","primer_react_spinner_synchronize_animations","prs_conversations_react","prx_merge_status_button_alt_logic","ruleset_deletion_confirmation","sample_network_conn_type","session_logs_ungroup_reasoning_text","site_features_copilot_universe","site_homepage_collaborate_video","spark_prompt_secret_scanning","spark_server_connection_status","suppress_automated_browser_vitals","suppress_non_representative_vitals","viewscreen_sandbox","webp_support","workbench_store_readonly"],"copilotApiOverrideUrl":"https://api.githubcopilot.com"}</script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/high-contrast-cookie-6d9b25bb81324e28.js"></script>
-<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/wp-runtime-56e3253ab3589561.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/wp-runtime-b4f751402c890a20.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/28839-c0b8ec9e4855e70d.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/85924-d72bd3bf2ebf2b33.js" defer="defer"></script>
-<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/34646-b8591bde7c6dfc95.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/34646-5136272fb208a9a7.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/environment-d875a2db42d84bc1.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/runtime-helpers-9ca289a20b4287f3.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/2966-7fae197fcc122033.js" defer="defer"></script>
-<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/96232-9ad451468017b312.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/96232-81264b2e484eeea3.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/41013-98ec62b138074b3c.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/51210-4f6b60f1e56caf0b.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/77313-833d857459e22419.js" defer="defer"></script>
-<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/95150-62e60f2748c6241e.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/23039-9d3ed8a305267b36.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/8601-bd8c9578beeca5fa.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/46740-6ff37d25440dfd5f.js" defer="defer"></script>
-<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/74071-fa61cd1f62507633.js" defer="defer"></script>
-<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/github-elements-129990c381f1a17c.js" defer="defer"></script>
-<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/element-registry-26a4ba47566b63f1.js" defer="defer"></script>
-<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/react-core-1b7e0e8bea30ae82.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/52375-7184639d75711668.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/github-elements-17007c6e1a0ff4e7.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/element-registry-676976fa82e31910.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/react-core-eff3f3e27186f71c.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/react-lib-3f8a185bb97e4f4c.js" defer="defer"></script>
-<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/7053-059cc82f993d345a.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/7053-9ff0fc016f8d6134.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/79039-13dc534ba9c6a63e.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/61110-91a6e672e6c52371.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/2887-7374f895742e2de6.js" defer="defer"></script>
-<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/26533-3b7304f75d999c48.js" defer="defer"></script>
-<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/18728-82d661dfa4f3f257.js" defer="defer"></script>
-<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/12734-bef5da8f594c610e.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/26533-be3434b1ad736595.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/97745-17bf40209ad1b441.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/89155-cd29998a39b55887.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/50686-203ca12c697307e6.js" defer="defer"></script>
-<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/63225-709573646523acd4.js" defer="defer"></script>
-<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/60481-2dd020b8c4505ee4.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/46779-a5e6403e1f8c73d8.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/46287-4caff6a8b1d9f9be.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/2498-97555f2269e8a9bd.js" defer="defer"></script>
-<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/57073-82b72117f7081d82.js" defer="defer"></script>
-<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/15625-1fe1313c1426464a.js" defer="defer"></script>
-<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/48527-f916f0db97fcaa0a.js" defer="defer"></script>
-<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/28703-b65c10948d4038cd.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/1108-d04e2e16dc98da37.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/18597-6dc8f1f774696932.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/15625-05373890466bf366.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/48527-5de266b1da5c2e34.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/28703-c1456f1aa61b245d.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/99328-91354dc331fd4cdd.js" defer="defer"></script>
-<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/9211-14ddcc73f1441433.js" defer="defer"></script>
-<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/91184-962677183b5639ee.js" defer="defer"></script>
-<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/97232-f296cf9f18a015f8.js" defer="defer"></script>
-<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/87774-a49163e290691688.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/37943-3c619d65dd869b67.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/91184-657c34dc2b380c4c.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/97232-829cc8b566d31458.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/87774-cb19ae155ee3c918.js" defer="defer"></script>
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/27493-4c94010ef4ae1e22.js" defer="defer"></script>
-<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/56889-a22c1e3369fa0b5c.js" defer="defer"></script>
-<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/2013-ba4f72f3bac703ac.js" defer="defer"></script>
-<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/81564-b397683e312aecfa.js" defer="defer"></script>
-<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-37b783d7805ef831.js" defer="defer"></script>
-<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/react-core.014e3a1ebc051a2d.module.css" />
-<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/38302-3e712631658bb3b9.js" defer="defer"></script>
-<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/notifications-global-26855372e0da920b.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/56889-3812304955862655.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/2013-126bbbb468be7e3b.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/81564-fd44bec50cee3386.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/behaviors-d3521afce6f6e9b2.js" defer="defer"></script>
+<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/react-core.364eade98ee7744f.module.css" />
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/81863-518132d704f3d667.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/notifications-global-f520baa344c4ccaf.js" defer="defer"></script>
<title>Page not found · GitHub · GitHub</title>
@@ -111,13 +111,13 @@
<meta name="route-pattern" content="/:user_id/:repository/blob/*name(/*path)" data-turbo-transient>
<meta name="route-controller" content="blob" data-turbo-transient>
<meta name="route-action" content="show" data-turbo-transient>
- <meta name="fetch-nonce" content="v2:56a54707-dfbc-3f80-eb08-03dad91cada5">
+ <meta name="fetch-nonce" content="v2:5df110a7-f9a3-078e-6d34-94a0b1f0c5e9">
<meta name="current-catalog-service-hash" content="f3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb">
- <meta name="request-id" content="9E4E:28D6A:106FA2C:ACB434:69BCFE37" data-pjax-transient="true"/><meta name="html-safe-nonce" content="96d60d5d9727997ed1809ead1a039cc114391568fa8c13f0159f1bc6ded96c84" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI5RTRFOjI4RDZBOjEwNkZBMkM6QUNCNDM0OjY5QkNGRTM3IiwidmlzaXRvcl9pZCI6IjUxODE3MDcyNDk1MTQ1NzMzNSIsInJlZ2lvbl9lZGdlIjoiZnJhIiwicmVnaW9uX3JlbmRlciI6ImZyYSJ9" data-pjax-transient="true"/><meta name="visitor-hmac" content="64ba7f323a69559624baa93f4c3f4d4ee8af77b4f9c62586b24bd980bf18b94f" data-pjax-transient="true"/>
+ <meta name="request-id" content="DC04:289065:1BC60B:128522:69C6A21A" data-pjax-transient="true"/><meta name="html-safe-nonce" content="f0b879d47af01f8105d69d06e06d371f8f0a4dca0045664fe3761b5cf9b975bb" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJEQzA0OjI4OTA2NToxQkM2MEI6MTI4NTIyOjY5QzZBMjFBIiwidmlzaXRvcl9pZCI6IjE4MDk2NjI3OTgzMzEwMDgyNiIsInJlZ2lvbl9lZGdlIjoiZnJhIiwicmVnaW9uX3JlbmRlciI6ImZyYSJ9" data-pjax-transient="true"/><meta name="visitor-hmac" content="22423299cc9746af07690b9b729907b048e64f393f9192622840bb7b0533a310" data-pjax-transient="true"/>
@@ -197,14 +197,14 @@
<meta name="expected-hostname" content="github.com">
- <meta http-equiv="x-pjax-version" content="a144fb68e7a2f679e57fc5c861f8bf165a26e4cb09d9483af2601b007d62d38a" data-turbo-track="reload">
+ <meta http-equiv="x-pjax-version" content="cf17f9cd0c2826af636b5d92bcc5280999fc1c7c8a7522f67cd8857fd5022331" data-turbo-track="reload">
<meta http-equiv="x-pjax-csp-version" content="568c098497d98702bac1642a2a853732a047a6ced28eabd3e15d50041a890235" data-turbo-track="reload">
- <meta http-equiv="x-pjax-css-version" content="14cd479141a7a67677424d0f1432004fdabb26007aa9de515c2dbc76e47cdf83" data-turbo-track="reload">
- <meta http-equiv="x-pjax-js-version" content="28f5c989f89b0f93124c54c1b0c0bf0e5566018ec12fda9d9575bea8d352aaa4" data-turbo-track="reload">
+ <meta http-equiv="x-pjax-css-version" content="2a11dc2eae08fab707a6ec4f9b210809c57fcffc99ec34a2e6f0046296cc07e6" data-turbo-track="reload">
+ <meta http-equiv="x-pjax-js-version" content="b0dfe89d9ed3408bd90c7350d12043a143faaeb41f604822fe4f0cbbadad8a07" data-turbo-track="reload">
<meta name="turbo-cache-control" content="no-preview" data-turbo-transient="">
- <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/site-984d942ec490ca43.css" />
+ <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/site-4884328cf1d6633f.css" />
<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/error-9736b9816c3df531.css" />
<meta name="is_logged_out_page" content="true">
@@ -223,7 +223,7 @@
<meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors">
- <meta name="release" content="5cf4cd8238dd4bca380c8509ef2f055f0d68a990">
+ <meta name="release" content="79ed70411a3c30c35d85b320055b2493d6c602b5">
<meta name="ui-target" content="full">
<link rel="mask-icon" href="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" color="#000000">
@@ -250,8 +250,8 @@
<span style="width: 0%;" data-view-component="true" class="Progress-item progress-pjax-loader-bar left-0 top-0 color-bg-accent-emphasis"></span>
</span>
- <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.6dd722c034c861a4.module.css" />
-<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/keyboard-shortcuts-dialog.3224476c3d142e24.module.css" />
+ <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.a7c2e61315e78ba2.module.css" />
+<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/keyboard-shortcuts-dialog.be67227d646883be.module.css" />
<react-partial
partial-name="keyboard-shortcuts-dialog"
@@ -274,8 +274,8 @@
<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/46752-06df1a7bce5e9ba9.js" defer="defer"></script>
-<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/93308-59bc73bd78f63174.js" defer="defer"></script>
-<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/sessions-a663cbddb3957792.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/86735-25b6ede3f731457a.js" defer="defer"></script>
+<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/sessions-90539e93104f869a.js" defer="defer"></script>
<style>
/* Override primer focus outline color for marketing header dropdown links for better contrast */
@@ -308,7 +308,7 @@
aria-label="Homepage"
data-analytics-event="{&quot;category&quot;:&quot;Marketing nav&quot;,&quot;action&quot;:&quot;click to go to homepage&quot;,&quot;label&quot;:&quot;ref_page:Marketing;ref_cta:Logomark;ref_loc:Header&quot;}">
<svg height="32" aria-hidden="true" viewBox="0 0 24 24" version="1.1" width="32" data-view-component="true" class="octicon octicon-mark-github">
- <path d="M10.303 16.652c-2.837-.344-4.835-2.385-4.835-5.028 0-1.074.387-2.235 1.031-3.008-.279-.709-.236-2.214.086-2.837.86-.107 2.02.344 2.708.967.816-.258 1.676-.386 2.728-.386 1.053 0 1.913.128 2.686.365.666-.602 1.848-1.053 2.708-.946.3.581.344 2.085.064 2.815.688.817 1.053 1.913 1.053 3.03 0 2.643-1.998 4.641-4.877 5.006.73.473 1.224 1.504 1.224 2.686v2.235c0 .644.537 1.01 1.182.752 3.889-1.483 6.94-5.372 6.94-10.185 0-6.081-4.942-11.044-11.022-11.044-6.081 0-10.98 4.963-10.98 11.044a10.84 10.84 0 0 0 7.112 10.206c.58.215 1.139-.172 1.139-.752v-1.719a2.768 2.768 0 0 1-1.032.215c-1.418 0-2.256-.773-2.857-2.213-.237-.58-.495-.924-.989-.988-.258-.022-.344-.129-.344-.258 0-.258.43-.451.86-.451.623 0 1.16.386 1.719 1.181.43.623.881.903 1.418.903.537 0 .881-.194 1.375-.688.365-.365.645-.687.903-.902Z"></path>
+ <path d="M10.226 17.284c-2.965-.36-5.054-2.493-5.054-5.256 0-1.123.404-2.336 1.078-3.144-.292-.741-.247-2.314.09-2.965.898-.112 2.111.36 2.83 1.01.853-.269 1.752-.404 2.853-.404 1.1 0 1.999.135 2.807.382.696-.629 1.932-1.1 2.83-.988.315.606.36 2.179.067 2.942.72.854 1.101 2 1.101 3.167 0 2.763-2.089 4.852-5.098 5.234.763.494 1.28 1.572 1.28 2.807v2.336c0 .674.561 1.056 1.235.786 4.066-1.55 7.255-5.615 7.255-10.646C23.5 6.188 18.334 1 11.978 1 5.62 1 .5 6.188.5 12.545c0 4.986 3.167 9.12 7.435 10.669.606.225 1.19-.18 1.19-.786V20.63a2.9 2.9 0 0 1-1.078.224c-1.483 0-2.359-.808-2.987-2.313-.247-.607-.517-.966-1.034-1.033-.27-.023-.359-.135-.359-.27 0-.27.45-.471.898-.471.652 0 1.213.404 1.797 1.235.45.651.921.943 1.483.943.561 0 .92-.202 1.437-.719.382-.381.674-.718.944-.943"></path>
</svg>
</a>
@@ -323,14 +323,14 @@
</a>
<div class="AppHeader-appearanceSettings">
<react-partial-anchor>
- <button data-target="react-partial-anchor.anchor" id="icon-button-e73de788-a39e-47bd-b818-7d902ba6e8ab" aria-labelledby="tooltip-699d8e9e-5e6c-4ab5-9328-3f44f1b97ea1" type="button" disabled="disabled" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium AppHeader-button HeaderMenu-link border cursor-wait"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-sliders Button-visual">
+ <button data-target="react-partial-anchor.anchor" id="icon-button-b954a0c0-87df-4a1b-acb6-108297cb714c" aria-labelledby="tooltip-e3d3da88-78a7-4e30-9ce2-60424288aedc" type="button" disabled="disabled" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium AppHeader-button HeaderMenu-link border cursor-wait"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-sliders Button-visual">
<path d="M15 2.75a.75.75 0 0 1-.75.75h-4a.75.75 0 0 1 0-1.5h4a.75.75 0 0 1 .75.75Zm-8.5.75v1.25a.75.75 0 0 0 1.5 0v-4a.75.75 0 0 0-1.5 0V2H1.75a.75.75 0 0 0 0 1.5H6.5Zm1.25 5.25a.75.75 0 0 0 0-1.5h-6a.75.75 0 0 0 0 1.5h6ZM15 8a.75.75 0 0 1-.75.75H11.5V10a.75.75 0 1 1-1.5 0V6a.75.75 0 0 1 1.5 0v1.25h2.75A.75.75 0 0 1 15 8Zm-9 5.25v-2a.75.75 0 0 0-1.5 0v1.25H1.75a.75.75 0 0 0 0 1.5H4.5v1.25a.75.75 0 0 0 1.5 0v-2Zm9 0a.75.75 0 0 1-.75.75h-6a.75.75 0 0 1 0-1.5h6a.75.75 0 0 1 .75.75Z"></path>
</svg>
-</button><tool-tip id="tooltip-699d8e9e-5e6c-4ab5-9328-3f44f1b97ea1" for="icon-button-e73de788-a39e-47bd-b818-7d902ba6e8ab" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Appearance settings</tool-tip>
+</button><tool-tip id="tooltip-e3d3da88-78a7-4e30-9ce2-60424288aedc" for="icon-button-b954a0c0-87df-4a1b-acb6-108297cb714c" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Appearance settings</tool-tip>
<template data-target="react-partial-anchor.template">
- <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.6dd722c034c861a4.module.css" />
-<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/appearance-settings.36be0d8866eb1b54.module.css" />
+ <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.a7c2e61315e78ba2.module.css" />
+<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/appearance-settings.5c7ccb6a718f6c1b.module.css" />
<react-partial
partial-name="appearance-settings"
@@ -354,8 +354,8 @@
<div class="HeaderMenu js-header-menu height-fit position-lg-relative d-lg-flex flex-column flex-auto top-0">
<div class="HeaderMenu-wrapper d-flex flex-column flex-self-start flex-lg-row flex-auto rounded rounded-lg-0">
- <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.6dd722c034c861a4.module.css" />
-<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/marketing-navigation.d11e438e7c4246d8.module.css" />
+ <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.a7c2e61315e78ba2.module.css" />
+<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/marketing-navigation.0d061fa8a7d6603d.module.css" />
<react-partial
partial-name="marketing-navigation"
@@ -374,7 +374,7 @@
-<qbsearch-input class="search-input" data-scope="owner:buetow" data-custom-scopes-path="/search/custom_scopes" data-delete-custom-scopes-csrf="YkAGMMdLh-O-ezO2UBa8pxLgw5Hwb68_VhOALyzaEOsljTmtE6pqnwXW-hmas6gyyOjQFA8J0WQfgW2CicdDlQ" data-max-custom-scopes="10" data-header-redesign-enabled="false" data-initial-value="" data-blackbird-suggestions-path="/search/suggestions" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" data-current-repository="" data-current-org="" data-current-owner="" data-logged-in="false" data-copilot-chat-enabled="false" data-nl-search-enabled="false" data-retain-scroll-position="true">
+<qbsearch-input class="search-input" data-scope="owner:buetow" data-custom-scopes-path="/search/custom_scopes" data-delete-custom-scopes-csrf="CenOQ7v1mlOJeJ5WTm41tEbMX2mUDaZJgghC1JCDPOhBu01brlgZoRJFSdF_dCvcwANNcvcZ-9T_glnCIaE2dA" data-max-custom-scopes="10" data-header-redesign-enabled="false" data-initial-value="" data-blackbird-suggestions-path="/search/suggestions" data-jump-to-suggestions-path="/_graphql/GetSuggestedNavigationDestinations" data-current-repository="" data-current-org="" data-current-owner="" data-logged-in="false" data-copilot-chat-enabled="false" data-nl-search-enabled="false" data-retain-scroll-position="true">
<div
class="search-input-container search-with-dialog position-relative d-flex flex-row flex-items-center tmp-mr-4 rounded"
data-action="click:qbsearch-input#searchInputContainerClicked"
@@ -438,7 +438,7 @@
></div>
<div class="QueryBuilder-InputWrapper">
<div aria-hidden="true" class="QueryBuilder-Sizer" data-target="query-builder.sizer"></div>
- <input id="query-builder-test" name="query-builder-test" value="" autocomplete="off" type="text" role="combobox" spellcheck="false" aria-expanded="false" aria-describedby="validation-692dc013-ff70-47ec-b344-a18cb08410af" data-target="query-builder.input" data-action="
+ <input id="query-builder-test" name="query-builder-test" value="" autocomplete="off" type="text" role="combobox" spellcheck="false" aria-expanded="false" aria-describedby="validation-3845e455-842f-49af-a1ff-572be2d724f7" data-target="query-builder.input" data-action="
input:query-builder#inputChange
blur:query-builder#inputBlur
keydown:query-builder#inputKeydown
@@ -679,7 +679,7 @@
></ul>
</div>
- <div class="FormControl-inlineValidation" id="validation-692dc013-ff70-47ec-b344-a18cb08410af" hidden="hidden">
+ <div class="FormControl-inlineValidation" id="validation-3845e455-842f-49af-a1ff-572be2d724f7" hidden="hidden">
<span class="FormControl-inlineValidation--visual">
<svg aria-hidden="true" height="12" viewBox="0 0 12 12" version="1.1" width="12" data-view-component="true" class="octicon octicon-alert-fill">
<path d="M4.855.708c.5-.896 1.79-.896 2.29 0l4.675 8.351a1.312 1.312 0 0 1-1.146 1.954H1.33A1.313 1.313 0 0 1 .183 9.058ZM7 7V3H5v4Zm-1 3a1 1 0 1 0 0-2 1 1 0 0 0 0 2Z"></path>
@@ -720,7 +720,7 @@
</div>
<scrollable-region data-labelled-by="feedback-dialog-title">
- <div data-view-component="true" class="Overlay-body"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="code-search-feedback-form" data-turbo="false" action="/search/feedback" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="GRgFrw1FZFfHAmDW6aRAERwL854Xv4ioxL6buhTyDVyiwco6JNinoXUEGhg9KyKiH4ypSWE7SOvAq09ZPUeYsQ==" />
+ <div data-view-component="true" class="Overlay-body"> <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="code-search-feedback-form" data-turbo="false" action="/search/feedback" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="0yRSP+ppfk2mNEI8NWZJV0/+ZbjKDlvXWlZSZ/oVXL2b6Ig7snzBExTY9ynSbELZcvPOmkO6Kq3QX/PZfNl1LQ==" />
<p>We read every piece of feedback, and take your input very seriously.</p>
<textarea name="feedback" class="form-control width-full mb-2" style="height: 120px" id="feedback"></textarea>
<input name="include_email" id="include_email" aria-label="Include my email address so I can be contacted" class="form-control mr-2" type="checkbox">
@@ -758,7 +758,7 @@
<div data-view-component="true" class="Overlay-body"> <div data-target="custom-scopes.customScopesModalDialogFlash"></div>
<div hidden class="create-custom-scope-form" data-target="custom-scopes.createCustomScopeForm">
- <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="custom-scopes-dialog-form" data-turbo="false" action="/search/custom_scopes" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="cyuT32KXEahevrnhCPUi8vDuotdeKtmwSFSRs2zDcmdJxXG6DkG5yqNZplQ7xa1eggK7SfiALCfwg2vgJm/Tsg==" />
+ <!-- '"` --><!-- </textarea></xmp> --></option></form><form id="custom-scopes-dialog-form" data-turbo="false" action="/search/custom_scopes" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="oAcw96YoyoLylxWtVsk1fq+SkBDdGo+xj4vum0x7fZWE2aja8IasTKbZeaY7pgFu4JsGgtTajAtNktw771ANeg==" />
<div data-target="custom-scopes.customScopesModalDialogFlash"></div>
<input type="hidden" id="custom_scope_id" name="custom_scope_id" data-target="custom-scopes.customScopesIdField">
@@ -776,7 +776,7 @@
placeholder="github-ruby"
required
maxlength="50">
- <input type="hidden" data-csrf="true" value="ipNwQ4Fb+PZbE48lEtZ83ewci6LM0QG00CNkfDfjFrFqCHujEaGwPcl+WB2dFHNxJRhFZNft2tFK9uZ9/Uttxg==" />
+ <input type="hidden" data-csrf="true" value="10veA41FVngYxBfMrh84/AheLRVACfHmIspafvJ/XEMzKQbfPKArOweQavFMw9ElLgA1ZDg6tSy2lMwaFnwZ8A==" />
</auto-check>
</div>
@@ -831,7 +831,7 @@
<h4 data-view-component="true" class="color-fg-default mb-2"> Sign in to GitHub
</h4>
-<!-- '"` --><!-- </textarea></xmp> --></option></form><form data-turbo="false" action="/session" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="mienfG5d6VfV72hAzLAjcqseECR+hWRf6i7OI/efokT/h8qY7sejGD8bUrOqGPS/mrtmDXdHfWX9i+mwiQXf3A==" /> <input type="hidden" name="add_account" id="add_account" autocomplete="off" class="form-control" />
+<!-- '"` --><!-- </textarea></xmp> --></option></form><form data-turbo="false" action="/session" accept-charset="UTF-8" method="post"><input type="hidden" data-csrf="true" name="authenticity_token" value="PaWVngEmR0N3rM6lfLIsxRFcGZM7wI8EY4OXIuOpzLtQGR7jsUb5h8rYKekqCW4hTyECOGEmsqmGKmpfuaI++g==" /> <input type="hidden" name="add_account" id="add_account" autocomplete="off" class="form-control" />
<label for="login_field">
Username or email address
@@ -853,9 +853,9 @@
<input type="hidden" name="allow_signup" id="allow_signup" autocomplete="off" class="form-control" />
<input type="hidden" name="client_id" id="client_id" autocomplete="off" class="form-control" />
<input type="hidden" name="integration" id="integration" autocomplete="off" class="form-control" />
-<input class="form-control" type="text" name="required_field_280b" hidden="hidden" />
-<input class="form-control" type="hidden" name="timestamp" value="1773993528069" />
-<input class="form-control" type="hidden" name="timestamp_secret" value="089c006ca96049ebf32957a740a8e51886c68b62fb83aaef24b5a06d5cf63b80" />
+<input class="form-control" type="text" name="required_field_27cc" hidden="hidden" />
+<input class="form-control" type="hidden" name="timestamp" value="1774625306552" />
+<input class="form-control" type="hidden" name="timestamp_secret" value="47bcf5ccefbeb5d73fc1acd72b5ac1efadf92567cd66157bfe21efa7c799af15" />
<input type="submit" name="commit" value="Sign in" class="btn btn-primary btn-block js-sign-in-button" data-disable-with="Signing in…" data-signin-label="Sign in" data-sso-label="Sign in with your identity provider" development="false" disable-emu-sso="false" />
@@ -882,14 +882,14 @@
<div class="AppHeader-appearanceSettings">
<react-partial-anchor>
- <button data-target="react-partial-anchor.anchor" id="icon-button-cf12199f-af16-4cdd-9f8b-1e1837b01f10" aria-labelledby="tooltip-0825fbc3-75e5-433d-887e-d26c5be0765d" type="button" disabled="disabled" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium AppHeader-button HeaderMenu-link border cursor-wait"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-sliders Button-visual">
+ <button data-target="react-partial-anchor.anchor" id="icon-button-196ed26e-4001-4aac-b091-3f8e7308be09" aria-labelledby="tooltip-48776ba1-d209-4ec9-a01c-f783c623c94a" type="button" disabled="disabled" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium AppHeader-button HeaderMenu-link border cursor-wait"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-sliders Button-visual">
<path d="M15 2.75a.75.75 0 0 1-.75.75h-4a.75.75 0 0 1 0-1.5h4a.75.75 0 0 1 .75.75Zm-8.5.75v1.25a.75.75 0 0 0 1.5 0v-4a.75.75 0 0 0-1.5 0V2H1.75a.75.75 0 0 0 0 1.5H6.5Zm1.25 5.25a.75.75 0 0 0 0-1.5h-6a.75.75 0 0 0 0 1.5h6ZM15 8a.75.75 0 0 1-.75.75H11.5V10a.75.75 0 1 1-1.5 0V6a.75.75 0 0 1 1.5 0v1.25h2.75A.75.75 0 0 1 15 8Zm-9 5.25v-2a.75.75 0 0 0-1.5 0v1.25H1.75a.75.75 0 0 0 0 1.5H4.5v1.25a.75.75 0 0 0 1.5 0v-2Zm9 0a.75.75 0 0 1-.75.75h-6a.75.75 0 0 1 0-1.5h6a.75.75 0 0 1 .75.75Z"></path>
</svg>
-</button><tool-tip id="tooltip-0825fbc3-75e5-433d-887e-d26c5be0765d" for="icon-button-cf12199f-af16-4cdd-9f8b-1e1837b01f10" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Appearance settings</tool-tip>
+</button><tool-tip id="tooltip-48776ba1-d209-4ec9-a01c-f783c623c94a" for="icon-button-196ed26e-4001-4aac-b091-3f8e7308be09" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Appearance settings</tool-tip>
<template data-target="react-partial-anchor.template">
- <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.6dd722c034c861a4.module.css" />
-<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/appearance-settings.36be0d8866eb1b54.module.css" />
+ <link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/primer-react-css.a7c2e61315e78ba2.module.css" />
+<link crossorigin="anonymous" media="all" rel="stylesheet" href="https://github.githubassets.com/assets/appearance-settings.5c7ccb6a718f6c1b.module.css" />
<react-partial
partial-name="appearance-settings"
@@ -923,10 +923,10 @@
<span class="js-stale-session-flash-signed-out" hidden>You signed out in another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span>
<span class="js-stale-session-flash-switched" hidden>You switched accounts on another tab or window. <a class="Link--inTextBlock" href="">Reload</a> to refresh your session.</span>
- <button id="icon-button-35aaa94f-f14a-4df3-9867-9fea2d0c5b91" aria-labelledby="tooltip-21f5dd4e-e9c5-4c57-b4b7-e0c7f629e310" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual">
+ <button id="icon-button-7c59a37d-296a-4cce-9e1f-3b48f0673e51" aria-labelledby="tooltip-42e92e5d-14ac-448e-973d-fe50924b7133" type="button" data-view-component="true" class="Button Button--iconOnly Button--invisible Button--medium flash-close js-flash-close"> <svg aria-hidden="true" height="16" viewBox="0 0 16 16" version="1.1" width="16" data-view-component="true" class="octicon octicon-x Button-visual">
<path d="M3.72 3.72a.75.75 0 0 1 1.06 0L8 6.94l3.22-3.22a.749.749 0 0 1 1.275.326.749.749 0 0 1-.215.734L9.06 8l3.22 3.22a.749.749 0 0 1-.326 1.275.749.749 0 0 1-.734-.215L8 9.06l-3.22 3.22a.751.751 0 0 1-1.042-.018.751.751 0 0 1-.018-1.042L6.94 8 3.72 4.78a.75.75 0 0 1 0-1.06Z"></path>
</svg>
-</button><tool-tip id="tooltip-21f5dd4e-e9c5-4c57-b4b7-e0c7f629e310" for="icon-button-35aaa94f-f14a-4df3-9867-9fea2d0c5b91" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Dismiss alert</tool-tip>
+</button><tool-tip id="tooltip-42e92e5d-14ac-448e-973d-fe50924b7133" for="icon-button-7c59a37d-296a-4cce-9e1f-3b48f0673e51" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Dismiss alert</tool-tip>
@@ -1040,7 +1040,9 @@
<div class="d-flex flex-wrap tmp-py-5 tmp-mb-5">
<section class="col-12 col-lg-4 tmp-mb-5 tmp-pr-lg-4">
<a href="/" data-analytics-event="{&quot;category&quot;:&quot;Footer&quot;,&quot;action&quot;:&quot;go to home&quot;,&quot;label&quot;:&quot;text:home&quot;}" class="color-fg-default d-inline-block" aria-label="Go to GitHub homepage">
- <svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" fill="currentColor" viewBox="0 0 416 95" class="footer-logo-mktg d-block" height="30"><clipPath id="a"><path d="m0 0h416v95h-416z"></path></clipPath><clipPath id="b"><path d="m117.185 9.49258h298.068v75.9408h-298.068z"></path></clipPath><g clip-path="url(#a)"><path d="m41.6394 69.3848c-12.6328-1.5313-21.5332-10.6231-21.5332-22.3946 0-4.7851 1.7227-9.9531 4.5938-13.3984-1.2442-3.1582-1.0528-9.8574.3828-12.6328 3.8281-.4785 8.9961 1.5312 12.0586 4.3066 3.6367-1.1484 7.4648-1.7226 12.1543-1.7226 4.6894 0 8.5175.5742 11.9628 1.6269 2.9668-2.6797 8.2305-4.6894 12.0586-4.2109 1.3399 2.584 1.5313 9.2832.2871 12.5371 3.0625 3.6367 4.6895 8.5176 4.6895 13.4941 0 11.7715-8.9004 20.6719-21.7246 22.2989 3.2539 2.1054 5.4551 6.6992 5.4551 11.9629v9.9531c0 2.8711 2.3925 4.498 5.2636 3.3496 17.3223-6.6035 30.9122-23.9258 30.9122-45.3633 0-27.084-22.0118-49.19139933-49.0958-49.19139957-27.0839-.00000024-48.904249 22.10739957-48.904249 49.19139957 0 21.2461 13.494149 38.8555 31.677749 45.459 2.584.957 5.0723-.7656 5.0723-3.3496v-7.6563c-1.3399.5743-3.0625.9571-4.5938.9571-6.3164 0-10.0488-3.4453-12.7285-9.8575-1.0527-2.5839-2.2012-4.1152-4.4024-4.4023-1.1484-.0957-1.5312-.5742-1.5312-1.1484 0-1.1485 1.9141-2.0098 3.8281-2.0098 2.7754 0 5.168 1.7227 7.6563 5.2637 1.914 2.7754 3.9238 4.0195 6.3164 4.0195s3.9238-.8613 6.125-3.0625c1.6269-1.627 2.8711-3.0625 4.0195-4.0195z"></path><g clip-path="url(#b)"><path d="m188.937 83.0045v-49.7218h13.978v49.7218zm41.079 0c-9.289 0-12.917-3.9813-12.917-12.3862v-25.6572h-8.847v-11.6784h8.847v-9.909l13.979-3.2735v13.1825h10.351v11.6784h-10.351v22.5606c0 2.7427 1.239 3.8044 3.981 3.8044h6.37v11.6784zm97.454.8847c-10.882 0-16.81-6.0161-16.81-16.9868v-33.6197h14.068v29.9039c0 6.1046 2.742 9.4666 7.962 9.4666 6.016 0 10.617-5.5738 10.617-13.1825v-26.188h14.067v49.7218h-14.067v-8.4049c-2.654 5.3968-9.024 9.2896-15.837 9.2896zm67.143 0c-6.781 0-12.974-3.8928-15.926-9.4666v8.5819h-13.978v-69.3628h14.067v28.7537c2.863-6.0162 9.322-10.2629 15.837-10.2629 13.568 0 20.735 9.3782 20.26 25.9226.475 16.3675-6.957 25.8341-20.26 25.8341zm-4.955-11.7669c7.287 0 11.268-5.3968 10.794-14.0672.474-8.7588-3.507-14.1557-10.794-14.1557-5.807 0-10.407 5.6623-10.882 13.4479v.7963c.475 8.051 5.075 13.9787 10.882 13.9787zm-100.924-58.4806v28.1344h-26.365v-28.1344h-15.04v69.3628h15.04v-27.7805h26.365v27.7805h15.041v-69.3628zm-138.106 70.6899c-20.526 0-33.443-14.0672-33.443-36.097s13.183-35.92 34.062-35.92c16.987 0 27.25 7.2547 30.523 19.464l-15.217 3.6274c-1.858-6.6355-7.166-10.2629-15.306-10.2629-12.121 0-18.668 7.9626-18.668 23.0915s6.37 23.2684 18.314 23.2684c10.971 0 17.518-6.7239 17.518-18.137v-2.6541l3.893 5.3968h-22.649v-12.7401h33.973v8.051c0 21.1451-12.297 32.912-33 32.912zm45.298-55.738c4.689 0 8.317-3.6274 8.317-8.3165 0-4.689-3.628-8.3164-8.317-8.3164s-8.316 3.6274-8.316 8.3164c0 4.6891 3.627 8.3165 8.316 8.3165z"></path></g></g></svg>
+ <svg height="30" aria-hidden="true" viewBox="0 0 103 24" version="1.1" width="128" data-view-component="true" class="octicon octicon-lockup-github footer-logo-mktg d-block">
+ <path d="M36.472 3.088c4.225 0 6.777 1.805 7.591 4.841l-3.784.902c-.462-1.65-1.783-2.552-3.807-2.552-3.015 0-4.643 1.98-4.643 5.743s1.584 5.787 4.555 5.787c2.502 0 4.079-1.406 4.323-3.829h-4.631v-3.168h8.45v2.002c0 5.26-3.059 8.186-8.208 8.186C31.213 21 28 17.501 28 12.022c0-5.48 3.279-8.934 8.472-8.934M79.62 15.741c0 1.518.682 2.355 1.98 2.355 1.497 0 2.64-1.387 2.64-3.28V8.304h3.5V20.67h-3.5v-2.09c-.66 1.342-2.244 2.31-3.938 2.31-2.707 0-4.181-1.496-4.181-4.225V8.303h3.499z"></path><path fill-rule="evenodd" d="M93.063 10.57C93.775 9.073 95.38 8.017 97 8.017c3.375 0 5.158 2.333 5.039 6.448.119 4.07-1.73 6.425-5.039 6.425-1.686 0-3.226-.968-3.96-2.355v2.135h-3.477V3.418h3.499zm2.706.374c-1.444 0-2.588 1.408-2.707 3.345v.198c.119 2.002 1.263 3.476 2.707 3.476 1.813 0 2.803-1.342 2.685-3.498.118-2.179-.872-3.521-2.685-3.521"></path><path d="M49.323 20.67h-3.477V8.303h3.477zm7.004-12.367h2.575v2.905h-2.575v5.611c0 .682.308.946.99.946h1.585v2.905h-2.839c-2.31 0-3.212-.99-3.212-3.08v-6.382H50.65V8.303h2.2V5.84l3.477-.814zm7.783-4.885v6.998h6.558V3.418h3.74V20.67h-3.74v-6.91H64.11v6.91h-3.74V3.418zM47.584 3c1.167 0 2.069.902 2.069 2.069a2.04 2.04 0 0 1-2.069 2.068 2.04 2.04 0 0 1-2.068-2.068c0-1.167.902-2.069 2.068-2.069M10.226 17.284c-2.965-.36-5.054-2.493-5.054-5.256 0-1.123.404-2.336 1.078-3.144-.292-.741-.247-2.314.09-2.965.898-.112 2.111.36 2.83 1.01.853-.269 1.752-.404 2.853-.404 1.1 0 1.999.135 2.807.382.696-.629 1.932-1.1 2.83-.988.315.606.36 2.179.067 2.942.72.854 1.101 2 1.101 3.167 0 2.763-2.089 4.852-5.098 5.234.763.494 1.28 1.572 1.28 2.807v2.336c0 .674.561 1.056 1.235.786 4.066-1.55 7.255-5.615 7.255-10.646C23.5 6.188 18.334 1 11.978 1 5.62 1 .5 6.188.5 12.545c0 4.986 3.167 9.12 7.435 10.669.606.225 1.19-.18 1.19-.786V20.63a2.9 2.9 0 0 1-1.078.224c-1.483 0-2.359-.808-2.987-2.313-.247-.607-.517-.966-1.034-1.033-.27-.023-.359-.135-.359-.27 0-.27.45-.471.898-.471.652 0 1.213.404 1.797 1.235.45.651.921.943 1.483.943.561 0 .92-.202 1.437-.719.382-.381.674-.718.944-.943"></path>
+</svg>
</a>
<h3 class="h5 tmp-mt-4 mb-0" id="subscribe-to-newsletter">Subscribe to our developer newsletter</h3>
diff --git a/about/showcase/hypr/image-1.svg b/about/showcase/hypr/image-1.svg
new file mode 100644
index 00000000..6bf71b4d
--- /dev/null
+++ b/about/showcase/hypr/image-1.svg
@@ -0,0 +1,425 @@
+<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1536 512" width="1536" height="512">
+ <title>Hyperstack · Pi · FreeBSD Logo</title>
+ <defs>
+ <!-- Background gradient -->
+ <linearGradient id="bg" x1="0%" y1="0%" x2="100%" y2="100%">
+ <stop offset="0%" style="stop-color:#0d1117"/>
+ <stop offset="100%" style="stop-color:#161b22"/>
+ </linearGradient>
+ <!-- Blue: Hyperstack / GPU -->
+ <linearGradient id="gpuGrad" x1="0%" y1="0%" x2="100%" y2="100%">
+ <stop offset="0%" style="stop-color:#1f6feb"/>
+ <stop offset="100%" style="stop-color:#388bfd"/>
+ </linearGradient>
+ <!-- Pi symbol gradient -->
+ <linearGradient id="piGrad" x1="0%" y1="0%" x2="0%" y2="100%">
+ <stop offset="0%" style="stop-color:#58a6ff"/>
+ <stop offset="100%" style="stop-color:#1f6feb"/>
+ </linearGradient>
+ <!-- Red: FreeBSD daemon horns -->
+ <linearGradient id="bsdGrad" x1="0%" y1="0%" x2="100%" y2="0%">
+ <stop offset="0%" style="stop-color:#ff6b6b"/>
+ <stop offset="100%" style="stop-color:#ff4444"/>
+ </linearGradient>
+ <!-- Purple: AI / neural network -->
+ <linearGradient id="aiGrad" x1="0%" y1="0%" x2="100%" y2="100%">
+ <stop offset="0%" style="stop-color:#a78bfa"/>
+ <stop offset="100%" style="stop-color:#7c3aed"/>
+ </linearGradient>
+ <!-- Green: tmux status bar -->
+ <linearGradient id="tmuxBar" x1="0%" y1="0%" x2="100%" y2="0%">
+ <stop offset="0%" style="stop-color:#1a2d1a"/>
+ <stop offset="100%" style="stop-color:#0d1f0d"/>
+ </linearGradient>
+
+ <!-- Glow for Pi symbol -->
+ <filter id="glow" x="-25%" y="-25%" width="150%" height="150%">
+ <feGaussianBlur in="SourceGraphic" stdDeviation="7" result="blur"/>
+ <feMerge><feMergeNode in="blur"/><feMergeNode in="SourceGraphic"/></feMerge>
+ </filter>
+ <!-- Glow for BSD horns -->
+ <filter id="hornGlow" x="-40%" y="-40%" width="180%" height="180%">
+ <feGaussianBlur in="SourceGraphic" stdDeviation="5" result="blur"/>
+ <feMerge><feMergeNode in="blur"/><feMergeNode in="SourceGraphic"/></feMerge>
+ </filter>
+ <!-- Glow for AI nodes -->
+ <filter id="aiGlow" x="-60%" y="-60%" width="220%" height="220%">
+ <feGaussianBlur in="SourceGraphic" stdDeviation="6" result="blur"/>
+ <feMerge><feMergeNode in="blur"/><feMergeNode in="SourceGraphic"/></feMerge>
+ </filter>
+ <!-- Soft glow for GPU chip -->
+ <filter id="chipGlow" x="-20%" y="-20%" width="140%" height="140%">
+ <feGaussianBlur in="SourceGraphic" stdDeviation="4" result="blur"/>
+ <feMerge><feMergeNode in="blur"/><feMergeNode in="SourceGraphic"/></feMerge>
+ </filter>
+ </defs>
+
+ <!-- ═══════════════════════════════════════════════════════════
+ BACKGROUND
+ ═══════════════════════════════════════════════════════════ -->
+ <rect width="1536" height="512" rx="40" fill="url(#bg)"/>
+
+ <!-- Full-width GPU circuit grid background texture -->
+ <g opacity="0.10" stroke="#388bfd" stroke-width="1">
+ <!-- Horizontals -->
+ <line x1="0" y1="64" x2="1536" y2="64"/>
+ <line x1="0" y1="128" x2="1536" y2="128"/>
+ <line x1="0" y1="192" x2="1536" y2="192"/>
+ <line x1="0" y1="256" x2="1536" y2="256"/>
+ <line x1="0" y1="320" x2="1536" y2="320"/>
+ <line x1="0" y1="384" x2="1536" y2="384"/>
+ <line x1="0" y1="448" x2="1536" y2="448"/>
+ <!-- Verticals -->
+ <line x1="64" y1="0" x2="64" y2="512"/>
+ <line x1="128" y1="0" x2="128" y2="512"/>
+ <line x1="192" y1="0" x2="192" y2="512"/>
+ <line x1="256" y1="0" x2="256" y2="512"/>
+ <line x1="320" y1="0" x2="320" y2="512"/>
+ <line x1="384" y1="0" x2="384" y2="512"/>
+ <line x1="448" y1="0" x2="448" y2="512"/>
+ <line x1="512" y1="0" x2="512" y2="512"/>
+ <line x1="576" y1="0" x2="576" y2="512"/>
+ <line x1="640" y1="0" x2="640" y2="512"/>
+ <line x1="704" y1="0" x2="704" y2="512"/>
+ <line x1="768" y1="0" x2="768" y2="512"/>
+ <line x1="832" y1="0" x2="832" y2="512"/>
+ <line x1="896" y1="0" x2="896" y2="512"/>
+ <line x1="960" y1="0" x2="960" y2="512"/>
+ <line x1="1024" y1="0" x2="1024" y2="512"/>
+ <line x1="1088" y1="0" x2="1088" y2="512"/>
+ <line x1="1152" y1="0" x2="1152" y2="512"/>
+ <line x1="1216" y1="0" x2="1216" y2="512"/>
+ <line x1="1280" y1="0" x2="1280" y2="512"/>
+ <line x1="1344" y1="0" x2="1344" y2="512"/>
+ <line x1="1408" y1="0" x2="1408" y2="512"/>
+ <line x1="1472" y1="0" x2="1472" y2="512"/>
+ </g>
+
+ <!-- ═══════════════════════════════════════════════════════════
+ LEFT PANEL: AI Neural Network + GPU A100 chip
+ x: 0–460
+ ═══════════════════════════════════════════════════════════ -->
+
+ <!-- GPU A100 chip outline (left, centred vertically) -->
+ <!-- Chip body -->
+ <rect x="48" y="156" width="180" height="200" rx="10"
+ fill="none" stroke="#1f6feb" stroke-width="2" opacity="0.55"
+ filter="url(#chipGlow)"/>
+ <!-- Chip inner die -->
+ <rect x="74" y="182" width="128" height="148" rx="6"
+ fill="#1f6feb" fill-opacity="0.06" stroke="#388bfd" stroke-width="1" opacity="0.7"/>
+ <!-- Die grid pattern inside chip -->
+ <g stroke="#388bfd" stroke-width="0.5" opacity="0.35">
+ <line x1="74" y1="214" x2="202" y2="214"/>
+ <line x1="74" y1="246" x2="202" y2="246"/>
+ <line x1="74" y1="278" x2="202" y2="278"/>
+ <line x1="74" y1="310" x2="202" y2="310"/>
+ <line x1="106" y1="182" x2="106" y2="330"/>
+ <line x1="138" y1="182" x2="138" y2="330"/>
+ <line x1="170" y1="182" x2="170" y2="330"/>
+ </g>
+ <!-- Chip pins — left side -->
+ <g stroke="#388bfd" stroke-width="2" opacity="0.6">
+ <line x1="24" y1="180" x2="48" y2="180"/>
+ <line x1="24" y1="204" x2="48" y2="204"/>
+ <line x1="24" y1="228" x2="48" y2="228"/>
+ <line x1="24" y1="252" x2="48" y2="252"/>
+ <line x1="24" y1="276" x2="48" y2="276"/>
+ <line x1="24" y1="300" x2="48" y2="300"/>
+ <line x1="24" y1="324" x2="48" y2="324"/>
+ <line x1="24" y1="348" x2="48" y2="348"/>
+ </g>
+ <!-- Chip pins — right side -->
+ <g stroke="#388bfd" stroke-width="2" opacity="0.6">
+ <line x1="228" y1="180" x2="252" y2="180"/>
+ <line x1="228" y1="204" x2="252" y2="204"/>
+ <line x1="228" y1="228" x2="252" y2="228"/>
+ <line x1="228" y1="252" x2="252" y2="252"/>
+ <line x1="228" y1="276" x2="252" y2="276"/>
+ <line x1="228" y1="300" x2="252" y2="300"/>
+ <line x1="228" y1="324" x2="252" y2="324"/>
+ <line x1="228" y1="348" x2="252" y2="348"/>
+ </g>
+ <!-- Chip pins — top side -->
+ <g stroke="#388bfd" stroke-width="2" opacity="0.6">
+ <line x1="80" y1="132" x2="80" y2="156"/>
+ <line x1="106" y1="132" x2="106" y2="156"/>
+ <line x1="132" y1="132" x2="132" y2="156"/>
+ <line x1="158" y1="132" x2="158" y2="156"/>
+ <line x1="184" y1="132" x2="184" y2="156"/>
+ <line x1="210" y1="132" x2="210" y2="156"/>
+ </g>
+ <!-- Chip pins — bottom side -->
+ <g stroke="#388bfd" stroke-width="2" opacity="0.6">
+ <line x1="80" y1="356" x2="80" y2="380"/>
+ <line x1="106" y1="356" x2="106" y2="380"/>
+ <line x1="132" y1="356" x2="132" y2="380"/>
+ <line x1="158" y1="356" x2="158" y2="380"/>
+ <line x1="184" y1="356" x2="184" y2="380"/>
+ <line x1="210" y1="356" x2="210" y2="380"/>
+ </g>
+ <!-- A100 label inside chip -->
+ <text x="138" y="262"
+ text-anchor="middle"
+ font-family="'SF Mono','Fira Code','Consolas',monospace"
+ font-size="22" font-weight="700" letter-spacing="1"
+ fill="#388bfd" opacity="0.8">A100</text>
+ <text x="138" y="284"
+ text-anchor="middle"
+ font-family="'SF Mono','Fira Code','Consolas',monospace"
+ font-size="10" font-weight="400" letter-spacing="1"
+ fill="#1f6feb" opacity="0.6">80GB · PCIe</text>
+
+ <!-- Neural network nodes (AI) — right of the chip, bridging to center -->
+ <!-- Layer 1 (input) nodes — x≈290 -->
+ <g filter="url(#aiGlow)">
+ <circle cx="295" cy="160" r="10" fill="url(#aiGrad)" opacity="0.85"/>
+ <circle cx="295" cy="220" r="10" fill="url(#aiGrad)" opacity="0.85"/>
+ <circle cx="295" cy="280" r="10" fill="url(#aiGrad)" opacity="0.85"/>
+ <circle cx="295" cy="340" r="10" fill="url(#aiGrad)" opacity="0.85"/>
+ </g>
+ <!-- Layer 2 (hidden) nodes — x≈360 -->
+ <g filter="url(#aiGlow)">
+ <circle cx="370" cy="140" r="12" fill="url(#aiGrad)" opacity="0.90"/>
+ <circle cx="370" cy="200" r="12" fill="url(#aiGrad)" opacity="0.90"/>
+ <circle cx="370" cy="260" r="12" fill="url(#aiGrad)" opacity="0.90"/>
+ <circle cx="370" cy="320" r="12" fill="url(#aiGrad)" opacity="0.90"/>
+ <circle cx="370" cy="380" r="12" fill="url(#aiGrad)" opacity="0.90"/>
+ </g>
+ <!-- Layer 3 (output/bridge) nodes — x≈435 -->
+ <g filter="url(#aiGlow)">
+ <circle cx="435" cy="180" r="9" fill="url(#aiGrad)" opacity="0.75"/>
+ <circle cx="435" cy="256" r="9" fill="url(#aiGrad)" opacity="0.75"/>
+ <circle cx="435" cy="332" r="9" fill="url(#aiGrad)" opacity="0.75"/>
+ </g>
+ <!-- Neural connections layer 1 → 2 -->
+ <g stroke="#7c3aed" stroke-width="1" fill="none" opacity="0.28">
+ <line x1="305" y1="160" x2="358" y2="140"/>
+ <line x1="305" y1="160" x2="358" y2="200"/>
+ <line x1="305" y1="160" x2="358" y2="260"/>
+ <line x1="305" y1="220" x2="358" y2="140"/>
+ <line x1="305" y1="220" x2="358" y2="200"/>
+ <line x1="305" y1="220" x2="358" y2="260"/>
+ <line x1="305" y1="220" x2="358" y2="320"/>
+ <line x1="305" y1="280" x2="358" y2="200"/>
+ <line x1="305" y1="280" x2="358" y2="260"/>
+ <line x1="305" y1="280" x2="358" y2="320"/>
+ <line x1="305" y1="280" x2="358" y2="380"/>
+ <line x1="305" y1="340" x2="358" y2="260"/>
+ <line x1="305" y1="340" x2="358" y2="320"/>
+ <line x1="305" y1="340" x2="358" y2="380"/>
+ </g>
+ <!-- Neural connections layer 2 → 3 -->
+ <g stroke="#8b5cf6" stroke-width="1" fill="none" opacity="0.32">
+ <line x1="382" y1="140" x2="426" y2="180"/>
+ <line x1="382" y1="200" x2="426" y2="180"/>
+ <line x1="382" y1="200" x2="426" y2="256"/>
+ <line x1="382" y1="260" x2="426" y2="180"/>
+ <line x1="382" y1="260" x2="426" y2="256"/>
+ <line x1="382" y1="260" x2="426" y2="332"/>
+ <line x1="382" y1="320" x2="426" y2="256"/>
+ <line x1="382" y1="320" x2="426" y2="332"/>
+ <line x1="382" y1="380" x2="426" y2="332"/>
+ </g>
+ <!-- Chip → neural network trace -->
+ <g stroke="#388bfd" stroke-width="1.5" fill="none" opacity="0.35">
+ <polyline points="252,252 275,252 275,220 285,220"/>
+ <polyline points="252,300 275,300 275,340 285,340"/>
+ </g>
+
+ <!-- "AI" label -->
+ <text x="138" y="110"
+ text-anchor="middle"
+ font-family="'SF Mono','Fira Code','Consolas',monospace"
+ font-size="11" font-weight="400" letter-spacing="2"
+ fill="#7c3aed" opacity="0.6">NEURAL · AI</text>
+
+ <!-- ═══════════════════════════════════════════════════════════
+ CENTER PANEL: π symbol with BSD daemon horns
+ Centred at x=768
+ ═══════════════════════════════════════════════════════════ -->
+
+ <!-- Stronger GPU grid in center zone only -->
+ <g opacity="0.18" stroke="#388bfd" stroke-width="1">
+ <line x1="512" y1="128" x2="1024" y2="128"/>
+ <line x1="512" y1="192" x2="1024" y2="192"/>
+ <line x1="512" y1="256" x2="1024" y2="256"/>
+ <line x1="512" y1="320" x2="1024" y2="320"/>
+ <line x1="512" y1="384" x2="1024" y2="384"/>
+ <line x1="576" y1="80" x2="576" y2="450"/>
+ <line x1="640" y1="80" x2="640" y2="450"/>
+ <line x1="704" y1="80" x2="704" y2="450"/>
+ <line x1="768" y1="80" x2="768" y2="450"/>
+ <line x1="832" y1="80" x2="832" y2="450"/>
+ <line x1="896" y1="80" x2="896" y2="450"/>
+ <line x1="960" y1="80" x2="960" y2="450"/>
+ </g>
+ <!-- Circuit nodes in center -->
+ <g fill="#1f6feb" opacity="0.38">
+ <circle cx="576" cy="128" r="4"/>
+ <circle cx="640" cy="192" r="4"/>
+ <circle cx="896" cy="128" r="4"/>
+ <circle cx="960" cy="192" r="4"/>
+ <circle cx="576" cy="384" r="4"/>
+ <circle cx="640" cy="320" r="4"/>
+ <circle cx="896" cy="384" r="4"/>
+ <circle cx="960" cy="320" r="4"/>
+ </g>
+ <!-- PCB traces in center zone -->
+ <g stroke="#1f6feb" stroke-width="2" fill="none" opacity="0.25">
+ <polyline points="576,128 576,192 640,192"/>
+ <polyline points="960,128 960,192 896,192"/>
+ <polyline points="576,384 576,320 640,320"/>
+ <polyline points="960,384 960,320 896,320"/>
+ </g>
+
+ <!-- Circular glow ring behind π -->
+ <ellipse cx="768" cy="300" rx="185" ry="165"
+ fill="none" stroke="#1f6feb" stroke-width="1.5" opacity="0.13"/>
+ <ellipse cx="768" cy="300" rx="210" ry="188"
+ fill="none" stroke="#1f6feb" stroke-width="0.5" opacity="0.07"/>
+
+ <!--
+ FreeBSD daemon horns — above the π crossbar, symmetric bezier curves.
+ Base at x≈718/818 (centred at 768).
+ -->
+ <!-- Left horn -->
+ <path d="M 718 172
+ C 716 152 708 132 696 114
+ C 686 98 668 90 673 100
+ C 678 110 686 126 688 144
+ C 690 158 698 170 708 174 Z"
+ fill="url(#bsdGrad)" filter="url(#hornGlow)"/>
+ <path d="M 716 168 C 710 148 700 128 692 112 C 686 100 678 96 681 106"
+ stroke="#ffaaaa" stroke-width="2" fill="none" opacity="0.4"/>
+ <!-- Right horn -->
+ <path d="M 818 172
+ C 820 152 828 132 840 114
+ C 850 98 868 90 863 100
+ C 858 110 850 126 848 144
+ C 846 158 838 170 828 174 Z"
+ fill="url(#bsdGrad)" filter="url(#hornGlow)"/>
+ <path d="M 820 168 C 826 148 836 128 844 112 C 850 100 858 96 855 106"
+ stroke="#ffaaaa" stroke-width="2" fill="none" opacity="0.4"/>
+
+ <!--
+ π (Pi) symbol — centred at x=768.
+ Crossbar: y=188–210. Legs extend to y≈400.
+ -->
+ <g filter="url(#glow)">
+ <!-- Crossbar -->
+ <rect x="628" y="188" width="280" height="24" rx="12" fill="url(#piGrad)"/>
+ <!-- Left leg -->
+ <path d="M 666 212
+ C 666 272 656 328 642 366
+ C 634 386 630 400 638 410
+ C 646 420 660 420 670 410
+ C 678 402 680 386 684 366
+ C 696 308 702 260 702 212 Z"
+ fill="url(#piGrad)"/>
+ <!-- Right leg — symmetric -->
+ <path d="M 870 212
+ C 870 272 880 328 894 366
+ C 902 386 906 400 898 410
+ C 890 420 876 420 866 410
+ C 858 402 856 386 852 366
+ C 840 308 834 260 834 212 Z"
+ fill="url(#piGrad)"/>
+ </g>
+
+ <!-- ═══════════════════════════════════════════════════════════
+ RIGHT PANEL: tmux terminal window
+ x: 1086–1500
+ ═══════════════════════════════════════════════════════════ -->
+
+ <!-- Terminal window frame -->
+ <rect x="1096" y="80" width="400" height="352" rx="10"
+ fill="#0d1117" stroke="#30363d" stroke-width="1.5" opacity="0.95"/>
+
+ <!-- Title bar -->
+ <rect x="1096" y="80" width="400" height="32" rx="10"
+ fill="#161b22"/>
+ <rect x="1096" y="96" width="400" height="16" fill="#161b22"/>
+ <!-- Traffic-light dots -->
+ <circle cx="1118" cy="96" r="6" fill="#ff5f56" opacity="0.9"/>
+ <circle cx="1138" cy="96" r="6" fill="#ffbd2e" opacity="0.9"/>
+ <circle cx="1158" cy="96" r="6" fill="#27c93f" opacity="0.9"/>
+ <!-- Title text -->
+ <text x="1296" y="101"
+ text-anchor="middle"
+ font-family="'SF Mono','Fira Code','Consolas',monospace"
+ font-size="11" fill="#6e7681">hyperstack.wg1 — zsh</text>
+
+ <!-- Terminal content area -->
+ <rect x="1096" y="112" width="400" height="284" fill="#0d1117" opacity="0.95"/>
+
+ <!-- Terminal lines — simulated shell session -->
+ <g font-family="'SF Mono','Fira Code','Consolas',monospace" font-size="11" fill="#c9d1d9">
+ <!-- Prompt + command 1 -->
+ <text x="1112" y="140">
+ <tspan fill="#3fb950">❯</tspan>
+ <tspan fill="#8b949e"> ruby hyperstack.rb create-both</tspan>
+ </text>
+ <text x="1112" y="158" fill="#6e7681"> Creating VM hyperstack1 (A100)...</text>
+ <text x="1112" y="174" fill="#6e7681"> Creating VM hyperstack2 (A100)...</text>
+ <text x="1112" y="190" fill="#3fb950"> vllm-ready ✓ wireguard-ok ✓</text>
+
+ <!-- Prompt + command 2 -->
+ <text x="1112" y="214">
+ <tspan fill="#3fb950">❯</tspan>
+ <tspan fill="#8b949e"> pi --model hyperstack1/nemotron</tspan>
+ </text>
+ <text x="1112" y="230" fill="#6e7681"> Connecting to hyperstack1.wg1…</text>
+ <text x="1112" y="246" fill="#58a6ff"> » Hello! Ready to code with you.</text>
+
+ <!-- Prompt + command 3 -->
+ <text x="1112" y="270">
+ <tspan fill="#3fb950">❯</tspan>
+ <tspan fill="#8b949e"> pi --model hyperstack2/qwen3</tspan>
+ </text>
+ <text x="1112" y="286" fill="#6e7681"> Connecting to hyperstack2.wg1…</text>
+ <text x="1112" y="302" fill="#58a6ff"> » I am Qwen3-Coder, let's build!</text>
+
+ <!-- Blinking cursor -->
+ <rect x="1112" y="322" width="8" height="14" fill="#58a6ff" opacity="0.8"/>
+ </g>
+
+ <!-- tmux status bar at bottom of terminal -->
+ <rect x="1096" y="396" width="400" height="24" rx="0" fill="url(#tmuxBar)"/>
+ <rect x="1096" y="408" width="400" height="12" fill="url(#tmuxBar)"/>
+ <rect x="1096" y="396" width="400" height="24"
+ fill="none" stroke="#30363d" stroke-width="0.5" opacity="0.5"/>
+
+ <!-- tmux status bar text -->
+ <!-- Left: session + windows -->
+ <rect x="1096" y="396" width="68" height="24" fill="#3fb950" opacity="0.18"/>
+ <text x="1104" y="412"
+ font-family="'SF Mono','Fira Code','Consolas',monospace"
+ font-size="10" font-weight="600" fill="#3fb950">[hyperstack]</text>
+ <text x="1170" y="412"
+ font-family="'SF Mono','Fira Code','Consolas',monospace"
+ font-size="10" fill="#6e7681">0:pi* 1:ssh 2:logs</text>
+ <!-- Right: clock -->
+ <text x="1486" y="412"
+ text-anchor="end"
+ font-family="'SF Mono','Fira Code','Consolas',monospace"
+ font-size="10" fill="#6e7681">21:03</text>
+
+ <!-- Terminal window bottom rounded finish -->
+ <rect x="1096" y="420" width="400" height="12" rx="10"
+ fill="#161b22" stroke="#30363d" stroke-width="1.5" opacity="0.6"/>
+
+ <!-- ═══════════════════════════════════════════════════════════
+ BOTTOM LABELS — full width
+ ═══════════════════════════════════════════════════════════ -->
+ <text x="768" y="470"
+ text-anchor="middle"
+ font-family="'SF Mono','Fira Code','Consolas',monospace"
+ font-size="22" font-weight="700" letter-spacing="6"
+ fill="#8b949e">HYPERSTACK</text>
+ <text x="768" y="494"
+ text-anchor="middle"
+ font-family="'SF Mono','Fira Code','Consolas',monospace"
+ font-size="11" font-weight="400" letter-spacing="3"
+ fill="#6e7681">GPU · PI.DEV · FREEBSD · AI · TMUX</text>
+</svg>