Interested in Linux, self-hosted services, and software development, with occasional posts about games. This blog documents problems I run into, solutions that work, and tools or projects worth sharing.
vnStat continuously records traffic per network interface, while picosnitch attributes it to processes; together they narrow an anomaly to its time window and the service responsible.
Configure Fail2Ban on an Arch Linux host with a rootless Podman mail server, then use UFW to manage bans for SSH, Postfix, and SASL brute-force sources.
Enabling mihomo TUN mode causes a total network outage because system ip_forward is disabled, UFW’s forward policy is DROP, and kernel rp_filter drops TCP handshake packets returning from the TUN interface. Three steps to fix.
A quick note on a MinerU install gotcha: uv tool install "mineru[all]" only handles the Python side. To run hybrid-engine on Arch, you still need the system packages cuda and ninja.
Honcho’s first startup Alembic migration pins the pgvector embedding column to vector(1536), which conflicts with EMBEDDING_VECTOR_DIMENSIONS=1024 in .env and causes startup to fail. This post documents fixing it with the official configure_embeddings.py script.
Create a virtual display on KDE Wayland using krfb-virtualmonitor, paired with Sunshine’s kwin capture and Moonlight’s built-in display switching. No kernel parameters required.
A walkthrough of configuring an Agent with Playwright MCP and CloakBrowser, covering shared installation, Linux setup, and launching the Windows host browser from WSL.