<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Python on Evan Coleman</title><link>https://edc.me/tags/python/</link><description>Recent content in Python on Evan Coleman</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Wed, 08 Jul 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://edc.me/tags/python/index.xml" rel="self" type="application/rss+xml"/><item><title>Introducing xcode-remote: A Feedback Loop for AI Agents That Write Swift</title><link>https://edc.me/posts/introducing-xcode-remote/</link><pubDate>Wed, 08 Jul 2026 00:00:00 +0000</pubDate><guid>https://edc.me/posts/introducing-xcode-remote/</guid><description>&lt;p>My coding agents live on a headless Mac, supervised by &lt;a href="https://edc.me/posts/introducing-leo/">Leo&lt;/a>. They run in launchd background sessions: no GUI, no logged-in desktop, nobody at the keyboard. For most work that&amp;rsquo;s fine. An agent can write Swift, run tests, even boot a simulator headlessly and screenshot it. What it can&amp;rsquo;t do is put the app in front of me.&lt;/p>
&lt;p>The apps I want to watch run on the Mac I&amp;rsquo;m sitting at, in a simulator there or on the iPhone paired to it. So for a while the loop closed through me: the agent builds, I copy the &lt;code>.app&lt;/code> over, launch it, squint at Console, and paste crash reports back into the conversation. That got old fast.&lt;/p></description></item></channel></rss>