<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>Carlos Souza</title><link>https://csouza.me/</link><description>Recent content on Carlos Souza</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 01 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://csouza.me/index.xml" rel="self" type="application/rss+xml"/><item><title>Zippato</title><link/><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid/><description>A web app for freelancers and consultants to create, send and manage invoices.</description></item><item><title>Find My Tris</title><link/><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid/><description>Find your perfect IRONMAN triathlon. Search and filter IRONMAN, IRONMAN 70.3 and 5150 events worldwide by distance, location, weather and course type.</description></item><item><title>Nidra</title><link/><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid/><description>An iOS app for guided yoga nidra, NSDR and body scan, for deep rest and sleep.</description></item><item><title>Xogmios</title><link/><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid/><description>An open source Elixir client for the Cardano blockchain: query, stream blocks and submit transactions through Ogmios.</description></item><item><title>JNGL - Cardano Stake Pool</title><link/><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid/><description>The JUNGLE stake pool (ticker JNGL) on the Cardano blockchain. I operated it for almost 4 years, from August 2022 until its planned retirement in April 2026. Two-time recipient of a Cardano Foundation delegation in recognition of contributions to the ecosystem.</description></item><item><title>Work With Cardano</title><link/><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid/><description>A YouTube channel that teaches the skills required to work with the Cardano blockchain.</description></item><item><title>About</title><link>https://csouza.me/about/</link><pubDate>Fri, 01 May 2026 00:00:00 +0000</pubDate><guid>https://csouza.me/about/</guid><description>&lt;p&gt;Hi, I&amp;rsquo;m Carlos. I&amp;rsquo;m a technologist and I have been writing software professionally for over 20 years.&lt;/p&gt;
&lt;h2 id="what-i-do"&gt;What I do&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Consulting.&lt;/strong&gt; I build software for clients.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Products.&lt;/strong&gt; I build small, focused apps such as &lt;a href="https://zippato.com/"&gt;Zippato&lt;/a&gt;, &lt;a href="https://findmytris.com/"&gt;FindMyTris&lt;/a&gt; and &lt;a href="https://apps.apple.com/us/app/nidra-yoga-nidra-deep-rest/id6758237848"&gt;Nidra iOS&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Teaching.&lt;/strong&gt; I&amp;rsquo;m a published &lt;a href="https://app.pluralsight.com/profile/author/carlos-souza"&gt;Pluralsight author&lt;/a&gt; with over 50 courses. I also give &lt;a href="https://csouza.me/talks/"&gt;talks&lt;/a&gt; at conferences and meetups.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;When I&amp;rsquo;m away from the keyboard I&amp;rsquo;m probably making coffee.&lt;/p&gt;
&lt;h2 id="get-in-touch"&gt;Get in touch&lt;/h2&gt;
&lt;p&gt;Hit me up if you&amp;rsquo;d like to chat: &lt;strong&gt;carlos(AT)csouza.me&lt;/strong&gt;. You can also find me on &lt;a href="https://github.com/caike"&gt;GitHub&lt;/a&gt; and &lt;a href="https://www.linkedin.com/in/caike/"&gt;LinkedIn&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>The Rising Cost of Being an AI-Powered Developer</title><link>https://csouza.me/posts/the-rising-cost-of-being-an-ai-powered-developer/</link><pubDate>Fri, 27 Feb 2026 00:00:00 +0000</pubDate><guid>https://csouza.me/posts/the-rising-cost-of-being-an-ai-powered-developer/</guid><description>&lt;p&gt;There&amp;rsquo;s a strange irony sitting at the center of modern software development. Personally, since &lt;a href="https://www.youtube.com/watch?v=Gzj723LkRJY"&gt;Ruby on Rails&lt;/a&gt; came out, this is the moment in my career where I&amp;rsquo;ve felt the most productive and had the most fun. At the same time, &lt;strong&gt;I&amp;rsquo;ve never paid more for the privilege.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I&amp;rsquo;ve been writing software professionally for almost 20 years. When I got started, the barrier to entry was remarkably low. My first tech stack was &lt;a href="https://en.wikipedia.org/wiki/LAMP_%28software_bundle%29"&gt;LAMP&lt;/a&gt;. To write PHP + MySQL you could get away with a fairly inexpensive computer, a text editor, and an internet connection. Everything else (the language, the framework, the database, the deployment tools) was both &lt;a href="https://en.wikipedia.org/wiki/Gratis_versus_libre"&gt;libre and gratis&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Prompts, Rules, Tools, MCP e Skills: Decifrando a Sopa de Letrinhas dos Coding Agents</title><link>https://csouza.me/posts/prompts-rules-tools-mcp-e-skills/</link><pubDate>Mon, 02 Feb 2026 00:00:00 +0000</pubDate><guid>https://csouza.me/posts/prompts-rules-tools-mcp-e-skills/</guid><description>&lt;p&gt;Se você está acompanhando a evolução dos agentes de código com IA, provavelmente já se deparou com uma sopa de letrinhas e conceitos que parecem ter sido inventados na semana passada: Prompts, Rules, Tools, MCP, Skills…&lt;/p&gt;
&lt;p&gt;A boa notícia é que esses conceitos não são tão complicados quanto parecem. A má notícia? Quase ninguém explica direito a diferença entre eles. Então nesse post eu vou te ajudar com isso.&lt;/p&gt;
&lt;h2 id="começando-pelo-básico-prompts"&gt;Começando pelo Básico: Prompts&lt;/h2&gt;
&lt;p&gt;Prompts são as instruções em linguagem natural que você dá para o agente. É literalmente &lt;em&gt;o que&lt;/em&gt; você quer que ele faça.&lt;/p&gt;</description></item><item><title>Handling Gaps in Time-Series Data with PostgreSQL's generate_series() and Ecto</title><link>https://csouza.me/posts/handling-gaps-in-time-series-data-with-postgres-and-ecto/</link><pubDate>Mon, 26 Jan 2026 00:00:00 +0000</pubDate><guid>https://csouza.me/posts/handling-gaps-in-time-series-data-with-postgres-and-ecto/</guid><description>&lt;h2 id="introduction"&gt;Introduction&lt;/h2&gt;
&lt;p&gt;Consider a monitoring system for a weather station. A sensor in the field collects temperature readings every hour and reports them back to the system, but occasionally goes offline due to power outages or maintenance. When generating daily reports, the data shows gaps.&lt;/p&gt;
&lt;p&gt;Querying the readings table for a particular day returns only the hours when the sensor was operational. Asking users to figure out which hours are missing feels like poor UX.&lt;/p&gt;</description></item></channel></rss>