<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Mubin Attar — Writing &amp; Notes</title>
    <link>https://mubin-attar.vercel.app</link>
    <atom:link href="https://mubin-attar.vercel.app/rss.xml" rel="self" type="application/rss+xml" />
    <description>Essays, guides, and short notes on AI systems, evaluation, and honest ML.</description>
    <language>en</language>
    <item>
      <title>Grade every prediction against the real final score</title>
      <link>https://mubin-attar.vercel.app/notes/grade-picks-against-the-final-score</link>
      <guid isPermaLink="true">https://mubin-attar.vercel.app/notes/grade-picks-against-the-final-score</guid>
      <pubDate>Sun, 05 Jul 2026 00:00:00 GMT</pubDate>
      <category>note</category>
      <description>A short note on evals, honesty.</description>
    </item>
    <item>
      <title>The validator is the belt; least-privilege is the braces</title>
      <link>https://mubin-attar.vercel.app/notes/read-only-least-privilege-execution</link>
      <guid isPermaLink="true">https://mubin-attar.vercel.app/notes/read-only-least-privilege-execution</guid>
      <pubDate>Thu, 25 Jun 2026 00:00:00 GMT</pubDate>
      <category>note</category>
      <description>A short note on security, sql.</description>
    </item>
    <item>
      <title>A validator is not a better prompt</title>
      <link>https://mubin-attar.vercel.app/writing/a-validator-is-not-a-better-prompt</link>
      <guid isPermaLink="true">https://mubin-attar.vercel.app/writing/a-validator-is-not-a-better-prompt</guid>
      <pubDate>Sat, 20 Jun 2026 00:00:00 GMT</pubDate>
      <category>essay</category>
      <description>Why DBWhisper gates every generated query with deterministic code instead of a stricter system prompt — 'less often' is not a safety property.</description>
    </item>
    <item>
      <title>For text-to-SQL, measure execution accuracy</title>
      <link>https://mubin-attar.vercel.app/notes/execution-accuracy-not-exact-match</link>
      <guid isPermaLink="true">https://mubin-attar.vercel.app/notes/execution-accuracy-not-exact-match</guid>
      <pubDate>Thu, 18 Jun 2026 00:00:00 GMT</pubDate>
      <category>note</category>
      <description>A short note on evals, sql.</description>
    </item>
    <item>
      <title>Trust is not a safety model</title>
      <link>https://mubin-attar.vercel.app/writing/trust-is-not-a-safety-model</link>
      <guid isPermaLink="true">https://mubin-attar.vercel.app/writing/trust-is-not-a-safety-model</guid>
      <pubDate>Wed, 20 May 2026 00:00:00 GMT</pubDate>
      <category>essay</category>
      <description>Why I gate an LLM's SQL behind a deterministic, fail-closed validator instead of trusting the model to behave.</description>
    </item>
    <item>
      <title>Solo, but every deploy still has to pass the gate</title>
      <link>https://mubin-attar.vercel.app/notes/every-deploy-gated-by-ci</link>
      <guid isPermaLink="true">https://mubin-attar.vercel.app/notes/every-deploy-gated-by-ci</guid>
      <pubDate>Sat, 16 May 2026 00:00:00 GMT</pubDate>
      <category>note</category>
      <description>A short note on infra, testing.</description>
    </item>
    <item>
      <title>State the risk-free rate wherever Sharpe appears</title>
      <link>https://mubin-attar.vercel.app/notes/state-the-risk-free-rate</link>
      <guid isPermaLink="true">https://mubin-attar.vercel.app/notes/state-the-risk-free-rate</guid>
      <pubDate>Sat, 09 May 2026 00:00:00 GMT</pubDate>
      <category>note</category>
      <description>A short note on quant, honesty.</description>
    </item>
    <item>
      <title>Look-ahead-free by construction</title>
      <link>https://mubin-attar.vercel.app/writing/look-ahead-free-by-construction</link>
      <guid isPermaLink="true">https://mubin-attar.vercel.app/writing/look-ahead-free-by-construction</guid>
      <pubDate>Sun, 12 Apr 2026 00:00:00 GMT</pubDate>
      <category>essay</category>
      <description>The most common way a backtest lies to you is look-ahead bias. Here's how I designed it out of TradePulse instead of hoping to catch it later.</description>
    </item>
    <item>
      <title>One agent, three SQL dialects</title>
      <link>https://mubin-attar.vercel.app/notes/one-agent-three-sql-dialects</link>
      <guid isPermaLink="true">https://mubin-attar.vercel.app/notes/one-agent-three-sql-dialects</guid>
      <pubDate>Thu, 02 Apr 2026 00:00:00 GMT</pubDate>
      <category>note</category>
      <description>A short note on sql, agents.</description>
    </item>
    <item>
      <title>Six LLM providers behind one interface</title>
      <link>https://mubin-attar.vercel.app/notes/six-providers-one-interface</link>
      <guid isPermaLink="true">https://mubin-attar.vercel.app/notes/six-providers-one-interface</guid>
      <pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate>
      <category>note</category>
      <description>A short note on infra, agents.</description>
    </item>
    <item>
      <title>Retrieval beats stuffing the schema</title>
      <link>https://mubin-attar.vercel.app/writing/retrieval-beats-stuffing</link>
      <guid isPermaLink="true">https://mubin-attar.vercel.app/writing/retrieval-beats-stuffing</guid>
      <pubDate>Sun, 08 Mar 2026 00:00:00 GMT</pubDate>
      <category>guide</category>
      <description>A practical approach to natural-language-to-SQL on real databases: document the schema, embed it, and retrieve per question instead of pasting the whole thing into the prompt.</description>
    </item>
    <item>
      <title>Enforce tenancy in the repository layer, not the route</title>
      <link>https://mubin-attar.vercel.app/notes/tenancy-in-the-repository-layer</link>
      <guid isPermaLink="true">https://mubin-attar.vercel.app/notes/tenancy-in-the-repository-layer</guid>
      <pubDate>Sat, 21 Feb 2026 00:00:00 GMT</pubDate>
      <category>note</category>
      <description>A short note on infra, security.</description>
    </item>
  </channel>
</rss>