<?xml version="1.0" encoding="UTF-8"?>
<rss  xmlns:atom="http://www.w3.org/2005/Atom" 
      xmlns:media="http://search.yahoo.com/mrss/" 
      xmlns:content="http://purl.org/rss/1.0/modules/content/" 
      xmlns:dc="http://purl.org/dc/elements/1.1/" 
      version="2.0">
<channel>
<title>Aakriti Dhakal</title>
<link>https://aakritidhakal.vercel.app/blog/</link>
<atom:link href="https://aakritidhakal.vercel.app/blog/index.xml" rel="self" type="application/rss+xml"/>
<description>Articles on AI engineering, ML systems, and the tools I use.</description>
<generator>quarto-1.10.18</generator>
<lastBuildDate>Wed, 10 Jun 2026 00:00:00 GMT</lastBuildDate>
<item>
  <title>AI’s HPC Era: When Access Becomes the Product</title>
  <dc:creator>Aakriti Dhakal</dc:creator>
  <link>https://aakritidhakal.vercel.app/blog/ai-hpc-era.html</link>
  <description><![CDATA[ 

<style>
/* ─── Search dialog CSS variables ───────────────────────── */
:root {
  --pf-bg: #FAF8F4;
  --pf-border: #e8e8e8;
  --pf-text: #0a0a0a;
  --pf-muted: #888;
  --pf-secondary: #555;
  --pf-hover: #f0ede7;
  --pf-accent: #378ADD;
  --pf-mark-bg: rgba(55, 138, 221, 0.12);
  --pf-mark-fg: #378ADD;
  --pf-overlay: rgba(10, 10, 10, 0.45);
  --pf-shadow: 0 8px 32px rgba(0, 0, 0, 0.14);
  --pf-mono: "JetBrains Mono", monospace;
  --pf-sans: "Inter", system-ui, sans-serif;
  --pf-radius: 6px;
}

/* Dark mode: system preference */
@media (prefers-color-scheme: dark) {
  :root {
    --pf-bg: #1e1c1a;
    --pf-border: #2a2520;
    --pf-text: #e8e4df;
    --pf-muted: #8a857f;
    --pf-secondary: #8a857f;
    --pf-hover: #2a2520;
    --pf-overlay: rgba(0, 0, 0, 0.6);
    --pf-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
  }
}

/* Dark mode: Quarto / Bootstrap manual toggle */
[data-bs-theme="dark"] {
  --pf-bg: #1e1c1a;
  --pf-border: #2a2520;
  --pf-text: #e8e4df;
  --pf-muted: #8a857f;
  --pf-secondary: #8a857f;
  --pf-hover: #2a2520;
  --pf-overlay: rgba(0, 0, 0, 0.6);
  --pf-shadow: 0 8px 32px rgba(0, 0, 0, 0.4);
}

/* ─── Overlay ────────────────────────────────────────────── */
#pf-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 12vh;
  background: var(--pf-overlay);
  -webkit-backdrop-filter: blur(2px);
  backdrop-filter: blur(2px);
}
#pf-overlay[hidden] { display: none; }

/* ─── Panel ──────────────────────────────────────────────── */
#pf-panel {
  width: 100%;
  max-width: 580px;
  margin: 0 1rem;
  background: var(--pf-bg);
  border: 1px solid var(--pf-border);
  border-radius: var(--pf-radius);
  overflow: hidden;
  box-shadow: var(--pf-shadow);
}

/* ─── Input row ──────────────────────────────────────────── */
#pf-input-row {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  padding: 0.75rem 1rem;
  border-bottom: 1px solid var(--pf-border);
}

#pf-input-icon {
  color: var(--pf-muted);
  flex-shrink: 0;
  line-height: 1;
  display: flex;
}

#pf-input {
  flex: 1;
  border: none;
  outline: none;
  background: transparent;
  font-family: var(--pf-sans);
  font-size: 1rem;
  color: var(--pf-text);
  min-width: 0;
}
#pf-input::placeholder { color: var(--pf-muted); }
#pf-input::-webkit-search-cancel-button { display: none; }

#pf-close-key {
  font-family: var(--pf-mono);
  font-size: 0.65rem;
  color: var(--pf-muted);
  border: 1px solid var(--pf-border);
  border-radius: 3px;
  padding: 0.15rem 0.45rem;
  flex-shrink: 0;
  cursor: pointer;
  background: transparent;
  line-height: 1.6;
  transition: color 0.1s, border-color 0.1s;
}
#pf-close-key:hover { color: var(--pf-text); border-color: var(--pf-text); }

/* ─── Results container ──────────────────────────────────── */
#pf-results-wrap {
  max-height: 380px;
  overflow-y: auto;
  overscroll-behavior: contain;
}

#pf-results { padding: 0.375rem 0; }

/* Group label */
.pf-group {
  padding: 0.5rem 1rem 0.2rem;
  font-family: var(--pf-mono);
  font-size: 0.6rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--pf-muted);
}

/* Result item */
.pf-result {
  display: block;
  padding: 0.625rem 1rem;
  text-decoration: none !important;
  color: inherit;
  border-left: 2px solid transparent;
  transition: background 0.08s, border-color 0.08s;
  outline: none;
  cursor: pointer;
}
.pf-result:hover,
.pf-result.is-active {
  background: var(--pf-hover);
  border-left-color: var(--pf-accent);
}

.pf-result-title {
  font-size: 0.875rem;
  font-weight: 600;
  color: var(--pf-text);
  line-height: 1.3;
  margin-bottom: 0.2rem;
}

.pf-result-excerpt {
  font-size: 0.775rem;
  color: var(--pf-secondary);
  line-height: 1.5;
  margin-bottom: 0.3rem;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.pf-result-excerpt mark {
  background: var(--pf-mark-bg);
  color: var(--pf-mark-fg);
  border-radius: 2px;
  padding: 0 2px;
  font-style: normal;
}

.pf-result-tags { display: flex; flex-wrap: wrap; gap: 0.2rem; }
.pf-result-tag {
  font-family: var(--pf-mono);
  font-size: 0.6rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--pf-muted);
  border: 1px solid var(--pf-border);
  border-radius: 2px;
  padding: 0.1rem 0.35rem;
}

/* Empty / error state */
.pf-empty {
  padding: 2rem 1rem;
  text-align: center;
  color: var(--pf-muted);
  font-size: 0.875rem;
  line-height: 1.6;
}
.pf-empty code {
  font-family: var(--pf-mono);
  font-size: 0.82em;
  background: var(--pf-hover);
  border: 1px solid var(--pf-border);
  border-radius: 3px;
  padding: 0.1em 0.35em;
}

/* ─── Footer hint bar ────────────────────────────────────── */
#pf-hint {
  display: flex;
  gap: 1rem;
  padding: 0.45rem 1rem;
  border-top: 1px solid var(--pf-border);
  font-family: var(--pf-mono);
  font-size: 0.6rem;
  color: var(--pf-muted);
  flex-wrap: wrap;
}
#pf-hint kbd {
  display: inline-block;
  border: 1px solid var(--pf-border);
  border-radius: 2px;
  padding: 0 0.3em;
  font-family: var(--pf-mono);
  font-size: 0.6rem;
  line-height: 1.6;
  background: transparent;
}

/* ─── Mobile ─────────────────────────────────────────────── */
@media (max-width: 480px) {
  #pf-panel { margin: 0 0.5rem; }
  #pf-results-wrap { max-height: 55vh; }
  #pf-hint { display: none; }
}
</style>

<!-- Search dialog -->
<div id="pf-overlay" hidden="" aria-modal="true" aria-label="Search">
  <div id="pf-panel">

    <div id="pf-input-row">
      
      <input id="pf-input" type="search" placeholder="Search projects and notes…" autocomplete="off" spellcheck="false" aria-label="Search query" aria-autocomplete="list" aria-controls="pf-results">
      <button id="pf-close-key" type="button" aria-label="Close search">Esc</button>
    </div>

    <div id="pf-results-wrap">
      <div id="pf-results" aria-label="Search results"></div>
    </div>

    

  </div>
</div>

<script>
(function () {
  'use strict';

  var overlay    = document.getElementById('pf-overlay');
  var inputEl    = document.getElementById('pf-input');
  var resultsEl  = document.getElementById('pf-results');
  var closeBtn   = document.getElementById('pf-close-key');

  var pf         = null;   // pagefind module, loaded lazily
  var pfPending  = false;
  var selected   = -1;
  var flat       = [];     // flat ordered array of result data (for keyboard nav)
  var debTimer   = null;

  /* ── Pagefind loader ──────────────────────────────────── */
  function loadPf() {
    if (pf) return Promise.resolve(pf);
    if (pfPending) return Promise.resolve(null);
    pfPending = true;
    return import('/pagefind/pagefind.js')
      .then(function (mod) {
        return mod.init().then(function () { pf = mod; pfPending = false; return pf; });
      })
      .catch(function () {
        pfPending = false;
        console.info('[search] Pagefind index not found. Run `quarto render` to build it.');
        return null;
      });
  }

  /* ── Open / close ─────────────────────────────────────── */
  function openDialog() {
    overlay.hidden = false;
    document.body.style.overflow = 'hidden';
    requestAnimationFrame(function () { inputEl.focus(); });
    loadPf(); // warm up the index
  }

  function closeDialog() {
    overlay.hidden = true;
    document.body.style.overflow = '';
    inputEl.value = '';
    resultsEl.innerHTML = '';
    flat = [];
    selected = -1;
  }

  /* ── Search ───────────────────────────────────────────── */
  function runSearch(query) {
    query = query.trim();
    if (!query) { resultsEl.innerHTML = ''; flat = []; selected = -1; return; }

    loadPf().then(function (mod) {
      if (!mod) {
        resultsEl.innerHTML = '<div class="pf-empty">Search index not found.<br>Run <code>quarto render</code> to build it.</div>';
        return;
      }
      mod.search(query).then(function (res) {
        Promise.all(res.results.slice(0, 15).map(function (r) { return r.data(); }))
          .then(function (data) { renderResults(data, query); });
      });
    });
  }

  function renderResults(data, query) {
    if (!data.length) {
      resultsEl.innerHTML = '<div class="pf-empty">No results for <strong>' + esc(query) + '</strong></div>';
      flat = []; selected = -1;
      return;
    }

    var work  = data.filter(function (r) { return /\/work\//.test(r.url); });
    var notes = data.filter(function (r) { return /\/notes\//.test(r.url); });
    var other = data.filter(function (r) { return !/\/(work|notes)\//.test(r.url); });

    flat = work.concat(notes).concat(other);
    selected = -1;

    var html = '';
    if (work.length)  html += makeGroup('Projects', work,  0);
    if (notes.length) html += makeGroup('Notes',    notes, work.length);
    if (other.length) html += makeGroup('Pages',    other, work.length + notes.length);

    resultsEl.innerHTML = html;

    resultsEl.querySelectorAll('.pf-result').forEach(function (el, i) {
      el.addEventListener('pointerover', function () { activate(i); });
    });
  }

  function makeGroup(label, items, offset) {
    return '<div class="pf-group">' + label + '</div>' +
      items.map(function (r, i) { return makeItem(r, offset + i); }).join('');
  }

  function makeItem(r, idx) {
    var title   = r.meta && r.meta.title ? r.meta.title : r.url;
    var excerpt = r.excerpt || '';
    var rawTags = ((r.meta && r.meta.tags) ? r.meta.tags : '').split(',').map(function (t) { return t.trim(); }).filter(Boolean);
    var tags    = rawTags.slice(0, 4).map(function (t) { return '<span class="pf-result-tag">' + esc(t) + '</span>'; }).join('');

    return '<a class="pf-result" href="' + esc(r.url) + '" role="option" data-idx="' + idx + '">'
      + '<div class="pf-result-title">' + esc(title) + '</div>'
      + (excerpt ? '<div class="pf-result-excerpt">' + excerpt + '</div>' : '')
      + (tags    ? '<div class="pf-result-tags">'    + tags    + '</div>' : '')
      + '</a>';
  }

  /* ── Keyboard navigation ──────────────────────────────── */
  function activate(idx) {
    var items = resultsEl.querySelectorAll('.pf-result');
    items.forEach(function (el) { el.classList.remove('is-active'); });
    if (idx >= 0 && idx < items.length) {
      items[idx].classList.add('is-active');
      items[idx].scrollIntoView({ block: 'nearest' });
    }
    selected = idx;
  }

  /* ── Utility ──────────────────────────────────────────── */
  function esc(s) {
    return String(s)
      .replace(/&/g, '&amp;').replace(/</g, '&lt;')
      .replace(/>/g, '&gt;').replace(/"/g, '&quot;');
  }

  /* ── Event listeners ──────────────────────────────────── */

  // Input
  inputEl.addEventListener('input', function () {
    clearTimeout(debTimer);
    var val = this.value;
    debTimer = setTimeout(function () { runSearch(val); }, 200);
  });

  // Close button
  closeBtn.addEventListener('click', closeDialog);

  // Click on backdrop (outside panel)
  overlay.addEventListener('click', function (e) {
    if (e.target === overlay) closeDialog();
  });

  // Keyboard within the open dialog
  overlay.addEventListener('keydown', function (e) {
    if (e.key === 'Escape') { closeDialog(); return; }
    if (!flat.length) return;
    if (e.key === 'ArrowDown') {
      e.preventDefault();
      activate(Math.min(selected + 1, flat.length - 1));
    } else if (e.key === 'ArrowUp') {
      e.preventDefault();
      activate(Math.max(selected - 1, 0));
    } else if (e.key === 'Enter' && selected >= 0) {
      e.preventDefault();
      window.location.href = flat[selected].url;
    }
  });

  // Global open shortcuts
  document.addEventListener('keydown', function (e) {
    if (!overlay.hidden) return;
    var tag = document.activeElement && document.activeElement.tagName;
    var editable = tag === 'INPUT' || tag === 'TEXTAREA' || tag === 'SELECT'
      || (document.activeElement && document.activeElement.isContentEditable);
    if (e.key === '/' && !editable) { e.preventDefault(); openDialog(); return; }
    if ((e.metaKey || e.ctrlKey) && e.key === 'k') { e.preventDefault(); openDialog(); }
  });

  // Fix tab title separator: "Page | Site" → "Page - Site"
  document.title = document.title.replace(' | ', ' - ');

  // Wire up the search icon in the Quarto navbar tools
  document.addEventListener('DOMContentLoaded', function () {
    var navBtn = document.querySelector('.quarto-navbar-tools a[aria-label*="Search"]');
    if (navBtn) {
      navBtn.addEventListener('click', function (e) {
        e.preventDefault();
        openDialog();
      });
    }

    // Work detail page: add status dot to the first category that is a status value
    var STATUS_VALUES = ['In Progress', 'Completed', 'Paused'];
    var STATUS_COLORS = { 'In Progress': '#378ADD', 'Completed': '#aaa', 'Paused': '#aaa' };
    document.querySelectorAll('.quarto-categories .quarto-category, .listing-category').forEach(function (el) {
      if (STATUS_VALUES.indexOf(el.textContent.trim()) !== -1) {
        el.style.display = 'none';
      }
    });
  });

})();
</script>




<p>Anthropic just launched Claude Fable 5 and Mythos 5, and the way they’re handling access reminded me of something from my research days.</p>
<p>Back in college, our lab used TACC (Texas Advanced Computing Center) for high-performance computing. You couldn’t simply sign up and start running large-scale workloads. Labs had to justify their use case, secure funding, and gain access through their institution.</p>
<p>Not because the technology was secret. But because it was powerful and needed to be used responsibly.</p>
<p>Anthropic seems to be taking a similar approach with frontier AI.</p>
<p>Fable 5 and Mythos 5 are the same underlying model. The difference isn’t intelligence — it’s access.</p>
<p>Fable 5 is publicly available, but sensitive cybersecurity and biology-related requests are automatically routed to a less capable model. Mythos 5 removes many of those restrictions, but access is limited to vetted government, research, and critical infrastructure organizations through Project Glasswing.</p>
<p>This got me thinking: AI may be entering its HPC era.</p>
<p>For years, we’ve assumed that every generation of AI would eventually become available to everyone. Now we’re seeing a different possibility: some AI systems may become so capable that access itself becomes a managed resource.</p>
<p>In the HPC world, researchers applied for access to supercomputers. In the AI world, organizations may apply for access to frontier models.</p>
<p>The reasons are different. TACC was primarily about scarce compute. Project Glasswing is about safety and misuse risk. But the structure feels surprisingly familiar.</p>
<p>What’s changing isn’t just model capability. It’s the idea that the most advanced AI systems may increasingly be treated less like software products and more like critical infrastructure.</p>
<p>If that’s true, the future of AI may be shaped not only by who can build the most powerful models, but by who gets access to them.</p>



 ]]></description>
  <category>AI</category>
  <category>LLMs</category>
  <category>Research</category>
  <guid>https://aakritidhakal.vercel.app/blog/ai-hpc-era.html</guid>
  <pubDate>Wed, 10 Jun 2026 00:00:00 GMT</pubDate>
</item>
</channel>
</rss>
