<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"
        xmlns:image="http://www.google.com/schemas/sitemap-image/1.1">
  <url>
    <loc>https://blog.qdp.qzz.io/</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/archive</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>weekly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/about</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.5</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/sleepy-material-you-schedule</loc>
    <lastmod>2026-06-16</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/plot-mcp-serverless-charts</loc>
    <lastmod>2026-06-28</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/aiaw-mobile-fork</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/about-this-design</loc>
    <lastmod>2026-06-28</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/heu-keep-workout-card-generator</loc>
    <lastmod>2026-02-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/dell-efi/</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/dell-efi/overview</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/dell-efi/install</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/dell-efi/config</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/dell-efi/kexts</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/dell-efi/troubleshoot</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/plot-mcp/</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/plot-mcp/overview</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/plot-mcp/tools</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/plot-mcp/endpoints</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/plot-mcp/dev</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/plot-mcp/config</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/plot-mcp/troubleshoot</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/plot-mcp/troubleshoot</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/plot-mcp/troubleshoot</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/aiaw/</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/aiaw/overview</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/aiaw/install</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/aiaw/architecture</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/aiaw/providers</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/aiaw/plugins</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/aiaw/workspaces</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/aiaw/platforms</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/aiaw/settings</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/aiaw/troubleshoot</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/sleepy/</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/sleepy/overview</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/sleepy/import</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/sleepy/create-table</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/sleepy/add-course</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/sleepy/views</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/sleepy/widgets</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/sleepy/appearance</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/sleepy/troubleshoot</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/heu-keep/</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/heu-keep/overview</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/heu-keep/how-to-use</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/heu-keep/track-gen</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/heu-keep/export-save</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/heu-keep/troubleshoot</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/clash-verge/</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/clash-verge/overview</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/clash-verge/install</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/clash-verge/config</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/clash-verge/how-it-works</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/docs/clash-verge/troubleshoot</loc>
    <lastmod>2026-06-29</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.6</priority>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/sleepy-material-you-schedule</loc>
    <lastmod>2026-06-16</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://blog.qdp.qzz.io/og/sleepy-material-you-schedule.svg</image:loc>
      <image:title>Building Sleepy: A Material You Schedule App with Jetpack Compose</image:title>
      <image:caption>68 Kotlin source files, 16,460 LOC. Schedule format auto-detection from 6 input types, gold-angle HSL color assignment, hybrid Glance + RemoteViews widget rendering with manual Canvas bitmap fallback, reverse-engineered Wisedu protocol via 5-step JS fetch chain, and a SmartPeriodConfig auto-derivation engine — building a university schedule app in Jetpack Compose with zero third-party SDKs.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/plot-mcp-serverless-charts</loc>
    <lastmod>2026-06-28</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://blog.qdp.qzz.io/og/plot-mcp-serverless-charts.svg</image:loc>
      <image:title>plot-mcp-worker: A Serverless MCP Chart Engine on Cloudflare Workers</image:title>
      <image:caption>3,471-line TypeScript Worker, 40+ visualization tools, 1,520-line plotting engine with 5-transform data pipeline, CJK text-to-path via opentype.js over 3,755 GB2312 characters, SVG rasterization through resvg-wasm, smart axis intelligence with auto-PI detection and asymptote clamping — building a publication-quality MCP chart server that runs entirely in the Cloudflare Workers WASM runtime.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/aiaw-mobile-fork</loc>
    <lastmod>2026-05-12</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://blog.qdp.qzz.io/og/aiaw-mobile-fork.svg</image:loc>
      <image:title>AIaW Mobile Fork: 8 New Files, 277 Diffs, One Phone</image:title>
      <image:caption>MCP plugin refresh in the first PR. Native camera in the composer. A 424-line Android LocalFs plugin plus an 84-line TS bridge and a 178-line AI tool wrapper. Pyodide in the WebView running Python locally. Image cache for short-TTL MCP outputs. Doc parse + PDF.js. HTML/Markdown/chunked-DB export. Cerebras + MiniMax as first-class providers. 245 commits, 27,957 lines of source, 13.7 MB APK.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/about-this-design</loc>
    <lastmod>2026-06-28</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://blog.qdp.qzz.io/og/about-this-design.svg</image:loc>
      <image:title>about-this-design: How I redesigned my blog like a Hermes terminal</image:title>
      <image:caption>Void-black base with 13 custom properties, monospace-only font stack with ligatures disabled, CRT scanline + grid pseudo-element overlays at 2.5% opacity, color-mix link underlines, regex-based 4-token syntax highlighting, Open Graph SVG cards via Cloudflare Worker, JSON-LD BlogPosting schema with wordCount — building a zero-JS dark terminal blog that ships no client-side JavaScript.</image:caption>
    </image:image>
  </url>
  <url>
    <loc>https://blog.qdp.qzz.io/heu-keep-workout-card-generator</loc>
    <lastmod>2026-02-20</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
    <image:image>
      <image:loc>https://blog.qdp.qzz.io/og/heu-keep-workout-card-generator.svg</image:loc>
      <image:title>Building HEU-keep: A Keep-Style Workout Card Generator</image:title>
      <image:caption>Elliptical track decomposition, random walk drift with 0.95 decay, GPS jitter simulation, Canvas gradient color-shift algorithm, off-screen DOM cloning with manual canvas repair, and IndexedDB-backed persistence — building a Keep-style workout card generator for HEU campus venues in vanilla JavaScript.</image:caption>
    </image:image>
  </url>
</urlset>