diff options
Diffstat (limited to 'about/showcase.html')
| -rw-r--r-- | about/showcase.html | 355 |
1 files changed, 178 insertions, 177 deletions
diff --git a/about/showcase.html b/about/showcase.html index 6ee6702d..3516efe2 100644 --- a/about/showcase.html +++ b/about/showcase.html @@ -13,7 +13,7 @@ </p> <h1 style='display: inline' id='project-showcase'>Project Showcase</h1><br /> <br /> -<span>Generated on: 2026-02-21</span><br /> +<span>Generated on: 2026-02-22</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,24 +23,24 @@ <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-hexai'>1. hexai</a></li> +<li>⇢ ⇢ <a href='#1-ior'>1. ior</a></li> <li>⇢ ⇢ <a href='#2-dotfiles'>2. dotfiles</a></li> -<li>⇢ ⇢ <a href='#3-epimetheus'>3. epimetheus</a></li> -<li>⇢ ⇢ <a href='#4-conf'>4. conf</a></li> -<li>⇢ ⇢ <a href='#5-foozone'>5. foo.zone</a></li> -<li>⇢ ⇢ <a href='#6-scifi'>6. scifi</a></li> -<li>⇢ ⇢ <a href='#7-log4jbench'>7. log4jbench</a></li> -<li>⇢ ⇢ <a href='#8-gogios'>8. gogios</a></li> -<li>⇢ ⇢ <a href='#9-yoga'>9. yoga</a></li> -<li>⇢ ⇢ <a href='#10-perc'>10. perc</a></li> -<li>⇢ ⇢ <a href='#11-totalrecall'>11. totalrecall</a></li> -<li>⇢ ⇢ <a href='#12-ior'>12. ior</a></li> +<li>⇢ ⇢ <a href='#3-hexai'>3. hexai</a></li> +<li>⇢ ⇢ <a href='#4-epimetheus'>4. epimetheus</a></li> +<li>⇢ ⇢ <a href='#5-conf'>5. conf</a></li> +<li>⇢ ⇢ <a href='#6-foozone'>6. foo.zone</a></li> +<li>⇢ ⇢ <a href='#7-scifi'>7. scifi</a></li> +<li>⇢ ⇢ <a href='#8-log4jbench'>8. log4jbench</a></li> +<li>⇢ ⇢ <a href='#9-gogios'>9. gogios</a></li> +<li>⇢ ⇢ <a href='#10-yoga'>10. yoga</a></li> +<li>⇢ ⇢ <a href='#11-perc'>11. perc</a></li> +<li>⇢ ⇢ <a href='#12-totalrecall'>12. totalrecall</a></li> <li>⇢ ⇢ <a href='#13-gitsyncer'>13. gitsyncer</a></li> <li>⇢ ⇢ <a href='#14-tasksamurai'>14. tasksamurai</a></li> <li>⇢ ⇢ <a href='#15-foostats'>15. foostats</a></li> <li>⇢ ⇢ <a href='#16-timr'>16. timr</a></li> -<li>⇢ ⇢ <a href='#17-dtail'>17. dtail</a></li> -<li>⇢ ⇢ <a href='#18-gos'>18. gos</a></li> +<li>⇢ ⇢ <a href='#17-gos'>17. gos</a></li> +<li>⇢ ⇢ <a href='#18-dtail'>18. dtail</a></li> <li>⇢ ⇢ <a href='#19-ds-sim'>19. ds-sim</a></li> <li>⇢ ⇢ <a href='#20-wireguardmeshgenerator'>20. wireguardmeshgenerator</a></li> <li>⇢ ⇢ <a href='#21-gemtexter'>21. gemtexter</a></li> @@ -62,15 +62,15 @@ <li>⇢ ⇢ <a href='#37-mon'>37. mon</a></li> <li>⇢ ⇢ <a href='#38-staticfarm-apache-handlers'>38. staticfarm-apache-handlers</a></li> <li>⇢ ⇢ <a href='#39-pingdomfetch'>39. pingdomfetch</a></li> -<li>⇢ ⇢ <a href='#40-fype'>40. fype</a></li> -<li>⇢ ⇢ <a href='#41-xerl'>41. xerl</a></li> -<li>⇢ ⇢ <a href='#42-ychat'>42. ychat</a></li> -<li>⇢ ⇢ <a href='#43-fapi'>43. fapi</a></li> -<li>⇢ ⇢ <a href='#44-perl-c-fibonacci'>44. perl-c-fibonacci</a></li> -<li>⇢ ⇢ <a href='#45-netcalendar'>45. netcalendar</a></li> -<li>⇢ ⇢ <a href='#46-loadbars'>46. loadbars</a></li> -<li>⇢ ⇢ <a href='#47-gotop'>47. gotop</a></li> -<li>⇢ ⇢ <a href='#48-rubyfy'>48. rubyfy</a></li> +<li>⇢ ⇢ <a href='#40-xerl'>40. xerl</a></li> +<li>⇢ ⇢ <a href='#41-ychat'>41. ychat</a></li> +<li>⇢ ⇢ <a href='#42-fapi'>42. fapi</a></li> +<li>⇢ ⇢ <a href='#43-perl-c-fibonacci'>43. perl-c-fibonacci</a></li> +<li>⇢ ⇢ <a href='#44-netcalendar'>44. netcalendar</a></li> +<li>⇢ ⇢ <a href='#45-loadbars'>45. loadbars</a></li> +<li>⇢ ⇢ <a href='#46-gotop'>46. gotop</a></li> +<li>⇢ ⇢ <a href='#47-rubyfy'>47. rubyfy</a></li> +<li>⇢ ⇢ <a href='#48-fype'>48. fype</a></li> <li>⇢ ⇢ <a href='#49-pwgrep'>49. pwgrep</a></li> <li>⇢ ⇢ <a href='#50-perldaemon'>50. perldaemon</a></li> <li>⇢ ⇢ <a href='#51-jsmstrade'>51. jsmstrade</a></li> @@ -90,37 +90,39 @@ <br /> <ul> <li>📦 Total Projects: 62</li> -<li>📊 Total Commits: 12,551</li> -<li>📈 Total Lines of Code: 311,290</li> -<li>📄 Total Lines of Documentation: 41,076</li> -<li>💻 Languages: Go (36.4%), Java (13.2%), C++ (8.1%), C (6.3%), XML (6.2%), Shell (5.9%), Perl (5.6%), C/C++ (5.2%), YAML (5.1%), HTML (1.9%), Config (1.2%), Ruby (1.0%), HCL (0.9%), Python (0.7%), CSS (0.6%), Make (0.5%), JSON (0.4%), Haskell (0.2%), JavaScript (0.2%), Raku (0.1%), TOML (0.1%)</li> -<li>📚 Documentation: Markdown (69.8%), Text (28.9%), LaTeX (1.4%)</li> +<li>📊 Total Commits: 12,631</li> +<li>📈 Total Lines of Code: 317,099</li> +<li>📄 Total Lines of Documentation: 40,325</li> +<li>💻 Languages: Go (37.7%), Java (12.9%), C++ (8.0%), C (6.1%), XML (6.1%), Shell (5.8%), Perl (5.5%), C/C++ (5.1%), YAML (5.0%), HTML (1.9%), Config (1.2%), Ruby (0.9%), HCL (0.9%), Python (0.6%), CSS (0.6%), Make (0.5%), JSON (0.4%), Haskell (0.2%), JavaScript (0.2%), Raku (0.1%), TOML (0.1%)</li> +<li>📚 Documentation: Markdown (71.4%), Text (27.2%), LaTeX (1.4%)</li> <li>🚀 Release Status: 39 released, 23 experimental (62.9% with releases, 37.1% experimental)</li> </ul><br /> <h2 style='display: inline' id='projects'>Projects</h2><br /> <br /> -<h3 style='display: inline' id='1-hexai'>1. hexai</h3><br /> +<h3 style='display: inline' id='1-ior'>1. ior</h3><br /> <br /> <ul> -<li>💻 Languages: Go (100.0%)</li> -<li>📚 Documentation: Markdown (100.0%)</li> -<li>📊 Commits: 342</li> -<li>📈 Lines of Code: 29895</li> -<li>📄 Lines of Documentation: 5502</li> -<li>📅 Development Period: 2025-08-01 to 2026-02-13</li> -<li>🏆 Score: 365.1 (combines code size and activity)</li> +<li>💻 Languages: Go (73.1%), C (26.3%), C/C++ (0.6%)</li> +<li>📚 Documentation: Markdown (80.3%), Text (19.7%)</li> +<li>📊 Commits: 384</li> +<li>📈 Lines of Code: 21785</li> +<li>📄 Lines of Documentation: 2428</li> +<li>📅 Development Period: 2024-01-18 to 2026-02-21</li> +<li>🏆 Score: 2219.6 (combines code size and activity)</li> <li>⚖️ License: No license found</li> -<li>🏷️ Latest Release: v0.21.0 (2026-02-12)</li> +<li>🧪 Status: Experimental (no releases yet)</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 /> +<a href='showcase/ior/image-1.png'><img alt='ior screenshot' title='ior screenshot' src='showcase/ior/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 /> +<span>I/O Riot NG is a Linux-only performance analysis tool that uses BPF (Berkeley Packet Filter) to trace synchronous I/O syscalls and measure their execution time. It captures stack traces during I/O operations and generates compressed output in a format compatible with Inferno FlameGraphs, allowing developers to visually identify performance bottlenecks caused by blocking I/O calls. This makes it particularly useful for diagnosing latency issues in applications where I/O operations are suspected of causing performance degradation.</span><br /> <br /> -<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 /> +<a href='showcase/ior/image-2.svg'><img alt='ior screenshot' title='ior screenshot' src='showcase/ior/image-2.svg' /></a><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 /> +<span>The tool is implemented in Go and C, leveraging libbpfgo for BPF interaction. It automatically generates BPF tracepoint handlers and Go type definitions from Linux kernel tracepoint data, attaches to syscall entry/exit points, and collects timing data with minimal overhead. The project is a modern successor to the original I/O Riot (which used SystemTap), offering better performance and easier deployment through BPF's built-in kernel support.</span><br /> +<br /> +<a class='textlink' href='https://codeberg.org/snonux/ior'>View on Codeberg</a><br /> +<a class='textlink' href='https://github.com/snonux/ior'>View on GitHub</a><br /> <br /> <span>---</span><br /> <br /> @@ -129,11 +131,11 @@ <ul> <li>💻 Languages: Shell (58.9%), CSS (11.0%), Config (10.2%), TOML (10.1%), Ruby (8.4%), JSON (1.1%), INI (0.2%)</li> <li>📚 Documentation: Markdown (100.0%)</li> -<li>📊 Commits: 776</li> -<li>📈 Lines of Code: 2960</li> -<li>📄 Lines of Documentation: 653</li> -<li>📅 Development Period: 2023-07-30 to 2026-02-21</li> -<li>🏆 Score: 364.5 (combines code size and activity)</li> +<li>📊 Commits: 783</li> +<li>📈 Lines of Code: 2961</li> +<li>📄 Lines of Documentation: 949</li> +<li>📅 Development Period: 2023-07-30 to 2026-02-22</li> +<li>🏆 Score: 427.7 (combines code size and activity)</li> <li>⚖️ License: No license found</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -147,7 +149,32 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='3-epimetheus'>3. epimetheus</h3><br /> +<h3 style='display: inline' id='3-hexai'>3. hexai</h3><br /> +<br /> +<ul> +<li>💻 Languages: Go (100.0%)</li> +<li>📚 Documentation: Markdown (100.0%)</li> +<li>📊 Commits: 343</li> +<li>📈 Lines of Code: 29895</li> +<li>📄 Lines of Documentation: 5508</li> +<li>📅 Development Period: 2025-08-01 to 2026-02-22</li> +<li>🏆 Score: 341.8 (combines code size and activity)</li> +<li>⚖️ License: No license found</li> +<li>🏷️ Latest Release: v0.21.0 (2026-02-12)</li> +</ul><br /> +<br /> +<a href='showcase/hexai/image-1.png'><img alt='hexai screenshot' title='hexai screenshot' src='showcase/hexai/image-1.png' /></a><br /> +<br /> +<span>Hexai is a Go-based AI integration tool designed primarily for the Helix editor that provides LSP (Language Server Protocol) powered AI features. It offers code auto-completion, AI-driven code actions, in-editor chat with LLMs, and a standalone CLI tool for direct LLM interaction. A standout feature is its ability to query multiple AI providers (OpenAI, OpenRouter, GitHub Copilot, Ollama) in parallel, allowing developers to compare responses side-by-side. It has enhanced capabilities for Go code understanding, such as generating unit tests from functions, while supporting other programming languages as well.</span><br /> +<br /> +<span>The project is implemented as an LSP server written in Go, with a TUI component built using Bubble Tea for the tmux-based code action runner (<span class='inlinecode'>hexai-tmux-action</span>). This architecture allows it to integrate seamlessly into LSP-compatible editors, with special focus on Helix + tmux workflows. The custom prompt feature lets developers use their preferred editor to craft prompts, making it flexible for various development workflows.</span><br /> +<br /> +<a class='textlink' href='https://codeberg.org/snonux/hexai'>View on Codeberg</a><br /> +<a class='textlink' href='https://github.com/snonux/hexai'>View on GitHub</a><br /> +<br /> +<span>---</span><br /> +<br /> +<h3 style='display: inline' id='4-epimetheus'>4. epimetheus</h3><br /> <br /> <ul> <li>💻 Languages: Go (85.2%), Shell (14.8%)</li> @@ -156,7 +183,7 @@ <li>📈 Lines of Code: 5199</li> <li>📄 Lines of Documentation: 1734</li> <li>📅 Development Period: 2026-02-07 to 2026-02-14</li> -<li>🏆 Score: 314.0 (combines code size and activity)</li> +<li>🏆 Score: 284.8 (combines code size and activity)</li> <li>⚖️ License: No license found</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -172,16 +199,16 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='4-conf'>4. conf</h3><br /> +<h3 style='display: inline' id='5-conf'>5. conf</h3><br /> <br /> <ul> -<li>💻 Languages: YAML (80.7%), Perl (10.0%), Shell (6.1%), Python (2.3%), Docker (0.7%), Config (0.2%), HTML (0.1%)</li> +<li>💻 Languages: YAML (80.7%), Perl (9.9%), Shell (6.0%), Python (2.3%), Docker (0.7%), Config (0.2%), HTML (0.1%)</li> <li>📚 Documentation: Markdown (97.1%), Text (2.9%)</li> -<li>📊 Commits: 785</li> -<li>📈 Lines of Code: 19079</li> -<li>📄 Lines of Documentation: 6585</li> -<li>📅 Development Period: 2021-12-28 to 2026-02-08</li> -<li>🏆 Score: 250.8 (combines code size and activity)</li> +<li>📊 Commits: 791</li> +<li>📈 Lines of Code: 19132</li> +<li>📄 Lines of Documentation: 6572</li> +<li>📅 Development Period: 2021-12-28 to 2026-02-15</li> +<li>🏆 Score: 261.6 (combines code size and activity)</li> <li>⚖️ License: No license found</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -195,7 +222,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='5-foozone'>5. foo.zone</h3><br /> +<h3 style='display: inline' id='6-foozone'>6. foo.zone</h3><br /> <br /> <ul> <li>💻 Languages: XML (98.7%), Shell (1.0%), Go (0.3%)</li> @@ -204,7 +231,7 @@ <li>📈 Lines of Code: 18702</li> <li>📄 Lines of Documentation: 174</li> <li>📅 Development Period: 2021-04-29 to 2026-02-07</li> -<li>🏆 Score: 215.8 (combines code size and activity)</li> +<li>🏆 Score: 203.4 (combines code size and activity)</li> <li>⚖️ License: No license found</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -216,7 +243,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='6-scifi'>6. scifi</h3><br /> +<h3 style='display: inline' id='7-scifi'>7. scifi</h3><br /> <br /> <ul> <li>💻 Languages: JSON (35.9%), CSS (30.6%), JavaScript (29.6%), HTML (3.8%)</li> @@ -225,7 +252,7 @@ <li>📈 Lines of Code: 1664</li> <li>📄 Lines of Documentation: 853</li> <li>📅 Development Period: 2026-01-25 to 2026-01-27</li> -<li>🏆 Score: 117.3 (combines code size and activity)</li> +<li>🏆 Score: 112.3 (combines code size and activity)</li> <li>⚖️ License: No license found</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -239,7 +266,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='7-log4jbench'>7. log4jbench</h3><br /> +<h3 style='display: inline' id='8-log4jbench'>8. log4jbench</h3><br /> <br /> <ul> <li>💻 Languages: Java (78.9%), XML (21.1%)</li> @@ -248,7 +275,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: 66.4 (combines code size and activity)</li> +<li>🏆 Score: 64.6 (combines code size and activity)</li> <li>⚖️ License: MIT</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -262,18 +289,18 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='8-gogios'>8. gogios</h3><br /> +<h3 style='display: inline' id='9-gogios'>9. gogios</h3><br /> <br /> <ul> <li>💻 Languages: Go (98.9%), JSON (0.6%), YAML (0.5%)</li> <li>📚 Documentation: Markdown (94.9%), Text (5.1%)</li> -<li>📊 Commits: 108</li> +<li>📊 Commits: 109</li> <li>📈 Lines of Code: 3875</li> <li>📄 Lines of Documentation: 394</li> -<li>📅 Development Period: 2023-04-17 to 2026-02-08</li> -<li>🏆 Score: 33.3 (combines code size and activity)</li> +<li>📅 Development Period: 2023-04-17 to 2026-02-16</li> +<li>🏆 Score: 35.0 (combines code size and activity)</li> <li>⚖️ License: Custom License</li> -<li>🏷️ Latest Release: v1.4.0 (2026-02-08)</li> +<li>🏷️ Latest Release: v1.4.1 (2026-02-16)</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 /> @@ -287,7 +314,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='9-yoga'>9. yoga</h3><br /> +<h3 style='display: inline' id='10-yoga'>10. yoga</h3><br /> <br /> <ul> <li>💻 Languages: Go (66.1%), HTML (33.9%)</li> @@ -296,7 +323,7 @@ <li>📈 Lines of Code: 5921</li> <li>📄 Lines of Documentation: 83</li> <li>📅 Development Period: 2025-10-01 to 2026-01-28</li> -<li>🏆 Score: 31.0 (combines code size and activity)</li> +<li>🏆 Score: 30.7 (combines code size and activity)</li> <li>⚖️ License: No license found</li> <li>🏷️ Latest Release: v0.4.0 (2026-01-28)</li> </ul><br /> @@ -312,7 +339,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='10-perc'>10. perc</h3><br /> +<h3 style='display: inline' id='11-perc'>11. perc</h3><br /> <br /> <ul> <li>💻 Languages: Go (100.0%)</li> @@ -321,7 +348,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: 30.0 (combines code size and activity)</li> +<li>🏆 Score: 29.6 (combines code size and activity)</li> <li>⚖️ License: No license found</li> <li>🏷️ Latest Release: v0.1.0 (2025-11-25)</li> </ul><br /> @@ -335,7 +362,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='11-totalrecall'>11. totalrecall</h3><br /> +<h3 style='display: inline' id='12-totalrecall'>12. totalrecall</h3><br /> <br /> <ul> <li>💻 Languages: Go (99.0%), Shell (0.5%), YAML (0.4%)</li> @@ -344,7 +371,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: 26.1 (combines code size and activity)</li> +<li>🏆 Score: 25.9 (combines code size and activity)</li> <li>⚖️ License: MIT</li> <li>🏷️ Latest Release: v0.8.0 (2026-01-21)</li> </ul><br /> @@ -362,45 +389,18 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='12-ior'>12. ior</h3><br /> -<br /> -<ul> -<li>💻 Languages: Go (63.2%), C (36.0%), C/C++ (0.8%)</li> -<li>📚 Documentation: Markdown (79.3%), Text (20.7%)</li> -<li>📊 Commits: 344</li> -<li>📈 Lines of Code: 15784</li> -<li>📄 Lines of Documentation: 2313</li> -<li>📅 Development Period: 2024-01-18 to 2026-02-21</li> -<li>🏆 Score: 20.9 (combines code size and activity)</li> -<li>⚖️ License: No license found</li> -<li>🧪 Status: Experimental (no releases yet)</li> -</ul><br /> -<br /> -<a href='showcase/ior/image-1.png'><img alt='ior screenshot' title='ior screenshot' src='showcase/ior/image-1.png' /></a><br /> -<br /> -<span>I/O Riot NG is a Linux-only performance analysis tool that uses BPF (Berkeley Packet Filter) to trace synchronous I/O syscalls and measure their execution time. It captures stack traces during I/O operations and generates compressed output in a format compatible with Inferno FlameGraphs, allowing developers to visually identify performance bottlenecks caused by blocking I/O calls. This makes it particularly useful for diagnosing latency issues in applications where I/O operations are suspected of causing performance degradation.</span><br /> -<br /> -<a href='showcase/ior/image-2.svg'><img alt='ior screenshot' title='ior screenshot' src='showcase/ior/image-2.svg' /></a><br /> -<br /> -<span>The tool is implemented in Go and C, leveraging libbpfgo for BPF interaction. It automatically generates BPF tracepoint handlers and Go type definitions from Linux kernel tracepoint data, attaches to syscall entry/exit points, and collects timing data with minimal overhead. The project is a modern successor to the original I/O Riot (which used SystemTap), offering better performance and easier deployment through BPF's built-in kernel support.</span><br /> -<br /> -<a class='textlink' href='https://codeberg.org/snonux/ior'>View on Codeberg</a><br /> -<a class='textlink' href='https://github.com/snonux/ior'>View on GitHub</a><br /> -<br /> -<span>---</span><br /> -<br /> <h3 style='display: inline' id='13-gitsyncer'>13. gitsyncer</h3><br /> <br /> <ul> -<li>💻 Languages: Go (92.5%), Shell (7.1%), JSON (0.4%)</li> +<li>💻 Languages: Go (92.6%), Shell (7.0%), JSON (0.4%)</li> <li>📚 Documentation: Markdown (100.0%)</li> -<li>📊 Commits: 117</li> -<li>📈 Lines of Code: 10446</li> +<li>📊 Commits: 120</li> +<li>📈 Lines of Code: 10568</li> <li>📄 Lines of Documentation: 2445</li> -<li>📅 Development Period: 2025-06-23 to 2026-02-07</li> -<li>🏆 Score: 20.7 (combines code size and activity)</li> +<li>📅 Development Period: 2025-06-23 to 2026-02-22</li> +<li>🏆 Score: 22.5 (combines code size and activity)</li> <li>⚖️ License: BSD-2-Clause</li> -<li>🏷️ Latest Release: v0.12.0 (2026-02-07)</li> +<li>🏷️ Latest Release: v0.12.1 (2026-02-22)</li> </ul><br /> <br /> <span>GitSyncer is a Go-based CLI tool that automatically synchronizes git repositories across multiple hosting platforms (GitHub, Codeberg, SSH servers). It maintains all branches in sync bidirectionally, never deleting branches but automatically creating and updating them as needed. The tool excels at providing repository redundancy and backup, with special support for one-way SSH backups to private servers (like home NAS devices) that may be offline intermittently. It includes AI-powered features for generating release notes and project showcase documentation, plus automated weekly batch synchronization for hands-off maintenance.</span><br /> @@ -421,7 +421,7 @@ <li>📈 Lines of Code: 6544</li> <li>📄 Lines of Documentation: 254</li> <li>📅 Development Period: 2025-06-19 to 2026-02-04</li> -<li>🏆 Score: 17.9 (combines code size and activity)</li> +<li>🏆 Score: 17.8 (combines code size and activity)</li> <li>⚖️ License: BSD-2-Clause</li> <li>🏷️ Latest Release: v0.11.0 (2026-02-04)</li> </ul><br /> @@ -448,7 +448,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: 17.8 (combines code size and activity)</li> +<li>🏆 Score: 17.7 (combines code size and activity)</li> <li>⚖️ License: Custom License</li> <li>🏷️ Latest Release: v0.2.0 (2025-10-21)</li> </ul><br /> @@ -471,7 +471,7 @@ <li>📈 Lines of Code: 1538</li> <li>📄 Lines of Documentation: 99</li> <li>📅 Development Period: 2025-06-25 to 2026-01-02</li> -<li>🏆 Score: 16.1 (combines code size and activity)</li> +<li>🏆 Score: 16.0 (combines code size and activity)</li> <li>⚖️ License: MIT</li> <li>🏷️ Latest Release: v0.3.0 (2026-01-02)</li> </ul><br /> @@ -485,7 +485,34 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='17-dtail'>17. dtail</h3><br /> +<h3 style='display: inline' id='17-gos'>17. gos</h3><br /> +<br /> +<ul> +<li>💻 Languages: Go (99.5%), JSON (0.2%), Shell (0.2%)</li> +<li>📚 Documentation: Markdown (100.0%)</li> +<li>📊 Commits: 400</li> +<li>📈 Lines of Code: 4143</li> +<li>📄 Lines of Documentation: 477</li> +<li>📅 Development Period: 2024-05-04 to 2026-02-17</li> +<li>🏆 Score: 15.6 (combines code size and activity)</li> +<li>⚖️ License: Custom License</li> +<li>🏷️ Latest Release: v1.2.4 (2026-02-17)</li> +</ul><br /> +<br /> +<a href='showcase/gos/image-1.png'><img alt='gos screenshot' title='gos screenshot' src='showcase/gos/image-1.png' /></a><br /> +<br /> +<span>Gos is a command-line social media scheduling tool written in Go that serves as a self-hosted replacement for Buffer.com. It enables users to schedule and post messages to Mastodon and LinkedIn (plus a "Noop" pseudo-platform for tracking) through a simple file-based queueing system. Messages are created as text files in a designated directory (<span class='inlinecode'>~/.gosdir</span>), with optional tags embedded in filenames or content to control platform targeting, priority, and scheduling behavior. The tool addresses limitations of commercial services by offering unlimited posts, a scriptable CLI interface, and full user control without unwanted features like AI assistants.</span><br /> +<br /> +<a href='showcase/gos/image-2.png'><img alt='gos screenshot' title='gos screenshot' src='showcase/gos/image-2.png' /></a><br /> +<br /> +<span>The implementation uses OAuth2 for LinkedIn authentication, stores configuration as JSON, and manages posts through a platform-specific database structure. Gos employs intelligent scheduling based on configurable weekly targets, lookback windows, pause periods between posts, and run intervals to prevent over-posting. It supports priority queuing, platform exclusion rules, dry-run testing, and can generate Gemini gemtext summaries of posted content. Built with Mage for automation, the tool integrates seamlessly into shell workflows and can be triggered on intervals to maintain a consistent posting cadence across platforms.</span><br /> +<br /> +<a class='textlink' href='https://codeberg.org/snonux/gos'>View on Codeberg</a><br /> +<a class='textlink' href='https://github.com/snonux/gos'>View on GitHub</a><br /> +<br /> +<span>---</span><br /> +<br /> +<h3 style='display: inline' id='18-dtail'>18. dtail</h3><br /> <br /> <ul> <li>💻 Languages: Go (93.9%), JSON (2.8%), C (2.0%), Make (0.5%), C/C++ (0.3%), Config (0.2%), Shell (0.2%), Docker (0.1%)</li> @@ -494,7 +521,7 @@ <li>📈 Lines of Code: 20091</li> <li>📄 Lines of Documentation: 5674</li> <li>📅 Development Period: 2020-01-09 to 2025-06-20</li> -<li>🏆 Score: 15.4 (combines code size and activity)</li> +<li>🏆 Score: 15.3 (combines code size and activity)</li> <li>⚖️ License: Apache-2.0</li> <li>🏷️ Latest Release: v4.3.3 (2024-08-23)</li> </ul><br /> @@ -512,33 +539,6 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='18-gos'>18. gos</h3><br /> -<br /> -<ul> -<li>💻 Languages: Go (99.8%), JSON (0.2%)</li> -<li>📚 Documentation: Markdown (100.0%)</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: 14.6 (combines code size and activity)</li> -<li>⚖️ License: Custom License</li> -<li>🏷️ Latest Release: v1.2.3 (2026-01-31)</li> -</ul><br /> -<br /> -<a href='showcase/gos/image-1.png'><img alt='gos screenshot' title='gos screenshot' src='showcase/gos/image-1.png' /></a><br /> -<br /> -<span>Gos is a command-line social media scheduling tool written in Go that serves as a self-hosted replacement for Buffer.com. It enables users to schedule and post messages to Mastodon and LinkedIn (plus a "Noop" pseudo-platform for tracking) through a simple file-based queueing system. Messages are created as text files in a designated directory (<span class='inlinecode'>~/.gosdir</span>), with optional tags embedded in filenames or content to control platform targeting, priority, and scheduling behavior. The tool addresses limitations of commercial services by offering unlimited posts, a scriptable CLI interface, and full user control without unwanted features like AI assistants.</span><br /> -<br /> -<a href='showcase/gos/image-2.png'><img alt='gos screenshot' title='gos screenshot' src='showcase/gos/image-2.png' /></a><br /> -<br /> -<span>The implementation uses OAuth2 for LinkedIn authentication, stores configuration as JSON, and manages posts through a platform-specific database structure. Gos employs intelligent scheduling based on configurable weekly targets, lookback windows, pause periods between posts, and run intervals to prevent over-posting. It supports priority queuing, platform exclusion rules, dry-run testing, and can generate Gemini gemtext summaries of posted content. Built with Mage for automation, the tool integrates seamlessly into shell workflows and can be triggered on intervals to maintain a consistent posting cadence across platforms.</span><br /> -<br /> -<a class='textlink' href='https://codeberg.org/snonux/gos'>View on Codeberg</a><br /> -<a class='textlink' href='https://github.com/snonux/gos'>View on GitHub</a><br /> -<br /> -<span>---</span><br /> -<br /> <h3 style='display: inline' id='19-ds-sim'>19. ds-sim</h3><br /> <br /> <ul> @@ -548,7 +548,7 @@ <li>📈 Lines of Code: 25762</li> <li>📄 Lines of Documentation: 3101</li> <li>📅 Development Period: 2008-05-15 to 2025-06-27</li> -<li>🏆 Score: 14.1 (combines code size and activity)</li> +<li>🏆 Score: 14.0 (combines code size and activity)</li> <li>⚖️ License: Custom License</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -692,7 +692,7 @@ <li>📈 Lines of Code: 33</li> <li>📄 Lines of Documentation: 3</li> <li>📅 Development Period: 2025-04-03 to 2025-04-03</li> -<li>🏆 Score: 4.7 (combines code size and activity)</li> +<li>🏆 Score: 4.6 (combines code size and activity)</li> <li>⚖️ License: No license found</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -925,11 +925,11 @@ <ul> <li>💻 Languages: Perl (65.8%), Docker (34.2%)</li> <li>📚 Documentation: Markdown (100.0%)</li> -<li>📊 Commits: 19</li> +<li>📊 Commits: 22</li> <li>📈 Lines of Code: 149</li> -<li>📄 Lines of Documentation: 15</li> -<li>📅 Development Period: 2011-07-09 to 2026-02-03</li> -<li>🏆 Score: 1.3 (combines code size and activity)</li> +<li>📄 Lines of Documentation: 21</li> +<li>📅 Development Period: 2011-07-09 to 2026-02-17</li> +<li>🏆 Score: 1.5 (combines code size and activity)</li> <li>⚖️ License: Custom License</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -1038,30 +1038,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='40-fype'>40. fype</h3><br /> -<br /> -<ul> -<li>💻 Languages: C (71.8%), C/C++ (20.0%), HTML (6.3%), Make (1.8%)</li> -<li>📚 Documentation: Text (65.1%), LaTeX (21.0%), Markdown (14.0%)</li> -<li>📊 Commits: 107</li> -<li>📈 Lines of Code: 9363</li> -<li>📄 Lines of Documentation: 2713</li> -<li>📅 Development Period: 2008-05-15 to 2026-02-20</li> -<li>🏆 Score: 0.9 (combines code size and activity)</li> -<li>⚖️ License: Custom License</li> -<li>🧪 Status: Experimental (no releases yet)</li> -</ul><br /> -<br /> -<span>Fype is a 32-bit scripting language designed as a fun, AWK-inspired alternative with a simpler syntax. It supports variables with automatic type conversion, functions, loops, control structures, and built-in operations for math, I/O, and system calls. A notable feature is its support for "synonyms" (references/aliases to variables and functions), along with both procedures (using the caller'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='41-xerl'>41. xerl</h3><br /> +<h3 style='display: inline' id='40-xerl'>40. xerl</h3><br /> <br /> <ul> <li>💻 Languages: Perl (98.3%), Config (1.2%), Make (0.5%)</li> @@ -1083,7 +1060,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='42-ychat'>42. ychat</h3><br /> +<h3 style='display: inline' id='41-ychat'>41. ychat</h3><br /> <br /> <ul> <li>💻 Languages: C++ (49.9%), C/C++ (22.2%), Shell (20.6%), Perl (2.5%), HTML (1.9%), Config (1.8%), Make (0.9%), CSS (0.2%)</li> @@ -1107,7 +1084,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='43-fapi'>43. fapi</h3><br /> +<h3 style='display: inline' id='42-fapi'>42. fapi</h3><br /> <br /> <ul> <li>💻 Languages: Python (96.6%), Make (3.1%), Config (0.3%)</li> @@ -1130,7 +1107,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='44-perl-c-fibonacci'>44. perl-c-fibonacci</h3><br /> +<h3 style='display: inline' id='43-perl-c-fibonacci'>43. perl-c-fibonacci</h3><br /> <br /> <ul> <li>💻 Languages: C (80.4%), Make (19.6%)</li> @@ -1152,7 +1129,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='45-netcalendar'>45. netcalendar</h3><br /> +<h3 style='display: inline' id='44-netcalendar'>44. netcalendar</h3><br /> <br /> <ul> <li>💻 Languages: Java (83.0%), HTML (12.9%), XML (3.0%), CSS (0.8%), Make (0.2%)</li> @@ -1180,18 +1157,18 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='46-loadbars'>46. loadbars</h3><br /> +<h3 style='display: inline' id='45-loadbars'>45. loadbars</h3><br /> <br /> <ul> <li>💻 Languages: Perl (97.4%), Make (2.6%)</li> <li>📚 Documentation: Text (100.0%)</li> -<li>📊 Commits: 557</li> +<li>📊 Commits: 575</li> <li>📈 Lines of Code: 1828</li> <li>📄 Lines of Documentation: 100</li> <li>📅 Development Period: 2010-11-05 to 2015-05-23</li> <li>🏆 Score: 0.7 (combines code size and activity)</li> <li>⚖️ License: No license found</li> -<li>🏷️ Latest Release: v0.9.0 (2026-02-14)</li> +<li>🏷️ Latest Release: v0.11.1 (2026-02-17)</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 /> @@ -1202,7 +1179,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='47-gotop'>47. gotop</h3><br /> +<h3 style='display: inline' id='46-gotop'>46. gotop</h3><br /> <br /> <ul> <li>💻 Languages: Go (98.0%), Make (2.0%)</li> @@ -1226,7 +1203,7 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='48-rubyfy'>48. rubyfy</h3><br /> +<h3 style='display: inline' id='47-rubyfy'>47. rubyfy</h3><br /> <br /> <ul> <li>💻 Languages: Ruby (98.5%), JSON (1.5%)</li> @@ -1250,6 +1227,30 @@ <br /> <span>---</span><br /> <br /> +<h3 style='display: inline' id='48-fype'>48. fype</h3><br /> +<br /> +<ul> +<li>💻 Languages: C (71.2%), C/C++ (20.7%), HTML (6.6%), Make (1.5%)</li> +<li>📚 Documentation: Text (60.3%), LaTeX (39.7%)</li> +<li>📊 Commits: 107</li> +<li>📈 Lines of Code: 8954</li> +<li>📄 Lines of Documentation: 1432</li> +<li>📅 Development Period: 2008-05-15 to 2014-06-30</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='49-pwgrep'>49. pwgrep</h3><br /> <br /> <ul> |
