diff options
| author | Paul Buetow <paul@buetow.org> | 2026-02-14 23:03:40 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-02-14 23:03:40 +0200 |
| commit | e048f1f7cedc543bab644ea224b93bd81cb2da42 (patch) | |
| tree | 113dc02683ba7bf90dc616a7c980471d7e0626e7 /about/showcase.html | |
| parent | 4a85614028b9bc99c2fbdb680f786e4baa619890 (diff) | |
Update content for html
Diffstat (limited to 'about/showcase.html')
| -rw-r--r-- | about/showcase.html | 624 |
1 files changed, 336 insertions, 288 deletions
diff --git a/about/showcase.html b/about/showcase.html index f020cb52..ef8dc8e2 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-07</span><br /> +<span>Generated on: 2026-02-14</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 /> @@ -23,90 +23,117 @@ <li><a href='#project-showcase'>Project Showcase</a></li> <li>⇢ <a href='#overall-statistics'>Overall Statistics</a></li> <li>⇢ <a href='#projects'>Projects</a></li> -<li>⇢ ⇢ <a href='#1-epimetheus'>1. epimetheus</a></li> -<li>⇢ ⇢ <a href='#2-conf'>2. conf</a></li> -<li>⇢ ⇢ <a href='#3-foozone'>3. foo.zone</a></li> -<li>⇢ ⇢ <a href='#4-scifi'>4. scifi</a></li> -<li>⇢ ⇢ <a href='#5-log4jbench'>5. log4jbench</a></li> -<li>⇢ ⇢ <a href='#6-hexai'>6. hexai</a></li> -<li>⇢ ⇢ <a href='#7-perc'>7. perc</a></li> -<li>⇢ ⇢ <a href='#8-yoga'>8. yoga</a></li> -<li>⇢ ⇢ <a href='#9-totalrecall'>9. totalrecall</a></li> -<li>⇢ ⇢ <a href='#10-gogios'>10. gogios</a></li> -<li>⇢ ⇢ <a href='#11-gitsyncer'>11. gitsyncer</a></li> -<li>⇢ ⇢ <a href='#12-foostats'>12. foostats</a></li> -<li>⇢ ⇢ <a href='#13-tasksamurai'>13. tasksamurai</a></li> -<li>⇢ ⇢ <a href='#14-timr'>14. timr</a></li> -<li>⇢ ⇢ <a href='#15-ior'>15. ior</a></li> -<li>⇢ ⇢ <a href='#16-dtail'>16. dtail</a></li> -<li>⇢ ⇢ <a href='#17-gos'>17. gos</a></li> -<li>⇢ ⇢ <a href='#18-ds-sim'>18. ds-sim</a></li> -<li>⇢ ⇢ <a href='#19-gemtexter'>19. gemtexter</a></li> -<li>⇢ ⇢ <a href='#20-wireguardmeshgenerator'>20. wireguardmeshgenerator</a></li> -<li>⇢ ⇢ <a href='#21-rcm'>21. rcm</a></li> -<li>⇢ ⇢ <a href='#22-terraform'>22. terraform</a></li> -<li>⇢ ⇢ <a href='#23-quicklogger'>23. quicklogger</a></li> -<li>⇢ ⇢ <a href='#24-sillybench'>24. sillybench</a></li> -<li>⇢ ⇢ <a href='#25-gorum'>25. gorum</a></li> -<li>⇢ ⇢ <a href='#26-guprecords'>26. guprecords</a></li> -<li>⇢ ⇢ <a href='#27-docker-radicale-server'>27. docker-radicale-server</a></li> -<li>⇢ ⇢ <a href='#28-geheim'>28. geheim</a></li> -<li>⇢ ⇢ <a href='#29-algorithms'>29. algorithms</a></li> -<li>⇢ ⇢ <a href='#30-randomjournalpage'>30. randomjournalpage</a></li> -<li>⇢ ⇢ <a href='#31-photoalbum'>31. photoalbum</a></li> -<li>⇢ ⇢ <a href='#32-ioriot'>32. ioriot</a></li> -<li>⇢ ⇢ <a href='#33-ipv6test'>33. ipv6test</a></li> -<li>⇢ ⇢ <a href='#34-sway-autorotate'>34. sway-autorotate</a></li> -<li>⇢ ⇢ <a href='#35-mon'>35. mon</a></li> -<li>⇢ ⇢ <a href='#36-staticfarm-apache-handlers'>36. staticfarm-apache-handlers</a></li> -<li>⇢ ⇢ <a href='#37-pingdomfetch'>37. pingdomfetch</a></li> -<li>⇢ ⇢ <a href='#38-xerl'>38. xerl</a></li> -<li>⇢ ⇢ <a href='#39-ychat'>39. ychat</a></li> -<li>⇢ ⇢ <a href='#40-fapi'>40. fapi</a></li> -<li>⇢ ⇢ <a href='#41-perl-c-fibonacci'>41. perl-c-fibonacci</a></li> -<li>⇢ ⇢ <a href='#42-netcalendar'>42. netcalendar</a></li> -<li>⇢ ⇢ <a href='#43-loadbars'>43. loadbars</a></li> -<li>⇢ ⇢ <a href='#44-gotop'>44. gotop</a></li> -<li>⇢ ⇢ <a href='#45-fype'>45. fype</a></li> -<li>⇢ ⇢ <a href='#46-rubyfy'>46. rubyfy</a></li> -<li>⇢ ⇢ <a href='#47-pwgrep'>47. pwgrep</a></li> -<li>⇢ ⇢ <a href='#48-perldaemon'>48. perldaemon</a></li> -<li>⇢ ⇢ <a href='#49-jsmstrade'>49. jsmstrade</a></li> -<li>⇢ ⇢ <a href='#50-japi'>50. japi</a></li> -<li>⇢ ⇢ <a href='#51-perl-poetry'>51. perl-poetry</a></li> -<li>⇢ ⇢ <a href='#52-muttdelay'>52. muttdelay</a></li> -<li>⇢ ⇢ <a href='#53-netdiff'>53. netdiff</a></li> -<li>⇢ ⇢ <a href='#54-debroid'>54. debroid</a></li> -<li>⇢ ⇢ <a href='#55-hsbot'>55. hsbot</a></li> -<li>⇢ ⇢ <a href='#56-cpuinfo'>56. cpuinfo</a></li> -<li>⇢ ⇢ <a href='#57-template'>57. template</a></li> -<li>⇢ ⇢ <a href='#58-awksite'>58. awksite</a></li> -<li>⇢ ⇢ <a href='#59-dyndns'>59. dyndns</a></li> -<li>⇢ ⇢ <a href='#60-vs-sim'>60. vs-sim</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='#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> +<li>⇢ ⇢ <a href='#9-gogios'>9. gogios</a></li> +<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='#15-tasksamurai'>15. tasksamurai</a></li> +<li>⇢ ⇢ <a href='#16-ior'>16. ior</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> +<li>⇢ ⇢ <a href='#20-ds-sim'>20. ds-sim</a></li> +<li>⇢ ⇢ <a href='#21-wireguardmeshgenerator'>21. wireguardmeshgenerator</a></li> +<li>⇢ ⇢ <a href='#22-gemtexter'>22. gemtexter</a></li> +<li>⇢ ⇢ <a href='#23-rcm'>23. rcm</a></li> +<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> </ul><br /> <h2 style='display: inline' id='overall-statistics'>Overall Statistics</h2><br /> <br /> <ul> -<li>📦 Total Projects: 60</li> -<li>📊 Total Commits: 13,066</li> -<li>📈 Total Lines of Code: 320,071</li> -<li>📄 Total Lines of Documentation: 31,896</li> -<li>💻 Languages: Go (29.6%), Java (12.8%), C++ (7.9%), C (6.0%), XML (6.0%), Shell (5.8%), CSS (5.6%), Perl (5.4%), C/C++ (5.1%), YAML (4.7%), HTML (3.3%), Python (2.2%), Config (1.3%), JSON (1.1%), Ruby (0.9%), HCL (0.9%), Make (0.6%), Raku (0.3%), Haskell (0.2%), JavaScript (0.2%)</li> -<li>📚 Documentation: Markdown (62.5%), Text (35.7%), LaTeX (1.8%)</li> -<li>🚀 Release Status: 38 released, 22 experimental (63.3% with releases, 36.7% experimental)</li> +<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> </ul><br /> <h2 style='display: inline' id='projects'>Projects</h2><br /> <br /> -<h3 style='display: inline' id='1-epimetheus'>1. epimetheus</h3><br /> +<h3 style='display: inline' id='1-hexai'>1. hexai</h3><br /> <br /> <ul> -<li>💻 Languages: Go (83.4%), Shell (16.6%)</li> +<li>💻 Languages: Go (100.0%)</li> <li>📚 Documentation: Markdown (100.0%)</li> -<li>📊 Commits: 1</li> -<li>📈 Lines of Code: 4844</li> -<li>📄 Lines of Documentation: 1064</li> -<li>📅 Development Period: 2026-02-07 to 2026-02-07</li> -<li>🏆 Score: 3019.2 (combines code size and activity)</li> +<li>📊 Commits: 342</li> +<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>⚖️ License: No license found</li> +<li>🏷️ Latest Release: v0.21.0 (2026-02-12)</li> +</ul><br /> +<br /> +<a href='showcase/hexai/image-1.png'><img alt='hexai screenshot' title='hexai screenshot' src='showcase/hexai/image-1.png' /></a><br /> +<br /> +<span>Hexai is a Go-based AI integration tool designed primarily for the Helix editor that provides LSP (Language Server Protocol) powered AI features. It offers code auto-completion, AI-driven code actions, in-editor chat with LLMs, and a standalone CLI tool for direct LLM interaction. A standout feature is its ability to query multiple AI providers (OpenAI, OpenRouter, GitHub Copilot, Ollama) in parallel, allowing developers to compare responses side-by-side. It has enhanced capabilities for Go code understanding, such as generating unit tests from functions, while supporting other programming languages as well.</span><br /> +<br /> +<span>The project is implemented as an LSP server written in Go, with a TUI component built using Bubble Tea for the tmux-based code action runner (<span class='inlinecode'>hexai-tmux-action</span>). This architecture allows it to integrate seamlessly into LSP-compatible editors, with special focus on Helix + tmux workflows. The custom prompt feature lets developers use their preferred editor to craft prompts, making it flexible for various development workflows.</span><br /> +<br /> +<a class='textlink' href='https://codeberg.org/snonux/hexai'>View on Codeberg</a><br /> +<a class='textlink' href='https://github.com/snonux/hexai'>View on GitHub</a><br /> +<br /> +<span>---</span><br /> +<br /> +<h3 style='display: inline' id='2-epimetheus'>2. epimetheus</h3><br /> +<br /> +<ul> +<li>💻 Languages: Go (85.2%), Shell (14.8%)</li> +<li>📚 Documentation: Markdown (100.0%)</li> +<li>📊 Commits: 3</li> +<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>⚖️ License: No license found</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -122,16 +149,16 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='2-conf'>2. conf</h3><br /> +<h3 style='display: inline' id='3-conf'>3. conf</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>💻 Languages: YAML (80.7%), Perl (10.0%), Shell (6.1%), Python (2.3%), Docker (0.7%), Config (0.2%), HTML (0.1%)</li> <li>📚 Documentation: Markdown (97.1%), Text (2.9%)</li> -<li>📊 Commits: 2305</li> -<li>📈 Lines of Code: 21210</li> -<li>📄 Lines of Documentation: 6495</li> -<li>📅 Development Period: 2021-12-28 to 2026-02-06</li> -<li>🏆 Score: 698.1 (combines code size and activity)</li> +<li>📊 Commits: 785</li> +<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>⚖️ License: No license found</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -145,7 +172,53 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='3-foozone'>3. foo.zone</h3><br /> +<h3 style='display: inline' id='4-dotfiles'>4. dotfiles</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> +<li>📚 Documentation: Markdown (100.0%)</li> +<li>📊 Commits: 762</li> +<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>⚖️ 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='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'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'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 /> +<br /> +<span>---</span><br /> +<br /> +<h3 style='display: inline' id='6-foozone'>6. foo.zone</h3><br /> <br /> <ul> <li>💻 Languages: XML (98.7%), Shell (1.0%), Go (0.3%)</li> @@ -154,7 +227,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: 689.4 (combines code size and activity)</li> +<li>🏆 Score: 322.6 (combines code size and activity)</li> <li>⚖️ License: No license found</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -166,7 +239,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='4-scifi'>4. scifi</h3><br /> +<h3 style='display: inline' id='7-scifi'>7. scifi</h3><br /> <br /> <ul> <li>💻 Languages: JSON (35.9%), CSS (30.6%), JavaScript (29.6%), HTML (3.8%)</li> @@ -175,7 +248,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: 232.2 (combines code size and activity)</li> +<li>🏆 Score: 154.0 (combines code size and activity)</li> <li>⚖️ License: No license found</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -189,7 +262,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='5-log4jbench'>5. log4jbench</h3><br /> +<h3 style='display: inline' id='8-log4jbench'>8. log4jbench</h3><br /> <br /> <ul> <li>💻 Languages: Java (78.9%), XML (21.1%)</li> @@ -198,7 +271,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: 96.5 (combines code size and activity)</li> +<li>🏆 Score: 78.1 (combines code size and activity)</li> <li>⚖️ License: MIT</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -212,55 +285,32 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='6-hexai'>6. hexai</h3><br /> +<h3 style='display: inline' id='9-gogios'>9. gogios</h3><br /> <br /> <ul> -<li>💻 Languages: Go (100.0%)</li> -<li>📚 Documentation: Markdown (100.0%)</li> -<li>📊 Commits: 259</li> -<li>📈 Lines of Code: 18422</li> -<li>📄 Lines of Documentation: 616</li> -<li>📅 Development Period: 2025-08-01 to 2026-02-06</li> -<li>🏆 Score: 57.5 (combines code size and activity)</li> -<li>⚖️ License: No license found</li> -<li>🏷️ Latest Release: v0.17.0 (2026-02-06)</li> +<li>💻 Languages: Go (98.9%), JSON (0.6%), YAML (0.5%)</li> +<li>📚 Documentation: Markdown (94.9%), Text (5.1%)</li> +<li>📊 Commits: 108</li> +<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>⚖️ License: Custom License</li> +<li>🏷️ Latest Release: v1.4.0 (2026-02-08)</li> </ul><br /> <br /> -<a href='showcase/hexai/image-1.png'><img alt='hexai screenshot' title='hexai screenshot' src='showcase/hexai/image-1.png' /></a><br /> -<br /> -<span>Hexai is a Go-based AI integration tool designed primarily for the Helix editor that provides LSP (Language Server Protocol) powered AI features. It offers code auto-completion, AI-driven code actions, in-editor chat with LLMs, and a standalone CLI tool for direct LLM interaction. A standout feature is its ability to query multiple AI providers (OpenAI, OpenRouter, GitHub Copilot, Ollama) in parallel, allowing developers to compare responses side-by-side. It has enhanced capabilities for Go code understanding, such as generating unit tests from functions, while supporting other programming languages as well.</span><br /> -<br /> -<span>The project is implemented as an LSP server written in Go, with a TUI component built using Bubble Tea for the tmux-based code action runner (<span class='inlinecode'>hexai-tmux-action</span>). This architecture allows it to integrate seamlessly into LSP-compatible editors, with special focus on Helix + tmux workflows. The custom prompt feature lets developers use their preferred editor to craft prompts, making it flexible for various development workflows.</span><br /> -<br /> -<a class='textlink' href='https://codeberg.org/snonux/hexai'>View on Codeberg</a><br /> -<a class='textlink' href='https://github.com/snonux/hexai'>View on GitHub</a><br /> -<br /> -<span>---</span><br /> -<br /> -<h3 style='display: inline' id='7-perc'>7. perc</h3><br /> -<br /> -<ul> -<li>💻 Languages: Go (100.0%)</li> -<li>📚 Documentation: Markdown (100.0%)</li> -<li>📊 Commits: 7</li> -<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: 35.4 (combines code size and activity)</li> -<li>⚖️ License: No license found</li> -<li>🏷️ Latest Release: v0.1.0 (2025-11-25)</li> -</ul><br /> +<a href='showcase/gogios/image-1.png'><img alt='gogios screenshot' title='gogios screenshot' src='showcase/gogios/image-1.png' /></a><br /> <br /> -<span>**perc** is a command-line percentage calculator written in Go that handles the three common percentage calculation scenarios: finding X% of Y (e.g., "20% of 150"), determining what percentage one number is of another (e.g., "30 is what % of 150"), and finding the whole when given a part and percentage (e.g., "30 is 20% of what"). It accepts natural language-style input and shows step-by-step calculation breakdowns alongside results.</span><br /> +<span>Gogios is a minimalistic monitoring tool written in Go for small-scale infrastructure (e.g., personal servers and VMs). It executes standard Nagios/Icinga monitoring plugins via CRON jobs, tracks state changes in a JSON file, and sends email notifications through a local MTA only when check statuses change. Unlike full-featured monitoring solutions (Nagios, Icinga, Prometheus), Gogios deliberately avoids complexity—no databases, web UIs, clustering, or contact groups—making it ideal for simple, self-hosted environments with limited monitoring needs.</span><br /> <br /> -<span>The tool is built as a simple Go CLI application with a standard project layout (<span class='inlinecode'>cmd/perc</span> for the binary, <span class='inlinecode'>internal/</span> for implementation details) and uses Mage as its build system. It's installable via <span class='inlinecode'>go install</span> and designed for quick mental-math verification or scripting scenarios where percentage calculations are needed.</span><br /> +<span>The architecture is straightforward: JSON configuration defines checks (plugin paths, arguments, timeouts, dependencies, retries), a state directory persists check results between runs, and concurrent execution with configurable limits keeps things efficient. Key features include check dependencies (skip HTTP checks if ping fails), retry logic, stale alert detection, re-notification schedules, and support for remote checks via NRPE. A basic high-availability setup is achievable by running Gogios on two servers with staggered CRON intervals, though this results in duplicate notifications when both servers are operational—a deliberate trade-off for simplicity.</span><br /> <br /> -<a class='textlink' href='https://codeberg.org/snonux/perc'>View on Codeberg</a><br /> -<a class='textlink' href='https://github.com/snonux/perc'>View on GitHub</a><br /> +<a class='textlink' href='https://codeberg.org/snonux/gogios'>View on Codeberg</a><br /> +<a class='textlink' href='https://github.com/snonux/gogios'>View on GitHub</a><br /> <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='8-yoga'>8. yoga</h3><br /> +<h3 style='display: inline' id='10-yoga'>10. yoga</h3><br /> <br /> <ul> <li>💻 Languages: Go (66.1%), HTML (33.9%)</li> @@ -269,7 +319,7 @@ <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: 34.9 (combines code size and activity)</li> +<li>🏆 Score: 32.8 (combines code size and activity)</li> <li>⚖️ License: No license found</li> <li>🏷️ Latest Release: v0.4.0 (2026-01-28)</li> </ul><br /> @@ -285,7 +335,30 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='9-totalrecall'>9. totalrecall</h3><br /> +<h3 style='display: inline' id='11-perc'>11. perc</h3><br /> +<br /> +<ul> +<li>💻 Languages: Go (100.0%)</li> +<li>📚 Documentation: Markdown (100.0%)</li> +<li>📊 Commits: 7</li> +<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>⚖️ License: No license found</li> +<li>🏷️ Latest Release: v0.1.0 (2025-11-25)</li> +</ul><br /> +<br /> +<span>**perc** is a command-line percentage calculator written in Go that handles the three common percentage calculation scenarios: finding X% of Y (e.g., "20% of 150"), determining what percentage one number is of another (e.g., "30 is what % of 150"), and finding the whole when given a part and percentage (e.g., "30 is 20% of what"). It accepts natural language-style input and shows step-by-step calculation breakdowns alongside results.</span><br /> +<br /> +<span>The tool is built as a simple Go CLI application with a standard project layout (<span class='inlinecode'>cmd/perc</span> for the binary, <span class='inlinecode'>internal/</span> for implementation details) and uses Mage as its build system. It's installable via <span class='inlinecode'>go install</span> and designed for quick mental-math verification or scripting scenarios where percentage calculations are needed.</span><br /> +<br /> +<a class='textlink' href='https://codeberg.org/snonux/perc'>View on Codeberg</a><br /> +<a class='textlink' href='https://github.com/snonux/perc'>View on GitHub</a><br /> +<br /> +<span>---</span><br /> +<br /> +<h3 style='display: inline' id='12-totalrecall'>12. totalrecall</h3><br /> <br /> <ul> <li>💻 Languages: Go (99.0%), Shell (0.5%), YAML (0.4%)</li> @@ -294,7 +367,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: 28.6 (combines code size and activity)</li> +<li>🏆 Score: 27.3 (combines code size and activity)</li> <li>⚖️ License: MIT</li> <li>🏷️ Latest Release: v0.8.0 (2026-01-21)</li> </ul><br /> @@ -312,43 +385,18 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='10-gogios'>10. gogios</h3><br /> -<br /> -<ul> -<li>💻 Languages: Go (98.7%), JSON (0.8%), YAML (0.5%)</li> -<li>📚 Documentation: Markdown (94.9%), Text (5.1%)</li> -<li>📊 Commits: 104</li> -<li>📈 Lines of Code: 3303</li> -<li>📄 Lines of Documentation: 394</li> -<li>📅 Development Period: 2023-04-17 to 2026-01-27</li> -<li>🏆 Score: 24.0 (combines code size and activity)</li> -<li>⚖️ License: Custom License</li> -<li>🏷️ Latest Release: v1.3.0 (2026-01-06)</li> -</ul><br /> -<br /> -<a href='showcase/gogios/image-1.png'><img alt='gogios screenshot' title='gogios screenshot' src='showcase/gogios/image-1.png' /></a><br /> -<br /> -<span>Gogios is a minimalistic monitoring tool written in Go for small-scale infrastructure (e.g., personal servers and VMs). It executes standard Nagios/Icinga monitoring plugins via CRON jobs, tracks state changes in a JSON file, and sends email notifications through a local MTA only when check statuses change. Unlike full-featured monitoring solutions (Nagios, Icinga, Prometheus), Gogios deliberately avoids complexity—no databases, web UIs, clustering, or contact groups—making it ideal for simple, self-hosted environments with limited monitoring needs.</span><br /> -<br /> -<span>The architecture is straightforward: JSON configuration defines checks (plugin paths, arguments, timeouts, dependencies, retries), a state directory persists check results between runs, and concurrent execution with configurable limits keeps things efficient. Key features include check dependencies (skip HTTP checks if ping fails), retry logic, stale alert detection, re-notification schedules, and support for remote checks via NRPE. A basic high-availability setup is achievable by running Gogios on two servers with staggered CRON intervals, though this results in duplicate notifications when both servers are operational—a deliberate trade-off for simplicity.</span><br /> -<br /> -<a class='textlink' href='https://codeberg.org/snonux/gogios'>View on Codeberg</a><br /> -<a class='textlink' href='https://github.com/snonux/gogios'>View on GitHub</a><br /> -<br /> -<span>---</span><br /> -<br /> -<h3 style='display: inline' id='11-gitsyncer'>11. gitsyncer</h3><br /> +<h3 style='display: inline' id='13-gitsyncer'>13. gitsyncer</h3><br /> <br /> <ul> -<li>💻 Languages: Go (92.2%), Shell (7.4%), JSON (0.4%)</li> +<li>💻 Languages: Go (92.5%), Shell (7.1%), JSON (0.4%)</li> <li>📚 Documentation: Markdown (100.0%)</li> -<li>📊 Commits: 116</li> -<li>📈 Lines of Code: 10075</li> -<li>📄 Lines of Documentation: 2432</li> -<li>📅 Development Period: 2025-06-23 to 2025-12-31</li> -<li>🏆 Score: 21.6 (combines code size and activity)</li> +<li>📊 Commits: 117</li> +<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>⚖️ License: BSD-2-Clause</li> -<li>🏷️ Latest Release: v0.11.0 (2025-12-31)</li> +<li>🏷️ Latest Release: v0.12.0 (2026-02-07)</li> </ul><br /> <br /> <span>GitSyncer is a Go-based CLI tool that automatically synchronizes git repositories across multiple hosting platforms (GitHub, Codeberg, SSH servers). It maintains all branches in sync bidirectionally, never deleting branches but automatically creating and updating them as needed. The tool excels at providing repository redundancy and backup, with special support for one-way SSH backups to private servers (like home NAS devices) that may be offline intermittently. It includes AI-powered features for generating release notes and project showcase documentation, plus automated weekly batch synchronization for hands-off maintenance.</span><br /> @@ -360,7 +408,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='12-foostats'>12. foostats</h3><br /> +<h3 style='display: inline' id='14-foostats'>14. foostats</h3><br /> <br /> <ul> <li>💻 Languages: Perl (100.0%)</li> @@ -369,7 +417,7 @@ <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: 19.2 (combines code size and activity)</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 /> @@ -383,7 +431,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='13-tasksamurai'>13. tasksamurai</h3><br /> +<h3 style='display: inline' id='15-tasksamurai'>15. tasksamurai</h3><br /> <br /> <ul> <li>💻 Languages: Go (99.8%), YAML (0.2%)</li> @@ -392,7 +440,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: 19.1 (combines code size and activity)</li> +<li>🏆 Score: 18.4 (combines code size and activity)</li> <li>⚖️ License: BSD-2-Clause</li> <li>🏷️ Latest Release: v0.11.0 (2026-02-04)</li> </ul><br /> @@ -410,30 +458,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='14-timr'>14. timr</h3><br /> -<br /> -<ul> -<li>💻 Languages: Go (96.0%), Shell (4.0%)</li> -<li>📚 Documentation: Markdown (100.0%)</li> -<li>📊 Commits: 32</li> -<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: 17.3 (combines code size and activity)</li> -<li>⚖️ License: MIT</li> -<li>🏷️ Latest Release: v0.3.0 (2026-01-02)</li> -</ul><br /> -<br /> -<span><span class='inlinecode'>timr</span> is a minimalist command-line stopwatch timer written in Go that helps developers track time spent on tasks. It provides a persistent timer that saves state to disk, allowing you to start, stop, pause, and resume time tracking across terminal sessions. The tool supports multiple viewing modes including a standard status display (with formatted or raw output in seconds/minutes), a live full-screen view with keyboard controls, and specialized output for shell prompt integration.</span><br /> -<br /> -<span>The architecture is straightforward: it's a Go-based CLI application that persists timer state to the filesystem, enabling continuous tracking even when the program isn't actively running. Key features include basic timer controls (start/stop/continue/reset), flexible status reporting formats for automation, and fish shell integration that displays a color-coded timer icon and elapsed time directly in your prompt—making it effortless to keep track of how long you've been working without context switching.</span><br /> -<br /> -<a class='textlink' href='https://codeberg.org/snonux/timr'>View on Codeberg</a><br /> -<a class='textlink' href='https://github.com/snonux/timr'>View on GitHub</a><br /> -<br /> -<span>---</span><br /> -<br /> -<h3 style='display: inline' id='15-ior'>15. ior</h3><br /> +<h3 style='display: inline' id='16-ior'>16. ior</h3><br /> <br /> <ul> <li>💻 Languages: Go (50.4%), C (43.1%), Raku (4.5%), Make (1.1%), C/C++ (1.0%)</li> @@ -442,7 +467,7 @@ <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: 17.2 (combines code size and activity)</li> +<li>🏆 Score: 16.7 (combines code size and activity)</li> <li>⚖️ License: No license found</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -460,7 +485,30 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='16-dtail'>16. dtail</h3><br /> +<h3 style='display: inline' id='17-timr'>17. timr</h3><br /> +<br /> +<ul> +<li>💻 Languages: Go (96.0%), Shell (4.0%)</li> +<li>📚 Documentation: Markdown (100.0%)</li> +<li>📊 Commits: 32</li> +<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>⚖️ License: MIT</li> +<li>🏷️ Latest Release: v0.3.0 (2026-01-02)</li> +</ul><br /> +<br /> +<span><span class='inlinecode'>timr</span> is a minimalist command-line stopwatch timer written in Go that helps developers track time spent on tasks. It provides a persistent timer that saves state to disk, allowing you to start, stop, pause, and resume time tracking across terminal sessions. The tool supports multiple viewing modes including a standard status display (with formatted or raw output in seconds/minutes), a live full-screen view with keyboard controls, and specialized output for shell prompt integration.</span><br /> +<br /> +<span>The architecture is straightforward: it's a Go-based CLI application that persists timer state to the filesystem, enabling continuous tracking even when the program isn't actively running. Key features include basic timer controls (start/stop/continue/reset), flexible status reporting formats for automation, and fish shell integration that displays a color-coded timer icon and elapsed time directly in your prompt—making it effortless to keep track of how long you've been working without context switching.</span><br /> +<br /> +<a class='textlink' href='https://codeberg.org/snonux/timr'>View on Codeberg</a><br /> +<a class='textlink' href='https://github.com/snonux/timr'>View on GitHub</a><br /> +<br /> +<span>---</span><br /> +<br /> +<h3 style='display: inline' id='18-dtail'>18. dtail</h3><br /> <br /> <ul> <li>💻 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%)</li> @@ -469,7 +517,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: 16.1 (combines code size and activity)</li> +<li>🏆 Score: 15.7 (combines code size and activity)</li> <li>⚖️ License: Apache-2.0</li> <li>🏷️ Latest Release: v4.3.3 (2024-08-23)</li> </ul><br /> @@ -487,7 +535,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='17-gos'>17. gos</h3><br /> +<h3 style='display: inline' id='19-gos'>19. gos</h3><br /> <br /> <ul> <li>💻 Languages: Go (99.8%), JSON (0.2%)</li> @@ -496,7 +544,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.4 (combines code size and activity)</li> +<li>🏆 Score: 15.0 (combines code size and activity)</li> <li>⚖️ License: Custom License</li> <li>🏷️ Latest Release: v1.2.3 (2026-01-31)</li> </ul><br /> @@ -514,7 +562,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='18-ds-sim'>18. ds-sim</h3><br /> +<h3 style='display: inline' id='20-ds-sim'>20. ds-sim</h3><br /> <br /> <ul> <li>💻 Languages: Java (98.9%), Shell (0.6%), CSS (0.5%)</li> @@ -523,7 +571,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.7 (combines code size and activity)</li> +<li>🏆 Score: 14.4 (combines code size and activity)</li> <li>⚖️ License: Custom License</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -539,30 +587,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='19-gemtexter'>19. gemtexter</h3><br /> -<br /> -<ul> -<li>💻 Languages: CSS (55.3%), Python (16.1%), HTML (15.3%), JSON (6.6%), Shell (5.3%), Config (1.5%)</li> -<li>📚 Documentation: Text (70.2%), Markdown (29.8%)</li> -<li>📊 Commits: 472</li> -<li>📈 Lines of Code: 30319</li> -<li>📄 Lines of Documentation: 1280</li> -<li>📅 Development Period: 2021-05-21 to 2025-06-22</li> -<li>🏆 Score: 10.8 (combines code size and activity)</li> -<li>⚖️ License: GPL-3.0</li> -<li>🏷️ Latest Release: 3.0.0 (2024-10-01)</li> -</ul><br /> -<br /> -<span>Gemtexter is a static site generator and blog engine written in Bash that converts content from Gemini Gemtext format into multiple output formats (HTML, Markdown) simultaneously. It allows you to maintain a single source of truth in Gemtext and automatically generates XHTML Transitional 1.0, Markdown, and Atom feeds, enabling you to publish the same content across Gemini capsules, traditional websites, and platforms like GitHub/Codeberg Pages. The tool handles blog post management automatically—creating a new dated <span class='inlinecode'>.gmi</span> file triggers auto-indexing, feed generation, and cross-format conversion.</span><br /> -<br /> -<span>The architecture leverages GNU utilities (sed, grep, date) and optional tools like GNU Source Highlight for syntax highlighting. It includes a templating system that executes embedded Bash code in <span class='inlinecode'>.gmi.tpl</span> files, supports themes for HTML output, and integrates with Git for version control and publishing workflows. Despite being implemented as a complex Bash script, it remains maintainable and serves as an experiment in how far shell scripting can scale for content management tasks.</span><br /> -<br /> -<a class='textlink' href='https://codeberg.org/snonux/gemtexter'>View on Codeberg</a><br /> -<a class='textlink' href='https://github.com/snonux/gemtexter'>View on GitHub</a><br /> -<br /> -<span>---</span><br /> -<br /> -<h3 style='display: inline' id='20-wireguardmeshgenerator'>20. wireguardmeshgenerator</h3><br /> +<h3 style='display: inline' id='21-wireguardmeshgenerator'>21. wireguardmeshgenerator</h3><br /> <br /> <ul> <li>💻 Languages: Ruby (65.4%), YAML (34.6%)</li> @@ -571,7 +596,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.4 (combines code size and activity)</li> +<li>🏆 Score: 10.1 (combines code size and activity)</li> <li>⚖️ License: Custom License</li> <li>🏷️ Latest Release: v1.0.0 (2025-05-11)</li> </ul><br /> @@ -585,7 +610,30 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='21-rcm'>21. rcm</h3><br /> +<h3 style='display: inline' id='22-gemtexter'>22. gemtexter</h3><br /> +<br /> +<ul> +<li>💻 Languages: Shell (68.2%), CSS (28.5%), Config (1.9%), HTML (1.3%)</li> +<li>📚 Documentation: Text (76.1%), Markdown (23.9%)</li> +<li>📊 Commits: 472</li> +<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>⚖️ License: GPL-3.0</li> +<li>🏷️ Latest Release: 3.0.0 (2024-10-01)</li> +</ul><br /> +<br /> +<span>Gemtexter is a static site generator and blog engine written in Bash that converts content from Gemini Gemtext format into multiple output formats (HTML, Markdown) simultaneously. It allows you to maintain a single source of truth in Gemtext and automatically generates XHTML Transitional 1.0, Markdown, and Atom feeds, enabling you to publish the same content across Gemini capsules, traditional websites, and platforms like GitHub/Codeberg Pages. The tool handles blog post management automatically—creating a new dated <span class='inlinecode'>.gmi</span> file triggers auto-indexing, feed generation, and cross-format conversion.</span><br /> +<br /> +<span>The architecture leverages GNU utilities (sed, grep, date) and optional tools like GNU Source Highlight for syntax highlighting. It includes a templating system that executes embedded Bash code in <span class='inlinecode'>.gmi.tpl</span> files, supports themes for HTML output, and integrates with Git for version control and publishing workflows. Despite being implemented as a complex Bash script, it remains maintainable and serves as an experiment in how far shell scripting can scale for content management tasks.</span><br /> +<br /> +<a class='textlink' href='https://codeberg.org/snonux/gemtexter'>View on Codeberg</a><br /> +<a class='textlink' href='https://github.com/snonux/gemtexter'>View on GitHub</a><br /> +<br /> +<span>---</span><br /> +<br /> +<h3 style='display: inline' id='23-rcm'>23. rcm</h3><br /> <br /> <ul> <li>💻 Languages: Ruby (99.8%), TOML (0.2%)</li> @@ -594,7 +642,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: 9.1 (combines code size and activity)</li> +<li>🏆 Score: 8.9 (combines code size and activity)</li> <li>⚖️ License: Custom License</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -608,7 +656,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='22-terraform'>22. terraform</h3><br /> +<h3 style='display: inline' id='24-terraform'>24. terraform</h3><br /> <br /> <ul> <li>💻 Languages: HCL (96.6%), Make (1.9%), YAML (1.5%)</li> @@ -631,7 +679,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='23-quicklogger'>23. quicklogger</h3><br /> +<h3 style='display: inline' id='25-quicklogger'>25. quicklogger</h3><br /> <br /> <ul> <li>💻 Languages: Go (96.1%), XML (1.9%), Shell (1.2%), TOML (0.7%)</li> @@ -658,7 +706,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='24-sillybench'>24. sillybench</h3><br /> +<h3 style='display: inline' id='26-sillybench'>26. sillybench</h3><br /> <br /> <ul> <li>💻 Languages: Go (90.9%), Shell (9.1%)</li> @@ -667,7 +715,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.9 (combines code size and activity)</li> +<li>🏆 Score: 4.8 (combines code size and activity)</li> <li>⚖️ License: No license found</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -681,7 +729,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='25-gorum'>25. gorum</h3><br /> +<h3 style='display: inline' id='27-gorum'>27. gorum</h3><br /> <br /> <ul> <li>💻 Languages: Go (91.3%), JSON (6.4%), YAML (2.3%)</li> @@ -705,7 +753,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='26-guprecords'>26. guprecords</h3><br /> +<h3 style='display: inline' id='28-guprecords'>28. guprecords</h3><br /> <br /> <ul> <li>💻 Languages: Raku (100.0%)</li> @@ -728,53 +776,53 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='27-docker-radicale-server'>27. docker-radicale-server</h3><br /> +<h3 style='display: inline' id='29-geheim'>29. geheim</h3><br /> <br /> <ul> -<li>💻 Languages: Make (57.5%), Docker (42.5%)</li> +<li>💻 Languages: Ruby (86.7%), Shell (13.3%)</li> <li>📚 Documentation: Markdown (100.0%)</li> -<li>📊 Commits: 5</li> -<li>📈 Lines of Code: 40</li> -<li>📄 Lines of Documentation: 3</li> -<li>📅 Development Period: 2023-12-31 to 2025-08-11</li> -<li>🏆 Score: 2.5 (combines code size and activity)</li> +<li>📊 Commits: 74</li> +<li>📈 Lines of Code: 822</li> +<li>📄 Lines of Documentation: 106</li> +<li>📅 Development Period: 2018-05-26 to 2025-11-01</li> +<li>🏆 Score: 2.4 (combines code size and activity)</li> <li>⚖️ License: No license found</li> -<li>🧪 Status: Experimental (no releases yet)</li> +<li>🏷️ Latest Release: v0.3.1 (2025-11-01)</li> </ul><br /> <br /> -<span>This project is a Docker containerization of **Radicale**, a lightweight CalDAV and CardDAV server for calendar and contact synchronization. Radicale enables users to self-host their calendars and contacts, providing an open-source alternative to cloud services like Google Calendar or iCloud. The Dockerized version makes it easy to deploy and manage the server with minimal setup.</span><br /> +<span>**geheim.rb** is a Ruby-based encrypted document management system that stores text and binary files in a Git repository with end-to-end encryption. It uses AES-256-CBC encryption with a PIN-derived initialization vector, encrypting both file contents and filenames while maintaining them in encrypted indices. The tool is designed for managing smaller sensitive files like text documents and PDFs with the security of encryption combined with Git's version control and distribution capabilities.</span><br /> <br /> -<span>The implementation uses Alpine Linux as the base image for a minimal footprint, installs Radicale via pip, and configures it with htpasswd authentication and file-based storage. The container exposes port 8080 and runs as a non-root user for security. The architecture includes separate volumes for authentication credentials, calendar/contact collections, and configuration, making it straightforward to persist data and customize the server behavior.</span><br /> +<span>The architecture leverages Git for storage and synchronization across multiple remote repositories (enabling geo-redundancy), integrates with <span class='inlinecode'>fzf</span> for fuzzy searching through encrypted indices, and provides a practical workflow with features like NeoVim integration for text editing (with security precautions like disabled caching), clipboard support for MacOS and GNOME, an interactive shell interface, and batch import/export capabilities. It's cross-platform (MacOS, Linux, Android via Termux) and designed for personal use where you need encrypted, version-controlled, and geo-distributed document storage with convenient search and editing workflows.</span><br /> <br /> -<a class='textlink' href='https://codeberg.org/snonux/docker-radicale-server'>View on Codeberg</a><br /> -<a class='textlink' href='https://github.com/snonux/docker-radicale-server'>View on GitHub</a><br /> +<a class='textlink' href='https://codeberg.org/snonux/geheim'>View on Codeberg</a><br /> +<a class='textlink' href='https://github.com/snonux/geheim'>View on GitHub</a><br /> <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='28-geheim'>28. geheim</h3><br /> +<h3 style='display: inline' id='30-docker-radicale-server'>30. docker-radicale-server</h3><br /> <br /> <ul> -<li>💻 Languages: Ruby (86.7%), Shell (13.3%)</li> +<li>💻 Languages: Make (57.5%), Docker (42.5%)</li> <li>📚 Documentation: Markdown (100.0%)</li> -<li>📊 Commits: 74</li> -<li>📈 Lines of Code: 822</li> -<li>📄 Lines of Documentation: 106</li> -<li>📅 Development Period: 2018-05-26 to 2025-11-01</li> +<li>📊 Commits: 5</li> +<li>📈 Lines of Code: 40</li> +<li>📄 Lines of Documentation: 3</li> +<li>📅 Development Period: 2023-12-31 to 2025-08-11</li> <li>🏆 Score: 2.4 (combines code size and activity)</li> <li>⚖️ License: No license found</li> -<li>🏷️ Latest Release: v0.3.1 (2025-11-01)</li> +<li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> <br /> -<span>**geheim.rb** is a Ruby-based encrypted document management system that stores text and binary files in a Git repository with end-to-end encryption. It uses AES-256-CBC encryption with a PIN-derived initialization vector, encrypting both file contents and filenames while maintaining them in encrypted indices. The tool is designed for managing smaller sensitive files like text documents and PDFs with the security of encryption combined with Git's version control and distribution capabilities.</span><br /> +<span>This project is a Docker containerization of **Radicale**, a lightweight CalDAV and CardDAV server for calendar and contact synchronization. Radicale enables users to self-host their calendars and contacts, providing an open-source alternative to cloud services like Google Calendar or iCloud. The Dockerized version makes it easy to deploy and manage the server with minimal setup.</span><br /> <br /> -<span>The architecture leverages Git for storage and synchronization across multiple remote repositories (enabling geo-redundancy), integrates with <span class='inlinecode'>fzf</span> for fuzzy searching through encrypted indices, and provides a practical workflow with features like NeoVim integration for text editing (with security precautions like disabled caching), clipboard support for MacOS and GNOME, an interactive shell interface, and batch import/export capabilities. It's cross-platform (MacOS, Linux, Android via Termux) and designed for personal use where you need encrypted, version-controlled, and geo-distributed document storage with convenient search and editing workflows.</span><br /> +<span>The implementation uses Alpine Linux as the base image for a minimal footprint, installs Radicale via pip, and configures it with htpasswd authentication and file-based storage. The container exposes port 8080 and runs as a non-root user for security. The architecture includes separate volumes for authentication credentials, calendar/contact collections, and configuration, making it straightforward to persist data and customize the server behavior.</span><br /> <br /> -<a class='textlink' href='https://codeberg.org/snonux/geheim'>View on Codeberg</a><br /> -<a class='textlink' href='https://github.com/snonux/geheim'>View on GitHub</a><br /> +<a class='textlink' href='https://codeberg.org/snonux/docker-radicale-server'>View on Codeberg</a><br /> +<a class='textlink' href='https://github.com/snonux/docker-radicale-server'>View on GitHub</a><br /> <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='29-algorithms'>29. algorithms</h3><br /> +<h3 style='display: inline' id='31-algorithms'>31. algorithms</h3><br /> <br /> <ul> <li>💻 Languages: Go (99.2%), Make (0.8%)</li> @@ -798,7 +846,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='30-randomjournalpage'>30. randomjournalpage</h3><br /> +<h3 style='display: inline' id='32-randomjournalpage'>32. randomjournalpage</h3><br /> <br /> <ul> <li>💻 Languages: Shell (94.1%), Make (5.9%)</li> @@ -822,7 +870,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='31-photoalbum'>31. photoalbum</h3><br /> +<h3 style='display: inline' id='33-photoalbum'>33. photoalbum</h3><br /> <br /> <ul> <li>💻 Languages: Shell (80.1%), Make (12.3%), Config (7.6%)</li> @@ -846,7 +894,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='32-ioriot'>32. ioriot</h3><br /> +<h3 style='display: inline' id='34-ioriot'>34. ioriot</h3><br /> <br /> <ul> <li>💻 Languages: C (55.5%), C/C++ (24.0%), Config (19.6%), Make (1.0%)</li> @@ -872,7 +920,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='33-ipv6test'>33. ipv6test</h3><br /> +<h3 style='display: inline' id='35-ipv6test'>35. ipv6test</h3><br /> <br /> <ul> <li>💻 Languages: Perl (65.8%), Docker (34.2%)</li> @@ -895,7 +943,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='34-sway-autorotate'>34. sway-autorotate</h3><br /> +<h3 style='display: inline' id='36-sway-autorotate'>36. sway-autorotate</h3><br /> <br /> <ul> <li>💻 Languages: Shell (100.0%)</li> @@ -918,7 +966,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='35-mon'>35. mon</h3><br /> +<h3 style='display: inline' id='37-mon'>37. mon</h3><br /> <br /> <ul> <li>💻 Languages: Perl (96.5%), Shell (1.8%), Make (1.2%), Config (0.4%)</li> @@ -942,7 +990,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='36-staticfarm-apache-handlers'>36. staticfarm-apache-handlers</h3><br /> +<h3 style='display: inline' id='38-staticfarm-apache-handlers'>38. staticfarm-apache-handlers</h3><br /> <br /> <ul> <li>💻 Languages: Perl (96.4%), Make (3.6%)</li> @@ -966,7 +1014,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='37-pingdomfetch'>37. pingdomfetch</h3><br /> +<h3 style='display: inline' id='39-pingdomfetch'>39. pingdomfetch</h3><br /> <br /> <ul> <li>💻 Languages: Perl (97.3%), Make (2.7%)</li> @@ -990,7 +1038,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='38-xerl'>38. xerl</h3><br /> +<h3 style='display: inline' id='40-xerl'>40. xerl</h3><br /> <br /> <ul> <li>💻 Languages: Perl (98.3%), Config (1.2%), Make (0.5%)</li> @@ -1012,7 +1060,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='39-ychat'>39. ychat</h3><br /> +<h3 style='display: inline' id='41-ychat'>41. 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> @@ -1036,7 +1084,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='40-fapi'>40. fapi</h3><br /> +<h3 style='display: inline' id='42-fapi'>42. fapi</h3><br /> <br /> <ul> <li>💻 Languages: Python (96.6%), Make (3.1%), Config (0.3%)</li> @@ -1059,7 +1107,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='41-perl-c-fibonacci'>41. perl-c-fibonacci</h3><br /> +<h3 style='display: inline' id='43-perl-c-fibonacci'>43. perl-c-fibonacci</h3><br /> <br /> <ul> <li>💻 Languages: C (80.4%), Make (19.6%)</li> @@ -1081,7 +1129,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='42-netcalendar'>42. netcalendar</h3><br /> +<h3 style='display: inline' id='44-netcalendar'>44. netcalendar</h3><br /> <br /> <ul> <li>💻 Languages: Java (83.0%), HTML (12.9%), XML (3.0%), CSS (0.8%), Make (0.2%)</li> @@ -1109,18 +1157,18 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='43-loadbars'>43. loadbars</h3><br /> +<h3 style='display: inline' id='45-loadbars'>45. loadbars</h3><br /> <br /> <ul> <li>💻 Languages: Perl (97.4%), Make (2.6%)</li> <li>📚 Documentation: Text (100.0%)</li> -<li>📊 Commits: 527</li> +<li>📊 Commits: 557</li> <li>📈 Lines of Code: 1828</li> <li>📄 Lines of Documentation: 100</li> <li>📅 Development Period: 2010-11-05 to 2015-05-23</li> <li>🏆 Score: 0.7 (combines code size and activity)</li> <li>⚖️ License: No license found</li> -<li>🏷️ Latest Release: 0.7.5 (2014-06-22)</li> +<li>🏷️ Latest Release: v0.9.0 (2026-02-14)</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 /> @@ -1131,7 +1179,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='44-gotop'>44. gotop</h3><br /> +<h3 style='display: inline' id='46-gotop'>46. gotop</h3><br /> <br /> <ul> <li>💻 Languages: Go (98.0%), Make (2.0%)</li> @@ -1155,7 +1203,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='45-fype'>45. fype</h3><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> @@ -1179,7 +1227,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='46-rubyfy'>46. rubyfy</h3><br /> +<h3 style='display: inline' id='48-rubyfy'>48. rubyfy</h3><br /> <br /> <ul> <li>💻 Languages: Ruby (98.5%), JSON (1.5%)</li> @@ -1203,7 +1251,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='47-pwgrep'>47. pwgrep</h3><br /> +<h3 style='display: inline' id='49-pwgrep'>49. pwgrep</h3><br /> <br /> <ul> <li>💻 Languages: Shell (85.0%), Make (15.0%)</li> @@ -1227,7 +1275,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='48-perldaemon'>48. perldaemon</h3><br /> +<h3 style='display: inline' id='50-perldaemon'>50. perldaemon</h3><br /> <br /> <ul> <li>💻 Languages: Perl (72.3%), Shell (23.8%), Config (3.9%)</li> @@ -1249,7 +1297,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='49-jsmstrade'>49. jsmstrade</h3><br /> +<h3 style='display: inline' id='51-jsmstrade'>51. jsmstrade</h3><br /> <br /> <ul> <li>💻 Languages: Java (76.0%), Shell (15.4%), XML (8.6%)</li> @@ -1275,7 +1323,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='50-japi'>50. japi</h3><br /> +<h3 style='display: inline' id='52-japi'>52. japi</h3><br /> <br /> <ul> <li>💻 Languages: Perl (78.3%), Make (21.7%)</li> @@ -1299,7 +1347,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='51-perl-poetry'>51. perl-poetry</h3><br /> +<h3 style='display: inline' id='53-perl-poetry'>53. perl-poetry</h3><br /> <br /> <ul> <li>💻 Languages: Perl (100.0%)</li> @@ -1323,7 +1371,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='52-muttdelay'>52. muttdelay</h3><br /> +<h3 style='display: inline' id='54-muttdelay'>54. muttdelay</h3><br /> <br /> <ul> <li>💻 Languages: Make (47.1%), Shell (46.3%), Vim Script (5.9%), Config (0.7%)</li> @@ -1347,7 +1395,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='53-netdiff'>53. netdiff</h3><br /> +<h3 style='display: inline' id='55-netdiff'>55. netdiff</h3><br /> <br /> <ul> <li>💻 Languages: Shell (52.2%), Make (46.3%), Config (1.5%)</li> @@ -1371,7 +1419,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='54-debroid'>54. debroid</h3><br /> +<h3 style='display: inline' id='56-debroid'>56. debroid</h3><br /> <br /> <ul> <li>💻 Languages: Shell (92.0%), Make (8.0%)</li> @@ -1397,7 +1445,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='55-hsbot'>55. hsbot</h3><br /> +<h3 style='display: inline' id='57-hsbot'>57. hsbot</h3><br /> <br /> <ul> <li>💻 Languages: Haskell (98.5%), Make (1.5%)</li> @@ -1419,7 +1467,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='56-cpuinfo'>56. cpuinfo</h3><br /> +<h3 style='display: inline' id='58-cpuinfo'>58. cpuinfo</h3><br /> <br /> <ul> <li>💻 Languages: Shell (53.2%), Make (46.8%)</li> @@ -1443,7 +1491,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='57-template'>57. template</h3><br /> +<h3 style='display: inline' id='59-template'>59. template</h3><br /> <br /> <ul> <li>💻 Languages: Make (89.2%), Shell (10.8%)</li> @@ -1467,7 +1515,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='58-awksite'>58. awksite</h3><br /> +<h3 style='display: inline' id='60-awksite'>60. awksite</h3><br /> <br /> <ul> <li>💻 Languages: AWK (72.1%), HTML (16.4%), Config (11.5%)</li> @@ -1491,7 +1539,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='59-dyndns'>59. dyndns</h3><br /> +<h3 style='display: inline' id='61-dyndns'>61. dyndns</h3><br /> <br /> <ul> <li>💻 Languages: Shell (100.0%)</li> @@ -1515,7 +1563,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='60-vs-sim'>60. vs-sim</h3><br /> +<h3 style='display: inline' id='62-vs-sim'>62. vs-sim</h3><br /> <br /> <ul> <li>📚 Documentation: Markdown (100.0%)</li> |
