summaryrefslogtreecommitdiff
path: root/about/showcase.html
diff options
context:
space:
mode:
Diffstat (limited to 'about/showcase.html')
-rw-r--r--about/showcase.html593
1 files changed, 273 insertions, 320 deletions
diff --git a/about/showcase.html b/about/showcase.html
index cc342e88..cee63c1f 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: 2025-08-31</span><br />
+<span>Generated on: 2025-09-11</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 ordered by recent activity, with the most actively maintained projects listed first.</span><br />
<br />
@@ -25,43 +25,41 @@
<li>⇢ <a href='#projects'>Projects</a></li>
<li>⇢ ⇢ <a href='#hexai'>hexai</a></li>
<li>⇢ ⇢ <a href='#conf'>conf</a></li>
-<li>⇢ ⇢ <a href='#totalrecall'>totalrecall</a></li>
<li>⇢ ⇢ <a href='#gitsyncer'>gitsyncer</a></li>
+<li>⇢ ⇢ <a href='#totalrecall'>totalrecall</a></li>
<li>⇢ ⇢ <a href='#timr'>timr</a></li>
<li>⇢ ⇢ <a href='#tasksamurai'>tasksamurai</a></li>
<li>⇢ ⇢ <a href='#ior'>ior</a></li>
<li>⇢ ⇢ <a href='#dtail'>dtail</a></li>
-<li>⇢ ⇢ <a href='#wireguardmeshgenerator'>wireguardmeshgenerator</a></li>
<li>⇢ ⇢ <a href='#foostats'>foostats</a></li>
+<li>⇢ ⇢ <a href='#wireguardmeshgenerator'>wireguardmeshgenerator</a></li>
<li>⇢ ⇢ <a href='#ds-sim'>ds-sim</a></li>
-<li>⇢ ⇢ <a href='#sillybench'>sillybench</a></li>
<li>⇢ ⇢ <a href='#gos'>gos</a></li>
+<li>⇢ ⇢ <a href='#sillybench'>sillybench</a></li>
<li>⇢ ⇢ <a href='#rcm'>rcm</a></li>
<li>⇢ ⇢ <a href='#gemtexter'>gemtexter</a></li>
-<li>⇢ ⇢ <a href='#docker-gpodder-sync-server'>docker-gpodder-sync-server</a></li>
<li>⇢ ⇢ <a href='#docker-radicale-server'>docker-radicale-server</a></li>
<li>⇢ ⇢ <a href='#quicklogger'>quicklogger</a></li>
<li>⇢ ⇢ <a href='#terraform'>terraform</a></li>
-<li>⇢ ⇢ <a href='#docker-anki-sync-server'>docker-anki-sync-server</a></li>
<li>⇢ ⇢ <a href='#gogios'>gogios</a></li>
<li>⇢ ⇢ <a href='#gorum'>gorum</a></li>
<li>⇢ ⇢ <a href='#guprecords'>guprecords</a></li>
<li>⇢ ⇢ <a href='#randomjournalpage'>randomjournalpage</a></li>
<li>⇢ ⇢ <a href='#sway-autorotate'>sway-autorotate</a></li>
-<li>⇢ ⇢ <a href='#algorithms'>algorithms</a></li>
+<li>⇢ ⇢ <a href='#photoalbum'>photoalbum</a></li>
<li>⇢ ⇢ <a href='#geheim'>geheim</a></li>
+<li>⇢ ⇢ <a href='#algorithms'>algorithms</a></li>
<li>⇢ ⇢ <a href='#foozone'>foo.zone</a></li>
<li>⇢ ⇢ <a href='#perl-c-fibonacci'>perl-c-fibonacci</a></li>
<li>⇢ ⇢ <a href='#ioriot'>ioriot</a></li>
-<li>⇢ ⇢ <a href='#photoalbum'>photoalbum</a></li>
<li>⇢ ⇢ <a href='#staticfarm-apache-handlers'>staticfarm-apache-handlers</a></li>
<li>⇢ ⇢ <a href='#dyndns'>dyndns</a></li>
<li>⇢ ⇢ <a href='#mon'>mon</a></li>
<li>⇢ ⇢ <a href='#rubyfy'>rubyfy</a></li>
<li>⇢ ⇢ <a href='#pingdomfetch'>pingdomfetch</a></li>
<li>⇢ ⇢ <a href='#gotop'>gotop</a></li>
-<li>⇢ ⇢ <a href='#debroid'>debroid</a></li>
<li>⇢ ⇢ <a href='#xerl'>xerl</a></li>
+<li>⇢ ⇢ <a href='#debroid'>debroid</a></li>
<li>⇢ ⇢ <a href='#fapi'>fapi</a></li>
<li>⇢ ⇢ <a href='#template'>template</a></li>
<li>⇢ ⇢ <a href='#muttdelay'>muttdelay</a></li>
@@ -75,39 +73,39 @@
<li>⇢ ⇢ <a href='#perldaemon'>perldaemon</a></li>
<li>⇢ ⇢ <a href='#awksite'>awksite</a></li>
<li>⇢ ⇢ <a href='#jsmstrade'>jsmstrade</a></li>
-<li>⇢ ⇢ <a href='#ychat'>ychat</a></li>
<li>⇢ ⇢ <a href='#netcalendar'>netcalendar</a></li>
+<li>⇢ ⇢ <a href='#ychat'>ychat</a></li>
<li>⇢ ⇢ <a href='#hsbot'>hsbot</a></li>
-<li>⇢ ⇢ <a href='#fype'>fype</a></li>
<li>⇢ ⇢ <a href='#vs-sim'>vs-sim</a></li>
+<li>⇢ ⇢ <a href='#fype'>fype</a></li>
</ul><br />
<h2 style='display: inline' id='overall-statistics'>Overall Statistics</h2><br />
<br />
<ul>
-<li>📦 Total Projects: 57</li>
-<li>📊 Total Commits: 10,900</li>
-<li>📈 Total Lines of Code: 198,325</li>
-<li>📄 Total Lines of Documentation: 21,954</li>
-<li>💻 Languages: Go (34.2%), Java (20.4%), C++ (8.6%), C (8.6%), Perl (7.8%), C/C++ (6.1%), Shell (2.9%), HTML (1.9%), Config (1.8%), Ruby (1.4%), HCL (1.4%), YAML (0.9%), Python (0.8%), Make (0.7%), CSS (0.6%), Raku (0.4%), JSON (0.4%), XML (0.3%), Haskell (0.3%), TOML (0.2%)</li>
-<li>📚 Documentation: Markdown (50.2%), Text (49.8%)</li>
-<li>🎵 Vibe-Coded Projects: 4 out of 57 (7.0%)</li>
-<li>🤖 AI-Assisted Projects (including vibe-coded): 9 out of 57 (15.8% AI-assisted, 84.2% human-only)</li>
-<li>🚀 Release Status: 35 released, 22 experimental (61.4% with releases, 38.6% experimental)</li>
+<li>📦 Total Projects: 55</li>
+<li>📊 Total Commits: 11,028</li>
+<li>📈 Total Lines of Code: 284,649</li>
+<li>📄 Total Lines of Documentation: 23,038</li>
+<li>💻 Languages: Go (26.5%), Java (14.2%), C++ (13.1%), C/C++ (7.2%), C (6.7%), Perl (6.2%), CSS (6.1%), HTML (5.4%), Shell (5.2%), Python (2.3%), Config (1.7%), Ruby (1.0%), JSON (1.0%), HCL (1.0%), Make (0.7%), YAML (0.6%), Raku (0.3%), XML (0.2%), Haskell (0.2%), TOML (0.1%)</li>
+<li>📚 Documentation: Text (48.8%), Markdown (48.7%), LaTeX (2.5%)</li>
+<li>🎵 Vibe-Coded Projects: 4 out of 55 (7.3%)</li>
+<li>🤖 AI-Assisted Projects (including vibe-coded): 10 out of 55 (18.2% AI-assisted, 81.8% human-only)</li>
+<li>🚀 Release Status: 35 released, 20 experimental (63.6% with releases, 36.4% experimental)</li>
</ul><br />
<h2 style='display: inline' id='projects'>Projects</h2><br />
<br />
<h3 style='display: inline' id='hexai'>hexai</h3><br />
<br />
<ul>
-<li>💻 Languages: Go (100.0%)</li>
+<li>💻 Languages: Go (66.6%), HTML (33.4%)</li>
<li>📚 Documentation: Markdown (100.0%)</li>
-<li>📊 Commits: 103</li>
-<li>📈 Lines of Code: 5479</li>
-<li>📄 Lines of Documentation: 399</li>
-<li>📅 Development Period: 2025-08-01 to 2025-08-29</li>
-<li>🔥 Recent Activity: 8.1 days (avg. age of last 42 commits)</li>
+<li>📊 Commits: 193</li>
+<li>📈 Lines of Code: 19021</li>
+<li>📄 Lines of Documentation: 369</li>
+<li>📅 Development Period: 2025-08-01 to 2025-09-08</li>
+<li>🔥 Recent Activity: 3.9 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
-<li>🏷️ Latest Release: v0.3.3 (2025-08-29)</li>
+<li>🏷️ Latest Release: v0.9.0 (2025-09-08)</li>
<li>🤖 AI-Assisted: This project was partially created with the help of generative AI</li>
</ul><br />
<br />
@@ -125,13 +123,13 @@
<h3 style='display: inline' id='conf'>conf</h3><br />
<br />
<ul>
-<li>💻 Languages: Perl (27.4%), YAML (24.1%), Shell (23.8%), TOML (6.4%), Config (5.8%), CSS (5.7%), Ruby (4.2%), Lua (1.2%), Docker (0.7%), JSON (0.6%), INI (0.1%)</li>
+<li>💻 Languages: Perl (31.4%), YAML (23.1%), Shell (23.0%), Config (5.6%), CSS (5.4%), TOML (4.8%), Ruby (4.1%), Lua (1.2%), Docker (0.7%), JSON (0.6%), INI (0.1%)</li>
<li>📚 Documentation: Text (69.9%), Markdown (30.1%)</li>
-<li>📊 Commits: 965</li>
-<li>📈 Lines of Code: 5749</li>
+<li>📊 Commits: 980</li>
+<li>📈 Lines of Code: 5994</li>
<li>📄 Lines of Documentation: 1188</li>
-<li>📅 Development Period: 2021-12-28 to 2025-08-31</li>
-<li>🔥 Recent Activity: 16.1 days (avg. age of last 42 commits)</li>
+<li>📅 Development Period: 2021-12-28 to 2025-09-10</li>
+<li>🔥 Recent Activity: 16.6 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -144,6 +142,30 @@
<br />
<span>---</span><br />
<br />
+<h3 style='display: inline' id='gitsyncer'>gitsyncer</h3><br />
+<br />
+<ul>
+<li>💻 Languages: Go (91.0%), Shell (7.4%), YAML (0.9%), JSON (0.6%)</li>
+<li>📚 Documentation: Markdown (100.0%)</li>
+<li>📊 Commits: 110</li>
+<li>📈 Lines of Code: 10036</li>
+<li>📄 Lines of Documentation: 2433</li>
+<li>📅 Development Period: 2025-06-23 to 2025-09-08</li>
+<li>🔥 Recent Activity: 48.0 days (avg. age of last 42 commits)</li>
+<li>⚖️ License: BSD-2-Clause</li>
+<li>🏷️ Latest Release: v0.9.2 (2025-09-08)</li>
+<li>🎵 Vibe-Coded: This project has been vibe coded</li>
+</ul><br />
+<br />
+<span>**GitSyncer** is an automation tool designed to synchronize git repositories across multiple organizations and hosting platforms, such as GitHub, Codeberg, and private SSH servers. Its primary purpose is to keep all branches and tags in sync between these platforms, ensuring that codebases remain consistent and up-to-date everywhere. GitSyncer is especially useful for developers and teams managing projects across different git hosts, providing features like automatic branch and repository creation, one-way backups to offline or private servers, and robust error handling for merge conflicts and missing resources. It also includes advanced capabilities like AI-powered project showcase generation, batch synchronization for automation, and flexible configuration for branch exclusions and backup strategies.</span><br />
+<br />
+<span>The tool is implemented as a modern CLI application in Go, with a modular, command-based architecture. Users configure organizations, repositories, and backup locations via a JSON file, and interact with GitSyncer through intuitive commands (e.g., <span class='inlinecode'>gitsyncer sync</span>, <span class='inlinecode'>gitsyncer release create</span>). Under the hood, GitSyncer clones repositories, adds all remotes, fetches and merges branches, and pushes updates to all destinations, handling repository and branch creation as needed. SSH backup locations are supported for one-way, opt-in backups, with automatic bare repo initialization. The AI-powered showcase feature analyzes repositories and uses Claude or other AI tools to generate comprehensive project summaries and statistics. The architecture emphasizes automation, safety (never deleting branches), and extensibility, making GitSyncer a powerful solution for multi-platform git management and backup.</span><br />
+<br />
+<a class='textlink' href='https://codeberg.org/snonux/gitsyncer'>View on Codeberg</a><br />
+<a class='textlink' href='https://github.com/snonux/gitsyncer'>View on GitHub</a><br />
+<br />
+<span>---</span><br />
+<br />
<h3 style='display: inline' id='totalrecall'>totalrecall</h3><br />
<br />
<ul>
@@ -153,7 +175,7 @@
<li>📈 Lines of Code: 12003</li>
<li>📄 Lines of Documentation: 361</li>
<li>📅 Development Period: 2025-07-14 to 2025-08-02</li>
-<li>🔥 Recent Activity: 40.1 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 50.8 days (avg. age of last 42 commits)</li>
<li>⚖️ License: MIT</li>
<li>🏷️ Latest Release: v0.7.5 (2025-08-02)</li>
<li>🎵 Vibe-Coded: This project has been vibe coded</li>
@@ -174,30 +196,6 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='gitsyncer'>gitsyncer</h3><br />
-<br />
-<ul>
-<li>💻 Languages: Go (90.6%), Shell (7.8%), YAML (1.0%), JSON (0.7%)</li>
-<li>📚 Documentation: Markdown (100.0%)</li>
-<li>📊 Commits: 104</li>
-<li>📈 Lines of Code: 9567</li>
-<li>📄 Lines of Documentation: 2433</li>
-<li>📅 Development Period: 2025-06-23 to 2025-08-19</li>
-<li>🔥 Recent Activity: 44.9 days (avg. age of last 42 commits)</li>
-<li>⚖️ License: BSD-2-Clause</li>
-<li>🏷️ Latest Release: v0.9.0 (2025-08-19)</li>
-<li>🎵 Vibe-Coded: This project has been vibe coded</li>
-</ul><br />
-<br />
-<span>**GitSyncer** is an automation tool designed to synchronize git repositories across multiple organizations and hosting platforms, such as GitHub, Codeberg, and private SSH servers. Its primary purpose is to keep all branches and tags in sync between these platforms, ensuring that codebases remain consistent and up-to-date everywhere. GitSyncer is especially useful for developers and teams managing projects across different git hosts, providing features like automatic branch and repository creation, one-way backups to offline or private servers, and robust error handling for merge conflicts and missing resources. It also includes advanced capabilities like AI-powered project showcase generation, batch synchronization for automation, and flexible configuration for branch exclusions and backup strategies.</span><br />
-<br />
-<span>The tool is implemented as a modern CLI application in Go, with a modular, command-based architecture. Users configure organizations, repositories, and backup locations via a JSON file, and interact with GitSyncer through intuitive commands (e.g., <span class='inlinecode'>gitsyncer sync</span>, <span class='inlinecode'>gitsyncer release create</span>). Under the hood, GitSyncer clones repositories, adds all remotes, fetches and merges branches, and pushes updates to all destinations, handling repository and branch creation as needed. SSH backup locations are supported for one-way, opt-in backups, with automatic bare repo initialization. The AI-powered showcase feature analyzes repositories and uses Claude or other AI tools to generate comprehensive project summaries and statistics. The architecture emphasizes automation, safety (never deleting branches), and extensibility, making GitSyncer a powerful solution for multi-platform git management and backup.</span><br />
-<br />
-<a class='textlink' href='https://codeberg.org/snonux/gitsyncer'>View on Codeberg</a><br />
-<a class='textlink' href='https://github.com/snonux/gitsyncer'>View on GitHub</a><br />
-<br />
-<span>---</span><br />
-<br />
<h3 style='display: inline' id='timr'>timr</h3><br />
<br />
<ul>
@@ -207,7 +205,7 @@
<li>📈 Lines of Code: 873</li>
<li>📄 Lines of Documentation: 137</li>
<li>📅 Development Period: 2025-06-25 to 2025-07-19</li>
-<li>🔥 Recent Activity: 64.1 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 74.8 days (avg. age of last 42 commits)</li>
<li>⚖️ License: BSD-2-Clause</li>
<li>🏷️ Latest Release: v0.0.0 (2025-06-29)</li>
<li>🎵 Vibe-Coded: This project has been vibe coded</li>
@@ -233,7 +231,7 @@
<li>📈 Lines of Code: 6160</li>
<li>📄 Lines of Documentation: 162</li>
<li>📅 Development Period: 2025-06-19 to 2025-07-12</li>
-<li>🔥 Recent Activity: 65.9 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 76.6 days (avg. age of last 42 commits)</li>
<li>⚖️ License: BSD-2-Clause</li>
<li>🏷️ Latest Release: v0.9.2 (2025-07-02)</li>
<li>🎵 Vibe-Coded: This project has been vibe coded</li>
@@ -261,7 +259,7 @@
<li>📈 Lines of Code: 12762</li>
<li>📄 Lines of Documentation: 742</li>
<li>📅 Development Period: 2024-01-18 to 2025-07-14</li>
-<li>🔥 Recent Activity: 103.8 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 114.6 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🧪 Status: Experimental (no releases yet)</li>
<li>🤖 AI-Assisted: This project was partially created with the help of generative AI</li>
@@ -285,11 +283,11 @@
<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: 1049</li>
+<li>📊 Commits: 1046</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>🔥 Recent Activity: 105.4 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 116.1 days (avg. age of last 42 commits)</li>
<li>⚖️ License: Apache-2.0</li>
<li>🏷️ Latest Release: v4.3.3 (2024-08-23)</li>
<li>🤖 AI-Assisted: This project was partially created with the help of generative AI</li>
@@ -308,6 +306,29 @@
<br />
<span>---</span><br />
<br />
+<h3 style='display: inline' id='foostats'>foostats</h3><br />
+<br />
+<ul>
+<li>💻 Languages: Perl (100.0%)</li>
+<li>📚 Documentation: Markdown (90.0%), Text (10.0%)</li>
+<li>📊 Commits: 80</li>
+<li>📈 Lines of Code: 1887</li>
+<li>📄 Lines of Documentation: 240</li>
+<li>📅 Development Period: 2023-01-02 to 2025-09-03</li>
+<li>🔥 Recent Activity: 120.7 days (avg. age of last 42 commits)</li>
+<li>⚖️ License: Custom License</li>
+<li>🏷️ Latest Release: v0.1.0 (2025-07-12)</li>
+</ul><br />
+<br />
+<span>**foostats** is a privacy-focused web analytics tool designed specifically for OpenBSD environments, with support for both traditional web (HTTP/HTTPS) and Gemini protocol logs. Its primary function is to generate anonymous, comprehensive site statistics for the foo.zone ecosystem and similar sites, while strictly preserving visitor privacy. This is achieved by hashing all IP addresses with SHA3-512 before storage, ensuring no personally identifiable information is retained. The tool provides detailed daily, monthly, and summary reports in Gemtext format, tracks feed subscribers, and includes robust filtering to block and log suspicious requests based on configurable patterns.</span><br />
+<br />
+<span>Architecturally, foostats is modular, with components for log parsing, filtering, aggregation, replication, and reporting. It processes logs from OpenBSD httpd and Gemini servers (vger/relayd), aggregates statistics, and outputs compressed JSON files and human-readable reports. Its distributed design allows replication and merging of stats across multiple nodes, supporting comprehensive analytics for federated sites. Key features include multi-protocol and IPv4/IPv6 support, privacy-first data handling, and flexible configuration for filtering and reporting, making it a secure and privacy-respecting alternative to conventional analytics platforms.</span><br />
+<br />
+<a class='textlink' href='https://codeberg.org/snonux/foostats'>View on Codeberg</a><br />
+<a class='textlink' href='https://github.com/snonux/foostats'>View on GitHub</a><br />
+<br />
+<span>---</span><br />
+<br />
<h3 style='display: inline' id='wireguardmeshgenerator'>wireguardmeshgenerator</h3><br />
<br />
<ul>
@@ -317,7 +338,7 @@
<li>📈 Lines of Code: 396</li>
<li>📄 Lines of Documentation: 24</li>
<li>📅 Development Period: 2025-04-18 to 2025-05-11</li>
-<li>🔥 Recent Activity: 124.7 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 135.4 days (avg. age of last 42 commits)</li>
<li>⚖️ License: Custom License</li>
<li>🏷️ Latest Release: v1.0.0 (2025-05-11)</li>
</ul><br />
@@ -331,29 +352,6 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='foostats'>foostats</h3><br />
-<br />
-<ul>
-<li>💻 Languages: Perl (100.0%)</li>
-<li>📚 Documentation: Markdown (85.1%), Text (14.9%)</li>
-<li>📊 Commits: 76</li>
-<li>📈 Lines of Code: 1577</li>
-<li>📄 Lines of Documentation: 154</li>
-<li>📅 Development Period: 2023-01-02 to 2025-08-31</li>
-<li>🔥 Recent Activity: 135.0 days (avg. age of last 42 commits)</li>
-<li>⚖️ License: Custom License</li>
-<li>🏷️ Latest Release: v0.1.0 (2025-07-12)</li>
-</ul><br />
-<br />
-<span>**foostats** is a privacy-focused web analytics tool designed specifically for OpenBSD environments, with support for both traditional web (HTTP/HTTPS) and Gemini protocol logs. Its primary function is to generate anonymous, comprehensive site statistics for the foo.zone ecosystem and similar sites, while strictly preserving visitor privacy. This is achieved by hashing all IP addresses with SHA3-512 before storage, ensuring no personally identifiable information is retained. The tool provides detailed daily, monthly, and summary reports in Gemtext format, tracks feed subscribers, and includes robust filtering to block and log suspicious requests based on configurable patterns.</span><br />
-<br />
-<span>Architecturally, foostats is modular, with components for log parsing, filtering, aggregation, replication, and reporting. It processes logs from OpenBSD httpd and Gemini servers (vger/relayd), aggregates statistics, and outputs compressed JSON files and human-readable reports. Its distributed design allows replication and merging of stats across multiple nodes, supporting comprehensive analytics for federated sites. Key features include multi-protocol and IPv4/IPv6 support, privacy-first data handling, and flexible configuration for filtering and reporting, making it a secure and privacy-respecting alternative to conventional analytics platforms.</span><br />
-<br />
-<a class='textlink' href='https://codeberg.org/snonux/foostats'>View on Codeberg</a><br />
-<a class='textlink' href='https://github.com/snonux/foostats'>View on GitHub</a><br />
-<br />
-<span>---</span><br />
-<br />
<h3 style='display: inline' id='ds-sim'>ds-sim</h3><br />
<br />
<ul>
@@ -363,7 +361,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>🔥 Recent Activity: 138.1 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 148.8 days (avg. age of last 42 commits)</li>
<li>⚖️ License: Custom License</li>
<li>🧪 Status: Experimental (no releases yet)</li>
<li>🤖 AI-Assisted: This project was partially created with the help of generative AI</li>
@@ -380,41 +378,18 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='sillybench'>sillybench</h3><br />
-<br />
-<ul>
-<li>💻 Languages: Go (90.9%), Shell (9.1%)</li>
-<li>📚 Documentation: Markdown (100.0%)</li>
-<li>📊 Commits: 5</li>
-<li>📈 Lines of Code: 33</li>
-<li>📄 Lines of Documentation: 3</li>
-<li>📅 Development Period: 2025-04-03 to 2025-04-03</li>
-<li>🔥 Recent Activity: 150.6 days (avg. age of last 42 commits)</li>
-<li>⚖️ License: No license found</li>
-<li>🧪 Status: Experimental (no releases yet)</li>
-</ul><br />
-<br />
-<span>The **Silly Benchmark** project is a simple benchmarking tool designed to compare the performance of code execution between a native FreeBSD system and a Linux virtual machine running under Bhyve (the FreeBSD hypervisor). Its primary purpose is to provide a straightforward, reproducible way to measure and contrast the computational speed or efficiency of these two environments. This can help users or system administrators understand the performance impact of virtualization and the differences between operating systems when running the same workload.</span><br />
-<br />
-<span>Implementation-wise, the project likely consists of a small, easily portable program—often written in C or a scripting language—that performs a set of computational tasks or loops, measuring the time taken to complete them. The key features include its simplicity, ease of use, and focus on raw execution speed rather than complex benchmarking scenarios. The architecture is minimal: the benchmark is run natively on FreeBSD and then inside a Linux VM managed by Bhyve, with results compared to highlight any performance discrepancies attributable to the OS or virtualization overhead. This approach is useful for system tuning, hardware evaluation, or making informed decisions about deployment environments.</span><br />
-<br />
-<a class='textlink' href='https://codeberg.org/snonux/sillybench'>View on Codeberg</a><br />
-<a class='textlink' href='https://github.com/snonux/sillybench'>View on GitHub</a><br />
-<br />
-<span>---</span><br />
-<br />
<h3 style='display: inline' id='gos'>gos</h3><br />
<br />
<ul>
<li>💻 Languages: Go (98.6%), YAML (1.1%), JSON (0.2%)</li>
<li>📚 Documentation: Markdown (100.0%)</li>
-<li>📊 Commits: 384</li>
-<li>📈 Lines of Code: 3951</li>
+<li>📊 Commits: 387</li>
+<li>📈 Lines of Code: 3978</li>
<li>📄 Lines of Documentation: 342</li>
-<li>📅 Development Period: 2024-05-04 to 2025-08-28</li>
-<li>🔥 Recent Activity: 154.1 days (avg. age of last 42 commits)</li>
+<li>📅 Development Period: 2024-05-04 to 2025-09-07</li>
+<li>🔥 Recent Activity: 149.7 days (avg. age of last 42 commits)</li>
<li>⚖️ License: Custom License</li>
-<li>🏷️ Latest Release: v1.0.0 (2025-03-04)</li>
+<li>🏷️ Latest Release: v1.0.3 (2025-09-07)</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 />
@@ -430,6 +405,29 @@
<br />
<span>---</span><br />
<br />
+<h3 style='display: inline' id='sillybench'>sillybench</h3><br />
+<br />
+<ul>
+<li>💻 Languages: Go (90.9%), Shell (9.1%)</li>
+<li>📚 Documentation: Markdown (100.0%)</li>
+<li>📊 Commits: 5</li>
+<li>📈 Lines of Code: 33</li>
+<li>📄 Lines of Documentation: 3</li>
+<li>📅 Development Period: 2025-04-03 to 2025-04-03</li>
+<li>🔥 Recent Activity: 161.3 days (avg. age of last 42 commits)</li>
+<li>⚖️ License: No license found</li>
+<li>🧪 Status: Experimental (no releases yet)</li>
+</ul><br />
+<br />
+<span>The **Silly Benchmark** project is a simple benchmarking tool designed to compare the performance of code execution between a native FreeBSD system and a Linux virtual machine running under Bhyve (the FreeBSD hypervisor). Its primary purpose is to provide a straightforward, reproducible way to measure and contrast the computational speed or efficiency of these two environments. This can help users or system administrators understand the performance impact of virtualization and the differences between operating systems when running the same workload.</span><br />
+<br />
+<span>Implementation-wise, the project likely consists of a small, easily portable program—often written in C or a scripting language—that performs a set of computational tasks or loops, measuring the time taken to complete them. The key features include its simplicity, ease of use, and focus on raw execution speed rather than complex benchmarking scenarios. The architecture is minimal: the benchmark is run natively on FreeBSD and then inside a Linux VM managed by Bhyve, with results compared to highlight any performance discrepancies attributable to the OS or virtualization overhead. This approach is useful for system tuning, hardware evaluation, or making informed decisions about deployment environments.</span><br />
+<br />
+<a class='textlink' href='https://codeberg.org/snonux/sillybench'>View on Codeberg</a><br />
+<a class='textlink' href='https://github.com/snonux/sillybench'>View on GitHub</a><br />
+<br />
+<span>---</span><br />
+<br />
<h3 style='display: inline' id='rcm'>rcm</h3><br />
<br />
<ul>
@@ -439,7 +437,7 @@
<li>📈 Lines of Code: 1373</li>
<li>📄 Lines of Documentation: 48</li>
<li>📅 Development Period: 2024-12-05 to 2025-02-28</li>
-<li>🔥 Recent Activity: 191.4 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 202.1 days (avg. age of last 42 commits)</li>
<li>⚖️ License: Custom License</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -456,15 +454,16 @@
<h3 style='display: inline' id='gemtexter'>gemtexter</h3><br />
<br />
<ul>
-<li>💻 Languages: Shell (68.1%), CSS (28.7%), 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: 466</li>
-<li>📈 Lines of Code: 2268</li>
-<li>📄 Lines of Documentation: 1180</li>
-<li>📅 Development Period: 2021-05-21 to 2025-08-05</li>
-<li>🔥 Recent Activity: 245.5 days (avg. age of last 42 commits)</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>🔥 Recent Activity: 266.0 days (avg. age of last 42 commits)</li>
<li>⚖️ License: GPL-3.0</li>
<li>🏷️ Latest Release: 3.0.0 (2024-10-01)</li>
+<li>🤖 AI-Assisted: This project was partially created with the help of generative AI</li>
</ul><br />
<br />
<span>**Summary of the Gemtexter Project**</span><br />
@@ -478,29 +477,6 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='docker-gpodder-sync-server'>docker-gpodder-sync-server</h3><br />
-<br />
-<ul>
-<li>💻 Languages: Make (100.0%)</li>
-<li>📚 Documentation: Markdown (100.0%)</li>
-<li>📊 Commits: 4</li>
-<li>📈 Lines of Code: 17</li>
-<li>📄 Lines of Documentation: 3</li>
-<li>📅 Development Period: 2024-03-24 to 2025-08-08</li>
-<li>🔥 Recent Activity: 399.5 days (avg. age of last 42 commits)</li>
-<li>⚖️ License: Custom License</li>
-<li>🧪 Status: Experimental (no releases yet)</li>
-</ul><br />
-<br />
-<span>This project provides a Docker-based deployment solution for the GPodder sync server, specifically targeting the open-source [mygpo](https://github.com/gpodder/mygpo) backend. GPodder is a popular podcast manager, and the sync server enables users to synchronize their podcast subscriptions, episode progress, and device data across multiple clients and devices. By containerizing the sync server with Docker, this project simplifies installation, configuration, and maintenance, making it easy to run the service in a consistent and isolated environment regardless of the host system.</span><br />
-<br />
-<span>The implementation leverages Docker to encapsulate all dependencies and runtime requirements of the mygpo server. The provided Dockerfile and configuration scripts automate the setup process, including installing necessary Python packages, configuring the database, and exposing the appropriate network ports. This architecture enables rapid deployment, scalability, and straightforward updates, while also supporting best practices for security and resource management. Key features include reproducible builds, environment variable configuration, and compatibility with orchestration tools like Docker Compose, making it a practical solution for both personal and small-scale public GPodder sync services.</span><br />
-<br />
-<a class='textlink' href='https://codeberg.org/snonux/docker-gpodder-sync-server'>View on Codeberg</a><br />
-<a class='textlink' href='https://github.com/snonux/docker-gpodder-sync-server'>View on GitHub</a><br />
-<br />
-<span>---</span><br />
-<br />
<h3 style='display: inline' id='docker-radicale-server'>docker-radicale-server</h3><br />
<br />
<ul>
@@ -510,7 +486,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>🔥 Recent Activity: 491.0 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 501.7 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -533,7 +509,7 @@
<li>📈 Lines of Code: 917</li>
<li>📄 Lines of Documentation: 33</li>
<li>📅 Development Period: 2024-01-20 to 2025-07-06</li>
-<li>🔥 Recent Activity: 501.3 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 512.0 days (avg. age of last 42 commits)</li>
<li>⚖️ License: MIT</li>
<li>🏷️ Latest Release: v0.0.3 (2025-07-06)</li>
</ul><br />
@@ -560,7 +536,7 @@
<li>📈 Lines of Code: 2851</li>
<li>📄 Lines of Documentation: 52</li>
<li>📅 Development Period: 2023-08-27 to 2025-08-08</li>
-<li>🔥 Recent Activity: 527.1 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 537.8 days (avg. age of last 42 commits)</li>
<li>⚖️ License: MIT</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -574,29 +550,6 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='docker-anki-sync-server'>docker-anki-sync-server</h3><br />
-<br />
-<ul>
-<li>💻 Languages: Docker (54.5%), Make (45.5%)</li>
-<li>📚 Documentation: Markdown (100.0%)</li>
-<li>📊 Commits: 4</li>
-<li>📈 Lines of Code: 33</li>
-<li>📄 Lines of Documentation: 3</li>
-<li>📅 Development Period: 2023-08-13 to 2025-07-31</li>
-<li>🔥 Recent Activity: 534.2 days (avg. age of last 42 commits)</li>
-<li>⚖️ License: MIT</li>
-<li>🧪 Status: Experimental (no releases yet)</li>
-</ul><br />
-<br />
-<span>The **docker-anki-sync-server** project provides a Dockerized solution for running an Anki sync server, which enables users to synchronize their Anki flashcard collections across multiple devices. This is particularly useful for individuals or organizations who want to host their own private Anki synchronization service instead of relying on AnkiWeb, offering greater control over data privacy and server customization. By packaging the sync server within a Docker image, the project simplifies deployment, making it easy to set up and run the server on any system that supports Docker, regardless of the underlying operating system.</span><br />
-<br />
-<span>The implementation centers around a Dockerfile that builds an image containing all necessary dependencies and the Anki sync server software. Key features include portability, reproducibility, and ease of maintenance—users can deploy updates or migrate the server with minimal effort. The architecture typically involves exposing the sync server on a configurable network port, allowing Anki clients to connect and synchronize their data. This approach abstracts away complex environment setup, letting users focus on managing their Anki data rather than server configuration.</span><br />
-<br />
-<a class='textlink' href='https://codeberg.org/snonux/docker-anki-sync-server'>View on Codeberg</a><br />
-<a class='textlink' href='https://github.com/snonux/docker-anki-sync-server'>View on GitHub</a><br />
-<br />
-<span>---</span><br />
-<br />
<h3 style='display: inline' id='gogios'>gogios</h3><br />
<br />
<ul>
@@ -606,7 +559,7 @@
<li>📈 Lines of Code: 1096</li>
<li>📄 Lines of Documentation: 287</li>
<li>📅 Development Period: 2023-04-17 to 2025-06-12</li>
-<li>🔥 Recent Activity: 568.0 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 578.7 days (avg. age of last 42 commits)</li>
<li>⚖️ License: Custom License</li>
<li>🏷️ Latest Release: v1.1.0 (2024-05-03)</li>
<li>🤖 AI-Assisted: This project was partially created with the help of generative AI</li>
@@ -632,7 +585,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>🔥 Recent Activity: 754.1 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 764.8 days (avg. age of last 42 commits)</li>
<li>⚖️ License: Custom License</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -656,7 +609,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>🔥 Recent Activity: 804.1 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 814.8 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🏷️ Latest Release: v1.0.0 (2023-04-29)</li>
</ul><br />
@@ -679,7 +632,7 @@
<li>📈 Lines of Code: 51</li>
<li>📄 Lines of Documentation: 26</li>
<li>📅 Development Period: 2022-06-02 to 2024-04-20</li>
-<li>🔥 Recent Activity: 818.8 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 829.5 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -703,7 +656,7 @@
<li>📈 Lines of Code: 41</li>
<li>📄 Lines of Documentation: 17</li>
<li>📅 Development Period: 2020-01-30 to 2025-04-30</li>
-<li>🔥 Recent Activity: 1112.4 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 1123.1 days (avg. age of last 42 commits)</li>
<li>⚖️ License: GPL-3.0</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -717,27 +670,29 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='algorithms'>algorithms</h3><br />
+<h3 style='display: inline' id='photoalbum'>photoalbum</h3><br />
<br />
<ul>
-<li>💻 Languages: Go (99.2%), Make (0.8%)</li>
+<li>💻 Languages: Shell (80.1%), Make (12.3%), Config (7.6%)</li>
<li>📚 Documentation: Markdown (100.0%)</li>
-<li>📊 Commits: 82</li>
-<li>📈 Lines of Code: 1728</li>
-<li>📄 Lines of Documentation: 18</li>
-<li>📅 Development Period: 2020-07-12 to 2023-04-09</li>
-<li>🔥 Recent Activity: 1483.1 days (avg. age of last 42 commits)</li>
-<li>⚖️ License: Custom License</li>
-<li>🧪 Status: Experimental (no releases yet)</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>🔥 Recent Activity: 1342.6 days (avg. age of last 42 commits)</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>This project is a collection of exercises and implementations based on an Algorithms lecture, designed primarily as a refresher for key algorithmic concepts. It provides a hands-on environment for practicing and reinforcing understanding of fundamental algorithms, such as sorting, searching, and possibly data structures, through practical coding exercises. The project is structured to facilitate both learning and assessment, featuring built-in unit tests to verify correctness and benchmarking tools to evaluate performance.</span><br />
+<span>**Summary:** </span><br />
+<span>The <span class='inlinecode'>photoalbum</span> project is a minimal Bash script designed for Linux systems to automate the creation of static web photo albums. Its primary function is to take a collection of images from a specified directory, process them, and generate a ready-to-deploy static website that displays these photos in an organized album format. This tool is particularly useful for users who want a simple, dependency-light way to publish photo galleries online without relying on complex web frameworks or dynamic content management systems.</span><br />
<br />
-<span>Key features include a modular codebase where each algorithm or exercise is likely implemented in its own file or module, making it easy to navigate and extend. The use of Makefile commands (make test and make bench) streamlines the workflow: make test runs automated unit tests to ensure the algorithms work as expected, while make bench executes performance benchmarks to compare efficiency. This architecture supports iterative development and experimentation, making the project useful for students, educators, or anyone looking to refresh their algorithm skills in a practical, test-driven manner.</span><br />
+<span>**Key Features &amp; Architecture:** </span><br />
+<span><span class='inlinecode'>photoalbum</span> operates through a set of straightforward commands: <span class='inlinecode'>generate</span> (to build the album), <span class='inlinecode'>clean</span> (to remove temporary files), <span class='inlinecode'>version</span> (to display version info), and <span class='inlinecode'>makemake</span> (to set up configuration files and a Makefile). Configuration is handled via a customizable rcfile, allowing users to tailor settings such as source and output directories. The script uses HTML templates, which can be edited for custom album layouts. The workflow involves copying images to an "incoming" folder, running the <span class='inlinecode'>generate</span> command to create the album in a <span class='inlinecode'>dist</span> directory, and optionally cleaning up with <span class='inlinecode'>clean</span>. Its minimalist Bash implementation ensures ease of use, transparency, and compatibility with most Linux environments, making it ideal for users seeking a lightweight, easily customizable static photo album generator.</span><br />
<br />
-<a class='textlink' href='https://codeberg.org/snonux/algorithms'>View on Codeberg</a><br />
-<a class='textlink' href='https://github.com/snonux/algorithms'>View on GitHub</a><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 />
@@ -746,11 +701,11 @@
<ul>
<li>💻 Languages: Ruby (100.0%)</li>
<li>📚 Documentation: Markdown (100.0%)</li>
-<li>📊 Commits: 66</li>
+<li>📊 Commits: 67</li>
<li>📈 Lines of Code: 671</li>
-<li>📄 Lines of Documentation: 19</li>
-<li>📅 Development Period: 2018-05-26 to 2025-01-21</li>
-<li>🔥 Recent Activity: 1484.9 days (avg. age of last 42 commits)</li>
+<li>📄 Lines of Documentation: 26</li>
+<li>📅 Development Period: 2018-05-26 to 2025-09-04</li>
+<li>🔥 Recent Activity: 1437.4 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -768,15 +723,39 @@
<br />
<span>---</span><br />
<br />
+<h3 style='display: inline' id='algorithms'>algorithms</h3><br />
+<br />
+<ul>
+<li>💻 Languages: Go (99.2%), Make (0.8%)</li>
+<li>📚 Documentation: Markdown (100.0%)</li>
+<li>📊 Commits: 82</li>
+<li>📈 Lines of Code: 1728</li>
+<li>📄 Lines of Documentation: 18</li>
+<li>📅 Development Period: 2020-07-12 to 2023-04-09</li>
+<li>🔥 Recent Activity: 1493.8 days (avg. age of last 42 commits)</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>This project is a collection of exercises and implementations based on an Algorithms lecture, designed primarily as a refresher for key algorithmic concepts. It provides a hands-on environment for practicing and reinforcing understanding of fundamental algorithms, such as sorting, searching, and possibly data structures, through practical coding exercises. The project is structured to facilitate both learning and assessment, featuring built-in unit tests to verify correctness and benchmarking tools to evaluate performance.</span><br />
+<br />
+<span>Key features include a modular codebase where each algorithm or exercise is likely implemented in its own file or module, making it easy to navigate and extend. The use of Makefile commands (make test and make bench) streamlines the workflow: make test runs automated unit tests to ensure the algorithms work as expected, while make bench executes performance benchmarks to compare efficiency. This architecture supports iterative development and experimentation, making the project useful for students, educators, or anyone looking to refresh their algorithm skills in a practical, test-driven manner.</span><br />
+<br />
+<a class='textlink' href='https://codeberg.org/snonux/algorithms'>View on Codeberg</a><br />
+<a class='textlink' href='https://github.com/snonux/algorithms'>View on GitHub</a><br />
+<br />
+<span>---</span><br />
+<br />
<h3 style='display: inline' id='foozone'>foo.zone</h3><br />
<br />
<ul>
<li>📚 Documentation: Markdown (100.0%)</li>
-<li>📊 Commits: 3040</li>
+<li>📊 Commits: 3060</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>🔥 Recent Activity: 1498.7 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 1509.4 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -800,7 +779,7 @@
<li>📈 Lines of Code: 51</li>
<li>📄 Lines of Documentation: 69</li>
<li>📅 Development Period: 2014-03-24 to 2022-04-23</li>
-<li>🔥 Recent Activity: 1964.0 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 1974.7 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -822,7 +801,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>🔥 Recent Activity: 2505.6 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 2516.3 days (avg. age of last 42 commits)</li>
<li>⚖️ License: Apache-2.0</li>
<li>🏷️ Latest Release: 0.5.1 (2019-01-04)</li>
</ul><br />
@@ -839,42 +818,16 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='photoalbum'>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: 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>🔥 Recent Activity: 2930.0 days (avg. age of last 42 commits)</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>**Summary:** </span><br />
-<span>The <span class='inlinecode'>photoalbum</span> project is a minimal Bash script designed for Linux systems to automate the creation of static web photo albums. Its primary function is to take a collection of images from a specified directory, process them, and generate a ready-to-deploy static website that displays these photos in an organized album format. This tool is particularly useful for users who want a simple, dependency-light way to publish photo galleries online without relying on complex web frameworks or dynamic content management systems.</span><br />
-<br />
-<span>**Key Features &amp; Architecture:** </span><br />
-<span><span class='inlinecode'>photoalbum</span> operates through a set of straightforward commands: <span class='inlinecode'>generate</span> (to build the album), <span class='inlinecode'>clean</span> (to remove temporary files), <span class='inlinecode'>version</span> (to display version info), and <span class='inlinecode'>makemake</span> (to set up configuration files and a Makefile). Configuration is handled via a customizable rcfile, allowing users to tailor settings such as source and output directories. The script uses HTML templates, which can be edited for custom album layouts. The workflow involves copying images to an "incoming" folder, running the <span class='inlinecode'>generate</span> command to create the album in a <span class='inlinecode'>dist</span> directory, and optionally cleaning up with <span class='inlinecode'>clean</span>. Its minimalist Bash implementation ensures ease of use, transparency, and compatibility with most Linux environments, making it ideal for users seeking a lightweight, easily customizable static photo album generator.</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='staticfarm-apache-handlers'>staticfarm-apache-handlers</h3><br />
<br />
<ul>
-<li>💻 Languages: Perl (93.8%), Make (6.2%)</li>
+<li>💻 Languages: Perl (96.4%), Make (3.6%)</li>
<li>📚 Documentation: Text (100.0%)</li>
<li>📊 Commits: 3</li>
-<li>📈 Lines of Code: 529</li>
+<li>📈 Lines of Code: 919</li>
<li>📄 Lines of Documentation: 12</li>
<li>📅 Development Period: 2015-01-02 to 2021-11-04</li>
-<li>🔥 Recent Activity: 3014.3 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 3025.0 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🏷️ Latest Release: 1.1.3 (2015-01-02)</li>
</ul><br />
@@ -898,7 +851,7 @@
<li>📈 Lines of Code: 18</li>
<li>📄 Lines of Documentation: 49</li>
<li>📅 Development Period: 2014-03-24 to 2021-11-05</li>
-<li>🔥 Recent Activity: 3250.1 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 3260.8 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -923,13 +876,13 @@
<h3 style='display: inline' id='mon'>mon</h3><br />
<br />
<ul>
-<li>💻 Languages: Perl (96.5%), Shell (1.9%), Make (1.2%), Config (0.4%)</li>
+<li>💻 Languages: Perl (96.5%), Shell (1.8%), Make (1.2%), Config (0.4%)</li>
<li>📚 Documentation: Text (100.0%)</li>
<li>📊 Commits: 7</li>
-<li>📈 Lines of Code: 5250</li>
+<li>📈 Lines of Code: 5360</li>
<li>📄 Lines of Documentation: 789</li>
<li>📅 Development Period: 2015-01-02 to 2021-11-05</li>
-<li>🔥 Recent Activity: 3516.8 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 3527.5 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🏷️ Latest Release: 1.0.1 (2015-01-02)</li>
</ul><br />
@@ -957,7 +910,7 @@
<li>📈 Lines of Code: 273</li>
<li>📄 Lines of Documentation: 32</li>
<li>📅 Development Period: 2015-09-29 to 2021-11-05</li>
-<li>🔥 Recent Activity: 3521.0 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 3531.7 days (avg. age of last 42 commits)</li>
<li>⚖️ License: Apache-2.0</li>
<li>🏷️ Latest Release: 0 (2015-10-26)</li>
</ul><br />
@@ -987,7 +940,7 @@
<li>📈 Lines of Code: 1839</li>
<li>📄 Lines of Documentation: 412</li>
<li>📅 Development Period: 2015-01-02 to 2021-11-05</li>
-<li>🔥 Recent Activity: 3600.6 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 3611.3 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🏷️ Latest Release: 1.0.2 (2015-01-02)</li>
</ul><br />
@@ -1015,7 +968,7 @@
<li>📈 Lines of Code: 499</li>
<li>📄 Lines of Documentation: 8</li>
<li>📅 Development Period: 2015-05-24 to 2021-11-03</li>
-<li>🔥 Recent Activity: 3611.3 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 3622.1 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🏷️ Latest Release: 0.1 (2015-06-01)</li>
</ul><br />
@@ -1030,6 +983,28 @@
<br />
<span>---</span><br />
<br />
+<h3 style='display: inline' id='xerl'>xerl</h3><br />
+<br />
+<ul>
+<li>💻 Languages: Perl (98.3%), Config (1.2%), Make (0.5%)</li>
+<li>📊 Commits: 670</li>
+<li>📈 Lines of Code: 1675</li>
+<li>📅 Development Period: 2011-03-06 to 2018-12-22</li>
+<li>🔥 Recent Activity: 3677.7 days (avg. age of last 42 commits)</li>
+<li>⚖️ License: Custom License</li>
+<li>🏷️ Latest Release: v1.0.0 (2018-12-22)</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>This project establishes a Perl coding style guide and best practices framework, particularly tailored for teams working on modular, object-oriented Perl applications. It enforces the use of strict and warnings pragmas, modern Perl features (v5.14+), and a consistent object-oriented approach with explicit method prototypes and object typing. The guide also standardizes naming conventions for public, private, static, and static-private methods, ensuring code clarity and maintainability. Additionally, it integrates tools like Pidy for automatic code formatting and provides mechanisms (like TODO: tags) for tracking unfinished work.</span><br />
+<br />
+<span>The implementation is primarily documentation-driven, meant to be included at the top of Perl modules and packages. Developers are instructed to use specific base classes (e.g., Xerl::Page::Base for universal definitions), follow explicit method signatures, and adhere to naming conventions that distinguish between method types and visibility. The architecture encourages encapsulation (private methods prefixed with _), explicit return values (including undef when appropriate), and modular design. This approach is useful because it reduces ambiguity, streamlines onboarding for new developers, and helps maintain a high standard of code quality across large Perl codebases.</span><br />
+<br />
+<a class='textlink' href='https://codeberg.org/snonux/xerl'>View on Codeberg</a><br />
+<a class='textlink' href='https://github.com/snonux/xerl'>View on GitHub</a><br />
+<br />
+<span>---</span><br />
+<br />
<h3 style='display: inline' id='debroid'>debroid</h3><br />
<br />
<ul>
@@ -1039,7 +1014,7 @@
<li>📈 Lines of Code: 88</li>
<li>📄 Lines of Documentation: 148</li>
<li>📅 Development Period: 2015-06-18 to 2015-12-05</li>
-<li>🔥 Recent Activity: 3715.1 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 3725.8 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -1056,28 +1031,6 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='xerl'>xerl</h3><br />
-<br />
-<ul>
-<li>💻 Languages: Perl (98.4%), Config (1.1%), Make (0.5%)</li>
-<li>📊 Commits: 670</li>
-<li>📈 Lines of Code: 1667</li>
-<li>📅 Development Period: 2011-03-06 to 2017-01-01</li>
-<li>🔥 Recent Activity: 3933.1 days (avg. age of last 42 commits)</li>
-<li>⚖️ License: Custom License</li>
-<li>🏷️ Latest Release: v1.0.0 (2018-12-22)</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>This project establishes a Perl coding style guide and best practices framework, particularly tailored for teams working on modular, object-oriented Perl applications. It enforces the use of strict and warnings pragmas, modern Perl features (v5.14+), and a consistent object-oriented approach with explicit method prototypes and object typing. The guide also standardizes naming conventions for public, private, static, and static-private methods, ensuring code clarity and maintainability. Additionally, it integrates tools like Pidy for automatic code formatting and provides mechanisms (like TODO: tags) for tracking unfinished work.</span><br />
-<br />
-<span>The implementation is primarily documentation-driven, meant to be included at the top of Perl modules and packages. Developers are instructed to use specific base classes (e.g., Xerl::Page::Base for universal definitions), follow explicit method signatures, and adhere to naming conventions that distinguish between method types and visibility. The architecture encourages encapsulation (private methods prefixed with _), explicit return values (including undef when appropriate), and modular design. This approach is useful because it reduces ambiguity, streamlines onboarding for new developers, and helps maintain a high standard of code quality across large Perl codebases.</span><br />
-<br />
-<a class='textlink' href='https://codeberg.org/snonux/xerl'>View on Codeberg</a><br />
-<a class='textlink' href='https://github.com/snonux/xerl'>View on GitHub</a><br />
-<br />
-<span>---</span><br />
-<br />
<h3 style='display: inline' id='fapi'>fapi</h3><br />
<br />
<ul>
@@ -1087,7 +1040,7 @@
<li>📈 Lines of Code: 1681</li>
<li>📄 Lines of Documentation: 539</li>
<li>📅 Development Period: 2014-03-10 to 2021-11-03</li>
-<li>🔥 Recent Activity: 3993.1 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 4003.8 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🏷️ Latest Release: 1.0.2 (2014-11-17)</li>
</ul><br />
@@ -1115,7 +1068,7 @@
<li>📈 Lines of Code: 65</li>
<li>📄 Lines of Documentation: 228</li>
<li>📅 Development Period: 2013-03-22 to 2021-11-04</li>
-<li>🔥 Recent Activity: 4047.5 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 4058.2 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🏷️ Latest Release: 0.0.0.0 (2013-03-22)</li>
</ul><br />
@@ -1139,7 +1092,7 @@
<li>📈 Lines of Code: 136</li>
<li>📄 Lines of Documentation: 96</li>
<li>📅 Development Period: 2013-03-22 to 2021-11-05</li>
-<li>🔥 Recent Activity: 4060.5 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 4071.2 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🏷️ Latest Release: 0.2.0 (2014-07-05)</li>
</ul><br />
@@ -1167,7 +1120,7 @@
<li>📈 Lines of Code: 134</li>
<li>📄 Lines of Documentation: 106</li>
<li>📅 Development Period: 2013-03-22 to 2021-11-05</li>
-<li>🔥 Recent Activity: 4068.0 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 4078.7 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🏷️ Latest Release: 0.1.5 (2014-06-22)</li>
</ul><br />
@@ -1193,7 +1146,7 @@
<li>📈 Lines of Code: 493</li>
<li>📄 Lines of Documentation: 26</li>
<li>📅 Development Period: 2009-09-27 to 2021-11-02</li>
-<li>🔥 Recent Activity: 4111.3 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 4122.0 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🏷️ Latest Release: 0.9.3 (2014-06-14)</li>
</ul><br />
@@ -1217,7 +1170,7 @@
<li>📈 Lines of Code: 286</li>
<li>📄 Lines of Documentation: 144</li>
<li>📅 Development Period: 2013-03-22 to 2021-11-05</li>
-<li>🔥 Recent Activity: 4116.3 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 4127.0 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🏷️ Latest Release: 0.4.3 (2014-06-16)</li>
</ul><br />
@@ -1243,7 +1196,7 @@
<li>📈 Lines of Code: 191</li>
<li>📄 Lines of Documentation: 8</li>
<li>📅 Development Period: 2014-03-24 to 2014-03-24</li>
-<li>🔥 Recent Activity: 4177.6 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 4188.3 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -1265,7 +1218,7 @@
<li>📊 Commits: 7</li>
<li>📈 Lines of Code: 80</li>
<li>📅 Development Period: 2011-07-09 to 2015-01-13</li>
-<li>🔥 Recent Activity: 4257.7 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 4268.4 days (avg. age of last 42 commits)</li>
<li>⚖️ License: Custom License</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -1289,7 +1242,7 @@
<li>📈 Lines of Code: 124</li>
<li>📄 Lines of Documentation: 75</li>
<li>📅 Development Period: 2010-11-05 to 2021-11-05</li>
-<li>🔥 Recent Activity: 4298.3 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 4309.0 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🏷️ Latest Release: 1.0.2 (2014-06-22)</li>
</ul><br />
@@ -1313,7 +1266,7 @@
<li>📈 Lines of Code: 1828</li>
<li>📄 Lines of Documentation: 100</li>
<li>📅 Development Period: 2010-11-05 to 2015-05-23</li>
-<li>🔥 Recent Activity: 4328.4 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 4339.1 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🏷️ Latest Release: 0.7.5 (2014-06-22)</li>
</ul><br />
@@ -1329,11 +1282,11 @@
<h3 style='display: inline' id='perldaemon'>perldaemon</h3><br />
<br />
<ul>
-<li>💻 Languages: Perl (74.2%), Shell (22.2%), Config (3.6%)</li>
+<li>💻 Languages: Perl (72.3%), Shell (23.8%), Config (3.9%)</li>
<li>📊 Commits: 110</li>
-<li>📈 Lines of Code: 659</li>
+<li>📈 Lines of Code: 614</li>
<li>📅 Development Period: 2011-02-05 to 2022-04-21</li>
-<li>🔥 Recent Activity: 4472.6 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 4388.6 days (avg. age of last 42 commits)</li>
<li>⚖️ License: Custom License</li>
<li>🏷️ Latest Release: v1.4 (2022-04-29)</li>
</ul><br />
@@ -1359,7 +1312,7 @@
<li>📈 Lines of Code: 122</li>
<li>📄 Lines of Documentation: 10</li>
<li>📅 Development Period: 2011-01-27 to 2014-06-22</li>
-<li>🔥 Recent Activity: 4708.9 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 4719.6 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🏷️ Latest Release: v0.2 (2011-01-27)</li>
</ul><br />
@@ -1383,7 +1336,7 @@
<li>📈 Lines of Code: 720</li>
<li>📄 Lines of Documentation: 6</li>
<li>📅 Development Period: 2008-06-21 to 2021-11-03</li>
-<li>🔥 Recent Activity: 4771.5 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 4782.2 days (avg. age of last 42 commits)</li>
<li>⚖️ License: Custom License</li>
<li>🏷️ Latest Release: v0.3 (2009-02-08)</li>
</ul><br />
@@ -1400,30 +1353,6 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='ychat'>ychat</h3><br />
-<br />
-<ul>
-<li>💻 Languages: C++ (62.8%), C/C++ (27.1%), HTML (3.1%), Config (2.5%), Perl (1.9%), Shell (1.9%), Make (0.4%), CSS (0.2%)</li>
-<li>📚 Documentation: Text (100.0%)</li>
-<li>📊 Commits: 67</li>
-<li>📈 Lines of Code: 27104</li>
-<li>📄 Lines of Documentation: 109</li>
-<li>📅 Development Period: 2008-05-15 to 2014-07-01</li>
-<li>🔥 Recent Activity: 5372.5 days (avg. age of last 42 commits)</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 free, open-source, HTTP-based chat server written in C++ that allows users to communicate in real time using only a standard web browser—no special client software is required. Designed for portability and performance, yChat runs as a standalone web server (with its own lightweight HTTP engine, yhttpd) and supports POSIX-compliant operating systems like Linux and BSD. Key features include multi-threading (using POSIX threads), modular architecture with dynamically loadable modules, MySQL-based user management, customizable HTML and language templates, and an ncurses-based administration interface. The system is highly configurable via XML-based config files and supports advanced features like session management, logging (including Apache-style logs), and a smart garbage collection engine for efficient resource handling.</span><br />
-<br />
-<span>yChat’s architecture is built around a core C++ engine that handles HTTP requests directly, bypassing the need for external web servers like Apache. It uses hash maps for fast data access, supports CGI scripting, and allows for easy customization of both appearance and functionality through templates and modules. The project is organized into several branches (CURRENT, STABLE, BASIC, LEGACY) to balance stability and feature development, and it provides tools for easy installation, configuration, and administration. Its modular design, performance optimizations, and ease of customization make it a practical solution for organizations or communities seeking a lightweight, browser-accessible chat platform that is easy to deploy and extend.</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='netcalendar'>netcalendar</h3><br />
<br />
<ul>
@@ -1433,7 +1362,7 @@
<li>📈 Lines of Code: 17380</li>
<li>📄 Lines of Documentation: 947</li>
<li>📅 Development Period: 2009-02-07 to 2021-05-01</li>
-<li>🔥 Recent Activity: 5402.2 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 5412.9 days (avg. age of last 42 commits)</li>
<li>⚖️ License: GPL-2.0</li>
<li>🏷️ Latest Release: v0.1 (2009-02-08)</li>
</ul><br />
@@ -1452,47 +1381,49 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='hsbot'>hsbot</h3><br />
+<h3 style='display: inline' id='ychat'>ychat</h3><br />
<br />
<ul>
-<li>💻 Languages: Haskell (98.5%), Make (1.5%)</li>
-<li>📊 Commits: 80</li>
-<li>📈 Lines of Code: 601</li>
-<li>📅 Development Period: 2009-11-22 to 2011-10-17</li>
-<li>🔥 Recent Activity: 5497.9 days (avg. age of last 42 commits)</li>
-<li>⚖️ License: Custom License</li>
-<li>🧪 Status: Experimental (no releases yet)</li>
+<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>🔥 Recent Activity: 5433.2 days (avg. age of last 42 commits)</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>This project appears to be a Haskell-based application or library that interfaces with MySQL databases and provides network functionality. It leverages the HSQL library (specifically, the MySQL driver) for database connectivity, and the Haskell network library for handling network operations such as socket communication or client-server interactions. The key features likely include establishing connections to MySQL databases, executing SQL queries, and possibly serving or consuming data over a network interface.</span><br />
+<span>**yChat** is a free, open-source, HTTP-based chat server written in C++ that allows users to communicate in real time using only a standard web browser—no special client software is required. Designed for portability and performance, yChat runs as a standalone web server (with its own lightweight HTTP engine, yhttpd) and supports POSIX-compliant operating systems like Linux and BSD. Key features include multi-threading (using POSIX threads), modular architecture with dynamically loadable modules, MySQL-based user management, customizable HTML and language templates, and an ncurses-based administration interface. The system is highly configurable via XML-based config files and supports advanced features like session management, logging (including Apache-style logs), and a smart garbage collection engine for efficient resource handling.</span><br />
<br />
-<span>The architecture is modular, relying on external Haskell packages: libghc6-hsql-mysql-dev for database operations and libghc6-network-dev for networking. This separation of concerns allows the project to efficiently manage data storage and retrieval while also supporting network-based communication, making it useful for applications such as web services, data processing tools, or networked applications that require persistent data storage. The use of Haskell ensures strong type safety and reliability in both database and network code.</span><br />
+<span>yChat’s architecture is built around a core C++ engine that handles HTTP requests directly, bypassing the need for external web servers like Apache. It uses hash maps for fast data access, supports CGI scripting, and allows for easy customization of both appearance and functionality through templates and modules. The project is organized into several branches (CURRENT, STABLE, BASIC, LEGACY) to balance stability and feature development, and it provides tools for easy installation, configuration, and administration. Its modular design, performance optimizations, and ease of customization make it a practical solution for organizations or communities seeking a lightweight, browser-accessible chat platform that is easy to deploy and extend.</span><br />
<br />
-<a class='textlink' href='https://codeberg.org/snonux/hsbot'>View on Codeberg</a><br />
-<a class='textlink' href='https://github.com/snonux/hsbot'>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='fype'>fype</h3><br />
+<h3 style='display: inline' id='hsbot'>hsbot</h3><br />
<br />
<ul>
-<li>💻 Languages: C (63.7%), C/C++ (25.3%), HTML (9.2%), Make (1.8%)</li>
-<li>📚 Documentation: Text (100.0%)</li>
-<li>📊 Commits: 99</li>
-<li>📈 Lines of Code: 6450</li>
-<li>📄 Lines of Documentation: 516</li>
-<li>📅 Development Period: 2008-05-15 to 2014-06-30</li>
-<li>🔥 Recent Activity: 5628.2 days (avg. age of last 42 commits)</li>
+<li>💻 Languages: Haskell (98.5%), Make (1.5%)</li>
+<li>📊 Commits: 80</li>
+<li>📈 Lines of Code: 601</li>
+<li>📅 Development Period: 2009-11-22 to 2011-10-17</li>
+<li>🔥 Recent Activity: 5508.6 days (avg. age of last 42 commits)</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: source code repository.</span><br />
+<span>This project appears to be a Haskell-based application or library that interfaces with MySQL databases and provides network functionality. It leverages the HSQL library (specifically, the MySQL driver) for database connectivity, and the Haskell network library for handling network operations such as socket communication or client-server interactions. The key features likely include establishing connections to MySQL databases, executing SQL queries, and possibly serving or consuming data over a network interface.</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 />
+<span>The architecture is modular, relying on external Haskell packages: libghc6-hsql-mysql-dev for database operations and libghc6-network-dev for networking. This separation of concerns allows the project to efficiently manage data storage and retrieval while also supporting network-based communication, making it useful for applications such as web services, data processing tools, or networked applications that require persistent data storage. The use of Haskell ensures strong type safety and reliability in both database and network code.</span><br />
+<br />
+<a class='textlink' href='https://codeberg.org/snonux/hsbot'>View on Codeberg</a><br />
+<a class='textlink' href='https://github.com/snonux/hsbot'>View on GitHub</a><br />
<br />
<span>---</span><br />
<br />
@@ -1504,7 +1435,7 @@
<li>📈 Lines of Code: 0</li>
<li>📄 Lines of Documentation: 7</li>
<li>📅 Development Period: 2008-05-15 to 2015-05-23</li>
-<li>🔥 Recent Activity: 5858.8 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 5869.5 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🏷️ Latest Release: v1.0 (2008-08-24)</li>
</ul><br />
@@ -1516,6 +1447,28 @@
<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='fype'>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>🔥 Recent Activity: 5915.4 days (avg. age of last 42 commits)</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: source code repository.</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 />
<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> |