<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://www.michaeljamieson.dev/</loc>
<lastmod>2026-05-17T13:04:23.211Z</lastmod>
<changefreq>weekly</changefreq>
<priority>1</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/projects</loc>
<lastmod>2026-05-17T13:04:23.211Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog</loc>
<lastmod>2026-05-17T13:04:23.211Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/support</loc>
<lastmod>2026-05-17T13:04:23.211Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/privacy</loc>
<lastmod>2026-05-17T13:04:23.211Z</lastmod>
<changefreq>weekly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/projects/agentic-workflow-langchain-langgraph</loc>
<lastmod>2026-05-17T13:04:23.211Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/projects/azure-certification-apps</loc>
<lastmod>2026-05-17T13:04:23.211Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/projects/react-electron-desktop-toolkit</loc>
<lastmod>2026-05-17T13:04:23.211Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/projects/react-native-supabase-app</loc>
<lastmod>2026-05-17T13:04:23.211Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.7</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/20-essential-3d-printing-terms-fillet-chamfer-manifold</loc>
<lastmod>2026-04-30T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/azure-data-factory-cli-discovery-part-1</loc>
<lastmod>2025-12-20T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/azure-data-factory-cli-discovery-part-2</loc>
<lastmod>2025-12-21T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/blender-mcp-export-3mf-and-automate-3d-prints-via-ai</loc>
<lastmod>2026-04-29T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/bruno-for-local-ai-apis-faster-reviewable-workflows</loc>
<lastmod>2026-03-10T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/build-a-local-ai-coding-app-in-neovim</loc>
<lastmod>2026-03-10T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/cadquery-and-ai-automating-parametric-3d-printing-from-text</loc>
<lastmod>2026-04-28T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/codex-explained-for-engineers-how-the-coding-agent-actually-works</loc>
<lastmod>2026-03-14T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/codex-git-patches</loc>
<lastmod>2025-09-22T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/comfyui-explained-for-engineers-how-to-build-local-ai-apps</loc>
<lastmod>2026-03-10T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/cursor-explained-for-engineers-how-the-ai-ide-actually-works</loc>
<lastmod>2026-03-14T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/fish-speech-s2-pro-open-source-voice-ai-that-beats-closed-models</loc>
<lastmod>2026-04-05T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/how-ai-coding-clis-actually-work-codex-claude-code-gemini-cli</loc>
<lastmod>2026-03-11T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/how-codex-actually-finds-the-right-files</loc>
<lastmod>2026-03-14T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/how-local-ai-actually-remembers-inside-the-agent-log</loc>
<lastmod>2026-04-21T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/how-mcp-actually-works-the-capability-bus-behind-codex-claude-code-and-gemini-cli</loc>
<lastmod>2026-03-12T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/how-pi-mono-actually-works-in-your-app</loc>
<lastmod>2026-04-12T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/how-pi-mono-actually-works-the-shared-agent-stack-behind-pi</loc>
<lastmod>2026-04-03T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/how-repo-rules-mcp-and-approvals-control-ai-coding-agents</loc>
<lastmod>2026-03-28T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/how-to-get-cited-by-ai-answer-engines</loc>
<lastmod>2026-04-24T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/i-tested-claude-code-tools-heres-what-surprised-me</loc>
<lastmod>2026-04-03T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/langchain-explained-for-engineers-how-the-runnable-interface-works</loc>
<lastmod>2026-05-02T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/langchain-framework-explained-lcel-langgraph-rag</loc>
<lastmod>2026-04-29T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/langgraph-local-first-stategraph-reducers-and-custom-chat-models</loc>
<lastmod>2026-05-01T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/mysql-57-on-apple-silicon-docker</loc>
<lastmod>2021-10-30T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/openai-codex-is-now-a-multi-agent-command-center</loc>
<lastmod>2026-03-22T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/openclaw-explained-how-the-local-ai-control-plane-works</loc>
<lastmod>2026-03-11T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/post-construct-java</loc>
<lastmod>2022-05-28T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/running-a-rag-pipeline-on-the-pentagon-ufo-files-real-cypher-real-citations</loc>
<lastmod>2026-05-15T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/teach-ai-to-read-ufo-files-langgraph-rag</loc>
<lastmod>2026-05-11T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/web-scraping-in-the-ai-era-from-beautifulsoup-to-llm-extraction</loc>
<lastmod>2026-04-27T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/why-cursor-picks-the-wrong-files-in-large-repos</loc>
<lastmod>2026-03-23T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
<url>
<loc>https://www.michaeljamieson.dev/blog/why-terminal-ai-is-the-fastest-workflow-for-developers</loc>
<lastmod>2026-03-11T00:00:00.000Z</lastmod>
<changefreq>monthly</changefreq>
<priority>0.6</priority>
</url>
</urlset>
