# daal.cloud > Vince van Daal's retro portal - client-side tools and a personal blog. The site has three public areas: - **Tools** at `/tools/*` - small client-side utilities. Tool input is processed in the browser; daal.cloud does not store entered values or generated output. - **Blog** at `/blog/*` - a mix of knowledge-base style notes, opinion pieces, and the occasional recipe. Mostly Linux, infra, AWS, container plumbing. - **Contact** at `/contact/` - browser-revealed email address for feedback. - **Privacy** at `/privacy/` - what the site stores locally and what Cloudflare Pages/basic analytics may see. Every post is also available as raw markdown at `index.md` for direct LLM ingestion. ## Blog - [My favourite anime](https://daal.cloud/blog/favourite-anime/index.md): A short tour through three anime I keep coming back to (Elfen Lied, Hellsing Ultimate, and Panty & Stocking with Garterbelt), plus a quick aside on why subtitles always win. - [Recipe: Easy Tray Bake](https://daal.cloud/blog/easy-tray-bake/index.md): A no-stress oven tray bake with AH meatballs, krieltjes, winter carrots and red onions. First food recipe on the blog. Comes with a slider to scale ingredients up for more people. Dutch translation available via the toggle at the top. - [Recept: Makkelijke Ovenschotel (Nederlands)](https://daal.cloud/blog/easy-tray-bake/nl/index.md): Een makkelijke ovenschotel met AH gehaktballetjes, krieltjes, winterpeen en rode uien. Eerste recept op de blog - [Co-writing with AI, without the slop](https://daal.cloud/blog/co-writing-with-ai/index.md): How I draft blog posts with Claude as a co-writer. Markers, /tagore, and a human pass at the end. The "ghostwriter" framing doesn't quite fit. "Co-writer" does. - [My take on using AI for coding](https://daal.cloud/blog/using-ai-for-coding/index.md): Where I land on AI-assisted coding in 2026. Claude Code and the rest are powerful, but prompt steering, guardrails, spec-driven dev and the RALPH loop are what separate "this works" from "I have no idea what I shipped". - [Fixing Chromium virtual backgrounds on NVIDIA + Wayland](https://daal.cloud/blog/chromium-virtual-background-nvidia-wayland/index.md): Meet's background blur turns your video into a solid white rectangle on NVIDIA + Wayland Chromium. The cause is a Chromium ↔ NVIDIA EGL interop bug in the canvas captureStream path. Two flags work around it; pick based on monitor setup. - [Making CoolerControl's GUI start on login](https://daal.cloud/blog/coolercontrol-autostart/index.md): CoolerControl ships a system daemon and a separate Qt GUI. The daemon controls fans at boot regardless of login, but the rpm doesn't install an autostart .desktop for the GUI, so the tray icon never appears. Drop one in `~/.config/autostart/` (or use Plasma's System Settings → Autostart) to fix it. - [Making KopiaUI start on login when installed as a Flatpak](https://daal.cloud/blog/kopia-flatpak-autostart/index.md): KopiaUI's built-in "Launch at startup" toggle silently fails under Flatpak. The sandbox can't write to host `~/.config/autostart/`. Fix is a hand-rolled autostart `.desktop` file with a minimal `flatpak run` Exec line. - [Running rsync from a systemd timer on Bazzite (SELinux rsync_t domain)](https://daal.cloud/blog/selinux-rsync-systemd-timer/index.md): You'll probably never need this exact setup. The reason it's written down is the SELinux mechanics underneath: domain transitions, audit2allow's blind spots, dontaudit, label inheritance, and how to actually figure out why SELinux is blocking you instead of just flipping a boolean. - [Escaping the AWS SSM AppArmor profile with systemd-run](https://daal.cloud/blog/ssm-shell-apparmor-systemd-run/index.md): On Ubuntu, SSM Session Manager shells inherit the snap-amazon-ssm-agent AppArmor profile. Even root hits silent EACCES on writes. Escape via systemd-run. - [Why your MCP server cannot see env vars from .bashrc](https://daal.cloud/blog/mcp-env-vars-not-from-bashrc/index.md): Claude Code spawns MCP servers as plain child processes. They never source .bashrc. Set MCP env vars in environment.d or the MCP env config, not your shell rc files. - [Pagefind: full-text search for static sites, no backend](https://daal.cloud/blog/pagefind-client-side-search/index.md): Pagefind builds a chunked search index at build time and queries it from the browser via WebAssembly. Zero servers, zero queries leaving the page, and it scales to thousands of pages without shipping the whole index up front. - [Living without docker: podman as a daily driver](https://daal.cloud/blog/podman-vs-docker/index.md): Podman is a near drop-in replacement for the Docker CLI. Daemonless, rootless by default, ships in immutable distros. Muscle-memory translation and the few places the abstraction leaks. - [Bazzite: an immutable gaming-first Fedora variant](https://daal.cloud/blog/bazzite-overview/index.md): Short orientation to Bazzite. What it is, why the immutable layout matters, how it changes day-to-day system management. - [Making 1Password browser extensions talk to the Flatpak desktop app](https://daal.cloud/blog/flatpak-1password-browser-bridge/index.md): Browser extension can't see a Flatpak 1Password desktop app via native messaging. Sandbox isolation is the cause. Fix is the explicit cross-sandbox bridge 1Password ships. - [rpm-ostree: rebase, pin, rollback](https://daal.cloud/blog/rpm-ostree-rebase-cheatsheet/index.md): Cheat-sheet for moving between OS images on rpm-ostree systems. What each verb actually does and how not to lose access to a working boot. - [Persistent CLI flags for Vivaldi on Linux](https://daal.cloud/blog/vivaldi-persistent-flags/index.md): Vivaldi's launcher reads extra command-line flags from a config file in your home directory on every launch. That's where `--disable-gpu-compositing` and friends belong. Don't edit the .desktop file. ## Tags - [#linux](https://daal.cloud/blog/tags/linux/) - 11 posts - [#bazzite](https://daal.cloud/blog/tags/bazzite/) - 8 posts - [#troubleshooting](https://daal.cloud/blog/tags/troubleshooting/) - 8 posts - [#claude](https://daal.cloud/blog/tags/claude/) - 3 posts - [#opinion](https://daal.cloud/blog/tags/opinion/) - 3 posts - [#ai](https://daal.cloud/blog/tags/ai/) - 2 posts - [#browsers](https://daal.cloud/blog/tags/browsers/) - 2 posts - [#claude-code](https://daal.cloud/blog/tags/claude-code/) - 2 posts - [#devtools](https://daal.cloud/blog/tags/devtools/) - 2 posts - [#fedora](https://daal.cloud/blog/tags/fedora/) - 2 posts - [#flatpak](https://daal.cloud/blog/tags/flatpak/) - 2 posts - [#immutable-os](https://daal.cloud/blog/tags/immutable-os/) - 2 posts - [#kde](https://daal.cloud/blog/tags/kde/) - 2 posts - [#plasma](https://daal.cloud/blog/tags/plasma/) - 2 posts - [#systemd](https://daal.cloud/blog/tags/systemd/) - 2 posts - [#1password](https://daal.cloud/blog/tags/1password/) - 1 post - [#anime](https://daal.cloud/blog/tags/anime/) - 1 post - [#apparmor](https://daal.cloud/blog/tags/apparmor/) - 1 post - [#aws](https://daal.cloud/blog/tags/aws/) - 1 post - [#backups](https://daal.cloud/blog/tags/backups/) - 1 post - [#blog-workflow](https://daal.cloud/blog/tags/blog-workflow/) - 1 post - [#chromium](https://daal.cloud/blog/tags/chromium/) - 1 post - [#containers](https://daal.cloud/blog/tags/containers/) - 1 post - [#coolercontrol](https://daal.cloud/blog/tags/coolercontrol/) - 1 post - [#desktop](https://daal.cloud/blog/tags/desktop/) - 1 post - [#docker](https://daal.cloud/blog/tags/docker/) - 1 post - [#eleventy](https://daal.cloud/blog/tags/eleventy/) - 1 post - [#food](https://daal.cloud/blog/tags/food/) - 1 post - [#gaming](https://daal.cloud/blog/tags/gaming/) - 1 post - [#hardware](https://daal.cloud/blog/tags/hardware/) - 1 post - [#kopia](https://daal.cloud/blog/tags/kopia/) - 1 post - [#mcp](https://daal.cloud/blog/tags/mcp/) - 1 post - [#nederlands](https://daal.cloud/blog/tags/nederlands/) - 1 post - [#nvidia](https://daal.cloud/blog/tags/nvidia/) - 1 post - [#pagefind](https://daal.cloud/blog/tags/pagefind/) - 1 post - [#podman](https://daal.cloud/blog/tags/podman/) - 1 post - [#ralph](https://daal.cloud/blog/tags/ralph/) - 1 post - [#recipes](https://daal.cloud/blog/tags/recipes/) - 1 post - [#rpm-ostree](https://daal.cloud/blog/tags/rpm-ostree/) - 1 post - [#rsync](https://daal.cloud/blog/tags/rsync/) - 1 post - [#search](https://daal.cloud/blog/tags/search/) - 1 post - [#selinux](https://daal.cloud/blog/tags/selinux/) - 1 post - [#spec-driven-development](https://daal.cloud/blog/tags/spec-driven-development/) - 1 post - [#ssm](https://daal.cloud/blog/tags/ssm/) - 1 post - [#static-sites](https://daal.cloud/blog/tags/static-sites/) - 1 post - [#tray-bake](https://daal.cloud/blog/tags/tray-bake/) - 1 post - [#tv](https://daal.cloud/blog/tags/tv/) - 1 post - [#ubuntu](https://daal.cloud/blog/tags/ubuntu/) - 1 post - [#vivaldi](https://daal.cloud/blog/tags/vivaldi/) - 1 post - [#wayland](https://daal.cloud/blog/tags/wayland/) - 1 post - [#webrtc](https://daal.cloud/blog/tags/webrtc/) - 1 post - [#writing](https://daal.cloud/blog/tags/writing/) - 1 post ## Optional - [Atom feed](https://daal.cloud/blog/feed.xml) - every post, full-text - [Sitemap](https://daal.cloud/sitemap.xml) - [Author](https://vandaal.io) - Vince van Daal