diff options
Diffstat (limited to 'about')
| -rw-r--r-- | about/resources.gmi | 204 | ||||
| -rw-r--r-- | about/showcase.gmi | 550 | ||||
| -rw-r--r-- | about/showcase.gmi.tpl | 383 | ||||
| -rw-r--r-- | about/showcase/debroid/image-1.png | 40 |
4 files changed, 418 insertions, 759 deletions
diff --git a/about/resources.gmi b/about/resources.gmi index b77afec8..bf25f086 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: -* Systemprogrammierung in Go; Frank Müller; dpunkt -* Kubernetes Cookbook; Sameer Naik, Sébastien Goasguen, Jonathan Michaux; O'Reilly -* Perl New Features; Joshua McAdams, brian d foy; Perl School -* The KCNA (Kubernetes and Cloud Native Associate) Book; Nigel Poulton -* C++ Programming Language; Bjarne Stroustrup; -* Terraform Cookbook; Mikael Krief; Packt Publishing -* 97 things every SRE should know; Emil Stolarsky, Jaime Woo; O'Reilly -* The Pragmatic Programmer; David Thomas; Addison-Wesley -* Tmux 2: Productive Mouse-free Development; Brain P. Hogan; The Pragmatic Programmers -* Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press -* Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O'Reilly -* Object-Oriented Programming with ANSI-C; Axel-Tobias Schreiner -* Ultimate Go Notebook; Bill Kennedy -* The DevOps Handbook; Gene Kim, Jez Humble, Patrick Debois, John Willis; Audible -* Go Brain Teasers - Exercise Your Mind; Miki Tebeka; The Pragmatic Programmers -* DevOps And Site Reliability Engineering Handbook; Stephen Fleming; Audible -* Chaos Engineering - System Resiliency in Practice; Casey Rosenthal and Nora Jones; eBook -* Polished Ruby Programming; Jeremy Evans; Packt Publishing -* 21st Century C: C Tips from the New School; Ben Klemens; O'Reilly -* The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional -* Distributed Systems: Principles and Paradigms; Andrew S. Tanenbaum; Pearson -* Concurrency in Go; Katherine Cox-Buday; O'Reilly -* Programming Ruby 3.3 (5th Edition); Noel Rappin, with Dave Thomas; The Pragmatic Bookshelf +* Hands-on Infrastructure Monitoring with Prometheus; Joel Bastos, Pedro Araujo; Packt * Clusterbau mit Linux-HA; Michael Schwartzkopff; O'Reilly * Developing Games in Java; David Brackeen and others...; New Riders -* Raku Fundamentals; Moritz Lenz; Apress * The Docker Book; James Turnbull; Kindle -* Site Reliability Engineering; How Google runs production systems; O'Reilly -* Amazon Web Services in Action; Michael Wittig and Andreas Wittig; Manning Publications -* Higher Order Perl; Mark Dominus; Morgan Kaufmann -* Pro Puppet; James Turnbull, Jeffrey McCune; Apress -* Data Science at the Command Line; Jeroen Janssens; O'Reilly +* Effective Java; Joshua Bloch; Addison-Wesley Professional +* Java ist auch eine Insel; Christian Ullenboom; +* The Pragmatic Programmer; David Thomas; Addison-Wesley * Funktionale Programmierung; Peter Pepper; Springer +* Distributed Systems: Principles and Paradigms; Andrew S. Tanenbaum; Pearson +* Learn You a Haskell for Great Good!; Miran Lipovaca; No Starch Press +* Effective awk programming; Arnold Robbins; O'Reilly * 100 Go Mistakes and How to Avoid Them; Teiva Harsanyi; Manning Publications -* Leanring eBPF; Liz Rice; O'Reilly +* Polished Ruby Programming; Jeremy Evans; Packt Publishing +* Terraform Cookbook; Mikael Krief; Packt Publishing * Modern Perl; Chromatic ; Onyx Neon Press -* Raku Recipes; J.J. Merelo; Apress -* DNS and BIND; Cricket Liu; O'Reilly -* Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O'Reilly +* Programming Ruby 3.3 (5th Edition); Noel Rappin, with Dave Thomas; The Pragmatic Bookshelf +* Concurrency in Go; Katherine Cox-Buday; O'Reilly +* Perl New Features; Joshua McAdams, brian d foy; Perl School +* Higher Order Perl; Mark Dominus; Morgan Kaufmann +* The Go Programming Language; Alan A. A. Donovan; Addison-Wesley Professional * Seeking SRE: Conversations About Running Production Systems at Scale; David N. Blank-Edelman; eBook * Programming Perl aka "The Camel Book"; Tom Christiansen, brian d foy, Larry Wall & Jon Orwant; O'Reilly +* Tmux 2: Productive Mouse-free Development; Brain P. Hogan; The Pragmatic Programmers +* Data Science at the Command Line; Jeroen Janssens; O'Reilly +* Ultimate Go Notebook; Bill Kennedy +* Raku Fundamentals; Moritz Lenz; Apress * Learn You Some Erlang for Great Good; Fred Herbert; No Starch Press -* The Kubernetes Book; Nigel Poulton; Unabridged Audiobook -* Hands-on Infrastructure Monitoring with Prometheus; Joel Bastos, Pedro Araujo; Packt +* Go Brain Teasers - Exercise Your Mind; Miki Tebeka; The Pragmatic Programmers +* Systems Performance Tuning; Gian-Paolo D. Musumeci and others...; O'Reilly +* Amazon Web Services in Action; Michael Wittig and Andreas Wittig; Manning Publications +* C++ Programming Language; Bjarne Stroustrup; +* Think Raku (aka Think Perl 6); Laurent Rosenfeld, Allen B. Downey; O'Reilly +* Kubernetes Cookbook; Sameer Naik, Sébastien Goasguen, Jonathan Michaux; O'Reilly +* Pro Puppet; James Turnbull, Jeffrey McCune; Apress +* Chaos Engineering - System Resiliency in Practice; Casey Rosenthal and Nora Jones; eBook +* DNS and BIND; Cricket Liu; O'Reilly +* Object-Oriented Programming with ANSI-C; Axel-Tobias Schreiner +* 97 things every SRE should know; Emil Stolarsky, Jaime Woo; O'Reilly +* DevOps And Site Reliability Engineering Handbook; Stephen Fleming; Audible +* Systemprogrammierung in Go; Frank Müller; dpunkt * The Practise of System and Network Administration; Thomas A. Limoncelli, Christina J. Hogan, Strata R. Chalup; Addison-Wesley Professional Pro Git; Scott Chacon, Ben Straub; Apress -* Effective Java; Joshua Bloch; Addison-Wesley Professional -* Java ist auch eine Insel; Christian Ullenboom; -* Effective awk programming; Arnold Robbins; O'Reilly +* Leanring eBPF; Liz Rice; O'Reilly +* The DevOps Handbook; Gene Kim, Jez Humble, Patrick Debois, John Willis; Audible +* Site Reliability Engineering; How Google runs production systems; O'Reilly +* 21st Century C: C Tips from the New School; Ben Klemens; O'Reilly +* The KCNA (Kubernetes and Cloud Native Associate) Book; Nigel Poulton +* The Kubernetes Book; Nigel Poulton; Unabridged Audiobook +* Raku Recipes; J.J. Merelo; Apress ## Technical references I didn't read them from the beginning to the end, but I am using them to look up things. The books are in random order: -* 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 -* Algorithms; Robert Sedgewick, Kevin Wayne; Addison Wesley * Groovy Kurz & Gut; Joerg Staudemeier; O'Reilly +* Algorithms; Robert Sedgewick, Kevin Wayne; Addison Wesley +* Understanding the Linux Kernel; Daniel P. Bovet, Marco Cesati; O'Reilly * Relayd and Httpd Mastery; Michael W Lucas +* BPF Performance Tools - Linux System and Application Observability, Brendan Gregg; Addison Wesley * Implementing Service Level Objectives; Alex Hidalgo; O'Reilly * The Linux Programming Interface; Michael Kerrisk; No Starch Press +* Go: Design Patterns for Real-World Projects; Mat Ryer; Packt ## Self-development and soft-skills books In random order: -* Getting Things Done; David Allen -* Atomic Habits; James Clear; Random House Business * Consciousness: A Very Short Introduction; Susan Blackmore; Oxford Uiversity Press -* Coders at Work - Reflections on the craft of programming, Peter Seibel and Mitchell Dorian et al., Audiobook -* Digital Minimalism; Cal Newport; Portofolio Penguin -* Solve for Happy; Mo Gawdat (RE-READ 1ST TIME) -* Search Inside Yourself - The Unexpected path to Achieving Success, Happiness (and World Peace); Chade-Meng Tan, Daniel Goleman, Jon Kabat-Zinn; HarperOne * 101 Essays that change the way you think; Brianna Wiest; Audiobook -* The Phoenix Project - A Novel About IT, DevOps, and Helping your Business Win; Gene Kim and Kevin Behr; Trade Select -* 97 Things Every Engineering Manager Should Know; Camille Fournier; Audiobook -* The 7 Habits Of Highly Effective People; Stephen R. Covey; Simon & Schuster UK -* Who Moved My Cheese?; Dr. Spencer Johnson; Vermilion -* Psycho-Cybernetics; Maxwell Maltz; Perigee Books -* Stop starting, start finishing; Arne Roock; Lean-Kanban University -* Never Split the Difference; Chris Voss, Tahl Raz; Random House Business -* Buddah and Einstein walk into a Bar; Guy Joseph Ale, Claire Bloom; Blackstone Publishing -* The Courage to Be Disliked; Ichiro Kishimi and Fumitake Koga; Audiobook -* Deep Work; Cal Newport; Piatkus +* Soft Skills; John Sommez; Manning Publications * The Obstacle Is The Way; Ryan Holiday; Profile Books Ltd -* The Bullet Journal Method; Ryder Carroll; Fourth Estate -* Influence without Authority; A. Cohen, D. Bradford; Wiley -* The Software Engineer's Guidebook: Navigating senior, tech lead, and staff engineer positions at tech companies and startups; Gergely Orosz; Audiobook -* The Good Enough Job; Simone Stolzoff; Ebury Edge +* Stop starting, start finishing; Arne Roock; Lean-Kanban University * The Complete Software Developer's Career Guide; John Sonmez; Unabridged Audiobook -* Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly -* The Off Switch; Mark Cropley; Virgin Books (RE-READ 1ST TIME) -* The Joy of Missing Out; Christina Crook; New Society Publishers +* The Power of Now; Eckhard Tolle; Yellow Kite +* Psycho-Cybernetics; Maxwell Maltz; Perigee Books * Slow Productivity; Cal Newport; Penguin Random House +* 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 +* Getting Things Done; David Allen * Eat That Frog!; Brian Tracy; Hodder Paperbacks -* The Power of Now; Eckhard Tolle; Yellow Kite -* Meditation for Mortals, Oliver Burkeman, Audiobook -* Ultralearning; Anna Laurent; Self-published via Amazon -* Staff Engineer: Leadership beyond the management track; Will Larson; Audiobook -* Ultralearning; Scott Young; Thorsons +* The Phoenix Project - A Novel About IT, DevOps, and Helping your Business Win; Gene Kim and Kevin Behr; Trade Select +* The Joy of Missing Out; Christina Crook; New Society Publishers +* Influence without Authority; A. Cohen, D. Bradford; Wiley * Eat That Frog; Brian Tracy -* The Daily Stoic; Ryan Holiday, Stephen Hanselman; Profile Books -* Soft Skills; John Sommez; Manning Publications +* Meditation for Mortals, Oliver Burkeman, Audiobook * So Good They Can't Ignore You; Cal Newport; Business Plus +* Deep Work; Cal Newport; Piatkus +* Buddah and Einstein walk into a Bar; Guy Joseph Ale, Claire Bloom; Blackstone Publishing +* The 7 Habits Of Highly Effective People; Stephen R. Covey; Simon & Schuster UK +* The Software Engineer's Guidebook: Navigating senior, tech lead, and staff engineer positions at tech companies and startups; Gergely Orosz; Audiobook +* Time Management for System Administrators; Thomas A. Limoncelli; O'Reilly +* Ultralearning; Scott Young; Thorsons +* 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 +* The Courage to Be Disliked; Ichiro Kishimi and Fumitake Koga; Audiobook +* 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) +* Digital Minimalism; Cal Newport; Portofolio Penguin +* Atomic Habits; James Clear; Random House Business +* Never Split the Difference; Chris Voss, Tahl Raz; Random House Business +* The Good Enough Job; Simone Stolzoff; Ebury Edge +* The Bullet Journal Method; Ryder Carroll; Fourth Estate +* Staff Engineer: Leadership beyond the management track; Will Larson; Audiobook +* Ultralearning; Anna Laurent; Self-published via Amazon => ../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: -* Apache Tomcat Best Practises; 3-day on-site training -* The Ultimate Kubernetes Bootcamp; School of Devops; O'Reilly Online -* Linux Security and Isolation APIs Training; Michael Kerrisk; 3-day on-site training -* Functional programming lecture; Remote University of Hagen -* The Well-Grounded Rubyist Video Edition; David. A. Black; O'Reilly Online -* Protocol buffers; O'Reilly Online -* Developing IaC with Terraform (with Live Lessons); O'Reilly Online * Scripting Vim; Damian Conway; O'Reilly Online -* Ultimate Go Programming; Bill Kennedy; O'Reilly Online +* F5 Loadbalancers Training; 2-day on-site training; F5, Inc. * AWS Immersion Day; Amazon; 1-day interactive online training +* The Well-Grounded Rubyist Video Edition; David. A. Black; O'Reilly Online +* Protocol buffers; O'Reilly Online +* The Ultimate Kubernetes Bootcamp; School of Devops; O'Reilly Online +* Algorithms Video Lectures; Robert Sedgewick; O'Reilly Online * MySQL Deep Dive Workshop; 2-day on-site training +* Linux Security and Isolation APIs Training; Michael Kerrisk; 3-day on-site training * 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) -* F5 Loadbalancers Training; 2-day on-site training; F5, Inc. +* Developing IaC with Terraform (with Live Lessons); O'Reilly Online +* Ultimate Go Programming; Bill Kennedy; O'Reilly Online * Structure and Interpretation of Computer Programs; Harold Abelson and more...; -* Algorithms Video Lectures; Robert Sedgewick; O'Reilly Online +* Functional programming lecture; Remote University of Hagen * Cloud Operations on AWS - Learn how to configure, deploy, maintain, and troubleshoot your AWS environments; 3-day online live training with labs; Amazon +* Apache Tomcat Best Practises; 3-day on-site training ## Technical guides These are not whole books, but guides (smaller or larger) which I found very useful. in random order: +* Raku Guide at https://raku.guide * How CPUs work at https://cpu.land * Advanced Bash-Scripting Guide -* Raku Guide at https://raku.guide ## Podcasts @@ -178,58 +178,58 @@ These are not whole books, but guides (smaller or larger) which I found very use In random order: +* Fallthrough [Golang] * The Changelog Podcast(s) -* Hidden Brain * Dev Interrupted -* Deep Questions with Cal Newport +* Modern Mentor * Cup o' Go [Golang] +* Pratical AI * Backend Banter -* Fork Around And Find Out -* BSD Now [BSD] -* The Pragmatic Engineer Podcast +* Deep Questions with Cal Newport * Maintainable -* Pratical AI -* Fallthrough [Golang] +* Hidden Brain * The ProdCast (Google SRE Podcast) +* BSD Now [BSD] +* The Pragmatic Engineer Podcast +* Fork Around And Find Out * Wednesday Wisdom -* Modern Mentor ### 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) * Java Pub House * CRE: Chaosradio Express [german] -* FLOSS weekly -* Ship It (predecessor of Fork Around And Find Out) * Go Time (predecessor of fallthrough) +* FLOSS weekly * Modern Mentor ## Newsletters I like This is a mix of tech and non-tech newsletters I am subscribed to. In random order: -* Andreas Brandhorst Newsletter (Sci-Fi author) -* Changelog News -* Register Spill -* Ruby Weekly -* VK Newsletter +* The Pragmatic Engineer * byteSizeGo +* Changelog News +* Andreas Brandhorst Newsletter (Sci-Fi author) * Applied Go Weekly Newsletter * The Valuable Dev -* Golang Weekly * Monospace Mentor -* The Pragmatic Engineer +* Ruby Weekly +* Golang Weekly +* Register Spill +* VK Newsletter * The Imperfectionist ## Magazines I like(d) This is a mix of tech I like(d). I may not be a current subscriber, but now and then, I buy an issue. In random order: -* Linux User -* LWN (online only) * Linux Magazine * freeX (not published anymore) +* LWN (online only) +* Linux User ## YouTube channels diff --git a/about/showcase.gmi b/about/showcase.gmi index 5b478abc..8b2c87f2 100644 --- a/about/showcase.gmi +++ b/about/showcase.gmi @@ -9,109 +9,70 @@ This page showcases my side projects, providing an overview of what each project * ⇢ Project Showcase * ⇢ ⇢ Overall Statistics * ⇢ ⇢ Projects -* ⇢ ⇢ ⇢ 1. ior [#1(now) →#1(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 2. timesamurai [#2(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 3. dotfiles [#3(now) →#3(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ dotfiles -* ⇢ ⇢ ⇢ 4. loadbars [#4(now) ↑#47(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ loadbars - A small and humble tool to observe server loads -* ⇢ ⇢ ⇢ 5. epimetheus [#5(now) ↓#4(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 6. conf [#6(now) ↓#5(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 7. foostore [#7(now) →#7(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 8. scifi [#8(now) →#8(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ Sci-Fi Books Showcase -* ⇢ ⇢ ⇢ 9. log4jbench [#9(now) →#9(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ Log4j2 Benchmark Tool -* ⇢ ⇢ ⇢ 10. rcm [#10(now) →#10(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ RCM - Ruby Configuration Management -* ⇢ ⇢ ⇢ 11. yoga [#11(now) ↑#12(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ Yoga -* ⇢ ⇢ ⇢ 12. totalrecall [#12(now) ↑#14(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ totalrecall - Bulgarian Anki Flashcard Generator -* ⇢ ⇢ ⇢ 13. gogios [#13(now) ↓#11(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ Gogios -* ⇢ ⇢ ⇢ 14. hexai [#14(now) ↓#2(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ Hexai -* ⇢ ⇢ ⇢ 15. perc [#15(now) ↓#13(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ perc -* ⇢ ⇢ ⇢ 16. tasksamurai [#16(now) →#16(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ Task Samurai -* ⇢ ⇢ ⇢ 17. gitsyncer [#17(now) ↓#15(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ GitSyncer -* ⇢ ⇢ ⇢ 18. foostats [#18(now) ↓#17(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ foostats -* ⇢ ⇢ ⇢ 19. gos [#19(now) ↓#18(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ Gos (Go Social Media) -* ⇢ ⇢ ⇢ 20. timr [#20(now) ↓#19(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ timr -* ⇢ ⇢ ⇢ 21. dtail [#21(now) ↓#20(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 22. ds-sim [#22(now) ↓#21(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ DS-Sim -* ⇢ ⇢ ⇢ 23. gemtexter [#23(now) ↓#22(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 24. wireguardmeshgenerator [#24(now) ↓#23(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ WireGuard Mesh Generator -* ⇢ ⇢ ⇢ 25. goprecords [#25(now) ↓#24(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ goprecords - Global uptime records -* ⇢ ⇢ ⇢ 26. quicklogger [#26(now) ↓#25(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ Quick logger -* ⇢ ⇢ ⇢ 27. terraform [#27(now) ↓#26(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ Terraform -* ⇢ ⇢ ⇢ 28. sillybench [#28(now) ↓#27(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ Silly Benchmark -* ⇢ ⇢ ⇢ 29. gorum [#29(now) ↓#28(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ Gorum -* ⇢ ⇢ ⇢ 30. geheim [#30(now) →#30(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ geheim.rb -* ⇢ ⇢ ⇢ 31. docker-radicale-server [#31(now) →#31(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ Radicale Docker image -* ⇢ ⇢ ⇢ 32. algorithms [#32(now) →#32(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 33. randomjournalpage [#33(now) →#33(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ Read a random journal -* ⇢ ⇢ ⇢ 34. photoalbum [#34(now) →#34(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ photoalbum -* ⇢ ⇢ ⇢ 35. ioriot [#35(now) →#35(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ I/O Riot
-* ⇢ ⇢ Overview
-* ⇢ ⇢ Benefits
-* ⇢ Send in patches
-* ⇢ How to install I/O Riot
-* ⇢ How to use I/O Riot
-* ⇢ Appendix
-* ⇢ ⇢ Supported file systems
-* ⇢ ⇢ Supported syscalls
-* ⇢ ⇢ Source code documentation
-* ⇢ ⇢ ⇢ 36. ipv6test [#36(now) →#36(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ IPv6 Test Website -* ⇢ ⇢ ⇢ 37. fype [#37(now) →#37(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ Fype -* ⇢ ⇢ ⇢ 38. xerl [#38(now) ↑#42(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 39. sway-autorotate [#39(now) ↓#38(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ sway-autorotate -* ⇢ ⇢ ⇢ 40. staticfarm-apache-handlers [#40(now) →#40(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 41. mon [#41(now) ↓#39(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 42. guprecords [#42(now) ↓#29(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 43. pingdomfetch [#43(now) ↓#41(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 44. fapi [#44(now) →#44(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 45. perl-c-fibonacci [#45(now) →#45(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 46. netcalendar [#46(now) →#46(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 47. gotop [#47(now) ↑#48(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 48. rubyfy [#48(now) ↑#49(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 49. pwgrep [#49(now) ↑#50(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 50. awksite [#50(now) ↑#61(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 51. jsmstrade [#51(now) ↑#52(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 52. perldaemon [#52(now) ↓#51(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 53. japi [#53(now) →#53(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 54. debroid [#54(now) ↑#57(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 55. perl-poetry [#55(now) ↓#54(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 56. muttdelay [#56(now) ↓#55(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 57. netdiff [#57(now) ↓#56(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 58. hsbot [#58(now) →#58(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 59. dyndns [#59(now) ↑#62(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 60. cpuinfo [#60(now) ↓#59(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 61. template [#61(now) ↓#60(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 62. vs-sim [#62(now) ↑#63(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 63. ychat [#63(now) ↓#43(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] -* ⇢ ⇢ ⇢ 64. foo.zone [#64(now) ↓#6(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +* ⇢ ⇢ ⇢ 1. ior [#1(now) →#1(1w)] +* ⇢ ⇢ ⇢ 2. timesamurai [#2(now)] +* ⇢ ⇢ ⇢ 3. dotfiles [#3(now) →#3(1w)] +* ⇢ ⇢ ⇢ 4. loadbars [#4(now) ↑#47(1w)] +* ⇢ ⇢ ⇢ 5. epimetheus [#5(now) ↓#4(1w)] +* ⇢ ⇢ ⇢ 6. conf [#6(now) ↓#5(1w)] +* ⇢ ⇢ ⇢ 7. foostore [#7(now) →#7(1w)] +* ⇢ ⇢ ⇢ 8. scifi [#8(now) →#8(1w)] +* ⇢ ⇢ ⇢ 9. log4jbench [#9(now) →#9(1w)] +* ⇢ ⇢ ⇢ 10. rcm [#10(now) →#10(1w)] +* ⇢ ⇢ ⇢ 11. yoga [#11(now) ↑#12(1w)] +* ⇢ ⇢ ⇢ 12. totalrecall [#12(now) ↑#14(1w)] +* ⇢ ⇢ ⇢ 13. gogios [#13(now) ↓#11(1w)] +* ⇢ ⇢ ⇢ 14. hexai [#14(now) ↓#2(1w)] +* ⇢ ⇢ ⇢ 15. perc [#15(now) ↓#13(1w)] +* ⇢ ⇢ ⇢ 16. tasksamurai [#16(now) →#16(1w)] +* ⇢ ⇢ ⇢ 17. gitsyncer [#17(now) ↓#15(1w)] +* ⇢ ⇢ ⇢ 18. foostats [#18(now) ↓#17(1w)] +* ⇢ ⇢ ⇢ 19. gos [#19(now) ↓#18(1w)] +* ⇢ ⇢ ⇢ 20. timr [#20(now) ↓#19(1w)] +* ⇢ ⇢ ⇢ 21. dtail [#21(now) ↓#20(1w)] +* ⇢ ⇢ ⇢ 22. ds-sim [#22(now) ↓#21(1w)] +* ⇢ ⇢ ⇢ 23. gemtexter [#23(now) ↓#22(1w)] +* ⇢ ⇢ ⇢ 24. wireguardmeshgenerator [#24(now) ↓#23(1w)] +* ⇢ ⇢ ⇢ 25. goprecords [#25(now) ↓#24(1w)] +* ⇢ ⇢ ⇢ 26. quicklogger [#26(now) ↓#25(1w)] +* ⇢ ⇢ ⇢ 27. terraform [#27(now) ↓#26(1w)] +* ⇢ ⇢ ⇢ 28. sillybench [#28(now) ↓#27(1w)] +* ⇢ ⇢ ⇢ 29. gorum [#29(now) ↓#28(1w)] +* ⇢ ⇢ ⇢ 30. geheim [#30(now) →#30(1w)] +* ⇢ ⇢ ⇢ 31. docker-radicale-server [#31(now) →#31(1w)] +* ⇢ ⇢ ⇢ 32. algorithms [#32(now) →#32(1w)] +* ⇢ ⇢ ⇢ 33. randomjournalpage [#33(now) →#33(1w)] +* ⇢ ⇢ ⇢ 34. photoalbum [#34(now) →#34(1w)] +* ⇢ ⇢ ⇢ 35. ioriot [#35(now) →#35(1w)] +* ⇢ ⇢ ⇢ 36. ipv6test [#36(now) →#36(1w)] +* ⇢ ⇢ ⇢ 37. fype [#37(now) →#37(1w)] +* ⇢ ⇢ ⇢ 38. xerl [#38(now) ↑#42(1w)] +* ⇢ ⇢ ⇢ 39. sway-autorotate [#39(now) ↓#38(1w)] +* ⇢ ⇢ ⇢ 40. staticfarm-apache-handlers [#40(now) →#40(1w)] +* ⇢ ⇢ ⇢ 41. mon [#41(now) ↓#39(1w)] +* ⇢ ⇢ ⇢ 42. guprecords [#42(now) ↓#29(1w)] +* ⇢ ⇢ ⇢ 43. pingdomfetch [#43(now) ↓#41(1w)] +* ⇢ ⇢ ⇢ 44. fapi [#44(now) →#44(1w)] +* ⇢ ⇢ ⇢ 45. perl-c-fibonacci [#45(now) →#45(1w)] +* ⇢ ⇢ ⇢ 46. netcalendar [#46(now) →#46(1w)] +* ⇢ ⇢ ⇢ 47. gotop [#47(now) ↑#48(1w)] +* ⇢ ⇢ ⇢ 48. rubyfy [#48(now) ↑#49(1w)] +* ⇢ ⇢ ⇢ 49. pwgrep [#49(now) ↑#50(1w)] +* ⇢ ⇢ ⇢ 50. awksite [#50(now) ↑#61(1w)] +* ⇢ ⇢ ⇢ 51. jsmstrade [#51(now) ↑#52(1w)] +* ⇢ ⇢ ⇢ 52. perldaemon [#52(now) ↓#51(1w)] +* ⇢ ⇢ ⇢ 53. japi [#53(now) →#53(1w)] +* ⇢ ⇢ ⇢ 54. debroid [#54(now) ↑#57(1w)] +* ⇢ ⇢ ⇢ 55. perl-poetry [#55(now) ↓#54(1w)] +* ⇢ ⇢ ⇢ 56. muttdelay [#56(now) ↓#55(1w)] +* ⇢ ⇢ ⇢ 57. netdiff [#57(now) ↓#56(1w)] +* ⇢ ⇢ ⇢ 58. hsbot [#58(now) →#58(1w)] +* ⇢ ⇢ ⇢ 59. dyndns [#59(now) ↑#62(1w)] +* ⇢ ⇢ ⇢ 60. cpuinfo [#60(now) ↓#59(1w)] +* ⇢ ⇢ ⇢ 61. template [#61(now) ↓#60(1w)] +* ⇢ ⇢ ⇢ 62. vs-sim [#62(now) ↑#63(1w)] +* ⇢ ⇢ ⇢ 63. ychat [#63(now) ↓#43(1w)] +* ⇢ ⇢ ⇢ 64. foo.zone [#64(now) ↓#6(1w)] ## Overall Statistics @@ -125,7 +86,7 @@ This page showcases my side projects, providing an overview of what each project ## Projects -### 1. ior [#1(now) →#1(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 1. ior [#1(now) →#1(1w)] * 💻 Languages: Go (88.9%), C (10.6%), JSON (0.3%), C/C++ (0.2%) * 📚 Documentation: Markdown (85.8%), Text (14.2%) @@ -133,7 +94,7 @@ This page showcases my side projects, providing an overview of what each project * 📈 Lines of Code: 55808 * 📄 Lines of Documentation: 3394 * 📅 Development Period: 2024-01-18 to 2026-03-11 -* 🏆 Score: 1814.2 (combines code size and activity) +* 🏆 Score: 1796.4 (combines code size and activity) * ⚖️ License: No license found * 🧪 Status: Experimental (no releases yet) @@ -147,7 +108,7 @@ This page showcases my side projects, providing an overview of what each project --- -### 2. timesamurai [#2(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 2. timesamurai [#2(now)] * 💻 Languages: Go (99.2%), Shell (0.6%), YAML (0.1%) * 📚 Documentation: Markdown (100.0%) @@ -155,7 +116,7 @@ This page showcases my side projects, providing an overview of what each project * 📈 Lines of Code: 9493 * 📄 Lines of Documentation: 112 * 📅 Development Period: 2025-06-25 to 2026-03-07 -* 🏆 Score: 470.7 (combines code size and activity) +* 🏆 Score: 469.3 (combines code size and activity) * ⚖️ License: MIT * 🏷️ Latest Release: v0.7.0 (2026-03-05) @@ -167,7 +128,7 @@ This page showcases my side projects, providing an overview of what each project --- -### 3. dotfiles [#3(now) →#3(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 3. dotfiles [#3(now) →#3(1w)] * 💻 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%) @@ -175,19 +136,19 @@ This page showcases my side projects, providing an overview of what each project * 📈 Lines of Code: 2990 * 📄 Lines of Documentation: 5386 * 📅 Development Period: 2023-07-30 to 2026-03-10 -* 🏆 Score: 389.4 (combines code size and activity) +* 🏆 Score: 388.2 (combines code size and activity) * ⚖️ License: No license found * 🧪 Status: Experimental (no releases yet) -# dotfiles +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 --- -### 4. loadbars [#4(now) ↑#47(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 4. loadbars [#4(now) ↑#47(1w)] * 💻 Languages: Go (92.8%), Shell (7.2%) * 📚 Documentation: Markdown (100.0%) @@ -195,21 +156,21 @@ This page showcases my side projects, providing an overview of what each project * 📈 Lines of Code: 6595 * 📄 Lines of Documentation: 328 * 📅 Development Period: 2010-11-05 to 2026-03-02 -* 🏆 Score: 157.8 (combines code size and activity) +* 🏆 Score: 157.7 (combines code size and activity) * ⚖️ License: Custom License * 🏷️ Latest Release: v0.11.1 (2026-02-17) => showcase/loadbars/image-1.gif loadbars screenshot -# loadbars - A small and humble tool to observe server loads +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 --- -### 5. epimetheus [#5(now) ↓#4(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 5. epimetheus [#5(now) ↓#4(1w)] * 💻 Languages: Go (85.2%), Shell (14.8%) * 📚 Documentation: Markdown (100.0%) @@ -217,7 +178,7 @@ This page showcases my side projects, providing an overview of what each project * 📈 Lines of Code: 5199 * 📄 Lines of Documentation: 1736 * 📅 Development Period: 2026-02-07 to 2026-03-07 -* 🏆 Score: 155.6 (combines code size and activity) +* 🏆 Score: 155.4 (combines code size and activity) * ⚖️ License: No license found * 🧪 Status: Experimental (no releases yet) @@ -231,7 +192,7 @@ This page showcases my side projects, providing an overview of what each project --- -### 6. conf [#6(now) ↓#5(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 6. conf [#6(now) ↓#5(1w)] * 💻 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%) @@ -239,20 +200,19 @@ This page showcases my side projects, providing an overview of what each project * 📈 Lines of Code: 19132 * 📄 Lines of Documentation: 6572 * 📅 Development Period: 2021-12-28 to 2026-02-15 -* 🏆 Score: 128.0 (combines code size and activity) +* 🏆 Score: 127.9 (combines code size and activity) * ⚖️ License: No license found * 🧪 Status: Experimental (no releases yet) -conf -==== +This is my personal config repository. Including... => https://codeberg.org/snonux/conf View on Codeberg => https://github.com/snonux/conf View on GitHub --- -### 7. foostore [#7(now) →#7(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 7. foostore [#7(now) →#7(1w)] * 💻 Languages: Go (98.4%), Shell (1.6%) * 📚 Documentation: Markdown (100.0%) @@ -260,7 +220,7 @@ conf * 📈 Lines of Code: 7020 * 📄 Lines of Documentation: 250 * 📅 Development Period: 2018-05-26 to 2026-03-07 -* 🏆 Score: 119.7 (combines code size and activity) +* 🏆 Score: 119.6 (combines code size and activity) * ⚖️ License: No license found * 🏷️ Latest Release: v0.5.3 (2026-03-02) @@ -272,7 +232,7 @@ conf --- -### 8. scifi [#8(now) →#8(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 8. scifi [#8(now) →#8(1w)] * 💻 Languages: JSON (35.9%), CSS (30.6%), JavaScript (29.6%), HTML (3.8%) * 📚 Documentation: Markdown (100.0%) @@ -285,14 +245,14 @@ conf * 🧪 Status: Experimental (no releases yet) -# Sci-Fi Books Showcase +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 --- -### 9. log4jbench [#9(now) →#9(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 9. log4jbench [#9(now) →#9(1w)] * 💻 Languages: Java (78.9%), XML (21.1%) * 📚 Documentation: Markdown (100.0%) @@ -305,14 +265,14 @@ conf * 🧪 Status: Experimental (no releases yet) -# Log4j2 Benchmark Tool +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 --- -### 10. rcm [#10(now) →#10(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 10. rcm [#10(now) →#10(1w)] * 💻 Languages: Ruby (99.6%), TOML (0.4%) * 📚 Documentation: Markdown (100.0%) @@ -327,14 +287,14 @@ conf => showcase/rcm/image-1.png rcm screenshot -# RCM - Ruby Configuration Management +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 --- -### 11. yoga [#11(now) ↑#12(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 11. yoga [#11(now) ↑#12(1w)] * 💻 Languages: Go (69.1%), HTML (30.9%) * 📚 Documentation: Markdown (100.0%) @@ -349,14 +309,14 @@ conf => showcase/yoga/image-1.png yoga screenshot -# Yoga +> **⚠️ 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 --- -### 12. totalrecall [#12(now) ↑#14(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 12. totalrecall [#12(now) ↑#14(1w)] * 💻 Languages: Go (99.0%), Shell (0.5%), YAML (0.4%) * 📚 Documentation: Markdown (99.5%), Text (0.5%) @@ -371,14 +331,14 @@ conf => showcase/totalrecall/image-1.png totalrecall screenshot -# totalrecall - Bulgarian Anki Flashcard Generator +`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 --- -### 13. gogios [#13(now) ↓#11(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 13. gogios [#13(now) ↓#11(1w)] * 💻 Languages: Go (98.9%), JSON (0.6%), YAML (0.5%) * 📚 Documentation: Markdown (94.9%), Text (5.1%) @@ -393,14 +353,14 @@ conf => showcase/gogios/image-1.png gogios screenshot -# Gogios +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 --- -### 14. hexai [#14(now) ↓#2(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 14. hexai [#14(now) ↓#2(1w)] * 💻 Languages: Go (66.1%), HTML (33.9%) * 📚 Documentation: Markdown (100.0%) @@ -415,14 +375,14 @@ conf => showcase/hexai/image-1.png hexai screenshot -# Hexai +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 --- -### 15. perc [#15(now) ↓#13(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 15. perc [#15(now) ↓#13(1w)] * 💻 Languages: Go (100.0%) * 📚 Documentation: Markdown (100.0%) @@ -435,14 +395,14 @@ conf * 🏷️ Latest Release: v0.1.0 (2025-11-25) -# perc +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 --- -### 16. tasksamurai [#16(now) →#16(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 16. tasksamurai [#16(now) →#16(1w)] * 💻 Languages: Go (99.8%), YAML (0.2%) * 📚 Documentation: Markdown (100.0%) @@ -457,14 +417,14 @@ conf => showcase/tasksamurai/image-1.png tasksamurai screenshot -# Task Samurai +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 --- -### 17. gitsyncer [#17(now) ↓#15(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 17. gitsyncer [#17(now) ↓#15(1w)] * 💻 Languages: Go (92.9%), Shell (6.8%), JSON (0.4%) * 📚 Documentation: Markdown (100.0%) @@ -477,14 +437,14 @@ conf * 🏷️ Latest Release: v0.14.0 (2026-03-11) -# GitSyncer +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 --- -### 18. foostats [#18(now) ↓#17(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 18. foostats [#18(now) ↓#17(1w)] * 💻 Languages: Perl (100.0%) * 📚 Documentation: Markdown (54.6%), Text (45.4%) @@ -497,16 +457,16 @@ conf * 🏷️ Latest Release: v0.2.0 (2025-10-21) -# foostats +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 --- -### 19. gos [#19(now) ↓#18(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 19. gos [#19(now) ↓#18(1w)] -* 💻 Languages: Go (99.5%), JSON (0.2%), Shell (0.2%) +* 💻 Languages: Go (99.5%), Shell (0.2%), JSON (0.2%) * 📚 Documentation: Markdown (100.0%) * 📊 Commits: 402 * 📈 Lines of Code: 4143 @@ -519,14 +479,14 @@ conf => showcase/gos/image-1.png gos screenshot -# Gos (Go Social Media) +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 --- -### 20. timr [#20(now) ↓#19(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 20. timr [#20(now) ↓#19(1w)] * 💻 Languages: Go (96.0%), Shell (4.0%) * 📚 Documentation: Markdown (100.0%) @@ -539,14 +499,14 @@ conf * 🏷️ Latest Release: v0.3.0 (2026-01-02) -# timr +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(now) ↓#20(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 21. dtail [#21(now) ↓#20(1w)] * 💻 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%) @@ -561,15 +521,14 @@ conf => showcase/dtail/image-1.png dtail screenshot -DTail -===== +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. ds-sim [#22(now) ↓#21(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 22. ds-sim [#22(now) ↓#21(1w)] * 💻 Languages: Java (98.9%), Shell (0.6%), CSS (0.5%) * 📚 Documentation: Markdown (98.7%), Text (1.3%) @@ -584,14 +543,14 @@ DTail => showcase/ds-sim/image-1.png ds-sim screenshot -# DS-Sim +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 --- -### 23. gemtexter [#23(now) ↓#22(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 23. gemtexter [#23(now) ↓#22(1w)] * 💻 Languages: Shell (70.8%), CSS (26.2%), Config (1.8%), HTML (1.2%) * 📚 Documentation: Text (76.1%), Markdown (23.9%) @@ -604,15 +563,14 @@ DTail * 🏷️ Latest Release: 3.0.0 (2024-10-01) -The Gemtexter blog engine and static site generator -=================================================== +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. wireguardmeshgenerator [#24(now) ↓#23(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 24. wireguardmeshgenerator [#24(now) ↓#23(1w)] * 💻 Languages: Ruby (65.4%), YAML (34.6%) * 📚 Documentation: Markdown (100.0%) @@ -625,14 +583,14 @@ The Gemtexter blog engine and static site generator * 🏷️ Latest Release: v1.0.0 (2025-05-11) -# WireGuard Mesh Generator +Have a look at the `wireguardmeshgenerator.yaml` => https://codeberg.org/snonux/wireguardmeshgenerator View on Codeberg => https://github.com/snonux/wireguardmeshgenerator View on GitHub --- -### 25. goprecords [#25(now) ↓#24(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 25. goprecords [#25(now) ↓#24(1w)] * 💻 Languages: Go (100.0%) * 📚 Documentation: Markdown (100.0%) @@ -645,14 +603,14 @@ The Gemtexter blog engine and static site generator * 🏷️ Latest Release: v0.2.1 (2026-02-20) -# goprecords - Global uptime records +`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 --- -### 26. quicklogger [#26(now) ↓#25(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 26. quicklogger [#26(now) ↓#25(1w)] * 💻 Languages: Go (96.4%), XML (1.8%), Shell (1.1%), TOML (0.7%) * 📚 Documentation: Markdown (100.0%) @@ -667,14 +625,14 @@ The Gemtexter blog engine and static site generator => showcase/quicklogger/image-1.png quicklogger screenshot -# Quick logger +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. terraform [#27(now) ↓#26(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 27. terraform [#27(now) ↓#26(1w)] * 💻 Languages: HCL (96.6%), Make (1.9%), YAML (1.5%) * 📚 Documentation: Markdown (100.0%) @@ -687,14 +645,14 @@ The Gemtexter blog engine and static site generator * 🧪 Status: Experimental (no releases yet) -# Terraform +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 --- -### 28. sillybench [#28(now) ↓#27(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 28. sillybench [#28(now) ↓#27(1w)] * 💻 Languages: Go (90.9%), Shell (9.1%) * 📚 Documentation: Markdown (100.0%) @@ -707,14 +665,14 @@ The Gemtexter blog engine and static site generator * 🧪 Status: Experimental (no releases yet) -# Silly Benchmark +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 --- -### 29. gorum [#29(now) ↓#28(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 29. gorum [#29(now) ↓#28(1w)] * 💻 Languages: Go (91.3%), JSON (6.4%), YAML (2.3%) * 📚 Documentation: Markdown (100.0%) @@ -727,14 +685,14 @@ The Gemtexter blog engine and static site generator * 🧪 Status: Experimental (no releases yet) -# Gorum +Gogios is a minimalistic quorum manager. => https://codeberg.org/snonux/gorum View on Codeberg => https://github.com/snonux/gorum View on GitHub --- -### 30. geheim [#30(now) →#30(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 30. geheim [#30(now) →#30(1w)] * 💻 Languages: Ruby (86.7%), Shell (13.3%) * 📚 Documentation: Markdown (100.0%) @@ -747,14 +705,14 @@ The Gemtexter blog engine and static site generator * 🏷️ Latest Release: v0.3.1 (2025-11-01) -# geheim.rb +> **⚠️ 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. docker-radicale-server [#31(now) →#31(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 31. docker-radicale-server [#31(now) →#31(1w)] * 💻 Languages: Make (57.5%), Docker (42.5%) * 📚 Documentation: Markdown (100.0%) @@ -767,14 +725,14 @@ The Gemtexter blog engine and static site generator * 🧪 Status: Experimental (no releases yet) -# Radicale Docker image +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 --- -### 32. algorithms [#32(now) →#32(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 32. algorithms [#32(now) →#32(1w)] * 💻 Languages: Go (99.2%), Make (0.8%) * 📚 Documentation: Markdown (100.0%) @@ -788,15 +746,14 @@ The Gemtexter blog engine and static site generator ⚠️ **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. -Algorithms -========== +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 --- -### 33. randomjournalpage [#33(now) →#33(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 33. randomjournalpage [#33(now) →#33(1w)] * 💻 Languages: Shell (94.1%), Make (5.9%) * 📚 Documentation: Markdown (100.0%) @@ -810,14 +767,14 @@ Algorithms ⚠️ **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. -# Read a random journal +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 --- -### 34. photoalbum [#34(now) →#34(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 34. photoalbum [#34(now) →#34(1w)] * 💻 Languages: Shell (80.1%), Make (12.3%), Config (7.6%) * 📚 Documentation: Markdown (100.0%) @@ -831,14 +788,15 @@ Algorithms ⚠️ **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 +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 --- -### 35. ioriot [#35(now) →#35(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 35. ioriot [#35(now) →#35(1w)] * 💻 Languages: C (55.5%), C/C++ (24.0%), Config (19.6%), Make (1.0%) * 📚 Documentation: Markdown (100.0%) @@ -854,154 +812,14 @@ Algorithms => showcase/ioriot/image-1.png ioriot screenshot -# I/O Riot
-
-## Overview
-
-<img src=doc/ioriot_small.png align=right />
-
-...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.
-
-I/O Riot is operated in 5 steps:
-
-1. Capture: Record all I/O operations over a given period of time to a capture log.
-2. Initialize: Copy the log to a load test machine and initialize the load test environment.
-3. Replay: Drop all OS caches and replay all I/O operations.
-4. Analyze: Look at the OS and hardware stats (throughput, I/O ops, load average) from the run phase and draw conclusions. The aim is to identify possible I/O bottlenecks.
-5. Repeat: Repeat steps 2-4 multiple times but adjust OS and hardware settings in order to improve I/O performance.
-
-Examples of OS and hardware settings and adjustments:
-
-* Change of system parameters (file system mount options, file system caching, file system type, file system creation flags).
-* Replay the I/O at different speed(s).
-* Replay the I/O with modified pattern(s) (e.g. remove reads from the replay journal).
-* Replay the I/O on different types of hardware.
-
-The file system fragmentation (depending on the file system type and utilisation) might affect I/O performance as well. Therefore, replaying the I/O will not give the exact same result as on a production system. But it provides a pretty good way to determine I/O bottlenecks. As a rule of thumb file system fragmentation will not be an issue, unless the file system begins to fill up. Modern file systems (such as Ext4) will slowly start to suffer from fragmentation and slow down then.
-
-## Benefits
-
-In contrast to traditional I/O benchmarking tools, I/O Riot reproduces real production I/O, and does not rely on a pre-defined set of I/O operations.
-
-Also, I/O Riot only requires a server machine for capturing and another server machine for replaying. A traditional load test environment would usually be a distributed system which can consist of many components and machines. Such a distributed system can become quite complex which makes it difficult to isolate possible I/O bottlenecks. For example in order to trigger I/O events a client application would usually have to call a remote server application. The remote server application itself would query a database and the database would trigger the actual I/O operations in Linux. Furthermore, it is not easy to switch forth and back between hardware and OS settings. For example without a backup and restore procedure a database would most likely be corrupt after reformatting the data partitions with a different file system type.
-
-The benefits of I/O Riot are:
-
-* It is easy to determine whether a new hardware type is suitable for an already existing application.
-* It is easy to change OS and hardware for performance tests and optimizations.
-* Findings can be applied to production machines in order to optimize OS configuration and to save hardware costs.
-* Benchmarks are based on production I/O patterns and not on artificial I/O patterns.
-* Log files can be modified to see whether a change in the application behavior would improve I/O performance (without actually touching the application code)
-* Log files could be generated synthetically in order to find out how a new application would perform (even if there isn't any code for the new application yet)
-* It identifies possible flaws in the applications (e.g. Java programs which produce I/O operations on the server machines). Findings can be reported to the corresponding developers so that changes can be introduced to improve the applications I/O performance.
-* It captures I/O in Linux Kernel space (very efficient, no system slowdowns even under heavy I/O load)
-* It replays I/O via a tool developed in C with as little overhead as possible.
-
-# Send in patches
-
-Patches of any kind (bug fixes, new features...) are welcome! I/O Riot is new software and not everything might be perfect yet. Also, I/O Riot is used for a very specific use case at Mimecast. It may need tuning or extension for your use case. It will grow and mature over time.
-
-This is also potentially a great tool just for analysing (not replaying) the I/O, therefore it would be a great opportunity to add more features related to that (e.g. more stats, filters, etc.).
-
-Future work will also include file hole support and I/O support for memory mapped files.
-
-# How to install I/O Riot
-
-I/O Riot depends on SystemTap and a compatible version of the Linux Kernel. To get started have a read through the [installation guide](doc/markdown/installation.md).
-
-# How to use I/O Riot
-
-Check out the [I/O Riot usage guide](doc/markdown/usage.md) for a full usage workflow demonstration.
-
-# Appendix
-
-## Supported file systems
-
-Currently I/O Riot supports replaying I/O on ``ext2``, ``ext3``, ``ext4`` and ``xfs``. However, it should be straightforward add additional file systems.
-
-## Supported syscalls
-
-Currently, these file I/O related syscalls are supported (as of CentOS 7):
-
-```code
-open
-openat
-lseek
-llseek
-fcntl
-creat
-write
-writev
-unlink
-unlinkat
-rename
-renameat
-renameat2
-read
-readv
-readahead - Initial support only
-readdir
-readlink
-readlinkat
-fdatasync
-fsync
-sync_file_range - Initial support only
-sync
-syncfs
-close
-getdents
-mkdir
-rmdir
-mkdirat
-stat
-statfs - Initial support only
-statfs64 - Initial support only
-fstatfs - Initial support only
-fstatfs64 - Initial support only
-lstat
-fstat
-fstatat
-chmod
-fchmodat
-fchmod
-chown
-chown16
-lchown
-lchown16
-fchown
-fchown16
-fchownat
-mmap2 - Initial support only
-mremap - Initial support only
-munmap - Initial support only
-msync - Initial support only
-exit_group - To detect process termination (closing all open file handles)
-```
-
-## Source code documentation
-
-The documentation of the source code can be generated via the Doxygen Framework. To install doxygen run ``sudo yum install doxygen`` and to generate the documentation run ``make doxygen`` in the top level source directory. Once done, the resulting documentation can be found in the ``doc/html`` subfolder of the project. It is worthwhile to start from ``ioriot/src/main.c`` and read your way through. Functions are generally documented in the header files. Exceptions are static functions which don't have any separate declarations.
-
-More
-====
-
-* [How to contribute](CONTRIBUTING.md)
-* [Code of conduct](CODE_OF_CONDUCT.md)
-* [License](LICENSE)
-
-Credits
-=======
-
-* I/O Riot was created by **Paul Buetow** *<pbuetow@mimecast.com>*
-
-* Thank you to **Vlad-Marian Marian** for creating the I/O Riot logo. +...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. ipv6test [#36(now) →#36(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 36. ipv6test [#36(now) →#36(1w)] * 💻 Languages: Perl (65.8%), Docker (34.2%) * 📚 Documentation: Markdown (100.0%) @@ -1014,14 +832,14 @@ Credits * 🧪 Status: Experimental (no releases yet) -# IPv6 Test Website +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 --- -### 37. fype [#37(now) →#37(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 37. fype [#37(now) →#37(1w)] * 💻 Languages: C (77.3%), C/C++ (13.1%), HTML (7.5%), Make (2.1%) * 📚 Documentation: Text (65.8%), LaTeX (20.5%), Markdown (13.7%) @@ -1034,14 +852,14 @@ Credits * 🧪 Status: Experimental (no releases yet) -# Fype +**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 --- -### 38. xerl [#38(now) ↑#42(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 38. xerl [#38(now) ↑#42(1w)] * 💻 Languages: CSS (54.6%), XML (39.1%), Perl (4.0%), Make (2.2%) * 📚 Documentation: Text (91.2%), Org (4.9%), Markdown (3.9%) @@ -1055,15 +873,14 @@ Credits ⚠️ **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. -xerl Host Templates -=================== +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 --- -### 39. sway-autorotate [#39(now) ↓#38(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 39. sway-autorotate [#39(now) ↓#38(1w)] * 💻 Languages: Shell (100.0%) * 📚 Documentation: Markdown (100.0%) @@ -1076,14 +893,14 @@ xerl Host Templates * 🧪 Status: Experimental (no releases yet) -# sway-autorotate +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. staticfarm-apache-handlers [#40(now) →#40(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 40. staticfarm-apache-handlers [#40(now) →#40(1w)] * 💻 Languages: Perl (96.4%), Make (3.6%) * 📚 Documentation: Text (100.0%) @@ -1105,7 +922,7 @@ DEPRECATED --- -### 41. mon [#41(now) ↓#39(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 41. mon [#41(now) ↓#39(1w)] * 💻 Languages: Perl (96.5%), Shell (1.8%), Make (1.2%), Config (0.4%) * 📚 Documentation: Text (100.0%) @@ -1127,7 +944,7 @@ DEPRECATED --- -### 42. guprecords [#42(now) ↓#29(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 42. guprecords [#42(now) ↓#29(1w)] * 💻 Languages: Raku (100.0%) * 📊 Commits: 97 @@ -1146,7 +963,7 @@ guprecords: source code repository. --- -### 43. pingdomfetch [#43(now) ↓#41(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 43. pingdomfetch [#43(now) ↓#41(1w)] * 💻 Languages: Perl (97.3%), Make (2.7%) * 📚 Documentation: Text (100.0%) @@ -1168,7 +985,7 @@ DEPRECATED --- -### 44. fapi [#44(now) →#44(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 44. fapi [#44(now) →#44(1w)] * 💻 Languages: Python (96.6%), Make (3.1%), Config (0.3%) * 📚 Documentation: Text (98.3%), Markdown (1.7%) @@ -1190,7 +1007,7 @@ DEPRECATED --- -### 45. perl-c-fibonacci [#45(now) →#45(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 45. perl-c-fibonacci [#45(now) →#45(1w)] * 💻 Languages: C (80.4%), Make (19.6%) * 📚 Documentation: Text (100.0%) @@ -1211,7 +1028,7 @@ perl-c-fibonacci: source code repository. --- -### 46. netcalendar [#46(now) →#46(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 46. netcalendar [#46(now) →#46(1w)] * 💻 Languages: Java (83.0%), HTML (12.9%), XML (3.0%), CSS (0.8%), Make (0.2%) * 📚 Documentation: Text (89.5%), Markdown (10.5%) @@ -1233,7 +1050,7 @@ perl-c-fibonacci: source code repository. --- -### 47. gotop [#47(now) ↑#48(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 47. gotop [#47(now) ↑#48(1w)] * 💻 Languages: Go (98.0%), Make (2.0%) * 📚 Documentation: Markdown (60.0%), Text (40.0%) @@ -1253,7 +1070,7 @@ perl-c-fibonacci: source code repository. --- -### 48. rubyfy [#48(now) ↑#49(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 48. rubyfy [#48(now) ↑#49(1w)] * 💻 Languages: Ruby (98.5%), JSON (1.5%) * 📚 Documentation: Markdown (100.0%) @@ -1273,7 +1090,7 @@ perl-c-fibonacci: source code repository. --- -### 49. pwgrep [#49(now) ↑#50(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 49. pwgrep [#49(now) ↑#50(1w)] * 💻 Languages: Shell (85.0%), Make (15.0%) * 📚 Documentation: Text (75.0%), Markdown (25.0%) @@ -1293,7 +1110,7 @@ perl-c-fibonacci: source code repository. --- -### 50. awksite [#50(now) ↑#61(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 50. awksite [#50(now) ↑#61(1w)] * 💻 Languages: AWK (72.1%), HTML (16.4%), Config (11.5%) * 📚 Documentation: Markdown (50.0%), Text (50.0%) @@ -1313,7 +1130,7 @@ perl-c-fibonacci: source code repository. --- -### 51. jsmstrade [#51(now) ↑#52(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 51. jsmstrade [#51(now) ↑#52(1w)] * 💻 Languages: Java (76.0%), Shell (15.4%), XML (8.6%) * 📚 Documentation: Markdown (100.0%) @@ -1335,7 +1152,7 @@ perl-c-fibonacci: source code repository. --- -### 52. perldaemon [#52(now) ↓#51(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 52. perldaemon [#52(now) ↓#51(1w)] * 💻 Languages: Perl (74.2%), Shell (22.2%), Config (3.6%) * 📊 Commits: 111 @@ -1347,19 +1164,15 @@ perl-c-fibonacci: source code repository. ⚠️ **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. -TOC: -01. HELLO WORLD -02. QUICK START GUIDE -03. CONFIGURATION -04. HIGH RESOLUTION SCHEDULING TIME -05. WRITING YOUR OWN MODULES +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 --- -### 53. japi [#53(now) →#53(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 53. japi [#53(now) →#53(1w)] * 💻 Languages: Perl (78.3%), Make (21.7%) * 📚 Documentation: Text (100.0%) @@ -1381,7 +1194,7 @@ DEPRECATED --- -### 54. debroid [#54(now) ↑#57(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 54. debroid [#54(now) ↑#57(1w)] * 💻 Languages: Shell (92.0%), Make (8.0%) * 📚 Documentation: Markdown (100.0%) @@ -1403,7 +1216,7 @@ DEPRECATED --- -### 55. perl-poetry [#55(now) ↓#54(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 55. perl-poetry [#55(now) ↓#54(1w)] * 💻 Languages: Perl (100.0%) * 📚 Documentation: Markdown (100.0%) @@ -1417,15 +1230,14 @@ DEPRECATED ⚠️ **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-poetry -=========== +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 --- -### 56. muttdelay [#56(now) ↓#55(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 56. muttdelay [#56(now) ↓#55(1w)] * 💻 Languages: Make (47.1%), Shell (46.3%), Vim Script (5.9%), Config (0.7%) * 📚 Documentation: Text (100.0%) @@ -1447,7 +1259,7 @@ DEPRECATED --- -### 57. netdiff [#57(now) ↓#56(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 57. netdiff [#57(now) ↓#56(1w)] * 💻 Languages: Shell (52.2%), Make (46.3%), Config (1.5%) * 📚 Documentation: Text (100.0%) @@ -1469,7 +1281,7 @@ DEPRECATED --- -### 58. hsbot [#58(now) →#58(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 58. hsbot [#58(now) →#58(1w)] * 💻 Languages: Haskell (98.5%), Make (1.5%) * 📊 Commits: 81 @@ -1480,14 +1292,15 @@ DEPRECATED * 🧪 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/hsbot View on Codeberg => https://github.com/snonux/hsbot View on GitHub --- -### 59. dyndns [#59(now) ↑#62(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 59. dyndns [#59(now) ↑#62(1w)] * 💻 Languages: Shell (100.0%) * 📚 Documentation: Text (100.0%) @@ -1509,7 +1322,7 @@ DEPRECATED --- -### 60. cpuinfo [#60(now) ↓#59(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 60. cpuinfo [#60(now) ↓#59(1w)] * 💻 Languages: Shell (53.2%), Make (46.8%) * 📚 Documentation: Text (100.0%) @@ -1523,15 +1336,14 @@ DEPRECATED ⚠️ **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. -NAME - cpuinfo - A small and humble tool to print out CPU data +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 --- -### 61. template [#61(now) ↓#60(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 61. template [#61(now) ↓#60(1w)] * 💻 Languages: Make (89.2%), Shell (10.8%) * 📚 Documentation: Text (100.0%) @@ -1553,7 +1365,7 @@ DEPRECATED --- -### 62. vs-sim [#62(now) ↑#63(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 62. vs-sim [#62(now) ↑#63(1w)] * 📚 Documentation: Markdown (100.0%) * 📊 Commits: 412 @@ -1566,15 +1378,14 @@ DEPRECATED ⚠️ **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 -====== +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 --- -### 63. ychat [#63(now) ↓#43(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 63. ychat [#63(now) ↓#43(1w)] * 📚 Documentation: Text (100.0%) * 📊 Commits: 67 @@ -1594,7 +1405,7 @@ ychat: source code repository. --- -### 64. foo.zone [#64(now) ↓#6(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 64. foo.zone [#64(now) ↓#6(1w)] * 📚 Documentation: Markdown (100.0%) * 📊 Commits: 3643 @@ -1607,8 +1418,7 @@ ychat: source code repository. ⚠️ **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. -The foo.zone internet site -=========================== +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/showcase.gmi.tpl b/about/showcase.gmi.tpl index 7aed40ae..1caec700 100644 --- a/about/showcase.gmi.tpl +++ b/about/showcase.gmi.tpl @@ -18,7 +18,7 @@ This page showcases my side projects, providing an overview of what each project ## Projects -### 1. ior [#1(now) →#1(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 1. ior [#1(now) →#1(1w)] * 💻 Languages: Go (88.9%), C (10.6%), JSON (0.3%), C/C++ (0.2%) * 📚 Documentation: Markdown (85.8%), Text (14.2%) @@ -26,7 +26,7 @@ This page showcases my side projects, providing an overview of what each project * 📈 Lines of Code: 55808 * 📄 Lines of Documentation: 3394 * 📅 Development Period: 2024-01-18 to 2026-03-11 -* 🏆 Score: 1814.2 (combines code size and activity) +* 🏆 Score: 1796.4 (combines code size and activity) * ⚖️ License: No license found * 🧪 Status: Experimental (no releases yet) @@ -40,7 +40,7 @@ This page showcases my side projects, providing an overview of what each project --- -### 2. timesamurai [#2(now) ·n/a(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 2. timesamurai [#2(now)] * 💻 Languages: Go (99.2%), Shell (0.6%), YAML (0.1%) * 📚 Documentation: Markdown (100.0%) @@ -48,7 +48,7 @@ This page showcases my side projects, providing an overview of what each project * 📈 Lines of Code: 9493 * 📄 Lines of Documentation: 112 * 📅 Development Period: 2025-06-25 to 2026-03-07 -* 🏆 Score: 470.7 (combines code size and activity) +* 🏆 Score: 469.3 (combines code size and activity) * ⚖️ License: MIT * 🏷️ Latest Release: v0.7.0 (2026-03-05) @@ -60,7 +60,7 @@ This page showcases my side projects, providing an overview of what each project --- -### 3. dotfiles [#3(now) →#3(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 3. dotfiles [#3(now) →#3(1w)] * 💻 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%) @@ -68,19 +68,19 @@ This page showcases my side projects, providing an overview of what each project * 📈 Lines of Code: 2990 * 📄 Lines of Documentation: 5386 * 📅 Development Period: 2023-07-30 to 2026-03-10 -* 🏆 Score: 389.4 (combines code size and activity) +* 🏆 Score: 388.2 (combines code size and activity) * ⚖️ License: No license found * 🧪 Status: Experimental (no releases yet) -# dotfiles +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 --- -### 4. loadbars [#4(now) ↑#47(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 4. loadbars [#4(now) ↑#47(1w)] * 💻 Languages: Go (92.8%), Shell (7.2%) * 📚 Documentation: Markdown (100.0%) @@ -88,21 +88,21 @@ This page showcases my side projects, providing an overview of what each project * 📈 Lines of Code: 6595 * 📄 Lines of Documentation: 328 * 📅 Development Period: 2010-11-05 to 2026-03-02 -* 🏆 Score: 157.8 (combines code size and activity) +* 🏆 Score: 157.7 (combines code size and activity) * ⚖️ License: Custom License * 🏷️ Latest Release: v0.11.1 (2026-02-17) => showcase/loadbars/image-1.gif loadbars screenshot -# loadbars - A small and humble tool to observe server loads +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 --- -### 5. epimetheus [#5(now) ↓#4(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 5. epimetheus [#5(now) ↓#4(1w)] * 💻 Languages: Go (85.2%), Shell (14.8%) * 📚 Documentation: Markdown (100.0%) @@ -110,7 +110,7 @@ This page showcases my side projects, providing an overview of what each project * 📈 Lines of Code: 5199 * 📄 Lines of Documentation: 1736 * 📅 Development Period: 2026-02-07 to 2026-03-07 -* 🏆 Score: 155.6 (combines code size and activity) +* 🏆 Score: 155.4 (combines code size and activity) * ⚖️ License: No license found * 🧪 Status: Experimental (no releases yet) @@ -124,7 +124,7 @@ This page showcases my side projects, providing an overview of what each project --- -### 6. conf [#6(now) ↓#5(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 6. conf [#6(now) ↓#5(1w)] * 💻 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%) @@ -132,20 +132,19 @@ This page showcases my side projects, providing an overview of what each project * 📈 Lines of Code: 19132 * 📄 Lines of Documentation: 6572 * 📅 Development Period: 2021-12-28 to 2026-02-15 -* 🏆 Score: 128.0 (combines code size and activity) +* 🏆 Score: 127.9 (combines code size and activity) * ⚖️ License: No license found * 🧪 Status: Experimental (no releases yet) -conf -==== +This is my personal config repository. Including... => https://codeberg.org/snonux/conf View on Codeberg => https://github.com/snonux/conf View on GitHub --- -### 7. foostore [#7(now) →#7(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 7. foostore [#7(now) →#7(1w)] * 💻 Languages: Go (98.4%), Shell (1.6%) * 📚 Documentation: Markdown (100.0%) @@ -153,7 +152,7 @@ conf * 📈 Lines of Code: 7020 * 📄 Lines of Documentation: 250 * 📅 Development Period: 2018-05-26 to 2026-03-07 -* 🏆 Score: 119.7 (combines code size and activity) +* 🏆 Score: 119.6 (combines code size and activity) * ⚖️ License: No license found * 🏷️ Latest Release: v0.5.3 (2026-03-02) @@ -165,7 +164,7 @@ conf --- -### 8. scifi [#8(now) →#8(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 8. scifi [#8(now) →#8(1w)] * 💻 Languages: JSON (35.9%), CSS (30.6%), JavaScript (29.6%), HTML (3.8%) * 📚 Documentation: Markdown (100.0%) @@ -178,14 +177,14 @@ conf * 🧪 Status: Experimental (no releases yet) -# Sci-Fi Books Showcase +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 --- -### 9. log4jbench [#9(now) →#9(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 9. log4jbench [#9(now) →#9(1w)] * 💻 Languages: Java (78.9%), XML (21.1%) * 📚 Documentation: Markdown (100.0%) @@ -198,14 +197,14 @@ conf * 🧪 Status: Experimental (no releases yet) -# Log4j2 Benchmark Tool +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 --- -### 10. rcm [#10(now) →#10(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 10. rcm [#10(now) →#10(1w)] * 💻 Languages: Ruby (99.6%), TOML (0.4%) * 📚 Documentation: Markdown (100.0%) @@ -220,14 +219,14 @@ conf => showcase/rcm/image-1.png rcm screenshot -# RCM - Ruby Configuration Management +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 --- -### 11. yoga [#11(now) ↑#12(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 11. yoga [#11(now) ↑#12(1w)] * 💻 Languages: Go (69.1%), HTML (30.9%) * 📚 Documentation: Markdown (100.0%) @@ -242,14 +241,14 @@ conf => showcase/yoga/image-1.png yoga screenshot -# Yoga +> **⚠️ 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 --- -### 12. totalrecall [#12(now) ↑#14(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 12. totalrecall [#12(now) ↑#14(1w)] * 💻 Languages: Go (99.0%), Shell (0.5%), YAML (0.4%) * 📚 Documentation: Markdown (99.5%), Text (0.5%) @@ -264,14 +263,14 @@ conf => showcase/totalrecall/image-1.png totalrecall screenshot -# totalrecall - Bulgarian Anki Flashcard Generator +`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 --- -### 13. gogios [#13(now) ↓#11(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 13. gogios [#13(now) ↓#11(1w)] * 💻 Languages: Go (98.9%), JSON (0.6%), YAML (0.5%) * 📚 Documentation: Markdown (94.9%), Text (5.1%) @@ -286,14 +285,14 @@ conf => showcase/gogios/image-1.png gogios screenshot -# Gogios +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 --- -### 14. hexai [#14(now) ↓#2(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 14. hexai [#14(now) ↓#2(1w)] * 💻 Languages: Go (66.1%), HTML (33.9%) * 📚 Documentation: Markdown (100.0%) @@ -308,14 +307,14 @@ conf => showcase/hexai/image-1.png hexai screenshot -# Hexai +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 --- -### 15. perc [#15(now) ↓#13(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 15. perc [#15(now) ↓#13(1w)] * 💻 Languages: Go (100.0%) * 📚 Documentation: Markdown (100.0%) @@ -328,14 +327,14 @@ conf * 🏷️ Latest Release: v0.1.0 (2025-11-25) -# perc +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 --- -### 16. tasksamurai [#16(now) →#16(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 16. tasksamurai [#16(now) →#16(1w)] * 💻 Languages: Go (99.8%), YAML (0.2%) * 📚 Documentation: Markdown (100.0%) @@ -350,14 +349,14 @@ conf => showcase/tasksamurai/image-1.png tasksamurai screenshot -# Task Samurai +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 --- -### 17. gitsyncer [#17(now) ↓#15(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 17. gitsyncer [#17(now) ↓#15(1w)] * 💻 Languages: Go (92.9%), Shell (6.8%), JSON (0.4%) * 📚 Documentation: Markdown (100.0%) @@ -370,14 +369,14 @@ conf * 🏷️ Latest Release: v0.14.0 (2026-03-11) -# GitSyncer +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 --- -### 18. foostats [#18(now) ↓#17(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 18. foostats [#18(now) ↓#17(1w)] * 💻 Languages: Perl (100.0%) * 📚 Documentation: Markdown (54.6%), Text (45.4%) @@ -390,16 +389,16 @@ conf * 🏷️ Latest Release: v0.2.0 (2025-10-21) -# foostats +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 --- -### 19. gos [#19(now) ↓#18(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 19. gos [#19(now) ↓#18(1w)] -* 💻 Languages: Go (99.5%), JSON (0.2%), Shell (0.2%) +* 💻 Languages: Go (99.5%), Shell (0.2%), JSON (0.2%) * 📚 Documentation: Markdown (100.0%) * 📊 Commits: 402 * 📈 Lines of Code: 4143 @@ -412,14 +411,14 @@ conf => showcase/gos/image-1.png gos screenshot -# Gos (Go Social Media) +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 --- -### 20. timr [#20(now) ↓#19(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 20. timr [#20(now) ↓#19(1w)] * 💻 Languages: Go (96.0%), Shell (4.0%) * 📚 Documentation: Markdown (100.0%) @@ -432,14 +431,14 @@ conf * 🏷️ Latest Release: v0.3.0 (2026-01-02) -# timr +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(now) ↓#20(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 21. dtail [#21(now) ↓#20(1w)] * 💻 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%) @@ -454,15 +453,14 @@ conf => showcase/dtail/image-1.png dtail screenshot -DTail -===== +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. ds-sim [#22(now) ↓#21(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 22. ds-sim [#22(now) ↓#21(1w)] * 💻 Languages: Java (98.9%), Shell (0.6%), CSS (0.5%) * 📚 Documentation: Markdown (98.7%), Text (1.3%) @@ -477,14 +475,14 @@ DTail => showcase/ds-sim/image-1.png ds-sim screenshot -# DS-Sim +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 --- -### 23. gemtexter [#23(now) ↓#22(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 23. gemtexter [#23(now) ↓#22(1w)] * 💻 Languages: Shell (70.8%), CSS (26.2%), Config (1.8%), HTML (1.2%) * 📚 Documentation: Text (76.1%), Markdown (23.9%) @@ -497,15 +495,14 @@ DTail * 🏷️ Latest Release: 3.0.0 (2024-10-01) -The Gemtexter blog engine and static site generator -=================================================== +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. wireguardmeshgenerator [#24(now) ↓#23(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 24. wireguardmeshgenerator [#24(now) ↓#23(1w)] * 💻 Languages: Ruby (65.4%), YAML (34.6%) * 📚 Documentation: Markdown (100.0%) @@ -518,14 +515,14 @@ The Gemtexter blog engine and static site generator * 🏷️ Latest Release: v1.0.0 (2025-05-11) -# WireGuard Mesh Generator +Have a look at the `wireguardmeshgenerator.yaml` => https://codeberg.org/snonux/wireguardmeshgenerator View on Codeberg => https://github.com/snonux/wireguardmeshgenerator View on GitHub --- -### 25. goprecords [#25(now) ↓#24(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 25. goprecords [#25(now) ↓#24(1w)] * 💻 Languages: Go (100.0%) * 📚 Documentation: Markdown (100.0%) @@ -538,14 +535,14 @@ The Gemtexter blog engine and static site generator * 🏷️ Latest Release: v0.2.1 (2026-02-20) -# goprecords - Global uptime records +`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 --- -### 26. quicklogger [#26(now) ↓#25(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 26. quicklogger [#26(now) ↓#25(1w)] * 💻 Languages: Go (96.4%), XML (1.8%), Shell (1.1%), TOML (0.7%) * 📚 Documentation: Markdown (100.0%) @@ -560,14 +557,14 @@ The Gemtexter blog engine and static site generator => showcase/quicklogger/image-1.png quicklogger screenshot -# Quick logger +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. terraform [#27(now) ↓#26(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 27. terraform [#27(now) ↓#26(1w)] * 💻 Languages: HCL (96.6%), Make (1.9%), YAML (1.5%) * 📚 Documentation: Markdown (100.0%) @@ -580,14 +577,14 @@ The Gemtexter blog engine and static site generator * 🧪 Status: Experimental (no releases yet) -# Terraform +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 --- -### 28. sillybench [#28(now) ↓#27(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 28. sillybench [#28(now) ↓#27(1w)] * 💻 Languages: Go (90.9%), Shell (9.1%) * 📚 Documentation: Markdown (100.0%) @@ -600,14 +597,14 @@ The Gemtexter blog engine and static site generator * 🧪 Status: Experimental (no releases yet) -# Silly Benchmark +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 --- -### 29. gorum [#29(now) ↓#28(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 29. gorum [#29(now) ↓#28(1w)] * 💻 Languages: Go (91.3%), JSON (6.4%), YAML (2.3%) * 📚 Documentation: Markdown (100.0%) @@ -620,14 +617,14 @@ The Gemtexter blog engine and static site generator * 🧪 Status: Experimental (no releases yet) -# Gorum +Gogios is a minimalistic quorum manager. => https://codeberg.org/snonux/gorum View on Codeberg => https://github.com/snonux/gorum View on GitHub --- -### 30. geheim [#30(now) →#30(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 30. geheim [#30(now) →#30(1w)] * 💻 Languages: Ruby (86.7%), Shell (13.3%) * 📚 Documentation: Markdown (100.0%) @@ -640,14 +637,14 @@ The Gemtexter blog engine and static site generator * 🏷️ Latest Release: v0.3.1 (2025-11-01) -# geheim.rb +> **⚠️ 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. docker-radicale-server [#31(now) →#31(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 31. docker-radicale-server [#31(now) →#31(1w)] * 💻 Languages: Make (57.5%), Docker (42.5%) * 📚 Documentation: Markdown (100.0%) @@ -660,14 +657,14 @@ The Gemtexter blog engine and static site generator * 🧪 Status: Experimental (no releases yet) -# Radicale Docker image +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 --- -### 32. algorithms [#32(now) →#32(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 32. algorithms [#32(now) →#32(1w)] * 💻 Languages: Go (99.2%), Make (0.8%) * 📚 Documentation: Markdown (100.0%) @@ -681,15 +678,14 @@ The Gemtexter blog engine and static site generator ⚠️ **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. -Algorithms -========== +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 --- -### 33. randomjournalpage [#33(now) →#33(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 33. randomjournalpage [#33(now) →#33(1w)] * 💻 Languages: Shell (94.1%), Make (5.9%) * 📚 Documentation: Markdown (100.0%) @@ -703,14 +699,14 @@ Algorithms ⚠️ **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. -# Read a random journal +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 --- -### 34. photoalbum [#34(now) →#34(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 34. photoalbum [#34(now) →#34(1w)] * 💻 Languages: Shell (80.1%), Make (12.3%), Config (7.6%) * 📚 Documentation: Markdown (100.0%) @@ -724,14 +720,15 @@ Algorithms ⚠️ **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 +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 --- -### 35. ioriot [#35(now) →#35(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 35. ioriot [#35(now) →#35(1w)] * 💻 Languages: C (55.5%), C/C++ (24.0%), Config (19.6%), Make (1.0%) * 📚 Documentation: Markdown (100.0%) @@ -747,154 +744,14 @@ Algorithms => showcase/ioriot/image-1.png ioriot screenshot -# I/O Riot
-
-## Overview
-
-<img src=doc/ioriot_small.png align=right />
-
-...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.
-
-I/O Riot is operated in 5 steps:
-
-1. Capture: Record all I/O operations over a given period of time to a capture log.
-2. Initialize: Copy the log to a load test machine and initialize the load test environment.
-3. Replay: Drop all OS caches and replay all I/O operations.
-4. Analyze: Look at the OS and hardware stats (throughput, I/O ops, load average) from the run phase and draw conclusions. The aim is to identify possible I/O bottlenecks.
-5. Repeat: Repeat steps 2-4 multiple times but adjust OS and hardware settings in order to improve I/O performance.
-
-Examples of OS and hardware settings and adjustments:
-
-* Change of system parameters (file system mount options, file system caching, file system type, file system creation flags).
-* Replay the I/O at different speed(s).
-* Replay the I/O with modified pattern(s) (e.g. remove reads from the replay journal).
-* Replay the I/O on different types of hardware.
-
-The file system fragmentation (depending on the file system type and utilisation) might affect I/O performance as well. Therefore, replaying the I/O will not give the exact same result as on a production system. But it provides a pretty good way to determine I/O bottlenecks. As a rule of thumb file system fragmentation will not be an issue, unless the file system begins to fill up. Modern file systems (such as Ext4) will slowly start to suffer from fragmentation and slow down then.
-
-## Benefits
-
-In contrast to traditional I/O benchmarking tools, I/O Riot reproduces real production I/O, and does not rely on a pre-defined set of I/O operations.
-
-Also, I/O Riot only requires a server machine for capturing and another server machine for replaying. A traditional load test environment would usually be a distributed system which can consist of many components and machines. Such a distributed system can become quite complex which makes it difficult to isolate possible I/O bottlenecks. For example in order to trigger I/O events a client application would usually have to call a remote server application. The remote server application itself would query a database and the database would trigger the actual I/O operations in Linux. Furthermore, it is not easy to switch forth and back between hardware and OS settings. For example without a backup and restore procedure a database would most likely be corrupt after reformatting the data partitions with a different file system type.
-
-The benefits of I/O Riot are:
-
-* It is easy to determine whether a new hardware type is suitable for an already existing application.
-* It is easy to change OS and hardware for performance tests and optimizations.
-* Findings can be applied to production machines in order to optimize OS configuration and to save hardware costs.
-* Benchmarks are based on production I/O patterns and not on artificial I/O patterns.
-* Log files can be modified to see whether a change in the application behavior would improve I/O performance (without actually touching the application code)
-* Log files could be generated synthetically in order to find out how a new application would perform (even if there isn't any code for the new application yet)
-* It identifies possible flaws in the applications (e.g. Java programs which produce I/O operations on the server machines). Findings can be reported to the corresponding developers so that changes can be introduced to improve the applications I/O performance.
-* It captures I/O in Linux Kernel space (very efficient, no system slowdowns even under heavy I/O load)
-* It replays I/O via a tool developed in C with as little overhead as possible.
-
-# Send in patches
-
-Patches of any kind (bug fixes, new features...) are welcome! I/O Riot is new software and not everything might be perfect yet. Also, I/O Riot is used for a very specific use case at Mimecast. It may need tuning or extension for your use case. It will grow and mature over time.
-
-This is also potentially a great tool just for analysing (not replaying) the I/O, therefore it would be a great opportunity to add more features related to that (e.g. more stats, filters, etc.).
-
-Future work will also include file hole support and I/O support for memory mapped files.
-
-# How to install I/O Riot
-
-I/O Riot depends on SystemTap and a compatible version of the Linux Kernel. To get started have a read through the [installation guide](doc/markdown/installation.md).
-
-# How to use I/O Riot
-
-Check out the [I/O Riot usage guide](doc/markdown/usage.md) for a full usage workflow demonstration.
-
-# Appendix
-
-## Supported file systems
-
-Currently I/O Riot supports replaying I/O on ``ext2``, ``ext3``, ``ext4`` and ``xfs``. However, it should be straightforward add additional file systems.
-
-## Supported syscalls
-
-Currently, these file I/O related syscalls are supported (as of CentOS 7):
-
-```code
-open
-openat
-lseek
-llseek
-fcntl
-creat
-write
-writev
-unlink
-unlinkat
-rename
-renameat
-renameat2
-read
-readv
-readahead - Initial support only
-readdir
-readlink
-readlinkat
-fdatasync
-fsync
-sync_file_range - Initial support only
-sync
-syncfs
-close
-getdents
-mkdir
-rmdir
-mkdirat
-stat
-statfs - Initial support only
-statfs64 - Initial support only
-fstatfs - Initial support only
-fstatfs64 - Initial support only
-lstat
-fstat
-fstatat
-chmod
-fchmodat
-fchmod
-chown
-chown16
-lchown
-lchown16
-fchown
-fchown16
-fchownat
-mmap2 - Initial support only
-mremap - Initial support only
-munmap - Initial support only
-msync - Initial support only
-exit_group - To detect process termination (closing all open file handles)
-```
-
-## Source code documentation
-
-The documentation of the source code can be generated via the Doxygen Framework. To install doxygen run ``sudo yum install doxygen`` and to generate the documentation run ``make doxygen`` in the top level source directory. Once done, the resulting documentation can be found in the ``doc/html`` subfolder of the project. It is worthwhile to start from ``ioriot/src/main.c`` and read your way through. Functions are generally documented in the header files. Exceptions are static functions which don't have any separate declarations.
-
-More
-====
-
-* [How to contribute](CONTRIBUTING.md)
-* [Code of conduct](CODE_OF_CONDUCT.md)
-* [License](LICENSE)
-
-Credits
-=======
-
-* I/O Riot was created by **Paul Buetow** *<pbuetow@mimecast.com>*
-
-* Thank you to **Vlad-Marian Marian** for creating the I/O Riot logo. +...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. ipv6test [#36(now) →#36(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 36. ipv6test [#36(now) →#36(1w)] * 💻 Languages: Perl (65.8%), Docker (34.2%) * 📚 Documentation: Markdown (100.0%) @@ -907,14 +764,14 @@ Credits * 🧪 Status: Experimental (no releases yet) -# IPv6 Test Website +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 --- -### 37. fype [#37(now) →#37(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 37. fype [#37(now) →#37(1w)] * 💻 Languages: C (77.3%), C/C++ (13.1%), HTML (7.5%), Make (2.1%) * 📚 Documentation: Text (65.8%), LaTeX (20.5%), Markdown (13.7%) @@ -927,14 +784,14 @@ Credits * 🧪 Status: Experimental (no releases yet) -# Fype +**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 --- -### 38. xerl [#38(now) ↑#42(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 38. xerl [#38(now) ↑#42(1w)] * 💻 Languages: CSS (54.6%), XML (39.1%), Perl (4.0%), Make (2.2%) * 📚 Documentation: Text (91.2%), Org (4.9%), Markdown (3.9%) @@ -948,15 +805,14 @@ Credits ⚠️ **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. -xerl Host Templates -=================== +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 --- -### 39. sway-autorotate [#39(now) ↓#38(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 39. sway-autorotate [#39(now) ↓#38(1w)] * 💻 Languages: Shell (100.0%) * 📚 Documentation: Markdown (100.0%) @@ -969,14 +825,14 @@ xerl Host Templates * 🧪 Status: Experimental (no releases yet) -# sway-autorotate +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. staticfarm-apache-handlers [#40(now) →#40(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 40. staticfarm-apache-handlers [#40(now) →#40(1w)] * 💻 Languages: Perl (96.4%), Make (3.6%) * 📚 Documentation: Text (100.0%) @@ -998,7 +854,7 @@ DEPRECATED --- -### 41. mon [#41(now) ↓#39(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 41. mon [#41(now) ↓#39(1w)] * 💻 Languages: Perl (96.5%), Shell (1.8%), Make (1.2%), Config (0.4%) * 📚 Documentation: Text (100.0%) @@ -1020,7 +876,7 @@ DEPRECATED --- -### 42. guprecords [#42(now) ↓#29(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 42. guprecords [#42(now) ↓#29(1w)] * 💻 Languages: Raku (100.0%) * 📊 Commits: 97 @@ -1039,7 +895,7 @@ guprecords: source code repository. --- -### 43. pingdomfetch [#43(now) ↓#41(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 43. pingdomfetch [#43(now) ↓#41(1w)] * 💻 Languages: Perl (97.3%), Make (2.7%) * 📚 Documentation: Text (100.0%) @@ -1061,7 +917,7 @@ DEPRECATED --- -### 44. fapi [#44(now) →#44(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 44. fapi [#44(now) →#44(1w)] * 💻 Languages: Python (96.6%), Make (3.1%), Config (0.3%) * 📚 Documentation: Text (98.3%), Markdown (1.7%) @@ -1083,7 +939,7 @@ DEPRECATED --- -### 45. perl-c-fibonacci [#45(now) →#45(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 45. perl-c-fibonacci [#45(now) →#45(1w)] * 💻 Languages: C (80.4%), Make (19.6%) * 📚 Documentation: Text (100.0%) @@ -1104,7 +960,7 @@ perl-c-fibonacci: source code repository. --- -### 46. netcalendar [#46(now) →#46(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 46. netcalendar [#46(now) →#46(1w)] * 💻 Languages: Java (83.0%), HTML (12.9%), XML (3.0%), CSS (0.8%), Make (0.2%) * 📚 Documentation: Text (89.5%), Markdown (10.5%) @@ -1126,7 +982,7 @@ perl-c-fibonacci: source code repository. --- -### 47. gotop [#47(now) ↑#48(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 47. gotop [#47(now) ↑#48(1w)] * 💻 Languages: Go (98.0%), Make (2.0%) * 📚 Documentation: Markdown (60.0%), Text (40.0%) @@ -1146,7 +1002,7 @@ perl-c-fibonacci: source code repository. --- -### 48. rubyfy [#48(now) ↑#49(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 48. rubyfy [#48(now) ↑#49(1w)] * 💻 Languages: Ruby (98.5%), JSON (1.5%) * 📚 Documentation: Markdown (100.0%) @@ -1166,7 +1022,7 @@ perl-c-fibonacci: source code repository. --- -### 49. pwgrep [#49(now) ↑#50(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 49. pwgrep [#49(now) ↑#50(1w)] * 💻 Languages: Shell (85.0%), Make (15.0%) * 📚 Documentation: Text (75.0%), Markdown (25.0%) @@ -1186,7 +1042,7 @@ perl-c-fibonacci: source code repository. --- -### 50. awksite [#50(now) ↑#61(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 50. awksite [#50(now) ↑#61(1w)] * 💻 Languages: AWK (72.1%), HTML (16.4%), Config (11.5%) * 📚 Documentation: Markdown (50.0%), Text (50.0%) @@ -1206,7 +1062,7 @@ perl-c-fibonacci: source code repository. --- -### 51. jsmstrade [#51(now) ↑#52(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 51. jsmstrade [#51(now) ↑#52(1w)] * 💻 Languages: Java (76.0%), Shell (15.4%), XML (8.6%) * 📚 Documentation: Markdown (100.0%) @@ -1228,7 +1084,7 @@ perl-c-fibonacci: source code repository. --- -### 52. perldaemon [#52(now) ↓#51(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 52. perldaemon [#52(now) ↓#51(1w)] * 💻 Languages: Perl (74.2%), Shell (22.2%), Config (3.6%) * 📊 Commits: 111 @@ -1240,19 +1096,15 @@ perl-c-fibonacci: source code repository. ⚠️ **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. -TOC: -01. HELLO WORLD -02. QUICK START GUIDE -03. CONFIGURATION -04. HIGH RESOLUTION SCHEDULING TIME -05. WRITING YOUR OWN MODULES +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 --- -### 53. japi [#53(now) →#53(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 53. japi [#53(now) →#53(1w)] * 💻 Languages: Perl (78.3%), Make (21.7%) * 📚 Documentation: Text (100.0%) @@ -1274,7 +1126,7 @@ DEPRECATED --- -### 54. debroid [#54(now) ↑#57(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 54. debroid [#54(now) ↑#57(1w)] * 💻 Languages: Shell (92.0%), Make (8.0%) * 📚 Documentation: Markdown (100.0%) @@ -1296,7 +1148,7 @@ DEPRECATED --- -### 55. perl-poetry [#55(now) ↓#54(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 55. perl-poetry [#55(now) ↓#54(1w)] * 💻 Languages: Perl (100.0%) * 📚 Documentation: Markdown (100.0%) @@ -1310,15 +1162,14 @@ DEPRECATED ⚠️ **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-poetry -=========== +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 --- -### 56. muttdelay [#56(now) ↓#55(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 56. muttdelay [#56(now) ↓#55(1w)] * 💻 Languages: Make (47.1%), Shell (46.3%), Vim Script (5.9%), Config (0.7%) * 📚 Documentation: Text (100.0%) @@ -1340,7 +1191,7 @@ DEPRECATED --- -### 57. netdiff [#57(now) ↓#56(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 57. netdiff [#57(now) ↓#56(1w)] * 💻 Languages: Shell (52.2%), Make (46.3%), Config (1.5%) * 📚 Documentation: Text (100.0%) @@ -1362,7 +1213,7 @@ DEPRECATED --- -### 58. hsbot [#58(now) →#58(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 58. hsbot [#58(now) →#58(1w)] * 💻 Languages: Haskell (98.5%), Make (1.5%) * 📊 Commits: 81 @@ -1373,14 +1224,15 @@ DEPRECATED * 🧪 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/hsbot View on Codeberg => https://github.com/snonux/hsbot View on GitHub --- -### 59. dyndns [#59(now) ↑#62(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 59. dyndns [#59(now) ↑#62(1w)] * 💻 Languages: Shell (100.0%) * 📚 Documentation: Text (100.0%) @@ -1402,7 +1254,7 @@ DEPRECATED --- -### 60. cpuinfo [#60(now) ↓#59(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 60. cpuinfo [#60(now) ↓#59(1w)] * 💻 Languages: Shell (53.2%), Make (46.8%) * 📚 Documentation: Text (100.0%) @@ -1416,15 +1268,14 @@ DEPRECATED ⚠️ **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. -NAME - cpuinfo - A small and humble tool to print out CPU data +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 --- -### 61. template [#61(now) ↓#60(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 61. template [#61(now) ↓#60(1w)] * 💻 Languages: Make (89.2%), Shell (10.8%) * 📚 Documentation: Text (100.0%) @@ -1446,7 +1297,7 @@ DEPRECATED --- -### 62. vs-sim [#62(now) ↑#63(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 62. vs-sim [#62(now) ↑#63(1w)] * 📚 Documentation: Markdown (100.0%) * 📊 Commits: 412 @@ -1459,15 +1310,14 @@ DEPRECATED ⚠️ **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 -====== +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 --- -### 63. ychat [#63(now) ↓#43(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 63. ychat [#63(now) ↓#43(1w)] * 📚 Documentation: Text (100.0%) * 📊 Commits: 67 @@ -1487,7 +1337,7 @@ ychat: source code repository. --- -### 64. foo.zone [#64(now) ↓#6(1w) ·n/a(2w) ·n/a(3w) ·n/a(4w)] +### 64. foo.zone [#64(now) ↓#6(1w)] * 📚 Documentation: Markdown (100.0%) * 📊 Commits: 3643 @@ -1500,8 +1350,7 @@ ychat: source code repository. ⚠️ **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. -The foo.zone internet site -=========================== +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/showcase/debroid/image-1.png b/about/showcase/debroid/image-1.png index 8533135d..48f99167 100644 --- a/about/showcase/debroid/image-1.png +++ b/about/showcase/debroid/image-1.png @@ -54,7 +54,7 @@ <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","agent_session_retry_fetch_capi_on_401","alternate_user_config_repo","arianotify_comprehensive_migration","batch_suggested_changes","cache_issue_labels","codespaces_prebuild_region_target_update","coding_agent_model_selection","coding_agent_model_selection_all_skus","contentful_primer_code_blocks","copilot_3p_agent_hovercards","copilot_agent_snippy","copilot_agent_task_list_v2","copilot_agent_tasks_btn_code_nav","copilot_agent_tasks_btn_code_view","copilot_agent_tasks_btn_code_view_lines","copilot_agent_tasks_btn_repo","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_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_lists_max_age_filter","dashboard_universe_2025_feedback_dialog","disable_soft_navigate_turbo_visit","flex_cta_groups_mvp","global_account_switch_dialog_lazy_load","global_agents_menu_lazy_load","global_create_menu_lazy_load","global_nav_menu_lazy_load","global_nav_react","global_user_menu_lazy_load","hyperspace_2025_logged_out_batch_1","hyperspace_2025_logged_out_batch_2","hyperspace_2025_logged_out_batch_3","initial_per_page_pagination_updates","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","issues_cca_assign_actor_with_agent","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_auto_retry_on_error","issues_react_bots_timeline_pagination","issues_react_chrome_container_query_fix","issues_react_hot_cache","issues_react_low_quality_comment_warning","issues_react_prohibit_title_fallback","issues_react_safari_scroll_preservation","issues_react_use_turbo_for_cross_repo_navigation","issues_service_worker","landing_pages_ninetailed","landing_pages_web_vitals_tracking","lifecycle_label_name_updates","marketing_pages_search_explore_provider","memex_default_issue_create_repository","memex_grouped_by_edit_route","memex_live_update_hovercard","memex_mwl_filter_field_delimiter","merge_status_header_feedback","mission_control_retry_on_401","mission_control_use_body_html","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","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 crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/high-contrast-cookie-fed1d93364101384.js"></script> -<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/wp-runtime-c9843094798759c1.js" defer="defer"></script> +<script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/wp-runtime-3d2a4de1b2c2269f.js" defer="defer"></script> <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/28839-734cb6d8a7150172.js" defer="defer"></script> <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/85924-e131bec5f99667e1.js" defer="defer"></script> <script crossorigin="anonymous" type="application/javascript" src="https://github.githubassets.com/assets/34646-e68f26aaba7f2b0d.js" defer="defer"></script> @@ -100,13 +100,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:9dc3374d-4536-60ed-17e5-16195c448034"> + <meta name="fetch-nonce" content="v2:5f84a5ec-fd71-db7f-7c9d-9384de51d5c7"> <meta name="current-catalog-service-hash" content="f3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb"> - <meta name="request-id" content="DA14:2669EA:21D15E2:1A9C155:69B19FAD" data-pjax-transient="true"/><meta name="html-safe-nonce" content="89f2ece68e4d526601a333bdf95524798715c6da237c6cf7ea6869ff51d0af8f" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJEQTE0OjI2NjlFQToyMUQxNUUyOjFBOUMxNTU6NjlCMTlGQUQiLCJ2aXNpdG9yX2lkIjoiMjA1NzU4NjY1MTM3MzM0NjczMyIsInJlZ2lvbl9lZGdlIjoiZnJhIiwicmVnaW9uX3JlbmRlciI6ImZyYSJ9" data-pjax-transient="true"/><meta name="visitor-hmac" content="9b48a532faa338d887b4a2966d9d373bc031b0a40e8fc37795e6402d7a754d8c" data-pjax-transient="true"/> + <meta name="request-id" content="8588:1EE493:280F67B:1F4CD0D:69B1A894" data-pjax-transient="true"/><meta name="html-safe-nonce" content="ebaa975bf7891095b4cae4d8a15655fb5ff3f6857d2bf1cd437d0db8727f52f5" data-pjax-transient="true"/><meta name="visitor-payload" content="eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4NTg4OjFFRTQ5MzoyODBGNjdCOjFGNENEMEQ6NjlCMUE4OTQiLCJ2aXNpdG9yX2lkIjoiNDI3ODYwODI2OTg1Mzk2MDM0MCIsInJlZ2lvbl9lZGdlIjoiZnJhIiwicmVnaW9uX3JlbmRlciI6ImZyYSJ9" data-pjax-transient="true"/><meta name="visitor-hmac" content="bee603ff16213a63936e80b50ecf3b1ce07fe173d49228415a8d401ef1b7a5c0" data-pjax-transient="true"/> @@ -212,7 +212,7 @@ <meta name="browser-errors-url" content="https://api.github.com/_private/browser/errors"> - <meta name="release" content="9538d0f0fa3ff61fa3e5a0d0092bfdd1f6b6b7d9"> + <meta name="release" content="bf32c02d658968dd025eeb0907844405091dd7aa"> <meta name="ui-target" content="full"> <link rel="mask-icon" href="https://github.githubassets.com/assets/pinned-octocat-093da3e6fa40.svg" color="#000000"> @@ -312,10 +312,10 @@ </a> <div class="AppHeader-appearanceSettings"> <react-partial-anchor> - <button data-target="react-partial-anchor.anchor" id="icon-button-d6083ad4-a0b1-41a0-93a1-958edea2475f" aria-labelledby="tooltip-ad62980c-92ee-4827-b6ae-cdca163cb2ac" 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-90212b5d-ef17-4a04-b4c4-71c8b3a22cff" aria-labelledby="tooltip-9d099ffe-5550-4b16-ba76-369d871adde8" 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-ad62980c-92ee-4827-b6ae-cdca163cb2ac" for="icon-button-d6083ad4-a0b1-41a0-93a1-958edea2475f" 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-9d099ffe-5550-4b16-ba76-369d871adde8" for="icon-button-90212b5d-ef17-4a04-b4c4-71c8b3a22cff" 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.a7c2947c416ec834.module.css" /> @@ -363,7 +363,7 @@ -<qbsearch-input class="search-input" data-scope="owner:buetow" data-custom-scopes-path="/search/custom_scopes" data-delete-custom-scopes-csrf="af-AmIXN9iPRlCPO_fBqMscPo-_fnkiaGSofAKOBYsxGLZxjHuMz0wTHrPWjVToyxa9J3xeHqc8hLTfFHswcog" 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="XgO0w3JbnswxdCW18RYhXC6S2haZDHNzthxxbMU5S62uV83yitsV0X21c7sL2kJrn0fVc1HTg9jTjSiF2B43RA" 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" @@ -427,7 +427,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-c4563d2f-60d8-414a-82d2-c65585be9392" 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-343783c6-0259-416f-81a6-0e1c4b7a0daa" data-target="query-builder.input" data-action=" input:query-builder#inputChange blur:query-builder#inputBlur keydown:query-builder#inputKeydown @@ -668,7 +668,7 @@ ></ul> </div> - <div class="FormControl-inlineValidation" id="validation-c4563d2f-60d8-414a-82d2-c65585be9392" hidden="hidden"> + <div class="FormControl-inlineValidation" id="validation-343783c6-0259-416f-81a6-0e1c4b7a0daa" 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> @@ -709,7 +709,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="givh6Stpk4vpAGbkhC7KgQI4X7akIB3oO345rWBlH3Z8EU8RkbRfgvyE0KyG4ha28gMiRMLFIxbNvOSDkKKIag==" /> + <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="0PoKitZbxcwsCUSrZxLL8FxDT2fBnok6Nbj2yWYCisnhxLheFZDwSFWTDuw734hGDnYyvpKUdh+W3CFcJ26s7g==" /> <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"> @@ -747,7 +747,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="HEaH3NJZahTJ5ba0ZZiFTXrDx3RyokzHdYXcabxmvskKkjb1oBLVkmiYRU2T05YkR85z8MPXRtn3WdiGOhnuBA==" /> + <!-- '"` --><!-- </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="SCUCXvaP1IjZoXMNJLC1T6QLSPADGvf103f79FxZZqZbwQMo6dggn6k1OABfluuuT91unOoyce4EH3FLJosNlg==" /> <div data-target="custom-scopes.customScopesModalDialogFlash"></div> <input type="hidden" id="custom_scope_id" name="custom_scope_id" data-target="custom-scopes.customScopesIdField"> @@ -765,7 +765,7 @@ placeholder="github-ruby" required maxlength="50"> - <input type="hidden" data-csrf="true" value="/Zxi82/9j4nhTjBBb2wno/BcxWmdZ+asRak5An57cR2Pzutlvu1ZahLLjPJlKsTLMeWAG7ufRy9/PkmnRc3nGA==" /> + <input type="hidden" data-csrf="true" value="H/P7FW0HY9Spvi7vLKGJYQjPRM+Z6VVh5QReO6XOVRuA6shwHZSboYqDKgJZa9i5zUC1cWggEy5APJWc4YLvfw==" /> </auto-check> </div> @@ -820,7 +820,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="sdE+ItifRjDZjg/g6swWDZb8BJfMSLJMB+GQ2w93jVK8YGHsDNHl93sJb/WF4UAeXaAUumIg+/Rds86tD/yMbw==" /> <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="zZ4hcNgHoGgHWza/+h9Yv3aKG1eSiAeMD19PdhnbgjU3EVX6WrV/jNRW1DAK9rVSB/HYQ5VfCG1pmW7gxPsPtw==" /> <input type="hidden" name="add_account" id="add_account" autocomplete="off" class="form-control" /> <label for="login_field"> Username or email address @@ -842,9 +842,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_15af" hidden="hidden" /> -<input class="form-control" type="hidden" name="timestamp" value="1773248429852" /> -<input class="form-control" type="hidden" name="timestamp_secret" value="ade200db900af3469e5e695b8ac2025ac8fe156123e5ebb44c5bec15869da388" /> +<input class="form-control" type="text" name="required_field_d4f6" hidden="hidden" /> +<input class="form-control" type="hidden" name="timestamp" value="1773250708904" /> +<input class="form-control" type="hidden" name="timestamp_secret" value="671ddf80da4c629b93354697a88c6bd5d026f8a3b57304a55e2e9eb43b966f2f" /> <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" /> @@ -871,10 +871,10 @@ <div class="AppHeader-appearanceSettings"> <react-partial-anchor> - <button data-target="react-partial-anchor.anchor" id="icon-button-662475de-5626-4d9f-bdc5-31f8b98103df" aria-labelledby="tooltip-fb723bc9-4d29-477c-acdb-b3865862c8c6" 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-b983596f-f111-4ca9-ad26-01de68d48891" aria-labelledby="tooltip-e2ba1ae2-6221-43ee-8615-ab24ce7bd96c" 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-fb723bc9-4d29-477c-acdb-b3865862c8c6" for="icon-button-662475de-5626-4d9f-bdc5-31f8b98103df" 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-e2ba1ae2-6221-43ee-8615-ab24ce7bd96c" for="icon-button-b983596f-f111-4ca9-ad26-01de68d48891" 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.a7c2947c416ec834.module.css" /> @@ -912,10 +912,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-cbea71b3-3325-46fb-a2c9-673e785eeeef" aria-labelledby="tooltip-1729a67f-41e1-4de2-a91b-ab8414720ea2" 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-0a5f655d-f31f-4ade-b504-cc2cac346eda" aria-labelledby="tooltip-cd465564-474c-4e8d-bd82-50fb818be74c" 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-1729a67f-41e1-4de2-a91b-ab8414720ea2" for="icon-button-cbea71b3-3325-46fb-a2c9-673e785eeeef" 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-cd465564-474c-4e8d-bd82-50fb818be74c" for="icon-button-0a5f655d-f31f-4ade-b504-cc2cac346eda" popover="manual" data-direction="s" data-type="label" data-view-component="true" class="sr-only position-absolute">Dismiss alert</tool-tip> |
