<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://blog.g9n.com/index.html</loc>
  </url>
  <url>
    <loc>https://blog.g9n.com/attention-was-always-the-bottleneck-ai.html</loc>
    <lastmod>2026-09-01</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/introducing-the-g9n-blog.html</loc>
    <lastmod>2026-05-17</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/make-sure-you-spend-time-with-tech-you-enjoy.html</loc>
    <lastmod>2026-09-01</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/observations-around-prominent-programmer-sentiment-and-ai.html</loc>
    <lastmod>2026-08-30</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/the-skills-i-think-we-might-gain-ai.html</loc>
    <lastmod>2026-06-24</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/maintaining-a-blog-with-jekyll-github-pages-and-github-codespaces.html</loc>
    <lastmod>2022-07-02</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/how-to-wrap-a-typescript-js-callback-with-async-await.html</loc>
    <lastmod>2021-02-25</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/api-versioning-and-basic-ui-authentication-with-openapi-swagger-swashbuckle-in-net-core-6.html</loc>
    <lastmod>2022-01-18</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/a-utility-class-for-finding-database-deadlocks-in-net-applications.html</loc>
    <lastmod>2021-02-23</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/how-to-create-a-deep-copy-of-an-object-in-javascript-typescript.html</loc>
    <lastmod>2021-02-25</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/implementing-microsoftextensionsloggingilogger-with-nlog.html</loc>
    <lastmod>2021-02-25</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/managing-code-snippets-using-logseq.html</loc>
    <lastmod>2022-07-01</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/a-rough-guide-to-building-a-retro-pie-bar-top-arcade-game-machine.html</loc>
    <lastmod>2022-01-09</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/converting-enum-types-by-value-in-c.html</loc>
    <lastmod>2021-07-01</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/sanitizing-html-in-net-core.html</loc>
    <lastmod>2021-02-25</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/aspnet-file-uploader-with-signalr-progress-bar-and-extended-input-stream-processing.html</loc>
    <lastmod>2013-01-08</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/fail-early-fail-fast-and-why-you-should-throw-exceptions.html</loc>
    <lastmod>2018-08-07</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/a-custom-workflow-to-publish-from-obsidian-to-blotim.html</loc>
    <lastmod>2022-01-06</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/using-github-to-host-images.html</loc>
    <lastmod>2022-01-06</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/robust-error-handling-in-aspnet-core.html</loc>
    <lastmod>2020-07-23</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/how-to-inject-google-adsense-in-article-script-into-your-html-aspnet-core-razor.html</loc>
    <lastmod>2019-12-24</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/uploading-directly-to-s3-from-client-using-pre-signed-urls-javascript-net.html</loc>
    <lastmod>2022-01-06</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/hackers-painters-and-kanban-for-software-as-a-creative-process.html</loc>
    <lastmod>2022-07-18</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/introducing-agent-kanban.html</loc>
    <lastmod>2026-05-13</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/open-source-tools-and-web-utilities-from-app-software-ltd.html</loc>
    <lastmod>2025-10-01</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/new-free-favicon-icon-generator-available-on-appsoftwarecom.html</loc>
    <lastmod>2025-10-26</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/building-reusable-ui-components-with-svelte-5-custom-elements.html</loc>
    <lastmod>2025-11-01</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/net-10-file-based-apps-demonstration-c-scripting.html</loc>
    <lastmod>2025-11-12</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/vscode-tasksjson-capturing-nuget-package-vulnerability-warnings.html</loc>
    <lastmod>2025-11-18</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/setting-up-google-antigravity-coming-from-vscode.html</loc>
    <lastmod>2025-11-19</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/net-10-and-nuget-audit-identifying-root-packages-for-vulnerable-transitive-dependencies.html</loc>
    <lastmod>2025-11-27</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/a-centralised-approach-to-ai-llm-agent-instruction-using-git-submodules.html</loc>
    <lastmod>2026-01-21</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/a-timeline-of-interesting-takes-on-agentic-ai-capability-in-software-engineering.html</loc>
    <lastmod>2026-01-28</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/local-llm-setup-on-windows-with-ollama-and-lm-studio-lenovo-thinkpad-p1-gen-4-with-a-rtx-a3000.html</loc>
    <lastmod>2026-02-22</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/building-a-bad-local-ai-coding-agent-harness-from-scratch.html</loc>
    <lastmod>2026-02-22</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/openclaw-running-a-secure-capable-lowcost-claw-hetzner-tailscale-discord-zapier-mcp.html</loc>
    <lastmod>2026-02-24</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/building-a-light-weight-personal-mcp-server-implementation.html</loc>
    <lastmod>2026-03-02</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/as-notes-turn-vs-code-into-your-personal-knowledge-management-system-pkms.html</loc>
    <lastmod>2026-03-02</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/an-effective-ai-agent-pattern-plan-tasks-implementation.html</loc>
    <lastmod>2026-03-03</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/debugging-a-sqlite-wasm-heap-fragmentation-bug-in-a-vs-code-extension.html</loc>
    <lastmod>2026-03-05</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/introducing-vs-code-agent-kanban-task-management-for-the-ai-assisted-developer.html</loc>
    <lastmod>2026-03-08</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/vs-code-kingfisher-extension-colour-your-vs-code-windows-without-breaking-your-teams-settings.html</loc>
    <lastmod>2026-03-08</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/fixing-agent-llm-context-decay-in-vs-code-with-git-worktrees.html</loc>
    <lastmod>2026-03-12</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/you-need-probabilistic-gates-for-deterministic-ai-agents.html</loc>
    <lastmod>2026-03-15</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/as-notes-vs-code-notes-docs-and-wikilink-markdown-editing.html</loc>
    <lastmod>2026-03-30</lastmod>
  </url>
  <url>
    <loc>https://blog.g9n.com/posts.html</loc>
  </url>
</urlset>
