<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>https://hectorgarrido.cl</loc>
</url>
<url>
<loc>https://hectorgarrido.cl/projects</loc>
</url>
<url>
<loc>https://hectorgarrido.cl/blog</loc>
</url>
<url>
<loc>https://hectorgarrido.cl/cv</loc>
</url>
<url>
<loc>https://hectorgarrido.cl/contact</loc>
</url>
<url>
<loc>https://hectorgarrido.cl/ai-search</loc>
</url>
<url>
<loc>https://hectorgarrido.cl/youtube</loc>
</url>
<url>
<loc>https://hectorgarrido.cl/post/panel-de-demanda-cuatro-senales-un-ranking</loc>
<lastmod>2026-03-07T06:50:40.095746Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/de-matches-a-oportunidades-costos-margenes-y-precio-real</loc>
<lastmod>2026-03-07T06:50:29.961342Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/el-rediseno-del-pipeline-ids-estables-bm25-y-entity-resolution</loc>
<lastmod>2026-03-07T06:50:20.945608Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/el-dashboard-de-investigacion-4-paneles-y-un-boton</loc>
<lastmod>2026-03-01T22:45:56.724392Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/radar-academico-etl-sobre-una-api-publica-de-papers</loc>
<lastmod>2026-03-01T22:45:48.381764Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/senales-cruzadas-validacion-con-busquedas-reales-y-matching-de-proveedores</loc>
<lastmod>2026-03-01T22:45:30.149224Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/del-pipeline-al-dashboard-django-react-y-una-segunda-base-de-datos</loc>
<lastmod>2026-03-01T22:45:22.665310Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/de-la-api-al-warehouse-construyendo-un-pipeline-de-datos-en-r</loc>
<lastmod>2026-03-01T22:45:15.376242Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/el-frontend-la-infraestructura-y-los-bugs-del-ultimo-kilometro</loc>
<lastmod>2026-02-28T07:04:24.306143Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/el-backend-nueve-modelos-un-etl-idempotente-y-cinco-endpoints</loc>
<lastmod>2026-02-28T07:03:00.946183Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/antes-de-escribir-codigo-el-diseno-del-datamart-de-youtube</loc>
<lastmod>2026-02-28T07:01:18.753203Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/como-rescate-el-chatbot-reverts-streaming-sse-y-conversaciones-multi-turno</loc>
<lastmod>2026-02-28T04:03:21.158950Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/busqueda-hibrida-en-rag-bm25-hyde-query-expansion-y-rank-fusion</loc>
<lastmod>2026-02-27T15:39:23.677546Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/seo-para-llms-llmstxt-y-atom-feed-en-un-portafolio-react-django</loc>
<lastmod>2026-02-27T15:32:50.207948Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/pipeline-multi-ambiente-staging-antes-de-produccion</loc>
<lastmod>2026-02-27T05:42:52.493441Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/sync_dev_posts-creacion-automatica-de-posts-y-metadata-con-gemini</loc>
<lastmod>2026-02-27T15:32:49.692525Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/de-github-copilot-a-claude-code-automatizando-la-documentacion-del-proyecto</loc>
<lastmod>2026-02-27T04:18:20.123459Z</lastmod>
</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-27T04:18:19.793497Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/cinco-bugs-en-cadena-una-noche-arreglando-el-admin-de-django-en-produccion</loc>
<lastmod>2026-02-27T04:18:19.484210Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/analytics-de-comportamiento-entendiendo-como-navegan-los-usuarios-mi-portafolio</loc>
<lastmod>2026-02-27T04:18:19.162395Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/por-que-implemente-tests-automaticos-en-mi-portafolio-django-react</loc>
<lastmod>2026-02-27T04:18:18.846779Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/conectar-un-formulario-de-contacto-con-gmail-en-django-react</loc>
<lastmod>2026-02-27T04:18:18.529521Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/dominio-propio-en-cloud-run-hectorgarridocl-paso-a-paso</loc>
<lastmod>2026-02-27T04:18:18.214018Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/de-blog-personal-a-portafolio-profesional-por-que-y-como</loc>
<lastmod>2026-02-27T04:18:17.896279Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/datatable-el-motor-oculto-detras-de-un-pipeline-etl-rapido</loc>
<lastmod>2026-02-25T09:23:03.543364Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/random-forest-raking-como-estimar-datos-faltantes-respetando-totales-conocidos</loc>
<lastmod>2026-02-25T09:22:37.877670Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/como-desplegar-una-app-shiny-en-la-nube-con-neon-y-cloud-run</loc>
<lastmod>2026-02-25T09:21:50.417062Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/que-es-un-esquema-de-estrella-modelado-dimensional-para-datamarts-analiticos</loc>
<lastmod>2026-02-25T09:21:16.081669Z</lastmod>
</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-25T09:20:46.532640Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/analitica-derivada-y-validacion-del-pipeline-mas-alla-de-los-coeficientes</loc>
<lastmod>2026-02-25T09:29:23.477166Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/estimacion-tvecm-y-funciones-de-impulso-respuesta-generalizada</loc>
<lastmod>2026-02-25T09:28:50.113278Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/dockerizacion-y-cloud-del-localhost-al-mundo</loc>
<lastmod>2026-02-25T09:28:15.727210Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/segmentacion-dinamica-por-que-no-se-puede-imputar-a-ciegas</loc>
<lastmod>2026-02-25T09:27:42.524307Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/matching-semantico-conectando-mercados-con-sentence-bert</loc>
<lastmod>2026-02-25T09:27:10.145004Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/etl-desde-odepa-domesticando-la-api-ckan</loc>
<lastmod>2026-02-25T09:26:40.086068Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/del-caos-de-scripts-al-pipeline-refactorizando-7-anos-de-codigo</loc>
<lastmod>2026-02-25T09:26:09.281239Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/de-una-tesis-a-un-pipeline-la-genesis-de-asymmetryanalysis</loc>
<lastmod>2026-02-25T09:25:42.057278Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/debugging-react-snap-en-cicd-cuando-puppeteer-se-niega-a-terminar</loc>
<lastmod>2026-02-27T04:18:17.577587Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/optimizacion-de-rendimiento-frontend-code-splitting-pre-renderizado-y-cache-docker</loc>
<lastmod>2026-02-27T04:18:17.250151Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/mejoras-al-motor-rag-restriccion-de-contenido-resiliencia-y-latex</loc>
<lastmod>2026-02-27T04:18:16.927817Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/migracion-de-cloud-sql-a-neon-como-ahorre-115ano-en-20-minutos</loc>
<lastmod>2026-02-27T04:18:16.613510Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/vertex-ai-exclusivo-resiliencia-y-la-ultima-milla-paginacion</loc>
<lastmod>2026-02-27T04:18:15.971517Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/cache-semantico-signals-y-las-mil-batallas-de-las-imagenes-en-gcs</loc>
<lastmod>2026-02-27T04:18:15.647754Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/despliegue-full-stack-serverless-en-google-cloud-platform</loc>
<lastmod>2026-02-27T04:18:15.182993Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/desplegar-en-google-cloud-cronica-de-4-pull-requests-y-muchos-errores</loc>
<lastmod>2026-02-27T04:18:14.830065Z</lastmod>
</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-27T04:18:14.519932Z</lastmod>
</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-27T04:18:16.293958Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/como-se-mide-el-ahorro-en-compras-publicas-metodologia-y-resultados-2023-2025</loc>
<lastmod>2026-02-15T06:32:46.869490Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/sobre-el-autor</loc>
<lastmod>2026-02-15T06:17:03.032699Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/como-construi-mi-blog-personal-con-django-y-react-desde-cero</loc>
<lastmod>2026-02-27T04:18:14.036693Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/por-que-fallan-las-encuestas-politicas-en-chile</loc>
<lastmod>2026-02-25T09:30:03.267250Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/post/de-wittgenstein-a-la-inteligencia-artificial</loc>
<lastmod>2026-02-25T09:30:26.067461Z</lastmod>
</url>
<url>
<loc>https://hectorgarrido.cl/series/ecommerce-analytics</loc>
</url>
<url>
<loc>https://hectorgarrido.cl/series/arxiv-analytics</loc>
</url>
<url>
<loc>https://hectorgarrido.cl/series/rag-blog</loc>
</url>
<url>
<loc>https://hectorgarrido.cl/series/asymmetry-thesis</loc>
</url>
<url>
<loc>https://hectorgarrido.cl/series/data-warehouse</loc>
</url>
<url>
<loc>https://hectorgarrido.cl/series/youtube-analytics</loc>
</url>
<url>
<loc>https://hectorgarrido.cl/series/opinion</loc>
</url>
</urlset>
