~/ latest posts
LDO Orbiter v2.5: Dual-Gear Direct Drive Instead of Bowden
Honest field report: why my cheap Bondtech-clone extruders jammed after a few months in a Bowden setup – and why a genuine LDO Orbiter …
Rapido 2F upgrade: high-flow hotend for Klipper
Upgrading a Klipper printer (BTT Octopus) with the Phaetus Rapido 2F high-flow hotend: mounting, PT1000 wiring, PID tuning plus volumetric-flow and pressure-advance calibration – …
Imagen vs. gpt-image-1: AI Image Models in a Real-World Test
Imagen vs. gpt-image-1 from real practice: reference-image/logo fidelity, exposure, text artifacts and failure cases – each sent through both models with the same prompt …
Extending an MCP Tool: Product Logos in AI Images
How to extend an MCP image tool with reference images: product/logo input via gpt-image-1 (images.edit) and Gemini gemini-2.5-flash-image (generate_content), with automatic model switching and …
Proxmox vs. plain KVM: when it's worth switching
Proxmox VE or plain KVM/QEMU (libvirt)? No performance difference, but different effort and feature set. An honest comparison, a decision guide and a short …
Affiliate Click Tracking in Django: Why GA Doesn't See It
How to track affiliate clicks in Django/Wagtail yourself: a /go/ redirect with a bot filter and a GDPR-lean log (without IP/UA), why Google Analytics …
GT2 idler from the printer: a build-time stopgap
A printed smooth GT2 idler (12 mm belt, runs on a 625 bearing, 5 mm bore) as a stopgap during a printer build: print …
Automatic ventilation by PM2.5: a Home Assistant automation
A Home Assistant automation that switches an air purifier/ventilation by PM2.5: threshold + hysteresis (on at 35, off at 15 µg/m³), an optional push …