<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Carlos on Dev</title><link>https://main--caugustoondev.netlify.app/es/</link><description>Carlos Augusto sobre IA, sistemas empresariales, seguridad y construir cosas.</description><generator>Hugo</generator><language>es-ES</language><lastBuildDate>Fri, 30 Oct 2026 18:00:00 -0400</lastBuildDate><atom:link href="https://main--caugustoondev.netlify.app/es/index.xml" rel="self" type="application/rss+xml"/><item><title>Mi nueva web: cómo la hice</title><link>https://main--caugustoondev.netlify.app/es/2026/10/30/mi-nueva-web-como-la-hice/</link><pubDate>Fri, 30 Oct 2026 18:00:00 -0400</pubDate><guid>https://main--caugustoondev.netlify.app/es/2026/10/30/mi-nueva-web-como-la-hice/</guid><category>blog</category><category>desarrollo-de-software</category><description>Hugo + Hextra en Netlify, tres idiomas y todas las herramientas y tareas gestionadas con mise — basada en el blog de Fabio Akita, con Python en lugar de Ruby.
&lt;p&gt;Esta web está hecha igual que el &lt;a href="https://akitaonrails.com/2025/09/10/meu-novo-blog-como-eu-fiz/"target="_blank" rel="noopener"&gt;blog de Fabio Akita&lt;/a&gt; (&lt;a href="https://github.com/akitaonrails/akitaonrails.github.io"target="_blank" rel="noopener"&gt;código&lt;/a&gt;), con dos cambios: los scripts de apoyo están en &lt;strong&gt;Python&lt;/strong&gt; en lugar de Ruby, y &lt;strong&gt;&lt;a href="https://mise.jdx.dev"target="_blank" rel="noopener"&gt;mise&lt;/a&gt;&lt;/strong&gt; lo controla todo: versiones de las herramientas, el entorno de Python y todas las tareas.&lt;/p&gt;
&lt;h2&gt;El stack&lt;span class="hx:absolute hx:-mt-20" id="el-stack"&gt;&lt;/span&gt;
&lt;a href="#el-stack" class="subheading-anchor" aria-label="Enlace permanente a esta sección"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://gohugo.io"target="_blank" rel="noopener"&gt;Hugo&lt;/a&gt;&lt;/strong&gt; convierte Markdown en HTML estático. Sin base de datos ni servidor.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://imfing.github.io/hextra/"target="_blank" rel="noopener"&gt;Hextra&lt;/a&gt;&lt;/strong&gt; es el tema: modo oscuro, búsqueda (&lt;code&gt;Ctrl K&lt;/code&gt;), etiquetas, RSS y resaltado de código.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;&lt;a href="https://www.netlify.com"target="_blank" rel="noopener"&gt;Netlify&lt;/a&gt;&lt;/strong&gt; compila y publica con cada push a &lt;code&gt;main&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;mise&lt;/strong&gt; fija las versiones de Hugo, Go y Python, así que mi portátil, GitHub Actions y Netlify usan exactamente las mismas.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Tres idiomas&lt;span class="hx:absolute hx:-mt-20" id="tres-idiomas"&gt;&lt;/span&gt;
&lt;a href="#tres-idiomas" class="subheading-anchor" aria-label="Enlace permanente a esta sección"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Cada entrada es una carpeta con un fichero por idioma:&lt;/p&gt;
&lt;div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code"&gt;
&lt;div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-text" data-lang="text"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;content/2026/10/30/new-website-how-i-built-it/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── index.en.md → /en/2026/10/30/my-new-website-how-i-built-it/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;├── index.es.md → /es/2026/10/30/mi-nueva-web-como-la-hice/
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;└── index.pt-br.md → /pt-br/2026/10/30/meu-novo-site-como-eu-fiz/&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0"&gt;
&lt;button
class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
title="Copiar código"
aria-label="Copiar código"
data-copied-label="¡Copiado!"
&gt;
&lt;div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4"&gt;&lt;/div&gt;
&lt;div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4"&gt;&lt;/div&gt;
&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;Hugo enlaza las traducciones, así que el selector de idioma te lleva a la misma entrada.&lt;/p&gt;
&lt;h2&gt;El flujo de trabajo&lt;span class="hx:absolute hx:-mt-20" id="el-flujo-de-trabajo"&gt;&lt;/span&gt;
&lt;a href="#el-flujo-de-trabajo" class="subheading-anchor" aria-label="Enlace permanente a esta sección"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div class="hextra-code-block hx:relative hx:mt-6 hx:first:mt-0 hx:group/code"&gt;
&lt;div&gt;&lt;div class="highlight"&gt;&lt;pre tabindex="0" class="chroma"&gt;&lt;code class="language-bash" data-lang="bash"&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mise install &lt;span class="c1"&gt;# Hugo, Go, Python&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mise run setup &lt;span class="c1"&gt;# dependencias de Python&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mise run new &lt;span class="s2"&gt;&amp;#34;Título&amp;#34;&lt;/span&gt; &lt;span class="c1"&gt;# crea los 3 ficheros como borradores&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mise run tags:search &lt;span class="s2"&gt;&amp;#34;ia&amp;#34;&lt;/span&gt; &lt;span class="c1"&gt;# reutilizar etiquetas existentes&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mise run dev &lt;span class="c1"&gt;# http://localhost:1313/es/&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;mise run check &lt;span class="c1"&gt;# lo mismo que la CI: etiquetas, índices, tests, build&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="line"&gt;&lt;span class="cl"&gt;git push &lt;span class="c1"&gt;# Netlify publica&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="hextra-code-copy-btn-container hx:opacity-0 hx:transition hx:group-hover/code:opacity-100 hx:flex hx:gap-1 hx:absolute hx:m-[11px] hx:right-0 hx:top-0"&gt;
&lt;button
class="hextra-code-copy-btn hx:group/copybtn hx:cursor-pointer hx:transition-all hx:active:opacity-50 hx:bg-primary-700/5 hx:border hx:border-black/5 hx:text-gray-600 hx:hover:text-gray-900 hx:rounded-md hx:p-1.5 hx:dark:bg-primary-300/10 hx:dark:border-white/10 hx:dark:text-gray-400 hx:dark:hover:text-gray-50"
title="Copiar código"
aria-label="Copiar código"
data-copied-label="¡Copiado!"
&gt;
&lt;div class="hextra-copy-icon hx:group-[.copied]/copybtn:hidden hx:pointer-events-none hx:h-4 hx:w-4"&gt;&lt;/div&gt;
&lt;div class="hextra-success-icon hx:hidden hx:group-[.copied]/copybtn:block hx:pointer-events-none hx:h-4 hx:w-4"&gt;&lt;/div&gt;
&lt;/button&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;p&gt;La portada y el archivo los genera &lt;code&gt;scripts/generate_index.py&lt;/code&gt; (el &lt;code&gt;generate_index.rb&lt;/code&gt; de Akita, portado), y &lt;code&gt;scripts/tag_catalog.py&lt;/code&gt; mantiene las etiquetas coherentes en los tres idiomas.&lt;/p&gt;</description></item><item><title>¡Hola, mundo!</title><link>https://main--caugustoondev.netlify.app/es/2026/10/30/hola-mundo/</link><pubDate>Fri, 30 Oct 2026 10:00:00 -0400</pubDate><guid>https://main--caugustoondev.netlify.app/es/2026/10/30/hola-mundo/</guid><category>personal</category><category>blog</category><description>Primera entrada: quién soy, por qué he hecho esta web y de qué voy a escribir aquí.
&lt;p&gt;¡Hola, mundo! 👋&lt;/p&gt;
&lt;p&gt;Todo desarrollador escribe esta línea en su primer programa. Así que este es mi primer programa para esta web.&lt;/p&gt;
&lt;p&gt;Soy Carlos Augusto. Vivo en Michigan y dirijo ciberseguridad, infraestructura cloud, operaciones e IA en la Global Technology Office de Stefanini, ayudando a las empresas a sacar la IA de las presentaciones y llevarla a la operación real. Antes pasé más de diez años en São Paulo construyendo sistemas de pagos, liderando equipos y siendo la última persona a la que llamar cuando algo se rompía en producción. Incluso a las 3 de la mañana.&lt;/p&gt;
&lt;p&gt;¿Por qué una web ahora? Porque quería un sitio que fuera mío. LinkedIn está bien para una publicación rápida, pero algunas ideas necesitan más espacio, y quiero tener todo lo que escribo en un solo lugar.&lt;/p&gt;
&lt;p&gt;Lo que vas a encontrar aquí:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;IA en el mundo real.&lt;/strong&gt; Lo que funciona en las empresas y lo que no, con SAP, automatización y datos.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Construir productos y equipos.&lt;/strong&gt; Desde el problema hasta tenerlo funcionando en producción.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Carrera y mentoría.&lt;/strong&gt; Lo que he aprendido, y lo que me hubiera gustado que alguien me dijera antes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Y algo fuera de tema.&lt;/strong&gt; Jiu-Jitsu, videojuegos, inversiones y alguna idea loca. ¿Por qué no? 😂&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Escribo en inglés, español y portugués. Elige tu idioma en el menú. Si alguna traducción suena rara, dímelo.&lt;/p&gt;
&lt;p&gt;Mi consejo es el de siempre: aprende IA, busca buenos socios y ve a por ello. Y si quieres hablar de cualquiera de estos temas, escríbeme. Aquí estoy 🙃&lt;/p&gt;
&lt;p&gt;¡Bienvenidos!&lt;/p&gt;</description></item></channel></rss>