<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Khashayar Ghamati — Blog</title>
    <link>https://ghamati.com/blog/</link>
    <atom:link href="https://ghamati.com/blog/feed.xml" rel="self" type="application/rss+xml"/>
    <description>Essays and engineering notes on artificial intelligence, computer science, and software engineering.</description>
    <language>en-gb</language>
    <lastBuildDate>Tue, 07 Oct 2026 12:00:00 +0000</lastBuildDate>

    <!-- ITEMS: newest first. Item template (keep lastBuildDate above in sync):
    <item>
      <title>Post Title</title>
      <link>https://ghamati.com/blog/SLUG/</link>
      <guid isPermaLink="true">https://ghamati.com/blog/SLUG/</guid>
      <pubDate>Thu, 01 Jan 2026 12:00:00 +0000</pubDate>
      <dc:creator>Khashayar Ghamati</dc:creator>
      <description>One-or-two-sentence summary of the post.</description>
    </item>
    -->

    <item>
      <title>Building a Small Transformer That Makes Music</title>
      <link>https://ghamati.com/blog/music-llm/</link>
      <guid isPermaLink="true">https://ghamati.com/blog/music-llm/</guid>
      <pubDate>Tue, 07 Oct 2026 12:00:00 +0000</pubDate>
      <dc:creator>Khashayar Ghamati</dc:creator>
      <description>Building a 45M-parameter text-to-music model by hand in PyTorch - EnCodec tokens, cross-attention, home-made pipeline parallelism on two GPUs, and the silent PCIe bug that nearly stopped it. With real training curves and generated audio.</description>
    </item>

  </channel>
</rss>
