<?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/pt-br/</link><description>Carlos Augusto sobre IA, sistemas corporativos, segurança e construir coisas.</description><generator>Hugo</generator><language>pt-BR</language><lastBuildDate>Fri, 30 Oct 2026 18:00:00 -0400</lastBuildDate><atom:link href="https://main--caugustoondev.netlify.app/pt-br/index.xml" rel="self" type="application/rss+xml"/><item><title>Meu novo site — como eu fiz</title><link>https://main--caugustoondev.netlify.app/pt-br/2026/10/30/meu-novo-site-como-eu-fiz/</link><pubDate>Fri, 30 Oct 2026 18:00:00 -0400</pubDate><guid>https://main--caugustoondev.netlify.app/pt-br/2026/10/30/meu-novo-site-como-eu-fiz/</guid><category>blog</category><category>desenvolvimento-de-software</category><description>Hugo + Hextra na Netlify, três idiomas e todas as ferramentas e tarefas controladas pelo mise — baseado no blog do Fabio Akita, com Python no lugar de Ruby.
&lt;p&gt;Este site é feito do mesmo jeito que o &lt;a href="https://akitaonrails.com/2025/09/10/meu-novo-blog-como-eu-fiz/"target="_blank" rel="noopener"&gt;blog do 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;), com duas mudanças: os scripts de apoio são em &lt;strong&gt;Python&lt;/strong&gt; em vez de Ruby, e o &lt;strong&gt;&lt;a href="https://mise.jdx.dev"target="_blank" rel="noopener"&gt;mise&lt;/a&gt;&lt;/strong&gt; controla tudo — versões das ferramentas, o ambiente Python e todas as tarefas.&lt;/p&gt;
&lt;h2&gt;A stack&lt;span class="hx:absolute hx:-mt-20" id="a-stack"&gt;&lt;/span&gt;
&lt;a href="#a-stack" class="subheading-anchor" aria-label="Link permanente para esta seção"&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; transforma Markdown em HTML estático. Sem banco de dados, sem 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; é o tema: modo escuro, busca (&lt;code&gt;Ctrl K&lt;/code&gt;), tags, RSS e syntax highlighting.&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; faz o build e publica a cada push na &lt;code&gt;main&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;mise&lt;/strong&gt; fixa as versões de Hugo, Go e Python, então meu notebook, o GitHub Actions e a Netlify rodam exatamente as mesmas.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Três idiomas&lt;span class="hx:absolute hx:-mt-20" id="três-idiomas"&gt;&lt;/span&gt;
&lt;a href="#tr%c3%aas-idiomas" class="subheading-anchor" aria-label="Link permanente para esta seção"&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;Cada post é uma pasta com um arquivo 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;O Hugo liga as traduções, então o seletor de idioma leva para o mesmo post.&lt;/p&gt;
&lt;h2&gt;O fluxo de trabalho&lt;span class="hx:absolute hx:-mt-20" id="o-fluxo-de-trabalho"&gt;&lt;/span&gt;
&lt;a href="#o-fluxo-de-trabalho" class="subheading-anchor" aria-label="Link permanente para esta seção"&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;# dependências 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;# cria os 3 arquivos como rascunho&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;# reaproveitar tags 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/pt-br/&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;# o mesmo que a CI: tags, índices, testes, 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;# a 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;A home e o arquivo são gerados pelo &lt;code&gt;scripts/generate_index.py&lt;/code&gt; (o &lt;code&gt;generate_index.rb&lt;/code&gt; do Akita, portado), e o &lt;code&gt;scripts/tag_catalog.py&lt;/code&gt; mantém as tags consistentes nos três idiomas.&lt;/p&gt;</description></item><item><title>Olá, mundo!</title><link>https://main--caugustoondev.netlify.app/pt-br/2026/10/30/ola-mundo/</link><pubDate>Fri, 30 Oct 2026 10:00:00 -0400</pubDate><guid>https://main--caugustoondev.netlify.app/pt-br/2026/10/30/ola-mundo/</guid><category>pessoal</category><category>blog</category><description>Primeiro post: quem eu sou, por que fiz este site e sobre o que vou escrever aqui.
&lt;p&gt;Olá, mundo! 👋&lt;/p&gt;
&lt;p&gt;Todo desenvolvedor escreve essa linha no primeiro programa. Então este é o meu primeiro programa para este site.&lt;/p&gt;
&lt;p&gt;Eu sou o Carlos Augusto. Moro em Michigan e lidero cibersegurança, infraestrutura cloud, operações e IA no Global Technology Office da Stefanini, ajudando empresas a tirar a IA dos slides e colocar na operação de verdade. Antes disso passei mais de dez anos em São Paulo construindo sistemas de pagamento, liderando times e sendo a última pessoa a ser chamada quando alguma coisa quebrava em produção. Mesmo às 3 da manhã.&lt;/p&gt;
&lt;p&gt;Por que um site agora? Porque eu queria um lugar que fosse meu. O LinkedIn é bom pra um post rápido, mas algumas ideias precisam de mais espaço, e eu quero ter tudo o que escrevo num lugar só.&lt;/p&gt;
&lt;p&gt;O que você vai encontrar aqui:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;IA no mundo real.&lt;/strong&gt; O que funciona nas empresas e o que não funciona, com SAP, automação e dados.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Construir produtos e times.&lt;/strong&gt; Do problema até rodando em produção.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Carreira e mentoria.&lt;/strong&gt; O que eu aprendi, e o que eu queria que alguém tivesse me falado antes.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;E um pouco de off-topic.&lt;/strong&gt; Jiu-Jitsu, games, investimentos e algumas ideias malucas. Por que não? 😂&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Escrevo em inglês, espanhol e português. Escolha seu idioma no menu. Se alguma tradução estiver estranha, me avisa.&lt;/p&gt;
&lt;p&gt;Meu conselho é o mesmo de sempre: aprenda IA, encontre bons parceiros e vai com tudo. E se quiser conversar sobre qualquer um desses assuntos, me chama. Estou aqui 🙃&lt;/p&gt;
&lt;p&gt;Bem-vindos!&lt;/p&gt;</description></item></channel></rss>