<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://ggwhite.github.io/ggwhite/</loc></url><url><loc>https://ggwhite.github.io/ggwhite/about/</loc></url><url><loc>https://ggwhite.github.io/ggwhite/archives/</loc></url><url><loc>https://ggwhite.github.io/ggwhite/categories/</loc></url><url><loc>https://ggwhite.github.io/ggwhite/categories/ai-agents/</loc></url><url><loc>https://ggwhite.github.io/ggwhite/categories/ai-agents/2/</loc></url><url><loc>https://ggwhite.github.io/ggwhite/categories/database/</loc></url><url><loc>https://ggwhite.github.io/ggwhite/categories/devops/</loc></url><url><loc>https://ggwhite.github.io/ggwhite/categories/golang/</loc></url><url><loc>https://ggwhite.github.io/ggwhite/categories/java/</loc></url><url><loc>https://ggwhite.github.io/ggwhite/categories/lua/</loc></url><url><loc>https://ggwhite.github.io/ggwhite/categories/macos/</loc></url><url><loc>https://ggwhite.github.io/ggwhite/categories/media/</loc></url><url><loc>https://ggwhite.github.io/ggwhite/categories/practices/</loc></url><url><loc>https://ggwhite.github.io/ggwhite/categories/security/</loc></url><url><loc>https://ggwhite.github.io/ggwhite/categories/shell/</loc></url><url><loc>https://ggwhite.github.io/ggwhite/posts/</loc></url><url><loc>https://ggwhite.github.io/ggwhite/posts/2/</loc></url><url><loc>https://ggwhite.github.io/ggwhite/posts/3/</loc></url><url><loc>https://ggwhite.github.io/ggwhite/posts/4/</loc></url><url><loc>https://ggwhite.github.io/ggwhite/posts/5/</loc></url><url><loc>https://ggwhite.github.io/ggwhite/posts/6/</loc></url><url><loc>https://ggwhite.github.io/ggwhite/posts/agent-background-session-cannot-read-keychain/</loc><lastmod>2026-09-17T02:07:29.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/bash-fullwidth-punctuation-eats-variable-name/</loc><lastmod>2026-07-28T07:03:56.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/browser-agent-upload-local-file-past-csp/</loc><lastmod>2026-10-30T13:36:06.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/centos-to-ubuntu-dash-breaks-cron-scripts/</loc><lastmod>2026-10-02T02:40:37.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/claude-code-mod-images-in-herdr/</loc><lastmod>2026-10-12T08:37:51.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/claude-code-mod-pitfalls-in-claude-desktop/</loc><lastmod>2026-10-15T11:03:00.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/claude-code-mod-seen-gated-tick-freezes-pane/</loc><lastmod>2026-10-23T04:09:02.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/claude-code-plugin-cross-machine-sync-trap/</loc><lastmod>2026-09-05T12:34:01.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/claude-code-worktree-subagent-git-blocked/</loc><lastmod>2026-10-13T03:59:45.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/claude-p-read-limits-only-deny-works/</loc><lastmod>2026-08-03T05:52:44.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/cobra-stringslicevar-comma-splitting/</loc><lastmod>2026-07-08T15:49:52.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/codex-exec-hangs-on-icloud-drive-paths/</loc><lastmod>2026-08-15T11:30:03.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/codex-exec-image-flag-swallows-prompt/</loc><lastmod>2026-08-14T15:27:06.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/codex-jsonl-tool-checkpoints/</loc><lastmod>2026-07-15T10:09:51.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/detached-popen-makes-ppid-1-look-like-launchd/</loc><lastmod>2026-08-16T17:30:02.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/diagnose-mojibake-historical-vs-current-bug/</loc><lastmod>2026-07-11T06:33:33.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/docker-compose-mount-empty-dir-trap/</loc><lastmod>2026-06-18T05:02:28.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/docker-compose-network-mode-host-cross-vm/</loc><lastmod>2026-05-04T08:19:58.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/docker-mutable-tag-multi-host/</loc><lastmod>2026-05-04T08:19:58.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/duplicate-logic-with-one-test-diverges/</loc><lastmod>2026-09-12T02:49:31.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/edge-applescript-add-bookmark-crashes/</loc><lastmod>2026-10-14T01:20:10.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/edge-tts-noaudioreceived-retry/</loc><lastmod>2026-07-14T02:37:24.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/ffmpeg-loop-1-defaults-to-25fps/</loc><lastmod>2026-08-03T20:51:16.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/ffmpeg-shortest-truncates-to-shorter-stream/</loc><lastmod>2026-08-11T07:40:08.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/first-release-gotchas-goreleaser-tauri/</loc><lastmod>2026-06-15T15:09:07.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/flock-fd-inheritance-kills-cron-monitor/</loc><lastmod>2026-09-11T16:49:47.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/go-module-nested-submodule-path-must-match-directory/</loc><lastmod>2026-06-24T01:17:01.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/go-module-replace-directive-in-released-tags/</loc><lastmod>2026-06-24T01:25:35.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/google-news-rss-links-need-decoding/</loc><lastmod>2026-11-03T06:43:34.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/hyperframes-workers-drop-frames-at-boundaries/</loc><lastmod>2026-07-28T08:48:01.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/instaloader-get-posts-misses-reels/</loc><lastmod>2026-09-17T02:07:29.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/llm-tool-results-should-echo-key-params/</loc><lastmod>2026-07-29T15:02:59.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/macos-bsdtar-swallows-appledouble-entries/</loc><lastmod>2026-09-11T02:13:54.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/macos-icloud-drive-shell-eintr/</loc><lastmod>2026-08-25T10:33:09.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/make-llm-write-each-side-before-comparing/</loc><lastmod>2026-08-07T03:33:31.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/mc-rm-recursive-is-prefix-match-not-directory/</loc><lastmod>2026-09-08T06:09:29.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/mongodb-slow-query-race-condition-signin/</loc><lastmod>2026-04-18T03:33:37.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/npx-skills-relative-symlink-breaks-under-symlink/</loc><lastmod>2026-09-30T06:05:29.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/plash-wallpaper-video-freeze-needs-restart/</loc><lastmod>2026-07-25T07:59:23.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/prompt-misses-check-exclusion-rules-first/</loc><lastmod>2026-07-30T06:26:59.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/prompts-grow-past-hardcoded-timeouts/</loc><lastmod>2026-08-27T02:14:14.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/quota-batches-run-cheap-work-before-polling/</loc><lastmod>2026-10-29T06:18:18.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/redis-tampering-attack-and-defense-attempts/</loc><lastmod>2026-04-18T03:04:30.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/redis-zremrangebyrank-keeps-dict-size-use-zcard/</loc><lastmod>2026-09-09T09:31:58.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/roblox-studio-mcp-verification-pitfalls/</loc><lastmod>2026-10-04T03:44:21.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/roblox-translator-formatbykey-adds-decimals/</loc><lastmod>2026-10-04T05:56:40.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/smooth-offscreen-swiftui-recording-slow-motion/</loc><lastmod>2026-11-11T01:52:50.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/spring-static-block-mongodb-leak/</loc><lastmod>2026-06-18T05:02:28.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/sqlite-fts5-match-quote-user-input/</loc><lastmod>2026-09-30T01:59:23.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/sqlite-fts5-trigram-cannot-match-two-character-chinese-words/</loc><lastmod>2026-07-28T15:46:02.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/sqlite3-inner-commit-breaks-with-conn-atomicity/</loc><lastmod>2026-07-30T06:26:59.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/subprocess-stdout-may-not-be-pure-json/</loc><lastmod>2026-07-29T09:58:07.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/three-shapes-of-safeguards-that-never-worked/</loc><lastmod>2026-08-03T07:40:05.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/posts/zsh-colon-after-variable-is-a-modifier/</loc><lastmod>2026-10-23T10:13:18.000Z</lastmod></url><url><loc>https://ggwhite.github.io/ggwhite/projects/</loc></url></urlset>