<?xml version="1.0" encoding="utf-8" standalone="yes"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml"><url><loc>https://jamalhansen.com/series/sql-for-python-developers/</loc><lastmod>2026-03-30T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/series/local-first-ai/</loc></url><url><loc>https://jamalhansen.com/series/i-vibe-coded-and-lived-to-tell/</loc><lastmod>2026-03-26T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/series/aws-data-engineer-associate-certification/</loc><lastmod>2025-06-20T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/</loc><lastmod>2026-06-22T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/</loc><lastmod>2026-06-22T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/series/</loc><lastmod>2026-03-30T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/sql/</loc><lastmod>2026-03-30T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/subqueries-when-sql-needs-helper-functions/</loc><lastmod>2026-03-30T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/</loc><lastmod>2026-03-30T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/architecture/</loc><lastmod>2026-03-26T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/copy-and-paste-long-enough-and-the-architecture-appears/</loc><lastmod>2026-03-26T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/python/</loc><lastmod>2026-03-26T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/vibe-coding/</loc><lastmod>2026-03-26T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/agriculture/</loc><lastmod>2026-03-25T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/ai/</loc><lastmod>2026-03-25T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/careers/</loc><lastmod>2026-03-25T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/data/</loc><lastmod>2026-03-25T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/finds/</loc><lastmod>2026-03-25T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/finds/halter-ai-powered-cow-collars/</loc><lastmod>2026-03-25T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/sci-fi/</loc><lastmod>2026-03-25T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/finds/sql-developer-in-2026-roles-skills-and-career-path-explained/</loc><lastmod>2026-03-25T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/joins-explained-for-python-developers/</loc><lastmod>2026-03-23T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/local-ai/</loc><lastmod>2026-03-21T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/ollama/</loc><lastmod>2026-03-21T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/philosophy/</loc><lastmod>2026-03-21T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/why-i-run-ai-locally-and-you-might-want-to/</loc><lastmod>2026-03-21T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/agents/</loc><lastmod>2026-03-21T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/finds/arscontexta-claude-code-plugin/</loc><lastmod>2026-03-21T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/finds/bots-of-wall-street/</loc><lastmod>2026-03-21T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/finds/building-agents-for-small-language-models-a-deep-dive-into-lightweight-ai/</loc><lastmod>2026-03-21T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/career-advice/</loc><lastmod>2026-03-21T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/claude-code/</loc><lastmod>2026-03-21T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/finance/</loc><lastmod>2026-03-21T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/localai/</loc><lastmod>2026-03-21T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/obsidian/</loc><lastmod>2026-03-21T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/office/</loc><lastmod>2026-03-21T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/politics/</loc><lastmod>2026-03-21T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/small-language-models/</loc><lastmod>2026-03-21T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/software-engineering/</loc><lastmod>2026-03-21T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/finds/stop-avoiding-politics/</loc><lastmod>2026-03-21T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/technical-debt/</loc><lastmod>2026-03-21T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/tooling/</loc><lastmod>2026-03-21T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/finds/vibe-code-is-legacy-code/</loc><lastmod>2026-03-21T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/ai-tools/</loc><lastmod>2026-03-17T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/bartbot/</loc><lastmod>2026-03-17T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/categories/</loc><lastmod>2026-03-17T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/content-discovery/</loc><lastmod>2026-03-17T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/categories/local-first-ai/</loc><lastmod>2026-03-17T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/local-first-ai/</loc><lastmod>2026-03-17T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/the-content-curator/</loc><lastmod>2026-03-17T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/having-filtering-grouped-results/</loc><lastmod>2026-03-16T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/i-trusted-three-local-ai-models/</loc><lastmod>2026-03-10T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/finds/all-databases-are-just-files-postgres-too/</loc><lastmod>2026-03-12T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/databases/</loc><lastmod>2026-03-12T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/duckdb/</loc><lastmod>2026-03-12T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/finds/first-we-shape-our-social-graph-then-it-shapes-us/</loc><lastmod>2026-03-12T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/finds/gemini-protocol-an-alternative-to-the-web/</loc><lastmod>2026-03-12T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/finds/human-brain-cells-on-a-chip-learned-to-play-doom-in-a-week/</loc><lastmod>2026-03-12T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/infrastructure/</loc><lastmod>2026-03-12T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/internet/</loc><lastmod>2026-03-12T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/finds/meta-acquired-moltbook-the-ai-agent-social-network-that-went-viral-because-of-fake-posts/</loc><lastmod>2026-03-12T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/newsletter/</loc><lastmod>2026-03-12T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/programming/</loc><lastmod>2026-03-12T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/protocol/</loc><lastmod>2026-03-12T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/scifi/</loc><lastmod>2026-03-12T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/social/</loc><lastmod>2026-03-12T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/sqlite/</loc><lastmod>2026-03-12T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/strategy/</loc><lastmod>2026-03-12T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/finds/the-first-multi-behavior-brain-upload/</loc><lastmod>2026-03-12T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/tools/</loc><lastmod>2026-03-12T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/finds/why-your-ai-agent-needs-a-sqlite-task-system/</loc><lastmod>2026-03-12T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/writing/</loc><lastmod>2026-03-12T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/finds/writing-as-communion/</loc><lastmod>2026-03-12T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/finds/you-can-choose-tools-that-make-you-happy/</loc><lastmod>2026-03-12T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/tsql-tuesday-196-what-career-risks-have-you-taken/</loc><lastmod>2026-03-10T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/tsql2sday/</loc><lastmod>2026-03-10T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/tsqltuesday/</loc><lastmod>2026-03-10T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/group-by-aggregating-your-data/</loc><lastmod>2026-03-09T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/agentic/</loc><lastmod>2026-03-03T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/cyberpunk/</loc><lastmod>2026-03-03T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/finds/i-use-offline-llms-a-lot-how-do-folks-choose/</loc><lastmod>2026-03-03T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/finds/moltbook-is-the-most-interesting-place-on-the-internet-right-now/</loc><lastmod>2026-03-03T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/where-filtering-your-data/</loc><lastmod>2026-03-02T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/finds/use-any-python-ai-agent-framework-with-free-github-models/</loc><lastmod>2026-03-01T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/i-vibe-coded-a-local-ai-powered-promo-generator/</loc><lastmod>2026-02-28T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/order-by-sorting-your-results/</loc><lastmod>2026-02-23T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/select-choosing-your-columns/</loc><lastmod>2026-02-16T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/from-where-your-data-lives/</loc><lastmod>2026-02-09T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/sql-thinks-in-sets-not-loops/</loc><lastmod>2026-02-02T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/dont-forget-to-save-persisting-your-duckdb-database/</loc><lastmod>2026-01-14T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/faker/</loc><lastmod>2026-01-13T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/generate-practice-data-with-faker/</loc><lastmod>2026-01-13T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/run-your-first-sql-query-in-under-5-minutes/</loc><lastmod>2026-01-10T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/i-know-python-why-learn-sql/</loc><lastmod>2026-01-05T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/adding-claude-to-my-evolving-goal-flow/</loc><lastmod>2025-07-13T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/artificial-intelligence/</loc><lastmod>2025-07-13T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/claude/</loc><lastmod>2025-07-13T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/goals/</loc><lastmod>2025-07-13T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/categories/productivity/</loc><lastmod>2025-07-13T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/productivity/</loc><lastmod>2025-07-13T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/workflow/</loc><lastmod>2025-07-13T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/agentic-ai/</loc><lastmod>2025-06-24T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/an-update-on-my-agentic-learning-journey/</loc><lastmod>2025-06-24T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/langchain/</loc><lastmod>2025-06-24T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/learning/</loc><lastmod>2025-06-24T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/categories/technology/</loc><lastmod>2025-06-24T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/aws/</loc><lastmod>2025-06-20T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/aws-data-engineer-certification-test-second-attempt/</loc><lastmod>2025-06-20T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/categories/certification/</loc><lastmod>2025-06-20T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/certification/</loc><lastmod>2025-06-20T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/data-engineering/</loc><lastmod>2025-06-20T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/success/</loc><lastmod>2025-06-20T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/community/</loc><lastmod>2025-06-01T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/gratitude/</loc><lastmod>2025-06-01T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/linkedin/</loc><lastmod>2025-06-01T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/categories/personal/</loc><lastmod>2025-06-01T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/thank-you-for-your-overwhelming-support/</loc><lastmod>2025-06-01T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/i-have-started-to-learn-agentic-ai/</loc><lastmod>2025-05-31T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/udemy/</loc><lastmod>2025-05-31T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/failure/</loc><lastmod>2025-05-10T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/i-failed-the-aws-certified-data-engineer-associate-exam/</loc><lastmod>2025-05-10T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/aws-card-clash-gen-ai-battles-demo/</loc><lastmod>2025-05-07T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/gaming/</loc><lastmod>2025-05-07T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/categories/learning/</loc><lastmod>2025-05-07T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/skillbuilder/</loc><lastmod>2025-05-07T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/dea-c01/</loc><lastmod>2025-05-05T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/preparation/</loc><lastmod>2025-05-05T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/studying/</loc><lastmod>2025-05-05T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/up-and-downs-leading-to-dea-c01-test-day/</loc><lastmod>2025-05-05T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/my-first-post/</loc><lastmod>2025-05-04T10:30:46-05:00</lastmod></url><url><loc>https://jamalhansen.com/tags/anxiety/</loc><lastmod>2025-05-04T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/testing-for-aws-data-engineer-associate-dea-c01-certification-in-five-days/</loc><lastmod>2025-05-04T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/fluent-python/</loc><lastmod>2025-01-04T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/i-am-reading-fluent-python/</loc><lastmod>2025-01-04T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/categories/python/</loc><lastmod>2026-01-10T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/reading/</loc><lastmod>2025-01-04T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/categories/database/</loc><lastmod>2026-01-11T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/dbeaver/</loc><lastmod>2026-01-11T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/explore-the-sample-dbeaver-database/</loc><lastmod>2026-01-11T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/add-dependencies-to-python-scripts-with-uv/</loc><lastmod>2026-01-10T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/uv/</loc><lastmod>2026-01-10T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/track-ideas-for-writing-prompts-in-obsidian/</loc><lastmod>2026-01-11T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/categories/dbeaver/</loc><lastmod>2026-01-11T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/i-installed-dbeaver-today/</loc><lastmod>2026-01-11T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/categories/automated-testing/</loc><lastmod>2026-01-11T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/javascript/</loc><lastmod>2026-01-10T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/jest/</loc><lastmod>2026-01-10T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/stop-querying-found-elements-when-testing-react/</loc><lastmod>2026-01-10T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/testing-library/</loc><lastmod>2026-01-10T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/categories/today-i-learned/</loc><lastmod>2026-01-10T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/vite/</loc><lastmod>2026-01-10T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/group-junit-tests-with-nested/</loc><lastmod>2026-01-11T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/java/</loc><lastmod>2026-01-11T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/junit/</loc><lastmod>2026-01-11T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/command-line/</loc><lastmod>2026-01-07T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/symbolic-links-for-fun-and-profit/</loc><lastmod>2026-01-07T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/byte/</loc><lastmod>2026-01-11T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/categories/java/</loc><lastmod>2026-01-11T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/why-is-there-no-b-for-byte-literals/</loc><lastmod>2026-01-11T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/blog/custom-style-your-markdown-preview-in-vscode/</loc><lastmod>2026-01-10T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/markdown/</loc><lastmod>2026-01-10T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/categories/vs-code/</loc><lastmod>2026-01-10T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/tags/vscode/</loc><lastmod>2026-01-10T00:00:00+00:00</lastmod></url><url><loc>https://jamalhansen.com/about/</loc></url><url><loc>https://jamalhansen.com/archives/</loc></url><url><loc>https://jamalhansen.com/newsletter/</loc></url><url><loc>https://jamalhansen.com/search/</loc></url></urlset>