<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Macos on Calogero Sanfilippo</title><link>https://calogerosanfilippo.it/tags/macos/</link><description>Recent content in Macos on Calogero Sanfilippo</description><generator>Hugo</generator><language>en-US</language><lastBuildDate>Fri, 06 Nov 2026 02:11:16 +0100</lastBuildDate><atom:link href="https://calogerosanfilippo.it/tags/macos/index.xml" rel="self" type="application/rss+xml"/><item><title>MDQuerySetMaxCount can lose most of your Spotlight results</title><link>https://calogerosanfilippo.it/posts/capped-mdquery/</link><pubDate>Fri, 06 Nov 2026 01:30:00 +0100</pubDate><guid>https://calogerosanfilippo.it/posts/capped-mdquery/</guid><description>&lt;p&gt;&lt;a href="https://calogerosanfilippo.it/tools/oxus/" &gt;oxus&lt;/a&gt; 0.3.0 added &lt;code&gt;truncated&lt;/code&gt;, a flag that tells an MCP client when &lt;code&gt;limit&lt;/code&gt; has cut a result short. The plan was cheap: ask Spotlight for &lt;code&gt;limit + 1&lt;/code&gt; results with &lt;code&gt;MDQuerySetMaxCount&lt;/code&gt;, and if the extra result arrives, more matches exist.&lt;/p&gt;&#10;&lt;p&gt;All 125 tests passed, and the feature didn&amp;rsquo;t work.&lt;/p&gt;&#10;&lt;h2 id="the-symptom"&gt;&#10; The symptom&#10; &lt;a class="heading-link" href="#the-symptom"&gt;&#10; &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;&#10; &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;&#10; &lt;/a&gt;&#10;&lt;/h2&gt;&#10;&lt;p&gt;Against the real binary, a &lt;code&gt;search&lt;/code&gt; for &lt;code&gt;.app&lt;/code&gt; with a limit of 100 returned 3 paths and no &lt;code&gt;truncated&lt;/code&gt;. More than a thousand items matched. A &lt;code&gt;search&lt;/code&gt; for &lt;code&gt;photo&lt;/code&gt; returned 2 paths.&lt;/p&gt;</description></item><item><title>oxus: Spotlight search for MCP clients, built test-first with Claude</title><link>https://calogerosanfilippo.it/posts/oxus-released/</link><pubDate>Tue, 03 Nov 2026 16:40:00 +0100</pubDate><guid>https://calogerosanfilippo.it/posts/oxus-released/</guid><description>&lt;h2 id="why"&gt;&#10; Why?&#10; &lt;a class="heading-link" href="#why"&gt;&#10; &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;&#10; &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;&#10; &lt;/a&gt;&#10;&lt;/h2&gt;&#10;&lt;p&gt;I wanted to find out what test-driven development feels like when the other half of the pair is an AI. I didn&amp;rsquo;t want a code generator: I wanted a pair in the XP sense, someone to shape the design with, keep the test list honest and question each step.&lt;/p&gt;&#10;&lt;p&gt;An experiment like that needs a problem small enough to finish and real enough to be worth finishing. I chose an MCP server for Spotlight. I had been meaning to learn the &lt;a href="https://modelcontextprotocol.io" class="external-link" target="_blank" rel="noopener"&gt;Model Context Protocol&lt;/a&gt;, and the problem was right there: every Mac already keeps an index of its files, yet an agent looking for a document usually crawls the disk with &lt;code&gt;find&lt;/code&gt;.&lt;/p&gt;</description></item></channel></rss>