<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Ahnaf Tahmid Chowdhury — Notes</title>
    <link>https://tahmid.work/notes</link>
    <description>Writing on nuclear simulation software, data formats, and the infrastructure behind them.</description>
    <language>en</language>
    <lastBuildDate>Sat, 14 Nov 2026 00:00:00 GMT</lastBuildDate>
    <atom:link href="https://tahmid.work/rss.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Every nuclear code spells the same atom differently</title>
      <link>https://tahmid.work/notes/every-code-spells-the-atom-differently</link>
      <guid isPermaLink="true">https://tahmid.work/notes/every-code-spells-the-atom-differently</guid>
      <description>I read nine nuclide naming dialects into one 32-bit id. Most of it is string trimming; the rest is deciding what to do when a format cannot represent the answer.</description>
      <pubDate>Sat, 14 Nov 2026 00:00:00 GMT</pubDate>
      <category>nuclear</category>
      <category>rust</category>
      <category>data-modelling</category>
      <category>nucleide</category>
    </item>
    <item>
      <title>Docker container names are a mutex</title>
      <link>https://tahmid.work/notes/docker-container-names-are-a-mutex</link>
      <guid isPermaLink="true">https://tahmid.work/notes/docker-container-names-are-a-mutex</guid>
      <description>I wanted each node to copy the toolchain image once. Getting that right meant treating container names as locks, image digests as cache keys, and a failure to cache as a degraded state.</description>
      <pubDate>Wed, 11 Nov 2026 00:00:00 GMT</pubDate>
      <category>docker</category>
      <category>infrastructure</category>
      <category>caching</category>
      <category>concurrency</category>
      <category>nukelab</category>
    </item>
  </channel>
</rss>