<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><url><loc>https://tonis.dev/</loc></url><url><loc>https://tonis.dev/blog/</loc></url><url><loc>https://tonis.dev/setup/</loc></url><url><loc>https://tonis.dev/videos/</loc></url><url><loc>https://tonis.dev/videos/my-agent-schedules-the-posts-while-i-keep-working-B6j7gy7vTtc/</loc><lastmod>2026-10-28T00:00:00+00:00</lastmod></url><url><loc>https://tonis.dev/videos/my-agent-pasted-the-hashtags-twice-jSR3AYXhNKo/</loc><lastmod>2026-10-27T00:00:00+00:00</lastmod></url><url><loc>https://tonis.dev/videos/i-let-codex-schedule-one-video-on-3-platforms-Xnpn5bWPzeM/</loc><lastmod>2026-10-26T00:00:00+00:00</lastmod></url><url><loc>https://tonis.dev/videos/i-let-codex-schedule-one-video-on-three-platforms-BuxHrmERDFQ/</loc><lastmod>2026-10-26T00:00:00+00:00</lastmod></url><url><loc>https://tonis.dev/videos/see-what-your-agents-are-doing-l_XsVXX7Rkw/</loc><lastmod>2026-10-25T00:00:00+00:00</lastmod></url><url><loc>https://tonis.dev/videos/set-your-search-filters-before-opening-the-website-wT_l0gxOJ7g/</loc><lastmod>2026-10-24T00:00:00+00:00</lastmod></url><url><loc>https://tonis.dev/videos/find-a-bookmark-without-scrolling-through-everything-8q1LbhKTq2g/</loc><lastmod>2026-10-23T00:00:00+00:00</lastmod></url><url><loc>https://tonis.dev/videos/bmux-sessions-and-bookmarks-my-browsing-workflow-lY5M_6xB9jo/</loc><lastmod>2026-10-22T00:00:00+00:00</lastmod></url><url><loc>https://tonis.dev/videos/switch-projects-and-search-open-tabs-in-bmux-yVcikFp-2AI/</loc><lastmod>2026-10-22T00:00:00+00:00</lastmod></url><url><loc>https://tonis.dev/videos/your-mac-doesn-t-have-to-stay-open-QZm-PXzzsGM/</loc><lastmod>2026-10-21T00:00:00+00:00</lastmod></url><url><loc>https://tonis.dev/videos/github-can-start-an-ai-agent-on-my-mac-JlOOTAhpsbo/</loc><lastmod>2026-10-20T00:00:00+00:00</lastmod></url><url><loc>https://tonis.dev/videos/my-github-actions-failures-now-start-a-local-ai-agent-bJhkIjKeixE/</loc><lastmod>2026-10-19T00:00:00+00:00</lastmod></url><url><loc>https://tonis.dev/videos/i-got-tired-of-asking-ai-to-fix-my-ci-Z7pYiW2ry5E/</loc><lastmod>2026-10-19T00:00:00+00:00</lastmod></url><url><loc>https://tonis.dev/videos/my-reddit-filter-for-scores-comments-and-duplicates-otkvQtddTwk/</loc><lastmod>2026-10-16T00:00:00+00:00</lastmod></url><url><loc>https://tonis.dev/videos/find-x-posts-worth-replying-to-kCPFnPUWtSI/</loc><lastmod>2026-10-15T00:00:00+00:00</lastmod></url><url><loc>https://tonis.dev/videos/stop-retyping-the-same-x-searches-1D5Gk7g9kys/</loc><lastmod>2026-10-15T00:00:00+00:00</lastmod></url><url><loc>https://tonis.dev/videos/find-relevant-posts-on-x-and-reddit-my-saas-marketing-workflow-Z_h6tsRVPJ0/</loc><lastmod>2026-10-14T00:00:00+00:00</lastmod></url><url><loc>https://tonis.dev/videos/bmux-tmux-style-browser-panes-sessions-and-agent-control-_AHo0C1rVWE/</loc><lastmod>2026-10-01T00:00:00+00:00</lastmod></url><url><loc>https://tonis.dev/videos/i-built-my-own-ai-video-avatar-no-avatar-subscription-68p6RljR9sE/</loc><lastmod>2026-09-30T00:00:00+00:00</lastmod></url><url><loc>https://tonis.dev/videos/my-tmux-workflow-for-coding-agents-observe-and-search-through-tens-of-agents-9egwuf-6r44/</loc><lastmod>2026-09-28T00:00:00+00:00</lastmod></url><url><loc>https://tonis.dev/videos/clawtab-on-iphone-live-shell-streaming-and-agent-sessions-8Gu0bY1gc4E/</loc><lastmod>2026-09-28T00:00:00+00:00</lastmod></url><url><loc>https://tonis.dev/videos/trend-seeker-product-demo-g6sHXyLJBNQ/</loc><lastmod>2026-07-22T00:00:00+00:00</lastmod></url><url><loc>https://tonis.dev/videos/ural-ai-resume-builder-dYXbVLuuRkE/</loc><lastmod>2024-12-23T00:00:00+00:00</lastmod></url><url><loc>https://tonis.dev/videos/searchable-c4-contest-results-8q9uv_sGSIo/</loc><lastmod>2022-10-16T00:00:00+00:00</lastmod></url><url><loc>https://tonis.dev/videos/how-to-mint-a-knowledge-token--OeQcWRocmc/</loc><lastmod>2022-06-30T00:00:00+00:00</lastmod></url><url><loc>https://tonis.dev/videos/how-to-withdraw-accrued-knowledge-token-fees-j35vJkr-suc/</loc><lastmod>2022-06-30T00:00:00+00:00</lastmod></url><url><loc>https://tonis.dev/videos/how-to-add-the-knowledge-token-widget-to-your-website-khBIOmuRS1E/</loc><lastmod>2022-06-30T00:00:00+00:00</lastmod></url><url><loc>https://tonis.dev/videos/how-to-create-a-knowledge-token-NllW-ip6crk/</loc><lastmod>2022-06-30T00:00:00+00:00</lastmod></url><url><loc>https://tonis.dev/videos/macos-system-wide-vim-mode-ti-vim-overview-5uKsmSwOMFQ/</loc><lastmod>2022-05-27T00:00:00+00:00</lastmod></url><url><loc>https://tonis.dev/videos/khao-yai-national-park-drive-J0AqaFLfc_M/</loc><lastmod>2021-11-28T00:00:00+00:00</lastmod></url><url><loc>https://tonis.dev/videos/macos-system-wide-vim-mode-owKzyeivFmk/</loc><lastmod>2021-09-29T00:00:00+00:00</lastmod></url><url><loc>https://tonis.dev/videos/nomunchies-THC5PpvtVxw/</loc><lastmod>2021-09-29T00:00:00+00:00</lastmod></url><url><loc>https://tonis.dev/projects/trend-seeker/</loc></url><url><loc>https://tonis.dev/projects/clawtab/</loc></url><url><loc>https://tonis.dev/projects/bmux/</loc></url><url><loc>https://tonis.dev/projects/ovim/</loc></url><url><loc>https://tonis.dev/projects/clawjobs/</loc></url><url><loc>https://tonis.dev/projects/stablesafe/</loc></url><url><loc>https://tonis.dev/projects/easy-kpf/</loc></url><url><loc>https://tonis.dev/blog/2026/10/26/builds-need-process-tree-cleanup/</loc><lastmod>2026-10-26T08:00:00.000Z</lastmod></url><url><loc>https://tonis.dev/blog/2026/10/13/bookmarks-save-research-setup/</loc><lastmod>2026-10-13T08:44:00.000Z</lastmod></url><url><loc>https://tonis.dev/blog/2026/10/06/shared-mobile-dev-server/</loc><lastmod>2026-10-06T05:54:48.000Z</lastmod></url><url><loc>https://tonis.dev/blog/2026/09/28/two-kinds-of-product-videos/</loc><lastmod>2026-09-28T00:00:00.000Z</lastmod></url><url><loc>https://tonis.dev/blog/2026/09/15/networking-for-remote-development/</loc><lastmod>2026-09-16T00:00:00.000Z</lastmod></url><url><loc>https://tonis.dev/blog/2026/09/13/how-i-work-with-coding-agents/</loc><lastmod>2026-09-16T00:00:00.000Z</lastmod></url><url><loc>https://tonis.dev/blog/2026/01/30/how-my-server-got-owned-by-a-userland-rootkit-and-how-i-cleaned-it/</loc><lastmod>2026-01-30T23:41:24Z</lastmod></url><url><loc>https://tonis.dev/blog/2025/11/23/ai-driven-fp-ts-development/</loc><lastmod>2025-11-23T23:15:40Z</lastmod></url><url><loc>https://tonis.dev/blog/2025/09/06/managing-kubectl-port-forwards-why-gui-tools-are-taking-over/</loc><lastmod>2025-09-27T03:37:46Z</lastmod></url><url><loc>https://tonis.dev/blog/2024/11/06/deploy-a-vite-react-spa-app-to-cloudfront-with-working-browserrouter/</loc><lastmod>2024-11-06T09:12:27Z</lastmod></url><url><loc>https://tonis.dev/blog/2024/06/07/how-to-ignore-generated-kotlin-files-in-jacoco/</loc><lastmod>2024-06-07T06:27:53Z</lastmod></url><url><loc>https://tonis.dev/blog/2024/02/07/how-to-achieve-validatednel-with-fp-ts/</loc><lastmod>2024-02-07T23:31:13Z</lastmod></url><url><loc>https://tonis.dev/blog/2023/05/28/lazy-conditional-logging-in-javascript/</loc><lastmod>2023-05-28T00:12:57Z</lastmod></url><url><loc>https://tonis.dev/blog/2023/05/27/how-to-scroll-to-line-with-codemirror-react/</loc><lastmod>2023-05-28T00:00:53Z</lastmod></url><url><loc>https://tonis.dev/blog/2022/10/02/how-to-find-critical-bugs-in-code4rena/</loc><lastmod>2025-01-22T23:52:43Z</lastmod></url><url><loc>https://tonis.dev/blog/2022/07/25/what-is-a-knowledge-token/</loc><lastmod>2022-07-27T14:26:01Z</lastmod></url><url><loc>https://tonis.dev/blog/2022/07/03/how-to-use-web3-react/</loc><lastmod>2022-08-03T13:21:51Z</lastmod></url><url><loc>https://tonis.dev/blog/2022/06/26/knowledge-token-test-post/</loc><lastmod>2022-07-27T10:11:54Z</lastmod></url><url><loc>https://tonis.dev/blog/2022/06/24/how-to-use-ethereum-multicall-on-a-local-hardhat-node/</loc><lastmod>2022-08-06T11:01:35Z</lastmod></url><url><loc>https://tonis.dev/blog/2022/05/04/vscode-jest-doesnt-work-for-a-react-app-in-a-yarn-workspace-monorepo/</loc><lastmod>2022-06-12T07:03:55Z</lastmod></url><url><loc>https://tonis.dev/blog/2022/05/03/how-to-transfer-a-dynamodb-table-from-one-account-to-another/</loc><lastmod>2022-05-23T01:20:59Z</lastmod></url><url><loc>https://tonis.dev/blog/2021/12/22/location-data-reduction-in-android/</loc><lastmod>2021-12-22T01:28:32Z</lastmod></url><url><loc>https://tonis.dev/blog/2021/11/30/add-text-and-images-to-notion-via-the-official-api-and-python/</loc><lastmod>2021-11-30T10:23:58Z</lastmod></url><url><loc>https://tonis.dev/blog/2021/11/02/aggregate-iconomi-crypto-strategy-details/</loc><lastmod>2021-11-02T08:40:44Z</lastmod></url><url><loc>https://tonis.dev/blog/2021/09/28/create-a-login-screen-with-jetpack-compose/</loc><lastmod>2021-09-28T10:07:03Z</lastmod></url><url><loc>https://tonis.dev/blog/2021/08/31/create-a-code-editor-with-compose-for-desktop/</loc><lastmod>2021-08-31T13:33:55Z</lastmod></url><url><loc>https://tonis.dev/blog/2021/08/04/setup-macos-system-wide-vim-mode/</loc><lastmod>2021-08-04T10:06:33Z</lastmod></url><url><loc>https://tonis.dev/blog/2021/08/03/kotlin-native-interoperability-with-swift-objective-c/</loc><lastmod>2021-08-03T10:21:46Z</lastmod></url><url><loc>https://tonis.dev/blog/2021/06/29/kotlin-multiplatform-in-a-macos-app/</loc><lastmod>2021-07-24T00:35:30Z</lastmod></url><url><loc>https://tonis.dev/blog/2021/06/01/kotlin-multiplatform-app-architectures/</loc><lastmod>2021-06-26T02:49:46Z</lastmod></url><url><loc>https://tonis.dev/blog/2021/04/27/kotlin-hydra-constructors/</loc><lastmod>2021-05-02T09:30:14Z</lastmod></url><url><loc>https://tonis.dev/blog/2021/03/31/java-ec-crypto-with-bouncycastle/</loc><lastmod>2021-08-19T06:53:10Z</lastmod></url><url><loc>https://tonis.dev/blog/2021/03/03/kotlin-multiplatform-logging-libraries/</loc><lastmod>2021-08-28T02:46:14Z</lastmod></url><url><loc>https://tonis.dev/blog/2021/02/02/ios-app-with-kotlin-multiplatform-mobile/</loc><lastmod>2021-02-21T09:43:37Z</lastmod></url><url><loc>https://tonis.dev/blog/2021/01/05/create-json-manually-with-kotlinx-serialization/</loc><lastmod>2021-07-24T00:59:42Z</lastmod></url><url><loc>https://tonis.dev/blog/2020/12/01/add-a-sequence-diagram-to-notion/</loc><lastmod>2021-09-17T08:18:35Z</lastmod></url><url><loc>https://tonis.dev/blog/2020/11/03/callback-styles-for-async-tasks/</loc><lastmod>2021-07-14T07:09:59Z</lastmod></url><url><loc>https://tonis.dev/blog/2020/10/07/logging-in-a-java-library/</loc><lastmod>2020-12-14T03:52:34Z</lastmod></url><url><loc>https://tonis.dev/blog/2020/09/08/kotlin-concatenating-nullable-strings/</loc><lastmod>2020-12-13T11:32:48Z</lastmod></url><url><loc>https://tonis.dev/blog/2020/08/13/workflow-automations/</loc><lastmod>2020-08-13T12:35:03Z</lastmod></url><url><loc>https://tonis.dev/blog/2020/07/15/car-data-points-in-android-automotive/</loc><lastmod>2020-12-14T03:53:57Z</lastmod></url><url><loc>https://tonis.dev/blog/2020/06/03/testing-with-mockk-and-koin/</loc><lastmod>2020-12-14T03:20:31Z</lastmod></url><url><loc>https://tonis.dev/blog/2020/04/28/android-app-architecture-part-1/</loc><lastmod>2020-12-14T03:45:47Z</lastmod></url><url><loc>https://tonis.dev/blog/2020/04/03/sharing-native-code-between-android-and-java-projects/</loc><lastmod>2020-04-03T10:24:19Z</lastmod></url><url><loc>https://tonis.dev/blog/2020/02/19/hello-world/</loc><lastmod>2020-03-29T10:14:13Z</lastmod></url></urlset>