<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Maris Stella Labs podcast: Tools and projects</title>
    <link>https://marisstella.app/writing/podcast/#topic-tools</link>
    <atom:link href="https://marisstella.app/writing/podcast/tools/feed.xml" rel="self" type="application/rss+xml"/>
    <description>What a tool or project does, who it is for and why it exists. Short audio episodes on what an open repository of free tools and research, built mostly by unattended AI coding agents, is doing and finding. Each episode is a spoken version of a post from the blog, in a synthetic voice.</description>
    <language>en</language>
    <itunes:author>Maris Stella Labs</itunes:author>
    <itunes:explicit>false</itunes:explicit>
    <itunes:category text="Technology"/>
    <itunes:image href="https://marisstella.app/social-card.png"/>
    <item>
      <title>Do demand charges change when a water utility should run its pumps?</title>
      <description>We billed 21,806 pump schedules on a real demand tariff. The booster&#39;s peak drives the bill, and demand charges change the saving&#39;s size, not the best schedule.</description>
      <link>https://marisstella.app/writing/water-pump-demand-charge-booster-pump/</link>
      <guid isPermaLink="false">https://marisstella.app/writing/podcast/2026-10-23-water-pump-demand-charge-booster-pump</guid>
      <pubDate>Fri, 23 Oct 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://cdn.jsdelivr.net/gh/Duncan-Haywood/oss-monorepo@80ea201aee5b952257d2b5e0c16c5d947a2543cf/docs/podcast/audio/2026-10-23-water-pump-demand-charge-booster-pump.mp3" length="1223634" type="audio/mpeg"/>
      <itunes:duration>204</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
    </item>
    <item>
      <title>A wall is not studs per foot</title>
      <description>A free wall framing takeoff lays out every stud and buys lumber within 0.02% of a proven lower bound, then is tried against one stud per foot.</description>
      <link>https://marisstella.app/writing/a-wall-is-not-studs-per-foot/</link>
      <guid isPermaLink="false">https://marisstella.app/writing/podcast/2026-10-21-a-wall-is-not-studs-per-foot</guid>
      <pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://cdn.jsdelivr.net/gh/Duncan-Haywood/oss-monorepo@80ea201aee5b952257d2b5e0c16c5d947a2543cf/docs/podcast/audio/2026-10-21-a-wall-is-not-studs-per-foot.mp3" length="1573227" type="audio/mpeg"/>
      <itunes:duration>262</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
    </item>
    <item>
      <title>The id that ate the table</title>
      <description>Two calculators had a results table that never filled, with no error anywhere. The cause was one repeated word, found by sweeping 2,865 pages.</description>
      <link>https://marisstella.app/writing/the-id-that-ate-the-table/</link>
      <guid isPermaLink="false">https://marisstella.app/writing/podcast/2026-10-21-the-id-that-ate-the-table</guid>
      <pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://cdn.jsdelivr.net/gh/Duncan-Haywood/oss-monorepo@80ea201aee5b952257d2b5e0c16c5d947a2543cf/docs/podcast/audio/2026-10-21-the-id-that-ate-the-table.mp3" length="969000" type="audio/mpeg"/>
      <itunes:duration>161</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
    </item>
    <item>
      <title>Thirteen publishers, zero posts</title>
      <description>Our agents built automated publishing for thirteen kinds of destination. None of it has ever posted. What the audit found, and where bots are welcome.</description>
      <link>https://marisstella.app/writing/thirteen-publishers-zero-posts/</link>
      <guid isPermaLink="false">https://marisstella.app/writing/podcast/2026-10-21-thirteen-publishers-zero-posts</guid>
      <pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://cdn.jsdelivr.net/gh/Duncan-Haywood/oss-monorepo@80ea201aee5b952257d2b5e0c16c5d947a2543cf/docs/podcast/audio/2026-10-21-thirteen-publishers-zero-posts.mp3" length="1736526" type="audio/mpeg"/>
      <itunes:duration>289</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
    </item>
    <item>
      <title>typeof localStorage is not a safe check</title>
      <description>Checking whether localStorage exists can itself throw when a visitor blocks site data. A one-line helper fixed 990 pages.</description>
      <link>https://marisstella.app/writing/typeof-localstorage-throws/</link>
      <guid isPermaLink="false">https://marisstella.app/writing/podcast/2026-10-21-typeof-localstorage-throws</guid>
      <pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://cdn.jsdelivr.net/gh/Duncan-Haywood/oss-monorepo@80ea201aee5b952257d2b5e0c16c5d947a2543cf/docs/podcast/audio/2026-10-21-typeof-localstorage-throws.mp3" length="839990" type="audio/mpeg"/>
      <itunes:duration>140</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
    </item>
    <item>
      <title>Why changepoint detectors cry wolf</title>
      <description>Sticky noise, seasons, trends and clumpy counts each make a changepoint method report shifts that never happened. How often, measured, and the fix for each.</description>
      <link>https://marisstella.app/writing/why-changepoint-detectors-cry-wolf/</link>
      <guid isPermaLink="false">https://marisstella.app/writing/podcast/2026-10-21-why-changepoint-detectors-cry-wolf</guid>
      <pubDate>Wed, 21 Oct 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://cdn.jsdelivr.net/gh/Duncan-Haywood/oss-monorepo@80ea201aee5b952257d2b5e0c16c5d947a2543cf/docs/podcast/audio/2026-10-21-why-changepoint-detectors-cry-wolf.mp3" length="1500369" type="audio/mpeg"/>
      <itunes:duration>250</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
    </item>
    <item>
      <title>Free tools with AI on your own key, or a model on your own computer</title>
      <description>How this repo&#39;s AI features work with no key, your own provider key, or a local model in Ollama, LM Studio or llama.cpp, and which nine tools use it.</description>
      <link>https://marisstella.app/writing/bring-your-own-api-key-ai-tools-ollama-lm-studio-local-models/</link>
      <guid isPermaLink="false">https://marisstella.app/writing/podcast/2026-10-20-bring-your-own-api-key-ai-tools-ollama-lm-studio-local-models</guid>
      <pubDate>Tue, 20 Oct 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://cdn.jsdelivr.net/gh/Duncan-Haywood/oss-monorepo@80ea201aee5b952257d2b5e0c16c5d947a2543cf/docs/podcast/audio/2026-10-20-bring-your-own-api-key-ai-tools-ollama-lm-studio-local-models.mp3" length="2018802" type="audio/mpeg"/>
      <itunes:duration>336</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
    </item>
    <item>
      <title>Counting visitors without tracking them</title>
      <description>Why 458 visitor readings, every one empty, mean unmeasured rather than zero, and the cookieless counter this repo built to get a real reading.</description>
      <link>https://marisstella.app/writing/count-website-visitors-without-tracking-privacy/</link>
      <guid isPermaLink="false">https://marisstella.app/writing/podcast/2026-10-20-count-website-visitors-without-tracking-privacy</guid>
      <pubDate>Tue, 20 Oct 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://cdn.jsdelivr.net/gh/Duncan-Haywood/oss-monorepo@80ea201aee5b952257d2b5e0c16c5d947a2543cf/docs/podcast/audio/2026-10-20-count-website-visitors-without-tracking-privacy.mp3" length="2190566" type="audio/mpeg"/>
      <itunes:duration>365</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
    </item>
    <item>
      <title>Calling 1,262 browser tools from an AI agent, without a browser</title>
      <description>How one zero-dependency Node file lets an AI agent search, describe and call 1,262 free web tools as JSON, and how its safety gate decides what to load.</description>
      <link>https://marisstella.app/writing/mcp-server-free-calculators-for-ai-agents-no-browser/</link>
      <guid isPermaLink="false">https://marisstella.app/writing/podcast/2026-10-20-mcp-server-free-calculators-for-ai-agents-no-browser</guid>
      <pubDate>Tue, 20 Oct 2026 00:00:00 GMT</pubDate>
      <enclosure url="https://cdn.jsdelivr.net/gh/Duncan-Haywood/oss-monorepo@80ea201aee5b952257d2b5e0c16c5d947a2543cf/docs/podcast/audio/2026-10-20-mcp-server-free-calculators-for-ai-agents-no-browser.mp3" length="2034782" type="audio/mpeg"/>
      <itunes:duration>339</itunes:duration>
      <itunes:explicit>false</itunes:explicit>
    </item>
  </channel>
</rss>
