<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
<channel>
  <title>xnosir.io</title>
  <link>https://xnosir.io/</link>
  <description>Posts, notes and guides by Nosirbek Xakimov.</description>
  <language>en</language>
  <atom:link href="https://xnosir.io/feed.xml" rel="self" type="application/rss+xml" />
  <item>
    <title>A gateway between AI agents and company systems</title>
    <link>https://xnosir.io/posts/a-gateway-between-ai-agents-and-company-systems/</link>
    <guid>https://xnosir.io/posts/a-gateway-between-ai-agents-and-company-systems/</guid>
    <pubDate>Mon, 09 Nov 2026 09:00:00 GMT</pubDate>
    <category>posts</category>
    <description>How I let AI agents read a task tracker, Git hosting and SQL without handing them the keys. The design rules are read-only, masking, budgets and an audit trail.</description>
  </item>
  <item>
    <title>Cesium under a strict CSP: Viewer vs CesiumWidget</title>
    <link>https://xnosir.io/posts/cesium-under-a-strict-csp/</link>
    <guid>https://xnosir.io/posts/cesium-under-a-strict-csp/</guid>
    <pubDate>Mon, 09 Nov 2026 09:00:00 GMT</pubDate>
    <category>posts</category>
    <description>The satellite flight on this site said &quot;3D rendering unavailable&quot; in production only. Two CSP rules were the reason, and neither was about WebGL.</description>
  </item>
  <item>
    <title>Choosing a web globe: Cesium or MapLibre</title>
    <link>https://xnosir.io/research/choosing-a-web-globe/</link>
    <guid>https://xnosir.io/research/choosing-a-web-globe/</guid>
    <pubDate>Mon, 09 Nov 2026 09:00:00 GMT</pubDate>
    <category>research</category>
    <description>Both are on this site. What each costs in bundle size and policy exceptions, and which job each one is good at.</description>
  </item>
  <item>
    <title>Chrome blocks WebGL for a page after it resets the GPU</title>
    <link>https://xnosir.io/notes/chrome-blocks-webgl-after-a-gpu-reset/</link>
    <guid>https://xnosir.io/notes/chrome-blocks-webgl-after-a-gpu-reset/</guid>
    <pubDate>Mon, 09 Nov 2026 09:00:00 GMT</pubDate>
    <category>notes</category>
    <description>&quot;Web page caused context loss and was blocked&quot; means Chrome now refuses new contexts for that page. Refreshing does not always help.</description>
  </item>
  <item>
    <title>Expose localhost with your own tunnel (frp + Caddy)</title>
    <link>https://xnosir.io/guides/expose-localhost-with-your-own-tunnel/</link>
    <guid>https://xnosir.io/guides/expose-localhost-with-your-own-tunnel/</guid>
    <pubDate>Mon, 09 Nov 2026 09:00:00 GMT</pubDate>
    <category>guides</category>
    <description>An ngrok-style public HTTPS address for a local app, on a server you control. The setup is two small config files and one reverse-proxy rule.</description>
  </item>
  <item>
    <title>Fetch before branching after merging a PR from the CLI</title>
    <link>https://xnosir.io/notes/fetch-after-merging-a-pr/</link>
    <guid>https://xnosir.io/notes/fetch-after-merging-a-pr/</guid>
    <pubDate>Mon, 09 Nov 2026 09:00:00 GMT</pubDate>
    <category>notes</category>
    <description>gh pr merge merges on the server. Your local origin/main is still the old one until you fetch.</description>
  </item>
  <item>
    <title>Pause SVG animations when they are off-screen</title>
    <link>https://xnosir.io/notes/pause-svg-animations-off-screen/</link>
    <guid>https://xnosir.io/notes/pause-svg-animations-off-screen/</guid>
    <pubDate>Mon, 09 Nov 2026 09:00:00 GMT</pubDate>
    <category>notes</category>
    <description>SMIL animations keep running when nobody can see them. SVGSVGElement has pauseAnimations() for exactly this.</description>
  </item>
  <item>
    <title>Software renderers hide GPU bugs</title>
    <link>https://xnosir.io/notes/software-renderers-hide-gpu-bugs/</link>
    <guid>https://xnosir.io/notes/software-renderers-hide-gpu-bugs/</guid>
    <pubDate>Mon, 09 Nov 2026 09:00:00 GMT</pubDate>
    <category>notes</category>
    <description>SwiftShader is perfect for screenshots and blind to memory pressure, driver resets and real frame times.</description>
  </item>
  <item>
    <title>Test WebGL on the real GPU with Playwright</title>
    <link>https://xnosir.io/guides/test-webgl-on-the-real-gpu/</link>
    <guid>https://xnosir.io/guides/test-webgl-on-the-real-gpu/</guid>
    <pubDate>Mon, 09 Nov 2026 09:00:00 GMT</pubDate>
    <category>guides</category>
    <description>A headed Chromium on the real driver, a warm-up step and a frame counter. This catches context loss and slow frames that headless runs never show.</description>
  </item>
  <item>
    <title>The same inline SVG twice means duplicate ids</title>
    <link>https://xnosir.io/notes/inline-svg-ids-collide/</link>
    <guid>https://xnosir.io/notes/inline-svg-ids-collide/</guid>
    <pubDate>Mon, 09 Nov 2026 09:00:00 GMT</pubDate>
    <category>notes</category>
    <description>Gradients, paths for animateMotion and patterns are looked up by id in the whole document. Render the same SVG twice and the second copy points at the first.</description>
  </item>
  <item>
    <title>Vector-tile building ids are not unique</title>
    <link>https://xnosir.io/notes/openfreemap-building-ids-repeat/</link>
    <guid>https://xnosir.io/notes/openfreemap-building-ids-repeat/</guid>
    <pubDate>Mon, 09 Nov 2026 09:00:00 GMT</pubDate>
    <category>notes</category>
    <description>Highlighting &quot;the same building&quot; by id lit up neighbours across the street. Filter by distance as well.</description>
  </item>
  <item>
    <title>Why my 3D page went black on Intel graphics</title>
    <link>https://xnosir.io/posts/work-went-black-on-intel-graphics/</link>
    <guid>https://xnosir.io/posts/work-went-black-on-intel-graphics/</guid>
    <pubDate>Mon, 09 Nov 2026 09:00:00 GMT</pubDate>
    <category>posts</category>
    <description>A fly-through page ran at 23 fps and then lost its WebGL context on an ordinary office PC. The cause was a tier check that asked the CPU about the GPU.</description>
  </item>
  <item>
    <title>Working with a team of AI agents</title>
    <link>https://xnosir.io/posts/working-with-a-team-of-ai-agents/</link>
    <guid>https://xnosir.io/posts/working-with-a-team-of-ai-agents/</guid>
    <pubDate>Mon, 09 Nov 2026 09:00:00 GMT</pubDate>
    <category>posts</category>
    <description>An orchestrator, a reviewer and a critic. How I split work between AI agents, and why the standards end up written down as skills.</description>
  </item>
</channel>
</rss>
