summaryrefslogtreecommitdiff
path: root/about/showcase.html
diff options
context:
space:
mode:
Diffstat (limited to 'about/showcase.html')
-rw-r--r--about/showcase.html389
1 files changed, 194 insertions, 195 deletions
diff --git a/about/showcase.html b/about/showcase.html
index 366769e2..e7c233f5 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-09-18</span><br />
+<span>Generated on: 2025-09-28</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,16 +25,15 @@
<li>⇢ <a href='#projects'>Projects</a></li>
<li>⇢ ⇢ <a href='#hexai'>hexai</a></li>
<li>⇢ ⇢ <a href='#conf'>conf</a></li>
-<li>⇢ ⇢ <a href='#foozone'>foo.zone</a></li>
+<li>⇢ ⇢ <a href='#foostats'>foostats</a></li>
<li>⇢ ⇢ <a href='#gitsyncer'>gitsyncer</a></li>
<li>⇢ ⇢ <a href='#totalrecall'>totalrecall</a></li>
-<li>⇢ ⇢ <a href='#dtail'>dtail</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='#foostats'>foostats</a></li>
-<li>⇢ ⇢ <a href='#wireguardmeshgenerator'>wireguardmeshgenerator</a></li>
<li>⇢ ⇢ <a href='#gos'>gos</a></li>
+<li>⇢ ⇢ <a href='#dtail'>dtail</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='#rcm'>rcm</a></li>
@@ -50,6 +49,7 @@
<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='#staticfarm-apache-handlers'>staticfarm-apache-handlers</a></li>
@@ -64,12 +64,12 @@
<li>⇢ ⇢ <a href='#template'>template</a></li>
<li>⇢ ⇢ <a href='#muttdelay'>muttdelay</a></li>
<li>⇢ ⇢ <a href='#netdiff'>netdiff</a></li>
+<li>⇢ ⇢ <a href='#pwgrep'>pwgrep</a></li>
<li>⇢ ⇢ <a href='#japi'>japi</a></li>
<li>⇢ ⇢ <a href='#perl-poetry'>perl-poetry</a></li>
<li>⇢ ⇢ <a href='#ipv6test'>ipv6test</a></li>
<li>⇢ ⇢ <a href='#cpuinfo'>cpuinfo</a></li>
<li>⇢ ⇢ <a href='#loadbars'>loadbars</a></li>
-<li>⇢ ⇢ <a href='#pwgrep'>pwgrep</a></li>
<li>⇢ ⇢ <a href='#perldaemon'>perldaemon</a></li>
<li>⇢ ⇢ <a href='#awksite'>awksite</a></li>
<li>⇢ ⇢ <a href='#jsmstrade'>jsmstrade</a></li>
@@ -83,13 +83,13 @@
<br />
<ul>
<li>📦 Total Projects: 55</li>
-<li>📊 Total Commits: 11,075</li>
-<li>📈 Total Lines of Code: 294,461</li>
-<li>📄 Total Lines of Documentation: 240,909</li>
-<li>💻 Languages: Go (28.5%), Java (18.6%), HTML (15.0%), C (6.4%), C++ (6.0%), Perl (5.6%), XML (4.8%), Shell (4.6%), C/C++ (4.2%), Config (1.2%), Ruby (1.0%), HCL (0.9%), YAML (0.6%), Python (0.6%), Make (0.5%), CSS (0.5%), Raku (0.3%), JSON (0.3%), Haskell (0.2%), TOML (0.1%)</li>
-<li>📚 Documentation: Text (92.8%), Markdown (5.8%), LaTeX (1.4%)</li>
+<li>📊 Total Commits: 11,126</li>
+<li>📈 Total Lines of Code: 285,161</li>
+<li>📄 Total Lines of Documentation: 26,755</li>
+<li>💻 Languages: Go (28.2%), Java (19.2%), C++ (13.0%), Shell (7.4%), C/C++ (7.2%), C (7.1%), Perl (6.2%), HTML (4.4%), Config (1.6%), Ruby (1.0%), HCL (1.0%), Make (0.7%), YAML (0.6%), Python (0.6%), CSS (0.5%), Raku (0.3%), JSON (0.3%), XML (0.2%), Haskell (0.2%), TOML (0.1%)</li>
+<li>📚 Documentation: Text (44.9%), Markdown (42.6%), LaTeX (12.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>🤖 AI-Assisted Projects (including vibe-coded): 9 out of 55 (16.4% AI-assisted, 83.6% 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 />
@@ -97,15 +97,15 @@
<h3 style='display: inline' id='hexai'>hexai</h3><br />
<br />
<ul>
-<li>💻 Languages: Go (66.1%), HTML (33.9%)</li>
+<li>💻 Languages: Go (68.1%), HTML (31.9%)</li>
<li>📚 Documentation: Markdown (100.0%)</li>
-<li>📊 Commits: 208</li>
-<li>📈 Lines of Code: 22125</li>
-<li>📄 Lines of Documentation: 546</li>
-<li>📅 Development Period: 2025-08-01 to 2025-09-17</li>
-<li>🔥 Recent Activity: 7.8 days (avg. age of last 42 commits)</li>
+<li>📊 Commits: 229</li>
+<li>📈 Lines of Code: 25355</li>
+<li>📄 Lines of Documentation: 629</li>
+<li>📅 Development Period: 2025-08-01 to 2025-09-27</li>
+<li>🔥 Recent Activity: 9.8 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
-<li>🏷️ Latest Release: v0.11.3 (2025-09-17)</li>
+<li>🏷️ Latest Release: v0.12.1 (2025-09-26)</li>
<li>🤖 AI-Assisted: This project was partially created with the help of generative AI</li>
</ul><br />
<br />
@@ -123,13 +123,13 @@
<h3 style='display: inline' id='conf'>conf</h3><br />
<br />
<ul>
-<li>💻 Languages: Perl (31.3%), Shell (23.2%), YAML (23.0%), Config (5.6%), CSS (5.4%), TOML (4.8%), Ruby (4.2%), Lua (1.2%), Docker (0.6%), JSON (0.5%)</li>
-<li>📚 Documentation: Text (69.9%), Markdown (30.1%)</li>
-<li>📊 Commits: 995</li>
-<li>📈 Lines of Code: 6017</li>
-<li>📄 Lines of Documentation: 1188</li>
-<li>📅 Development Period: 2021-12-28 to 2025-09-17</li>
-<li>🔥 Recent Activity: 12.9 days (avg. age of last 42 commits)</li>
+<li>💻 Languages: Perl (31.6%), Shell (23.1%), YAML (22.9%), Config (5.6%), CSS (5.4%), TOML (4.8%), Ruby (4.2%), Lua (1.2%), Docker (0.6%), JSON (0.5%)</li>
+<li>📚 Documentation: Text (73.7%), Markdown (26.3%)</li>
+<li>📊 Commits: 998</li>
+<li>📈 Lines of Code: 6043</li>
+<li>📄 Lines of Documentation: 1356</li>
+<li>📅 Development Period: 2021-12-28 to 2025-09-27</li>
+<li>🔥 Recent Activity: 20.3 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -142,27 +142,26 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='foozone'>foo.zone</h3><br />
+<h3 style='display: inline' id='foostats'>foostats</h3><br />
<br />
<ul>
-<li>💻 Languages: HTML (70.5%), XML (28.8%), Shell (0.3%), CSS (0.2%), Go (0.1%)</li>
-<li>📚 Documentation: Text (75.5%), Markdown (24.5%)</li>
-<li>📊 Commits: 3072</li>
-<li>📈 Lines of Code: 46613</li>
-<li>📄 Lines of Documentation: 298</li>
-<li>📅 Development Period: 2021-04-29 to 2025-09-13</li>
-<li>🔥 Recent Activity: 42.0 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>
+<li>💻 Languages: Perl (100.0%)</li>
+<li>📚 Documentation: Markdown (54.4%), Text (45.6%)</li>
+<li>📊 Commits: 95</li>
+<li>📈 Lines of Code: 1859</li>
+<li>📄 Lines of Documentation: 421</li>
+<li>📅 Development Period: 2023-01-02 to 2025-09-26</li>
+<li>🔥 Recent Activity: 48.6 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>This project hosts the static files for the foo.zone website, which is accessible via both the Gemini protocol (gemini://foo.zone) and the web (https://foo.zone). The repository is organized with separate branches for each content format—such as Gemtext, HTML, and Markdown—allowing the site to be served in multiple formats tailored to different protocols and user preferences. This structure makes it easy to maintain and update content across platforms, ensuring consistency and flexibility.</span><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>The site is maintained using a suite of open-source tools, including Neovim for editing, GNU Bash for scripting, and ShellCheck for shell script linting. It is deployed on OpenBSD, utilizing the vger Gemini server (managed via relayd and inetd) for Gemini content and the native httpd server for the HTML site. Source code and hosting are managed through Codeberg. The static content is generated with the help of the gemtexter tool, which streamlines the process of converting and managing content in various formats. This architecture emphasizes simplicity, security, and portability, making it a robust solution for multi-protocol static site hosting.</span><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/foo.zone'>View on Codeberg</a><br />
-<a class='textlink' href='https://github.com/snonux/foo.zone'>View on GitHub</a><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 />
@@ -175,7 +174,7 @@
<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: 55.5 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 65.5 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>
@@ -199,7 +198,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: 58.3 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 68.3 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>
@@ -220,34 +219,6 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='dtail'>dtail</h3><br />
-<br />
-<ul>
-<li>💻 Languages: Go (91.0%), Shell (4.1%), JSON (2.1%), C (1.4%), Make (0.9%), C/C++ (0.2%), Config (0.1%)</li>
-<li>📚 Documentation: Text (98.3%), Markdown (1.7%)</li>
-<li>📊 Commits: 1046</li>
-<li>📈 Lines of Code: 27726</li>
-<li>📄 Lines of Documentation: 220214</li>
-<li>📅 Development Period: 2020-01-09 to 2025-07-04</li>
-<li>🔥 Recent Activity: 78.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>
-</ul><br />
-<br />
-<a href='showcase/dtail/image-1.png'><img alt='dtail screenshot' title='dtail screenshot' src='showcase/dtail/image-1.png' /></a><br />
-<br />
-<span>DTail is an open-source distributed log management tool designed for DevOps engineers to efficiently tail, cat, and grep log files across thousands of servers simultaneously. Written in Go, it supports advanced features such as on-the-fly decompression (gzip, zstd) and distributed MapReduce-style aggregations, making it highly useful for large-scale log analysis and troubleshooting in complex environments. By leveraging SSH for secure communication and adhering to UNIX file permission models, DTail ensures both security and compatibility with existing infrastructure.</span><br />
-<br />
-<a href='showcase/dtail/image-2.gif'><img alt='dtail screenshot' title='dtail screenshot' src='showcase/dtail/image-2.gif' /></a><br />
-<br />
-<span>The architecture consists of a client-server model: DTail servers run on each target machine, while a DTail client—typically on an engineer’s workstation—connects to all servers concurrently to aggregate and process logs in real time. This design enables scalable, parallel log operations and can be extended to a serverless mode for added flexibility. DTail’s implementation emphasizes performance, security, and ease of use, making it a valuable tool for organizations needing to monitor and analyze distributed logs efficiently.</span><br />
-<br />
-<a class='textlink' href='https://codeberg.org/snonux/dtail'>View on Codeberg</a><br />
-<a class='textlink' href='https://github.com/snonux/dtail'>View on GitHub</a><br />
-<br />
-<span>---</span><br />
-<br />
<h3 style='display: inline' id='timr'>timr</h3><br />
<br />
<ul>
@@ -257,7 +228,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: 82.2 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 92.3 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>
@@ -283,7 +254,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: 84.0 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 94.0 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>
@@ -306,12 +277,12 @@
<br />
<ul>
<li>💻 Languages: Go (50.2%), C (43.4%), Raku (4.4%), Make (1.1%), C/C++ (0.9%)</li>
-<li>📚 Documentation: Text (63.6%), Markdown (36.4%)</li>
-<li>📊 Commits: 331</li>
+<li>📚 Documentation: Text (69.0%), Markdown (31.0%)</li>
+<li>📊 Commits: 332</li>
<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: 122.0 days (avg. age of last 42 commits)</li>
+<li>📄 Lines of Documentation: 684</li>
+<li>📅 Development Period: 2024-01-18 to 2025-09-21</li>
+<li>🔥 Recent Activity: 128.1 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>
@@ -330,26 +301,58 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='foostats'>foostats</h3><br />
+<h3 style='display: inline' id='gos'>gos</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: 128.2 days (avg. age of last 42 commits)</li>
+<li>💻 Languages: Go (99.8%), JSON (0.2%)</li>
+<li>📚 Documentation: Markdown (100.0%)</li>
+<li>📊 Commits: 394</li>
+<li>📈 Lines of Code: 4102</li>
+<li>📄 Lines of Documentation: 357</li>
+<li>📅 Development Period: 2024-05-04 to 2025-09-24</li>
+<li>🔥 Recent Activity: 130.0 days (avg. age of last 42 commits)</li>
<li>⚖️ License: Custom License</li>
-<li>🏷️ Latest Release: v0.1.0 (2025-07-12)</li>
+<li>🏷️ Latest Release: v1.2.0 (2025-09-24)</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 />
+<a href='showcase/gos/image-1.png'><img alt='gos screenshot' title='gos screenshot' src='showcase/gos/image-1.png' /></a><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 />
+<span>**Gos (Go Social Media)** is a command-line tool written in Go that serves as a self-hosted, scriptable alternative to Buffer.com for scheduling and managing social media posts. Designed for users who prefer automation, privacy, and control, Gos enables posting to Mastodon and LinkedIn (with OAuth2 authentication for LinkedIn) directly from the terminal. It supports features like dry-run mode for safe testing, flexible configuration via flags and environment variables, image previews for LinkedIn, and a pseudo-platform ("Noop") for tracking posts without publishing. Gos is particularly useful for developers, power users, or anyone who wants to automate their social media workflow, avoid third-party service limitations, and integrate posting into their own scripts or shell startup routines.</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 />
+<a href='showcase/gos/image-2.png'><img alt='gos screenshot' title='gos screenshot' src='showcase/gos/image-2.png' /></a><br />
+<br />
+<span>**Architecturally**, Gos operates on a file-based queueing system: users compose posts as text files (optionally using the companion <span class='inlinecode'>gosc</span> composer tool) in a designated directory. Posts are tagged via filenames or inline tags to control target platforms, priorities, and behaviors (e.g., immediate posting, pausing, or requiring confirmation). When Gos runs, it processes these files, moves them through platform-specific queues, and posts them according to user-defined cadence, priorities, and pause intervals. The configuration is managed via a JSON file storing API credentials and scheduling preferences. Gos also supports generating Gemini Gemtext summaries of posted content for blogging or archival purposes. The system is highly scriptable, easy to integrate into automated workflows, and can be synced or backed up using tools like Syncthing, making it a robust, extensible solution for personal or small-team social media management.</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='dtail'>dtail</h3><br />
+<br />
+<ul>
+<li>💻 Languages: Go (93.9%), JSON (2.8%), C (2.0%), Make (0.5%), C/C++ (0.3%), Config (0.2%), Shell (0.2%), Docker (0.1%)</li>
+<li>📚 Documentation: Text (79.4%), Markdown (20.6%)</li>
+<li>📊 Commits: 1046</li>
+<li>📈 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: 133.6 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>
+</ul><br />
+<br />
+<a href='showcase/dtail/image-1.png'><img alt='dtail screenshot' title='dtail screenshot' src='showcase/dtail/image-1.png' /></a><br />
+<br />
+<span>DTail is an open-source distributed log management tool designed for DevOps engineers to efficiently tail, cat, and grep log files across thousands of servers simultaneously. Written in Go, it supports advanced features such as on-the-fly decompression (gzip, zstd) and distributed MapReduce-style aggregations, making it highly useful for large-scale log analysis and troubleshooting in complex environments. By leveraging SSH for secure communication and adhering to UNIX file permission models, DTail ensures both security and compatibility with existing infrastructure.</span><br />
+<br />
+<a href='showcase/dtail/image-2.gif'><img alt='dtail screenshot' title='dtail screenshot' src='showcase/dtail/image-2.gif' /></a><br />
+<br />
+<span>The architecture consists of a client-server model: DTail servers run on each target machine, while a DTail client—typically on an engineer’s workstation—connects to all servers concurrently to aggregate and process logs in real time. This design enables scalable, parallel log operations and can be extended to a serverless mode for added flexibility. DTail’s implementation emphasizes performance, security, and ease of use, making it a valuable tool for organizations needing to monitor and analyze distributed logs efficiently.</span><br />
+<br />
+<a class='textlink' href='https://codeberg.org/snonux/dtail'>View on Codeberg</a><br />
+<a class='textlink' href='https://github.com/snonux/dtail'>View on GitHub</a><br />
<br />
<span>---</span><br />
<br />
@@ -362,7 +365,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: 142.9 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 152.9 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 />
@@ -376,33 +379,6 @@
<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.3%)</li>
-<li>📚 Documentation: Markdown (100.0%)</li>
-<li>📊 Commits: 389</li>
-<li>📈 Lines of Code: 3996</li>
-<li>📄 Lines of Documentation: 352</li>
-<li>📅 Development Period: 2024-05-04 to 2025-09-16</li>
-<li>🔥 Recent Activity: 146.8 days (avg. age of last 42 commits)</li>
-<li>⚖️ License: Custom License</li>
-<li>🏷️ Latest Release: v1.1.0 (2025-09-16)</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 (Go Social Media)** is a command-line tool written in Go that serves as a self-hosted, scriptable alternative to Buffer.com for scheduling and managing social media posts. Designed for users who prefer automation, privacy, and control, Gos enables posting to Mastodon and LinkedIn (with OAuth2 authentication for LinkedIn) directly from the terminal. It supports features like dry-run mode for safe testing, flexible configuration via flags and environment variables, image previews for LinkedIn, and a pseudo-platform ("Noop") for tracking posts without publishing. Gos is particularly useful for developers, power users, or anyone who wants to automate their social media workflow, avoid third-party service limitations, and integrate posting into their own scripts or shell startup routines.</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>**Architecturally**, Gos operates on a file-based queueing system: users compose posts as text files (optionally using the companion <span class='inlinecode'>gosc</span> composer tool) in a designated directory. Posts are tagged via filenames or inline tags to control target platforms, priorities, and behaviors (e.g., immediate posting, pausing, or requiring confirmation). When Gos runs, it processes these files, moves them through platform-specific queues, and posts them according to user-defined cadence, priorities, and pause intervals. The configuration is managed via a JSON file storing API credentials and scheduling preferences. Gos also supports generating Gemini Gemtext summaries of posted content for blogging or archival purposes. The system is highly scriptable, easy to integrate into automated workflows, and can be synced or backed up using tools like Syncthing, making it a robust, extensible solution for personal or small-team social media management.</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='ds-sim'>ds-sim</h3><br />
<br />
<ul>
@@ -412,7 +388,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: 156.2 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 166.2 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>
@@ -438,7 +414,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>🔥 Recent Activity: 168.8 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 178.8 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -461,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: 209.5 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 219.5 days (avg. age of last 42 commits)</li>
<li>⚖️ License: Custom License</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -484,7 +460,7 @@
<li>📈 Lines of Code: 2285</li>
<li>📄 Lines of Documentation: 1180</li>
<li>📅 Development Period: 2021-05-21 to 2025-08-31</li>
-<li>🔥 Recent Activity: 254.9 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 264.9 days (avg. age of last 42 commits)</li>
<li>⚖️ License: GPL-3.0</li>
<li>🏷️ Latest Release: 3.0.0 (2024-10-01)</li>
</ul><br />
@@ -509,7 +485,7 @@
<li>📈 Lines of Code: 1133</li>
<li>📄 Lines of Documentation: 78</li>
<li>📅 Development Period: 2024-01-20 to 2025-09-13</li>
-<li>🔥 Recent Activity: 475.4 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 485.4 days (avg. age of last 42 commits)</li>
<li>⚖️ License: MIT</li>
<li>🏷️ Latest Release: v0.0.4 (2025-09-13)</li>
</ul><br />
@@ -536,7 +512,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: 509.1 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 519.1 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -559,7 +535,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: 545.3 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 555.3 days (avg. age of last 42 commits)</li>
<li>⚖️ License: MIT</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -582,7 +558,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: 586.2 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 596.2 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>
@@ -608,7 +584,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: 772.2 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 782.2 days (avg. age of last 42 commits)</li>
<li>⚖️ License: Custom License</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -632,7 +608,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: 822.3 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 832.3 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 />
@@ -655,7 +631,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: 837.0 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 847.0 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -679,7 +655,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: 1130.5 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 1140.5 days (avg. age of last 42 commits)</li>
<li>⚖️ License: GPL-3.0</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -702,7 +678,7 @@
<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: 1350.1 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 1360.1 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 />
@@ -728,7 +704,7 @@
<li>📈 Lines of Code: 671</li>
<li>📄 Lines of Documentation: 26</li>
<li>📅 Development Period: 2018-05-26 to 2025-09-04</li>
-<li>🔥 Recent Activity: 1444.9 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 1454.9 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -755,7 +731,7 @@
<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: 1501.3 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 1511.3 days (avg. age of last 42 commits)</li>
<li>⚖️ License: Custom License</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -770,6 +746,29 @@
<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: 3078</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: 1526.8 days (avg. age of last 42 commits)</li>
+<li>⚖️ License: No license found</li>
+<li>🧪 Status: Experimental (no releases yet)</li>
+</ul><br />
+<span>⚠️ **Notice**: This project appears to be finished, obsolete, or no longer maintained. Last meaningful activity was over 2 years ago. Use at your own risk.</span><br />
+<br />
+<span>This project hosts the static files for the foo.zone website, which is accessible via both the Gemini protocol (gemini://foo.zone) and the web (https://foo.zone). The repository is organized with separate branches for each content format—such as Gemtext, HTML, and Markdown—allowing the site to be served in multiple formats tailored to different protocols and user preferences. This structure makes it easy to maintain and update content across platforms, ensuring consistency and flexibility.</span><br />
+<br />
+<span>The site is maintained using a suite of open-source tools, including Neovim for editing, GNU Bash for scripting, and ShellCheck for shell script linting. It is deployed on OpenBSD, utilizing the vger Gemini server (managed via relayd and inetd) for Gemini content and the native httpd server for the HTML site. Source code and hosting are managed through Codeberg. The static content is generated with the help of the gemtexter tool, which streamlines the process of converting and managing content in various formats. This architecture emphasizes simplicity, security, and portability, making it a robust solution for multi-protocol static site hosting.</span><br />
+<br />
+<a class='textlink' href='https://codeberg.org/snonux/foo.zone'>View on Codeberg</a><br />
+<a class='textlink' href='https://github.com/snonux/foo.zone'>View on GitHub</a><br />
+<br />
+<span>---</span><br />
+<br />
<h3 style='display: inline' id='perl-c-fibonacci'>perl-c-fibonacci</h3><br />
<br />
<ul>
@@ -779,7 +778,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: 1982.2 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 1992.2 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -801,7 +800,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: 2523.7 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 2533.7 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 />
@@ -827,7 +826,7 @@
<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: 3032.4 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 3042.4 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 />
@@ -851,7 +850,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: 3268.3 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 3278.3 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -882,7 +881,7 @@
<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: 3535.0 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 3545.0 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 />
@@ -910,7 +909,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: 3539.2 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 3549.2 days (avg. age of last 42 commits)</li>
<li>⚖️ License: Apache-2.0</li>
<li>🏷️ Latest Release: 0 (2015-10-26)</li>
</ul><br />
@@ -940,7 +939,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: 3618.8 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 3628.8 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 />
@@ -968,7 +967,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: 3629.5 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 3639.5 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 />
@@ -990,7 +989,7 @@
<li>📊 Commits: 670</li>
<li>📈 Lines of Code: 1675</li>
<li>📅 Development Period: 2011-03-06 to 2018-12-22</li>
-<li>🔥 Recent Activity: 3685.2 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 3695.2 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 />
@@ -1014,7 +1013,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: 3733.3 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 3743.3 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -1040,7 +1039,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: 4011.3 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 4021.3 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 />
@@ -1068,7 +1067,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: 4065.7 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 4075.7 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 />
@@ -1092,7 +1091,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: 4078.7 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 4088.7 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 />
@@ -1120,7 +1119,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: 4086.2 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 4096.2 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 />
@@ -1137,6 +1136,30 @@
<br />
<span>---</span><br />
<br />
+<h3 style='display: inline' id='pwgrep'>pwgrep</h3><br />
+<br />
+<ul>
+<li>💻 Languages: Shell (85.0%), Make (15.0%)</li>
+<li>📚 Documentation: Text (80.8%), Markdown (19.2%)</li>
+<li>📊 Commits: 142</li>
+<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: 4139.5 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 />
+<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>**pwgrep** is a lightweight password manager designed for Unix-like systems, implemented primarily in Bash and GNU AWK. It securely stores and retrieves passwords by encrypting them with GPG (GNU Privacy Guard), ensuring that sensitive information remains protected. Version control for password files is handled using an RCS (Revision Control System) such as Git, allowing users to track changes, revert to previous versions, and maintain an audit trail of password updates. This approach leverages familiar command-line tools, making it accessible to users comfortable with shell environments.</span><br />
+<br />
+<span>The core features of pwgrep include encrypted password storage, easy retrieval and search functionality (using AWK for pattern matching), and robust version control integration. The architecture is modular and script-based: Bash scripts orchestrate user interactions and file management, AWK handles efficient searching within password files, GPG provides encryption/decryption, and Git (or another RCS) manages version history. This combination offers a secure, auditable, and scriptable solution for password management without relying on heavyweight external applications or GUIs.</span><br />
+<br />
+<a class='textlink' href='https://codeberg.org/snonux/pwgrep'>View on Codeberg</a><br />
+<a class='textlink' href='https://github.com/snonux/pwgrep'>View on GitHub</a><br />
+<br />
+<span>---</span><br />
+<br />
<h3 style='display: inline' id='japi'>japi</h3><br />
<br />
<ul>
@@ -1146,7 +1169,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: 4134.5 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 4144.5 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 />
@@ -1172,7 +1195,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: 4195.8 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 4205.8 days (avg. age of last 42 commits)</li>
<li>⚖️ License: No license found</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -1194,7 +1217,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: 4275.8 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 4285.8 days (avg. age of last 42 commits)</li>
<li>⚖️ License: Custom License</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -1218,7 +1241,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: 4316.5 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 4326.5 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 />
@@ -1242,7 +1265,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: 4346.6 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 4356.6 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 />
@@ -1255,38 +1278,14 @@
<br />
<span>---</span><br />
<br />
-<h3 style='display: inline' id='pwgrep'>pwgrep</h3><br />
-<br />
-<ul>
-<li>💻 Languages: Shell (85.0%), Make (15.0%)</li>
-<li>📚 Documentation: Text (72.4%), Markdown (27.6%)</li>
-<li>📊 Commits: 142</li>
-<li>📈 Lines of Code: 493</li>
-<li>📄 Lines of Documentation: 29</li>
-<li>📅 Development Period: 2009-09-27 to 2015-05-23</li>
-<li>🔥 Recent Activity: 4360.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 />
-<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>**pwgrep** is a lightweight password manager designed for Unix-like systems, implemented primarily in Bash and GNU AWK. It securely stores and retrieves passwords by encrypting them with GPG (GNU Privacy Guard), ensuring that sensitive information remains protected. Version control for password files is handled using an RCS (Revision Control System) such as Git, allowing users to track changes, revert to previous versions, and maintain an audit trail of password updates. This approach leverages familiar command-line tools, making it accessible to users comfortable with shell environments.</span><br />
-<br />
-<span>The core features of pwgrep include encrypted password storage, easy retrieval and search functionality (using AWK for pattern matching), and robust version control integration. The architecture is modular and script-based: Bash scripts orchestrate user interactions and file management, AWK handles efficient searching within password files, GPG provides encryption/decryption, and Git (or another RCS) manages version history. This combination offers a secure, auditable, and scriptable solution for password management without relying on heavyweight external applications or GUIs.</span><br />
-<br />
-<a class='textlink' href='https://codeberg.org/snonux/pwgrep'>View on Codeberg</a><br />
-<a class='textlink' href='https://github.com/snonux/pwgrep'>View on GitHub</a><br />
-<br />
-<span>---</span><br />
-<br />
<h3 style='display: inline' id='perldaemon'>perldaemon</h3><br />
<br />
<ul>
-<li>💻 Languages: Perl (72.3%), Shell (23.8%), Config (3.9%)</li>
+<li>💻 Languages: Perl (74.2%), Shell (22.2%), Config (3.6%)</li>
<li>📊 Commits: 110</li>
-<li>📈 Lines of Code: 614</li>
+<li>📈 Lines of Code: 659</li>
<li>📅 Development Period: 2011-02-05 to 2022-04-21</li>
-<li>🔥 Recent Activity: 4396.0 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 4500.8 days (avg. age of last 42 commits)</li>
<li>⚖️ License: Custom License</li>
<li>🏷️ Latest Release: v1.4 (2022-04-29)</li>
</ul><br />
@@ -1312,7 +1311,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: 4727.1 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 4737.1 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 />
@@ -1336,7 +1335,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: 4789.7 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 4799.7 days (avg. age of last 42 commits)</li>
<li>⚖️ License: Custom License</li>
<li>🏷️ Latest Release: v0.3 (2009-02-08)</li>
</ul><br />
@@ -1356,13 +1355,13 @@
<h3 style='display: inline' id='ychat'>ychat</h3><br />
<br />
<ul>
-<li>💻 Languages: C++ (52.1%), C/C++ (21.3%), Shell (20.1%), HTML (2.5%), Config (2.1%), Perl (1.5%), Make (0.3%)</li>
+<li>💻 Languages: C++ (50.4%), Shell (21.3%), C/C++ (20.8%), Perl (2.3%), HTML (2.3%), Config (2.2%), Make (0.7%), CSS (0.1%)</li>
<li>📚 Documentation: Text (100.0%)</li>
<li>📊 Commits: 67</li>
-<li>📈 Lines of Code: 33823</li>
-<li>📄 Lines of Documentation: 109</li>
+<li>📈 Lines of Code: 73818</li>
+<li>📄 Lines of Documentation: 127</li>
<li>📅 Development Period: 2008-05-15 to 2014-07-01</li>
-<li>🔥 Recent Activity: 5344.6 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 5391.1 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 />
@@ -1386,7 +1385,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: 5420.4 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 5430.4 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 />
@@ -1414,7 +1413,7 @@
<li>📈 Lines of Code: 14582</li>
<li>📄 Lines of Documentation: 2903</li>
<li>📅 Development Period: 2008-05-15 to 2022-04-03</li>
-<li>🔥 Recent Activity: 5456.7 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 5466.7 days (avg. age of last 42 commits)</li>
<li>⚖️ License: Custom License</li>
<li>🏷️ Latest Release: v1.0 (2008-08-24)</li>
</ul><br />
@@ -1438,7 +1437,7 @@
<li>📊 Commits: 80</li>
<li>📈 Lines of Code: 601</li>
<li>📅 Development Period: 2009-11-22 to 2011-10-17</li>
-<li>🔥 Recent Activity: 5516.0 days (avg. age of last 42 commits)</li>
+<li>🔥 Recent Activity: 5526.0 days (avg. age of last 42 commits)</li>
<li>⚖️ License: Custom License</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />
@@ -1456,13 +1455,13 @@
<h3 style='display: inline' id='fype'>fype</h3><br />
<br />
<ul>
-<li>💻 Languages: C (67.9%), C/C++ (23.6%), HTML (6.9%), Make (1.6%)</li>
-<li>📚 Documentation: Text (61.4%), LaTeX (38.6%)</li>
+<li>💻 Languages: C (72.1%), C/C++ (20.7%), HTML (5.7%), Make (1.5%)</li>
+<li>📚 Documentation: Text (71.3%), LaTeX (28.7%)</li>
<li>📊 Commits: 99</li>
-<li>📈 Lines of Code: 8622</li>
-<li>📄 Lines of Documentation: 1474</li>
-<li>📅 Development Period: 2008-05-15 to 2014-06-30</li>
-<li>🔥 Recent Activity: 5840.1 days (avg. age of last 42 commits)</li>
+<li>📈 Lines of Code: 10196</li>
+<li>📄 Lines of Documentation: 1741</li>
+<li>📅 Development Period: 2008-05-15 to 2021-11-03</li>
+<li>🔥 Recent Activity: 5687.8 days (avg. age of last 42 commits)</li>
<li>⚖️ License: Custom License</li>
<li>🧪 Status: Experimental (no releases yet)</li>
</ul><br />