<?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://blog-selfhost.pages.dev/</loc></url><url><loc>https://blog-selfhost.pages.dev/about/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/aarch64-cmake-toolchain/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/address-sanitizer/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/agent-adr-impl/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/agent-api-spec/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/agent-browser-after-mcp/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/agent-checkpoint-resume/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/agent-context-budget/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/agent-deny-paths/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/agent-diff-review/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/agent-eval-checklist/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/agent-git-status-gate/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/agent-patch-commits/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/agent-pr-body/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/agent-rebase-conflict/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/agent-repro-non-flake/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/agent-secrets-in-rules/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/agent-stdout-log/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/agent-tdd-loop/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/agent-test-gate/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/agents-claude-md/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/agents-md-min-template/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/ai-agent-practical-overview/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/ai-excel-workflow/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/ai-google-drive-workflow/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/ai-meeting-email-workflow/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/ai-ppt-workflow/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/ai-practical-checklist/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/ai-repetitive-task-agent/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/anthropic-claude/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/astro-content-collections-%EC%9E%85%EB%AC%B8/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/bitbake-bbappend/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/blameless-postmortem-agent/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/bsp-kernel-01-learning-map/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/bsp-kernel-02-uuu-uboot-emmc-waveform/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/bsp-kernel-03-device-tree-platform-driver/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/bsp-kernel-04-linux-kernel-foundations/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/buildkit-cache-mount/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/buildroot-defconfig-min/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/busybox-vs-coreutils/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/c-pointer-memory/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/category/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/category/affiliate/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/category/agents/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/category/company/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/category/cpp/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/category/linux/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/category/misc/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/ccr-openrouter-other-models/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cgroup-v2-memory-max/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/chatgpt-plus/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/chatgpt-sol-luna-week-review/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/claude-code-compact/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/claude-code-howto/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/claude-code-ollama/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/claude-code-permissions/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/claude-code-project-settings/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/claude-code-router-howto/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/claude-md-vs-agents-md/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/claude-opus-5-5/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/claude-sonnet-55-vs-opus-55-coding/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cli-quota-fallback/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cmake-build/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/codex-cli-vs-claude-code/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/composer-vs-agent/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/copilot-chat-vs-cursor-agent/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cpp-1-8-tests/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cpp-atomic/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cpp-concepts/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cpp-constexpr/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cpp-embedded-interview-10/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cpp-expected/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cpp-format/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cpp-jthread-stop-token/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cpp-magic-enum/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cpp-move/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cpp-optional/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cpp-ranges/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cpp-span/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cpp-string-view/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cpp-thread-sanitizer/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cpp-variant/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cpp-volatile/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cross-compile-sysroot-headers/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cursor-agent-ask-plan/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cursor-agents-vs-rules/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cursor-at-folder-scope/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cursor-background-vs-local/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cursor-cloud-vs-local-agent/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cursor-commands/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cursor-custom-subagents/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cursor-gamsgo/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cursor-hooks-lifecycle/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cursor-hooks/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cursor-mcp-json/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cursor-notepads/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cursor-skills-vs-rules/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/cursorignore/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/device-tree-overlay-debug/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/device-tree/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/disney-plus-plans/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/dma-vs-cpu-copy-interview/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/dmesg-read-embedded/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/docker-how-containers-run/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/docker-image-load-run/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/docker-layers-volumes-practice/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/docker-overlay-storage/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/dt-alias-label-debug/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/embedded-c-coding-test/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/embedded-linux-boot/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/embedded-var-path-role/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/embedded-vision-3tops-npu-som-debian/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/fadu-interview/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/flake-retry-loop/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/furiosa-npu/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/gamsgo-discount-hub/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/gdb/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/git-worktree-agent/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/goingbus-discount-hub/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/google-tpu/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/gpiochip-renumber-debug/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/gpiomon-edge/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/gpt-6-astra/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/grok-bot-call-cursor-agents/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/herdr-agent-stuck/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/herdr-local-coding-agent-setup/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/herdr-orchestrator/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/herdr-review/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/herdr-workspace-setup/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/iphone-18-pro-vs-iphone-duo/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/issue-branch-naming/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/journalctl-filter/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/journald-vacuum/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/kconfig/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/libgpiod/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/linear-to-agent-pr/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/linux-ftrace/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/linux-i2cdetect/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/linux-perf/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/local-box-vs-api/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/mac-mini-studio/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/map-vs-unordered-map/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/mcp-auth-fail/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/mcp-connection-fail/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/mcp-elicitation/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/mcp-resource-vs-tool/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/mcp-tool-schema/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/mcp251xfd-fifo-overflow/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/mdev-vs-udev/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/meta-llama-open/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/micron-hbm-ai-server-bottleneck/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/micron-hbm4-nvhbm/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/monorepo-agent-root/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/multi-agent-pr-workflow/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/multiprocess-vs-multithread/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/mutex-vs-semaphore/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/netflix-ads-standard/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/nvidia-ai-platform/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/nvidia-q2-datacenter/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/openai-pro200-usage-reopen/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/openclaw-local-agent/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/opencode-session-resume/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/orca-cli-intro/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/orca-worktree-parallel/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/overlayroot-vs-ab/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/pi-agent-multimodel-setup/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/prompt-layers/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/qualcomm-bsp-fae-interview/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/qualcomm-edge-ai/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/quantization-fp16-int8-int4/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/raii/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/repo-map-inject/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/rg-before-agent-search/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/samsung-foundry-hbm/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/samsung-skhynix-shareholder-return/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/search-to-agent-prompt/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/serial-getty-embedded/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/sk-hynix-hbm/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/skhynix-hbm-nvidia/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/skhynix-hbm5-tsmc-cowos/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/slack-mcp-read-vs-send/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/snapdragon-x2-linux-hexagon-npu/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/strace-e-trace/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/strace/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/subagent-brief/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/sysfs-gpio-vs-libgpiod/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/systemd-path-unit/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/systemd-service-type-keywords/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/systemd-socket-activate/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/systemd-timer-oncalendar/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/temperature-top-p-sampling/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/tmpfs-var-log-embedded/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/tmux-detach/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/tour-cpp-1-1-introduction/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/tour-cpp-1-8-tests/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/tour-cpp-1-9-mapping-to-hardware/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/tour-cpp-1-10-advice/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/tour-cpp-2-1-2-2-intro-structures/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/tour-cpp-2-3-classes/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/tour-cpp-2-5-unions/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/tour-cpp-2-6-advice/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/tour-cpp-3-1-introduction/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/tour-cpp-3-2-separate-compilation/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/udev-action-add-change/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/udev-input-permissions/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/udev-rules/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/udev-serial-symlink/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/unique-shared-ptr/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/worktree-clean-hand-to-agent/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/yocto-image-install-rdepends/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/yocto-systemd-recipe/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/youtube-premium-features/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/youtube-premium-plans/</loc></url><url><loc>https://blog-selfhost.pages.dev/blog/youtube-premium-shared-sub/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/aarch64-cmake-toolchain-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/agent-adr-impl-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/agent-api-spec-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/agent-browser-after-mcp-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/agent-checkpoint-resume-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/agent-context-budget-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/agent-deny-paths-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/agent-diff-review-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/agent-eval-checklist-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/agent-git-status-gate-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/agent-patch-commits-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/agent-pr-body-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/agent-rebase-conflict-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/agent-repro-non-flake-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/agent-secrets-in-rules-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/agent-stdout-log-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/agent-tdd-loop-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/agent-test-gate-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/agents-claude-md-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/agents-md-min-template-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/ai-agent-practical-overview-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/ai-excel-workflow-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/ai-google-drive-workflow-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/ai-meeting-email-workflow-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/ai-ppt-workflow-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/ai-practical-checklist-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/ai-repetitive-task-agent-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/astro-content-collections-intro/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/bitbake-bbappend-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/buildkit-cache-mount-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/buildroot-defconfig-min-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/busybox-vs-coreutils-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/category/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/category/affiliate/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/category/agents/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/category/company/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/category/cpp/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/category/linux/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/category/misc/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/cgroup-v2-memory-max-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/chatgpt-sol-luna-week-review-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/claude-code-compact-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/claude-code-permissions-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/claude-code-project-settings-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/claude-code-router-howto-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/claude-md-vs-agents-md-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/claude-opus-5-5-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/claude-sonnet-55-vs-opus-55-coding-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/cli-quota-fallback-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/codex-cli-vs-claude-code-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/composer-vs-agent-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/copilot-chat-vs-cursor-agent-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/cpp-1-8-tests-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/cpp-format-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/cpp-jthread-stop-token-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/cpp-ranges-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/cpp-thread-sanitizer-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/cross-compile-sysroot-headers-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/cursor-agent-ask-plan-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/cursor-agents-vs-rules-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/cursor-at-folder-scope-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/cursor-background-vs-local-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/cursor-cloud-vs-local-agent-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/cursor-commands-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/cursor-custom-subagents-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/cursor-hooks-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/cursor-hooks-lifecycle-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/cursor-mcp-json-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/cursor-notepads-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/cursor-skills-vs-rules-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/cursorignore-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/device-tree-overlay-debug-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/dma-vs-cpu-copy-interview-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/dmesg-read-embedded-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/docker-how-containers-run-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/docker-image-load-run-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/docker-layers-volumes-practice-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/docker-overlay-storage-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/dt-alias-label-debug-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/embedded-var-path-role-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/embedded-vision-3tops-npu-som-debian-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/flake-retry-loop-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/git-worktree-agent-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/gpiochip-renumber-debug-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/gpiomon-edge-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/gpt-6-astra-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/grok-bot-call-cursor-agents-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/herdr-agent-stuck-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/herdr-local-coding-agent-setup-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/herdr-orchestrator-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/herdr-workspace-setup-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/issue-branch-naming-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/journalctl-filter-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/journald-vacuum-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/libgpiod-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/linear-to-agent-pr-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/linux-ftrace-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/linux-i2cdetect-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/linux-perf-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/local-box-vs-api-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/map-vs-unordered-map-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/mcp-auth-fail-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/mcp-connection-fail-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/mcp-elicitation-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/mcp-resource-vs-tool-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/mcp-tool-schema-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/mdev-vs-udev-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/micron-hbm-ai-server-bottleneck-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/micron-hbm4-nvhbm-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/monorepo-agent-root-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/multi-agent-pr-workflow-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/openai-pro200-usage-reopen-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/openclaw-local-agent-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/opencode-session-resume-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/orca-cli-intro-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/orca-worktree-parallel-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/overlayroot-vs-ab-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/pi-agent-multimodel-setup-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/prompt-layers-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/quantization-fp16-int8-int4-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/repo-map-inject-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/rg-before-agent-search-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/search-to-agent-prompt-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/serial-getty-embedded-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/skhynix-hbm5-tsmc-cowos-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/slack-mcp-read-vs-send-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/snapdragon-x2-linux-hexagon-npu-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/strace-e-trace-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/subagent-brief-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/sysfs-gpio-vs-libgpiod-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/systemd-path-unit-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/systemd-service-type-keywords-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/systemd-socket-activate-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/systemd-timer-oncalendar-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/temperature-top-p-sampling-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/tmpfs-var-log-embedded-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/tour-cpp-1-1-introduction-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/tour-cpp-1-8-tests-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/tour-cpp-1-9-mapping-to-hardware-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/tour-cpp-1-10-advice-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/tour-cpp-2-1-2-2-intro-structures-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/tour-cpp-2-3-classes-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/tour-cpp-2-5-unions-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/tour-cpp-2-6-advice-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/tour-cpp-3-1-introduction-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/tour-cpp-3-2-separate-compilation-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/udev-action-add-change-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/udev-input-permissions-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/udev-rules-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/udev-serial-symlink-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/worktree-clean-hand-to-agent-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/yocto-image-install-rdepends-en/</loc></url><url><loc>https://blog-selfhost.pages.dev/en/blog/yocto-systemd-recipe-en/</loc></url></urlset>