<?xml version="1.0" encoding="UTF-8" ?>
    <urlset
      xmlns="https://www.sitemaps.org/schemas/sitemap/0.9"
      xmlns:news="https://www.google.com/schemas/sitemap-news/0.9"
      xmlns:xhtml="https://www.w3.org/1999/xhtml"
      xmlns:mobile="https://www.google.com/schemas/sitemap-mobile/1.0"
      xmlns:image="https://www.google.com/schemas/sitemap-image/1.1"
      xmlns:video="https://www.google.com/schemas/sitemap-video/1.1"
    >
      <url>
        <loc>https://matiashernandez.dev</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
      </url>
      
        <url>
            <loc>https://matiashernandez.dev/about</loc>
            <changefreq>daily</changefreq>
            <priority>0.7</priority>
        </url>
        
        <url>
            <loc>https://matiashernandez.dev/newsletter</loc>
            <changefreq>daily</changefreq>
            <priority>0.7</priority>
        </url>
        
        <url>
            <loc>https://matiashernandez.dev/articles</loc>
            <changefreq>daily</changefreq>
            <priority>0.7</priority>
        </url>
        
        <url>
            <loc>https://matiashernandez.dev/blog</loc>
            <changefreq>daily</changefreq>
            <priority>0.7</priority>
        </url>
        
        <url>
            <loc>https://matiashernandez.dev/uses</loc>
            <changefreq>daily</changefreq>
            <priority>0.7</priority>
        </url>
        
        <url>
            <loc>https://matiashernandez.dev/sponsorships</loc>
            <changefreq>daily</changefreq>
            <priority>0.7</priority>
        </url>
        
        <url>
            <loc>https://matiashernandez.dev/topic/react</loc>
            <changefreq>daily</changefreq>
            <priority>0.7</priority>
        </url>
        
        <url>
            <loc>https://matiashernandez.dev/topic/typescript</loc>
            <changefreq>daily</changefreq>
            <priority>0.7</priority>
        </url>
        
        <url>
            <loc>https://matiashernandez.dev/topic/javascript</loc>
            <changefreq>daily</changefreq>
            <priority>0.7</priority>
        </url>
        
        <url>
            <loc>https://matiashernandez.dev/topic/node</loc>
            <changefreq>daily</changefreq>
            <priority>0.7</priority>
        </url>
        
        <url>
            <loc>https://matiashernandez.dev/topic/css</loc>
            <changefreq>daily</changefreq>
            <priority>0.7</priority>
        </url>
        
        <url>
            <loc>https://matiashernandez.dev/topic/graphql</loc>
            <changefreq>daily</changefreq>
            <priority>0.7</priority>
        </url>
        
      
    <url>
        <loc>https://matiashernandez.dev/blog/post/wtf-are-javascript-generators</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/utiliza-pattern-matching-en-tu-codigo-typescript</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/simplifying-javascript-development-with-ts-pattern-and-pattern-matching</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/eliminar-duplicados-con-array-filter</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/delete-duplicates-with-array-filter</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/construye-un-query-string-con-typescript</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/build-naive-query-string-parser-typescript-recursion</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/typescript-conditional-types-type-inference-and-pattern-matching</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/tipos-condicionales-pattern-matching-typescript</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/maneja-formulario-con-simple-javascript</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/handling-forms-with-vanilla-javascript</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/que-es-promise.allsettled-y-como-usarlo</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/ejecuta-codigo-asincrono-de-forma-concurrente-en-javascript</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/typescript-type-predicates-que-son</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/rendering-patterns</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/patrones-de-renderizado</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/la-forma-moderna-de-copiar-objetos-en-javascript-`structuredclone`</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/deep-cloning-in-javascript-the-modern-way.-use-`structuredclone`</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/typescript-deberias-aprenderlo</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/should-you-learn-typescript-what-parts-should-you-learn</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/how-to-integrate-tailwindcss-with-sveltekit</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/typescript-usar-comentarios-como-anotaciones-de-tipo-con-jsdoc</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/typescript-use-comments-as-type-annotations-with-jsdoc</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/typescript-tipos-condicionales</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/typescript-basic-types</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/cuales-son-los-tipos-basicos-en-typescript</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/typescript-la-palabra-clave-extends</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/typescript-the-extends-keyword</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/javascript-el-operador-nullish-coalescing</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/typescript-el-operador-keyof</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/typescript-the-keyof-operator</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/typescript-create-a-union-from-a-type</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/typescript-how-to-create-a-non-empty-array-type</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/que-es-jsx-por-que-usamos-jsx-en-react-y-como-funciona</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/typescript-definir-un-tipo-de-arreglo-no-vacio</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/como-renombrar-multiples-archivos-usando-node</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/entendiendo-async-y-await-en-javascript</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/typescript-uniones-discriminadas-o-como-crear-argumentos-opcionales-y-dependientes</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/react-manejando-formularios-con-useref---componentes-no-controlados</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/metodo-de-arreglos-array.every-y-array.some</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/como-pluralizar-un-string-basado-en-el-lenguaje-en-javascript</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/consigue-fechas-relativas-en-javascript</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/como-dar-formato-de-moneda-a-un-numero-en-javascript</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/formateando-fechas-en-javascript</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/wtf-que-es-una-promesa-en-javascript</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/git-obtener-un-archivo-desde-otro-branch</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/types-vs-interfaces-cuando-utilizar-cada-una</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/que-es-serverless</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/que-hay-de-nuevo-en-react-18-y-que-significa</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/vscode-tips-como-manejar-multiples-cursores-utilizando-atajos-del-teclado</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/anade-fuentes-de-forma-dinamica-a-tu-web-usando-javascript-y-fontface</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/como-leer-todos-los-archivos-de-un-directorio-con-node</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/como-usar-la-api-de-dev.to-para-escribir-un-post</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/como-ordernar-un-arreglo-de-arreglos-con-javascript</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/has-lazy-loading-de-tus-imagenes-simple-y-rapido</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/que-es-destructuring-en-javascript</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/como-revisar-si-un-string-es-vacio-o-null-en-javascript</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/cuando-usar-map-y-set-en-javascript</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/consigue-tu-primer-trabajo-en-tech</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/que-es-the-graph-protocol</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/git-como-eliminar-un-archivo-de-la-historia</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/como-escribir-funciones-en-typescript</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/5-ways-to-remove-elements-from-array-with-javascript</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/5-formas-de-eliminar-elementos-de-un-arreglo</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/typescript-avanzado</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/que-hay-de-nuevo-en-javascript-2022</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/react-hooks-componentes-avanzados</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/por-que-jamstack-es-tan-cool</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/fijando-expectativas</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/4-habilidades-blandas-esenciales-para-un-desarrollador</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/que-es-linting-y-eslint</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/que-es-un-closure-en-javascript</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/jamstack-que-es-ssg-y-ssr</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/react-native-promesas-y-callbacks-en-modulos-nativos</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/como-crear-animaciones-con-react-native</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/cuando-usar-el-hook-uselayouteffect</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/react-useeffect-por-que-el-arreglo-de-dependencias-es-importante</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/react-useeffect-hook-comparado-con-los-estados-del-ciclo-de-vida</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/agregar-modulos-nativos-a-una-aplicacion-react-native</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/por-que-clojure</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/definir-la-version-de-node-con-nvm</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/comenzando-con-react-native</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/no-necesitas-redux</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/que-es-typescript</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/overview-de-algunos-modernos-lenguajes-de-programacion</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/4-ways-to-delete-duplicate-elements-from-array-with-javascript</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/4-formas-de-eliminar-elementos-duplicados-en-un-arreglo-con-javascript</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/algunos-errores-comunes-al-utilizar-react-hooks</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/que-son-los-hooks</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/measuring-your-react-app-performance</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    <url>
        <loc>https://matiashernandez.dev/blog/post/arreglos-de-objetos-en-javascript-como-crear-y-actualizar-su-contenido</loc>
        <changefreq>daily</changefreq>
        <priority>0.7</priority>
    </url>
    
    </urlset>