summaryrefslogtreecommitdiff
path: root/about/showcase.html
diff options
context:
space:
mode:
authorPaul Buetow <paul@buetow.org>2026-02-08 17:44:32 +0200
committerPaul Buetow <paul@buetow.org>2026-02-08 17:44:32 +0200
commit71dcfddb2ab9816a95b42f2bbc0ec2b75d83277c (patch)
tree6c96bb105500c6e036e38290085b8197e29d9b45 /about/showcase.html
parente87c83f76467a96522d292993bdb38ca654ca96c (diff)
Update content for html
Diffstat (limited to 'about/showcase.html')
-rw-r--r--about/showcase.html723
1 files changed, 374 insertions, 349 deletions
diff --git a/about/showcase.html b/about/showcase.html
index c9b8c16a..f020cb52 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-01-24</span><br />
+<span>Generated on: 2026-02-07</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,89 +23,115 @@
<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-conf'>1. conf</a></li>
-<li>⇢ ⇢ <a href='#2-log4jbench'>2. log4jbench</a></li>
-<li>⇢ ⇢ <a href='#3-epimetheus'>3. epimetheus</a></li>
-<li>⇢ ⇢ <a href='#4-perc'>4. perc</a></li>
-<li>⇢ ⇢ <a href='#5-hexai'>5. hexai</a></li>
-<li>⇢ ⇢ <a href='#6-yoga'>6. yoga</a></li>
-<li>⇢ ⇢ <a href='#7-totalrecall'>7. totalrecall</a></li>
-<li>⇢ ⇢ <a href='#8-gitsyncer'>8. gitsyncer</a></li>
-<li>⇢ ⇢ <a href='#9-foostats'>9. foostats</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-timr'>11. timr</a></li>
-<li>⇢ ⇢ <a href='#12-tasksamurai'>12. tasksamurai</a></li>
-<li>⇢ ⇢ <a href='#13-ior'>13. ior</a></li>
-<li>⇢ ⇢ <a href='#14-dtail'>14. dtail</a></li>
-<li>⇢ ⇢ <a href='#15-gos'>15. gos</a></li>
-<li>⇢ ⇢ <a href='#16-ds-sim'>16. ds-sim</a></li>
-<li>⇢ ⇢ <a href='#17-gemtexter'>17. gemtexter</a></li>
-<li>⇢ ⇢ <a href='#18-wireguardmeshgenerator'>18. wireguardmeshgenerator</a></li>
-<li>⇢ ⇢ <a href='#19-rcm'>19. rcm</a></li>
-<li>⇢ ⇢ <a href='#20-terraform'>20. terraform</a></li>
-<li>⇢ ⇢ <a href='#21-sillybench'>21. sillybench</a></li>
-<li>⇢ ⇢ <a href='#22-quicklogger'>22. quicklogger</a></li>
-<li>⇢ ⇢ <a href='#23-gorum'>23. gorum</a></li>
-<li>⇢ ⇢ <a href='#24-guprecords'>24. guprecords</a></li>
-<li>⇢ ⇢ <a href='#25-docker-radicale-server'>25. docker-radicale-server</a></li>
-<li>⇢ ⇢ <a href='#26-geheim'>26. geheim</a></li>
-<li>⇢ ⇢ <a href='#27-algorithms'>27. algorithms</a></li>
-<li>⇢ ⇢ <a href='#28-randomjournalpage'>28. randomjournalpage</a></li>
-<li>⇢ ⇢ <a href='#29-ioriot'>29. ioriot</a></li>
-<li>⇢ ⇢ <a href='#30-sway-autorotate'>30. sway-autorotate</a></li>
-<li>⇢ ⇢ <a href='#31-mon'>31. mon</a></li>
-<li>⇢ ⇢ <a href='#32-staticfarm-apache-handlers'>32. staticfarm-apache-handlers</a></li>
-<li>⇢ ⇢ <a href='#33-pingdomfetch'>33. pingdomfetch</a></li>
-<li>⇢ ⇢ <a href='#34-xerl'>34. xerl</a></li>
-<li>⇢ ⇢ <a href='#35-fapi'>35. fapi</a></li>
-<li>⇢ ⇢ <a href='#36-photoalbum'>36. photoalbum</a></li>
-<li>⇢ ⇢ <a href='#37-ychat'>37. ychat</a></li>
-<li>⇢ ⇢ <a href='#38-perl-c-fibonacci'>38. perl-c-fibonacci</a></li>
-<li>⇢ ⇢ <a href='#39-netcalendar'>39. netcalendar</a></li>
-<li>⇢ ⇢ <a href='#40-loadbars'>40. loadbars</a></li>
-<li>⇢ ⇢ <a href='#41-gotop'>41. gotop</a></li>
-<li>⇢ ⇢ <a href='#42-fype'>42. fype</a></li>
-<li>⇢ ⇢ <a href='#43-rubyfy'>43. rubyfy</a></li>
-<li>⇢ ⇢ <a href='#44-pwgrep'>44. pwgrep</a></li>
-<li>⇢ ⇢ <a href='#45-perldaemon'>45. perldaemon</a></li>
-<li>⇢ ⇢ <a href='#46-jsmstrade'>46. jsmstrade</a></li>
-<li>⇢ ⇢ <a href='#47-japi'>47. japi</a></li>
-<li>⇢ ⇢ <a href='#48-perl-poetry'>48. perl-poetry</a></li>
-<li>⇢ ⇢ <a href='#49-muttdelay'>49. muttdelay</a></li>
-<li>⇢ ⇢ <a href='#50-netdiff'>50. netdiff</a></li>
-<li>⇢ ⇢ <a href='#51-debroid'>51. debroid</a></li>
-<li>⇢ ⇢ <a href='#52-hsbot'>52. hsbot</a></li>
-<li>⇢ ⇢ <a href='#53-cpuinfo'>53. cpuinfo</a></li>
-<li>⇢ ⇢ <a href='#54-template'>54. template</a></li>
-<li>⇢ ⇢ <a href='#55-ipv6test'>55. ipv6test</a></li>
-<li>⇢ ⇢ <a href='#56-awksite'>56. awksite</a></li>
-<li>⇢ ⇢ <a href='#57-dyndns'>57. dyndns</a></li>
-<li>⇢ ⇢ <a href='#58-vs-sim'>58. vs-sim</a></li>
-<li>⇢ ⇢ <a href='#59-foozone'>59. foo.zone</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>
</ul><br />
<h2 style='display: inline' id='overall-statistics'>Overall Statistics</h2><br />
<br />
<ul>
-<li>📦 Total Projects: 59</li>
-<li>📊 Total Commits: 12,767</li>
-<li>📈 Total Lines of Code: 293,318</li>
-<li>📄 Total Lines of Documentation: 31,738</li>
-<li>💻 Languages: Go (31.3%), Java (14.0%), C++ (7.7%), C (6.6%), HTML (6.2%), Shell (6.2%), CSS (5.9%), Perl (5.9%), C/C++ (4.9%), YAML (2.8%), Python (2.4%), Config (1.5%), JSON (1.1%), Ruby (1.0%), HCL (0.9%), Make (0.6%), Raku (0.3%), XML (0.3%), Haskell (0.2%), TOML (0.1%)</li>
-<li>📚 Documentation: Markdown (62.6%), Text (35.6%), LaTeX (1.8%)</li>
-<li>🚀 Release Status: 38 released, 21 experimental (64.4% with releases, 35.6% experimental)</li>
+<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>
</ul><br />
<h2 style='display: inline' id='projects'>Projects</h2><br />
<br />
-<h3 style='display: inline' id='1-conf'>1. conf</h3><br />
+<h3 style='display: inline' id='1-epimetheus'>1. epimetheus</h3><br />
<br />
<ul>
-<li>💻 Languages: YAML (55.0%), Shell (18.0%), Perl (13.5%), Python (3.1%), Config (2.4%), CSS (2.3%), TOML (2.1%), Ruby (1.8%), Docker (0.9%), Lua (0.5%), JSON (0.2%), HTML (0.2%)</li>
-<li>📚 Documentation: Markdown (96.1%), Text (3.9%)</li>
-<li>📊 Commits: 2167</li>
-<li>📈 Lines of Code: 14113</li>
-<li>📄 Lines of Documentation: 4886</li>
-<li>📅 Development Period: 2021-12-28 to 2026-01-23</li>
-<li>🏆 Score: 622.2 (combines code size and activity)</li>
+<li>💻 Languages: Go (83.4%), Shell (16.6%)</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>⚖️ License: No license found</li>
+<li>🧪 Status: Experimental (no releases yet)</li>
+</ul><br />
+<br />
+<a href='showcase/epimetheus/image-1.png'><img alt='epimetheus screenshot' title='epimetheus screenshot' src='showcase/epimetheus/image-1.png' /></a><br />
+<br />
+<span>**Epimetheus** is a Go tool for pushing metrics to Prometheus that uniquely supports both realtime and historic data ingestion. Named after Prometheus&#39;s brother (meaning "afterthought"), it solves the common problem of getting metrics into Prometheus *after* they were collected—whether from hours, days, or weeks ago. It offers four operating modes: realtime (via Pushgateway), historic (single past datapoint via Remote Write API), backfill (range of historic data), and auto (intelligent routing based on timestamp age).</span><br />
+<br />
+<span>The architecture routes current data (&lt;5 min old) through Pushgateway where Prometheus scrapes it, while historic data goes directly to Prometheus via the Remote Write API to preserve original timestamps. It supports CSV and JSON input formats, generates realistic test metrics (counters, gauges, histograms), and includes a Grafana dashboard. The tool is built with a clean internal structure separating config, metrics generation, parsing, and ingestion concerns—making it useful for backfilling gaps, data migration, testing monitoring setups, and ad-hoc troubleshooting scenarios.</span><br />
+<br />
+<a class='textlink' href='https://codeberg.org/snonux/epimetheus'>View on Codeberg</a><br />
+<a class='textlink' href='https://github.com/snonux/epimetheus'>View on GitHub</a><br />
+<br />
+<span>---</span><br />
+<br />
+<h3 style='display: inline' id='2-conf'>2. 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>📚 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>⚖️ License: No license found</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -119,7 +145,51 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='2-log4jbench'>2. log4jbench</h3><br />
+<h3 style='display: inline' id='3-foozone'>3. foo.zone</h3><br />
+<br />
+<ul>
+<li>💻 Languages: XML (98.7%), Shell (1.0%), Go (0.3%)</li>
+<li>📚 Documentation: Text (86.2%), Markdown (13.8%)</li>
+<li>📊 Commits: 3505</li>
+<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>⚖️ License: No license found</li>
+<li>🧪 Status: Experimental (no releases yet)</li>
+</ul><br />
+<br />
+<span>foo.zone: source code repository.</span><br />
+<br />
+<a class='textlink' href='https://codeberg.org/snonux/foo.zone'>View on Codeberg</a><br />
+<a class='textlink' href='https://github.com/snonux/foo.zone'>View on GitHub</a><br />
+<br />
+<span>---</span><br />
+<br />
+<h3 style='display: inline' id='4-scifi'>4. scifi</h3><br />
+<br />
+<ul>
+<li>💻 Languages: JSON (35.9%), CSS (30.6%), JavaScript (29.6%), HTML (3.8%)</li>
+<li>📚 Documentation: Markdown (100.0%)</li>
+<li>📊 Commits: 23</li>
+<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>⚖️ License: No license found</li>
+<li>🧪 Status: Experimental (no releases yet)</li>
+</ul><br />
+<br />
+<span>This is a static HTML showcase for a personal sci-fi book collection (54 books). It displays books in a responsive grid with cover images, lets users filter by author, format, or free-text search, and shows plot summaries in a modal on click. The entire site works offline with no external dependencies — all covers, metadata, and summaries are bundled locally.</span><br />
+<br />
+<span>The architecture keeps content separate from presentation: book metadata lives in <span class='inlinecode'>data/books.json</span>, summaries are individual markdown files in <span class='inlinecode'>summaries/</span>, and covers are stored as local JPGs. A build step (<span class='inlinecode'>node build.js</span>) embeds the markdown summaries into the JSON file, producing a self-contained site that can be served as plain static files. The frontend (<span class='inlinecode'>js/app.js</span>) handles filtering and modal display client-side, while <span class='inlinecode'>css/styles.css</span> provides the grid layout and styling.</span><br />
+<br />
+<a class='textlink' href='https://codeberg.org/snonux/scifi'>View on Codeberg</a><br />
+<a class='textlink' href='https://github.com/snonux/scifi'>View on GitHub</a><br />
+<br />
+<span>---</span><br />
+<br />
+<h3 style='display: inline' id='5-log4jbench'>5. log4jbench</h3><br />
<br />
<ul>
<li>💻 Languages: Java (78.9%), XML (21.1%)</li>
@@ -128,7 +198,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: 184.8 (combines code size and activity)</li>
+<li>🏆 Score: 96.5 (combines code size and activity)</li>
<li>⚖️ License: MIT</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -142,32 +212,32 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='3-epimetheus'>3. epimetheus</h3><br />
+<h3 style='display: inline' id='6-hexai'>6. hexai</h3><br />
<br />
<ul>
-<li>💻 Languages: Go (63.6%), Shell (24.3%), JSON (12.2%)</li>
-<li>📚 Documentation: Markdown (98.5%), Text (1.5%)</li>
-<li>📊 Commits: 16</li>
-<li>📈 Lines of Code: 3869</li>
-<li>📄 Lines of Documentation: 3700</li>
-<li>📅 Development Period: 2025-12-30 to 2026-01-06</li>
-<li>🏆 Score: 144.0 (combines code size and activity)</li>
+<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>🧪 Status: Experimental (no releases yet)</li>
+<li>🏷️ Latest Release: v0.17.0 (2026-02-06)</li>
</ul><br />
<br />
-<a href='showcase/epimetheus/image-1.png'><img alt='epimetheus screenshot' title='epimetheus screenshot' src='showcase/epimetheus/image-1.png' /></a><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>**Epimetheus** is a Go tool for pushing metrics to Prometheus that uniquely supports both realtime and historic data ingestion. Named after Prometheus&#39;s brother (meaning "afterthought"), it solves the common problem of getting metrics into Prometheus *after* they were collected—whether from hours, days, or weeks ago. It offers four operating modes: realtime (via Pushgateway), historic (single past datapoint via Remote Write API), backfill (range of historic data), and auto (intelligent routing based on timestamp age).</span><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 architecture routes current data (&lt;5 min old) through Pushgateway where Prometheus scrapes it, while historic data goes directly to Prometheus via the Remote Write API to preserve original timestamps. It supports CSV and JSON input formats, generates realistic test metrics (counters, gauges, histograms), and includes a Grafana dashboard. The tool is built with a clean internal structure separating config, metrics generation, parsing, and ingestion concerns—making it useful for backfilling gaps, data migration, testing monitoring setups, and ad-hoc troubleshooting scenarios.</span><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/epimetheus'>View on Codeberg</a><br />
-<a class='textlink' href='https://github.com/snonux/epimetheus'>View on GitHub</a><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='4-perc'>4. perc</h3><br />
+<h3 style='display: inline' id='7-perc'>7. perc</h3><br />
<br />
<ul>
<li>💻 Languages: Go (100.0%)</li>
@@ -176,7 +246,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: 43.8 (combines code size and activity)</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 />
@@ -190,43 +260,18 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='5-hexai'>5. hexai</h3><br />
+<h3 style='display: inline' id='8-yoga'>8. yoga</h3><br />
<br />
<ul>
-<li>💻 Languages: Go (65.3%), HTML (34.7%)</li>
+<li>💻 Languages: Go (66.1%), HTML (33.9%)</li>
<li>📚 Documentation: Markdown (100.0%)</li>
-<li>📊 Commits: 240</li>
-<li>📈 Lines of Code: 28331</li>
-<li>📄 Lines of Documentation: 562</li>
-<li>📅 Development Period: 2025-08-01 to 2025-11-03</li>
-<li>🏆 Score: 36.5 (combines code size and activity)</li>
+<li>📊 Commits: 24</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: 34.9 (combines code size and activity)</li>
<li>⚖️ License: No license found</li>
-<li>🏷️ Latest Release: v0.15.3 (2025-11-03)</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='6-yoga'>6. yoga</h3><br />
-<br />
-<ul>
-<li>💻 Languages: Go (100.0%)</li>
-<li>📚 Documentation: Markdown (100.0%)</li>
-<li>📊 Commits: 12</li>
-<li>📈 Lines of Code: 3408</li>
-<li>📄 Lines of Documentation: 82</li>
-<li>📅 Development Period: 2025-10-01 to 2025-10-24</li>
-<li>🏆 Score: 32.1 (combines code size and activity)</li>
-<li>⚖️ License: No license found</li>
-<li>🏷️ Latest Release: v0.3.0 (2025-10-24)</li>
+<li>🏷️ Latest Release: v0.4.0 (2026-01-28)</li>
</ul><br />
<br />
<a href='showcase/yoga/image-1.png'><img alt='yoga screenshot' title='yoga screenshot' src='showcase/yoga/image-1.png' /></a><br />
@@ -240,7 +285,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='7-totalrecall'>7. totalrecall</h3><br />
+<h3 style='display: inline' id='9-totalrecall'>9. totalrecall</h3><br />
<br />
<ul>
<li>💻 Languages: Go (99.0%), Shell (0.5%), YAML (0.4%)</li>
@@ -249,7 +294,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: 31.8 (combines code size and activity)</li>
+<li>🏆 Score: 28.6 (combines code size and activity)</li>
<li>⚖️ License: MIT</li>
<li>🏷️ Latest Release: v0.8.0 (2026-01-21)</li>
</ul><br />
@@ -267,7 +312,32 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='8-gitsyncer'>8. gitsyncer</h3><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 />
<br />
<ul>
<li>💻 Languages: Go (92.2%), Shell (7.4%), JSON (0.4%)</li>
@@ -276,7 +346,7 @@
<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: 23.4 (combines code size and activity)</li>
+<li>🏆 Score: 21.6 (combines code size and activity)</li>
<li>⚖️ License: BSD-2-Clause</li>
<li>🏷️ Latest Release: v0.11.0 (2025-12-31)</li>
</ul><br />
@@ -290,7 +360,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='9-foostats'>9. foostats</h3><br />
+<h3 style='display: inline' id='12-foostats'>12. foostats</h3><br />
<br />
<ul>
<li>💻 Languages: Perl (100.0%)</li>
@@ -299,7 +369,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: 21.0 (combines code size and activity)</li>
+<li>🏆 Score: 19.2 (combines code size and activity)</li>
<li>⚖️ License: Custom License</li>
<li>🏷️ Latest Release: v0.2.0 (2025-10-21)</li>
</ul><br />
@@ -313,32 +383,34 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='10-gogios'>10. gogios</h3><br />
+<h3 style='display: inline' id='13-tasksamurai'>13. tasksamurai</h3><br />
<br />
<ul>
-<li>💻 Languages: Go (98.5%), JSON (0.9%), YAML (0.6%)</li>
-<li>📚 Documentation: Markdown (94.9%), Text (5.1%)</li>
-<li>📊 Commits: 101</li>
-<li>📈 Lines of Code: 2921</li>
-<li>📄 Lines of Documentation: 394</li>
-<li>📅 Development Period: 2023-04-17 to 2026-01-22</li>
+<li>💻 Languages: Go (99.8%), YAML (0.2%)</li>
+<li>📚 Documentation: Markdown (100.0%)</li>
+<li>📊 Commits: 222</li>
+<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>⚖️ License: Custom License</li>
-<li>🏷️ Latest Release: v1.3.0 (2026-01-06)</li>
+<li>⚖️ License: BSD-2-Clause</li>
+<li>🏷️ Latest Release: v0.11.0 (2026-02-04)</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 />
+<a href='showcase/tasksamurai/image-1.png'><img alt='tasksamurai screenshot' title='tasksamurai screenshot' src='showcase/tasksamurai/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 />
+<span>**Task Samurai** is a fast, keyboard-driven terminal UI for Taskwarrior built in Go using the Bubble Tea framework. It displays your Taskwarrior tasks in an interactive table where you can manage them entirely through hotkeys—adding, starting, completing, and annotating tasks without touching the mouse. It supports all Taskwarrior filters as command-line arguments, allowing you to start with focused views like <span class='inlinecode'>tasksamurai +tag status:pending</span> or <span class='inlinecode'>tasksamurai project:work due:today</span>.</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 />
+<a href='showcase/tasksamurai/image-2.png'><img alt='tasksamurai screenshot' title='tasksamurai screenshot' src='showcase/tasksamurai/image-2.png' /></a><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 />
+<span>Under the hood, Task Samurai acts as a front-end wrapper that invokes the native <span class='inlinecode'>task</span> command to read and modify tasks, ensuring compatibility with your existing Taskwarrior setup. The UI automatically refreshes after each action to keep the table current. It was created as an experiment in agentic coding and as a faster alternative to Python-based tools like vit, leveraging Go&#39;s performance and the Bubble Tea framework&#39;s efficient terminal rendering. The project even includes a "disco mode" flag that cycles through themes for a more playful experience.</span><br />
+<br />
+<a class='textlink' href='https://codeberg.org/snonux/tasksamurai'>View on Codeberg</a><br />
+<a class='textlink' href='https://github.com/snonux/tasksamurai'>View on GitHub</a><br />
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='11-timr'>11. timr</h3><br />
+<h3 style='display: inline' id='14-timr'>14. timr</h3><br />
<br />
<ul>
<li>💻 Languages: Go (96.0%), Shell (4.0%)</li>
@@ -347,7 +419,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: 18.7 (combines code size and activity)</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 />
@@ -361,34 +433,7 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='12-tasksamurai'>12. tasksamurai</h3><br />
-<br />
-<ul>
-<li>💻 Languages: Go (99.8%), YAML (0.2%)</li>
-<li>📚 Documentation: Markdown (100.0%)</li>
-<li>📊 Commits: 218</li>
-<li>📈 Lines of Code: 6168</li>
-<li>📄 Lines of Documentation: 164</li>
-<li>📅 Development Period: 2025-06-19 to 2025-11-02</li>
-<li>🏆 Score: 18.3 (combines code size and activity)</li>
-<li>⚖️ License: BSD-2-Clause</li>
-<li>🏷️ Latest Release: v0.9.3 (2025-10-05)</li>
-</ul><br />
-<br />
-<a href='showcase/tasksamurai/image-1.png'><img alt='tasksamurai screenshot' title='tasksamurai screenshot' src='showcase/tasksamurai/image-1.png' /></a><br />
-<br />
-<span>**Task Samurai** is a fast, keyboard-driven terminal UI for Taskwarrior built in Go using the Bubble Tea framework. It displays your Taskwarrior tasks in an interactive table where you can manage them entirely through hotkeys—adding, starting, completing, and annotating tasks without touching the mouse. It supports all Taskwarrior filters as command-line arguments, allowing you to start with focused views like <span class='inlinecode'>tasksamurai +tag status:pending</span> or <span class='inlinecode'>tasksamurai project:work due:today</span>.</span><br />
-<br />
-<a href='showcase/tasksamurai/image-2.png'><img alt='tasksamurai screenshot' title='tasksamurai screenshot' src='showcase/tasksamurai/image-2.png' /></a><br />
-<br />
-<span>Under the hood, Task Samurai acts as a front-end wrapper that invokes the native <span class='inlinecode'>task</span> command to read and modify tasks, ensuring compatibility with your existing Taskwarrior setup. The UI automatically refreshes after each action to keep the table current. It was created as an experiment in agentic coding and as a faster alternative to Python-based tools like vit, leveraging Go&#39;s performance and the Bubble Tea framework&#39;s efficient terminal rendering. The project even includes a "disco mode" flag that cycles through themes for a more playful experience.</span><br />
-<br />
-<a class='textlink' href='https://codeberg.org/snonux/tasksamurai'>View on Codeberg</a><br />
-<a class='textlink' href='https://github.com/snonux/tasksamurai'>View on GitHub</a><br />
-<br />
-<span>---</span><br />
-<br />
-<h3 style='display: inline' id='13-ior'>13. ior</h3><br />
+<h3 style='display: inline' id='15-ior'>15. ior</h3><br />
<br />
<ul>
<li>💻 Languages: Go (50.4%), C (43.1%), Raku (4.5%), Make (1.1%), C/C++ (1.0%)</li>
@@ -397,7 +442,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: 18.3 (combines code size and activity)</li>
+<li>🏆 Score: 17.2 (combines code size and activity)</li>
<li>⚖️ License: No license found</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -415,16 +460,16 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='14-dtail'>14. dtail</h3><br />
+<h3 style='display: inline' id='16-dtail'>16. 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>
<li>📚 Documentation: Text (79.4%), Markdown (20.6%)</li>
-<li>📊 Commits: 1050</li>
+<li>📊 Commits: 1054</li>
<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: 17.0 (combines code size and activity)</li>
+<li>🏆 Score: 16.1 (combines code size and activity)</li>
<li>⚖️ License: Apache-2.0</li>
<li>🏷️ Latest Release: v4.3.3 (2024-08-23)</li>
</ul><br />
@@ -442,18 +487,18 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='15-gos'>15. gos</h3><br />
+<h3 style='display: inline' id='17-gos'>17. gos</h3><br />
<br />
<ul>
<li>💻 Languages: Go (99.8%), JSON (0.2%)</li>
<li>📚 Documentation: Markdown (100.0%)</li>
-<li>📊 Commits: 398</li>
+<li>📊 Commits: 399</li>
<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: 16.4 (combines code size and activity)</li>
+<li>🏆 Score: 15.4 (combines code size and activity)</li>
<li>⚖️ License: Custom License</li>
-<li>🏷️ Latest Re