summaryrefslogtreecommitdiff
path: root/about/showcase.html
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-02-21 12:07:04 +0200
committerPaul Buetow <paul@buetow.org>2026-02-21 12:07:04 +0200
commit78b97eec6970c345c8531c2887f772e4d248099f (patch)
tree45eb7e187f84b4bc624352684add9ba42a72f6a8 /about/showcase.html
parent82ce5106577d68b1a47aef9e2eb13406879ca95b (diff)
Update content for html
Diffstat (limited to 'about/showcase.html')
-rw-r--r--about/showcase.html439
1 files changed, 231 insertions, 208 deletions
diff --git a/about/showcase.html b/about/showcase.html
index ef8dc8e2..5401b78f 100644
--- a/about/showcase.html
+++ b/about/showcase.html
@@ -13,7 +13,7 @@
</p>
<h1 style='display: inline' id='project-showcase'>Project Showcase</h1><br />
<br />
-<span>Generated on: 2026-02-14</span><br />
+<span>Generated on: 2026-02-21</span><br />
<br />
<span>This page showcases my side projects, providing an overview of what each project does, its technical implementation, and key metrics. Each project summary includes information about the programming languages used, development activity, and licensing. The projects are ranked by score, which combines project size and recent activity.</span><br />
<br />
@@ -24,10 +24,10 @@
<li>⇢ <a href='#overall-statistics'>Overall Statistics</a></li>
<li>⇢ <a href='#projects'>Projects</a></li>
<li>⇢ ⇢ <a href='#1-hexai'>1. hexai</a></li>
-<li>⇢ ⇢ <a href='#2-epimetheus'>2. epimetheus</a></li>
-<li>⇢ ⇢ <a href='#3-conf'>3. conf</a></li>
-<li>⇢ ⇢ <a href='#4-dotfiles'>4. dotfiles</a></li>
-<li>⇢ ⇢ <a href='#5-confbak'>5. conf.bak</a></li>
+<li>⇢ ⇢ <a href='#2-dotfiles'>2. dotfiles</a></li>
+<li>⇢ ⇢ <a href='#3-epimetheus'>3. epimetheus</a></li>
+<li>⇢ ⇢ <a href='#4-conf'>4. conf</a></li>
+<li>⇢ ⇢ <a href='#5-dotfilesbak'>5. dotfiles.bak</a></li>
<li>⇢ ⇢ <a href='#6-foozone'>6. foo.zone</a></li>
<li>⇢ ⇢ <a href='#7-scifi'>7. scifi</a></li>
<li>⇢ ⇢ <a href='#8-log4jbench'>8. log4jbench</a></li>
@@ -35,10 +35,10 @@
<li>⇢ ⇢ <a href='#10-yoga'>10. yoga</a></li>
<li>⇢ ⇢ <a href='#11-perc'>11. perc</a></li>
<li>⇢ ⇢ <a href='#12-totalrecall'>12. totalrecall</a></li>
-<li>⇢ ⇢ <a href='#13-gitsyncer'>13. gitsyncer</a></li>
-<li>⇢ ⇢ <a href='#14-foostats'>14. foostats</a></li>
+<li>⇢ ⇢ <a href='#13-ior'>13. ior</a></li>
+<li>⇢ ⇢ <a href='#14-gitsyncer'>14. gitsyncer</a></li>
<li>⇢ ⇢ <a href='#15-tasksamurai'>15. tasksamurai</a></li>
-<li>⇢ ⇢ <a href='#16-ior'>16. ior</a></li>
+<li>⇢ ⇢ <a href='#16-foostats'>16. foostats</a></li>
<li>⇢ ⇢ <a href='#17-timr'>17. timr</a></li>
<li>⇢ ⇢ <a href='#18-dtail'>18. dtail</a></li>
<li>⇢ ⇢ <a href='#19-gos'>19. gos</a></li>
@@ -49,53 +49,54 @@
<li>⇢ ⇢ <a href='#24-terraform'>24. terraform</a></li>
<li>⇢ ⇢ <a href='#25-quicklogger'>25. quicklogger</a></li>
<li>⇢ ⇢ <a href='#26-sillybench'>26. sillybench</a></li>
-<li>⇢ ⇢ <a href='#27-gorum'>27. gorum</a></li>
-<li>⇢ ⇢ <a href='#28-guprecords'>28. guprecords</a></li>
-<li>⇢ ⇢ <a href='#29-geheim'>29. geheim</a></li>
-<li>⇢ ⇢ <a href='#30-docker-radicale-server'>30. docker-radicale-server</a></li>
-<li>⇢ ⇢ <a href='#31-algorithms'>31. algorithms</a></li>
-<li>⇢ ⇢ <a href='#32-randomjournalpage'>32. randomjournalpage</a></li>
-<li>⇢ ⇢ <a href='#33-photoalbum'>33. photoalbum</a></li>
-<li>⇢ ⇢ <a href='#34-ioriot'>34. ioriot</a></li>
-<li>⇢ ⇢ <a href='#35-ipv6test'>35. ipv6test</a></li>
-<li>⇢ ⇢ <a href='#36-sway-autorotate'>36. sway-autorotate</a></li>
-<li>⇢ ⇢ <a href='#37-mon'>37. mon</a></li>
-<li>⇢ ⇢ <a href='#38-staticfarm-apache-handlers'>38. staticfarm-apache-handlers</a></li>
-<li>⇢ ⇢ <a href='#39-pingdomfetch'>39. pingdomfetch</a></li>
-<li>⇢ ⇢ <a href='#40-xerl'>40. xerl</a></li>
-<li>⇢ ⇢ <a href='#41-ychat'>41. ychat</a></li>
-<li>⇢ ⇢ <a href='#42-fapi'>42. fapi</a></li>
-<li>⇢ ⇢ <a href='#43-perl-c-fibonacci'>43. perl-c-fibonacci</a></li>
-<li>⇢ ⇢ <a href='#44-netcalendar'>44. netcalendar</a></li>
-<li>⇢ ⇢ <a href='#45-loadbars'>45. loadbars</a></li>
-<li>⇢ ⇢ <a href='#46-gotop'>46. gotop</a></li>
-<li>⇢ ⇢ <a href='#47-fype'>47. fype</a></li>
-<li>⇢ ⇢ <a href='#48-rubyfy'>48. rubyfy</a></li>
-<li>⇢ ⇢ <a href='#49-pwgrep'>49. pwgrep</a></li>
-<li>⇢ ⇢ <a href='#50-perldaemon'>50. perldaemon</a></li>
-<li>⇢ ⇢ <a href='#51-jsmstrade'>51. jsmstrade</a></li>
-<li>⇢ ⇢ <a href='#52-japi'>52. japi</a></li>
-<li>⇢ ⇢ <a href='#53-perl-poetry'>53. perl-poetry</a></li>
-<li>⇢ ⇢ <a href='#54-muttdelay'>54. muttdelay</a></li>
-<li>⇢ ⇢ <a href='#55-netdiff'>55. netdiff</a></li>
-<li>⇢ ⇢ <a href='#56-debroid'>56. debroid</a></li>
-<li>⇢ ⇢ <a href='#57-hsbot'>57. hsbot</a></li>
-<li>⇢ ⇢ <a href='#58-cpuinfo'>58. cpuinfo</a></li>
-<li>⇢ ⇢ <a href='#59-template'>59. template</a></li>
-<li>⇢ ⇢ <a href='#60-awksite'>60. awksite</a></li>
-<li>⇢ ⇢ <a href='#61-dyndns'>61. dyndns</a></li>
-<li>⇢ ⇢ <a href='#62-vs-sim'>62. vs-sim</a></li>
+<li>⇢ ⇢ <a href='#27-goprecords'>27. goprecords</a></li>
+<li>⇢ ⇢ <a href='#28-gorum'>28. gorum</a></li>
+<li>⇢ ⇢ <a href='#29-guprecords'>29. guprecords</a></li>
+<li>⇢ ⇢ <a href='#30-geheim'>30. geheim</a></li>
+<li>⇢ ⇢ <a href='#31-docker-radicale-server'>31. docker-radicale-server</a></li>
+<li>⇢ ⇢ <a href='#32-algorithms'>32. algorithms</a></li>
+<li>⇢ ⇢ <a href='#33-randomjournalpage'>33. randomjournalpage</a></li>
+<li>⇢ ⇢ <a href='#34-photoalbum'>34. photoalbum</a></li>
+<li>⇢ ⇢ <a href='#35-ioriot'>35. ioriot</a></li>
+<li>⇢ ⇢ <a href='#36-ipv6test'>36. ipv6test</a></li>
+<li>⇢ ⇢ <a href='#37-sway-autorotate'>37. sway-autorotate</a></li>
+<li>⇢ ⇢ <a href='#38-mon'>38. mon</a></li>
+<li>⇢ ⇢ <a href='#39-staticfarm-apache-handlers'>39. staticfarm-apache-handlers</a></li>
+<li>⇢ ⇢ <a href='#40-pingdomfetch'>40. pingdomfetch</a></li>
+<li>⇢ ⇢ <a href='#41-fype'>41. fype</a></li>
+<li>⇢ ⇢ <a href='#42-xerl'>42. xerl</a></li>
+<li>⇢ ⇢ <a href='#43-ychat'>43. ychat</a></li>
+<li>⇢ ⇢ <a href='#44-fapi'>44. fapi</a></li>
+<li>⇢ ⇢ <a href='#45-perl-c-fibonacci'>45. perl-c-fibonacci</a></li>
+<li>⇢ ⇢ <a href='#46-netcalendar'>46. netcalendar</a></li>
+<li>⇢ ⇢ <a href='#47-loadbars'>47. loadbars</a></li>
+<li>⇢ ⇢ <a href='#48-gotop'>48. gotop</a></li>
+<li>⇢ ⇢ <a href='#49-rubyfy'>49. rubyfy</a></li>
+<li>⇢ ⇢ <a href='#50-pwgrep'>50. pwgrep</a></li>
+<li>⇢ ⇢ <a href='#51-perldaemon'>51. perldaemon</a></li>
+<li>⇢ ⇢ <a href='#52-jsmstrade'>52. jsmstrade</a></li>
+<li>⇢ ⇢ <a href='#53-japi'>53. japi</a></li>
+<li>⇢ ⇢ <a href='#54-perl-poetry'>54. perl-poetry</a></li>
+<li>⇢ ⇢ <a href='#55-muttdelay'>55. muttdelay</a></li>
+<li>⇢ ⇢ <a href='#56-netdiff'>56. netdiff</a></li>
+<li>⇢ ⇢ <a href='#57-debroid'>57. debroid</a></li>
+<li>⇢ ⇢ <a href='#58-hsbot'>58. hsbot</a></li>
+<li>⇢ ⇢ <a href='#59-cpuinfo'>59. cpuinfo</a></li>
+<li>⇢ ⇢ <a href='#60-template'>60. template</a></li>
+<li>⇢ ⇢ <a href='#61-awksite'>61. awksite</a></li>
+<li>⇢ ⇢ <a href='#62-dyndns'>62. dyndns</a></li>
+<li>⇢ ⇢ <a href='#63-vs-sim'>63. vs-sim</a></li>
</ul><br />
<h2 style='display: inline' id='overall-statistics'>Overall Statistics</h2><br />
<br />
<ul>
-<li>📦 Total Projects: 62</li>
-<li>📊 Total Commits: 14,734</li>
-<li>📈 Total Lines of Code: 326,878</li>
-<li>📄 Total Lines of Documentation: 44,373</li>
-<li>💻 Languages: Go (32.9%), Java (12.6%), YAML (9.3%), C++ (7.7%), Shell (6.5%), C (5.9%), XML (5.9%), Perl (5.9%), C/C++ (5.0%), HTML (1.8%), Config (1.3%), Ruby (1.0%), HCL (0.8%), Python (0.8%), CSS (0.7%), Make (0.6%), JSON (0.4%), Raku (0.3%), TOML (0.2%), Haskell (0.2%), JavaScript (0.2%), Docker (0.1%)</li>
-<li>📚 Documentation: Markdown (72.6%), Text (26.1%), LaTeX (1.3%)</li>
-<li>🚀 Release Status: 38 released, 24 experimental (61.3% with releases, 38.7% experimental)</li>
+<li>📦 Total Projects: 63</li>
+<li>📊 Total Commits: 13,313</li>
+<li>📈 Total Lines of Code: 314,278</li>
+<li>📄 Total Lines of Documentation: 41,499</li>
+<li>💻 Languages: Go (36.1%), Java (13.1%), C++ (8.1%), Shell (6.5%), C (6.3%), XML (6.1%), Perl (5.5%), C/C++ (5.2%), YAML (5.0%), HTML (1.9%), Config (1.3%), Ruby (1.0%), HCL (0.9%), CSS (0.7%), Python (0.7%), Make (0.5%), JSON (0.4%), TOML (0.2%), Haskell (0.2%), JavaScript (0.2%), Raku (0.1%)</li>
+<li>📚 Documentation: Markdown (70.1%), Text (28.6%), LaTeX (1.4%)</li>
+<li>🚀 Release Status: 39 released, 24 experimental (61.9% with releases, 38.1% experimental)</li>
</ul><br />
<h2 style='display: inline' id='projects'>Projects</h2><br />
<br />
@@ -108,7 +109,7 @@
<li>📈 Lines of Code: 29895</li>
<li>📄 Lines of Documentation: 5502</li>
<li>📅 Development Period: 2025-08-01 to 2026-02-13</li>
-<li>🏆 Score: 783.9 (combines code size and activity)</li>
+<li>🏆 Score: 365.1 (combines code size and activity)</li>
<li>⚖️ License: No license found</li>
<li>🏷️ Latest Release: v0.21.0 (2026-02-12)</li>
</ul><br />
@@ -124,7 +125,30 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='2-epimetheus'>2. epimetheus</h3><br />
+<h3 style='display: inline' id='2-dotfiles'>2. dotfiles</h3><br />
+<br />
+<ul>
+<li>💻 Languages: Shell (58.9%), CSS (11.0%), Config (10.2%), TOML (10.1%), Ruby (8.4%), JSON (1.1%), INI (0.2%)</li>
+<li>📚 Documentation: Markdown (100.0%)</li>
+<li>📊 Commits: 776</li>
+<li>📈 Lines of Code: 2960</li>
+<li>📄 Lines of Documentation: 653</li>
+<li>📅 Development Period: 2023-07-30 to 2026-02-21</li>
+<li>🏆 Score: 364.6 (combines code size and activity)</li>
+<li>⚖️ License: No license found</li>
+<li>🧪 Status: Experimental (no releases yet)</li>
+</ul><br />
+<br />
+<span>This is a personal dotfiles management project that uses [Rex](https://www.rexify.org/) (a Perl-based infrastructure automation framework) to declaratively install and synchronize configuration files across local machines and remote servers. The <span class='inlinecode'>Rexfile</span> defines individual tasks for each config area — shell (bash, zsh, fish), editor (Helix), terminal (Ghostty, tmux), window manager (Sway/Waybar), SSH, scripts, Pipewire audio, AI prompt links, and more — plus OS-specific package installation tasks for Fedora, FreeBSD, and Termux. A top-level <span class='inlinecode'>home</span> task runs all <span class='inlinecode'>home_*</span> tasks at once for a full install.</span><br />
+<br />
+<span>The architecture is straightforward: config files live in subdirectories mirroring their purpose, and helper functions (<span class='inlinecode'>ensure_file</span>, <span class='inlinecode'>ensure_dir</span>) copy or symlink them into the appropriate <span class='inlinecode'>$HOME</span> locations with correct permissions. It supports both a public repo (this one) and a private companion repo for sensitive configs like calendar data, keeping secrets separate while sharing the same deployment mechanism.</span><br />
+<br />
+<a class='textlink' href='https://codeberg.org/snonux/dotfiles'>View on Codeberg</a><br />
+<a class='textlink' href='https://github.com/snonux/dotfiles'>View on GitHub</a><br />
+<br />
+<span>---</span><br />
+<br />
+<h3 style='display: inline' id='3-epimetheus'>3. epimetheus</h3><br />
<br />
<ul>
<li>💻 Languages: Go (85.2%), Shell (14.8%)</li>
@@ -133,7 +157,7 @@
<li>📈 Lines of Code: 5199</li>
<li>📄 Lines of Documentation: 1734</li>
<li>📅 Development Period: 2026-02-07 to 2026-02-14</li>
-<li>🏆 Score: 703.4 (combines code size and activity)</li>
+<li>🏆 Score: 314.1 (combines code size and activity)</li>
<li>⚖️ License: No license found</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -149,7 +173,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='3-conf'>3. conf</h3><br />
+<h3 style='display: inline' id='4-conf'>4. conf</h3><br />
<br />
<ul>
<li>💻 Languages: YAML (80.7%), Perl (10.0%), Shell (6.1%), Python (2.3%), Docker (0.7%), Config (0.2%), HTML (0.1%)</li>
@@ -158,7 +182,7 @@
<li>📈 Lines of Code: 19079</li>
<li>📄 Lines of Documentation: 6585</li>
<li>📅 Development Period: 2021-12-28 to 2026-02-08</li>
-<li>🏆 Score: 407.1 (combines code size and activity)</li>
+<li>🏆 Score: 250.9 (combines code size and activity)</li>
<li>⚖️ License: No license found</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -172,7 +196,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='4-dotfiles'>4. dotfiles</h3><br />
+<h3 style='display: inline' id='5-dotfilesbak'>5. dotfiles.bak</h3><br />
<br />
<ul>
<li>💻 Languages: Shell (59.2%), CSS (10.9%), Config (10.1%), TOML (10.0%), Ruby (8.4%), JSON (1.1%), INI (0.2%)</li>
@@ -181,40 +205,17 @@
<li>📈 Lines of Code: 2988</li>
<li>📄 Lines of Documentation: 423</li>
<li>📅 Development Period: 2023-07-30 to 2026-02-14</li>
-<li>🏆 Score: 390.7 (combines code size and activity)</li>
+<li>🏆 Score: 225.0 (combines code size and activity)</li>
<li>⚖️ License: No license found</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
<br />
-<span>This is a personal dotfiles management project that uses [Rex](https://www.rexify.org/) (a Perl-based infrastructure automation framework) to declaratively install and synchronize configuration files across local machines and remote servers. The <span class='inlinecode'>Rexfile</span> defines individual tasks for each config area — shell (bash, zsh, fish), editor (Helix), terminal (Ghostty, tmux), window manager (Sway/Waybar), SSH, scripts, Pipewire audio, AI prompt links, and more — plus OS-specific package installation tasks for Fedora, FreeBSD, and Termux. A top-level <span class='inlinecode'>home</span> task runs all <span class='inlinecode'>home_*</span> tasks at once for a full install.</span><br />
+<span>This is a **personal dotfiles management repository** that uses [Rex](https://www.rexify.org/) (a Perl-based infrastructure automation framework) to declaratively install configuration files across multiple machines — both locally (laptop/workstation) and remotely (servers). The <span class='inlinecode'>Rexfile</span> defines granular tasks (e.g., <span class='inlinecode'>home_bash</span>, <span class='inlinecode'>home_tmux</span>, <span class='inlinecode'>home_sway</span>) that copy or symlink config files for tools like Bash, Fish, ZSH, tmux, Helix, Ghostty, Sway/Waybar, Pipewire, SSH, and AI coding assistants (Cursor, Claude, Amp, OpenCode). A top-level <span class='inlinecode'>home</span> task runs all <span class='inlinecode'>home_*</span> tasks at once. It also includes platform-specific package installation tasks for Fedora, FreeBSD, and Termux.</span><br />
<br />
-<span>The architecture is straightforward: config files live in subdirectories mirroring their purpose, and helper functions (<span class='inlinecode'>ensure_file</span>, <span class='inlinecode'>ensure_dir</span>) copy or symlink them into the appropriate <span class='inlinecode'>$HOME</span> locations with correct permissions. It supports both a public repo (this one) and a private companion repo for sensitive configs like calendar data, keeping secrets separate while sharing the same deployment mechanism.</span><br />
+<span>The architecture is straightforward: source configs live in categorized subdirectories (e.g., <span class='inlinecode'>bash/</span>, <span class='inlinecode'>fish/</span>, <span class='inlinecode'>tmux/</span>), and Rex&#39;s <span class='inlinecode'>file</span> resource ensures they&#39;re placed at the correct <span class='inlinecode'>~/.config/...</span> or <span class='inlinecode'>~/...</span> paths with proper permissions. Some configs (like fish and gitsyncer) use symlinks instead of copies for live editing. The repo also supports a private companion repo (<span class='inlinecode'>conf_private/dotfiles</span>) for sensitive files like calendar data.</span><br />
<br />
-<a class='textlink' href='https://codeberg.org/snonux/dotfiles'>View on Codeberg</a><br />
-<a class='textlink' href='https://github.com/snonux/dotfiles'>View on GitHub</a><br />
-<br />
-<span>---</span><br />
-<br />
-<h3 style='display: inline' id='5-confbak'>5. conf.bak</h3><br />
-<br />
-<ul>
-<li>💻 Languages: YAML (68.9%), Shell (13.1%), Perl (9.0%), Python (2.0%), Config (1.6%), CSS (1.5%), TOML (1.4%), Ruby (1.2%), Docker (0.6%), Lua (0.3%), JSON (0.2%), HTML (0.1%)</li>
-<li>📚 Documentation: Markdown (97.1%), Text (2.9%)</li>
-<li>📊 Commits: 2306</li>
-<li>📈 Lines of Code: 21210</li>
-<li>📄 Lines of Documentation: 6495</li>
-<li>📅 Development Period: 2021-12-28 to 2026-02-07</li>
-<li>🏆 Score: 331.0 (combines code size and activity)</li>
-<li>⚖️ License: No license found</li>
-<li>🧪 Status: Experimental (no releases yet)</li>
-</ul><br />
-<br />
-<span>This is a personal infrastructure-as-code and configuration management repository. It centralizes the author&#39;s self-hosted service configurations across multiple machines and environments, using **Rex** (a Perl-based deployment tool) as the orchestration layer — the top-level <span class='inlinecode'>Rexfile</span> auto-loads sub-project Rexfiles from each directory. The repo is organized by target: **babylon5** contains Docker run scripts for self-hosted services (Vaultwarden, Nextcloud, Audiobookshelf, etc.), **f3s** holds a large collection of Kubernetes/Helm manifests for a k3s cluster (covering ~30 services including ArgoCD, Traefik, Prometheus, Loki, Immich, Jellyfin, and more), **frontends** manages frontend server configs (e.g., Apache/Nginx, system scripts), and **dotfiles** stores personal shell and editor configs (fish, zsh, Neovim, Helix, Sway, tmux, Ghostty, etc.).</span><br />
-<br />
-<span>The repository is useful as a single source of truth for reproducing the author&#39;s entire homelab and workstation setup. By versioning everything in Git — from k8s manifests and Docker commands to dotfiles and code snippets — it enables consistent, repeatable deployments and easy recovery. The Rex-based structure allows deploying or updating any target system with a single command.</span><br />
-<br />
-<a class='textlink' href='https://codeberg.org/snonux/conf.bak'>View on Codeberg</a><br />
-<a class='textlink' href='https://github.com/snonux/conf.bak'>View on GitHub</a><br />
+<a class='textlink' href='https://codeberg.org/snonux/dotfiles.bak'>View on Codeberg</a><br />
+<a class='textlink' href='https://github.com/snonux/dotfiles.bak'>View on GitHub</a><br />
<br />
<span>---</span><br />
<br />
@@ -227,7 +228,7 @@
<li>📈 Lines of Code: 18702</li>
<li>📄 Lines of Documentation: 174</li>
<li>📅 Development Period: 2021-04-29 to 2026-02-07</li>
-<li>🏆 Score: 322.6 (combines code size and activity)</li>
+<li>🏆 Score: 215.8 (combines code size and activity)</li>
<li>⚖️ License: No license found</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -248,7 +249,7 @@
<li>📈 Lines of Code: 1664</li>
<li>📄 Lines of Documentation: 853</li>
<li>📅 Development Period: 2026-01-25 to 2026-01-27</li>
-<li>🏆 Score: 154.0 (combines code size and activity)</li>
+<li>🏆 Score: 117.3 (combines code size and activity)</li>
<li>⚖️ License: No license found</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -271,7 +272,7 @@
<li>📈 Lines of Code: 774</li>
<li>📄 Lines of Documentation: 119</li>
<li>📅 Development Period: 2026-01-09 to 2026-01-09</li>
-<li>🏆 Score: 78.1 (combines code size and activity)</li>
+<li>🏆 Score: 66.4 (combines code size and activity)</li>
<li>⚖️ License: MIT</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -294,7 +295,7 @@
<li>📈 Lines of Code: 3875</li>
<li>📄 Lines of Documentation: 394</li>
<li>📅 Development Period: 2023-04-17 to 2026-02-08</li>
-<li>🏆 Score: 35.5 (combines code size and activity)</li>
+<li>🏆 Score: 33.3 (combines code size and activity)</li>
<li>⚖️ License: Custom License</li>
<li>🏷️ Latest Release: v1.4.0 (2026-02-08)</li>
</ul><br />
@@ -315,11 +316,11 @@
<ul>
<li>💻 Languages: Go (66.1%), HTML (33.9%)</li>
<li>📚 Documentation: Markdown (100.0%)</li>
-<li>📊 Commits: 24</li>
+<li>📊 Commits: 14</li>
<li>📈 Lines of Code: 5921</li>
<li>📄 Lines of Documentation: 83</li>
<li>📅 Development Period: 2025-10-01 to 2026-01-28</li>
-<li>🏆 Score: 32.8 (combines code size and activity)</li>
+<li>🏆 Score: 31.0 (combines code size and activity)</li>
<li>⚖️ License: No license found</li>
<li>🏷️ Latest Release: v0.4.0 (2026-01-28)</li>
</ul><br />
@@ -344,7 +345,7 @@
<li>📈 Lines of Code: 452</li>
<li>📄 Lines of Documentation: 80</li>
<li>📅 Development Period: 2025-11-25 to 2025-11-25</li>
-<li>🏆 Score: 32.4 (combines code size and activity)</li>
+<li>🏆 Score: 30.0 (combines code size and activity)</li>
<li>⚖️ License: No license found</li>
<li>🏷️ Latest Release: v0.1.0 (2025-11-25)</li>
</ul><br />
@@ -367,7 +368,7 @@
<li>📈 Lines of Code: 13129</li>
<li>📄 Lines of Documentation: 377</li>
<li>📅 Development Period: 2025-07-14 to 2026-01-21</li>
-<li>🏆 Score: 27.3 (combines code size and activity)</li>
+<li>🏆 Score: 26.1 (combines code size and activity)</li>
<li>⚖️ License: MIT</li>
<li>🏷️ Latest Release: v0.8.0 (2026-01-21)</li>
</ul><br />
@@ -385,7 +386,34 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='13-gitsyncer'>13. gitsyncer</h3><br />
+<h3 style='display: inline' id='13-ior'>13. ior</h3><br />
+<br />
+<ul>
+<li>💻 Languages: Go (63.2%), C (36.0%), C/C++ (0.8%)</li>
+<li>📚 Documentation: Markdown (79.3%), Text (20.7%)</li>
+<li>📊 Commits: 344</li>
+<li>📈 Lines of Code: 15784</li>
+<li>📄 Lines of Documentation: 2313</li>
+<li>📅 Development Period: 2024-01-18 to 2026-02-21</li>
+<li>🏆 Score: 20.9 (combines code size and activity)</li>
+<li>⚖️ License: No license found</li>
+<li>🧪 Status: Experimental (no releases yet)</li>
+</ul><br />
+<br />
+<a href='showcase/ior/image-1.png'><img alt='ior screenshot' title='ior screenshot' src='showcase/ior/image-1.png' /></a><br />
+<br />
+<span>I/O Riot NG is a Linux-only performance analysis tool that uses BPF (Berkeley Packet Filter) to trace synchronous I/O syscalls and measure their execution time. It captures stack traces during I/O operations and generates compressed output in a format compatible with Inferno FlameGraphs, allowing developers to visually identify performance bottlenecks caused by blocking I/O calls. This makes it particularly useful for diagnosing latency issues in applications where I/O operations are suspected of causing performance degradation.</span><br />
+<br />
+<a href='showcase/ior/image-2.svg'><img alt='ior screenshot' title='ior screenshot' src='showcase/ior/image-2.svg' /></a><br />
+<br />
+<span>The tool is implemented in Go and C, leveraging libbpfgo for BPF interaction. It automatically generates BPF tracepoint handlers and Go type definitions from Linux kernel tracepoint data, attaches to syscall entry/exit points, and collects timing data with minimal overhead. The project is a modern successor to the original I/O Riot (which used SystemTap), offering better performance and easier deployment through BPF&#39;s built-in kernel support.</span><br />
+<br />
+<a class='textlink' href='https://codeberg.org/snonux/ior'>View on Codeberg</a><br />
+<a class='textlink' href='https://github.com/snonux/ior'>View on GitHub</a><br />
+<br />
+<span>---</span><br />
+<br />
+<h3 style='display: inline' id='14-gitsyncer'>14. gitsyncer</h3><br />
<br />
<ul>
<li>💻 Languages: Go (92.5%), Shell (7.1%), JSON (0.4%)</li>
@@ -394,7 +422,7 @@
<li>📈 Lines of Code: 10446</li>
<li>📄 Lines of Documentation: 2445</li>
<li>📅 Development Period: 2025-06-23 to 2026-02-07</li>
-<li>🏆 Score: 21.5 (combines code size and activity)</li>
+<li>🏆 Score: 20.7 (combines code size and activity)</li>
<li>⚖️ License: BSD-2-Clause</li>
<li>🏷️ Latest Release: v0.12.0 (2026-02-07)</li>
</ul><br />
@@ -408,29 +436,6 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='14-foostats'>14. foostats</h3><br />
-<br />
-<ul>
-<li>💻 Languages: Perl (100.0%)</li>
-<li>📚 Documentation: Markdown (54.6%), Text (45.4%)</li>
-<li>📊 Commits: 98</li>
-<li>📈 Lines of Code: 1902</li>
-<li>📄 Lines of Documentation: 423</li>
-<li>📅 Development Period: 2023-01-02 to 2025-11-01</li>
-<li>🏆 Score: 18.5 (combines code size and activity)</li>
-<li>⚖️ License: Custom License</li>
-<li>🏷️ Latest Release: v0.2.0 (2025-10-21)</li>
-</ul><br />
-<br />
-<span>**foostats** is a privacy-respecting web analytics tool designed for OpenBSD that processes both traditional HTTP/HTTPS server logs and Gemini protocol logs to generate anonymous site statistics. It immediately hashes all IP addresses using SHA3-512 before storage, ensuring no personal information is retained while still providing meaningful traffic insights. The tool supports distributed deployments with node-to-node replication, filters out suspicious requests based on configurable patterns, and generates comprehensive daily and monthly reports in both Gemtext and HTML formats. It&#39;s particularly useful for privacy-conscious site operators who need traffic analytics without compromising visitor anonymity.</span><br />
-<br />
-<span>The implementation uses a modular Perl architecture with specialized components: **Logreader** parses logs from httpd and Gemini servers (vger/relayd), **Filter** blocks suspicious patterns, **Aggregator** compiles statistics, **Replicator** synchronizes data between partner nodes, and **Reporter** generates human-readable reports. Statistics are stored as compressed JSON files, supporting both IPv4 and IPv6, with built-in feed analytics for tracking Atom/RSS and Gemfeed subscribers. The tool is designed specifically for the foo.zone ecosystem but can be adapted for any OpenBSD-based hosting environment requiring privacy-first analytics.</span><br />
-<br />
-<a class='textlink' href='https://codeberg.org/snonux/foostats'>View on Codeberg</a><br />
-<a class='textlink' href='https://github.com/snonux/foostats'>View on GitHub</a><br />
-<br />
-<span>---</span><br />
-<br />
<h3 style='display: inline' id='15-tasksamurai'>15. tasksamurai</h3><br />
<br />
<ul>
@@ -440,7 +445,7 @@
<li>📈 Lines of Code: 6544</li>
<li>📄 Lines of Documentation: 254</li>
<li>📅 Development Period: 2025-06-19 to 2026-02-04</li>
-<li>🏆 Score: 18.4 (combines code size and activity)</li>
+<li>🏆 Score: 17.9 (combines code size and activity)</li>
<li>⚖️ License: BSD-2-Clause</li>
<li>🏷️ Latest Release: v0.11.0 (2026-02-04)</li>
</ul><br />
@@ -458,30 +463,26 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='16-ior'>16. ior</h3><br />
+<h3 style='display: inline' id='16-foostats'>16. foostats</h3><br />
<br />
<ul>
-<li>💻 Languages: Go (50.4%), C (43.1%), Raku (4.5%), Make (1.1%), C/C++ (1.0%)</li>
-<li>📚 Documentation: Text (69.7%), Markdown (30.3%)</li>
-<li>📊 Commits: 337</li>
-<li>📈 Lines of Code: 13072</li>
-<li>📄 Lines of Documentation: 680</li>
-<li>📅 Development Period: 2024-01-18 to 2025-10-09</li>
-<li>🏆 Score: 16.7 (combines code size and activity)</li>
-<li>⚖️ License: No license found</li>
-<li>🧪 Status: Experimental (no releases yet)</li>
+<li>💻 Languages: Perl (100.0%)</li>
+<li>📚 Documentation: Markdown (54.6%), Text (45.4%)</li>
+<li>📊 Commits: 98</li>
+<li>📈 Lines of Code: 1902</li>
+<li>📄 Lines of Documentation: 423</li>
+<li>📅 Development Period: 2023-01-02 to 2025-11-01</li>
+<li>🏆 Score: 17.8 (combines code size and activity)</li>
+<li>⚖️ License: Custom License</li>
+<li>🏷️ Latest Release: v0.2.0 (2025-10-21)</li>
</ul><br />
<br />
-<a href='showcase/ior/image-1.png'><img alt='ior screenshot' title='ior screenshot' src='showcase/ior/image-1.png' /></a><br />
-<br />
-<span>I/O Riot NG is a Linux-only performance analysis tool that uses BPF (Berkeley Packet Filter) to trace synchronous I/O syscalls and measure their execution time. It captures stack traces during I/O operations and generates compressed output in a format compatible with Inferno FlameGraphs, allowing developers to visually identify performance bottlenecks caused by blocking I/O calls. This makes it particularly useful for diagnosing latency issues in applications where I/O operations are suspected of causing performance degradation.</span><br />
-<br />
-<a href='showcase/ior/image-2.svg'><img alt='ior screenshot' title='ior screenshot' src='showcase/ior/image-2.svg' /></a><br />
+<span>**foostats** is a privacy-respecting web analytics tool designed for OpenBSD that processes both traditional HTTP/HTTPS server logs and Gemini protocol logs to generate anonymous site statistics. It immediately hashes all IP addresses using SHA3-512 before storage, ensuring no personal information is retained while still providing meaningful traffic insights. The tool supports distributed deployments with node-to-node replication, filters out suspicious requests based on configurable patterns, and generates comprehensive daily and monthly reports in both Gemtext and HTML formats. It&#39;s particularly useful for privacy-conscious site operators who need traffic analytics without compromising visitor anonymity.</span><br />
<br />
-<span>The tool is implemented in Go and C, leveraging libbpfgo for BPF interaction. It automatically generates BPF tracepoint handlers and Go type definitions from Linux kernel tracepoint data, attaches to syscall entry/exit points, and collects timing data with minimal overhead. The project is a modern successor to the original I/O Riot (which used SystemTap), offering better performance and easier deployment through BPF&#39;s built-in kernel support.</span><br />
+<span>The implementation uses a modular Perl architecture with specialized components: **Logreader** parses logs from httpd and Gemini servers (vger/relayd), **Filter** blocks suspicious patterns, **Aggregator** compiles statistics, **Replicator** synchronizes data between partner nodes, and **Reporter** generates human-readable reports. Statistics are stored as compressed JSON files, supporting both IPv4 and IPv6, with built-in feed analytics for tracking Atom/RSS and Gemfeed subscribers. The tool is designed specifically for the foo.zone ecosystem but can be adapted for any OpenBSD-based hosting environment requiring privacy-first analytics.</span><br />
<br />
-<a class='textlink' href='https://codeberg.org/snonux/ior'>View on Codeberg</a><br />
-<a class='textlink' href='https://github.com/snonux/ior'>View on GitHub</a><br />
+<a class='textlink' href='https://codeberg.org/snonux/foostats'>View on Codeberg</a><br />
+<a class='textlink' href='https://github.com/snonux/foostats'>View on GitHub</a><br />
<br />
<span>---</span><br />
<br />
@@ -494,7 +495,7 @@
<li>📈 Lines of Code: 1538</li>
<li>📄 Lines of Documentation: 99</li>
<li>📅 Development Period: 2025-06-25 to 2026-01-02</li>
-<li>🏆 Score: 16.7 (combines code size and activity)</li>
+<li>🏆 Score: 16.1 (combines code size and activity)</li>
<li>⚖️ License: MIT</li>
<li>🏷️ Latest Release: v0.3.0 (2026-01-02)</li>
</ul><br />
@@ -517,7 +518,7 @@
<li>📈 Lines of Code: 20091</li>
<li>📄 Lines of Documentation: 5674</li>
<li>📅 Development Period: 2020-01-09 to 2025-06-20</li>
-<li>🏆 Score: 15.7 (combines code size and activity)</li>
+<li>🏆 Score: 15.4 (combines code size and activity)</li>
<li>⚖️ License: Apache-2.0</li>
<li>🏷️ Latest Release: v4.3.3 (2024-08-23)</li>
</ul><br />
@@ -544,7 +545,7 @@
<li>📈 Lines of Code: 4102</li>
<li>📄 Lines of Documentation: 357</li>
<li>📅 Development Period: 2024-05-04 to 2025-12-27</li>
-<li>🏆 Score: 15.0 (combines code size and activity)</li>
+<li>🏆 Score: 14.6 (combines code size and activity)</li>
<li>⚖️ License: Custom License</li>
<li>🏷️ Latest Release: v1.2.3 (2026-01-31)</li>
</ul><br />
@@ -571,7 +572,7 @@
<li>📈 Lines of Code: 25762</li>
<li>📄 Lines of Documentation: 3101</li>
<li>📅 Development Period: 2008-05-15 to 2025-06-27</li>
-<li>🏆 Score: 14.4 (combines code size and activity)</li>
+<li>🏆 Score: 14.1 (combines code size and activity)</li>
<li>⚖️ License: Custom License</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -596,7 +597,7 @@
<li>📈 Lines of Code: 563</li>
<li>📄 Lines of Documentation: 24</li>
<li>📅 Development Period: 2025-04-18 to 2026-01-20</li>
-<li>🏆 Score: 10.1 (combines code size and activity)</li>
+<li>🏆 Score: 9.9 (combines code size and activity)</li>
<li>⚖️ License: Custom License</li>
<li>🏷️ Latest Release: v1.0.0 (2025-05-11)</li>
</ul><br />
@@ -619,7 +620,7 @@
<li>📈 Lines of Code: 2288</li>
<li>📄 Lines of Documentation: 1180</li>
<li>📅 Development Period: 2021-05-21 to 2025-12-31</li>
-<li>🏆 Score: 9.9 (combines code size and activity)</li>
+<li>🏆 Score: 9.7 (combines code size and activity)</li>
<li>⚖️ License: GPL-3.0</li>
<li>🏷️ Latest Release: 3.0.0 (2024-10-01)</li>
</ul><br />
@@ -642,7 +643,7 @@
<li>📈 Lines of Code: 1377</li>
<li>📄 Lines of Documentation: 113</li>
<li>📅 Development Period: 2024-12-05 to 2025-11-26</li>
-<li>🏆 Score: 8.9 (combines code size and activity)</li>
+<li>🏆 Score: 8.7 (combines code size and activity)</li>
<li>⚖️ License: Custom License</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -665,7 +666,7 @@
<li>📈 Lines of Code: 2851</li>
<li>📄 Lines of Documentation: 52</li>
<li>📅 Development Period: 2023-08-27 to 2025-08-08</li>
-<li>🏆 Score: 5.0 (combines code size and activity)</li>
+<li>🏆 Score: 4.9 (combines code size and activity)</li>
<li>⚖️ License: MIT</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -688,7 +689,7 @@
<li>📈 Lines of Code: 1133</li>
<li>📄 Lines of Documentation: 78</li>
<li>📅 Development Period: 2024-01-20 to 2025-09-13</li>
-<li>🏆 Score: 4.9 (combines code size and activity)</li>
+<li>🏆 Score: 4.8 (combines code size and activity)</li>
<li>⚖️ License: MIT</li>
<li>🏷️ Latest Release: v0.0.4 (2025-09-13)</li>
</ul><br />
@@ -715,7 +716,7 @@
<li>📈 Lines of Code: 33</li>
<li>📄 Lines of Documentation: 3</li>
<li>📅 Development Period: 2025-04-03 to 2025-04-03</li>
-<li>🏆 Score: 4.8 (combines code size and activity)</li>
+<li>🏆 Score: 4.7 (combines code size and activity)</li>
<li>⚖️ License: No license found</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -729,7 +730,30 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='27-gorum'>27. gorum</h3><br />
+<h3 style='display: inline' id='27-goprecords'>27. goprecords</h3><br />
+<br />
+<ul>
+<li>💻 Languages: Go (100.0%)</li>
+<li>📚 Documentation: Markdown (100.0%)</li>
+<li>📊 Commits: 104</li>
+<li>📈 Lines of Code: 2527</li>
+<li>📄 Lines of Documentation: 489</li>
+<li>📅 Development Period: 2013-03-22 to 2026-02-20</li>
+<li>🏆 Score: 4.5 (combines code size and activity)</li>
+<li>⚖️ License: No license found</li>
+<li>🏷️ Latest Release: v0.2.1 (2026-02-20)</li>
+</ul><br />
+<br />
+<span>**goprecords** is a Go CLI tool that generates global uptime reports by aggregating <span class='inlinecode'>uptimed</span> record files from multiple hosts. It ranks machines across metrics like total uptime, boot count, downtime, lifespan, and a combined score—organized by host, kernel version, kernel major version, or kernel name. Output is available in plaintext, Markdown, or Gemtext. It can either report directly from a stats directory or import records into SQLite for repeated querying.</span><br />
+<br />
+<span>Under the hood, it parses <span class='inlinecode'>uptimed</span>&#39;s simple <span class='inlinecode'>uptime:boottime:kernel</span> record format, groups entries by the chosen category, and computes aggregates. The architecture is straightforward: a <span class='inlinecode'>cmd/goprecords</span> entry point handles CLI flags and subcommands (<span class='inlinecode'>import</span>, <span class='inlinecode'>query</span>, or direct reporting), while <span class='inlinecode'>internal/goprecords</span> contains the core logic for parsing, aggregation, database operations, and report formatting. It uses <span class='inlinecode'>modernc.org/sqlite</span> (a pure-Go SQLite driver) and Mage for build automation.</span><br />
+<br />
+<a class='textlink' href='https://codeberg.org/snonux/goprecords'>View on Codeberg</a><br />
+<a class='textlink' href='https://github.com/snonux/goprecords'>View on GitHub</a><br />
+<br />
+<span>---</span><br />
+<br />
+<h3 style='display: inline' id='28-gorum'>28. gorum</h3><br />
<br />
<ul>
<li>💻 Languages: Go (91.3%), JSON (6.4%), YAML (2.3%)</li>
@@ -738,7 +762,7 @@
<li>📈 Lines of Code: 1525</li>
<li>📄 Lines of Documentation: 15</li>
<li>📅 Development Period: 2023-04-17 to 2023-11-19</li>
-<li>🏆 Score: 3.5 (combines code size and activity)</li>
+<li>🏆 Score: 3.4 (combines code size and activity)</li>
<li>⚖️ License: Custom License</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -753,7 +777,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='28-guprecords'>28. guprecords</h3><br />
+<h3 style='display: inline' id='29-guprecords'>29. guprecords</h3><br />
<br />
<ul>
<li>💻 Languages: Raku (100.0%)</li>
@@ -776,7 +800,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='29-geheim'>29. geheim</h3><br />
+<h3 style='display: inline' id='30-geheim'>30. geheim</h3><br />
<br />
<ul>
<li>💻 Languages: Ruby (86.7%), Shell (13.3%)</li>
@@ -799,7 +823,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='30-docker-radicale-server'>30. docker-radicale-server</h3><br />
+<h3 style='display: inline' id='31-docker-radicale-server'>31. docker-radicale-server</h3><br />
<br />
<ul>
<li>💻 Languages: Make (57.5%), Docker (42.5%)</li>
@@ -822,7 +846,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='31-algorithms'>31. algorithms</h3><br />
+<h3 style='display: inline' id='32-algorithms'>32. algorithms</h3><br />
<br />
<ul>
<li>💻 Languages: Go (99.2%), Make (0.8%)</li>
@@ -846,7 +870,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='32-randomjournalpage'>32. randomjournalpage</h3><br />
+<h3 style='display: inline' id='33-randomjournalpage'>33. randomjournalpage</h3><br />
<br />
<ul>
<li>💻 Languages: Shell (94.1%), Make (5.9%)</li>
@@ -870,7 +894,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='33-photoalbum'>33. photoalbum</h3><br />
+<h3 style='display: inline' id='34-photoalbum'>34. photoalbum</h3><br />
<br />
<ul>
<li>💻 Languages: Shell (80.1%), Make (12.3%), Config (7.6%)</li>
@@ -894,7 +918,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='34-ioriot'>34. ioriot</h3><br />
+<h3 style='display: inline' id='35-ioriot'>35. ioriot</h3><br />
<br />
<ul>
<li>💻 Languages: C (55.5%), C/C++ (24.0%), Config (19.6%), Make (1.0%)</li>
@@ -920,7 +944,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='35-ipv6test'>35. ipv6test</h3><br />
+<h3 style='display: inline' id='36-ipv6test'>36. ipv6test</h3><br />
<br />
<ul>
<li>💻 Languages: Perl (65.8%), Docker (34.2%)</li>
@@ -943,7 +967,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='36-sway-autorotate'>36. sway-autorotate</h3><br />
+<h3 style='display: inline' id='37-sway-autorotate'>37. sway-autorotate</h3><br />
<br />
<ul>
<li>💻 Languages: Shell (100.0%)</li>
@@ -966,7 +990,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='37-mon'>37. mon</h3><br />
+<h3 style='display: inline' id='38-mon'>38. mon</h3><br />
<br />
<ul>
<li>💻 Languages: Perl (96.5%), Shell (1.8%), Make (1.2%), Config (0.4%)</li>
@@ -990,7 +1014,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='38-staticfarm-apache-handlers'>38. staticfarm-apache-handlers</h3><br />
+<h3 style='display: inline' id='39-staticfarm-apache-handlers'>39. staticfarm-apache-handlers</h3><br />
<br />
<ul>
<li>💻 Languages: Perl (96.4%), Make (3.6%)</li>
@@ -1014,7 +1038,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='39-pingdomfetch'>39. pingdomfetch</h3><br />
+<h3 style='display: inline' id='40-pingdomfetch'>40. pingdomfetch</h3><br />
<br />
<ul>
<li>💻 Languages: Perl (97.3%), Make (2.7%)</li>
@@ -1038,7 +1062,30 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='40-xerl'>40. xerl</h3><br />
+<h3 style='display: inline' id='41-fype'>41. fype</h3><br />
+<br />
+<ul>
+<li>💻 Languages: C (71.8%), C/C++ (20.0%), HTML (6.3%), Make (1.8%)</li>
+<li>📚 Documentation: Text (65.1%), LaTeX (21.0%), Markdown (14.0%)</li>
+<li>📊 Commits: 107</li>
+<li>📈 Lines of Code: 9363</li>
+<li>📄 Lines of Documentation: 2713</li>
+<li>📅 Development Period: 2008-05-15 to 2026-02-20</li>
+<li>🏆 Score: 0.9 (combines code size and activity)</li>
+<li>⚖️ License: Custom License</li>
+<li>🧪 Status: Experimental (no releases yet)</li>
+</ul><br />
+<br />
+<span>Fype is a 32-bit scripting language designed as a fun, AWK-inspired alternative with a simpler syntax. It supports variables with automatic type conversion, functions, loops, control structures, and built-in operations for math, I/O, and system calls. A notable feature is its support for "synonyms" (references/aliases to variables and functions), along with both procedures (using the caller&#39;s namespace) and functions (with lexical scoping). The language uses a straightforward syntax with single-character comments (#) and statement-based execution terminated by semicolons.</span><br />
+<br />
+<span>The implementation uses a simple top-down parser with maximum lookahead of 1, interpreting code simultaneously as it parses, which means syntax errors are only caught at runtime. Written in C and compiled with GCC, it&#39;s designed for BSD systems (tested on FreeBSD 7.0) and uses NetBSD Make for building. The project is still unreleased and incomplete, but aims to eventually match AWK&#39;s capabilities while potentially adding modern features like function pointers and closures, though explicitly avoiding complexity like OOP, Unicode, or threading.</span><br />
+<br />
+<a class='textlink' href='https://codeberg.org/snonux/fype'>View on Codeberg</a><br />
+<a class='textlink' href='https://github.com/snonux/fype'>View on GitHub</a><br />
+<br />
+<span>---</span><br />
+<br />
+<h3 style='display: inline' id='42-xerl'>42. xerl</h3><br />
<br />
<ul>
<li>💻 Languages: Perl (98.3%), Config (1.2%), Make (0.5%)</li>
@@ -1060,7 +1107,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='41-ychat'>41. ychat</h3><br />
+<h3 style='display: inline' id='43-ychat'>43. ychat</h3><br />
<br />
<ul>
<li>💻 Languages: C++ (49.9%), C/C++ (22.2%), Shell (20.6%), Perl (2.5%), HTML (1.9%), Config (1.8%), Make (0.9%), CSS (0.2%)</li>
@@ -1084,7 +1131,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='42-fapi'>42. fapi</h3><br />
+<h3 style='display: inline' id='44-fapi'>44. fapi</h3><br />
<br />
<ul>
<li>💻 Languages: Python (96.6%), Make (3.1%), Config (0.3%)</li>
@@ -1107,7 +1154,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='43-perl-c-fibonacci'>43. perl-c-fibonacci</h3><br />
+<h3 style='display: inline' id='45-perl-c-fibonacci'>45. perl-c-fibonacci</h3><br />
<br />
<ul>
<li>💻 Languages: C (80.4%), Make (19.6%)</li>
@@ -1129,7 +1176,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='44-netcalendar'>44. netcalendar</h3><br />
+<h3 style='display: inline' id='46-netcalendar'>46. netcalendar</h3><br />
<br />
<ul>
<li>💻 Languages: Java (83.0%), HTML (12.9%), XML (3.0%), CSS (0.8%), Make (0.2%)</li>
@@ -1157,7 +1204,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='45-loadbars'>45. loadbars</h3><br />
+<h3 style='display: inline' id='47-loadbars'>47. loadbars</h3><br />
<br />
<ul>
<li>💻 Languages: Perl (97.4%), Make (2.6%)</li>
@@ -1179,11 +1226,11 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='46-gotop'>46. gotop</h3><br />
+<h3 style='display: inline' id='48-gotop'>48. gotop</h3><br />
<br />
<ul>
<li>💻 Languages: Go (98.0%), Make (2.0%)</li>
-<li>📚 Documentation: Markdown (50.0%), Text (50.0%)</li>
+<li>📚 Documentation: Text (50.0%), Markdown (50.0%)</li>
<li>📊 Commits: 57</li>
<li>📈 Lines of Code: 499</li>
<li>📄 Lines of Documentation: 8</li>
@@ -1203,31 +1250,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='47-fype'>47. fype</h3><br />
-<br />
-<ul>
-<li>💻 Languages: C (71.1%), C/C++ (20.7%), HTML (6.6%), Make (1.5%)</li>
-<li>📚 Documentation: Text (69.5%), LaTeX (30.5%)</li>
-<li>📊 Commits: 99</li>
-<li>📈 Lines of Code: 8952</li>
-<li>📄 Lines of Documentation: 1867</li>
-<li>📅 Development Period: 2008-05-15 to 2021-11-03</li>
-<li>🏆 Score: 0.7 (combines code size and activity)</li>
-<li>⚖️ License: Custom License</li>
-<li>🧪 Status: Experimental (no releases yet)</li>
-</ul><br />
-<span>⚠️ **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.</span><br />
-<br />
-<span>Fype is a 32-bit scripting language designed as a fun, AWK-inspired alternative with a simpler syntax. It supports variables with automatic type conversion, functions, loops, control structures, and built-in operations for math, I/O, and system calls. A notable feature is its support for "synonyms" (references/aliases to variables and functions), along with both procedures (using the caller&#39;s namespace) and functions (with lexical scoping). The language uses a straightforward syntax with single-character comments (#) and statement-based execution terminated by semicolons.</span><br />
-<br />
-<span>The implementation uses a simple top-down parser with maximum lookahead of 1, interpreting code simultaneously as it parses, which means syntax errors are only caught at runtime. Written in C and compiled with GCC, it&#39;s designed for BSD systems (tested on FreeBSD 7.0) and uses NetBSD Make for building. The project is still unreleased and incomplete, but aims to eventually match AWK&#39;s capabilities while potentially adding modern features like function pointers and closures, though explicitly avoiding complexity like OOP, Unicode, or threading.</span><br />
-<br />
-<a class='textlink' href='https://codeberg.org/snonux/fype'>View on Codeberg</a><br />
-<a class='textlink' href='https://github.com/snonux/fype'>View on GitHub</a><br />
-<br />
-<span>---</span><br />
-<br />
-<h3 style='display: inline' id='48-rubyfy'>48. rubyfy</h3><br />
+<h3 style='display: inline' id='49-rubyfy'>49. rubyfy</h3><br />
<br />
<ul>
<li>💻 Languages: Ruby (98.5%), JSON (1.5%)</li>
@@ -1251,7 +1274,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='49-pwgrep'>49. pwgrep</h3><br />
+<h3 style='display: inline' id='50-pwgrep'>50. pwgrep</h3><br />
<br />
<ul>
<li>💻 Languages: Shell (85.0%), Make (15.0%)</li>
@@ -1275,7 +1298,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='50-perldaemon'>50. perldaemon</h3><br />
+<h3 style='display: inline' id='51-perldaemon'>51. perldaemon</h3><br />
<br />
<ul>
<li>💻 Languages: Perl (72.3%), Shell (23.8%), Config (3.9%)</li>
@@ -1297,7 +1320,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='51-jsmstrade'>51. jsmstrade</h3><br />
+<h3 style='display: inline' id='52-jsmstrade'>52. jsmstrade</h3><br />
<br />
<ul>
<li>💻 Languages: Java (76.0%), Shell (15.4%), XML (8.6%)</li>
@@ -1323,7 +1346,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='52-japi'>52. japi</h3><br />
+<h3 style='display: inline' id='53-japi'>53. japi</h3><br />
<br />
<ul>
<li>💻 Languages: Perl (78.3%), Make (21.7%)</li>
@@ -1347,7 +1370,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='53-perl-poetry'>53. perl-poetry</h3><br />
+<h3 style='display: inline' id='54-perl-poetry'>54. perl-poetry</h3><br />
<br />
<ul>
<li>💻 Languages: Perl (100.0%)</li>
@@ -1371,7 +1394,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='54-muttdelay'>54. muttdelay</h3><br />
+<h3 style='display: inline' id='55-muttdelay'>55. muttdelay</h3><br />
<br />
<ul>
<li>💻 Languages: Make (47.1%), Shell (46.3%), Vim Script (5.9%), Config (0.7%)</li>
@@ -1395,7 +1418,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='55-netdiff'>55. netdiff</h3><br />
+<h3 style='display: inline' id='56-netdiff'>56. netdiff</h3><br />
<br />
<ul>
<li>💻 Languages: Shell (52.2%), Make (46.3%), Config (1.5%)</li>
@@ -1419,7 +1442,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='56-debroid'>56. debroid</h3><br />
+<h3 style='display: inline' id='57-debroid'>57. debroid</h3><br />
<br />
<ul>
<li>💻 Languages: Shell (92.0%), Make (8.0%)</li>
@@ -1445,7 +1468,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='57-hsbot'>57. hsbot</h3><br />
+<h3 style='display: inline' id='58-hsbot'>58. hsbot</h3><br />
<br />
<ul>
<li>💻 Languages: Haskell (98.5%), Make (1.5%)</li>
@@ -1467,7 +1490,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='58-cpuinfo'>58. cpuinfo</h3><br />
+<h3 style='display: inline' id='59-cpuinfo'>59. cpuinfo</h3><br />
<br />
<ul>
<li>💻 Languages: Shell (53.2%), Make (46.8%)</li>
@@ -1491,7 +1514,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='59-template'>59. template</h3><br />
+<h3 style='display: inline' id='60-template'>60. template</h3><br />
<br />
<ul>
<li>💻 Languages: Make (89.2%), Shell (10.8%)</li>
@@ -1515,7 +1538,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='60-awksite'>60. awksite</h3><br />
+<h3 style='display: inline' id='61-awksite'>61. awksite</h3><br />
<br />
<ul>
<li>💻 Languages: AWK (72.1%), HTML (16.4%), Config (11.5%)</li>
@@ -1539,7 +1562,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='61-dyndns'>61. dyndns</h3><br />
+<h3 style='display: inline' id='62-dyndns'>62. dyndns</h3><br />
<br />
<ul>
<li>💻 Languages: Shell (100.0%)</li>
@@ -1563,7 +1586,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='62-vs-sim'>62. vs-sim</h3><br />
+<h3 style='display: inline' id='63-vs-sim'>63. vs-sim</h3><br />
<br />
<ul>
<li>📚 Documentation: Markdown (100.0%)</li>