<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
  <url>
    <loc>https://hectorgarrido.cl/</loc>
    <changefreq>weekly</changefreq>
    <priority>1.0</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/blog</loc>
    <changefreq>daily</changefreq>
    <priority>0.9</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/projects</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/cv</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/contact</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/ai-search</loc>
    <changefreq>monthly</changefreq>
    <priority>0.7</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/el-frontend-la-infraestructura-y-los-bugs-del-ultimo-kilometro</loc>
    <lastmod>2026-02-28</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/el-backend-nueve-modelos-un-etl-idempotente-y-cinco-endpoints</loc>
    <lastmod>2026-02-28</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/antes-de-escribir-codigo-el-diseno-del-datamart-de-youtube</loc>
    <lastmod>2026-02-28</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/como-rescate-el-chatbot-reverts-streaming-sse-y-conversaciones-multi-turno</loc>
    <lastmod>2026-02-28</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/busqueda-hibrida-en-rag-bm25-hyde-query-expansion-y-rank-fusion</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/seo-para-llms-llmstxt-y-atom-feed-en-un-portafolio-react-django</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/sync_dev_posts-creacion-automatica-de-posts-y-metadata-con-gemini</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/pipeline-multi-ambiente-staging-antes-de-produccion</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/de-github-copilot-a-claude-code-automatizando-la-documentacion-del-proyecto</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/bugs-de-produccion-cold-start-el-cuerpo-vacio-del-spa-y-la-configuracion-de-nginx</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/cinco-bugs-en-cadena-una-noche-arreglando-el-admin-de-django-en-produccion</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/analytics-de-comportamiento-entendiendo-como-navegan-los-usuarios-mi-portafolio</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/por-que-implemente-tests-automaticos-en-mi-portafolio-django-react</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/conectar-un-formulario-de-contacto-con-gmail-en-django-react</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/dominio-propio-en-cloud-run-hectorgarridocl-paso-a-paso</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/de-blog-personal-a-portafolio-profesional-por-que-y-como</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/datatable-el-motor-oculto-detras-de-un-pipeline-etl-rapido</loc>
    <lastmod>2026-02-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/random-forest-raking-como-estimar-datos-faltantes-respetando-totales-conocidos</loc>
    <lastmod>2026-02-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/como-desplegar-una-app-shiny-en-la-nube-con-neon-y-cloud-run</loc>
    <lastmod>2026-02-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/que-es-un-esquema-de-estrella-modelado-dimensional-para-datamarts-analiticos</loc>
    <lastmod>2026-02-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/como-construir-un-paquete-en-r-con-clases-r6-y-por-que-lo-volveria-a-hacer</loc>
    <lastmod>2026-02-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/analitica-derivada-y-validacion-del-pipeline-mas-alla-de-los-coeficientes</loc>
    <lastmod>2026-02-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/estimacion-tvecm-y-funciones-de-impulso-respuesta-generalizada</loc>
    <lastmod>2026-02-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/dockerizacion-y-cloud-del-localhost-al-mundo</loc>
    <lastmod>2026-02-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/segmentacion-dinamica-por-que-no-se-puede-imputar-a-ciegas</loc>
    <lastmod>2026-02-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/matching-semantico-conectando-mercados-con-sentence-bert</loc>
    <lastmod>2026-02-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/etl-desde-odepa-domesticando-la-api-ckan</loc>
    <lastmod>2026-02-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/del-caos-de-scripts-al-pipeline-refactorizando-7-anos-de-codigo</loc>
    <lastmod>2026-02-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/de-una-tesis-a-un-pipeline-la-genesis-de-asymmetryanalysis</loc>
    <lastmod>2026-02-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/debugging-react-snap-en-cicd-cuando-puppeteer-se-niega-a-terminar</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/optimizacion-de-rendimiento-frontend-code-splitting-pre-renderizado-y-cache-docker</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/mejoras-al-motor-rag-restriccion-de-contenido-resiliencia-y-latex</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/migracion-de-cloud-sql-a-neon-como-ahorre-115ano-en-20-minutos</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/vertex-ai-exclusivo-resiliencia-y-la-ultima-milla-paginacion</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/cache-semantico-signals-y-las-mil-batallas-de-las-imagenes-en-gcs</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/despliegue-full-stack-serverless-en-google-cloud-platform</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/desplegar-en-google-cloud-cronica-de-4-pull-requests-y-muchos-errores</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/de-busqueda-por-keywords-a-rag-como-le-ensene-a-mi-blog-a-entender-preguntas</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/la-verdad-incomoda-de-cloud-sql-por-que-tu-base-de-datos-vacia-cuesta-mas-que-todo-tu-stack</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/como-se-mide-el-ahorro-en-compras-publicas-metodologia-y-resultados-2023-2025</loc>
    <lastmod>2026-02-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/sobre-el-autor</loc>
    <lastmod>2026-02-15</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/como-construi-mi-blog-personal-con-django-y-react-desde-cero</loc>
    <lastmod>2026-02-27</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/por-que-fallan-las-encuestas-politicas-en-chile</loc>
    <lastmod>2026-02-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
  <url>
    <loc>https://hectorgarrido.cl/post/de-wittgenstein-a-la-inteligencia-artificial</loc>
    <lastmod>2026-02-25</lastmod>
    <changefreq>monthly</changefreq>
    <priority>0.8</priority>
  </url>
</urlset>
