Journal
Writing
Field notes on full-stack engineering, DevSecOps, self-hosted AI and real-time browser graphics. Written from the work, not about it.
27 entries7 categoriespage 1 of 3
Hybrid Cloud for Regulated Workloads: Not All On-Prem
Hybrid cloud for regulated workloads, from client engagements in health, pharma and education: most services moved on-prem, while model training and some backups stayed in the cloud.
Local LLM vs Cloud: Idle RAM Is Not Waste
Sam Altman calls RAM in personal computers wasteful at 5% use and wants maximum cloud utilization. In local LLM vs cloud, utilization is the landlord's metric.
React Native One Codebase: 60% Shared, Would Not Repeat
One React Native codebase served Android, iOS and web at about 60% shared code. Here is the split, the pinned versions, the release flow, and why I would not choose it again.
Three.js Too Many Active WebGL Contexts After dispose()
Chrome allows at most 16 active WebGL contexts per renderer process. Three.js renderer.dispose() doesn't release the WebGL context, so a scene remounted on every route visit hits the cap on visit 17.
NEXT_PUBLIC Env Variable in Docker: Rebuild, Don't Restart
Next.js replaces a NEXT_PUBLIC env variable with a literal at next build, in server code as well as the browser, so restarting a Docker container with a new value changes nothing.
PHP2Shell in Docker: Two PHP Runtimes Nobody Listed
PHP2Shell is fixed in the PHP runtime, so a Docker image needs a newer PHP such as 8.3.36, not an app update. I found PHP inside mailcow and an LMS on my host, and patched both.
Prometheus, Grafana and Loki: What to Alert On First
What a small team should alert on first with Prometheus, Grafana and Loki: page-or-ticket alerts and a heartbeat, timed in a lab where one log alert failed silently.
Linux Kernel CVE Patching: Installed Is Not Patched
Linux kernel CVE patching splits at the hypervisor. A VPS provider patches the host kernel, sometimes with a restart; you patch and reboot every kernel you run yourself, as CVE-2026-99999 showed.
Fine-Tuning vs RAG for a Self-Hosted LLM: Facts or Behaviour
Retrieve for facts, fine-tune for behaviour. In a Qwen3 demo, retrieval took a changed fact in 0.014 s while LoRA missed 3 of 8 facts, yet LoRA got a JSON contract right 10 of 10.