Hi there 👋

Welcome to Code Genos Computers, Programming and Development Blog

Concurrency Management with DDD in C#: Optimistic Locking, Versioning, and ETags

Concurrency Management with DDD in C#: Optimistic Locking, Versioning, and ETags

Handle concurrent updates safely in DDD with optimistic concurrency, aggregate versioning, EF Core, and ETags. Includes production-ready C# snippets.

July 15, 2026 Â· 23 min Â· 4701 words Â· CodeGenos
Automated Docker Database Backups on Raspberry Pi with Backrest, Restic, and Rclone

Automated Docker Database Backups on Raspberry Pi: An Orchestration Guide using Backrest, Restic, and Rclone

Running databases on a home lab Raspberry Pi is fine — until the SD card dies and you realize you had no consistent backups. This guide walks through a production-grade backup pipeline using Backrest, Restic, and Rclone, with pre-backup hooks that dump PostgreSQL and MongoDB before the snapshot even starts.

July 8, 2026 Â· 11 min Â· 2329 words Â· CodeGenos
yt-dlp-console interactive terminal screenshot

yt-dlp-console: An Interactive CLI So You Never Memorize Flags Again

Every time I needed to download a video with yt-dlp, I’d end up Googling the same flags. So I built yt-dlp-console — an interactive terminal wrapper that guides you through the whole process without memorizing a single flag.

May 17, 2026 Â· 7 min Â· 1441 words Â· CodeGenos
React Error Boundaries: Handling Rendering Errors Gracefully

React Error Boundaries: Handling Rendering Errors Gracefully

Your React app showed a blank white screen — here is how to prevent it. Walk through rendering vs. runtime errors, class-based Error Boundary implementation, and the react-error-boundary library with practical code examples.

February 25, 2026 Â· 11 min Â· 2211 words Â· CodeGenos
How to Install a Private Docker Registry on Raspberry Pi with Portainer (Home Network)

How to Install a Private Docker Registry on Raspberry Pi with Portainer (Home Network)

Run your own private Docker image registry on a Raspberry Pi using Portainer. This guide uses HTTP only (no TLS) with basic auth enabled. You will deploy the registry and a web UI via a Portainer Stack, configure clients to allow an insecure registry, and verify everything works on your home network. Note: A registry is the server (e.g., registry:2). Repositories are image collections inside the registry. TL;DR Image: registry:2 Runs on LAN over HTTP: :5000 (no TLS) UI: joxit/docker-registry-ui:latest on :5001 Auth: htpasswd basic auth Persist storage: bind mount /var/lib/registry Clients: add 192.168.1.100:5000 to Docker insecure-registries Prerequisites Raspberry Pi 4/5 (ARM64 preferred) Raspberry Pi OS 64‑bit or another 64‑bit Linux Docker and Portainer CE installed on Raspberry Pi A stable hostname or IP (e.g., 192.168.1.100) Check architecture: ...

August 24, 2025 Â· 5 min Â· 980 words Â· CodeGenos