<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Home</title><description>Daniel Etuk writes about building products, AI, systems, 3D, art, and the ideas around them.</description><link>https://dannetuk.dannetuk.workers.dev/</link><item><title>A personal agent I can move: Hermes, DeepSeek and Telegram</title><link>https://dannetuk.dannetuk.workers.dev/writing/self-hosting-hermes-agent-deepseek-telegram/</link><guid isPermaLink="true">https://dannetuk.dannetuk.workers.dev/writing/self-hosting-hermes-agent-deepseek-telegram/</guid><description>Self-host Hermes on a Linux server, use DeepSeek V4.1 Flash Fast, connect a private Telegram bot, and keep the setup maintainable.</description><pubDate>Wed, 30 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Produca: directing an idea</title><link>https://dannetuk.dannetuk.workers.dev/writing/produca-directing-an-idea/</link><guid isPermaLink="true">https://dannetuk.dannetuk.workers.dev/writing/produca-directing-an-idea/</guid><description>The direction behind Produca, and the decisions I want a video project to keep.</description><pubDate>Sat, 12 Sep 2026 00:00:00 GMT</pubDate></item><item><title>Evaluations before agents</title><link>https://dannetuk.dannetuk.workers.dev/writing/evaluations-before-agents/</link><guid isPermaLink="true">https://dannetuk.dannetuk.workers.dev/writing/evaluations-before-agents/</guid><description>A few repeatable tasks tell me more than a demo that worked once.</description><pubDate>Tue, 18 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Context is a product surface</title><link>https://dannetuk.dannetuk.workers.dev/writing/context-is-a-product-surface/</link><guid isPermaLink="true">https://dannetuk.dannetuk.workers.dev/writing/context-is-a-product-surface/</guid><description>Show me the reference and instructions that shaped the result.</description><pubDate>Tue, 21 Jul 2026 00:00:00 GMT</pubDate></item><item><title>AI products need tools, not just chat</title><link>https://dannetuk.dannetuk.workers.dev/writing/tools-not-chat/</link><guid isPermaLink="true">https://dannetuk.dannetuk.workers.dev/writing/tools-not-chat/</guid><description>Keep the conversation, but give the actual work somewhere to live.</description><pubDate>Tue, 16 Jun 2026 00:00:00 GMT</pubDate></item><item><title>Memory should have an expiry date</title><link>https://dannetuk.dannetuk.workers.dev/writing/memory-with-an-expiry-date/</link><guid isPermaLink="true">https://dannetuk.dannetuk.workers.dev/writing/memory-with-an-expiry-date/</guid><description>A temporary instruction shouldn&apos;t quietly become a permanent preference.</description><pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate></item><item><title>Cost is part of the interface</title><link>https://dannetuk.dannetuk.workers.dev/writing/cost-is-part-of-the-interface/</link><guid isPermaLink="true">https://dannetuk.dannetuk.workers.dev/writing/cost-is-part-of-the-interface/</guid><description>Changing one line shouldn&apos;t quietly regenerate the entire video.</description><pubDate>Fri, 17 Apr 2026 00:00:00 GMT</pubDate></item><item><title>Model routing is product design</title><link>https://dannetuk.dannetuk.workers.dev/writing/model-routing-is-product-design/</link><guid isPermaLink="true">https://dannetuk.dannetuk.workers.dev/writing/model-routing-is-product-design/</guid><description>Extraction, planning and arithmetic don&apos;t need the same route.</description><pubDate>Thu, 19 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Building tools around the work</title><link>https://dannetuk.dannetuk.workers.dev/writing/building-tools-around-the-work/</link><guid isPermaLink="true">https://dannetuk.dannetuk.workers.dev/writing/building-tools-around-the-work/</guid><description>A habit of building tools for the things I keep repeating.</description><pubDate>Tue, 03 Mar 2026 00:00:00 GMT</pubDate></item><item><title>Coding agents need a workbench</title><link>https://dannetuk.dannetuk.workers.dev/writing/coding-agents-need-a-workbench/</link><guid isPermaLink="true">https://dannetuk.dannetuk.workers.dev/writing/coding-agents-need-a-workbench/</guid><description>Useful project knowledge should survive a model switch.</description><pubDate>Wed, 18 Feb 2026 00:00:00 GMT</pubDate></item><item><title>How I read AI papers</title><link>https://dannetuk.dannetuk.workers.dev/writing/how-i-read-ai-papers/</link><guid isPermaLink="true">https://dannetuk.dannetuk.workers.dev/writing/how-i-read-ai-papers/</guid><description>Checking the comparison before getting attached to the claim.</description><pubDate>Thu, 22 Jan 2026 00:00:00 GMT</pubDate></item><item><title>Multimodal is a workflow problem</title><link>https://dannetuk.dannetuk.workers.dev/writing/multimodal-is-a-workflow-problem/</link><guid isPermaLink="true">https://dannetuk.dannetuk.workers.dev/writing/multimodal-is-a-workflow-problem/</guid><description>A reference for clothing is not necessarily a reference for lighting.</description><pubDate>Thu, 18 Dec 2025 00:00:00 GMT</pubDate></item><item><title>Reliability for probabilistic software</title><link>https://dannetuk.dannetuk.workers.dev/writing/reliability-for-probabilistic-software/</link><guid isPermaLink="true">https://dannetuk.dannetuk.workers.dev/writing/reliability-for-probabilistic-software/</guid><description>Variable answers don&apos;t excuse duplicate actions or lost state.</description><pubDate>Thu, 20 Nov 2025 00:00:00 GMT</pubDate></item><item><title>Taste is not a model setting</title><link>https://dannetuk.dannetuk.workers.dev/writing/taste-is-not-a-model-setting/</link><guid isPermaLink="true">https://dannetuk.dannetuk.workers.dev/writing/taste-is-not-a-model-setting/</guid><description>Cinematic is a broad instruction. Specific choices are more useful.</description><pubDate>Thu, 16 Oct 2025 00:00:00 GMT</pubDate></item><item><title>Local models and private work</title><link>https://dannetuk.dannetuk.workers.dev/writing/local-models-and-private-work/</link><guid isPermaLink="true">https://dannetuk.dannetuk.workers.dev/writing/local-models-and-private-work/</guid><description>Which jobs belong on the device, and what still leaves it?</description><pubDate>Thu, 18 Sep 2025 00:00:00 GMT</pubDate></item><item><title>Zig made memory visible again</title><link>https://dannetuk.dannetuk.workers.dev/writing/zig-made-memory-visible/</link><guid isPermaLink="true">https://dannetuk.dannetuk.workers.dev/writing/zig-made-memory-visible/</guid><description>Questions about ownership and allocation that carry over to higher-level work.</description><pubDate>Thu, 21 Aug 2025 00:00:00 GMT</pubDate></item><item><title>Designing the failure path</title><link>https://dannetuk.dannetuk.workers.dev/writing/designing-for-failure/</link><guid isPermaLink="true">https://dannetuk.dannetuk.workers.dev/writing/designing-for-failure/</guid><description>A timeout doesn&apos;t tell you whether the operation happened.</description><pubDate>Thu, 19 Jun 2025 00:00:00 GMT</pubDate></item><item><title>Observability for one-person teams</title><link>https://dannetuk.dannetuk.workers.dev/writing/observability-for-one-person-teams/</link><guid isPermaLink="true">https://dannetuk.dannetuk.workers.dev/writing/observability-for-one-person-teams/</guid><description>Start with the failed job you need to find, not another dashboard.</description><pubDate>Thu, 15 May 2025 00:00:00 GMT</pubDate></item><item><title>What an agent inside Blender should understand</title><link>https://dannetuk.dannetuk.workers.dev/writing/an-agent-inside-blender/</link><guid isPermaLink="true">https://dannetuk.dannetuk.workers.dev/writing/an-agent-inside-blender/</guid><description>Inspect the chair before making it wider.</description><pubDate>Thu, 17 Apr 2025 00:00:00 GMT</pubDate></item><item><title>AI harnesses for Godot</title><link>https://dannetuk.dannetuk.workers.dev/writing/ai-harnesses-for-godot/</link><guid isPermaLink="true">https://dannetuk.dannetuk.workers.dev/writing/ai-harnesses-for-godot/</guid><description>The script can look right while the running game is wrong.</description><pubDate>Thu, 20 Mar 2025 00:00:00 GMT</pubDate></item><item><title>Procedural and generative belong together</title><link>https://dannetuk.dannetuk.workers.dev/writing/procedural-and-generative/</link><guid isPermaLink="true">https://dannetuk.dannetuk.workers.dev/writing/procedural-and-generative/</guid><description>Generate a starting point, then keep the controls needed to revise it.</description><pubDate>Thu, 20 Feb 2025 00:00:00 GMT</pubDate></item><item><title>A 3D scene is data before it is an image</title><link>https://dannetuk.dannetuk.workers.dev/writing/a-3d-scene-is-data/</link><guid isPermaLink="true">https://dannetuk.dannetuk.workers.dev/writing/a-3d-scene-is-data/</guid><description>A render won&apos;t tell you which materials are shared or what depends on an object.</description><pubDate>Thu, 16 Jan 2025 00:00:00 GMT</pubDate></item><item><title>Building before selling</title><link>https://dannetuk.dannetuk.workers.dev/writing/building-before-selling/</link><guid isPermaLink="true">https://dannetuk.dannetuk.workers.dev/writing/building-before-selling/</guid><description>Noticing when another feature is a way to postpone talking to someone.</description><pubDate>Thu, 19 Dec 2024 00:00:00 GMT</pubDate></item><item><title>Payments are state machines</title><link>https://dannetuk.dannetuk.workers.dev/writing/payments-are-state-machines/</link><guid isPermaLink="true">https://dannetuk.dannetuk.workers.dev/writing/payments-are-state-machines/</guid><description>What a paid boolean leaves out, and why unknown outcomes need reconciliation.</description><pubDate>Thu, 24 Oct 2024 00:00:00 GMT</pubDate></item><item><title>Compliance can improve the product</title><link>https://dannetuk.dannetuk.workers.dev/writing/compliance-can-improve-the-product/</link><guid isPermaLink="true">https://dannetuk.dannetuk.workers.dev/writing/compliance-can-improve-the-product/</guid><description>Turning access requirements into better support tools and fewer leftover permissions.</description><pubDate>Thu, 03 Oct 2024 00:00:00 GMT</pubDate></item></channel></rss>