diff options
| author | Paul Buetow <paul@buetow.org> | 2025-08-16 09:51:46 +0300 |
|---|---|---|
| committer | Paul Buetow <paul@buetow.org> | 2025-08-16 09:51:46 +0300 |
| commit | 5f7a79a4c06de6d411c1c6ca33e989383b928520 (patch) | |
| tree | 5e933372b7679598f022b47702186b4cca91b146 /about/showcase.html | |
| parent | 272315eff72ac34926776deb87f7f00c89b1a8a8 (diff) | |
Update content for html
Diffstat (limited to 'about/showcase.html')
| -rw-r--r-- | about/showcase.html | 435 |
1 files changed, 217 insertions, 218 deletions
diff --git a/about/showcase.html b/about/showcase.html index c18e0bab..49710c12 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-08</span><br /> +<span>Generated on: 2025-08-16</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 /> @@ -24,7 +24,6 @@ <li>⇢ <a href='#overall-statistics'>Overall Statistics</a></li> <li>⇢ <a href='#projects'>Projects</a></li> <li>⇢ ⇢ <a href='#rexfiles'>rexfiles</a></li> -<li>⇢ ⇢ <a href='#foozone'>foo.zone</a></li> <li>⇢ ⇢ <a href='#totalrecall'>totalrecall</a></li> <li>⇢ ⇢ <a href='#gitsyncer'>gitsyncer</a></li> <li>⇢ ⇢ <a href='#timr'>timr</a></li> @@ -34,15 +33,15 @@ <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='#foostats'>foostats</a></li> +<li>⇢ ⇢ <a href='#gos'>gos</a></li> <li>⇢ ⇢ <a href='#rcm'>rcm</a></li> -<li>⇢ ⇢ <a href='#quicklogger'>quicklogger</a></li> <li>⇢ ⇢ <a href='#docker-gpodder-sync-server'>docker-gpodder-sync-server</a></li> -<li>⇢ ⇢ <a href='#docker-anki-sync-server'>docker-anki-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='#docker-radicale-server'>docker-radicale-server</a></li> <li>⇢ ⇢ <a href='#gorum'>gorum</a></li> <li>⇢ ⇢ <a href='#guprecords'>guprecords</a></li> <li>⇢ ⇢ <a href='#randomjournalpage'>randomjournalpage</a></li> @@ -51,6 +50,7 @@ <li>⇢ ⇢ <a href='#photoalbum'>photoalbum</a></li> <li>⇢ ⇢ <a href='#algorithms'>algorithms</a></li> <li>⇢ ⇢ <a href='#geheim'>geheim</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> @@ -74,23 +74,23 @@ <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='#hsbot'>hsbot</a></li> -<li>⇢ ⇢ <a href='#fype'>fype</a></li> +<li>⇢ ⇢ <a href='#ychat'>ychat</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: 56</li> -<li>📊 Total Commits: 10,717</li> -<li>📈 Total Lines of Code: 215,469</li> -<li>📄 Total Lines of Documentation: 22,558</li> -<li>💻 Languages: Go (28.8%), Java (18.8%), C (9.4%), C++ (8.2%), Perl (7.4%), XML (6.3%), C/C++ (5.8%), Shell (5.6%), HTML (1.7%), Config (1.7%), Ruby (1.3%), HCL (1.3%), Python (0.8%), Make (0.7%), YAML (0.6%), Raku (0.4%), JSON (0.4%), CSS (0.3%), Haskell (0.3%), TOML (0.2%)</li> -<li>📚 Documentation: Text (50.8%), Markdown (47.0%), LaTeX (2.2%)</li> +<li>📊 Total Commits: 10,762</li> +<li>📈 Total Lines of Code: 208,392</li> +<li>📄 Total Lines of Documentation: 22,008</li> +<li>💻 Languages: Go (29.7%), Java (19.4%), C++ (9.7%), C (9.2%), Perl (7.9%), Shell (6.7%), C/C++ (6.4%), Config (1.9%), HTML (1.8%), Ruby (1.4%), HCL (1.3%), YAML (0.9%), Make (0.9%), Python (0.8%), Raku (0.4%), CSS (0.4%), JSON (0.4%), XML (0.3%), Haskell (0.3%), TOML (0.2%)</li> +<li>📚 Documentation: Text (49.0%), Markdown (48.4%), LaTeX (2.6%)</li> <li>🎵 Vibe-Coded Projects: 4 out of 56 (7.1%)</li> -<li>🤖 AI-Assisted Projects (including vibe-coded): 9 out of 56 (16.1% AI-assisted, 83.9% human-only)</li> +<li>🤖 AI-Assisted Projects (including vibe-coded): 8 out of 56 (14.3% AI-assisted, 85.7% human-only)</li> <li>🚀 Release Status: 34 released, 22 experimental (60.7% with releases, 39.3% experimental)</li> </ul><br /> <h2 style='display: inline' id='projects'>Projects</h2><br /> @@ -98,13 +98,13 @@ <h3 style='display: inline' id='rexfiles'>rexfiles</h3><br /> <br /> <ul> -<li>💻 Languages: Perl (30.7%), Shell (25.7%), YAML (15.7%), TOML (6.9%), Config (6.4%), CSS (6.3%), Ruby (4.7%), Lua (1.4%), Make (0.8%), Docker (0.8%), JSON (0.5%), INI (0.1%)</li> -<li>📚 Documentation: Text (77.7%), Markdown (22.3%)</li> -<li>📊 Commits: 922</li> -<li>📈 Lines of Code: 5167</li> -<li>📄 Lines of Documentation: 1069</li> -<li>📅 Development Period: 2021-12-28 to 2025-08-07</li> -<li>🔥 Recent Activity: 7.3 days (avg. age of last 42 commits)</li> +<li>💻 Languages: Perl (28.0%), YAML (24.3%), Shell (23.3%), TOML (6.2%), Config (5.8%), CSS (5.7%), Ruby (4.3%), Lua (1.2%), Docker (0.7%), JSON (0.5%), INI (0.1%)</li> +<li>📚 Documentation: Text (70.2%), Markdown (29.8%)</li> +<li>📊 Commits: 947</li> +<li>📈 Lines of Code: 5715</li> +<li>📄 Lines of Documentation: 1183</li> +<li>📅 Development Period: 2021-12-28 to 2025-08-13</li> +<li>🔥 Recent Activity: 7.4 days (avg. age of last 42 commits)</li> <li>⚖️ License: No license found</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -113,32 +113,8 @@ <br /> <span>The project consists of three main components: **dotfiles** management for personal development environment configuration (bash, fish shell, helix editor, tmux, etc.), **frontends** for managing production OpenBSD servers with services like DNS (nsd), web servers (httpd), mail (OpenSMTPD), SSL certificates (ACME), and monitoring systems, and **babylon5** containing Docker container startup scripts for self-hosted applications. The implementation leverages Rex's declarative syntax to define tasks for package installation, file management, service configuration, and system state management, with templates for configuration files and support for multiple operating systems (OpenBSD, FreeBSD, Fedora Linux, Termux). This approach provides a KISS (Keep It Simple, Stupid) alternative to more complex configuration management tools while maintaining the ability to manage both local development environments and production infrastructure consistently.</span><br /> <br /> -<a class='textlink' href='https://codeberg.org/snonux/rexfiles'>View on Codeberg</a><br /> -<a class='textlink' href='https://github.com/snonux/rexfiles'>View on GitHub</a><br /> -<br /> -<span>---</span><br /> -<br /> -<h3 style='display: inline' id='foozone'>foo.zone</h3><br /> -<br /> -<ul> -<li>💻 Languages: XML (98.3%), Shell (1.2%), Go (0.5%)</li> -<li>📚 Documentation: Text (75.3%), Markdown (24.7%)</li> -<li>📊 Commits: 3017</li> -<li>📈 Lines of Code: 13274</li> -<li>📄 Lines of Documentation: 295</li> -<li>📅 Development Period: 2021-04-29 to 2025-08-07</li> -<li>🔥 Recent Activity: 9.5 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> -</ul><br /> -<br /> -<span>This is **foo.zone**, a personal blog and technical website belonging to Paul Buetow, a Site Reliability Engineer based in Sofia, Bulgaria. The project is a static website that serves as a comprehensive platform for sharing technical knowledge, book notes, and personal experiences in the fields of system administration, DevOps, and programming.</span><br /> -<br /> -<span>The site is built using **Gemtexter**, a static site generator that creates both HTML and Gemini protocol content from markdown sources. The architecture is refreshingly simple and follows KISS principles, with content organized into several key sections: a main blog feed (gemfeed) with over 100 technical posts dating back to 2008, detailed book notes and summaries, project documentation (including tools like DTail for distributed log tailing), and personal resources. The website is served by OpenBSD using relayd and httpd, demonstrating the author's preference for robust, security-focused Unix systems. The project emphasizes clean, semantic HTML, custom CSS styling, and accessibility, while maintaining both web and Gemini protocol compatibility for broader reach across different internet communities.</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/conf'>View on Codeberg</a><br /> +<a class='textlink' href='https://github.com/snonux/conf'>View on GitHub</a><br /> <br /> <span>---</span><br /> <br /> @@ -151,7 +127,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: 17.1 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 24.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> @@ -179,7 +155,7 @@ <li>📈 Lines of Code: 9166</li> <li>📄 Lines of Documentation: 2484</li> <li>📅 Development Period: 2025-06-23 to 2025-07-25</li> -<li>🔥 Recent Activity: 24.7 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 32.4 days (avg. age of last 42 commits)</li> <li>⚖️ License: BSD-2-Clause</li> <li>🏷️ Latest Release: v0.8.6 (2025-07-25)</li> <li>🎵 Vibe-Coded: This project has been vibe coded</li> @@ -203,7 +179,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: 41.1 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 48.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> @@ -227,7 +203,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: 42.9 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 50.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> @@ -255,7 +231,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: 80.9 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 88.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,7 +261,7 @@ <li>📈 Lines of Code: 20091</li> <li>📄 Lines of Documentation: 5674</li> <li>📅 Development Period: 2020-01-09 to 2025-06-20</li> -<li>🔥 Recent Activity: 82.4 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 90.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> @@ -313,7 +289,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: 101.7 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 109.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 /> @@ -336,7 +312,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: 115.1 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 122.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> @@ -362,7 +338,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: 127.7 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 135.4 days (avg. age of last 42 commits)</li> <li>⚖️ License: No license found</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -376,6 +352,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 (85.1%), Text (14.9%)</li> +<li>📊 Commits: 72</li> +<li>📈 Lines of Code: 1599</li> +<li>📄 Lines of Documentation: 154</li> +<li>📅 Development Period: 2023-01-02 to 2025-08-09</li> +<li>🔥 Recent Activity: 144.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>Based on the README and project structure, **foostats** is a privacy-respecting web analytics tool written in Perl specifically designed for OpenBSD systems. It processes both traditional HTTP/HTTPS logs and Gemini protocol logs to generate comprehensive traffic statistics while maintaining visitor privacy through SHA3-512 IP hashing. The tool is built for the foo.zone ecosystem and similar sites that need analytics without compromising user privacy.</span><br /> +<br /> +<span>The project implements a modular architecture with seven core components: FileHelper for I/O operations, DateHelper for date management, Logreader for log parsing, Filter for security filtering, Aggregator for statistics collection, FileOutputter for compressed JSON storage, Replicator for multi-node data sharing, Merger for combining statistics, and Reporter for generating human-readable Gemtext reports. It supports distributed deployments with replication between partner nodes and includes security features like suspicious request filtering based on configurable patterns (blocking common attack vectors like WordPress admin paths and PHP files).</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='gos'>gos</h3><br /> <br /> <ul> @@ -385,7 +384,7 @@ <li>📈 Lines of Code: 3967</li> <li>📄 Lines of Documentation: 324</li> <li>📅 Development Period: 2024-05-04 to 2025-07-12</li> -<li>🔥 Recent Activity: 140.8 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 148.5 days (avg. age of last 42 commits)</li> <li>⚖️ License: Custom License</li> <li>🏷️ Latest Release: v1.0.0 (2025-03-04)</li> </ul><br /> @@ -403,29 +402,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: 70</li> -<li>📈 Lines of Code: 1586</li> -<li>📄 Lines of Documentation: 154</li> -<li>📅 Development Period: 2023-01-02 to 2025-07-12</li> -<li>🔥 Recent Activity: 148.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>Based on the README and project structure, **foostats** is a privacy-respecting web analytics tool written in Perl specifically designed for OpenBSD systems. It processes both traditional HTTP/HTTPS logs and Gemini protocol logs to generate comprehensive traffic statistics while maintaining visitor privacy through SHA3-512 IP hashing. The tool is built for the foo.zone ecosystem and similar sites that need analytics without compromising user privacy.</span><br /> -<br /> -<span>The project implements a modular architecture with seven core components: FileHelper for I/O operations, DateHelper for date management, Logreader for log parsing, Filter for security filtering, Aggregator for statistics collection, FileOutputter for compressed JSON storage, Replicator for multi-node data sharing, Merger for combining statistics, and Reporter for generating human-readable Gemtext reports. It supports distributed deployments with replication between partner nodes and includes security features like suspicious request filtering based on configurable patterns (blocking common attack vectors like WordPress admin paths and PHP files).</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='rcm'>rcm</h3><br /> <br /> <ul> @@ -435,7 +411,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: 168.4 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 176.1 days (avg. age of last 42 commits)</li> <li>⚖️ License: Custom License</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -449,6 +425,52 @@ <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: 384.3 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 is a **Docker containerization wrapper for a GPodder sync server**, specifically built around the micro-gpodder-server implementation from https://github.com/bohwaz/micro-gpodder-server. GPodder is a podcast client that allows users to synchronize their podcast subscriptions and episode states across multiple devices. The sync server enables this synchronization by providing a centralized service that podcast clients can connect to for managing subscriptions, episode progress, and playback history.</span><br /> +<br /> +<span>The project is implemented as a simple Docker build system with a Makefile that provides convenient commands for building, running, and deploying the containerized service. The actual server code is included as a git submodule, while this wrapper provides infrastructure automation including data persistence through volume mounting (<span class='inlinecode'>./data</span> to <span class='inlinecode'>/var/www/server/data</span>), network configuration (port 8080 exposure), and AWS ECR deployment capabilities. This approach makes it easy to deploy a self-hosted GPodder sync server with minimal setup, useful for podcast enthusiasts who want to maintain their own synchronization service rather than relying on third-party 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> +<li>💻 Languages: Make (57.5%), Docker (42.5%)</li> +<li>📚 Documentation: Markdown (100.0%)</li> +<li>📊 Commits: 5</li> +<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: 475.7 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>This project is a **Docker containerization setup for Radicale**, a CalDAV and CardDAV server written in Python. Radicale is a lightweight, standards-compliant calendar and contacts server that allows users to synchronize their calendars and address books across multiple devices and applications. The project provides a complete Docker image and deployment configuration that makes it easy to run a personal or small-team calendar/contacts server.</span><br /> +<br /> +<span>The implementation uses Alpine Linux as the base image for a minimal footprint, installs Python 3 and Radicale via pip, and configures the server with HTTP basic authentication using htpasswd. The setup includes persistent storage for collections (calendars/contacts) and authentication data through Docker volumes, exposes the service on port 8080, and includes a Makefile for easy building and deployment. The project also supports pushing to AWS ECR for cloud deployment, making it suitable for both local development and production use cases where you need a self-hosted alternative to cloud-based calendar services.</span><br /> +<br /> +<a class='textlink' href='https://codeberg.org/snonux/docker-radicale-server'>View on Codeberg</a><br /> +<a class='textlink' href='https://github.com/snonux/docker-radicale-server'>View on GitHub</a><br /> +<br /> +<span>---</span><br /> +<br /> <h3 style='display: inline' id='quicklogger'>quicklogger</h3><br /> <br /> <ul> @@ -458,7 +480,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: 478.4 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 486.1 days (avg. age of last 42 commits)</li> <li>⚖️ License: MIT</li> <li>🏷️ Latest Release: v0.0.3 (2025-07-06)</li> </ul><br /> @@ -476,26 +498,26 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='docker-gpodder-sync-server'>docker-gpodder-sync-server</h3><br /> +<h3 style='display: inline' id='terraform'>terraform</h3><br /> <br /> <ul> -<li>💻 Languages: Make (100.0%)</li> +<li>💻 Languages: HCL (96.6%), Make (1.9%), YAML (1.5%)</li> <li>📚 Documentation: Markdown (100.0%)</li> -<li>📊 Commits: 3</li> -<li>📈 Lines of Code: 12</li> -<li>📄 Lines of Documentation: 3</li> -<li>📅 Development Period: 2024-03-24 to 2024-03-24</li> -<li>🔥 Recent Activity: 502.2 days (avg. age of last 42 commits)</li> -<li>⚖️ License: Custom License</li> +<li>📊 Commits: 125</li> +<li>📈 Lines of Code: 2851</li> +<li>📄 Lines of Documentation: 52</li> +<li>📅 Development Period: 2023-08-27 to 2025-08-08</li> +<li>🔥 Recent Activity: 511.8 days (avg. age of last 42 commits)</li> +<li>⚖️ License: MIT</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> <br /> -<span>This project is a **Docker containerization wrapper for a GPodder sync server**, specifically built around the micro-gpodder-server implementation from https://github.com/bohwaz/micro-gpodder-server. GPodder is a podcast client that allows users to synchronize their podcast subscriptions and episode states across multiple devices. The sync server enables this synchronization by providing a centralized service that podcast clients can connect to for managing subscriptions, episode progress, and playback history.</span><br /> +<span>This is a comprehensive personal cloud infrastructure project built with Terraform that deploys a multi-tier AWS architecture for hosting self-hosted services. The infrastructure is organized into modular components: <span class='inlinecode'>org-buetow-base</span> provides the foundation (VPC, subnets, EFS storage, ECR), <span class='inlinecode'>org-buetow-bastion</span> creates a bastion host for secure access, <span class='inlinecode'>org-buetow-elb</span> sets up application load balancing, and <span class='inlinecode'>org-buetow-ecs</span> runs containerized services on AWS Fargate. The project also includes an EKS cluster option with EFS CSI driver integration for Kubernetes workloads.</span><br /> <br /> -<span>The project is implemented as a simple Docker build system with a Makefile that provides convenient commands for building, running, and deploying the containerized service. The actual server code is included as a git submodule, while this wrapper provides infrastructure automation including data persistence through volume mounting (<span class='inlinecode'>./data</span> to <span class='inlinecode'>/var/www/server/data</span>), network configuration (port 8080 exposure), and AWS ECR deployment capabilities. This approach makes it easy to deploy a self-hosted GPodder sync server with minimal setup, useful for podcast enthusiasts who want to maintain their own synchronization service rather than relying on third-party services.</span><br /> +<span>The system is designed to host multiple personal services including Anki sync server, Audiobookshelf, Vaultwarden, Syncthing, Radicale (CalDAV/CardDAV), and others, all with persistent storage via EFS and secure TLS termination. The architecture follows AWS best practices with remote state management in S3, proper networking isolation, and automated backups, making it useful for individuals wanting to run their own private cloud services with enterprise-grade reliability and security.</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 /> +<a class='textlink' href='https://codeberg.org/snonux/terraform'>View on Codeberg</a><br /> +<a class='textlink' href='https://github.com/snonux/terraform'>View on GitHub</a><br /> <br /> <span>---</span><br /> <br /> @@ -508,7 +530,7 @@ <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: 511.2 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 518.9 days (avg. age of last 42 commits)</li> <li>⚖️ License: MIT</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -522,29 +544,6 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='terraform'>terraform</h3><br /> -<br /> -<ul> -<li>💻 Languages: HCL (96.6%), Make (1.9%), YAML (1.5%)</li> -<li>📚 Documentation: Markdown (100.0%)</li> -<li>📊 Commits: 124</li> -<li>📈 Lines of Code: 2850</li> -<li>📄 Lines of Documentation: 52</li> -<li>📅 Development Period: 2023-08-27 to 2025-08-07</li> -<li>🔥 Recent Activity: 518.2 days (avg. age of last 42 commits)</li> -<li>⚖️ License: MIT</li> -<li>🧪 Status: Experimental (no releases yet)</li> -</ul><br /> -<br /> -<span>This is a comprehensive personal cloud infrastructure project built with Terraform that deploys a multi-tier AWS architecture for hosting self-hosted services. The infrastructure is organized into modular components: <span class='inlinecode'>org-buetow-base</span> provides the foundation (VPC, subnets, EFS storage, ECR), <span class='inlinecode'>org-buetow-bastion</span> creates a bastion host for secure access, <span class='inlinecode'>org-buetow-elb</span> sets up application load balancing, and <span class='inlinecode'>org-buetow-ecs</span> runs containerized services on AWS Fargate. The project also includes an EKS cluster option with EFS CSI driver integration for Kubernetes workloads.</span><br /> -<br /> -<span>The system is designed to host multiple personal services including Anki sync server, Audiobookshelf, Vaultwarden, Syncthing, Radicale (CalDAV/CardDAV), and others, all with persistent storage via EFS and secure TLS termination. The architecture follows AWS best practices with remote state management in S3, proper networking isolation, and automated backups, making it useful for individuals wanting to run their own private cloud services with enterprise-grade reliability and security.</span><br /> -<br /> -<a class='textlink' href='https://codeberg.org/snonux/terraform'>View on Codeberg</a><br /> -<a class='textlink' href='https://github.com/snonux/terraform'>View on GitHub</a><br /> -<br /> -<span>---</span><br /> -<br /> <h3 style='display: inline' id='gogios'>gogios</h3><br /> <br /> <ul> @@ -554,7 +553,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: 545.0 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 552.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> @@ -571,29 +570,6 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='docker-radicale-server'>docker-radicale-server</h3><br /> -<br /> -<ul> -<li>💻 Languages: Docker (53.1%), Make (46.9%)</li> -<li>📚 Documentation: Markdown (100.0%)</li> -<li>📊 Commits: 4</li> -<li>📈 Lines of Code: 32</li> -<li>📄 Lines of Documentation: 3</li> -<li>📅 Development Period: 2023-12-31 to 2023-12-31</li> -<li>🔥 Recent Activity: 585.7 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>This project is a **Docker containerization setup for Radicale**, a CalDAV and CardDAV server written in Python. Radicale is a lightweight, standards-compliant calendar and contacts server that allows users to synchronize their calendars and address books across multiple devices and applications. The project provides a complete Docker image and deployment configuration that makes it easy to run a personal or small-team calendar/contacts server.</span><br /> -<br /> -<span>The implementation uses Alpine Linux as the base image for a minimal footprint, installs Python 3 and Radicale via pip, and configures the server with HTTP basic authentication using htpasswd. The setup includes persistent storage for collections (calendars/contacts) and authentication data through Docker volumes, exposes the service on port 8080, and includes a Makefile for easy building and deployment. The project also supports pushing to AWS ECR for cloud deployment, making it suitable for both local development and production use cases where you need a self-hosted alternative to cloud-based calendar services.</span><br /> -<br /> -<a class='textlink' href='https://codeberg.org/snonux/docker-radicale-server'>View on Codeberg</a><br /> -<a class='textlink' href='https://github.com/snonux/docker-radicale-server'>View on GitHub</a><br /> -<br /> -<span>---</span><br /> -<br /> <h3 style='display: inline' id='gorum'>gorum</h3><br /> <br /> <ul> @@ -603,7 +579,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: 731.1 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 738.8 days (avg. age of last 42 commits)</li> <li>⚖️ License: Custom License</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -627,7 +603,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: 781.1 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 788.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 /> @@ -650,7 +626,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: 795.9 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 803.5 days (avg. age of last 42 commits)</li> <li>⚖️ License: No license found</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -674,7 +650,7 @@ <li>📈 Lines of Code: 1585</li> <li>📄 Lines of Documentation: 778</li> <li>📅 Development Period: 2021-05-21 to 2023-07-17</li> -<li>🔥 Recent Activity: 844.5 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 852.2 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 /> @@ -698,7 +674,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: 1089.4 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 1097.1 days (avg. age of last 42 commits)</li> <li>⚖️ License: GPL-3.0</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -721,7 +697,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: 1309.0 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 1316.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 /> @@ -745,7 +721,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: 1460.1 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 1467.8 days (avg. age of last 42 commits)</li> <li>⚖️ License: Custom License</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -769,7 +745,7 @@ <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: 1461.9 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 1469.6 days (avg. age of last 42 commits)</li> <li>⚖️ License: No license found</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -785,6 +761,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: 3032</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: 1483.4 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 is **foo.zone**, a personal blog and technical website belonging to Paul Buetow, a Site Reliability Engineer based in Sofia, Bulgaria. The project is a static website that serves as a comprehensive platform for sharing technical knowledge, book notes, and personal experiences in the fields of system administration, DevOps, and programming.</span><br /> +<br /> +<span>The site is built using **Gemtexter**, a static site generator that creates both HTML and Gemini protocol content from markdown sources. The architecture is refreshingly simple and follows KISS principles, with content organized into several key sections: a main blog feed (gemfeed) with over 100 technical posts dating back to 2008, detailed book notes and summaries, project documentation (including tools like DTail for distributed log tailing), and personal resources. The website is served by OpenBSD using relayd and httpd, demonstrating the author's preference for robust, security-focused Unix systems. The project emphasizes clean, semantic HTML, custom CSS styling, and accessibility, while maintaining both web and Gemini protocol compatibility for broader reach across different internet communities.</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> @@ -794,7 +793,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: 1941.1 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 1948.7 days (avg. age of last 42 commits)</li> <li>⚖️ License: No license found</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -818,7 +817,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: 2482.6 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 2490.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 /> @@ -844,7 +843,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: 2991.3 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 2999.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 /> @@ -868,7 +867,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: 3227.2 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 3234.9 days (avg. age of last 42 commits)</li> <li>⚖️ License: No license found</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -892,7 +891,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: 3493.9 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 3501.6 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 /> @@ -916,7 +915,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: 3498.0 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 3505.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 /> @@ -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: 3577.7 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 3585.4 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 /> @@ -964,7 +963,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: 3588.4 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 3596.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 /> @@ -986,7 +985,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: 3644.0 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 3651.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 /> @@ -1012,7 +1011,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: 3692.1 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 3699.8 days (avg. age of last 42 commits)</li> <li>⚖️ License: No license found</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -1038,7 +1037,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: 3970.1 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 3977.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 /> @@ -1062,7 +1061,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: 4024.6 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 4032.3 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 /> @@ -1086,7 +1085,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: 4037.5 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 4045.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 /> @@ -1110,7 +1109,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: 4045.0 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 4052.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 /> @@ -1134,7 +1133,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: 4088.3 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 4096.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 /> @@ -1158,7 +1157,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: 4093.4 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 4101.1 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 /> @@ -1182,7 +1181,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: 4154.6 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 4162.3 days (avg. age of last 42 commits)</li> <li>⚖️ License: No license found</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -1204,7 +1203,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: 4234.7 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 4242.4 days (avg. age of last 42 commits)</li> <li>⚖️ License: Custom License</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -1228,7 +1227,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: 4275.3 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 4283.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 /> @@ -1252,7 +1251,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: 4305.4 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 4313.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 /> @@ -1270,11 +1269,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: 4449.6 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 4362.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 /> @@ -1298,7 +1297,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: 4685.9 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 4693.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 /> @@ -1322,7 +1321,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: 4748.6 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 4756.3 days (avg. age of last 42 commits)</li> <li>⚖️ License: Custom License</li> <li>🏷️ Latest Release: v0.3 (2009-02-08)</li> </ul><br /> @@ -1339,32 +1338,6 @@ <br /> <span>---</span><br /> <br /> -<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>📚 Documentation: Text (100.0%)</li> -<li>📊 Commits: 67</li> -<li>📈 Lines of Code: 33823</li> -<li>📄 Lines of Documentation: 109</li> -<li>📅 Development Period: 2008-05-15 to 2014-07-01</li> -<li>🔥 Recent Activity: 5303.4 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>Based on my analysis of the codebase, here's a concise summary of the yChat project:</span><br /> -<br /> -<span>**yChat** is a web-based chat server written in C++ that functions as a standalone HTTP server without requiring external web server dependencies. It allows users to participate in multi-room chat sessions using standard web browsers, with no special client software needed. The system supports user registration, authentication via session IDs, customizable HTML templates, and multi-language support through XML configuration files.</span><br /> -<br /> -<span>The architecture is built around several key managers: a socket manager for handling HTTP connections, a chat manager for core functionality, an HTML template manager for dynamic content generation, and a modular system supporting dynamically loadable command modules. It uses hash maps for efficient O(1) data retrieval, POSIX threads for concurrent request handling, and includes advanced features like SSL support, MySQL database integration, garbage collection for memory management, and comprehensive logging. The codebase also includes related projects like yhttpd (a lightweight HTTP server) and ycurses (a terminal interface library), making it a comprehensive communication platform designed for performance and extensibility.</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> @@ -1374,7 +1347,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: 5379.3 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 5387.0 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 /> @@ -1400,7 +1373,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: 5474.9 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 5482.6 days (avg. age of last 42 commits)</li> <li>⚖️ License: Custom License</li> <li>🧪 Status: Experimental (no releases yet)</li> </ul><br /> @@ -1415,27 +1388,29 @@ <br /> <span>---</span><br /> <br /> -<h3 style='display: inline' id='fype'>fype</h3><br /> +<h3 style='display: inline' id='ychat'>ychat</h3><br /> <br /> <ul> -<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: 10196</li> -<li>📄 Lines of Documentation: 1741</li> -<li>📅 Development Period: 2008-05-15 to 2021-11-03</li> -<li>🔥 Recent Activity: 5636.6 days (avg. age of last 42 commits)</li> -<li>⚖️ License: Custom License</li> -<li>🧪 Status: Experimental (no releases yet)</li> +<li>💻 Languages: C++ (49.6%), Shell (21.8%), C/C++ (20.3%), Perl (2.8%), Config (2.2%), HTML (2.0%), Make (1.1%), CSS (0.2%)</li> +<li>📚 Documentation: Text (100.0%)</li> +<li>📊 Commits: 67</li> +<li>📈 Lines of Code: 40780</li> +<li>📄 Lines of Documentation: 27</li> +<li>📅 Development Period: 2008-05-15 to 2010-11-21</li> +<li>🔥 Recent Activity: 5727.0 days (avg. age of last 42 commits)</li> +<li>⚖️ License: No license found</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>**Fype** is a 32-bit scripting language interpreter written in C that aims to be "at least as good as AWK" while providing a different syntax and some unique features. Created by Paul C. Buetow as a fun project, Fype supports variables, functions, procedures, loops, arrays, and control structures with features like variable synonyms (references), nested functions/procedures, and automatic type conversion. The language uses a simple syntax with statements ending in semicolons and supports both global procedures (which share scope with their callers) and lexically-scoped functions.</span><br /> +<span>Based on my analysis of the codebase, here's a concise summary of the yChat project:</span><br /> <br /> -<span>The implementation is built using a straightforward top-down parser with a maximum lookahead of 1 token, simultaneously parsing and interpreting code (meaning syntax errors are only detected at runtime). The architecture is modular with separate components for scanning/tokenization, symbol management, garbage collection, type conversion, and data structures (including arrays, lists, hash tables, stacks, and trees). The interpreter is designed for Unix-like systems (BSD/Linux) and includes built-in functions for I/O, math operations, bitwise operations, system calls like <span class='inlinecode'>fork</span>, and memory management with garbage collection.</span><br /> +<span>**yChat** is a web-based chat server written in C++ that functions as a standalone HTTP server without requiring external web server dependencies. It allows users to participate in multi-room chat sessions using standard web browsers, with no special client software needed. The system supports user registration, authentication via session IDs, customizable HTML templates, and multi-language support through XML configuration files.</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 built around several key managers: a socket manager for handling HTTP connections, a chat manager for core functionality, an HTML template manager for dynamic content generation, and a modular system supporting dynamically loadable command modules. It uses hash maps for efficient O(1) data retrieval, POSIX threads for concurrent request handling, and includes advanced features like SSL support, MySQL database integration, garbage collection for memory management, and comprehensive logging. The codebase also includes related projects like yhttpd (a lightweight HTTP server) and ycurses (a terminal interface library), making it a comprehensive communication platform designed for performance and extensibility.</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 /> @@ -1447,7 +1422,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: 5835.9 days (avg. age of last 42 commits)</li> +<li>🔥 Recent Activity: 5843.6 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 /> @@ -1459,6 +1434,30 @@ <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: 5889.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** is a 32-bit scripting language interpreter written in C that aims to be "at least as good as AWK" while providing a different syntax and some unique features. Created by Paul C. Buetow as a fun project, Fype supports variables, functions, procedures, loops, arrays, and control structures with features like variable synonyms (references), nested functions/procedures, and automatic type conversion. The language uses a simple syntax with statements ending in semicolons and supports both global procedures (which share scope with their callers) and lexically-scoped functions.</span><br /> +<br /> +<span>The implementation is built using a straightforward top-down parser with a maximum lookahead of 1 token, simultaneously parsing and interpreting code (meaning syntax errors are only detected at runtime). The architecture is modular with separate components for scanning/tokenization, symbol management, garbage collection, type conversion, and data structures (including arrays, lists, hash tables, stacks, and trees). The interpreter is designed for Unix-like systems (BSD/Linux) and includes built-in functions for I/O, math operations, bitwise operations, system calls like <span class='inlinecode'>fork</span>, and memory management with garbage collection.</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> | |
