René Welches

TECH NOTES TO MYSELF

Back to the Future: Bringing Ollama Date-Blind Models to the Present

My local Ollama model was stuck in 2024 and treated the real present as a fake future — here's the Open WebUI filter that gets it current

A local LLM stuck at its 2024 training cutoff accused me of faking the future when web search returned same-day results. Here is why it happens in Open WebUI and a small filter function that drives any model back to the present.

Real IPs for k3s: MetalLB, VLANs, and Why I Had to Buy a Switch

A k3s LoadBalancer turned into a network rebuild — managed switch, VLANs, OPNsense, and MetalLB in L2 mode

How I gave my Proxmox k3s cluster a real LoadBalancer with MetalLB — and why getting there meant buying a managed switch, segmenting the network into VLANs, and working around the limits of Google Nest WiFi.

My Local AI Stack: Mac Mini + Proxmox LXCs

Ollama on the Mac mini, Open WebUI on Proxmox, and SearXNG keeping the web search private

How I run a fully self-hosted AI stack split across a Mac mini M4 Pro for inference and a Proxmox cluster for the frontend — Ollama, Docling, Caddy, Open WebUI and SearXNG, all behind TLS.

Beyond API Standardization: MCP and Agent Auth

How a job interview reframed the question for me: from API consistency to MCP capability layers and agent authorization

A job interview for an API Technical Lead role reframed the question for me: not how to standardize APIs, but how to authenticate and authorize AI agents. Exploring MCP, OAuth 2.1, and the authorization architecture that enterprise AI integrations actually need.

Homelab IaC: Terraform + Ansible for Proxmox LXC

Because clicking through the Proxmox UI twice is already too many times

How I went from Proxmox community scripts to a full Terraform + Ansible IaC setup for managing LXC containers, with MinIO as a self-hosted Terraform state backend.

Building an LLM-Powered Job Search Workflow with Claude and Obsidian

From RAG-at-query-time to a compiled knowledge wiki that actually compounds

How I built an Application (Tracking) System backed by Obsidian vault and Claude Code skills.

Switching from Black to Ruff for Python Formatting in VS Code

One tool to replace Black, isort, and flake8 — faster and less strict

Why I replaced Black and isort with Ruff in VS Code, how the new configuration looks, and what it improves — especially when following along with Anthropic and other third-party code examples.

Running Debian 13 in UTM on Apple Silicon

Native ARM64 virtualization with a Debian netinstall ISO — no emulation required

Step-by-step guide to creating a Debian 13 (Trixie) ARM64 virtual machine in UTM on an Apple Silicon Mac using the Virtualize mode for near-native performance.

Running Your Own Root CA for the Homelab

What started as a GitHub README turned into a proper blog post

How to create a self-signed Root CA for your homelab, sign server certificates, and trust them on macOS and Linux — including the git gotcha that the macOS Keychain won't tell you about.

Upgrading My 'Frankenstein-cluster': MOREFINE M8 Replaces the MINIX

A newer, faster node for $120 net after selling the old one

I picked up a MOREFINE M8 mini PC (Intel N150, 16GB DDR4, 1TB NVMe) for $219.99 and sold my old MINIX NEO J50C-4 Plus on eBay for $100, netting a solid upgrade for just $120.