<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel>
    <title>Greg Roy — Writing</title>
    <link>https://gregsplace.cc/blog</link>
    <description>Writing by Greg Roy on DevOps, incident management, and building sustainable engineering cultures.</description>
    <language>en-ca</language>
    <item>
      <title>Passkeys for the homelab: Authelia + Windows Hello</title>
      <link>https://gregsplace.cc/blog/passkeys-for-the-homelab</link>
      <guid isPermaLink="true">https://gregsplace.cc/blog/passkeys-for-the-homelab</guid>
      <pubDate>Sun, 28 Jun 2026 12:00:00 GMT</pubDate>
      <description>Moving self-hosted SSO from password plus TOTP to passkeys, and the real gotchas that show up when Windows Hello meets a Cloudflare Tunnel and Caddy stack.</description>
    </item>
    <item>
      <title>The app my agents built while I slept</title>
      <link>https://gregsplace.cc/blog/app-built-overnight</link>
      <guid isPermaLink="true">https://gregsplace.cc/blog/app-built-overnight</guid>
      <pubDate>Thu, 25 Jun 2026 12:00:00 GMT</pubDate>
      <description>I queued an offline-first warranty tracker as an overnight agent-fleet run and spent the next morning fixing what the agents got wrong.</description>
    </item>
    <item>
      <title>The App ID graveyard: shipping an Apple Watch app from a headless CI runner</title>
      <link>https://gregsplace.cc/blog/watch-app-id-graveyard</link>
      <guid isPermaLink="true">https://gregsplace.cc/blog/watch-app-id-graveyard</guid>
      <pubDate>Wed, 24 Jun 2026 12:00:00 GMT</pubDate>
      <description>Six hidden failures that blocked a watchOS target, and what solo iOS shippers should pre-provision before adding their first watch extension.</description>
    </item>
    <item>
      <title>Teaching the cheap model: a learning flywheel for AI coding agents</title>
      <link>https://gregsplace.cc/blog/teaching-the-cheap-model</link>
      <guid isPermaLink="true">https://gregsplace.cc/blog/teaching-the-cheap-model</guid>
      <pubDate>Mon, 22 Jun 2026 12:00:00 GMT</pubDate>
      <description>An expensive reviewer turns a cheap worker's mistakes into durable lessons, then injects them back into future prompts so the stateless model keeps getting better.</description>
    </item>
    <item>
      <title>Putting an AI assistant on Signal (with eyes)</title>
      <link>https://gregsplace.cc/blog/jarvis-on-signal</link>
      <guid isPermaLink="true">https://gregsplace.cc/blog/jarvis-on-signal</guid>
      <pubDate>Sat, 20 Jun 2026 12:00:00 GMT</pubDate>
      <description>How I wired a self-hosted Signal bridge to a local AI assistant so the family can text it, and then gave it vision for photos.</description>
    </item>
    <item>
      <title>Shipping apps solo with an AI agent fleet</title>
      <link>https://gregsplace.cc/blog/agent-fleet</link>
      <guid isPermaLink="true">https://gregsplace.cc/blog/agent-fleet</guid>
      <pubDate>Fri, 19 Jun 2026 12:00:00 GMT</pubDate>
      <description>Agents for throughput, a human as the reliability gate — how one operator ships iOS and Android apps to production.</description>
    </item>
    <item>
      <title>Audit tournament — making AI models compete to find real bugs</title>
      <link>https://gregsplace.cc/blog/audit-tournament</link>
      <guid isPermaLink="true">https://gregsplace.cc/blog/audit-tournament</guid>
      <pubDate>Tue, 16 Jun 2026 12:00:00 GMT</pubDate>
      <description>Why hallucination rates differ wildly between models and why adjudication, not raw output, is the real product of a forensic AI audit.</description>
    </item>
    <item>
      <title>Board email the IT team can't read</title>
      <link>https://gregsplace.cc/blog/board-email</link>
      <guid isPermaLink="true">https://gregsplace.cc/blog/board-email</guid>
      <pubDate>Fri, 08 May 2026 12:00:00 GMT</pubDate>
      <description>S/MIME end-to-end with board-owned keys — structural privacy, not policy privacy.</description>
    </item>
    <item>
      <title>Blameless ≠ consequence-free: making post-mortems stick</title>
      <link>https://gregsplace.cc/blog/blameless-stick</link>
      <guid isPermaLink="true">https://gregsplace.cc/blog/blameless-stick</guid>
      <pubDate>Sat, 11 Apr 2026 12:00:00 GMT</pubDate>
      <description>Turn incidents into durable improvements without witch hunts or wheel-spinning.</description>
    </item>
    <item>
      <title>From IC to leader: a lightweight mentoring path</title>
      <link>https://gregsplace.cc/blog/ic-to-leader</link>
      <guid isPermaLink="true">https://gregsplace.cc/blog/ic-to-leader</guid>
      <pubDate>Sat, 11 Apr 2026 12:00:00 GMT</pubDate>
      <description>How I help strong ICs become calm, trusted incident leaders.</description>
    </item>
    <item>
      <title>The 3-pager that fixed on-call</title>
      <link>https://gregsplace.cc/blog/oncall-3pager</link>
      <guid isPermaLink="true">https://gregsplace.cc/blog/oncall-3pager</guid>
      <pubDate>Sat, 11 Apr 2026 12:00:00 GMT</pubDate>
      <description>Clarified scope, severity levels, and paging rules.</description>
    </item>
</channel></rss>
