<?xml version="1.0" encoding="utf-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url><loc>https://blog.js.gripe/</loc></url><url><loc>https://blog.js.gripe/2026/11/dangerous-cognition-ai-bubble-wealth/</loc></url><url><loc>https://blog.js.gripe/2026/10/ai-animation-workflow-retrospective/</loc></url><url><loc>https://blog.js.gripe/2026/10/language-answers-data-poisoning-geo-evidence/</loc></url><url><loc>https://blog.js.gripe/2026/09/machines-get-cheaper-human-time/</loc></url><url><loc>https://blog.js.gripe/2026/08/open-weights-redistributing-ai-value/</loc></url><url><loc>https://blog.js.gripe/2026/07/after-open-weights-three-way-transition/</loc></url><url><loc>https://blog.js.gripe/2026/07/mcp-traditional-engineering-software/</loc></url><url><loc>https://blog.js.gripe/2026/07/how-ai-learned-to-remember-you/</loc></url><url><loc>https://blog.js.gripe/2026/07/ai-hacks-hugging-face-open-supervision-deployment/</loc></url><url><loc>https://blog.js.gripe/2026/07/open-models-and-the-right-to-leave/</loc></url><url><loc>https://blog.js.gripe/2026/07/you-are-also-teaching-ai/</loc></url><url><loc>https://blog.js.gripe/2026/06/cloudflare-tunnel-cloudfront-origin/</loc></url><url><loc>https://blog.js.gripe/2026/06/ai-tax-unemployment-policy/</loc></url><url><loc>https://blog.js.gripe/2026/06/claude-fable-mythos-5-export-control-rumor/</loc></url><url><loc>https://blog.js.gripe/2026/05/codex-history-load-slow-maintenance/</loc></url><url><loc>https://blog.js.gripe/2026/05/vscode-remote-ssh-connect-host/</loc></url><url><loc>https://blog.js.gripe/2026/05/vscode-remote-codex-dev-efficiency/</loc></url><url><loc>https://blog.js.gripe/2026/04/rm502q-ae-openwrt-qmodem-sms-ims-fix/</loc></url><url><loc>https://blog.js.gripe/privacy/</loc></url><url><loc>https://blog.js.gripe/archives/</loc></url><url><loc>https://blog.js.gripe/archives/page/2/</loc></url><url><loc>https://blog.js.gripe/categories/blog/</loc></url><url><loc>https://blog.js.gripe/categories/blog/page/2/</loc></url><url><loc>https://blog.js.gripe/zh-SG/</loc></url><url><loc>https://blog.js.gripe/zh-SG/2026/11/dangerous-cognition-ai-bubble-wealth/</loc></url><url><loc>https://blog.js.gripe/zh-SG/2026/10/ai-animation-workflow-retrospective/</loc></url><url><loc>https://blog.js.gripe/zh-SG/2026/10/language-answers-data-poisoning-geo-evidence/</loc></url><url><loc>https://blog.js.gripe/zh-SG/2026/09/machines-get-cheaper-human-time/</loc></url><url><loc>https://blog.js.gripe/zh-SG/2026/08/open-weights-redistributing-ai-value/</loc></url><url><loc>https://blog.js.gripe/zh-SG/2026/07/after-open-weights-three-way-transition/</loc></url><url><loc>https://blog.js.gripe/zh-SG/2026/07/mcp-traditional-engineering-software/</loc></url><url><loc>https://blog.js.gripe/zh-SG/2026/07/how-ai-learned-to-remember-you/</loc></url><url><loc>https://blog.js.gripe/zh-SG/2026/07/ai-hacks-hugging-face-open-supervision-deployment/</loc></url><url><loc>https://blog.js.gripe/zh-SG/2026/07/open-models-and-the-right-to-leave/</loc></url><url><loc>https://blog.js.gripe/zh-SG/2026/07/how-to-pay-for-overseas-ai-subscriptions/</loc></url><url><loc>https://blog.js.gripe/zh-SG/2026/07/you-are-also-teaching-ai/</loc></url><url><loc>https://blog.js.gripe/zh-SG/2026/06/cloudflare-tunnel-cloudfront-origin/</loc></url><url><loc>https://blog.js.gripe/zh-SG/2026/06/ai-tax-unemployment-policy/</loc></url><url><loc>https://blog.js.gripe/zh-SG/2026/06/claude-fable-mythos-5-export-control-rumor/</loc></url><url><loc>https://blog.js.gripe/zh-SG/2026/05/codex-history-load-slow-maintenance/</loc></url><url><loc>https://blog.js.gripe/zh-SG/2026/05/vscode-remote-ssh-connect-host/</loc></url><url><loc>https://blog.js.gripe/zh-SG/2026/05/vscode-remote-codex-dev-efficiency/</loc></url><url><loc>https://blog.js.gripe/zh-SG/2026/04/rm502q-ae-openwrt-qmodem-sms-ims-fix/</loc></url><url><loc>https://blog.js.gripe/zh-SG/privacy/</loc></url><url><loc>https://blog.js.gripe/zh-SG/archives/</loc></url><url><loc>https://blog.js.gripe/zh-SG/archives/page/2/</loc></url><url><loc>https://blog.js.gripe/zh-SG/categories/blog/</loc></url><url><loc>https://blog.js.gripe/zh-SG/categories/blog/page/2/</loc></url><url><loc>https://blog.js.gripe/zh-TW/</loc></url><url><loc>https://blog.js.gripe/zh-TW/2026/11/dangerous-cognition-ai-bubble-wealth/</loc></url><url><loc>https://blog.js.gripe/zh-TW/2026/10/ai-animation-workflow-retrospective/</loc></url><url><loc>https://blog.js.gripe/zh-TW/2026/10/language-answers-data-poisoning-geo-evidence/</loc></url><url><loc>https://blog.js.gripe/zh-TW/2026/09/machines-get-cheaper-human-time/</loc></url><url><loc>https://blog.js.gripe/zh-TW/2026/08/open-weights-redistributing-ai-value/</loc></url><url><loc>https://blog.js.gripe/zh-TW/2026/07/after-open-weights-three-way-transition/</loc></url><url><loc>https://blog.js.gripe/zh-TW/2026/07/mcp-traditional-engineering-software/</loc></url><url><loc>https://blog.js.gripe/zh-TW/2026/07/how-ai-learned-to-remember-you/</loc></url><url><loc>https://blog.js.gripe/zh-TW/2026/07/ai-hacks-hugging-face-open-supervision-deployment/</loc></url><url><loc>https://blog.js.gripe/zh-TW/2026/07/open-models-and-the-right-to-leave/</loc></url><url><loc>https://blog.js.gripe/zh-TW/2026/07/how-to-pay-for-overseas-ai-subscriptions/</loc></url><url><loc>https://blog.js.gripe/zh-TW/2026/07/you-are-also-teaching-ai/</loc></url><url><loc>https://blog.js.gripe/zh-TW/2026/06/cloudflare-tunnel-cloudfront-origin/</loc></url><url><loc>https://blog.js.gripe/zh-TW/2026/06/ai-tax-unemployment-policy/</loc></url><url><loc>https://blog.js.gripe/zh-TW/2026/06/claude-fable-mythos-5-export-control-rumor/</loc></url><url><loc>https://blog.js.gripe/zh-TW/2026/05/codex-history-load-slow-maintenance/</loc></url><url><loc>https://blog.js.gripe/zh-TW/2026/05/vscode-remote-ssh-connect-host/</loc></url><url><loc>https://blog.js.gripe/zh-TW/2026/05/vscode-remote-codex-dev-efficiency/</loc></url><url><loc>https://blog.js.gripe/zh-TW/2026/04/rm502q-ae-openwrt-qmodem-sms-ims-fix/</loc></url><url><loc>https://blog.js.gripe/zh-TW/privacy/</loc></url><url><loc>https://blog.js.gripe/zh-TW/archives/</loc></url><url><loc>https://blog.js.gripe/zh-TW/archives/page/2/</loc></url><url><loc>https://blog.js.gripe/zh-TW/categories/blog/</loc></url><url><loc>https://blog.js.gripe/zh-TW/categories/blog/page/2/</loc></url></urlset>