diff options
| author | Paul Buetow <paul@buetow.org> | 2026-01-24 23:13:41 +0200 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2026-01-24 23:13:41 +0200 |
| commit | 5a1ad4520aac86c7371c8bee9488396122dfc79c (patch) | |
| tree | b64d16d5af164480271da83f8f1f6666e87b2469 /about/showcase.html | |
| parent | fc17cbab55fddac2f19efdccc2d37f5e5275e60d (diff) | |
Update content for html
Diffstat (limited to 'about/showcase.html')
| -rw-r--r-- | about/showcase.html | 628 |
1 files changed, 324 insertions, 304 deletions
diff --git a/about/showcase.html b/about/showcase.html index aacec2c3..c9b8c16a 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-08</span><br /> +<span>Generated on: 2026-01-24</span><br /> <br /> <span>This page showcases my side projects, providing an overview of what each project does, its technical implementation, and key metrics. Each project summary includes information about the programming languages used, development activity, and licensing. The projects are ranked by score, which combines project size and recent activity.</span><br /> <br /> @@ -24,26 +24,26 @@ <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-foozone'>2. foo.zone</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-gitsyncer'>7. gitsyncer</a></li> -<li>⇢ ⇢ <a href='#8-totalrecall'>8. totalrecall</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='#10-timr'>10. timr</a></li> -<li>⇢ ⇢ <a href='#11-tasksamurai'>11. tasksamurai</a></li> -<li>⇢ ⇢ <a href='#12-ior'>12. ior</a></li> -<li>⇢ ⇢ <a href='#13-dtail'>13. dtail</a></li> -<li>⇢ ⇢ <a href='#14-gos'>14. gos</a></li> -<li>⇢ ⇢ <a href='#15-ds-sim'>15. ds-sim</a></li> -<li>⇢ ⇢ <a href='#16-gemtexter'>16. gemtexter</a></li> -<li>⇢ ⇢ <a href='#17-wireguardmeshgenerator'>17. wireguardmeshgenerator</a></li> -<li>⇢ ⇢ <a href='#18-rcm'>18. rcm</a></li> -<li>⇢ ⇢ <a href='#19-gogios'>19. gogios</a></li> -<li>⇢ ⇢ <a href='#20-sillybench'>20. sillybench</a></li> -<li>⇢ ⇢ <a href='#21-terraform'>21. terraform</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> @@ -51,60 +51,61 @@ <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-photoalbum'>29. photoalbum</a></li> -<li>⇢ ⇢ <a href='#30-ioriot'>30. ioriot</a></li> -<li>⇢ ⇢ <a href='#31-sway-autorotate'>31. sway-autorotate</a></li> -<li>⇢ ⇢ <a href='#32-mon'>32. mon</a></li> -<li>⇢ ⇢ <a href='#33-staticfarm-apache-handlers'>33. staticfarm-apache-handlers</a></li> -<li>⇢ ⇢ <a href='#34-pingdomfetch'>34. pingdomfetch</a></li> -<li>⇢ ⇢ <a href='#35-ychat'>35. ychat</a></li> -<li>⇢ ⇢ <a href='#36-xerl'>36. xerl</a></li> -<li>⇢ ⇢ <a href='#37-perl-c-fibonacci'>37. perl-c-fibonacci</a></li> -<li>⇢ ⇢ <a href='#38-fapi'>38. fapi</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-vs-sim'>42. vs-sim</a></li> +<li>⇢ ⇢ <a href='#42-fype'>42. fype</a></li> <li>⇢ ⇢ <a href='#43-rubyfy'>43. rubyfy</a></li> -<li>⇢ ⇢ <a href='#44-fype'>44. fype</a></li> -<li>⇢ ⇢ <a href='#45-pwgrep'>45. pwgrep</a></li> -<li>⇢ ⇢ <a href='#46-perldaemon'>46. perldaemon</a></li> -<li>⇢ ⇢ <a href='#47-jsmstrade'>47. jsmstrade</a></li> -<li>⇢ ⇢ <a href='#48-japi'>48. japi</a></li> -<li>⇢ ⇢ <a href='#49-perl-poetry'>49. perl-poetry</a></li> -<li>⇢ ⇢ <a href='#50-muttdelay'>50. muttdelay</a></li> -<li>⇢ ⇢ <a href='#51-netdiff'>51. netdiff</a></li> -<li>⇢ ⇢ <a href='#52-debroid'>52. debroid</a></li> -<li>⇢ ⇢ <a href='#53-hsbot'>53. hsbot</a></li> -<li>⇢ ⇢ <a href='#54-cpuinfo'>54. cpuinfo</a></li> -<li>⇢ ⇢ <a href='#55-template'>55. template</a></li> -<li>⇢ ⇢ <a href='#56-ipv6test'>56. ipv6test</a></li> -<li>⇢ ⇢ <a href='#57-awksite'>57. awksite</a></li> -<li>⇢ ⇢ <a href='#58-dyndns'>58. dyndns</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> </ul><br /> <h2 style='display: inline' id='overall-statistics'>Overall Statistics</h2><br /> <br /> <ul> -<li>📦 Total Projects: 58</li> -<li>📊 Total Commits: 11,672</li> -<li>📈 Total Lines of Code: 314,725</li> -<li>📄 Total Lines of Documentation: 32,713</li> -<li>💻 Languages: Go (28.6%), Java (18.0%), C++ (11.8%), C/C++ (6.6%), C (6.1%), XML (5.6%), Perl (5.6%), Shell (5.2%), HTML (4.6%), YAML (1.9%), Config (1.4%), Ruby (0.9%), HCL (0.9%), Python (0.7%), Make (0.6%), CSS (0.4%), JSON (0.4%), Raku (0.3%), Haskell (0.2%)</li> -<li>📚 Documentation: Markdown (55.8%), Text (33.7%), LaTeX (10.5%)</li> -<li>🚀 Release Status: 38 released, 20 experimental (65.5% with releases, 34.5% experimental)</li> +<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> </ul><br /> <h2 style='display: inline' id='projects'>Projects</h2><br /> <br /> <h3 style='display: inline' id='1-conf'>1. conf</h3><br /> <br /> <ul> -<li>💻 Languages: YAML (51.5%), Perl (17.4%), Shell (14.0%), Python (3.9%), Config (3.1%), CSS (3.0%), TOML (2.7%), Ruby (2.3%), Docker (0.8%), Lua (0.6%), JSON (0.3%), HTML (0.2%)</li> -<li>📚 Documentation: Markdown (94.8%), Text (5.2%)</li> -<li>📊 Commits: 1148</li> -<li>📈 Lines of Code: 10970</li> -<li>📄 Lines of Documentation: 3649</li> -<li>📅 Development Period: 2021-12-28 to 2026-01-08</li> -<li>🏆 Score: 707.8 (combines code size and activity)</li> +<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>⚖️ License: No license found</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -118,24 +119,26 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='2-foozone'>2. foo.zone</h3><br /> +<h3 style='display: inline' id='2-log4jbench'>2. log4jbench</h3><br /> <br /> <ul> -<li>💻 Languages: XML (98.5%), Shell (1.1%), Go (0.4%)</li> -<li>📚 Documentation: Text (86.7%), Markdown (13.3%)</li> -<li>📊 Commits: 3376</li> -<li>📈 Lines of Code: 17290</li> -<li>📄 Lines of Documentation: 173</li> -<li>📅 Development Period: 2021-04-29 to 2026-01-08</li> -<li>🏆 Score: 448.1 (combines code size and activity)</li> -<li>⚖️ License: No license found</li> +<li>💻 Languages: Java (78.9%), XML (21.1%)</li> +<li>📚 Documentation: Markdown (100.0%)</li> +<li>📊 Commits: 4</li> +<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>⚖️ License: MIT</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> <br /> -<span>foo.zone: source code repository.</span><br /> +<span>This is a Java-based benchmarking tool for measuring Log4j2 logging throughput under different configurations. It allows developers to compare synchronous vs. asynchronous logging strategies by testing five built-in configurations: immediate-flush sync, buffered sync, and async loggers with varying LMAX Disruptor ring buffer sizes (1K/4K/10K). The tool supports configurable thread counts, duration or event-count based testing, custom message sizes, and CSV export for analysis.</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 /> +<span>The implementation uses a fat JAR built with Maven, requiring Java 17+. It's designed for realistic benchmarking—including warmup periods and optional Linux filesystem cache dropping between tests. This helps developers make informed decisions about Log4j2 configuration tradeoffs between latency (immediate flush), throughput (buffered/async), and memory usage (ring buffer sizing) for their specific workloads.</span><br /> +<br /> +<a class='textlink' href='https://codeberg.org/snonux/log4jbench'>View on Codeberg</a><br /> +<a class='textlink' href='https://github.com/snonux/log4jbench'>View on GitHub</a><br /> <br /> <span>---</span><br /> <br /> @@ -148,7 +151,7 @@ <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: 393.4 (combines code size and activity)</li> +<li>🏆 Score: 144.0 (combines code size and activity)</li> <li>⚖️ License: No license found</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -173,7 +176,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: 59.2 (combines code size and activity)</li> +<li>🏆 Score: 43.8 (combines code size and activity)</li> <li>⚖️ License: No license found</li> <li>🏷️ Latest Release: v0.1.0 (2025-11-25)</li> </ul><br /> @@ -196,7 +199,7 @@ <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: 41.9 (combines code size and activity)</li> +<li>🏆 Score: 36.5 (combines code size and activity)</li> <li>⚖️ License: No license found</li> <li>🏷️ Latest Release: v0.15.3 (2025-11-03)</li> </ul><br /> @@ -221,7 +224,7 @@ <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: 37.5 (combines code size and activity)</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> </ul><br /> @@ -237,16 +240,43 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='7-gitsyncer'>7. gitsyncer</h3><br /> +<h3 style='display: inline' id='7-totalrecall'>7. totalrecall</h3><br /> +<br /> +<ul> +<li>💻 Languages: Go (99.0%), Shell (0.5%), YAML (0.4%)</li> +<li>📚 Documentation: Markdown (99.5%), Text (0.5%)</li> +<li>📊 Commits: 101</li> +<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>⚖️ License: MIT</li> +<li>🏷️ Latest Release: v0.8.0 (2026-01-21)</li> +</ul><br /> +<br /> +<a href='showcase/totalrecall/image-1.png'><img alt='totalrecall screenshot' title='totalrecall screenshot' src='showcase/totalrecall/image-1.png' /></a><br /> +<br /> +<span>TotalRecall is a Go-based tool that generates comprehensive Anki flashcard materials for Bulgarian language learning. It creates high-quality audio pronunciations using OpenAI TTS (with 11 voice options), AI-generated contextual images via DALL-E, IPA phonetic transcriptions, and automatic Bulgarian-English translations. The tool supports both single-word and batch processing, making it efficient for building large vocabulary decks. It outputs Anki-compatible packages (APKG) with all media files bundled, ready for immediate import.</span><br /> +<br /> +<a href='showcase/totalrecall/image-2.png'><img alt='totalrecall screenshot' title='totalrecall screenshot' src='showcase/totalrecall/image-2.png' /></a><br /> +<br /> +<span>The project offers both a keyboard-driven GUI for interactive use and a CLI for automation, built with Go using the Cobra framework for command handling. It leverages OpenAI's APIs for both audio synthesis and image generation, creating memorable visual contexts with random art styles to enhance retention. The architecture follows clean Go package structure with separate internal packages for audio, image, config, and Anki format generation, making it maintainable and extensible for future enhancements.</span><br /> +<br /> +<a class='textlink' href='https://codeberg.org/snonux/totalrecall'>View on Codeberg</a><br /> +<a class='textlink' href='https://github.com/snonux/totalrecall'>View on GitHub</a><br /> +<br /> +<span>---</span><br /> +<br /> +<h3 style='display: inline' id='8-gitsyncer'>8. gitsyncer</h3><br /> <br /> <ul> <li>💻 Languages: Go (92.2%), Shell (7.4%), JSON (0.4%)</li> <li>📚 Documentation: Markdown (100.0%)</li> -<li>📊 Commits: 114</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: 25.8 (combines code size and activity)</li> +<li>🏆 Score: 23.4 (combines code size and activity)</li> <li>⚖️ License: BSD-2-Clause</li> <li>🏷️ Latest Release: v0.11.0 (2025-12-31)</li> </ul><br /> @@ -260,33 +290,6 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='8-totalrecall'>8. totalrecall</h3><br /> -<br /> -<ul> -<li>💻 Languages: Go (98.9%), Shell (0.5%), YAML (0.5%)</li> -<li>📚 Documentation: Markdown (100.0%)</li> -<li>📊 Commits: 88</li> -<li>📈 Lines of Code: 12003</li> -<li>📄 Lines of Documentation: 361</li> -<li>📅 Development Period: 2025-07-14 to 2025-08-02</li> -<li>🏆 Score: 23.8 (combines code size and activity)</li> -<li>⚖️ License: MIT</li> -<li>🏷️ Latest Release: v0.7.5 (2025-08-02)</li> -</ul><br /> -<br /> -<a href='showcase/totalrecall/image-1.png'><img alt='totalrecall screenshot' title='totalrecall screenshot' src='showcase/totalrecall/image-1.png' /></a><br /> -<br /> -<span>TotalRecall is a Go-based tool that generates comprehensive Anki flashcard materials for Bulgarian language learning. It creates high-quality audio pronunciations using OpenAI TTS (with 11 voice options), AI-generated contextual images via DALL-E, IPA phonetic transcriptions, and automatic Bulgarian-English translations. The tool supports both single-word and batch processing, making it efficient for building large vocabulary decks. It outputs Anki-compatible packages (APKG) with all media files bundled, ready for immediate import.</span><br /> -<br /> -<a href='showcase/totalrecall/image-2.png'><img alt='totalrecall screenshot' title='totalrecall screenshot' src='showcase/totalrecall/image-2.png' /></a><br /> -<br /> -<span>The project offers both a keyboard-driven GUI for interactive use and a CLI for automation, built with Go using the Cobra framework for command handling. It leverages OpenAI's APIs for both audio synthesis and image generation, creating memorable visual contexts with random art styles to enhance retention. The architecture follows clean Go package structure with separate internal packages for audio, image, config, and Anki format generation, making it maintainable and extensible for future enhancements.</span><br /> -<br /> -<a class='textlink' href='https://codeberg.org/snonux/totalrecall'>View on Codeberg</a><br /> -<a class='textlink' href='https://github.com/snonux/totalrecall'>View on GitHub</a><br /> -<br /> -<span>---</span><br /> -<br /> <h3 style='display: inline' id='9-foostats'>9. foostats</h3><br /> <br /> <ul> @@ -296,7 +299,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: 23.3 (combines code size and activity)</li> +<li>🏆 Score: 21.0 (combines code size and activity)</li> <li>⚖️ License: Custom License</li> <li>🏷️ Latest Release: v0.2.0 (2025-10-21)</li> </ul><br /> @@ -310,7 +313,32 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='10-timr'>10. timr</h3><br /> +<h3 style='display: inline' id='10-gogios'>10. gogios</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>🏆 Score: 19.1 (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-timr'>11. timr</h3><br /> <br /> <ul> <li>💻 Languages: Go (96.0%), Shell (4.0%)</li> @@ -319,7 +347,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: 20.7 (combines code size and activity)</li> +<li>🏆 Score: 18.7 (combines code size and activity)</li> <li>⚖️ License: MIT</li> <li>🏷️ Latest Release: v0.3.0 (2026-01-02)</li> </ul><br /> @@ -333,7 +361,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='11-tasksamurai'>11. tasksamurai</h3><br /> +<h3 style='display: inline' id='12-tasksamurai'>12. tasksamurai</h3><br /> <br /> <ul> <li>💻 Languages: Go (99.8%), YAML (0.2%)</li> @@ -342,7 +370,7 @@ <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: 19.8 (combines code size and activity)</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 /> @@ -360,7 +388,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='12-ior'>12. ior</h3><br /> +<h3 style='display: inline' id='13-ior'>13. ior</h3><br /> <br /> <ul> <li>💻 Languages: Go (50.4%), C (43.1%), Raku (4.5%), Make (1.1%), C/C++ (1.0%)</li> @@ -369,7 +397,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: 19.6 (combines code size and activity)</li> +<li>🏆 Score: 18.3 (combines code size and activity)</li> <li>⚖️ License: No license found</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -387,16 +415,16 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='13-dtail'>13. dtail</h3><br /> +<h3 style='display: inline' id='14-dtail'>14. 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: 1046</li> +<li>📊 Commits: 1050</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: 18.2 (combines code size and activity)</li> +<li>🏆 Score: 17.0 (combines code size and activity)</li> <li>⚖️ License: Apache-2.0</li> <li>🏷️ Latest Release: v4.3.3 (2024-08-23)</li> </ul><br /> @@ -414,7 +442,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='14-gos'>14. gos</h3><br /> +<h3 style='display: inline' id='15-gos'>15. gos</h3><br /> <br /> <ul> <li>💻 Languages: Go (99.8%), JSON (0.2%)</li> @@ -423,7 +451,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: 17.7 (combines code size and activity)</li> +<li>🏆 Score: 16.4 (combines code size and activity)</li> <li>⚖️ License: Custom License</li> <li>🏷️ Latest Release: v1.2.2 (2025-12-27)</li> </ul><br /> @@ -441,7 +469,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='15-ds-sim'>15. ds-sim</h3><br /> +<h3 style='display: inline' id='16-ds-sim'>16. ds-sim</h3><br /> <br /> <ul> <li>💻 Languages: Java (98.9%), Shell (0.6%), CSS (0.5%)</li> @@ -450,7 +478,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: 16.4 (combines code size and activity)</li> +<li>🏆 Score: 15.5 (combines code size and activity)</li> <li>⚖️ License: Custom License</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -466,15 +494,15 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='16-gemtexter'>16. gemtexter</h3><br /> +<h3 style='display: inline' id='17-gemtexter'>17. 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>💻 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: 2288</li> -<li>📄 Lines of Documentation: 1180</li> -<li>📅 Development Period: 2021-05-21 to 2025-12-31</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: 11.1 (combines code size and activity)</li> <li>⚖️ License: GPL-3.0</li> <li>🏷️ Latest Release: 3.0.0 (2024-10-01)</li> @@ -489,16 +517,16 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='17-wireguardmeshgenerator'>17. wireguardmeshgenerator</h3><br /> +<h3 style='display: inline' id='18-wireguardmeshgenerator'>18. wireguardmeshgenerator</h3><br /> <br /> <ul> -<li>💻 Languages: Ruby (73.5%), YAML (26.5%)</li> +<li>💻 Languages: Ruby (65.4%), YAML (34.6%)</li> <li>📚 Documentation: Markdown (100.0%)</li> -<li>📊 Commits: 33</li> -<li>📈 Lines of Code: 396</li> +<li>📊 Commits: 36</li> +<li>📈 Lines of Code: 563</li> <li>📄 Lines of Documentation: 24</li> -<li>📅 Development Period: 2025-04-18 to 2025-05-11</li> -<li>🏆 Score: 10.2 (combines code size and activity)</li> +<li>📅 Development Period: 2025-04-18 to 2026-01-20</li> +<li>🏆 Score: 11.0 (combines code size and activity)</li> <li>⚖️ License: Custom License</li> <li>🏷️ Latest Release: v1.0.0 (2025-05-11)</li> </ul><br /> @@ -512,7 +540,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='18-rcm'>18. rcm</h3><br /> +<h3 style='display: inline' id='19-rcm'>19. rcm</h3><br /> <br /> <ul> <li>💻 Languages: Ruby (99.8%), TOML (0.2%)</li> @@ -521,7 +549,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.9 (combines code size and activity)</li> +<li>🏆 Score: 9.5 (combines code size and activity)</li> <li>⚖️ License: Custom License</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -535,32 +563,30 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='19-gogios'>19. gogios</h3><br /> +<h3 style='display: inline' id='20-terraform'>20. terraform</h3><br /> <br /> <ul> -<li>💻 Languages: Go (98.0%), JSON (1.2%), YAML (0.9%)</li> +<li>💻 Languages: HCL (96.6%), Make (1.9%), YAML (1.5%)</li> <li>📚 Documentation: Markdown (100.0%)</li> -<li>📊 Commits: 85</li> -<li>📈 Lines of Code: 2063</li> -<li>📄 Lines of Documentation: 211</li> -<li>📅 Development Period: 2023-04-17 to 2026-01-06</li> -<li>🏆 Score: 6.3 (combines code size and activity)</li> -<li>⚖️ License: Custom License</li> -<li>🏷️ Latest Release: v1.3.0 (2026-01-06)</li> +<li>📊 Commits: 125</li> +<li>📈 Lines of Code: 2851</li> +<li>📄 Lines of Documentation: 52</li> +<li>📅 Development Period: 2023-08-27 to 2025-08-08</li> +<li>🏆 Score: 5.1 (combines code size and activity)</li> +<li>⚖️ License: MIT</li> +<li>🧪 Status: Experimental (no releases yet)</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 /> +<span>This is a **Terraform-based AWS infrastructure project** that automates the deployment of a multi-service, self-hosted application platform. It orchestrates containerized services (Nextcloud, Vaultwarden, Wallabag, Anki Sync Server, Audiobookshelf) on AWS ECS/Fargate with shared persistent storage via EFS, load balancing, and proper network isolation. The setup includes automated TLS certificate management, DNS configuration, and a bastion host for administrative access.</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 /> +<span>The infrastructure uses a **modular, layered architecture** with separate Terraform modules for foundational resources (<span class='inlinecode'>org-buetow-base</span> for VPC/networking), compute layers (<span class='inlinecode'>org-buetow-ecs</span>, <span class='inlinecode'>org-buetow-eks</span>), load balancing (<span class='inlinecode'>org-buetow-elb</span>), storage (<span class='inlinecode'>s3-*</span>), and management (<span class='inlinecode'>org-buetow-bastion</span>). This approach allows incremental deployment and clear separation of concerns, making it useful for anyone wanting to host multiple personal/team services on AWS with infrastructure-as-code practices while maintaining security, scalability, and automated backups.</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 /> +<a class='textlink' href='https://codeberg.org/snonux/terraform'>View on Codeberg</a><br /> +<a class='textlink' href='https://github.com/snonux/terraform'>View on GitHub</a><br /> <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='20-sillybench'>20. sillybench</h3><br /> +<h3 style='display: inline' id='21-sillybench'>21. sillybench</h3><br /> <br /> <ul> <li>💻 Languages: Go (90.9%), Shell (9.1%)</li> @@ -569,7 +595,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: 5.4 (combines code size and activity)</li> +<li>🏆 Score: 5.1 (combines code size and activity)</li> <li>⚖️ License: No license found</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -583,29 +609,6 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='21-terraform'>21. terraform</h3><br /> -<br /> -<ul> -<li>💻 Languages: HCL (96.6%), Make (1.9%), YAML (1.5%)</li> -<li>📚 Documentation: Markdown (100.0%)</li> -<li>📊 Commits: 125</li> -<li>📈 Lines of Code: 2851</li> -<li>📄 Lines of Documentation: 52</li> -<li>📅 Development Period: 2023-08-27 to 2025-08-08</li> -<li>🏆 Score: 5.2 (combines code size and activity)</li> -<li>⚖️ License: MIT</li> -<li>🧪 Status: Experimental (no releases yet)</li> -</ul><br /> -<br /> -<span>This is a **Terraform-based AWS infrastructure project** that automates the deployment of a multi-service, self-hosted application platform. It orchestrates containerized services (Nextcloud, Vaultwarden, Wallabag, Anki Sync Server, Audiobookshelf) on AWS ECS/Fargate with shared persistent storage via EFS, load balancing, and proper network isolation. The setup includes automated TLS certificate management, DNS configuration, and a bastion host for administrative access.</span><br /> -<br /> -<span>The infrastructure uses a **modular, layered architecture** with separate Terraform modules for foundational resources (<span class='inlinecode'>org-buetow-base</span> for VPC/networking), compute layers (<span class='inlinecode'>org-buetow-ecs</span>, <span class='inlinecode'>org-buetow-eks</span>), load balancing (<span class='inlinecode'>org-buetow-elb</span>), storage (<span class='inlinecode'>s3-*</span>), and management (<span class='inlinecode'>org-buetow-bastion</span>). This approach allows incremental deployment and clear separation of concerns, making it useful for anyone wanting to host multiple personal/team services on AWS with infrastructure-as-code practices while maintaining security, scalability, and automated backups.</span><br /> -<br /> -<a class='textlink' href='https://codeberg.org/snonux/terraform'>View on Codeberg</a><br /> -<a class='textlink' href='https://github.com/snonux/terraform'>View on GitHub</a><br /> -<br /> -<span>---</span><br /> -<br /> <h3 style='display: inline' id='22-quicklogger'>22. quicklogger</h3><br /> <br /> <ul> @@ -615,7 +618,7 @@ <li>📈 Lines of Code: 1133</li> <li>📄 Lines of Documentation: 78</li> <li>📅 Development Period: 2024-01-20 to 2025-09-13</li> -<li>🏆 Score: 5.2 (combines code size and activity)</li> +<li>🏆 Score: 5.1 (combines code size and activity)</li> <li>⚖️ License: MIT</li> <li>🏷️ Latest Release: v0.0.4 (2025-09-13)</li> </ul><br /> @@ -642,7 +645,7 @@ <li>📈 Lines of Code: 1525</li> <li>📄 Lines of Documentation: 15</li> <li>📅 Development Period: 2023-04-17 to 2023-11-19</li> -<li>🏆 Score: 3.6 (combines code size and activity)</li> +<li>🏆 Score: 3.5 (combines code size and activity)</li> <li>⚖️ License: Custom License</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -666,7 +669,7 @@ <li>📈 Lines of Code: 312</li> <li>📄 Lines of Documentation: 416</li> <li>📅 Development Period: 2013-03-22 to 2025-05-18</li> -<li>🏆 Score: 2.7 (combines code size and activity)</li> +<li>🏆 Score: 2.6 (combines code size and activity)</li> <li>⚖️ License: No license found</li> <li>🏷️ Latest Release: v1.0.0 (2023-04-29)</li> </ul><br /> @@ -689,7 +692,7 @@ <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.6 (combines code size and activity)</li> +<li>🏆 Score: 2.5 (combines code size and activity)</li> <li>⚖️ License: No license found</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -774,31 +777,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='29-photoalbum'>29. photoalbum</h3><br /> -<br /> -<ul> -<li>💻 Languages: Shell (80.1%), Make (12.3%), Config (7.6%)</li> -<li>📚 Documentation: Markdown (100.0%)</li> -<li>📊 Commits: 153</li> -<li>📈 Lines of Code: 342</li> -<li>📄 Lines of Documentation: 39</li> -<li>📅 Development Period: 2011-11-19 to 2022-04-02</li> -<li>🏆 Score: 1.7 (combines code size and activity)</li> -<li>⚖️ License: No license found</li> -<li>🏷️ Latest Release: 0.5.0 (2022-02-21)</li> -</ul><br /> -<span>⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.</span><br /> -<br /> -<span>**photoalbum** is a minimal Bash-based static site generator specifically designed for creating web photo albums on Unix-like systems. It transforms a directory of photos into a pure HTML+CSS website without any JavaScript, making it lightweight, fast, and accessible. The tool uses ImageMagick's <span class='inlinecode'>convert</span> utility for image processing and employs Bash-HTML template files that users can customize to match their preferences.</span><br /> -<br /> -<span>The architecture is straightforward and Unix-philosophy driven: users configure a source directory containing photos via an <span class='inlinecode'>photoalbumrc</span> configuration file, run the generation command, and receive a fully static <span class='inlinecode'>./dist</span> directory ready for deployment to any web server. This approach is useful for users who want a simple, dependency-light solution for sharing photo collections online without the overhead of dynamic web applications, databases, or JavaScript frameworks—just clean, static HTML that works everywhere.</span><br /> -<br /> -<a class='textlink' href='https://codeberg.org/snonux/photoalbum'>View on Codeberg</a><br /> -<a class='textlink' href='https://github.com/snonux/photoalbum'>View on GitHub</a><br /> -<br /> -<span>---</span><br /> -<br /> -<h3 style='display: inline' id='30-ioriot'>30. ioriot</h3><br /> +<h3 style='display: inline' id='29-ioriot'>29. ioriot</h3><br /> <br /> <ul> <li>💻 Languages: C (55.5%), C/C++ (24.0%), Config (19.6%), Make (1.0%)</li> @@ -807,7 +786,7 @@ <li>📈 Lines of Code: 12420</li> <li>📄 Lines of Documentation: 610</li> <li>📅 Development Period: 2018-03-01 to 2020-01-22</li> -<li>🏆 Score: 1.6 (combines code size and activity)</li> +<li>🏆 Score: 1.5 (combines code size and activity)</li> <li>⚖️ License: Apache-2.0</li> <li>🏷️ Latest Release: 0.5.1 (2019-01-04)</li> </ul><br /> @@ -824,7 +803,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='31-sway-autorotate'>31. sway-autorotate</h3><br /> +<h3 style='display: inline' id='30-sway-autorotate'>30. sway-autorotate</h3><br /> <br /> <ul> <li>💻 Languages: Shell (100.0%)</li> @@ -847,7 +826,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='32-mon'>32. mon</h3><br /> +<h3 style='display: inline' id='31-mon'>31. mon</h3><br /> <br /> <ul> <li>💻 Languages: Perl (96.5%), Shell (1.8%), Make (1.2%), Config (0.4%)</li> @@ -871,7 +850,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='33-staticfarm-apache-handlers'>33. staticfarm-apache-handlers</h3><br /> +<h3 style='display: inline' id='32-staticfarm-apache-handlers'>32. staticfarm-apache-handlers</h3><br /> <br /> <ul> <li>💻 Languages: Perl (96.4%), Make (3.6%)</li> @@ -895,7 +874,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='34-pingdomfetch'>34. pingdomfetch</h3><br /> +<h3 style='display: inline' id='33-pingdomfetch'>33. pingdomfetch</h3><br /> <br /> <ul> <li>💻 Languages: Perl (97.3%), Make (2.7%)</li> @@ -919,31 +898,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='35-ychat'>35. ychat</h3><br /> -<br /> -<ul> -<li>💻 Languages: C++ (54.9%), C/C++ (23.0%), Shell (13.8%), Perl (2.5%), HTML (2.5%), Config (2.3%), Make (0.8%), CSS (0.2%)</li> -<li>📚 Documentation: Text (100.0%)</li> -<li>📊 Commits: 67</li> -<li>📈 Lines of Code: 67884</li> -<li>📄 Lines of Documentation: 127</li> -<li>📅 Development Period: 2008-05-15 to 2014-06-30</li> -<li>🏆 Score: 0.9 (combines code size and activity)</li> -<li>⚖️ License: GPL-2.0</li> -<li>🏷️ Latest Release: yhttpd-0.7.2 (2013-04-06)</li> -</ul><br /> -<span>⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.</span><br /> -<br /> -<span>yChat is a high-performance, web-based chat server written in C++ that allows users to connect through standard web browsers without requiring special client software. It functions as a standalone HTTP server on a customizable port (default 2000), eliminating the need for Apache or other web servers, and uses only HTML, CSS, and JavaScript on the client side. The project was developed under the GNU GPL and designed for portability across POSIX-compliant systems including Linux, FreeBSD, and other UNIX variants.</span><br /> -<br /> -<span>The architecture emphasizes speed and scalability through several key design choices: multi-threaded POSIX implementation with thread pooling to efficiently handle concurrent users, hash maps for O(1) data lookups, and a smart garbage collection system that caches inactive user and room objects for quick reuse. It features MySQL database support for registered users, a modular plugin system through dynamically loadable modules, HTML template-based customization, XML configuration, and an ncurses-based administration interface with CLI support. The codebase can also be converted to yhttpd, a standalone web server subset. Performance benchmarks show it handling over 1000 requests/second while using minimal CPU resources, with the system supporting comprehensive logging, multi-language support, and Apache-compatible log formats.</span><br /> -<br /> -<a class='textlink' href='https://codeberg.org/snonux/ychat'>View on Codeberg</a><br /> -<a class='textlink' href='https://github.com/snonux/ychat'>View on GitHub</a><br /> -<br /> -<span>---</span><br /> -<br /> -<h3 style='display: inline' id='36-xerl'>36. xerl</h3><br /> +<h3 style='display: inline' id='34-xerl'>34. xerl</h3><br /> <br /> <ul> <li>💻 Languages: Perl (98.3%), Config (1.2%), Make (0.5%)</li> @@ -965,49 +920,96 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='37-perl-c-fibonacci'>37. perl-c-fibonacci</h3><br /> +<h3 style='display: inline' id='35-fapi'>35. fapi</h3><br /> <br /> <ul> -<li>💻 Languages: C (80.4%), Make (19.6%)</li> +<li>💻 Languages: Python (96.6%), Make (3.1%), Config (0.3%)</li> +<li>📚 Documentation: Text (98.3%), Markdown (1.7%)</li> +<li>📊 Commits: 221</li> +<li>📈 Lines of Code: 1681</li> +<li>📄 Lines of Documentation: 539</li> +<li>📅 Development Period: 2014-03-10 to 2026-01-10</li> +<li>🏆 Score: 0.8 (combines code size and activity)</li> +<li>⚖️ License: No license found</li> +<li>🏷️ Latest Release: 1.0.2 (2014-11-17)</li> +</ul><br /> +<br /> +<span>fapi is a command-line tool for managing F5 BigIP load balancers through the iControl API. It provides a simple, human-friendly interface for common load balancer operations including managing nodes, pools, virtual servers, monitors, and network components like VLANs and self IPs. The tool supports various deployment patterns including nPath services, NAT/SNAT configurations, and SSL offloading, while offering intelligent features like automatic FQDN-to-IP resolution and flexible naming conventions.</span><br /> +<br /> +<span>The tool is implemented in Python and depends on the bigsuds library (F5's iControl wrapper) to communicate with the F5 API. It's designed as a lightweight alternative to the web GUI or raw API calls, with a straightforward command syntax (e.g., <span class='inlinecode'>fapi pool foopool create</span>, <span class='inlinecode'>fapi vserver example.com:80 set pool foopool</span>) that makes common tasks quick and scriptable. The project is open source and hosted on Codeberg, originally developed as a personal project for Debian-based systems.</span><br /> +<br /> +<a class='textlink' href='https://codeberg.org/snonux/fapi'>View on Codeberg</a><br /> +<a class='textlink' href='https://github.com/snonux/fapi'>View on GitHub</a><br /> +<br /> +<span>---</span><br /> +<br /> +<h3 style='display: inline' id='36-photoalbum'>36. photoalbum</h3><br /> +<br /> +<ul> +<li>💻 Languages: Shell (78.1%), Make (13.5%), Config (8.4%)</li> <li>📚 Documentation: Text (100.0%)</li> -<li>📊 Commits: 4</li> -<li>📈 Lines of Code: 51</li> -<li>📄 Lines of Documentation: 69</li> -<li>📅 Development Period: 2014-03-24 to 2022-04-23</li> +<li>📊 Commits: 153</li> +<li>📈 Lines of Code: 311</li> +<li>📄 Lines of Documentation: 45</li> +<li>📅 Development Period: 2011-11-19 to 2022-02-20</li> <li>🏆 Score: 0.8 (combines code size and activity)</li> <li>⚖️ License: No license found</li> -<li>🧪 Status: Experimental (no releases yet)</li> +<li>🏷️ Latest Release: 0.5.0 (2022-02-21)</li> </ul><br /> <span>⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.</span><br /> <br /> -<span>perl-c-fibonacci: source code repository.</span><br /> +<span>**photoalbum** is a minimal Bash-based static site generator specifically designed for creating web photo albums on Unix-like systems. It transforms a directory of photos into a pure HTML+CSS website without any JavaScript, making it lightweight, fast, and accessible. The tool uses ImageMagick's <span class='inlinecode'>convert</span> utility for image processing and employs Bash-HTML template files that users can customize to match their preferences.</span><br /> <br /> -<a class='textlink' href='https://codeberg.org/snonux/perl-c-fibonacci'>View on Codeberg</a><br /> -<a class='textlink' href='https://github.com/snonux/perl-c-fibonacci'>View on GitHub</a><br /> +<span>The architecture is straightforward and Unix-philosophy driven: users configure a source directory containing photos via an <span class='inlinecode'>photoalbumrc</span> configuration file, run the generation command, and receive a fully static <span class='inlinecode'>./dist</span> directory ready for deployment to any web server. This approach is useful for users who want a simple, dependency-light solution for sharing photo collections online without the overhead of dynamic web applications, databases, or JavaScript frameworks—just clean, static HTML that works everywhere.</span><br /> +<br /> +<a class='textlink' href='https://codeberg.org/snonux/photoalbum'>View on Codeberg</a><br /> +<a class='textlink' href='https://github.com/snonux/photoalbum'>View on GitHub</a><br /> <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='38-fapi'>38. fapi</h3><br /> +<h3 style='display: inline' id='37-ychat'>37. ychat</h3><br /> <br /> <ul> -<li>💻 Languages: Python (96.6%), Make (3.1%), Config (0.3%)</li> -<li>📚 Documentation: Text (98.3%), Markdown (1.7%)</li> -<li>📊 Commits: 219</li> -<li>📈 Lines of Code: 1681</li> -<li>📄 Lines of Documentation: 539</li> -<li>📅 Development Period: 2014-03-10 to 2021-11-03</li> +<li>💻 Languages: C++ (48.9%), Shell (22.7%), C/C++ (20.7%), Perl (2.5%), HTML (2.1%), Config (1.9%), Make (0.9%), CSS (0.2%)</li> +<li>📚 Documentation: Text (100.0%)</li> +<li>📊 Commits: 67</li> +<li>📈 Lines of Code: 45956</li> +<li>📄 Lines of Documentation: 101</li> +<li>📅 Development Period: 2008-05-15 to 2014-06-30</li> <li>🏆 Score: 0.8 (combines code size and activity)</li> -<li>⚖️ License: No license found</li> -<li>🏷️ Latest Release: 1.0.2 (2014-11-17)</li> +<li>⚖️ License: GPL-2.0</li> +<li>🏷️ Latest Release: yhttpd-0.7.2 (2013-04-06)</li> </ul><br /> <span>⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.</span><br /> <br /> -<span>fapi is a command-line tool for managing F5 BigIP load balancers through the iControl API. It provides a simple, human-friendly interface for common load balancer operations including managing nodes, pools, virtual servers, monitors, and network components like VLANs and self IPs. The tool supports various deployment patterns including nPath services, NAT/SNAT configurations, and SSL offloading, while offering intelligent features like automatic FQDN-to-IP resolution and flexible naming conventions.</span><br /> +<span>yChat is a high-performance, web-based chat server written in C++ that allows users to connect through standard web browsers without requiring special client software. It functions as a standalone HTTP server on a customizable port (default 2000), eliminating the need for Apache or other web servers, and uses only HTML, CSS, and JavaScript on the client side. The project was developed under the GNU GPL and designed for portability across POSIX-compliant systems including Linux, FreeBSD, and other UNIX variants.</span><br /> <br /> -<span>The tool is implemented in Python and depends on the bigsuds library (F5's iControl wrapper) to communicate with the F5 API. It's designed as a lightweight alternative to the web GUI or raw API calls, with a straightforward command syntax (e.g., <span class='inlinecode'>fapi pool foopool create</span>, <span class='inlinecode'>fapi vserver example.com:80 set pool foopool</span>) that makes common tasks quick and scriptable. The project is open source and hosted on Codeberg, originally developed as a personal project for Debian-based systems.</span><br /> +<span>The architecture emphasizes speed and scalability through several key design choices: multi-threaded POSIX implementation with thread pooling to efficiently handle concurrent users, hash maps for O(1) data lookups, and a smart garbage collection system that caches inactive user and room objects for quick reuse. It features MySQL database support for registered users, a modular plugin system through dynamically loadable modules, HTML template-based customization, XML configuration, and an ncurses-based administration interface with CLI support. The codebase can also be converted to yhttpd, a standalone web server subset. Performance benchmarks show it handling over 1000 requests/second while using minimal CPU resources, with the system supporting comprehensive logging, multi-language support, and Apache-compatible log formats.</span><br /> <br /> -<a class='textlink' href='https://codeberg.org/snonux/fapi'>View on Codeberg</a><br /> -<a class='textlink' href='https://github.com/snonux/fapi'>View on GitHub</a><br /> +<a class='textlink' href='https://codeberg.org/snonux/ychat'>View on Codeberg</a><br /> +<a class='textlink' href='https://github.com/snonux/ychat'>View on GitHub</a><br /> +<br /> +<span>---</span><br /> +<br /> +<h3 style='display: inline' id='38-perl-c-fibonacci'>38. perl-c-fibonacci</h3><br /> +<br /> +<ul> +<li>💻 Languages: C (80.4%), Make (19.6%)</li> +<li>📚 Documentation: Text (100.0%)</li> +<li>📊 Commits: 4</li> +<li>📈 Lines of Code: 51</li> +<li>📄 Lines of Documentation: 69</li> +<li>📅 Development Period: 2014-03-24 to 2022-04-23</li> +<li>🏆 Score: 0.8 (combines code size and activity)</li> +<li>⚖️ License: No license found</li> +<li>🧪 Status: Experimental (no releases yet)</li> +</ul><br /> +<span>⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.</span><br /> +<br /> +<span>perl-c-fibonacci: source code repository.</span><br /> +<br /> +<a class='textlink' href='https://codeberg.org/snonux/perl-c-fibonacci'>View on Codeberg</a><br /> +<a class='textlink' href='https://github.com/snonux/perl-c-fibonacci'>View on GitHub</a><br /> <br /> <span>---</span><br /> <br /> @@ -1085,29 +1087,27 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='42-vs-sim'>42. vs-sim</h3><br /> +<h3 style='display: inline' id='42-fype'>42. fype</h3><br /> <br /> <ul> -<li>💻 Languages: Java (98.8%), Shell (0.7%), XML (0.4%)</li> -<li>📚 Documentation: LaTeX (98.4%), Text (1.4%), Markdown (0.2%)</li> -<li>📊 Commits: 411</li> -<li>📈 Lines of Code: 16303</li> -<li>📄 Lines of Documentation: 2903</li> -<li>📅 Development Period: 2008-05-15 to 2021-05-01</li> +<li>💻 Languages: C (71.1%), C/C++ (20.7%), HTML (6.6%), Make (1.5%)</li> +<li>📚 Documentation: Text (69.5%), LaTeX (30.5%)</li> +<li>📊 Commits: 99</li> +<li>📈 Lines of Code: 8952</li> +<li>📄 Lines of Documentation: 1867</li> +<li>📅 Development Period: 2008-05-15 to 2021-11-03</li> <li>🏆 Score: 0.7 (combines code size and activity)</li> <li>⚖️ License: Custom License</li> -<li>🏷️ Latest Release: v1.0 (2008-08-24)</li> +<li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> <span>⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.</span><br /> <br /> -<a href='showcase/vs-sim/image-1.jpg'><img alt='vs-sim screenshot' title='vs-sim screenshot' src='showcase/vs-sim/image-1.jpg' /></a><br /> -<br /> -<span>VS-Sim is a Java-based open source simulator for distributed systems, designed to help students and researchers visualize and understand distributed computing concepts. Based on the roadmap, it appears to support simulating various distributed systems protocols including Lamport and vector clocks for logical time management, and potentially distributed file systems like NFS and AFS. The simulator features event-based simulation, logging capabilities, and a plugin architecture.</span><br /> +<span>Fype is a 32-bit scripting language designed as a fun, AWK-inspired alternative with a simpler syntax. It supports variables with automatic type conversion, functions, loops, control structures, and built-in operations for math, I/O, and system calls. A notable feature is its support for "synonyms" (references/aliases to variables and functions), along with both procedures (using the caller's namespace) and functions (with lexical scoping). The language uses a straightforward syntax with single-character comments (#) and statement-based execution terminated by semicolons.</span><br /> <br /> -<span>The project appears to be currently inactive, with the repository containing minimal source code at present. It was originally developed as part of academic work (referenced as "diplomarbeit.pdf" in the roadmap), likely for teaching distributed systems concepts through interactive simulation and protocol visualization.</span><br /> +<span>The implementation uses a simple top-down parser with maximum lookahead of 1, interpreting code simultaneously as it parses, which means syntax errors are only caught at runtime. Written in C and compiled with GCC, it's designed for BSD systems (tested on FreeBSD 7.0) and uses NetBSD Make for building. The project is still unreleased and incomplete, but aims to eventually match AWK's capabilities while potentially adding modern features like function pointers and closures, though explicitly avoiding complexity like OOP, Unicode, or threading.</span><br /> <br /> -<a class='textlink' href='https://codeberg.org/snonux/vs-sim'>View on Codeberg</a><br /> -<a class='textlink' href='https://github.com/snonux/vs-sim'>View on GitHub</a><br /> +<a class='textlink' href='https://codeberg.org/snonux/fype'>View on Codeberg</a><br /> +<a class='textlink' href='https://github.com/snonux/fype'>View on GitHub</a><br /> <br /> <span>---</span><br /> <br /> @@ -1135,31 +1135,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='44-fype'>44. fype</h3><br /> -<br /> -<ul> -<li>💻 Languages: C (71.3%), C/C++ (20.6%), HTML (6.6%), Make (1.5%)</li> -<li>📚 Documentation: Text (60.2%), LaTeX (39.8%)</li> -<li>📊 Commits: 99</li> -<li>📈 Lines of Code: 8906</li> -<li>📄 Lines of Documentation: 1431</li> -<li>📅 Development Period: 2008-05-15 to 2021-04-29</li> -<li>🏆 Score: 0.7 (combines code size and activity)</li> -<li>⚖️ License: Custom License</li> -<li>🧪 Status: Experimental (no releases yet)</li> -</ul><br /> -<span>⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.</span><br /> -<br /> -<span>Fype is a 32-bit scripting language designed as a fun, AWK-inspired alternative with a simpler syntax. It supports variables with automatic type conversion, functions, loops, control structures, and built-in operations for math, I/O, and system calls. A notable feature is its support for "synonyms" (references/aliases to variables and functions), along with both procedures (using the caller's namespace) and functions (with lexical scoping). The language uses a straightforward syntax with single-character comments (#) and statement-based execution terminated by semicolons.</span><br /> -<br /> -<span>The implementation uses a simple top-down parser with maximum lookahead of 1, interpreting code simultaneously as it parses, which means syntax errors are only caught at runtime. Written in C and compiled with GCC, it's designed for BSD systems (tested on FreeBSD 7.0) and uses NetBSD Make for building. The project is still unreleased and incomplete, but aims to eventually match AWK's capabilities while potentially adding modern features like function pointers and closures, though explicitly avoiding complexity like OOP, Unicode, or threading.</span><br /> -<br /> -<a class='textlink' href='https://codeberg.org/snonux/fype'>View on Codeberg</a><br /> -<a class='textlink' href='https://github.com/snonux/fype'>View on GitHub</a><br /> -<br /> -<span>---</span><br /> -<br /> -<h3 style='display: inline' id='45-pwgrep'>45. pwgrep</h3><br /> +<h3 style='display: inline' id='44-pwgrep'>44. pwgrep</h3><br /> <br /> <ul> <li>💻 Languages: Shell (85.0%), Make (15.0%)</li> @@ -1183,7 +1159,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='46-perldaemon'>46. perldaemon</h3><br /> +<h3 style='display: inline' id='45-perldaemon'>45. perldaemon</h3><br /> <br /> <ul> <li>💻 Languages: Perl (72.3%), Shell (23.8%), Config (3.9%)</li> @@ -1205,7 +1181,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='47-jsmstrade'>47. jsmstrade</h3><br /> +<h3 style='display: inline' id='46-jsmstrade'>46. jsmstrade</h3><br /> <br /> <ul> <li>💻 Languages: Java (76.0%), Shell (15.4%), XML (8.6%)</li> @@ -1231,7 +1207,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='48-japi'>48. japi</h3><br /> +<h3 style='display: inline' id='47-japi'>47. japi</h3><br /> <br /> <ul> <li>💻 Languages: Perl (78.3%), Make (21.7%)</li> @@ -1255,7 +1231,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='49-perl-poetry'>49. perl-poetry</h3><br /> +<h3 style='display: inline' id='48-perl-poetry'>48. perl-poetry</h3><br /> <br /> <ul> <li>💻 Languages: Perl (100.0%)</li> @@ -1279,7 +1255,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='50-muttdelay'>50. muttdelay</h3><br /> +<h3 style='display: inline' id='49-muttdelay'>49. muttdelay</h3><br /> <br /> <ul> <li>💻 Languages: Make (47.1%), Shell (46.3%), Vim Script (5.9%), Config (0.7%)</li> @@ -1303,7 +1279,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='51-netdiff'>51. netdiff</h3><br /> +<h3 style='display: inline' id='50-netdiff'>50. netdiff</h3><br /> <br /> <ul> <li>💻 Languages: Shell (52.2%), Make (46.3%), Config (1.5%)</li> @@ -1327,7 +1303,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='52-debroid'>52. debroid</h3><br /> +<h3 style='display: inline' id='51-debroid'>51. debroid</h3><br /> <br /> <ul> <li>💻 Languages: Shell (92.0%), Make (8.0%)</li> @@ -1353,7 +1329,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='53-hsbot'>53. hsbot</h3><br /> +<h3 style='display: inline' id='52-hsbot'>52. hsbot</h3><br /> <br /> <ul> <li>💻 Languages: Haskell (98.5%), Make (1.5%)</li> @@ -1375,7 +1351,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='54-cpuinfo'>54. cpuinfo</h3><br /> +<h3 style='display: inline' id='53-cpuinfo'>53. cpuinfo</h3><br /> <br /> <ul> <li>💻 Languages: Shell (53.2%), Make (46.8%)</li> @@ -1399,7 +1375,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='55-template'>55. template</h3><br /> +<h3 style='display: inline' id='54-template'>54. template</h3><br /> <br /> <ul> <li>💻 Languages: Make (89.2%), Shell (10.8%)</li> @@ -1423,7 +1399,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='56-ipv6test'>56. ipv6test</h3><br /> +<h3 style='display: inline' id='55-ipv6test'>55. ipv6test</h3><br /> <br /> <ul> <li>💻 Languages: Perl (100.0%)</li> @@ -1445,7 +1421,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='57-awksite'>57. awksite</h3><br /> +<h3 style='display: inline' id='56-awksite'>56. awksite</h3><br /> <br /> <ul> <li>💻 Languages: AWK (72.1%), HTML (16.4%), Config (11.5%)</li> @@ -1469,7 +1445,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='58-dyndns'>58. dyndns</h3><br /> +<h3 style='display: inline' id='57-dyndns'>57. dyndns</h3><br /> <br /> <ul> <li>💻 Languages: Shell (100.0%)</li> @@ -1490,6 +1466,50 @@ <br /> <a class='textlink' href='https://codeberg.org/snonux/dyndns'>View on Codeberg</a><br /> <a class='textlink' href='https://github.com/snonux/dyndns'>View on GitHub</a><br /> +<br /> +<span>---</span><br /> +<br /> +<h3 style='display: inline' id='58-vs-sim'>58. vs-sim</h3><br /> +<br /> +<ul> +<li>📚 Documentation: Markdown (100.0%)</li> +<li>📊 Commits: 411</li> +<li>📈 Lines of Code: 0</li> +<li>📄 Lines of Documentation: 7</li> +<li>📅 Development Period: 2008-05-15 to 2015-05-23</li> +<li>🏆 Score: 0.0 (combines code size and activity)</li> +<li>⚖️ License: No license found</li> +<li>🏷️ Latest Release: v1.0 (2008-08-24)</li> +</ul><br /> +<span>⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.</span><br /> +<br /> +<span>VS-Sim is a Java-based open source simulator for distributed systems, designed to help students and researchers visualize and understand distributed computing concepts. Based on the roadmap, it appears to support simulating various distributed systems protocols including Lamport and vector clocks for logical time management, and potentially distributed file systems like NFS and AFS. The simulator features event-based simulation, logging capabilities, and a plugin architecture.</span><br /> +<br /> +<span>The project appears to be currently inactive, with the repository containing minimal source code at present. It was originally developed as part of academic work (referenced as "diplomarbeit.pdf" in the roadmap), likely for teaching distributed systems concepts through interactive simulation and protocol visualization.</span><br /> +<br /> +<a class='textlink' href='https://codeberg.org/snonux/vs-sim'>View on Codeberg</a><br /> +<a class='textlink' href='https://github.com/snonux/vs-sim'>View on GitHub</a><br /> +<br /> +<span>---</span><br /> +<br /> +<h3 style='display: inline' id='59-foozone'>59. foo.zone</h3><br /> +<br /> +<ul> +<li>📚 Documentation: Markdown (100.0%)</li> +<li>📊 Commits: 3408</li> +<li>📈 Lines of Code: 0</li> +<li>📄 Lines of Documentation: 23</li> +<li>📅 Development Period: 2021-05-21 to 2022-04-02</li> +<li>🏆 Score: 0.0 (combines code size and activity)</li> +<li>⚖️ License: No license found</li> +<li>🧪 Status: Experimental (no releases yet)</li> +</ul><br /> +<span>⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.</span><br /> +<br /> +<span>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 /> <p class="footer"> Generated with <a href="https://codeberg.org/snonux/gemtexter">Gemtexter 3.0.1-develop</a> | served by <a href="https://www.OpenBSD.org">OpenBSD</a>/<a href="https://man.openbsd.org/relayd.8">relayd(8)</a>+<a href="https://man.openbsd.org/httpd.8">httpd(8)</a> | |
