summaryrefslogtreecommitdiff
path: root/about
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-02-21 23:12:10 +0200
committerPaul Buetow <paul@buetow.org>2026-02-21 23:12:10 +0200
commitf24b4b48daf207b5162c8edc328ffe47f745f6f7 (patch)
tree9f49e06cb37aad415b09ab5f17506d11aab7482e /about
parent495c7ecf288a5e86f61a21e8f718c006744c15d9 (diff)
Update
Diffstat (limited to 'about')
-rw-r--r--about/resources.gmi198
-rw-r--r--about/showcase.gmi277
-rw-r--r--about/showcase.gmi.tpl160
-rw-r--r--about/showcase/debroid/image-1.png36
4 files changed, 313 insertions, 358 deletions
diff --git a/about/resources.gmi b/about/resources.gmi
index 94e54b6c..f6f40292 100644
--- a/about/resources.gmi
+++ b/about/resources.gmi
@@ -35,110 +35,110 @@ You won't find any links on this site because, over time, the links will break.
In random order:
-* DevOps And Site Reliability Engineering Handbook; Stephen Fleming; Audible
-* Modern Perl; Chromatic ; Onyx Neon Press
-* 100 Go Mistakes and How to Avoid Them; Teiva Harsanyi; Manning Publications
-* 21st Century C: C Tips from the New School; Ben Klemens; O'Reilly
+* Data Science at the Command Line; Jeroen Janssens; O'Reilly
+* Systemprogrammierung in Go; Frank Müller; dpunkt
+* The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional
+* Terraform Cookbook; Mikael Krief; Packt Publishing
+* Java ist auch eine Insel; Christian Ullenboom;
+* Hands-on Infrastructure Monitoring with Prometheus; Joel Bastos, Pedro Araujo; Packt
* Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press
-* Perl New Features; Joshua McAdams, brian d foy; Perl School
-* Pro Puppet; James Turnbull, Jeffrey McCune; Apress
* Polished Ruby Programming; Jeremy Evans; Packt Publishing
-* Chaos Engineering - System Resiliency in Practice; Casey Rosenthal and Nora Jones; eBook
-* Funktionale Programmierung; Peter Pepper; Springer
-* Java ist auch eine Insel; Christian Ullenboom;
-* Ultimate Go Notebook; Bill Kennedy
-* Data Science at the Command Line; Jeroen Janssens; O'Reilly
-* Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O'Reilly
-* Concurrency in Go; Katherine Cox-Buday; O'Reilly
+* Modern Perl; Chromatic ; Onyx Neon Press
+* The Docker Book; James Turnbull; Kindle
* Programming Perl aka "The Camel Book"; Tom Christiansen, brian d foy, Larry Wall & Jon Orwant; O'Reilly
-* The DevOps Handbook; Gene Kim, Jez Humble, Patrick Debois, John Willis; Audible
+* Developing Games in Java; David Brackeen and others...; New Riders
+* Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press
+* Object-Oriented Programming with ANSI-C; Axel-Tobias Schreiner
+* Site Reliability Engineering; How Google runs production systems; O'Reilly
+* 100 Go Mistakes and How to Avoid Them; Teiva Harsanyi; Manning Publications
* Raku Fundamentals; Moritz Lenz; Apress
-* Seeking SRE: Conversations About Running Production Systems at Scale; David N. Blank-Edelman; eBook
-* Clusterbau mit Linux-HA; Michael Schwartzkopff; O'Reilly
-* 97 things every SRE should know; Emil Stolarsky, Jaime Woo; O'Reilly
-* The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional
+* The KCNA (Kubernetes and Cloud Native Associate) Book; Nigel Poulton
* Amazon Web Services in Action; Michael Wittig and Andreas Wittig; Manning Publications
-* DNS and BIND; Cricket Liu; O'Reilly
+* Effective awk programming; Arnold Robbins; O'Reilly
+* Ultimate Go Notebook; Bill Kennedy
+* Funktionale Programmierung; Peter Pepper; Springer
+* DevOps And Site Reliability Engineering Handbook; Stephen Fleming; Audible
* Kubernetes Cookbook; Sameer Naik, Sébastien Goasguen, Jonathan Michaux; O'Reilly
+* Chaos Engineering - System Resiliency in Practice; Casey Rosenthal and Nora Jones; eBook
+* Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O'Reilly
+* Pro Puppet; James Turnbull, Jeffrey McCune; Apress
+* 21st Century C: C Tips from the New School; Ben Klemens; O'Reilly
+* The Practise of System and Network Administration; Thomas A. Limoncelli, Christina J. Hogan, Strata R. Chalup; Addison-Wesley Professional Pro Git; Scott Chacon, Ben Straub; Apress
+* 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
-* C++ Programming Language; Bjarne Stroustrup;
-* The KCNA (Kubernetes and Cloud Native Associate) Book; Nigel Poulton
-* Effective awk programming; Arnold Robbins; O'Reilly
-* Object-Oriented Programming with ANSI-C; Axel-Tobias Schreiner
-* Raku Recipes; J.J. Merelo; Apress
-* Developing Games in Java; David Brackeen and others...; New Riders
-* Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press
-* Systemprogrammierung in Go; Frank Müller; dpunkt
-* Effective Java; Joshua Bloch; Addison-Wesley Professional
-* The Kubernetes Book; Nigel Poulton; Unabridged Audiobook
-* Tmux 2: Productive Mouse-free Development; Brain P. Hogan; The Pragmatic Programmers
-* Terraform Cookbook; Mikael Krief; Packt Publishing
-* Site Reliability Engineering; How Google runs production systems; O'Reilly
-* Leanring eBPF; Liz Rice; O'Reilly
* Higher Order Perl; Mark Dominus; Morgan Kaufmann
+* The Kubernetes Book; Nigel Poulton; Unabridged Audiobook
+* Concurrency in Go; Katherine Cox-Buday; O'Reilly
+* The Pragmatic Programmer; David Thomas; Addison-Wesley
* Go Brain Teasers - Exercise Your Mind; Miki Tebeka; The Pragmatic Programmers
-* The Docker Book; James Turnbull; Kindle
+* 97 things every SRE should know; Emil Stolarsky, Jaime Woo; O'Reilly
+* Seeking SRE: Conversations About Running Production Systems at Scale; David N. Blank-Edelman; eBook
+* DNS and BIND; Cricket Liu; O'Reilly
+* Tmux 2: Productive Mouse-free Development; Brain P. Hogan; The Pragmatic Programmers
+* Effective Java; Joshua Bloch; Addison-Wesley Professional
+* Perl New Features; Joshua McAdams, brian d foy; Perl School
+* The DevOps Handbook; Gene Kim, Jez Humble, Patrick Debois, John Willis; Audible
* Distributed Systems: Principles and Paradigms; Andrew S. Tanenbaum; Pearson
-* 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
-* Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O'Reilly
-* Hands-on Infrastructure Monitoring with Prometheus; Joel Bastos, Pedro Araujo; Packt
+* Raku Recipes; J.J. Merelo; Apress
+* Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O'Reilly
+* C++ Programming Language; Bjarne Stroustrup;
+* Leanring eBPF; Liz Rice; O'Reilly
## 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:
-* Implementing Service Level Objectives; Alex Hidalgo; O'Reilly
-* Algorithms; Robert Sedgewick, Kevin Wayne; Addison Wesley
-* BPF Performance Tools - Linux System and Application Observability, Brendan Gregg; Addison Wesley
-* Groovy Kurz & Gut; Joerg Staudemeier; O'Reilly
* Relayd and Httpd Mastery; Michael W Lucas
+* Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O'Reilly
+* BPF Performance Tools - Linux System and Application Observability, Brendan Gregg; Addison Wesley
+* Algorithms; Robert Sedgewick, Kevin Wayne; Addison Wesley
* The Linux Programming Interface; Michael Kerrisk; No Starch Press
+* Groovy Kurz & Gut; Joerg Staudemeier; O'Reilly
+* Implementing Service Level Objectives; Alex Hidalgo; O'Reilly
* Go: Design Patterns for Real-World Projects; Mat Ryer; Packt
-* Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O'Reilly
## Self-development and soft-skills books
In random order:
-* Staff Engineer: Leadership beyond the management track; Will Larson; Audiobook
-* 101 Essays that change the way you think; Brianna Wiest; Audiobook
-* Buddah and Einstein walk into a Bar; Guy Joseph Ale, Claire Bloom; Blackstone Publishing
+* Slow Productivity; Cal Newport; Penguin Random House
+* The Phoenix Project - A Novel About IT, DevOps, and Helping your Business Win; Gene Kim and Kevin Behr; Trade Select
+* So Good They Can't Ignore You; Cal Newport; Business Plus
+* The Complete Software Developer's Career Guide; John Sonmez; Unabridged Audiobook
+* The Obstacle Is The Way; Ryan Holiday; Profile Books Ltd
+* Soft Skills; John Sommez; Manning Publications
* The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books
-* Coders at Work - Reflections on the craft of programming, Peter Seibel and Mitchell Dorian et al., Audiobook
-* The Good Enough Job; Simone Stolzoff; Ebury Edge
+* Ultralearning; Scott Young; Thorsons
+* Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly
+* Deep Work; Cal Newport; Piatkus
* The Courage to Be Disliked; Ichiro Kishimi and Fumitake Koga; Audiobook
-* Eat That Frog!; Brian Tracy; Hodder Paperbacks
+* Coders at Work - Reflections on the craft of programming, Peter Seibel and Mitchell Dorian et al., Audiobook
* The 7 Habits Of Highly Effective People; Stephen R. Covey; Simon & Schuster UK
+* 101 Essays that change the way you think; Brianna Wiest; Audiobook
* Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion
-* Deep Work; Cal Newport; Piatkus
-* Solve for Happy; Mo Gawdat (RE-READ 1ST TIME)
-* The Power of Now; Eckhard Tolle; Yellow Kite
+* Influence without Authority; A. Cohen, D. Bradford; Wiley
* The Joy of Missing Out; Christina Crook; New Society Publishers
+* Ultralearning; Anna Laurent; Self-published via Amazon
+* Buddah and Einstein walk into a Bar; Guy Joseph Ale, Claire Bloom; Blackstone Publishing
* 97 Things Every Engineering Manager Should Know; Camille Fournier; Audiobook
-* Stop starting, start finishing; Arne Roock; Lean-Kanban University
-* Influence without Authority; A. Cohen, D. Bradford; Wiley
-* Search Inside Yourself - The Unexpected path to Achieving Success, Happiness (and World Peace); Chade-Meng Tan, Daniel Goleman, Jon Kabat-Zinn; HarperOne
-* The Software Engineer's Guidebook: Navigating senior, tech lead, and staff engineer positions at tech companies and startups; Gergely Orosz; Audiobook
+* Eat That Frog!; Brian Tracy; Hodder Paperbacks
* Psycho-Cybernetics; Maxwell Maltz; Perigee Books
* Consciousness: A Very Short Introduction; Susan Blackmore; Oxford Uiversity Press
-* Meditation for Mortals, Oliver Burkeman, Audiobook
-* Getting Things Done; David Allen
-* Soft Skills; John Sommez; Manning Publications
-* Slow Productivity; Cal Newport; Penguin Random House
-* The Phoenix Project - A Novel About IT, DevOps, and Helping your Business Win; Gene Kim and Kevin Behr; Trade Select
-* Never Split the Difference; Chris Voss, Tahl Raz; Random House Business
+* Solve for Happy; Mo Gawdat (RE-READ 1ST TIME)
+* The Power of Now; Eckhard Tolle; Yellow Kite
+* Digital Minimalism; Cal Newport; Portofolio Penguin
* The Bullet Journal Method; Ryder Carroll; Fourth Estate
* Eat That Frog; Brian Tracy
-* So Good They Can't Ignore You; Cal Newport; Business Plus
-* Ultralearning; Anna Laurent; Self-published via Amazon
-* Digital Minimalism; Cal Newport; Portofolio Penguin
-* The Obstacle Is The Way; Ryan Holiday; Profile Books Ltd
-* Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly
-* Ultralearning; Scott Young; Thorsons
+* Staff Engineer: Leadership beyond the management track; Will Larson; Audiobook
+* Never Split the Difference; Chris Voss, Tahl Raz; Random House Business
* The Off Switch; Mark Cropley; Virgin Books (RE-READ 1ST TIME)
+* Getting Things Done; David Allen
+* Search Inside Yourself - The Unexpected path to Achieving Success, Happiness (and World Peace); Chade-Meng Tan, Daniel Goleman, Jon Kabat-Zinn; HarperOne
+* The Software Engineer's Guidebook: Navigating senior, tech lead, and staff engineer positions at tech companies and startups; Gergely Orosz; Audiobook
+* Stop starting, start finishing; Arne Roock; Lean-Kanban University
+* The Good Enough Job; Simone Stolzoff; Ebury Edge
+* Meditation for Mortals, Oliver Burkeman, Audiobook
* Atomic Habits; James Clear; Random House Business
-* The Complete Software Developer's Career Guide; John Sonmez; Unabridged Audiobook
=> ../notes/index.gmi Here are notes of mine for some of the books
@@ -146,22 +146,22 @@ In random order:
Some of these were in-person with exams; others were online learning lectures only. In random order:
-* Ultimate Go Programming; Bill Kennedy; O'Reilly Online
-* The Well-Grounded Rubyist Video Edition; David. A. Black; O'Reilly Online
-* Scripting Vim; Damian Conway; O'Reilly Online
-* AWS Immersion Day; Amazon; 1-day interactive online training
+* Algorithms Video Lectures; Robert Sedgewick; O'Reilly Online
+* MySQL Deep Dive Workshop; 2-day on-site training
* 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)
+* The Ultimate Kubernetes Bootcamp; School of Devops; O'Reilly Online
+* F5 Loadbalancers Training; 2-day on-site training; F5, Inc.
+* Cloud Operations on AWS - Learn how to configure, deploy, maintain, and troubleshoot your AWS environments; 3-day online live training with labs; Amazon
* Developing IaC with Terraform (with Live Lessons); O'Reilly Online
+* The Well-Grounded Rubyist Video Edition; David. A. Black; O'Reilly Online
* Linux Security and Isolation APIs Training; Michael Kerrisk; 3-day on-site training
-* Cloud Operations on AWS - Learn how to configure, deploy, maintain, and troubleshoot your AWS environments; 3-day online live training with labs; Amazon
-* Algorithms Video Lectures; Robert Sedgewick; O'Reilly Online
-* Apache Tomcat Best Practises; 3-day on-site training
-* MySQL Deep Dive Workshop; 2-day on-site training
-* F5 Loadbalancers Training; 2-day on-site training; F5, Inc.
* Functional programming lecture; Remote University of Hagen
+* AWS Immersion Day; Amazon; 1-day interactive online training
* Structure and Interpretation of Computer Programs; Harold Abelson and more...;
-* The Ultimate Kubernetes Bootcamp; School of Devops; O'Reilly Online
+* Scripting Vim; Damian Conway; O'Reilly Online
+* Apache Tomcat Best Practises; 3-day on-site training
+* Ultimate Go Programming; Bill Kennedy; O'Reilly Online
## Technical guides
@@ -177,58 +177,58 @@ These are not whole books, but guides (smaller or larger) which I found very use
In random order:
-* Modern Mentor
-* Dev Interrupted
-* The Pragmatic Engineer Podcast
-* Wednesday Wisdom
* Pratical AI
+* Dev Interrupted
* The ProdCast (Google SRE Podcast)
+* Wednesday Wisdom
* Backend Banter
-* The Changelog Podcast(s)
* Hidden Brain
+* The Pragmatic Engineer Podcast
+* Fallthrough [Golang]
* Cup o' Go [Golang]
* BSD Now [BSD]
-* Fallthrough [Golang]
-* Maintainable
+* Modern Mentor
* Fork Around And Find Out
+* Maintainable
* Deep Questions with Cal Newport
+* The Changelog Podcast(s)
### 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.
-* Ship It (predecessor of Fork Around And Find Out)
+* CRE: Chaosradio Express [german]
* FLOSS weekly
-* Modern Mentor
+* Ship It (predecessor of Fork Around And Find Out)
* Go Time (predecessor of fallthrough)
* Java Pub House
-* CRE: Chaosradio Express [german]
+* Modern Mentor
## Newsletters I like
This is a mix of tech and non-tech newsletters I am subscribed to. In random order:
+* Changelog News
+* Ruby Weekly
* VK Newsletter
-* Golang Weekly
-* The Valuable Dev
-* byteSizeGo
+* Register Spill
+* Applied Go Weekly Newsletter
* The Imperfectionist
-* Monospace Mentor
-* Changelog News
+* byteSizeGo
+* The Valuable Dev
* The Pragmatic Engineer
* Andreas Brandhorst Newsletter (Sci-Fi author)
-* Register Spill
-* Ruby Weekly
-* Applied Go Weekly Newsletter
+* Golang Weekly
+* Monospace Mentor
## Magazines I like(d)
This is a mix of tech I like(d). I may not be a current subscriber, but now and then, I buy an issue. In random order:
-* Linux Magazine
-* Linux User
* freeX (not published anymore)
* LWN (online only)
+* Linux Magazine
+* Linux User
# Formal education
diff --git a/about/showcase.gmi b/about/showcase.gmi
index 4e64cda6..25e51895 100644
--- a/about/showcase.gmi
+++ b/about/showcase.gmi
@@ -13,75 +13,74 @@ This page showcases my side projects, providing an overview of what each project
* ⇢ ⇢ ⇢ 2. dotfiles
* ⇢ ⇢ ⇢ 3. epimetheus
* ⇢ ⇢ ⇢ 4. conf
-* ⇢ ⇢ ⇢ 5. dotfiles.bak
-* ⇢ ⇢ ⇢ 6. foo.zone
-* ⇢ ⇢ ⇢ 7. scifi
-* ⇢ ⇢ ⇢ 8. log4jbench
-* ⇢ ⇢ ⇢ 9. gogios
-* ⇢ ⇢ ⇢ 10. yoga
-* ⇢ ⇢ ⇢ 11. perc
-* ⇢ ⇢ ⇢ 12. totalrecall
-* ⇢ ⇢ ⇢ 13. ior
-* ⇢ ⇢ ⇢ 14. gitsyncer
-* ⇢ ⇢ ⇢ 15. tasksamurai
-* ⇢ ⇢ ⇢ 16. foostats
-* ⇢ ⇢ ⇢ 17. timr
-* ⇢ ⇢ ⇢ 18. dtail
-* ⇢ ⇢ ⇢ 19. gos
-* ⇢ ⇢ ⇢ 20. ds-sim
-* ⇢ ⇢ ⇢ 21. wireguardmeshgenerator
-* ⇢ ⇢ ⇢ 22. gemtexter
-* ⇢ ⇢ ⇢ 23. rcm
-* ⇢ ⇢ ⇢ 24. terraform
-* ⇢ ⇢ ⇢ 25. quicklogger
-* ⇢ ⇢ ⇢ 26. sillybench
-* ⇢ ⇢ ⇢ 27. goprecords
-* ⇢ ⇢ ⇢ 28. gorum
-* ⇢ ⇢ ⇢ 29. guprecords
-* ⇢ ⇢ ⇢ 30. geheim
-* ⇢ ⇢ ⇢ 31. docker-radicale-server
-* ⇢ ⇢ ⇢ 32. algorithms
-* ⇢ ⇢ ⇢ 33. randomjournalpage
-* ⇢ ⇢ ⇢ 34. photoalbum
-* ⇢ ⇢ ⇢ 35. ioriot
-* ⇢ ⇢ ⇢ 36. ipv6test
-* ⇢ ⇢ ⇢ 37. sway-autorotate
-* ⇢ ⇢ ⇢ 38. mon
-* ⇢ ⇢ ⇢ 39. staticfarm-apache-handlers
-* ⇢ ⇢ ⇢ 40. pingdomfetch
-* ⇢ ⇢ ⇢ 41. fype
-* ⇢ ⇢ ⇢ 42. xerl
-* ⇢ ⇢ ⇢ 43. ychat
-* ⇢ ⇢ ⇢ 44. fapi
-* ⇢ ⇢ ⇢ 45. perl-c-fibonacci
-* ⇢ ⇢ ⇢ 46. netcalendar
-* ⇢ ⇢ ⇢ 47. loadbars
-* ⇢ ⇢ ⇢ 48. gotop
-* ⇢ ⇢ ⇢ 49. rubyfy
-* ⇢ ⇢ ⇢ 50. pwgrep
-* ⇢ ⇢ ⇢ 51. perldaemon
-* ⇢ ⇢ ⇢ 52. jsmstrade
-* ⇢ ⇢ ⇢ 53. japi
-* ⇢ ⇢ ⇢ 54. perl-poetry
-* ⇢ ⇢ ⇢ 55. muttdelay
-* ⇢ ⇢ ⇢ 56. netdiff
-* ⇢ ⇢ ⇢ 57. debroid
-* ⇢ ⇢ ⇢ 58. hsbot
-* ⇢ ⇢ ⇢ 59. cpuinfo
-* ⇢ ⇢ ⇢ 60. template
-* ⇢ ⇢ ⇢ 61. awksite
-* ⇢ ⇢ ⇢ 62. dyndns
-* ⇢ ⇢ ⇢ 63. vs-sim
+* ⇢ ⇢ ⇢ 5. foo.zone
+* ⇢ ⇢ ⇢ 6. scifi
+* ⇢ ⇢ ⇢ 7. log4jbench
+* ⇢ ⇢ ⇢ 8. gogios
+* ⇢ ⇢ ⇢ 9. yoga
+* ⇢ ⇢ ⇢ 10. perc
+* ⇢ ⇢ ⇢ 11. totalrecall
+* ⇢ ⇢ ⇢ 12. ior
+* ⇢ ⇢ ⇢ 13. gitsyncer
+* ⇢ ⇢ ⇢ 14. tasksamurai
+* ⇢ ⇢ ⇢ 15. foostats
+* ⇢ ⇢ ⇢ 16. timr
+* ⇢ ⇢ ⇢ 17. dtail
+* ⇢ ⇢ ⇢ 18. gos
+* ⇢ ⇢ ⇢ 19. ds-sim
+* ⇢ ⇢ ⇢ 20. wireguardmeshgenerator
+* ⇢ ⇢ ⇢ 21. gemtexter
+* ⇢ ⇢ ⇢ 22. rcm
+* ⇢ ⇢ ⇢ 23. terraform
+* ⇢ ⇢ ⇢ 24. quicklogger
+* ⇢ ⇢ ⇢ 25. sillybench
+* ⇢ ⇢ ⇢ 26. goprecords
+* ⇢ ⇢ ⇢ 27. gorum
+* ⇢ ⇢ ⇢ 28. guprecords
+* ⇢ ⇢ ⇢ 29. geheim
+* ⇢ ⇢ ⇢ 30. docker-radicale-server
+* ⇢ ⇢ ⇢ 31. algorithms
+* ⇢ ⇢ ⇢ 32. randomjournalpage
+* ⇢ ⇢ ⇢ 33. photoalbum
+* ⇢ ⇢ ⇢ 34. ioriot
+* ⇢ ⇢ ⇢ 35. ipv6test
+* ⇢ ⇢ ⇢ 36. sway-autorotate
+* ⇢ ⇢ ⇢ 37. mon
+* ⇢ ⇢ ⇢ 38. staticfarm-apache-handlers
+* ⇢ ⇢ ⇢ 39. pingdomfetch
+* ⇢ ⇢ ⇢ 40. fype
+* ⇢ ⇢ ⇢ 41. xerl
+* ⇢ ⇢ ⇢ 42. ychat
+* ⇢ ⇢ ⇢ 43. fapi
+* ⇢ ⇢ ⇢ 44. perl-c-fibonacci
+* ⇢ ⇢ ⇢ 45. netcalendar
+* ⇢ ⇢ ⇢ 46. loadbars
+* ⇢ ⇢ ⇢ 47. gotop
+* ⇢ ⇢ ⇢ 48. rubyfy
+* ⇢ ⇢ ⇢ 49. pwgrep
+* ⇢ ⇢ ⇢ 50. perldaemon
+* ⇢ ⇢ ⇢ 51. jsmstrade
+* ⇢ ⇢ ⇢ 52. japi
+* ⇢ ⇢ ⇢ 53. perl-poetry
+* ⇢ ⇢ ⇢ 54. muttdelay
+* ⇢ ⇢ ⇢ 55. netdiff
+* ⇢ ⇢ ⇢ 56. debroid
+* ⇢ ⇢ ⇢ 57. hsbot
+* ⇢ ⇢ ⇢ 58. cpuinfo
+* ⇢ ⇢ ⇢ 59. template
+* ⇢ ⇢ ⇢ 60. awksite
+* ⇢ ⇢ ⇢ 61. dyndns
+* ⇢ ⇢ ⇢ 62. vs-sim
## Overall Statistics
-* 📦 Total Projects: 63
-* 📊 Total Commits: 13,313
-* 📈 Total Lines of Code: 314,278
-* 📄 Total Lines of Documentation: 41,499
-* 💻 Languages: Go (36.1%), Java (13.1%), C++ (8.1%), Shell (6.5%), C (6.3%), XML (6.1%), Perl (5.5%), C/C++ (5.2%), YAML (5.0%), HTML (1.9%), Config (1.3%), Ruby (1.0%), HCL (0.9%), CSS (0.7%), Python (0.7%), Make (0.5%), JSON (0.4%), TOML (0.2%), Haskell (0.2%), JavaScript (0.2%), Raku (0.1%)
-* 📚 Documentation: Markdown (70.1%), Text (28.6%), LaTeX (1.4%)
-* 🚀 Release Status: 39 released, 24 experimental (61.9% with releases, 38.1% experimental)
+* 📦 Total Projects: 62
+* 📊 Total Commits: 12,551
+* 📈 Total Lines of Code: 311,290
+* 📄 Total Lines of Documentation: 41,076
+* 💻 Languages: Go (36.4%), Java (13.2%), C++ (8.1%), C (6.3%), XML (6.2%), Shell (5.9%), Perl (5.6%), C/C++ (5.2%), YAML (5.1%), HTML (1.9%), Config (1.2%), Ruby (1.0%), HCL (0.9%), Python (0.7%), CSS (0.6%), Make (0.5%), JSON (0.4%), Haskell (0.2%), JavaScript (0.2%), Raku (0.1%), TOML (0.1%)
+* 📚 Documentation: Markdown (69.8%), Text (28.9%), LaTeX (1.4%)
+* 🚀 Release Status: 39 released, 23 experimental (62.9% with releases, 37.1% experimental)
## Projects
@@ -117,7 +116,7 @@ The project is implemented as an LSP server written in Go, with a TUI component
* 📈 Lines of Code: 2960
* 📄 Lines of Documentation: 653
* 📅 Development Period: 2023-07-30 to 2026-02-21
-* 🏆 Score: 364.6 (combines code size and activity)
+* 🏆 Score: 364.5 (combines code size and activity)
* ⚖️ License: No license found
* 🧪 Status: Experimental (no releases yet)
@@ -139,7 +138,7 @@ The architecture is straightforward: config files live in subdirectories mirrori
* 📈 Lines of Code: 5199
* 📄 Lines of Documentation: 1734
* 📅 Development Period: 2026-02-07 to 2026-02-14
-* 🏆 Score: 314.1 (combines code size and activity)
+* 🏆 Score: 314.0 (combines code size and activity)
* ⚖️ License: No license found
* 🧪 Status: Experimental (no releases yet)
@@ -163,7 +162,7 @@ The architecture routes current data (<5 min old) through Pushgateway where Prom
* 📈 Lines of Code: 19079
* 📄 Lines of Documentation: 6585
* 📅 Development Period: 2021-12-28 to 2026-02-08
-* 🏆 Score: 250.9 (combines code size and activity)
+* 🏆 Score: 250.8 (combines code size and activity)
* ⚖️ License: No license found
* 🧪 Status: Experimental (no releases yet)
@@ -177,29 +176,7 @@ The project is organized into distinct subdirectories: `dotfiles/` contains shel
---
-### 5. dotfiles.bak
-
-* 💻 Languages: Shell (59.2%), CSS (10.9%), Config (10.1%), TOML (10.0%), Ruby (8.4%), JSON (1.1%), INI (0.2%)
-* 📚 Documentation: Markdown (100.0%)
-* 📊 Commits: 762
-* 📈 Lines of Code: 2988
-* 📄 Lines of Documentation: 423
-* 📅 Development Period: 2023-07-30 to 2026-02-14
-* 🏆 Score: 225.0 (combines code size and activity)
-* ⚖️ License: No license found
-* 🧪 Status: Experimental (no releases yet)
-
-
-This is a **personal dotfiles management repository** that uses [Rex](https://www.rexify.org/) (a Perl-based infrastructure automation framework) to declaratively install configuration files across multiple machines — both locally (laptop/workstation) and remotely (servers). The `Rexfile` defines granular tasks (e.g., `home_bash`, `home_tmux`, `home_sway`) that copy or symlink config files for tools like Bash, Fish, ZSH, tmux, Helix, Ghostty, Sway/Waybar, Pipewire, SSH, and AI coding assistants (Cursor, Claude, Amp, OpenCode). A top-level `home` task runs all `home_*` tasks at once. It also includes platform-specific package installation tasks for Fedora, FreeBSD, and Termux.
-
-The architecture is straightforward: source configs live in categorized subdirectories (e.g., `bash/`, `fish/`, `tmux/`), and Rex's `file` resource ensures they're placed at the correct `~/.config/...` or `~/...` paths with proper permissions. Some configs (like fish and gitsyncer) use symlinks instead of copies for live editing. The repo also supports a private companion repo (`conf_private/dotfiles`) for sensitive files like calendar data.
-
-=> https://codeberg.org/snonux/dotfiles.bak View on Codeberg
-=> https://github.com/snonux/dotfiles.bak View on GitHub
-
----
-
-### 6. foo.zone
+### 5. foo.zone
* 💻 Languages: XML (98.7%), Shell (1.0%), Go (0.3%)
* 📚 Documentation: Text (86.2%), Markdown (13.8%)
@@ -219,7 +196,7 @@ foo.zone: source code repository.
---
-### 7. scifi
+### 6. scifi
* 💻 Languages: JSON (35.9%), CSS (30.6%), JavaScript (29.6%), HTML (3.8%)
* 📚 Documentation: Markdown (100.0%)
@@ -241,7 +218,7 @@ The architecture keeps content separate from presentation: book metadata lives i
---
-### 8. log4jbench
+### 7. log4jbench
* 💻 Languages: Java (78.9%), XML (21.1%)
* 📚 Documentation: Markdown (100.0%)
@@ -263,7 +240,7 @@ The implementation uses a fat JAR built with Maven, requiring Java 17+. It's des
---
-### 9. gogios
+### 8. gogios
* 💻 Languages: Go (98.9%), JSON (0.6%), YAML (0.5%)
* 📚 Documentation: Markdown (94.9%), Text (5.1%)
@@ -287,7 +264,7 @@ The architecture is straightforward: JSON configuration defines checks (plugin p
---
-### 10. yoga
+### 9. yoga
* 💻 Languages: Go (66.1%), HTML (33.9%)
* 📚 Documentation: Markdown (100.0%)
@@ -311,7 +288,7 @@ The implementation follows clean Go architecture with domain logic organized und
---
-### 11. perc
+### 10. perc
* 💻 Languages: Go (100.0%)
* 📚 Documentation: Markdown (100.0%)
@@ -333,7 +310,7 @@ The tool is built as a simple Go CLI application with a standard project layout
---
-### 12. totalrecall
+### 11. totalrecall
* 💻 Languages: Go (99.0%), Shell (0.5%), YAML (0.4%)
* 📚 Documentation: Markdown (99.5%), Text (0.5%)
@@ -359,7 +336,7 @@ The project offers both a keyboard-driven GUI for interactive use and a CLI for
---
-### 13. ior
+### 12. ior
* 💻 Languages: Go (63.2%), C (36.0%), C/C++ (0.8%)
* 📚 Documentation: Markdown (79.3%), Text (20.7%)
@@ -385,7 +362,7 @@ The tool is implemented in Go and C, leveraging libbpfgo for BPF interaction. It
---
-### 14. gitsyncer
+### 13. gitsyncer
* 💻 Languages: Go (92.5%), Shell (7.1%), JSON (0.4%)
* 📚 Documentation: Markdown (100.0%)
@@ -407,7 +384,7 @@ The implementation uses a git remotes approach: it clones from one organization,
---
-### 15. tasksamurai
+### 14. tasksamurai
* 💻 Languages: Go (99.8%), YAML (0.2%)
* 📚 Documentation: Markdown (100.0%)
@@ -433,7 +410,7 @@ Under the hood, Task Samurai acts as a front-end wrapper that invokes the native
---
-### 16. foostats
+### 15. foostats
* 💻 Languages: Perl (100.0%)
* 📚 Documentation: Markdown (54.6%), Text (45.4%)
@@ -455,7 +432,7 @@ The implementation uses a modular Perl architecture with specialized components:
---
-### 17. timr
+### 16. timr
* 💻 Languages: Go (96.0%), Shell (4.0%)
* 📚 Documentation: Markdown (100.0%)
@@ -477,7 +454,7 @@ The architecture is straightforward: it's a Go-based CLI application that persis
---
-### 18. dtail
+### 17. dtail
* 💻 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%)
@@ -503,7 +480,7 @@ The architecture follows a client-server model where DTail servers run on target
---
-### 19. gos
+### 18. gos
* 💻 Languages: Go (99.8%), JSON (0.2%)
* 📚 Documentation: Markdown (100.0%)
@@ -529,7 +506,7 @@ The implementation uses OAuth2 for LinkedIn authentication, stores configuration
---
-### 20. ds-sim
+### 19. ds-sim
* 💻 Languages: Java (98.9%), Shell (0.6%), CSS (0.5%)
* 📚 Documentation: Markdown (98.7%), Text (1.3%)
@@ -553,7 +530,7 @@ The implementation follows a modular Java architecture with clear separation bet
---
-### 21. wireguardmeshgenerator
+### 20. wireguardmeshgenerator
* 💻 Languages: Ruby (65.4%), YAML (34.6%)
* 📚 Documentation: Markdown (100.0%)
@@ -575,7 +552,7 @@ The tool reads host definitions from a YAML file specifying network interfaces (
---
-### 22. gemtexter
+### 21. gemtexter
* 💻 Languages: Shell (68.2%), CSS (28.5%), Config (1.9%), HTML (1.3%)
* 📚 Documentation: Text (76.1%), Markdown (23.9%)
@@ -597,7 +574,7 @@ The architecture leverages GNU utilities (sed, grep, date) and optional tools li
---
-### 23. rcm
+### 22. rcm
* 💻 Languages: Ruby (99.8%), TOML (0.2%)
* 📚 Documentation: Markdown (100.0%)
@@ -619,7 +596,7 @@ The implementation centers around a DSL module that provides keywords like `file
---
-### 24. terraform
+### 23. terraform
* 💻 Languages: HCL (96.6%), Make (1.9%), YAML (1.5%)
* 📚 Documentation: Markdown (100.0%)
@@ -641,7 +618,7 @@ The infrastructure uses a **modular, layered architecture** with separate Terraf
---
-### 25. quicklogger
+### 24. quicklogger
* 💻 Languages: Go (96.1%), XML (1.9%), Shell (1.2%), TOML (0.7%)
* 📚 Documentation: Markdown (100.0%)
@@ -667,7 +644,7 @@ The implementation leverages Go's cross-compilation capabilities and Fyne's UI a
---
-### 26. sillybench
+### 25. sillybench
* 💻 Languages: Go (90.9%), Shell (9.1%)
* 📚 Documentation: Markdown (100.0%)
@@ -689,7 +666,7 @@ The implementation is intentionally straightforward, using Go's built-in testing
---
-### 27. goprecords
+### 26. goprecords
* 💻 Languages: Go (100.0%)
* 📚 Documentation: Markdown (100.0%)
@@ -711,7 +688,7 @@ Under the hood, it parses `uptimed`'s simple `uptime:boottime:kernel` record for
---
-### 28. gorum
+### 27. gorum
* 💻 Languages: Go (91.3%), JSON (6.4%), YAML (2.3%)
* 📚 Documentation: Markdown (100.0%)
@@ -734,7 +711,7 @@ The architecture consists of client/server components for inter-node communicati
---
-### 29. guprecords
+### 28. guprecords
* 💻 Languages: Raku (100.0%)
* 📚 Documentation: Markdown (100.0%)
@@ -756,7 +733,7 @@ The implementation uses an object-oriented architecture with specialized classes
---
-### 30. geheim
+### 29. geheim
* 💻 Languages: Ruby (86.7%), Shell (13.3%)
* 📚 Documentation: Markdown (100.0%)
@@ -778,7 +755,7 @@ The architecture leverages Git for storage and synchronization across multiple r
---
-### 31. docker-radicale-server
+### 30. docker-radicale-server
* 💻 Languages: Make (57.5%), Docker (42.5%)
* 📚 Documentation: Markdown (100.0%)
@@ -800,7 +777,7 @@ The implementation uses Alpine Linux as the base image for a minimal footprint,
---
-### 32. algorithms
+### 31. algorithms
* 💻 Languages: Go (99.2%), Make (0.8%)
* 📚 Documentation: Markdown (100.0%)
@@ -823,7 +800,7 @@ The project is implemented in Go 1.19+ with comprehensive unit tests and benchma
---
-### 33. randomjournalpage
+### 32. randomjournalpage
* 💻 Languages: Shell (94.1%), Make (5.9%)
* 📚 Documentation: Markdown (100.0%)
@@ -846,7 +823,7 @@ The implementation is a straightforward bash script using `qpdf` for PDF extract
---
-### 34. photoalbum
+### 33. photoalbum
* 💻 Languages: Shell (80.1%), Make (12.3%), Config (7.6%)
* 📚 Documentation: Markdown (100.0%)
@@ -869,7 +846,7 @@ The architecture is straightforward and Unix-philosophy driven: users configure
---
-### 35. ioriot
+### 34. ioriot
* 💻 Languages: C (55.5%), C/C++ (24.0%), Config (19.6%), Make (1.0%)
* 📚 Documentation: Markdown (100.0%)
@@ -894,7 +871,7 @@ The key advantage over traditional benchmarking tools is that it reproduces actu
---
-### 36. ipv6test
+### 35. ipv6test
* 💻 Languages: Perl (65.8%), Docker (34.2%)
* 📚 Documentation: Markdown (100.0%)
@@ -916,7 +893,7 @@ The implementation uses a simple CGI script ([index.pl](file:///home/paul/git/gi
---
-### 37. sway-autorotate
+### 36. sway-autorotate
* 💻 Languages: Shell (100.0%)
* 📚 Documentation: Markdown (100.0%)
@@ -938,7 +915,7 @@ The implementation uses a bash script that continuously monitors the `monitor-se
---
-### 38. mon
+### 37. mon
* 💻 Languages: Perl (96.5%), Shell (1.8%), Make (1.2%), Config (0.4%)
* 📚 Documentation: Text (100.0%)
@@ -961,7 +938,7 @@ Implemented in Perl, `mon` features automatic JSON backup before modifications (
---
-### 39. staticfarm-apache-handlers
+### 38. staticfarm-apache-handlers
* 💻 Languages: Perl (96.4%), Make (3.6%)
* 📚 Documentation: Text (100.0%)
@@ -984,7 +961,7 @@ Both handlers are implemented as Perl modules using Apache2's mod_perl API, conf
---
-### 40. pingdomfetch
+### 39. pingdomfetch
* 💻 Languages: Perl (97.3%), Make (2.7%)
* 📚 Documentation: Text (100.0%)
@@ -1007,7 +984,7 @@ The tool is implemented around a hierarchical configuration system (`/etc/pingdo
---
-### 41. fype
+### 40. fype
* 💻 Languages: C (71.8%), C/C++ (20.0%), HTML (6.3%), Make (1.8%)
* 📚 Documentation: Text (65.1%), LaTeX (21.0%), Markdown (14.0%)
@@ -1029,7 +1006,7 @@ The implementation uses a simple top-down parser with maximum lookahead of 1, in
---
-### 42. xerl
+### 41. xerl
* 💻 Languages: Perl (98.3%), Config (1.2%), Make (0.5%)
* 📊 Commits: 670
@@ -1050,7 +1027,7 @@ The implementation follows strict OO Perl conventions with explicit typing and p
---
-### 43. ychat
+### 42. ychat
* 💻 Languages: C++ (49.9%), C/C++ (22.2%), Shell (20.6%), Perl (2.5%), HTML (1.9%), Config (1.8%), Make (0.9%), CSS (0.2%)
* 📚 Documentation: Text (100.0%)
@@ -1073,7 +1050,7 @@ The architecture emphasizes speed and scalability through several key design cho
---
-### 44. fapi
+### 43. fapi
* 💻 Languages: Python (96.6%), Make (3.1%), Config (0.3%)
* 📚 Documentation: Text (98.3%), Markdown (1.7%)
@@ -1095,7 +1072,7 @@ The tool is implemented in Python and depends on the bigsuds library (F5's iCont
---
-### 45. perl-c-fibonacci
+### 44. perl-c-fibonacci
* 💻 Languages: C (80.4%), Make (19.6%)
* 📚 Documentation: Text (100.0%)
@@ -1116,7 +1093,7 @@ perl-c-fibonacci: source code repository.
---
-### 46. netcalendar
+### 45. netcalendar
* 💻 Languages: Java (83.0%), HTML (12.9%), XML (3.0%), CSS (0.8%), Make (0.2%)
* 📚 Documentation: Text (89.7%), Markdown (10.3%)
@@ -1143,7 +1120,7 @@ The key feature is its intelligent color-coded event visualization system that h
---
-### 47. loadbars
+### 46. loadbars
* 💻 Languages: Perl (97.4%), Make (2.6%)
* 📚 Documentation: Text (100.0%)
@@ -1164,10 +1141,10 @@ loadbars: source code repository.
---
-### 48. gotop
+### 47. gotop
* 💻 Languages: Go (98.0%), Make (2.0%)
-* 📚 Documentation: Text (50.0%), Markdown (50.0%)
+* 📚 Documentation: Markdown (50.0%), Text (50.0%)
* 📊 Commits: 57
* 📈 Lines of Code: 499
* 📄 Lines of Documentation: 8
@@ -1187,7 +1164,7 @@ The implementation uses a concurrent architecture with goroutines for data colle
---
-### 49. rubyfy
+### 48. rubyfy
* 💻 Languages: Ruby (98.5%), JSON (1.5%)
* 📚 Documentation: Markdown (100.0%)
@@ -1210,7 +1187,7 @@ The tool is implemented as a lightweight Ruby script that prioritizes simplicity
---
-### 50. pwgrep
+### 49. pwgrep
* 💻 Languages: Shell (85.0%), Make (15.0%)
* 📚 Documentation: Text (80.8%), Markdown (19.2%)
@@ -1233,7 +1210,7 @@ The architecture is lightweight and Unix-philosophy driven: password databases a
---
-### 51. perldaemon
+### 50. perldaemon
* 💻 Languages: Perl (72.3%), Shell (23.8%), Config (3.9%)
* 📊 Commits: 110
@@ -1254,7 +1231,7 @@ The implementation centers around an event loop with configurable intervals that
---
-### 52. jsmstrade
+### 51. jsmstrade
* 💻 Languages: Java (76.0%), Shell (15.4%), XML (8.6%)
* 📚 Documentation: Markdown (100.0%)
@@ -1279,7 +1256,7 @@ The implementation is minimalistic, consisting of just three main Java classes (
---
-### 53. japi
+### 52. japi
* 💻 Languages: Perl (78.3%), Make (21.7%)
* 📚 Documentation: Text (100.0%)
@@ -1302,7 +1279,7 @@ Implemented in Perl using the JIRA::REST CPAN module, japi supports flexible con
---
-### 54. perl-poetry
+### 53. perl-poetry
* 💻 Languages: Perl (100.0%)
* 📚 Documentation: Markdown (100.0%)
@@ -1325,7 +1302,7 @@ This project exemplifies creative coding where Perl keywords and constructs are
---
-### 55. muttdelay
+### 54. muttdelay
* 💻 Languages: Make (47.1%), Shell (46.3%), Vim Script (5.9%), Config (0.7%)
* 📚 Documentation: Text (100.0%)
@@ -1348,7 +1325,7 @@ The architecture uses three components working together: a Vim plugin that provi
---
-### 56. netdiff
+### 55. netdiff
* 💻 Languages: Shell (52.2%), Make (46.3%), Config (1.5%)
* 📚 Documentation: Text (100.0%)
@@ -1371,7 +1348,7 @@ The tool uses a clever client-server architecture where you run the identical co
---
-### 57. debroid
+### 56. debroid
* 💻 Languages: Shell (92.0%), Make (8.0%)
* 📚 Documentation: Markdown (100.0%)
@@ -1396,7 +1373,7 @@ The implementation uses a two-stage debootstrap process: first creating a Debian
---
-### 58. hsbot
+### 57. hsbot
* 💻 Languages: Haskell (98.5%), Make (1.5%)
* 📊 Commits: 80
@@ -1417,7 +1394,7 @@ The implementation uses a modular design with core components separated into Bas
---
-### 59. cpuinfo
+### 58. cpuinfo
* 💻 Languages: Shell (53.2%), Make (46.8%)
* 📚 Documentation: Text (100.0%)
@@ -1440,7 +1417,7 @@ The implementation is elegantly simple: a single shell script ([src/cpuinfo](fil
---
-### 60. template
+### 59. template
* 💻 Languages: Make (89.2%), Shell (10.8%)
* 📚 Documentation: Text (100.0%)
@@ -1463,7 +1440,7 @@ The implementation uses a **Makefile-based build system** with targets for compi
---
-### 61. awksite
+### 60. awksite
* 💻 Languages: AWK (72.1%), HTML (16.4%), Config (11.5%)
* 📚 Documentation: Text (60.0%), Markdown (40.0%)
@@ -1486,7 +1463,7 @@ The architecture is remarkably simple: a single AWK script ([index.cgi](file:///
---
-### 62. dyndns
+### 61. dyndns
* 💻 Languages: Shell (100.0%)
* 📚 Documentation: Text (100.0%)
@@ -1509,7 +1486,7 @@ The implementation uses a two-tier security architecture: SSH public key authent
---
-### 63. vs-sim
+### 62. vs-sim
* 📚 Documentation: Markdown (100.0%)
* 📊 Commits: 411
diff --git a/about/showcase.gmi.tpl b/about/showcase.gmi.tpl
index b4d85947..6ddec4cb 100644
--- a/about/showcase.gmi.tpl
+++ b/about/showcase.gmi.tpl
@@ -8,13 +8,13 @@ This page showcases my side projects, providing an overview of what each project
## Overall Statistics
-* 📦 Total Projects: 63
-* 📊 Total Commits: 13,313
-* 📈 Total Lines of Code: 314,278
-* 📄 Total Lines of Documentation: 41,499
-* 💻 Languages: Go (36.1%), Java (13.1%), C++ (8.1%), Shell (6.5%), C (6.3%), XML (6.1%), Perl (5.5%), C/C++ (5.2%), YAML (5.0%), HTML (1.9%), Config (1.3%), Ruby (1.0%), HCL (0.9%), CSS (0.7%), Python (0.7%), Make (0.5%), JSON (0.4%), TOML (0.2%), Haskell (0.2%), JavaScript (0.2%), Raku (0.1%)
-* 📚 Documentation: Markdown (70.1%), Text (28.6%), LaTeX (1.4%)
-* 🚀 Release Status: 39 released, 24 experimental (61.9% with releases, 38.1% experimental)
+* 📦 Total Projects: 62
+* 📊 Total Commits: 12,551
+* 📈 Total Lines of Code: 311,290
+* 📄 Total Lines of Documentation: 41,076
+* 💻 Languages: Go (36.4%), Java (13.2%), C++ (8.1%), C (6.3%), XML (6.2%), Shell (5.9%), Perl (5.6%), C/C++ (5.2%), YAML (5.1%), HTML (1.9%), Config (1.2%), Ruby (1.0%), HCL (0.9%), Python (0.7%), CSS (0.6%), Make (0.5%), JSON (0.4%), Haskell (0.2%), JavaScript (0.2%), Raku (0.1%), TOML (0.1%)
+* 📚 Documentation: Markdown (69.8%), Text (28.9%), LaTeX (1.4%)
+* 🚀 Release Status: 39 released, 23 experimental (62.9% with releases, 37.1% experimental)
## Projects
@@ -50,7 +50,7 @@ The project is implemented as an LSP server written in Go, with a TUI component
* 📈 Lines of Code: 2960
* 📄 Lines of Documentation: 653
* 📅 Development Period: 2023-07-30 to 2026-02-21
-* 🏆 Score: 364.6 (combines code size and activity)
+* 🏆 Score: 364.5 (combines code size and activity)
* ⚖️ License: No license found
* 🧪 Status: Experimental (no releases yet)
@@ -72,7 +72,7 @@ The architecture is straightforward: config files live in subdirectories mirrori
* 📈 Lines of Code: 5199
* 📄 Lines of Documentation: 1734
* 📅 Development Period: 2026-02-07 to 2026-02-14
-* 🏆 Score: 314.1 (combines code size and activity)
+* 🏆 Score: 314.0 (combines code size and activity)
* ⚖️ License: No license found
* 🧪 Status: Experimental (no releases yet)
@@ -96,7 +96,7 @@ The architecture routes current data (<5 min old) through Pushgateway where Prom
* 📈 Lines of Code: 19079
* 📄 Lines of Documentation: 6585
* 📅 Development Period: 2021-12-28 to 2026-02-08
-* 🏆 Score: 250.9 (combines code size and activity)
+* 🏆 Score: 250.8 (combines code size and activity)
* ⚖️ License: No license found
* 🧪 Status: Experimental (no releases yet)
@@ -110,29 +110,7 @@ The project is organized into distinct subdirectories: `dotfiles/` contains shel
---
-### 5. dotfiles.bak
-
-* 💻 Languages: Shell (59.2%), CSS (10.9%), Config (10.1%), TOML (10.0%), Ruby (8.4%), JSON (1.1%), INI (0.2%)
-* 📚 Documentation: Markdown (100.0%)
-* 📊 Commits: 762
-* 📈 Lines of Code: 2988
-* 📄 Lines of Documentation: 423
-* 📅 Development Period: 2023-07-30 to 2026-02-14
-* 🏆 Score: 225.0 (combines code size and activity)
-* ⚖️ License: No license found
-* 🧪 Status: Experimental (no releases yet)
-
-
-This is a **personal dotfiles management repository** that uses [Rex](https://www.rexify.org/) (a Perl-based infrastructure automation framework) to declaratively install configuration files across multiple machines — both locally (laptop/workstation) and remotely (servers). The `Rexfile` defines granular tasks (e.g., `home_bash`, `home_tmux`, `home_sway`) that copy or symlink config files for tools like Bash, Fish, ZSH, tmux, Helix, Ghostty, Sway/Waybar, Pipewire, SSH, and AI coding assistants (Cursor, Claude, Amp, OpenCode). A top-level `home` task runs all `home_*` tasks at once. It also includes platform-specific package installation tasks for Fedora, FreeBSD, and Termux.
-
-The architecture is straightforward: source configs live in categorized subdirectories (e.g., `bash/`, `fish/`, `tmux/`), and Rex's `file` resource ensures they're placed at the correct `~/.config/...` or `~/...` paths with proper permissions. Some configs (like fish and gitsyncer) use symlinks instead of copies for live editing. The repo also supports a private companion repo (`conf_private/dotfiles`) for sensitive files like calendar data.
-
-=> https://codeberg.org/snonux/dotfiles.bak View on Codeberg
-=> https://github.com/snonux/dotfiles.bak View on GitHub
-
----
-
-### 6. foo.zone
+### 5. foo.zone
* 💻 Languages: XML (98.7%), Shell (1.0%), Go (0.3%)
* 📚 Documentation: Text (86.2%), Markdown (13.8%)
@@ -152,7 +130,7 @@ foo.zone: source code repository.
---
-### 7. scifi
+### 6. scifi
* 💻 Languages: JSON (35.9%), CSS (30.6%), JavaScript (29.6%), HTML (3.8%)
* 📚 Documentation: Markdown (100.0%)
@@ -174,7 +152,7 @@ The architecture keeps content separate from presentation: book metadata lives i
---
-### 8. log4jbench
+### 7. log4jbench
* 💻 Languages: Java (78.9%), XML (21.1%)
* 📚 Documentation: Markdown (100.0%)
@@ -196,7 +174,7 @@ The implementation uses a fat JAR built with Maven, requiring Java 17+. It's des
---
-### 9. gogios
+### 8. gogios
* 💻 Languages: Go (98.9%), JSON (0.6%), YAML (0.5%)
* 📚 Documentation: Markdown (94.9%), Text (5.1%)
@@ -220,7 +198,7 @@ The architecture is straightforward: JSON configuration defines checks (plugin p
---
-### 10. yoga
+### 9. yoga
* 💻 Languages: Go (66.1%), HTML (33.9%)
* 📚 Documentation: Markdown (100.0%)
@@ -244,7 +222,7 @@ The implementation follows clean Go architecture with domain logic organized und
---
-### 11. perc
+### 10. perc
* 💻 Languages: Go (100.0%)
* 📚 Documentation: Markdown (100.0%)
@@ -266,7 +244,7 @@ The tool is built as a simple Go CLI application with a standard project layout
---
-### 12. totalrecall
+### 11. totalrecall
* 💻 Languages: Go (99.0%), Shell (0.5%), YAML (0.4%)
* 📚 Documentation: Markdown (99.5%), Text (0.5%)
@@ -292,7 +270,7 @@ The project offers both a keyboard-driven GUI for interactive use and a CLI for
---
-### 13. ior
+### 12. ior
* 💻 Languages: Go (63.2%), C (36.0%), C/C++ (0.8%)
* 📚 Documentation: Markdown (79.3%), Text (20.7%)
@@ -318,7 +296,7 @@ The tool is implemented in Go and C, leveraging libbpfgo for BPF interaction. It
---
-### 14. gitsyncer
+### 13. gitsyncer
* 💻 Languages: Go (92.5%), Shell (7.1%), JSON (0.4%)
* 📚 Documentation: Markdown (100.0%)
@@ -340,7 +318,7 @@ The implementation uses a git remotes approach: it clones from one organization,
---
-### 15. tasksamurai
+### 14. tasksamurai
* 💻 Languages: Go (99.8%), YAML (0.2%)
* 📚 Documentation: Markdown (100.0%)
@@ -366,7 +344,7 @@ Under the hood, Task Samurai acts as a front-end wrapper that invokes the native
---
-### 16. foostats
+### 15. foostats
* 💻 Languages: Perl (100.0%)
* 📚 Documentation: Markdown (54.6%), Text (45.4%)
@@ -388,7 +366,7 @@ The implementation uses a modular Perl architecture with specialized components:
---
-### 17. timr
+### 16. timr
* 💻 Languages: Go (96.0%), Shell (4.0%)
* 📚 Documentation: Markdown (100.0%)
@@ -410,7 +388,7 @@ The architecture is straightforward: it's a Go-based CLI application that persis
---
-### 18. dtail
+### 17. dtail
* 💻 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%)
@@ -436,7 +414,7 @@ The architecture follows a client-server model where DTail servers run on target
---
-### 19. gos
+### 18. gos
* 💻 Languages: Go (99.8%), JSON (0.2%)
* 📚 Documentation: Markdown (100.0%)
@@ -462,7 +440,7 @@ The implementation uses OAuth2 for LinkedIn authentication, stores configuration
---
-### 20. ds-sim
+### 19. ds-sim
* 💻 Languages: Java (98.9%), Shell (0.6%), CSS (0.5%)
* 📚 Documentation: Markdown (98.7%), Text (1.3%)
@@ -486,7 +464,7 @@ The implementation follows a modular Java architecture with clear separation bet
---
-### 21. wireguardmeshgenerator
+### 20. wireguardmeshgenerator
* 💻 Languages: Ruby (65.4%), YAML (34.6%)
* 📚 Documentation: Markdown (100.0%)
@@ -508,7 +486,7 @@ The tool reads host definitions from a YAML file specifying network interfaces (
---
-### 22. gemtexter
+### 21. gemtexter
* 💻 Languages: Shell (68.2%), CSS (28.5%), Config (1.9%), HTML (1.3%)
* 📚 Documentation: Text (76.1%), Markdown (23.9%)
@@ -530,7 +508,7 @@ The architecture leverages GNU utilities (sed, grep, date) and optional tools li
---
-### 23. rcm
+### 22. rcm
* 💻 Languages: Ruby (99.8%), TOML (0.2%)
* 📚 Documentation: Markdown (100.0%)
@@ -552,7 +530,7 @@ The implementation centers around a DSL module that provides keywords like `file
---
-### 24. terraform
+### 23. terraform
* 💻 Languages: HCL (96.6%), Make (1.9%), YAML (1.5%)
* 📚 Documentation: Markdown (100.0%)
@@ -574,7 +552,7 @@ The infrastructure uses a **modular, layered architecture** with separate Terraf
---
-### 25. quicklogger
+### 24. quicklogger
* 💻 Languages: Go (96.1%), XML (1.9%), Shell (1.2%), TOML (0.7%)
* 📚 Documentation: Markdown (100.0%)
@@ -600,7 +578,7 @@ The implementation leverages Go's cross-compilation capabilities and Fyne's UI a
---
-### 26. sillybench
+### 25. sillybench
* 💻 Languages: Go (90.9%), Shell (9.1%)
* 📚 Documentation: Markdown (100.0%)
@@ -622,7 +600,7 @@ The implementation is intentionally straightforward, using Go's built-in testing
---
-### 27. goprecords
+### 26. goprecords
* 💻 Languages: Go (100.0%)
* 📚 Documentation: Markdown (100.0%)
@@ -644,7 +622,7 @@ Under the hood, it parses `uptimed`'s simple `uptime:boottime:kernel` record for
---
-### 28. gorum
+### 27. gorum
* 💻 Languages: Go (91.3%), JSON (6.4%), YAML (2.3%)
* 📚 Documentation: Markdown (100.0%)
@@ -667,7 +645,7 @@ The architecture consists of client/server components for inter-node communicati
---
-### 29. guprecords
+### 28. guprecords
* 💻 Languages: Raku (100.0%)
* 📚 Documentation: Markdown (100.0%)
@@ -689,7 +667,7 @@ The implementation uses an object-oriented architecture with specialized classes
---
-### 30. geheim
+### 29. geheim
* 💻 Languages: Ruby (86.7%), Shell (13.3%)
* 📚 Documentation: Markdown (100.0%)
@@ -711,7 +689,7 @@ The architecture leverages Git for storage and synchronization across multiple r
---
-### 31. docker-radicale-server
+### 30. docker-radicale-server
* 💻 Languages: Make (57.5%), Docker (42.5%)
* 📚 Documentation: Markdown (100.0%)
@@ -733,7 +711,7 @@ The implementation uses Alpine Linux as the base image for a minimal footprint,
---
-### 32. algorithms
+### 31. algorithms
* 💻 Languages: Go (99.2%), Make (0.8%)
* 📚 Documentation: Markdown (100.0%)
@@ -756,7 +734,7 @@ The project is implemented in Go 1.19+ with comprehensive unit tests and benchma
---
-### 33. randomjournalpage
+### 32. randomjournalpage
* 💻 Languages: Shell (94.1%), Make (5.9%)
* 📚 Documentation: Markdown (100.0%)
@@ -779,7 +757,7 @@ The implementation is a straightforward bash script using `qpdf` for PDF extract
---
-### 34. photoalbum
+### 33. photoalbum
* 💻 Languages: Shell (80.1%), Make (12.3%), Config (7.6%)
* 📚 Documentation: Markdown (100.0%)
@@ -802,7 +780,7 @@ The architecture is straightforward and Unix-philosophy driven: users configure
---
-### 35. ioriot
+### 34. ioriot
* 💻 Languages: C (55.5%), C/C++ (24.0%), Config (19.6%), Make (1.0%)
* 📚 Documentation: Markdown (100.0%)
@@ -827,7 +805,7 @@ The key advantage over traditional benchmarking tools is that it reproduces actu
---
-### 36. ipv6test
+### 35. ipv6test
* 💻 Languages: Perl (65.8%), Docker (34.2%)
* 📚 Documentation: Markdown (100.0%)
@@ -849,7 +827,7 @@ The implementation uses a simple CGI script ([index.pl](file:///home/paul/git/gi
---
-### 37. sway-autorotate
+### 36. sway-autorotate
* 💻 Languages: Shell (100.0%)
* 📚 Documentation: Markdown (100.0%)
@@ -871,7 +849,7 @@ The implementation uses a bash script that continuously monitors the `monitor-se
---
-### 38. mon
+### 37. mon
* 💻 Languages: Perl (96.5%), Shell (1.8%), Make (1.2%), Config (0.4%)
* 📚 Documentation: Text (100.0%)
@@ -894,7 +872,7 @@ Implemented in Perl, `mon` features automatic JSON backup before modifications (
---
-### 39. staticfarm-apache-handlers
+### 38. staticfarm-apache-handlers
* 💻 Languages: Perl (96.4%), Make (3.6%)
* 📚 Documentation: Text (100.0%)
@@ -917,7 +895,7 @@ Both handlers are implemented as Perl modules using Apache2's mod_perl API, conf
---
-### 40. pingdomfetch
+### 39. pingdomfetch
* 💻 Languages: Perl (97.3%), Make (2.7%)
* 📚 Documentation: Text (100.0%)
@@ -940,7 +918,7 @@ The tool is implemented around a hierarchical configuration system (`/etc/pingdo
---
-### 41. fype
+### 40. fype
* 💻 Languages: C (71.8%), C/C++ (20.0%), HTML (6.3%), Make (1.8%)
* 📚 Documentation: Text (65.1%), LaTeX (21.0%), Markdown (14.0%)
@@ -962,7 +940,7 @@ The implementation uses a simple top-down parser with maximum lookahead of 1, in
---
-### 42. xerl
+### 41. xerl
* 💻 Languages: Perl (98.3%), Config (1.2%), Make (0.5%)
* 📊 Commits: 670
@@ -983,7 +961,7 @@ The implementation follows strict OO Perl conventions with explicit typing and p
---
-### 43. ychat
+### 42. ychat
* 💻 Languages: C++ (49.9%), C/C++ (22.2%), Shell (20.6%), Perl (2.5%), HTML (1.9%), Config (1.8%), Make (0.9%), CSS (0.2%)
* 📚 Documentation: Text (100.0%)
@@ -1006,7 +984,7 @@ The architecture emphasizes speed and scalability through several key design cho
---
-### 44. fapi
+### 43. fapi
* 💻 Languages: Python (96.6%), Make (3.1%), Config (0.3%)
* 📚 Documentation: Text (98.3%), Markdown (1.7%)
@@ -1028,7 +1006,7 @@ The tool is implemented in Python and depends on the bigsuds library (F5's iCont
---
-### 45. perl-c-fibonacci
+### 44. perl-c-fibonacci
* 💻 Languages: C (80.4%), Make (19.6%)
* 📚 Documentation: Text (100.0%)
@@ -1049,7 +1027,7 @@ perl-c-fibonacci: source code repository.
---
-### 46. netcalendar
+### 45. netcalendar
* 💻 Languages: Java (83.0%), HTML (12.9%), XML (3.0%), CSS (0.8%), Make (0.2%)
* 📚 Documentation: Text (89.7%), Markdown (10.3%)
@@ -1076,7 +1054,7 @@ The key feature is its intelligent color-coded event visualization system that h
---
-### 47. loadbars
+### 46. loadbars
* 💻 Languages: Perl (97.4%), Make (2.6%)
* 📚 Documentation: Text (100.0%)
@@ -1097,10 +1075,10 @@ loadbars: source code repository.
---
-### 48. gotop
+### 47. gotop
* 💻 Languages: Go (98.0%), Make (2.0%)
-* 📚 Documentation: Text (50.0%), Markdown (50.0%)
+* 📚 Documentation: Markdown (50.0%), Text (50.0%)
* 📊 Commits: 57
* 📈 Lines of Code: 499
* 📄 Lines of Documentation: 8
@@ -1120,7 +1098,7 @@ The implementation uses a concurrent architecture with goroutines for data colle
---
-### 49. rubyfy
+### 48. rubyfy
* 💻 Languages: Ruby (98.5%), JSON (1.5%)
* 📚 Documentation: Markdown (100.0%)
@@ -1143,7 +1121,7 @@ The tool is implemented as a lightweight Ruby script that prioritizes simplicity
---
-### 50. pwgrep
+### 49. pwgrep
* 💻 Languages: Shell (85.0%), Make (15.0%)
* 📚 Documentation: Text (80.8%), Markdown (19.2%)
@@ -1166,7 +1144,7 @@ The architecture is lightweight and Unix-philosophy driven: password databases a
---
-### 51. perldaemon
+### 50. perldaemon
* 💻 Languages: Perl (72.3%), Shell (23.8%), Config (3.9%)
* 📊 Commits: 110
@@ -1187,7 +1165,7 @@ The implementation centers around an event loop with configurable intervals that
---
-### 52. jsmstrade
+### 51. jsmstrade
* 💻 Languages: Java (76.0%), Shell (15.4%), XML (8.6%)
* 📚 Documentation: Markdown (100.0%)
@@ -1212,7 +1190,7 @@ The implementation is minimalistic, consisting of just three main Java classes (
---
-### 53. japi
+### 52. japi
* 💻 Languages: Perl (78.3%), Make (21.7%)
* 📚 Documentation: Text (100.0%)
@@ -1235,7 +1213,7 @@ Implemented in Perl using the JIRA::REST CPAN module, japi supports flexible con
---
-### 54. perl-poetry
+### 53. perl-poetry
* 💻 Languages: Perl (100.0%)
* 📚 Documentation: Markdown (100.0%)
@@ -1258,7 +1236,7 @@ This project exemplifies creative coding where Perl keywords and constructs are
---
-### 55. muttdelay
+### 54. muttdelay
* 💻 Languages: Make (47.1%), Shell (46.3%), Vim Script (5.9%), Config (0.7%)
* 📚 Documentation: Text (100.0%)
@@ -1281,7 +1259,7 @@ The architecture uses three components working together: a Vim plugin that provi
---
-### 56. netdiff
+### 55. netdiff
* 💻 Languages: Shell (52.2%), Make (46.3%), Config (1.5%)
* 📚 Documentation: Text (100.0%)
@@ -1304,7 +1282,7 @@ The tool uses a clever client-server architecture where you run the identical co
---
-### 57. debroid
+### 56. debroid
* 💻 Languages: Shell (92.0%), Make (8.0%)
* 📚 Documentation: Markdown (100.0%)
@@ -1329,7 +1307,7 @@ The implementation uses a two-stage debootstrap process: first creating a Debian
---
-### 58. hsbot
+### 57. hsbot
* 💻 Languages: Haskell (98.5%), Make (1.5%)
* 📊 Commits: 80
@@ -1350,7 +1328,7 @@ The implementation uses a modular design with core components separated into Bas
---
-### 59. cpuinfo
+### 58. cpuinfo
* 💻 Languages: Shell (53.2%), Make (46.8%)
* 📚 Documentation: Text (100.0%)
@@ -1373,7 +1351,7 @@ The implementation is elegantly simple: a single shell script ([src/cpuinfo](fil
---
-### 60. template
+### 59. template
* 💻 Languages: Make (89.2%), Shell (10.8%)
* 📚 Documentation: Text (100.0%)
@@ -1396,7 +1374,7 @@ The implementation uses a **Makefile-based build system** with targets for compi
---
-### 61. awksite
+### 60. awksite
* 💻 Languages: AWK (72.1%), HTML (16.4%), Config (11.5%)
* 📚 Documentation: Text (60.0%), Markdown (40.0%)
@@ -1419,7 +1397,7 @@ The architecture is remarkably simple: a single AWK script ([index.cgi](file:///
---
-### 62. dyndns
+### 61. dyndns
* 💻 Languages: Shell (100.0%)
* 📚 Documentation: Text (100.0%)
@@ -1442,7 +1420,7 @@ The implementation uses a two-tier security architecture: SSH public key authent
---
-### 63. vs-sim
+### 62. vs-sim
* 📚 Documentation: Markdown (100.0%)
* 📊 Commits: 411
diff --git a/about/showcase/debroid/image-1.png b/about/showcase/debroid/image-1.png
index 0b85a152..d7cec344 100644
--- a/about/showcase/debroid/image-1.png
+++ b/about/showcase/debroid/image-1.png
@@ -98,13 +98,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:4a3c577d-7bce-215c-29cc-06932ef0cfd5">
+ <meta name="fetch-nonce" content="v2:8624b6e5-a58b-5e72-a90e-7876584e8ffd">
<meta name="current-catalog-service-hash" content="f3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb">
- <meta name="request-id" content="BA94:1E5F37:A3EFF74:83B0E84:6999839C" data-pjax-transient="true"/><meta name="html-safe-nonce" content="13375c6e9739579ec839a82ca4cfcc93d514ee87ac0c1bdebcf3758a00e3bb78" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCQTk0OjFFNUYzNzpBM0VGRjc0OjgzQjBFODQ6Njk5OTgzOUMiLCJ2aXNpdG9yX2lkIjoiODA2NjYyMDE2MDY5MTA4NjM2IiwicmVnaW9uX2VkZ2UiOiJmcmEiLCJyZWdpb25fcmVuZGVyIjoiZnJhIn0=" data-pjax-transient="true"/><meta name="visitor-hmac" content="b725af58113ecb705891ed3202ee88d0524a44fc74642b4f926b73e59392c196" data-pjax-transient="true"/>
+ <meta name="request-id" content="8D68:3F663A:A3D63A0:839BA48:6999840B" data-pjax-transient="true"/><meta name="html-safe-nonce" content="55d67e81931ca07505267c4dae00a5aed62cf2bc19476fe4eb91be0ccfc54d78" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4RDY4OjNGNjYzQTpBM0Q2M0EwOjgzOUJBNDg6Njk5OTg0MEIiLCJ2aXNpdG9yX2lkIjoiNjMzNzcxOTcxNDQ0NjkzNTA1MSIsInJlZ2lvbl9lZGdlIjoiZnJhIiwicmVnaW9uX3JlbmRlciI6ImZyYSJ9" data-pjax-transient="true"/><meta name="visitor-hmac" content="668e36cab510e63c951178211edd0fd5a13d3eacd6d9971f909bd9bd59bd9f4c" data-pjax-transient="true"/>
@@ -310,10 +310,10 @@
</a>
<div class="AppHeader-appearanceSettings">
<react-partial-anchor>
- <button data-target="react-partial-anchor.anchor" id="icon-button-5888e2c3-2465-4dec-a02c-c2ace14b371f" aria-labelledby="tooltip-300a52a7-18dc-46eb-8527-2c01d2b0a9bc" 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-3810bd7d-c57a-4042-881d-36f41eac2a55" aria-labelledby="tooltip-cac1e8ac-8c6d-4e3e-be5b-3ee59758be85" 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-300a52a7-18dc-46eb-8527-2c01d2b0a9bc" for="icon-button-5888e2c3-2465-4dec-a02c-c2ace14b371f" 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-cac1e8ac-8c6d-4e3e-be5b-3ee59758be85" for="icon-button-3810bd7d-c57a-4042-881d-36f41eac2a55" 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.257816c5781f334a.module.css" />
@@ -361,7 +361,7 @@
-<qbsearch-input class="search-input" data-scope="owner:buetow" data-custom-scopes-path="/search/custom_scopes" data-delete-custom-scopes-csrf="HCfq0_164kaRHcGA48Yz0uDsVOuZwqtUCPymMsXkRQ1rJgT5-qJjCUJLtQB0B9yIbr2qMXsQ_WER_6raTT0k_g" 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="pZNKFGWyfH6hPdNw-x3W_oSfUMWjEDQp7SQzPHkPlPNU2Q5nKrW3ByIr-byXCn9Tmyxz8maEvX7EdpzF15vDVA" 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 mr-4 rounded"
data-action="click:qbsearch-input#searchInputContainerClicked"
@@ -425,7 +425,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-81bdbc98-4751-43d5-a8ef-0ce51f3390c9" 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-120bdb6f-6ddb-46b7-a894-783c4c7aedd7" data-target="query-builder.input" data-action="
input:query-builder#inputChange
blur:query-builder#inputBlur
keydown:query-builder#inputKeydown
@@ -666,7 +666,7 @@
></ul>
</div>
- <div class="FormControl-inlineValidation" id="validation-81bdbc98-4751-43d5-a8ef-0ce51f3390c9" hidden="hidden">
+ <div class="FormControl-inlineValidation" id="validation-120bdb6f-6ddb-46b7-a894-783c4c7aedd7" 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>
@@ -707,7 +707,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="ICMY1tTMMwWQTBbYaSoFIil7QmNy9UkY+t08j9OqdoZ7m1CymxOu84ThP8uybeFooLaqTgktgjObchzbGPB8dA==" />
+ <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="GWLy8eVouXdz6HY+k8wno7VnXnOp0MYeF1BxWUxaDFTRh5rU89g3U98cxpzYGCywipXp+2EfGHDR8y68a26HTw==" />
<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">
@@ -745,7 +745,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="OYy7JnFqJOWfdW9cR6752+uXFZw1nOf4rlKj3pRlslBB5FKteHRCD1jICsGpFQwwN4TwoUAOz4s9VA621QnfhA==" />
+ <!-- '"` --><!-- </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="zlZJ7C6O0CWDZTBt7B5qqqSNWSIDQJaowlGfcFecCckF9fu52QGLssmW1SvBApsbIVMUWAKAxAvFf+IACc/0BA==" />
<div data-target="custom-scopes.customScopesModalDialogFlash"></div>
<input type="hidden" id="custom_scope_id" name="custom_scope_id" data-target="custom-scopes.customScopesIdField">
@@ -763,7 +763,7 @@
placeholder="github-ruby"
required
maxlength="50">
- <input type="hidden" data-csrf="true" value="5poeJIsCpqBTL+JriWY9pr4OoAmLntfjjvxSaEcj9/2SheGm7F1x4iG7txEsGT4HqcIu226ySTQvzzzas/1Z+g==" />
+ <input type="hidden" data-csrf="true" value="jRIcRYoCu3pZxVmP7GfCeo05Vet/nabQY500faaLUDNrn9WtZwwBrMiGf1pBif/E+SPFvJbekLbb5+p0DSCTSw==" />
</auto-check>
</div>
@@ -818,7 +818,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="5vIa83w6T2K9dvydGaiFKfjSswo71d8iCH+UQGsuJhqVk4j8GSxOtrqUt8o6ji5bY574SBTReojd/9v4QdyHig==" /> <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="1QcTcEijHrIIQo0koksHxg39ZzTl1PamKfw7KhxJsFQXba7qjFnrjy4GJddcUO6EeIOdzbLrJ8MVe7tMkB+9Ug==" /> <input type="hidden" name="add_account" id="add_account" autocomplete="off" class="form-control" />
<label for="login_field">
Username or email address
@@ -840,9 +840,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_eb65" hidden="hidden" />
-<input class="form-control" type="hidden" name="timestamp" value="1771668380596" />
-<input class="form-control" type="hidden" name="timestamp_secret" value="f27cd8ee30973ff2d8623b7b6a1f838af7a523cb89aa9bd6e1bc9866514e8748" />
+<input class="form-control" type="text" name="required_field_ae7b" hidden="hidden" />
+<input class="form-control" type="hidden" name="timestamp" value="1771668491818" />
+<input class="form-control" type="hidden" name="timestamp_secret" value="b74339c98fa1bd3a315c5ec7409d08bfee509d2a8052614110f7dcf9c07afb6c" />
<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" />
@@ -869,10 +869,10 @@
<div class="AppHeader-appearanceSettings">
<react-partial-anchor>
- <button data-target="react-partial-anchor.anchor" id="icon-button-849cabbe-eb6c-4a52-966c-0d487203e6f4" aria-labelledby="tooltip-132c571b-6283-43a5-84b2-fe6f0461556e" 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-cfa359c5-084f-4167-9940-1210260b9312" aria-labelledby="tooltip-30e63f7a-0397-4df1-b470-86ba843af58c" 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-132c571b-6283-43a5-84b2-fe6f0461556e" for="icon-button-849cabbe-eb6c-4a52-966c-0d487203e6f4" 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-30e63f7a-0397-4df1-b470-86ba843af58c" for="icon-button-cfa359c5-084f-4167-9940-1210260b9312" 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.257816c5781f334a.module.css" />
@@ -910,10 +910,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-bd5999c5-8333-4a7b-a10c-bd4bfa38c9e4" aria-labelledby="tooltip-1f050b5b-5c23-42b7-860c-c3dbdd6b6606" 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-de44b306-0da6-49b9-9ac3-e236296acae2" aria-labelledby="tooltip-6b6f45b2-91af-4443-ab42-2ad8980bf008" 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-1f050b5b-5c23-42b7-860c-c3dbdd6b6606" for="icon-button-bd5999c5-8333-4a7b-a10c-bd4bfa38c9e4" 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-6b6f45b2-91af-4443-ab42-2ad8980bf008" for="icon-button-de44b306-0da6-49b9-9ac3-e236296acae2" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Dismiss alert</tool-tip>