<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
 <url>
  <loc>https://blog.glitchdata.com/courses/how-machine-learning-works</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/working-with-datasets-for-ai</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/your-first-classifier-with-scikit-learn</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/prompting-large-language-models</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/embeddings-semantic-search-and-rag</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/responsible-ai-in-practice</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/planning-an-ai-project</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/neural-networks-and-deep-learning</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/computer-vision-with-pretrained-models</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/speech-to-text-with-whisper</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/forecasting-time-series</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/building-ai-agents-with-tool-use</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/evaluating-llm-applications</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/machine-learning-specialization</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/deep-learning-specialization</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/practical-deep-learning-for-coders</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/cs50s-introduction-to-artificial-intelligence-with-python</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/hugging-face-llm-course</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/hugging-face-ai-agents-course</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/ai-for-everyone</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/generative-ai-for-everyone</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/elements-of-ai</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/machine-learning-crash-course</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/google-data-analytics-professional-certificate</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/ibm-data-science-professional-certificate</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/professional-certificate-in-data-science</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/sql-for-data-science</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/introduction-to-statistics</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/pandas</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/data-analysis-with-python</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/data-engineering-zoomcamp</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/introduction-to-computational-thinking-and-data-science</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/power-bi-data-analyst-pl-300</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/securing-ai-systems-the-threat-landscape</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/prompt-injection-and-llm-application-security</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/securing-rag-tools-and-agents</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/adversarial-machine-learning</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/ai-for-defenders-detection-triage-and-response</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/how-security-testing-works</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/web-application-security-testing</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/infrastructure-and-network-testing</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/red-teaming-and-purple-teaming</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/cyber-risk-assessment</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/control-assessment-against-a-framework</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/third-party-and-supply-chain-assessment</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/understanding-your-attack-surface</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/external-attack-surface-management</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/identity-and-cloud-attack-surface</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/designing-a-data-pipeline</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/batch-and-streaming</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/modelling-data-for-analytics</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/data-quality-you-can-trust</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/orchestration-schedules-retries-and-dependencies</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/ingesting-from-apis-and-files</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/data-contracts-and-schema-change</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/warehouse-cost-and-performance</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/feature-pipelines-for-machine-learning</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/change-data-capture-and-replication</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/putting-a-model-into-production</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/monitoring-a-model-in-production</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/deploying-model-changes-safely</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/serving-models-at-low-latency-and-cost</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/retraining-when-how-often-and-on-what</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/experiment-tracking-and-reproducibility</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/pipelines-for-machine-learning</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/infrastructure-as-code-for-ml-systems</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/evaluating-language-models-for-production</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/cost-control-for-ai-systems</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/how-retrieval-augmented-generation-works</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/chunking-and-indexing-documents</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/retrieval-quality-search-hybrid-and-re-ranking</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/grounding-and-refusing-to-answer</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/evaluating-a-rag-system</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/rag-over-tables-and-structured-data</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/conversational-retrieval</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/permissions-and-privacy-in-retrieval-systems</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/multimodal-and-long-document-retrieval</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/prompting-fundamentals</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/getting-structured-output</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/reasoning-decomposition-and-self-checking</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/testing-and-versioning-prompts</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/prompt-injection-and-prompt-safety</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/prompting-for-classification-and-extraction</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/prompting-for-code</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/prompt-patterns-for-production-features</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/what-an-agent-actually-is</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/designing-tools-for-agents</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/managing-agent-state-and-memory</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/agent-permissions-and-safety</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/testing-and-evaluating-agents</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/multi-agent-systems</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/operating-agents-in-production</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/agents-for-data-and-analytics-work</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/what-mcp-is-for</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/building-an-mcp-server</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/running-mcp-servers-safely</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/mcp-in-a-team</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/agent-to-agent-interaction</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/discovery-and-capability-description</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/trust-identity-and-accountability-between-agents</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/choosing-a-database</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/relational-modelling</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/sql-beyond-the-basics</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/indexing-and-query-performance</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/transactions-locking-and-concurrency</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/operating-a-database</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/vector-search-in-a-database</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/data-warehousing-fundamentals</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/keeping-a-database-honest-in-production</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/making-money-with-ai-the-honest-landscape</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/freelancing-and-consulting-in-ai</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/pricing-your-work</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/building-and-selling-an-ai-product</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/earning-more-inside-a-job</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/selling-data-and-models-as-products</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/proposals-contracts-and-getting-paid</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/measuring-and-reporting-value</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/positioning-audience-and-inbound-work</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/preparing-data-for-a-model</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/labelling-data-well</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/splits-leakage-and-honest-evaluation</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/documenting-datasets</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/fairness-in-practice</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/transparency-and-explanation</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/privacy-in-machine-learning</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/governance-for-ai-systems</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/what-general-intelligence-would-mean</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/scaling-capability-and-limits</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/alignment-and-control</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/how-machine-learning-learns</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/embeddings-and-vector-space</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/how-transformers-work</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/the-vocabulary-precisely</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/making-a-technology-choice</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/build-or-buy</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/what-generative-models-are-good-at</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/shipping-a-generative-feature</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/choosing-the-right-problem</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/integrating-a-model-into-a-real-process</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/working-with-claude</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/claude-code-in-a-real-repository</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/chatgpt-and-the-openai-api</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/google-gemini-and-workspace</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/grok-and-real-time-assistants</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/github-copilot-in-the-editor</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/github-for-teams</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/hugging-face-models-datasets-and-spaces</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/choosing-and-switching-between-assistants</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/what-the-frontier-models-can-do-now</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/llama-and-open-weight-models</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/finding-your-first-ten-clients</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/productising-a-service</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/pilots-that-turn-into-contracts</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/selling-ai-to-enterprise</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/selling-ai-to-small-businesses</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/winning-public-sector-work</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/launching-an-ai-micro-saas</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/margin-and-unit-cost-in-ai-products</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/teaching-ai-courses-cohorts-and-workshops</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/writing-newsletters-and-sponsorship</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/selling-through-marketplaces-and-app-stores</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/winning-work-on-freelance-platforms</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/low-ticket-digital-products</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/running-an-ai-automation-agency</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/fractional-and-advisory-roles</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/partnerships-referrals-and-white-label</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/negotiating-rates-and-terms</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/structure-tax-and-cashflow</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/keeping-clients-renewals-upsells-and-churn</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/scaling-past-yourself</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/stripe</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/paypal</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/braintree</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/adyen</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/checkoutcom</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/square</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/mollie</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/razorpay</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/paddle-and-the-merchant-of-record-model</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/gocardless-and-bank-debit</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/databricks</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/snowflake</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/dbt</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/apache-airflow</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/dagster-and-prefect</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/fivetran-airbyte-and-dlt</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/apache-kafka</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/duckdb</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/n8n</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/workato</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/how-machine-learning-works/lessons/what-learning-means-for-a-machine</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/working-with-datasets-for-ai/lessons/reading-a-dataset-card</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/your-first-classifier-with-scikit-learn/lessons/the-palmer-penguins-problem</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/prompting-large-language-models/lessons/what-a-language-model-actually-does</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/embeddings-semantic-search-and-rag/lessons/what-an-embedding-is</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/responsible-ai-in-practice/lessons/where-harm-comes-from</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/planning-an-ai-project/lessons/is-this-a-problem-for-ai</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/neural-networks-and-deep-learning/lessons/from-a-neuron-to-a-network</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/computer-vision-with-pretrained-models/lessons/how-computers-see-images</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/speech-to-text-with-whisper/lessons/how-speech-recognition-works</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/forecasting-time-series/lessons/trend-seasonality-and-noise</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/building-ai-agents-with-tool-use/lessons/what-makes-something-an-agent</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/evaluating-llm-applications/lessons/why-it-looked-good-isnt-enough</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/securing-ai-systems-the-threat-landscape/lessons/why-ai-systems-break-differently</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/prompt-injection-and-llm-application-security/lessons/how-prompt-injection-actually-works</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/securing-rag-tools-and-agents/lessons/the-attack-surface-of-retrieval</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/adversarial-machine-learning/lessons/evasion-adversarial-examples</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/ai-for-defenders-detection-triage-and-response/lessons/where-ai-helps-a-security-team</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/how-security-testing-works/lessons/what-a-test-can-and-cannot-tell-you</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/web-application-security-testing/lessons/mapping-the-application-first</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/infrastructure-and-network-testing/lessons/discovery-and-the-inventory-that-is-always-wrong</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/red-teaming-and-purple-teaming/lessons/objective-based-testing-and-when-you-are-ready-for-it</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/cyber-risk-assessment/lessons/what-a-risk-actually-is</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/control-assessment-against-a-framework/lessons/choosing-a-framework-for-the-question-you-have</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/third-party-and-supply-chain-assessment/lessons/why-suppliers-are-your-attack-surface</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/understanding-your-attack-surface/lessons/what-counts-as-attack-surface</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/external-attack-surface-management/lessons/continuous-discovery</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/identity-and-cloud-attack-surface/lessons/identity-as-the-perimeter</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/designing-a-data-pipeline/lessons/the-four-stages</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/batch-and-streaming/lessons/what-latency-does-the-decision-need</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/modelling-data-for-analytics/lessons/the-grain</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/data-quality-you-can-trust/lessons/the-tests-that-earn-their-keep</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/orchestration-schedules-retries-and-dependencies/lessons/dependencies-not-times</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/ingesting-from-apis-and-files/lessons/paging-an-api-without-losing-rows</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/data-contracts-and-schema-change/lessons/what-goes-in-a-contract</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/warehouse-cost-and-performance/lessons/scan-less</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/feature-pipelines-for-machine-learning/lessons/point-in-time-correctness</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/change-data-capture-and-replication/lessons/three-ways-to-copy-a-database</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/putting-a-model-into-production/lessons/what-production-actually-requires</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/monitoring-a-model-in-production/lessons/three-layers-three-kinds-of-failure</loc>
  <lastmod>2026-10-12</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/deploying-model-changes-safely/lessons/shadow-canary-split</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/serving-models-at-low-latency-and-cost/lessons/where-the-time-goes</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/retraining-when-how-often-and-on-what/lessons/does-this-model-need-retraining</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/experiment-tracking-and-reproducibility/lessons/what-to-record-about-every-run</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/pipelines-for-machine-learning/lessons/from-notebook-to-steps</loc>
  <lastmod>2026-10-12</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/infrastructure-as-code-for-ml-systems/lessons/containers-that-are-not-enormous</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/evaluating-language-models-for-production/lessons/the-evaluation-set</loc>
  <lastmod>2026-10-12</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/cost-control-for-ai-systems/lessons/instrument-before-optimising</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/how-retrieval-augmented-generation-works/lessons/the-four-stages</loc>
  <lastmod>2026-10-12</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/chunking-and-indexing-documents/lessons/split-on-structure-not-length</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/retrieval-quality-search-hybrid-and-re-ranking/lessons/measure-retrieval-on-its-own</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/grounding-and-refusing-to-answer/lessons/citations-that-can-be-checked</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/evaluating-a-rag-system/lessons/the-evaluation-set</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/rag-over-tables-and-structured-data/lessons/which-questions-need-a-query</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/conversational-retrieval/lessons/rewriting-the-follow-up</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/permissions-and-privacy-in-retrieval-systems/lessons/filter-at-query-time-per-asker</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/multimodal-and-long-document-retrieval/lessons/getting-text-out-of-documents</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/prompting-fundamentals/lessons/what-moves-the-output</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/getting-structured-output/lessons/define-the-schema-first</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/reasoning-decomposition-and-self-checking/lessons/working-out-loud</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/testing-and-versioning-prompts/lessons/a-test-set-for-a-prompt</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/prompt-injection-and-prompt-safety/lessons/the-attack-surface</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/prompting-for-classification-and-extraction/lessons/designing-labels</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/prompting-for-code/lessons/framing-a-code-request</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/prompt-patterns-for-production-features/lessons/routing-and-pipelines</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/what-an-agent-actually-is/lessons/the-loop</loc>
  <lastmod>2026-10-12</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/designing-tools-for-agents/lessons/granularity-and-naming</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/managing-agent-state-and-memory/lessons/the-context-fills-up</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/agent-permissions-and-safety/lessons/enumerate-the-real-capability</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/testing-and-evaluating-agents/lessons/a-harness-with-fake-tools</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/multi-agent-systems/lessons/when-more-than-one-helps</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/operating-agents-in-production/lessons/instrumenting-a-run</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/agents-for-data-and-analytics-work/lessons/the-tasks-that-pay</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/what-mcp-is-for/lessons/the-n-times-m-problem</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/building-an-mcp-server/lessons/tools-schemas-and-descriptions</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/running-mcp-servers-safely/lessons/evaluating-a-server</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/mcp-in-a-team/lessons/local-or-hosted</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/agent-to-agent-interaction/lessons/delegation-and-how-it-differs-from-a-tool-call</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/discovery-and-capability-description/lessons/describing-a-capability</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/trust-identity-and-accountability-between-agents/lessons/identity-and-delegated-authority</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/choosing-a-database/lessons/describe-the-workload-first</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/relational-modelling/lessons/normalisation-and-when-to-stop</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/sql-beyond-the-basics/lessons/window-functions</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/indexing-and-query-performance/lessons/how-an-index-serves-a-query</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/transactions-locking-and-concurrency/lessons/isolation-levels</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/operating-a-database/lessons/backups-you-have-actually-restored</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/vector-search-in-a-database/lessons/vectors-beside-your-rows</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/data-warehousing-fundamentals/lessons/how-a-columnar-engine-reads</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/keeping-a-database-honest-in-production/lessons/what-to-watch</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/making-money-with-ai-the-honest-landscape/lessons/the-four-that-pay</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/freelancing-and-consulting-in-ai/lessons/positioning</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/pricing-your-work/lessons/the-four-models</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/building-and-selling-an-ai-product/lessons/finding-the-problem</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/earning-more-inside-a-job/lessons/what-to-automate-and-what-not-to</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/selling-data-and-models-as-products/lessons/may-you-sell-it</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/proposals-contracts-and-getting-paid/lessons/the-proposal</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/measuring-and-reporting-value/lessons/the-baseline</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/positioning-audience-and-inbound-work/lessons/what-to-publish</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/preparing-data-for-a-model/lessons/the-sequence</loc>
  <lastmod>2026-10-12</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/labelling-data-well/lessons/guidelines</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/splits-leakage-and-honest-evaluation/lessons/splitting-correctly</loc>
  <lastmod>2026-10-12</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/documenting-datasets/lessons/the-data-dictionary</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/fairness-in-practice/lessons/measuring-disparity</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/transparency-and-explanation/lessons/who-needs-what</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/governance-for-ai-systems/lessons/the-inventory</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/what-general-intelligence-would-mean/lessons/five-definitions</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/scaling-capability-and-limits/lessons/what-scaling-laws-say</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/alignment-and-control/lessons/three-problems-not-one</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/how-machine-learning-learns/lessons/loss</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/embeddings-and-vector-space/lessons/what-an-embedding-is</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/how-transformers-work/lessons/tokens</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/the-vocabulary-precisely/lessons/the-core-terms</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/making-a-technology-choice/lessons/requirements-before-options</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/build-or-buy/lessons/the-real-cost-of-building</loc>
  <lastmod>2026-10-12</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/what-generative-models-are-good-at/lessons/the-reliable-strengths</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/shipping-a-generative-feature/lessons/scope-it-narrowly</loc>
  <lastmod>2026-10-09</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/choosing-the-right-problem/lessons/the-screening-criteria</loc>
  <lastmod>2026-10-12</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/integrating-a-model-into-a-real-process/lessons/four-integration-patterns</loc>
  <lastmod>2026-10-12</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/claude-code-in-a-real-repository/lessons/scoping-a-task</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/chatgpt-and-the-openai-api/lessons/the-assistant-used-properly</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/google-gemini-and-workspace/lessons/long-context-and-multimodal-input</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/grok-and-real-time-assistants/lessons/what-real-time-access-adds</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/github-copilot-in-the-editor/lessons/completion-chat-and-when-to-use-which</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/github-for-teams/lessons/pull-requests-people-can-review</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/hugging-face-models-datasets-and-spaces/lessons/judging-what-you-find</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/choosing-and-switching-between-assistants/lessons/an-evaluation-of-your-own</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/working-with-claude/lessons/the-ways-to-use-claude</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/privacy-in-machine-learning/lessons/four-questions-before-you-train</loc>
  <lastmod>2026-10-15</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/what-the-frontier-models-can-do-now/lessons/reading-a-capability-announcement</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/llama-and-open-weight-models/lessons/what-open-weights-actually-buy-you</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/finding-your-first-ten-clients/lessons/a-list-not-an-audience</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/productising-a-service/lessons/finding-the-repeatable-engagement</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/pilots-that-turn-into-contracts/lessons/a-pilot-is-a-decision-not-a-demo</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/selling-ai-to-enterprise/lessons/who-is-actually-buying</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/selling-ai-to-small-businesses/lessons/what-a-small-business-will-actually-buy</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/winning-public-sector-work/lessons/where-the-work-is-published</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/launching-an-ai-micro-saas/lessons/narrow-enough-to-win</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/margin-and-unit-cost-in-ai-products/lessons/what-one-customer-actually-costs</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/teaching-ai-courses-cohorts-and-workshops/lessons/three-models-three-economics</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/writing-newsletters-and-sponsorship/lessons/a-subject-not-a-topic</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/selling-through-marketplaces-and-app-stores/lessons/which-marketplaces-are-worth-it</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/winning-work-on-freelance-platforms/lessons/the-profile-and-the-first-reviews</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/low-ticket-digital-products/lessons/the-arithmetic-first</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/running-an-ai-automation-agency/lessons/the-offer</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/fractional-and-advisory-roles/lessons/three-different-things</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/partnerships-referrals-and-white-label/lessons/who-already-has-your-clients</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/negotiating-rates-and-terms/lessons/what-the-objection-actually-means</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/structure-tax-and-cashflow/lessons/how-to-be-set-up</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/keeping-clients-renewals-upsells-and-churn/lessons/the-first-month-decides-it</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/scaling-past-yourself/lessons/whether-to-at-all</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/stripe/lessons/how-a-payment-actually-works</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/paypal/lessons/what-paypal-is-good-at</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/braintree/lessons/where-braintree-fits</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/adyen/lessons/interchange-plus-and-when-it-wins</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/checkoutcom/lessons/the-authorisation-rate</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/square/lessons/why-anyone-chooses-square</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/mollie/lessons/the-methods-europeans-actually-use</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/razorpay/lessons/upi-and-why-india-is-different</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/paddle-and-the-merchant-of-record-model/lessons/what-a-merchant-of-record-does</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/gocardless-and-bank-debit/lessons/mandates-not-cards</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/databricks/lessons/lakehouse-delta-and-what-it-fixes</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/snowflake/lessons/separated-storage-and-compute</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/dbt/lessons/models-refs-and-the-graph</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/apache-airflow/lessons/dags-tasks-and-idempotency</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/dagster-and-prefect/lessons/assets-not-tasks</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/fivetran-airbyte-and-dlt/lessons/buy-run-or-write</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/apache-kafka/lessons/the-log-and-what-it-gives-you</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/duckdb/lessons/a-database-with-no-server</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/n8n/lessons/nodes-triggers-and-the-appeal</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
 <url>
  <loc>https://blog.glitchdata.com/courses/workato/lessons/what-an-enterprise-ipaas-buys</loc>
  <lastmod>2026-10-20</lastmod>
 </url>
</urlset>
