41554 blogs · [ { "id": "01a08c81-c9b7-71d2-a711-7a64b2f377bc", "title": "Failures that look like success: a field guide to fixing machines you can't touch", "url": "https://blog.zolty.systems/posts/2026-09-02-remote-hands-for-an-agent/", "published_at": "2026-09-02T13:00:00+00:00" }, { "id": "01a08c81-c9b7-71d2-a711-7a64b35afc5e", "title": "Six dashboards, a refresh button that launches a Kubernetes Job, and the metric that changed what I buy", "url": "https://blog.zolty.systems/posts/2026-08-28-dashboards-refresh-buttons-velocity/", "published_at": "2026-08-28T13:00:00+00:00" }, { "id": "01a08c81-c9b7-71d2-a711-7a64b3c1f3af", "title": "The repair queue is four states and a no-go rule", "url": "https://blog.zolty.systems/posts/2026-08-25-repair-queue-data-model/", "published_at": "2026-08-25T13:00:00+00:00" }, { "id": "01a08c81-c9b7-71d2-a711-7a64b400f5ed", "title": "Drafts, labels, and pack slips: automating everything except the publish button", "url": "https://blog.zolty.systems/posts/2026-08-21-listings-labels-paperwork/", "published_at": "2026-08-21T13:00:00+00:00" }, { "id": "01a08c81-c9b7-71d2-a711-7a64b4db4319", "title": "The wiki writes itself now, which is exactly the problem", "url": "https://blog.zolty.systems/posts/2026-08-18-agent-written-knowledge-base/", "published_at": "2026-08-18T13:00:00+00:00" }, { "id": "01a08c81-c9b7-71d2-a711-7a64b5b5e6fa", "title": "One lot, forty units: the cost-basis problem nobody warns you about", "url": "https://blog.zolty.systems/posts/2026-08-14-one-lot-n-units-cost-basis/", "published_at": "2026-08-14T13:00:00+00:00" }, { "id": "01a08c81-c9b7-71d2-a711-7a64b660c1c7", "title": "Someone else's laptop, my agent: config management for people who won't read a README", "url": "https://blog.zolty.systems/posts/2026-08-11-managing-someone-elses-machine-config/", "published_at": "2026-08-11T13:00:00+00:00" }, { "id": "01a08c81-c9b7-71d2-a711-7a64b6cf0510", "title": "Two dozen crawlers and a shortlist: how I stopped browsing surplus auctions", "url": "https://blog.zolty.systems/posts/2026-08-07-surplus-sourcing-funnel/", "published_at": "2026-08-07T13:00:00+00:00" }, { "id": "01a08756-8fb3-70aa-aafa-5d761c3e95a2", "title": "Secrets without leaks: a Bitwarden CLI into CI and agent permissions", "url": "https://blog.zolty.systems/posts/2026-08-04-secrets-into-ci-without-leaking/", "published_at": "2026-08-04T13:00:00+00:00" }, { "id": "01a08756-8fb4-734e-8464-f47276aead38", "title": "Scoring Pokémon card lots against eBay sold comps", "url": "https://blog.zolty.systems/posts/2026-07-31-scoring-pokemon-card-lots/", "published_at": "2026-07-31T13:00:00+00:00" }, { "id": "01a08756-8fb4-734e-8464-f472778dc9cd", "title": "Building domain-specific MCP servers: three I actually use", "url": "https://blog.zolty.systems/posts/2026-07-28-mcp-server-cookbook/", "published_at": "2026-07-28T13:00:00+00:00" }, { "id": "01a08756-8fb4-734e-8464-f47277994555", "title": "The autonomy ladder in practice: letting agents commit, then merge", "url": "https://blog.zolty.systems/posts/2026-07-24-autonomy-ladder-in-practice/", "published_at": "2026-07-24T13:00:00+00:00" }, { "id": "01a08756-8fb4-734e-8464-f47277de6024", "title": "Background agents that babysit the cluster: drift, test-deletion, and cost sentinels", "url": "https://blog.zolty.systems/posts/2026-07-21-background-cluster-monitors/", "published_at": "2026-07-21T13:00:00+00:00" }, { "id": "01a08756-8fb4-734e-8464-f47278c9e9be", "title": "I audited four months of my own repos to see what I was actually early on", "url": "https://blog.zolty.systems/posts/2026-07-19-auditing-my-own-early-adoption/", "published_at": "2026-07-19T18:00:00+00:00" }, { "id": "01a08756-8fb4-734e-8464-f47279c6a0cb", "title": "The merge gate is a rival model: four days of Gemini deleting my code", "url": "https://blog.zolty.systems/posts/2026-07-19-rival-model-merge-gate/", "published_at": "2026-07-19T14:00:00+00:00" }, { "id": "01a08756-8fb4-734e-8464-f4727a0d1600", "title": "A panel of LLMs: using Gemini and Claude to pressure-test decisions", "url": "https://blog.zolty.systems/posts/2026-07-17-multi-model-llm-panel/", "published_at": "2026-07-17T13:00:00+00:00" }, { "id": "01a08756-8fb4-734e-8464-f4727a29956d", "title": "Claude asks Claude for help: an agent-to-agent bridge over Mattermost", "url": "https://blog.zolty.systems/posts/2026-07-14-claude-to-claude-mattermost-bridge/", "published_at": "2026-07-14T13:00:00+00:00" }, { "id": "01a08756-8fb4-734e-8464-f4727a4b8d9a", "title": "I don't read the PRs: supervising Claude by reading the docs it leaves behind", "url": "https://blog.zolty.systems/posts/2026-07-12-reading-what-claude-leaves-behind/", "published_at": "2026-07-12T14:00:00+00:00" }, { "id": "01a08756-8fb4-734e-8464-f4727a8dccec", "title": "I built a headless refurb bench: imaging surplus PCs without a monitor", "url": "https://blog.zolty.systems/posts/2026-07-10-headless-refurb-bench-pikvm-cctk/", "published_at": "2026-07-10T13:00:00+00:00" }, { "id": "01a08756-8fb4-734e-8464-f4727abe245b", "title": "Phone scan to 3D print: photogrammetry, a watertight mesh, and Bambu", "url": "https://blog.zolty.systems/posts/2026-07-07-phone-scan-to-3d-print/", "published_at": "2026-07-07T13:00:00+00:00" }, { "id": "01a08756-8fb4-734e-8464-f4727b63c469", "title": "Recapping a dead cassette deck: a vintage-audio repair triage", "url": "https://blog.zolty.systems/posts/2026-07-03-vintage-audio-repair-triage/", "published_at": "2026-07-03T13:00:00+00:00" }, { "id": "01a08756-8fb4-734e-8464-f4727c0036e4", "title": "Beyond cover art: background removal, batch resources, and two GPUs of throwaway pixels", "url": "https://blog.zolty.systems/posts/2026-06-21-comfyui-graphical-resources/", "published_at": "2026-06-21T15:00:00+00:00" }, { "id": "01a08756-8fb4-734e-8464-f4727c93feee", "title": "How this blog is built: Hugo, S3, CloudFront, and an AI drafting pipeline", "url": "https://blog.zolty.systems/posts/2026-06-19-how-this-blog-is-built/", "published_at": "2026-06-19T15:00:00+00:00" }, { "id": "01a08756-8fb4-734e-8464-f4727d48cb72", "title": "From prompt to published: how every image on this blog comes out of a local ComfyUI", "url": "https://blog.zolty.systems/posts/2026-06-18-comfyui-blog-image-pipeline/", "published_at": "2026-06-18T23:00:00+00:00" }, { "id": "01a08756-8fb4-734e-8464-f4727dbfa2d0", "title": "Headless bench-PC fleet: imaging and BIOS-as-code with PiKVM and Dell CCTK", "url": "https://blog.zolty.systems/posts/2026-06-17-headless-bench-pc-pikvm-cctk/", "published_at": "2026-06-17T23:00:00+00:00" }, { "id": "01a08756-8fb5-7222-9cde-52e75b81224c", "title": "Token-budgeted self-improvement: pointing parallel agents at my own repos", "url": "https://blog.zolty.systems/posts/2026-06-16-token-budgeted-self-improvement/", "published_at": "2026-06-17T00:00:00+00:00" }, { "id": "01a08756-8fb5-7222-9cde-52e75bf55606", "title": "LLM-powered GitLab CI: auto-reviewing and auto-fixing merge requests", "url": "https://blog.zolty.systems/posts/2026-06-15-llm-gitlab-ci-mr-review-fix/", "published_at": "2026-06-15T23:00:00+00:00" }, { "id": "01a08756-8fb5-7222-9cde-52e75c589501", "title": "Build a 3-node K3s cluster from $150 surplus Dell OptiPlex desktops", "url": "https://blog.zolty.systems/posts/2026-06-14-dell-optiplex-k3s-cluster/", "published_at": "2026-06-14T16:00:00+00:00" }, { "id": "01a08756-8fb5-7222-9cde-52e75d443847", "title": "Tracing and budgeting LLM agents with Langfuse", "url": "https://blog.zolty.systems/posts/2026-06-13-langfuse-tracing-budgeting-agents/", "published_at": "2026-06-13T15:00:00+00:00" }, { "id": "01a08756-8fb5-7222-9cde-52e75e39f62d", "title": "A LiteLLM gateway for the homelab: one endpoint, many models, hard cost caps", "url": "https://blog.zolty.systems/posts/2026-06-12-litellm-gateway-homelab/", "published_at": "2026-06-13T00:00:00+00:00" }, { "id": "01a08756-8fb5-7222-9cde-52e75e41949e", "title": "The peasant has friends now: rumors, routines, and a 3,200-strong crowd", "url": "https://blog.zolty.systems/posts/2026-06-11-uo-living-world-update/", "published_at": "2026-06-11T16:00:00+00:00" }, { "id": "01a08756-8fb5-7222-9cde-52e75e725d6f", "title": "Writing MCP servers for your homelab: five tools, 200 lines, and your agents get hands", "url": "https://blog.zolty.systems/posts/2026-06-09-writing-mcp-servers-homelab/", "published_at": "2026-06-09T23:00:00+00:00" }, { "id": "01a08756-8fb5-7222-9cde-52e75f3e608b", "title": "Every homelab service behind one login: Traefik forward-auth with Authentik", "url": "https://blog.zolty.systems/posts/2026-06-07-traefik-forward-auth-authentik/", "published_at": "2026-06-08T00:00:00+00:00" }, { "id": "01a08756-8fb5-7222-9cde-52e75f4b79ec", "title": "Tiered model storage with MinIO and rclone: keep the SSD hot, archive the rest", "url": "https://blog.zolty.systems/posts/2026-06-06-tiered-model-storage-minio-rclone/", "published_at": "2026-06-06T15:00:00+00:00" }, { "id": "01a08756-8fb5-7222-9cde-52e76042428f", "title": "The Mac Studio as a GPU appliance: serving Ollama and ComfyUI to a k3s cluster", "url": "https://blog.zolty.systems/posts/2026-06-04-mac-studio-gpu-appliance/", "published_at": "2026-06-04T23:00:00+00:00" }, { "id": "01a08756-8fb5-7222-9cde-52e76063e9d0", "title": "When the peasant talks back: LLM NPCs in Ultima Online", "url": "https://blog.zolty.systems/posts/2026-06-03-llm-npcs-ultima-online/", "published_at": "2026-06-04T00:00:00+00:00" }, { "id": "01a08756-8fb5-7222-9cde-52e76103e595", "title": "How LLM-driven NPCs work in Ultima Online (ServUO)", "url": "https://blog.zolty.systems/posts/2026-06-01-llm-npc-integration-servuo/", "published_at": "2026-06-02T00:00:00+00:00" }, { "id": "01a08756-8fb6-71a4-bfb9-793a923b9a1f", "title": "A $150 Surface Pro 7 is the best Home Assistant wall panel you can buy", "url": "https://blog.zolty.systems/posts/2026-05-30-surface-pro-7-home-assistant-wall-panel/", "published_at": "2026-05-30T15:00:00+00:00" }, { "id": "01a08756-8fb6-71a4-bfb9-793a92857440", "title": "Re-tuning my Claude Code setup for a new Opus model", "url": "https://blog.zolty.systems/posts/2026-05-28-retuning-claude-code-new-model/", "published_at": "2026-05-29T02:00:00+00:00" }, { "id": "01a08756-8fb6-71a4-bfb9-793a931d7270", "title": "The seam — what I deliberately left in the cloud and why", "url": "https://blog.zolty.systems/posts/2026-05-26-the-seam-what-stayed-in-the-cloud/", "published_at": "2026-05-27T00:00:00+00:00" }, { "id": "01a08756-8fb6-71a4-bfb9-793a938cfc7b", "title": "The Saturday DR drill — burning the cluster down on purpose", "url": "https://blog.zolty.systems/posts/2026-05-23-saturday-dr-drill/", "published_at": "2026-05-24T00:00:00+00:00" }, { "id": "01a08756-8fb6-71a4-bfb9-793a947e7e7a", "title": "From managed to owned — the case for self-hosting in 2026", "url": "https://blog.zolty.systems/posts/2026-05-20-from-managed-to-owned/", "published_at": "2026-05-21T00:00:00+00:00" }, { "id": "01a08756-8fb6-71a4-bfb9-793a952b7e0a", "title": "HashiCorp Vault behind Authentik — secrets that survive an auditor", "url": "https://blog.zolty.systems/posts/2026-05-17-vault-behind-authentik/", "published_at": "2026-05-18T00:00:00+00:00" }, { "id": "01a08756-8fb6-71a4-bfb9-793a95e0234e", "title": "Watts, BTUs, and the real cost of running a homelab 24/7", "url": "https://blog.zolty.systems/posts/2026-05-14-watts-btus-homelab-roi/", "published_at": "2026-05-15T00:00:00+00:00" }, { "id": "01a08756-8fb6-71a4-bfb9-793a966c024e", "title": "The agent autonomy trust ladder: supervised → monitored → trusted → full", "url": "https://blog.zolty.systems/posts/2026-05-11-agent-autonomy-trust-ladder/", "published_at": "2026-05-12T00:00:00+00:00" }, { "id": "01a08756-8fb6-71a4-bfb9-793a97534c08", "title": "Coordinating 3-5 parallel Claude sessions through a shared Mattermost channel", "url": "https://blog.zolty.systems/posts/2026-05-09-parallel-claude-sessions-mattermost/", "published_at": "2026-05-10T00:00:00+00:00" }, { "id": "01a08756-8fb7-73ce-be00-73d7469bab63", "title": "Running a 1T-parameter MoE locally on two Mac Studios over Thunderbolt 5", "url": "https://blog.zolty.systems/posts/2026-05-06-trillion-param-moe-dual-mac-studio/", "published_at": "2026-05-07T00:00:00+00:00" }, { "id": "01a08756-8fb7-73ce-be00-73d746a85fc0", "title": "Blind Oracle: stripping dates, headlines, and tickers before trusting an LLM trading evaluator", "url": "https://blog.zolty.systems/posts/2026-05-04-blind-oracle-llm-trading-evaluator/", "published_at": "2026-05-05T00:00:00+00:00" }, { "id": "01a08756-8fb7-73ce-be00-73d7479a9835", "title": "$6 enterprise Wi-Fi: flashing Extreme WS-AP3825i access points with OpenWrt", "url": "https://blog.zolty.systems/posts/2026-05-02-ws-ap3825i-openwrt-enterprise-wifi/", "published_at": "2026-05-02T15:00:00+00:00" }, { "id": "01a08756-8fb7-73ce-be00-73d747b6f893", "title": "Harbor as a proxy cache for every upstream registry — killing rate limits in a homelab", "url": "https://blog.zolty.systems/posts/2026-05-01-harbor-proxy-cache-homelab/", "published_at": "2026-05-02T00:00:00+00:00" }, { "id": "01a08756-8fb7-73ce-be00-73d74864881f", "title": "Migrating from GitHub to self-hosted GitLab CE — and rebuilding it from S3", "url": "https://blog.zolty.systems/posts/2026-04-29-github-to-gitlab-migration-dr-rebuild/", "published_at": "2026-04-30T00:00:00+00:00" }, { "id": "01a08756-8fb7-73ce-be00-73d7486bd5f1", "title": "The cheapest homelab node has a built-in UPS: a used business laptop", "url": "https://blog.zolty.systems/posts/2026-04-25-latitude-7400-homelab-node/", "published_at": "2026-04-25T15:00:00+00:00" }, { "id": "01a08756-8fb7-73ce-be00-73d74892bec0", "title": "Giving Claude the ability to talk back: agentic long-running processes in OpenClaw", "url": "https://blog.zolty.systems/posts/2026-04-21-claude-agentic-openclaw-long-running-talkback/", "published_at": "2026-04-21T05:00:00+00:00" }, { "id": "01a08756-8fb7-73ce-be00-73d7497a50a0", "title": "Three Claude tabs kept clobbering each other. So I built a guard.", "url": "https://blog.zolty.systems/posts/2026-04-18-claude-session-guard/", "published_at": "2026-04-18T19:00:00+00:00" }, { "id": "01a08756-8fb7-73ce-be00-73d749f6e214", "title": "AI Agents Work Better When They Actually Know How You Operate", "url": "https://blog.zolty.systems/posts/2026-04-16-domain-interviewer-tacit-knowledge/", "published_at": "2026-04-17T00:00:00+00:00" }, { "id": "01a08756-8fb7-73ce-be00-73d74a0b26c2", "title": "Auto-documenting a homelab: the quest for free architecture diagrams", "url": "https://blog.zolty.systems/posts/2026-04-14-auto-documenting-homelab/", "published_at": "2026-04-15T02:00:00+00:00" }, { "id": "01a08756-8fb7-73ce-be00-73d74a58d111", "title": "Self-Hosted AI on a 24GB GPU: OpenClaw + Ollama Setup Guide for Windows", "url": "https://blog.zolty.systems/posts/2026-04-02-openclaw-self-hosted-gpu-guide/", "published_at": "2026-04-14T18:00:00+00:00" }, { "id": "01a08756-8fb7-73ce-be00-73d74ac5c404", "title": "Running GLM-5.1 (744B) Locally on a Mac Studio: Benchmark Results", "url": "https://blog.zolty.systems/posts/2026-04-13-glm51-local-benchmark/", "published_at": "2026-04-14T02:00:00+00:00" }, { "id": "01a08756-8fb7-73ce-be00-73d74b90fbe9", "title": "ComfyUI on Mac Studio: MPS-Accelerated Image Generation Behind k3s Ingress", "url": "https://blog.zolty.systems/posts/2026-04-11-comfyui-mac-studio-mps/", "published_at": "2026-04-12T02:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81d6753a6b", "title": "Monitoring a Mac Studio as a First-Class Cluster Citizen: Prometheus, Loki, and Custom Ollama Exporters", "url": "https://blog.zolty.systems/posts/2026-04-10-mac-studio-observability/", "published_at": "2026-04-11T02:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81d6e83b10", "title": "Hardening a Self-Hosted AI Agent: Multi-Stage Builds, NetworkPolicies, and Automated CVE Triage", "url": "https://blog.zolty.systems/posts/2026-04-09-hardening-openclaw-security/", "published_at": "2026-04-10T02:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81d6f263c5", "title": "Dream Workers: Letting an AI Agent Improve Your Cluster While You Sleep", "url": "https://blog.zolty.systems/posts/2026-04-08-dream-workers-autonomous-cluster-agent/", "published_at": "2026-04-09T02:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81d7a152ef", "title": "Voice AI on k3s: Whisper, Piper, and openWakeWord in Kubernetes", "url": "https://blog.zolty.systems/posts/2026-04-07-voice-ai-on-k3s/", "published_at": "2026-04-08T02:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81d8895306", "title": "Container smoke testing with Goss: stop guessing if your .env works", "url": "https://blog.zolty.systems/posts/2026-04-05-goss-container-smoke-testing/", "published_at": "2026-04-06T02:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81d896663b", "title": "OpenClaw vs Claude Code: An Architectural Comparison", "url": "https://blog.zolty.systems/posts/2026-04-02-openclaw-vs-claude-code-architecture/", "published_at": "2026-04-03T02:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81d91d6f65", "title": "Running AWS Lens as a Self-Hosted Web App on k3s", "url": "https://blog.zolty.systems/posts/2026-03-30-aws-lens-web-mode/", "published_at": "2026-03-30T15:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81d941c12e", "title": "Week of March 23: Security Patches, AI Tooling, and Defending the Homelab on Reddit", "url": "https://blog.zolty.systems/posts/2026-03-29-week-retrospective/", "published_at": "2026-03-30T04:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81d960e9ea", "title": "Forking Wiki.js to Get Mermaid 11: When Upstream Won't Move", "url": "https://blog.zolty.systems/posts/2026-03-29-wikijs-fork-mermaid-upgrade/", "published_at": "2026-03-29T15:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81d9c0162c", "title": "Securing Jellyfin when it's exposed to the internet", "url": "https://blog.zolty.systems/posts/2026-03-28-securing-jellyfin-on-the-internet/", "published_at": "2026-03-28T16:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81da877a31", "title": "Self-Hosting a GitHub Actions Cache Server on NAS Storage", "url": "https://blog.zolty.systems/posts/2026-03-27-self-hosted-github-actions-cache/", "published_at": "2026-03-28T00:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81db6ff977", "title": "Two Months of K3s Stability Improvements", "url": "https://blog.zolty.systems/posts/2026-03-27-k3s-stability-improvements/", "published_at": "2026-03-27T20:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81dc6bc980", "title": "Building a VPN Mesh for a Tech Collective", "url": "https://blog.zolty.systems/posts/2026-03-27-vpn-tech-collective/", "published_at": "2026-03-27T19:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81dce0e074", "title": "Planning Authentik: Centralized Identity for a Homelab", "url": "https://blog.zolty.systems/posts/2026-03-27-authentik-identity-platform/", "published_at": "2026-03-27T18:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81ddc6694c", "title": "Stress Testing GPU Transcoding in Kubernetes with JF_hw_stress", "url": "https://blog.zolty.systems/posts/2026-03-27-jellyfin-hw-stress-tester/", "published_at": "2026-03-27T17:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81dec0663e", "title": "PiKey: A Raspberry Pi That Pretends to Be Your Keyboard", "url": "https://blog.zolty.systems/posts/2026-03-27-pikey-bluetooth-keyboard-emulator/", "published_at": "2026-03-27T16:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81df60389a", "title": "Homelab State of the Union: 42 Namespaces and Counting", "url": "https://blog.zolty.systems/posts/2026-03-26-homelab-state-of-the-union/", "published_at": "2026-03-27T04:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81e008040e", "title": "This Blog Deploys Itself: Self-Hosted CI/CD on k3s with GitHub ARC", "url": "https://blog.zolty.systems/posts/2026-03-26-blog-cicd-on-k3s/", "published_at": "2026-03-27T02:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81e0b400bb", "title": "OpenClaw Multi-User: Privacy, Dual AI Backends, and Per-User Cost Tracking", "url": "https://blog.zolty.systems/posts/2026-03-25-openclaw-multi-user/", "published_at": "2026-03-26T02:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81e0e1d80a", "title": "Linkerd Service Mesh: Why I'm Not Deploying It Yet (But Have a Plan Ready)", "url": "https://blog.zolty.systems/posts/2026-03-24-linkerd-service-mesh/", "published_at": "2026-03-24T19:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81e17e10da", "title": "OpenClaw on k3s: Replacing Open WebUI with a Lighter AI Gateway", "url": "https://blog.zolty.systems/posts/2026-03-23-openclaw-on-k3s/", "published_at": "2026-03-24T02:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81e1db2074", "title": "Operation Moonshot: Can Claude Rewrite Linux in Rust?", "url": "https://blog.zolty.systems/posts/2026-03-22-operation-moonshot-linux-in-rust/", "published_at": "2026-03-23T05:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81e24af9a2", "title": "Using Claude to Start Your Regulatory Compliance Journey", "url": "https://blog.zolty.systems/posts/2026-03-22-claude-regulatory-compliance/", "published_at": "2026-03-23T04:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81e29bb8bf", "title": "Five Projects in One Day: What AI Pair Programming Actually Looks Like", "url": "https://blog.zolty.systems/posts/2026-03-22-ai-pair-programming-five-projects/", "published_at": "2026-03-23T03:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81e3475b2d", "title": "Building a TCG Price Tracker with Selenium and Kubernetes", "url": "https://blog.zolty.systems/posts/2026-03-22-cardboard-price-tracker/", "published_at": "2026-03-23T02:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81e35bc6e0", "title": "Home Assistant as the Data Hub for Digital Signage", "url": "https://blog.zolty.systems/posts/2026-03-22-digital-signage-ha-proxy/", "published_at": "2026-03-23T00:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81e3bba8bf", "title": "Why I Switched from GitHub Copilot to Claude Code Max", "url": "https://blog.zolty.systems/posts/2026-03-22-claude-code-vs-copilot/", "published_at": "2026-03-23T00:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81e3d54725", "title": "Ditching AWS ECR for Self-Hosted Harbor: Why and How", "url": "https://blog.zolty.systems/posts/2026-03-21-harbor-registry-ditching-ecr/", "published_at": "2026-03-22T03:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81e3e7cfc1", "title": "One Month Retrospective: From Bare Metal to Production Platform", "url": "https://blog.zolty.systems/posts/2026-03-21-one-month-retrospective/", "published_at": "2026-03-22T02:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81e43cfb08", "title": "Stock Automation: From Empty Scaffold to 13,000 Lines in a Single Day", "url": "https://blog.zolty.systems/posts/2026-03-21-stock-automation-zero-to-platform/", "published_at": "2026-03-22T00:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81e4ea1eac", "title": "PETG Filament Settings: Why the Advertised Temperatures Are Wrong", "url": "https://blog.zolty.systems/posts/2026-03-20-petg-filament-settings/", "published_at": "2026-03-21T02:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81e5cb92ec", "title": "The Bambu Lab P1S: Why Every Homelab Needs a 3D Printer", "url": "https://blog.zolty.systems/posts/2026-03-19-bambu-lab-p1s-3d-printing/", "published_at": "2026-03-20T02:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81e5e02709", "title": "Jellyfin HA on Kubernetes: Redis-Backed Transcode Session Failover", "url": "https://blog.zolty.systems/posts/jellyfin-ha-kubernetes/", "published_at": "2026-03-15T02:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81e64aa411", "title": "What's Still Broken and What Comes Next", "url": "https://blog.zolty.systems/posts/2026-03-12-jellyfin-ha-whats-broken/", "published_at": "2026-03-12T14:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81e6c557e8", "title": "Scaling to Two Replicas and Failover Testing", "url": "https://blog.zolty.systems/posts/2026-03-11-jellyfin-ha-failover-testing/", "published_at": "2026-03-11T14:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81e6f31ee5", "title": "State Externalization and the Sticky Session Compromise", "url": "https://blog.zolty.systems/posts/2026-03-10-jellyfin-ha-state-sessions/", "published_at": "2026-03-10T14:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81e6ff9d55", "title": "Storage Refactoring and the SQLite-to-PostgreSQL Migration", "url": "https://blog.zolty.systems/posts/2026-03-09-jellyfin-ha-storage-migration/", "published_at": "2026-03-09T14:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81e70e8ca7", "title": "Forking Jellyfin: A PostgreSQL Database Provider in .NET 10", "url": "https://blog.zolty.systems/posts/2026-03-08-jellyfin-ha-postgresql-provider/", "published_at": "2026-03-08T14:00:00+00:00" }, { "id": "01a08756-8fb8-71c9-84bd-cf81e757e7f7", "title": "Multi-Model Planning: The Same Pattern That Shipped dnd-multi", "url": "https://blog.zolty.systems/posts/2026-03-07-jellyfin-ha-multi-model-planning/", "published_at": "2026-03-07T14:00:00+00:00" }, { "id": "01a08756-8fb9-717a-bdf6-3e8cb4db9047", "title": "Why Jellyfin Can't Scale (And What We're Going to Do About It)", "url": "https://blog.zolty.systems/posts/2026-03-06-jellyfin-ha-why-it-cant-scale/", "published_at": "2026-03-06T14:00:00+00:00" }, { "id": "01a08756-8fb9-717a-bdf6-3e8cb5b276d2", "title": "Seven Alerts, Three Bugs, One AI Debug Session: A Kubernetes Incident Report", "url": "https://blog.zolty.systems/posts/2026-03-04-ai-driven-incident-response/", "published_at": "2026-03-05T04:00:00+00:00" } ] posts Claim your blog
Back to blog.zolty.systems
Blog · corpus.blog/blogs/blog.zolty.systems/posts

blog.zolty.systems

blog.zolty.systems

2026