<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://mahdi.is-a.dev</loc>
<lastmod>2026-06-07T07:13:02.483Z</lastmod>
<changefreq>monthly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://mahdi.is-a.dev/blog</loc>
<lastmod>2025-06-07T00:00:00.000Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.9</priority>
</url>
<url>
<loc>https://mahdi.is-a.dev/blog/markdown-showcase</loc>
<lastmod>2025-06-07T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://mahdi.is-a.dev/blog/perlin-noise-explained</loc>
<lastmod>2025-06-01T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://mahdi.is-a.dev/blog/transformer-attention-explained</loc>
<lastmod>2025-05-28T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://mahdi.is-a.dev/blog/ray-marching-sdf-shaders</loc>
<lastmod>2025-05-24T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://mahdi.is-a.dev/blog/concurrent-react-explained</loc>
<lastmod>2025-05-20T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://mahdi.is-a.dev/blog/b-trees-database-indexes</loc>
<lastmod>2025-05-16T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://mahdi.is-a.dev/blog/file-based-blog-with-nextjs</loc>
<lastmod>2025-05-12T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://mahdi.is-a.dev/blog/webassembly-beyond-browser</loc>
<lastmod>2025-05-12T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://mahdi.is-a.dev/blog/raft-consensus-explained</loc>
<lastmod>2025-05-08T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://mahdi.is-a.dev/blog/gradient-descent-deep-learning</loc>
<lastmod>2025-05-04T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://mahdi.is-a.dev/blog/oauth2-pkce-spa-security</loc>
<lastmod>2025-04-28T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://mahdi.is-a.dev/blog/git-internals-objects-and-refs</loc>
<lastmod>2025-04-24T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://mahdi.is-a.dev/blog/design-systems-that-ship</loc>
<lastmod>2025-04-02T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://mahdi.is-a.dev/blog/privacy-first-analytics</loc>
<lastmod>2025-03-18T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>
