<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Leo Cavalcante</title><link>https://leocavalcante.dev/en/</link><description>Recent content on Leo Cavalcante</description><generator>Hugo</generator><language>en</language><copyright>Copyright (c) 2026 Leo Cavalcante</copyright><lastBuildDate>Tue, 16 Jun 2026 10:00:00 -0300</lastBuildDate><atom:link href="https://leocavalcante.dev/en/index.xml" rel="self" type="application/rss+xml"/><item><title>Why Your AI Agent Is a Compulsive "Spender": The Truth About Token Consumption</title><link>https://leocavalcante.dev/en/tokenomics-agentic-por-que-agentes-de-ia-estouram-sua-fatura-de-api/</link><pubDate>Tue, 16 Jun 2026 10:00:00 -0300</pubDate><guid>https://leocavalcante.dev/en/tokenomics-agentic-por-que-agentes-de-ia-estouram-sua-fatura-de-api/</guid><description>&lt;h2 id="introduction-the-api-bill-shock"&gt;Introduction: the API bill shock&lt;/h2&gt;
&lt;p&gt;For any developer who has integrated autonomous agents into real workflows, the initial excitement around &amp;ldquo;zero-touch&amp;rdquo; automation usually lasts until the first API invoice closes. What begins as a trivial coding task can quickly turn into a financial black hole. Real cases, such as the community report about using the Opus 4.6 model through the API, which consumed US$ 100 in only 5 hours, are not anomalies. They are symptoms of an architecture that prioritizes execution at any budgetary cost. The problem is not only that agents are expensive; it is that they are fundamentally unpredictable.&lt;/p&gt;</description></item><item><title>The Agentic Coding Trap: Why the Productivity Promise Is Burning Developers Out</title><link>https://leocavalcante.dev/en/a-armadilha-do-c-digo-ag-ntico-por-que-a-promessa-de-produtividade-est-queimando-os-desenvolvedores/</link><pubDate>Mon, 01 Jun 2026 10:00:00 -0300</pubDate><guid>https://leocavalcante.dev/en/a-armadilha-do-c-digo-ag-ntico-por-que-a-promessa-de-produtividade-est-queimando-os-desenvolvedores/</guid><description>&lt;p&gt;The pace of software development has undergone unprecedented compression. What until recently was simply &amp;ldquo;programming&amp;rdquo; is now called trad coding (traditional coding), a process that required writing line by line, respecting the natural flow of problem-solving and the time the brain needs to process logic. Today, that flow has been run over by the rise of AI agents.&lt;/p&gt;</description></item><item><title>When Context Betrays You: Deriving Contexts for Optional Operations in Go</title><link>https://leocavalcante.dev/en/quando-o-contexto-te-trai-derivando-contextos-para-opera-es-opcionais-em-go/</link><pubDate>Mon, 18 May 2026 10:00:00 -0300</pubDate><guid>https://leocavalcante.dev/en/quando-o-contexto-te-trai-derivando-contextos-para-opera-es-opcionais-em-go/</guid><description>&lt;p&gt;In Go, &lt;code&gt;context.Context&lt;/code&gt; is the standard mechanism for propagating cancellation, &lt;em&gt;deadlines&lt;/em&gt;, and values across Goroutines and function calls. The general rule is simple: always pass the context forward. But this rule has a subtle trap that can cause bugs that are hard to reproduce, especially when you have optional operations with fallback.&lt;/p&gt;</description></item><item><title>Why Does Your AI Fail? The Secret Is Not in the Model, But in the "Agent Harness"</title><link>https://leocavalcante.dev/en/por-que-sua-ia-falha-o-segredo-n-o-est-no-modelo-mas-no-agent-harness/</link><pubDate>Mon, 04 May 2026 10:00:00 -0300</pubDate><guid>https://leocavalcante.dev/en/por-que-sua-ia-falha-o-segredo-n-o-est-no-modelo-mas-no-agent-harness/</guid><description>&lt;p&gt;You have probably experienced this: in one moment, GPT or Claude solves a complex coding problem in seconds; in the next, the same AI forgets basic context or invents nonexistent information. If the &amp;ldquo;brain&amp;rdquo; (the model) is the same, why are the results so inconsistent?&lt;/p&gt;</description></item><item><title>Building Real AI Agents with the Copilot SDK in Go</title><link>https://leocavalcante.dev/en/construindo-agentes-de-ia-de-verdade-com-o-copilot-sdk-em-go/</link><pubDate>Wed, 22 Apr 2026 10:00:00 -0300</pubDate><guid>https://leocavalcante.dev/en/construindo-agentes-de-ia-de-verdade-com-o-copilot-sdk-em-go/</guid><description>&lt;p&gt;If you follow the GitHub Copilot ecosystem, you have probably heard of &lt;code&gt;*.agent.md&lt;/code&gt; files. They are great for simple things, basically a boosted prompt that runs inside Copilot. But when you need a &lt;strong&gt;real&lt;/strong&gt; agent that calls APIs, queries databases, applies permission policies, injects context through RAG, and runs in production as a microservice&amp;hellip; Markdown is not enough.&lt;/p&gt;</description></item><item><title>DORA, SPACE, and the Science of Performance in the Age of Agility and AI</title><link>https://leocavalcante.dev/en/dora-space-e-a-ci-ncia-da-performance-na-era-da-agilidade-e-da-ia/</link><pubDate>Mon, 23 Feb 2026 10:00:00 -0300</pubDate><guid>https://leocavalcante.dev/en/dora-space-e-a-ci-ncia-da-performance-na-era-da-agilidade-e-da-ia/</guid><description>&lt;h2 id="the-paradox-of-modern-speed"&gt;The paradox of modern speed&lt;/h2&gt;
&lt;p&gt;We live in the paradox of technical abundance: in the age of Artificial Intelligence, we generate code in minutes, but organizations have never struggled so much to convert that volume into real value. The fatal mistake of modern leadership is believing that coding speed solves the delivery bottleneck. As David Rogers articulates in his thesis on Digital Transformation, the challenge is not technological, but strategic. We live under Andy Grove&amp;rsquo;s maxim: &amp;ldquo;only the paranoid survive&amp;rdquo;. In the current landscape, productive paranoia must turn toward the science of performance.&lt;/p&gt;</description></item><item><title>The Illusion of Sequence: Why Hierarchy Is the Next Leap in AI Inference</title><link>https://leocavalcante.dev/en/a-ilusao-da-sequencia-porque-a-hierarquia-e-o-proximo-salto-da-inferencia-de-ia/</link><pubDate>Fri, 13 Feb 2026 11:17:05 -0300</pubDate><guid>https://leocavalcante.dev/en/a-ilusao-da-sequencia-porque-a-hierarquia-e-o-proximo-salto-da-inferencia-de-ia/</guid><description>&lt;h2 id="the-scale-paradox"&gt;The scale paradox&lt;/h2&gt;
&lt;p&gt;There is an efficiency gulf between biological architecture and silicon. While a 12-year-old child already masters the complexities of human language, models like GPT-3 require about 2,000 times more data to reach comparable proficiency. This &amp;ldquo;Scale Paradox&amp;rdquo; reveals an uncomfortable truth: we are trying to compensate for the lack of structural logic and efficient inductive bias with the brute force of massive data.&lt;/p&gt;</description></item><item><title>3 Not-So-Intuitive Principles in Developer Experience (DX)</title><link>https://leocavalcante.dev/en/3-principios-nao-tao-intuitivos-na-experiencia-de-desenvolvimento-dx/</link><pubDate>Mon, 05 Jan 2026 09:09:19 -0300</pubDate><guid>https://leocavalcante.dev/en/3-principios-nao-tao-intuitivos-na-experiencia-de-desenvolvimento-dx/</guid><description>&lt;h2 id="the-productivity-paradox"&gt;The productivity paradox&lt;/h2&gt;
&lt;p&gt;Engineering leaders and developers are constantly searching for more productivity. The pressure to deliver faster is relentless, but the paths to achieve that speed are rarely clear. We invest in new tools and processes, often without understanding whether we are actually solving the right bottlenecks or just adding complexity.&lt;/p&gt;</description></item><item><title>Taking AI Engineering to the Next Level with RAG</title><link>https://leocavalcante.dev/en/levando-ai-engineering-para-o-proximo-nivel-com-rag/</link><pubDate>Fri, 28 Nov 2025 15:58:03 -0300</pubDate><guid>https://leocavalcante.dev/en/levando-ai-engineering-para-o-proximo-nivel-com-rag/</guid><description>&lt;p&gt;If you are starting to venture into the world of AI Engineering and want to go beyond the basics, you need to deeply understand what &lt;strong&gt;Retrieval-Augmented Generation (RAG)&lt;/strong&gt; is. This technique is, without a doubt, a turning point for anyone who wants to build AI agents that actually deliver solid results with user- and company-specific data.&lt;/p&gt;</description></item><item><title>Multi-Agent AI Systems: When to Use Them, How to Build Them, and Why So Many Fail</title><link>https://leocavalcante.dev/en/sistemas-multi-agentes-de-ia-quando-usar-como-construir-e-porque-tantos-falham/</link><pubDate>Tue, 04 Nov 2025 09:33:43 -0300</pubDate><guid>https://leocavalcante.dev/en/sistemas-multi-agentes-de-ia-quando-usar-como-construir-e-porque-tantos-falham/</guid><description>&lt;p&gt;You know when you are trying to solve a complex problem with AI and it feels like a single model cannot handle the job? I have been through that several times. It is like when you ask an AI agent to do several things at once and it simply freezes, takes forever, or gives mediocre answers to everything. That is when I dove deep into the world of multi-agent systems, and man, I learned that this area is much more complicated than it looks in theory.&lt;/p&gt;</description></item><item><title>One Year of "Golanged"</title><link>https://leocavalcante.dev/en/um-ano-de-golanged/</link><pubDate>Wed, 24 Sep 2025 09:53:02 -0300</pubDate><guid>https://leocavalcante.dev/en/um-ano-de-golanged/</guid><description>&lt;p&gt;Exactly one year ago, a commit with the message &amp;ldquo;Golanged&amp;rdquo; marked the beginning of a new phase in my career as a developer. It was my first step with the Go language in a professional project, inside a monorepo that I still maintain today. Little did I know that this word, almost a joke, would represent the discovery of a universe of possibilities. Today, I celebrate not only the date, but the decision to embark on this journey.&lt;/p&gt;</description></item><item><title>Prompt Engineering and Variation Across LLMs</title><link>https://leocavalcante.dev/en/a-engenharia-de-prompt-e-a-variacao-entre-llms/</link><pubDate>Fri, 22 Aug 2025 10:37:27 -0300</pubDate><guid>https://leocavalcante.dev/en/a-engenharia-de-prompt-e-a-variacao-entre-llms/</guid><description>&lt;p&gt;In the world of software development, prompt engineering is emerging as a crucial discipline. The ability to extract accurate and useful responses from Large Language Models (LLMs) has become a competitive advantage. However, one fundamental aspect of this new craft is being largely ignored: the engineering of a good prompt can, and will, silently change depending on the model being used. Many treat LLMs as a monolithic entity, expecting a &amp;ldquo;master prompt&amp;rdquo; to work universally, but reality is much more complex and nuanced.&lt;/p&gt;</description></item><item><title>Go 1.25: The Main Highlights of the New Version</title><link>https://leocavalcante.dev/en/go-125/</link><pubDate>Wed, 13 Aug 2025 14:22:38 -0300</pubDate><guid>https://leocavalcante.dev/en/go-125/</guid><description>&lt;p&gt;Go 1.25 was officially released in August 2025, bringing a series of significant improvements for developers. This new version maintains Go&amp;rsquo;s tradition of compatibility, ensuring that existing code continues to work perfectly while introducing important optimizations and new features.&lt;/p&gt;</description></item><item><title>Swiss Tables: The Secret Behind Go 1.24's Faster Maps</title><link>https://leocavalcante.dev/en/swiss-tables-go-124/</link><pubDate>Wed, 05 Mar 2025 12:16:02 -0300</pubDate><guid>https://leocavalcante.dev/en/swiss-tables-go-124/</guid><description>&lt;p&gt;Maps in Go have always been one of the language&amp;rsquo;s most widely used and optimized data structures. With the release of Go 1.24, they became even faster thanks to the implementation of the Swiss Tables concept.&lt;/p&gt;</description></item><item><title>Weak Pointers in Go 1.24: Understanding and Applying Them in Practice</title><link>https://leocavalcante.dev/en/weak-pointers-no-go-124-entendendo-e-aplicando-na-pratica/</link><pubDate>Mon, 24 Feb 2025 11:30:11 -0300</pubDate><guid>https://leocavalcante.dev/en/weak-pointers-no-go-124-entendendo-e-aplicando-na-pratica/</guid><description>&lt;p&gt;&lt;strong&gt;Go 1.24&lt;/strong&gt; introduced a new package called &lt;code&gt;weak&lt;/code&gt;, bringing support for &lt;strong&gt;weak pointers&lt;/strong&gt;. These pointers make it possible to reference memory without preventing its collection by the &lt;strong&gt;garbage collector (GC)&lt;/strong&gt;, making them particularly useful for cache optimization and reducing &lt;strong&gt;memory leaks&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>What's New in Go 1.24</title><link>https://leocavalcante.dev/en/novidades-do-go-124/</link><pubDate>Wed, 12 Feb 2025 15:57:00 -0300</pubDate><guid>https://leocavalcante.dev/en/novidades-do-go-124/</guid><description>&lt;p&gt;Version 1.24 of the Go language was released in February 2025, bringing a series of improvements and new features that promise to increase developer productivity and optimize application performance. In this article, we will highlight some of the main new features, such as the new &lt;code&gt;tool&lt;/code&gt; directive, support for generics in type aliases, the &lt;code&gt;Loop&lt;/code&gt; function for benchmark tests, performance improvements, enhanced WebAssembly support, and the new &lt;code&gt;AddCleanup&lt;/code&gt; function.&lt;/p&gt;</description></item><item><title>Why Go Should Sometimes Be a No-Go?</title><link>https://leocavalcante.dev/en/why-go-should-sometimes-be-a-no-go/</link><pubDate>Mon, 03 Feb 2025 09:00:09 -0300</pubDate><guid>https://leocavalcante.dev/en/why-go-should-sometimes-be-a-no-go/</guid><description>&lt;p&gt;The Go language was criticized for its simplicity and design philosophy in a recent article called &lt;em&gt;&amp;ldquo;Why Go Should Sometimes Be a No-Go&amp;rdquo;&lt;/em&gt;, where the author raises some negative points about the language, arguing that its minimalist approach can be a limitation in certain contexts. However, these arguments can be countered with a broader view of Go&amp;rsquo;s benefits and purposes.&lt;/p&gt;</description></item><item><title>Functional Programming with Golang</title><link>https://leocavalcante.dev/en/programacao-funcional-com-golang/</link><pubDate>Tue, 28 Jan 2025 17:23:39 -0300</pubDate><guid>https://leocavalcante.dev/en/programacao-funcional-com-golang/</guid><description>&lt;p&gt;Functional programming (FP) has gained popularity in recent years due to its ability to create more expressive, modular code with fewer side effects. Although Go is a language designed primarily for the imperative paradigm, it has several characteristics that make it possible to adopt functional programming concepts. This article explores how to apply functional programming principles in Go development.&lt;/p&gt;</description></item><item><title>Go: Style, Decisions, and Best Practices</title><link>https://leocavalcante.dev/en/go-estilo-decisoes-e-melhores-praticas/</link><pubDate>Mon, 20 Jan 2025 08:00:23 -0300</pubDate><guid>https://leocavalcante.dev/en/go-estilo-decisoes-e-melhores-praticas/</guid><description>&lt;p&gt;Google&amp;rsquo;s style, decisions, and best practices guide for the Go language is a set of recommendations intended to promote clarity, simplicity, and efficiency in code development.&lt;/p&gt;
&lt;p&gt;These guidelines help developers write readable and maintainable code, which is essential for long-term projects. In this article, we explore the main points covered in these documents, emphasizing the importance of consistency, maintenance, and collaboration within development teams.&lt;/p&gt;</description></item><item><title>Analysis of the Go Developer Survey 2024</title><link>https://leocavalcante.dev/en/analise-do-go-developer-survey-2024/</link><pubDate>Mon, 13 Jan 2025 08:00:21 -0300</pubDate><guid>https://leocavalcante.dev/en/analise-do-go-developer-survey-2024/</guid><description>&lt;p&gt;The &lt;strong&gt;Go Developer Survey&lt;/strong&gt; is an essential tool for understanding the evolution and challenges faced by developers who use the Go language. The results from the second half of 2024 (H2), conducted between September 9 and 23 with 4,156 respondents, bring valuable insights into developer satisfaction, tooling preferences, technology trends, and everyday challenges.&lt;/p&gt;</description></item><item><title>Go's Values</title><link>https://leocavalcante.dev/en/os-valores-de-go/</link><pubDate>Tue, 07 Jan 2025 08:00:22 -0300</pubDate><guid>https://leocavalcante.dev/en/os-valores-de-go/</guid><description>&lt;p&gt;Since its release in 2009, the Go programming language has won over developers around the world, especially in distributed systems, cloud computing, and DevOps. But what exactly makes Go such an attractive language? Beyond its technical characteristics, it is the underlying philosophy that truly defines what Go represents. &lt;a href="https://www.reddit.com/r/golang/comments/1hs1yx3/what_are_gos_values/"&gt;This thread&lt;/a&gt; on Reddit brought together the core values that shape the language and how they impact the developer experience.&lt;/p&gt;</description></item><item><title>Code Coverage in Go Tests: Using covdata to Combine Profiles</title><link>https://leocavalcante.dev/en/cobertura-de-codigo-em-testes-de-go-usando-o-covdata-para-combinar-perfis/</link><pubDate>Tue, 26 Nov 2024 11:52:52 -0300</pubDate><guid>https://leocavalcante.dev/en/cobertura-de-codigo-em-testes-de-go-usando-o-covdata-para-combinar-perfis/</guid><description>&lt;p&gt;I think one of my biggest adventures with Go has been working with tests. They changed one of my opinions about the language&amp;rsquo;s pragmatism: yes, it is still super practical, still very simple and pleasant to program in, but I used to take that idea too lightly, to the point of doing things any which way and without respecting software engineering principles. As the name says, they are principles; they do not depend on the language, and Go is not exempt from them.&lt;/p&gt;</description></item><item><title>What is semantic versioning?</title><link>https://leocavalcante.dev/en/semver/</link><pubDate>Thu, 24 Oct 2024 10:01:27 -0300</pubDate><guid>https://leocavalcante.dev/en/semver/</guid><description>&lt;p&gt;Semantic versioning, also called &lt;strong&gt;SemVer&lt;/strong&gt;, is a standard used by developers to number software versions clearly and predictably. It makes it easier to understand which changes happened in the software and what impact those changes have. Basically, SemVer uses a three-number notation in the format &lt;strong&gt;X.Y.Z&lt;/strong&gt;, where each number has a specific meaning.&lt;/p&gt;</description></item><item><title>The importance of Developer Experience (DX) for better software delivery and innovation</title><link>https://leocavalcante.dev/en/archive/medium/a-importancia-da-developer-experience-dx-para-uma-melhor-entrega-de-software-e-inovacao-0f1bf20ac8a9/</link><pubDate>Mon, 30 Sep 2024 09:41:43 -0300</pubDate><guid>https://leocavalcante.dev/en/archive/medium/a-importancia-da-developer-experience-dx-para-uma-melhor-entrega-de-software-e-inovacao-0f1bf20ac8a9/</guid><description>&lt;p&gt;&lt;img src="https://leocavalcante.dev/archive/medium/a-importancia-da-developer-experience-dx-para-uma-melhor-entrega-de-software-e-inovacao-0f1bf20ac8a9/cover.jpg" alt=""&gt;&lt;/p&gt;
&lt;p&gt;In today&amp;rsquo;s fast-paced, technology-driven world, &lt;strong&gt;the success of software-based organizations depends heavily on the performance of their developers&lt;/strong&gt;. However, developers often face many obstacles, from unclear task requirements to inadequate tools and poor &lt;em&gt;feedback&lt;/em&gt; processes. The term &amp;ldquo;Developer Experience&amp;rdquo; (DX) encompasses how developers feel, think, and perform their work. A study led by experts from Microsoft Research, GitHub, and DX sheds light on why optimizing DX is essential for both developer satisfaction and organizational success.&lt;/p&gt;</description></item><item><title>Maximizing Goroutine Performance in CPU-Limited Containers</title><link>https://leocavalcante.dev/en/archive/medium/maximizando-a-performance-de-goroutines-em-containers-com-limitacao-de-cpu-b837af1dc683/</link><pubDate>Mon, 15 Apr 2024 10:11:04 -0300</pubDate><guid>https://leocavalcante.dev/en/archive/medium/maximizando-a-performance-de-goroutines-em-containers-com-limitacao-de-cpu-b837af1dc683/</guid><description>&lt;p&gt;In the ongoing search for efficient and concurrent programming languages, the Go language has stood out for its simplicity, performance, and powerful features. One of Go&amp;rsquo;s most distinctive features is the concept of &lt;strong&gt;Goroutines&lt;/strong&gt;, which enables efficient concurrent execution of tasks.&lt;/p&gt;</description></item><item><title>Observability with Hyperf and OpenTelemetry</title><link>https://leocavalcante.dev/en/archive/medium/observabilidade-com-hyperf-e-opentelemetry-dd698844eda/</link><pubDate>Tue, 22 Mar 2022 15:44:16 -0300</pubDate><guid>https://leocavalcante.dev/en/archive/medium/observabilidade-com-hyperf-e-opentelemetry-dd698844eda/</guid><description>&lt;p&gt;&lt;img src="https://leocavalcante.dev/archive/medium/observabilidade-com-hyperf-e-opentelemetry-dd698844eda/cover.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;At PicPay, to improve the scalability of our PHP applications, we use &lt;em&gt;Swoole&lt;/em&gt; as a high-performance &lt;em&gt;runtime&lt;/em&gt;, making applications asynchronous and non-blocking.&lt;/p&gt;
&lt;p&gt;Starting to use &lt;em&gt;Swoole&lt;/em&gt; brought some challenges, and one of them is observability. We will understand more about it later.&lt;/p&gt;</description></item><item><title>Using Bref to run Swoole coroutines asynchronously as AWS Lambda functions</title><link>https://leocavalcante.dev/en/archive/medium/usando-a-bref-para-executar-de-forma-assincrona-corrotinas-da-swoole-como-funcoes-na-aws-lambda-3c7a1c7ee4ef/</link><pubDate>Wed, 02 Mar 2022 12:53:25 -0300</pubDate><guid>https://leocavalcante.dev/en/archive/medium/usando-a-bref-para-executar-de-forma-assincrona-corrotinas-da-swoole-como-funcoes-na-aws-lambda-3c7a1c7ee4ef/</guid><description>&lt;p&gt;&lt;img src="https://leocavalcante.dev/archive/medium/usando-a-bref-para-executar-de-forma-assincrona-corrotinas-da-swoole-como-funcoes-na-aws-lambda-3c7a1c7ee4ef/cover.png" alt=""&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="https://github.com/swoole/swoole-src"&gt;Swoole&lt;/a&gt; is about to deliver something very, very cool: its own CLI. You can already start using it with the precompiled binary distributed in Swoole releases at &lt;a href="https://github.com/swoole/swoole-src/releases/tag/v4.8.7"&gt;https://github.com/swoole/swoole-src/releases/tag/v4.8.7&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Using Bref's LambdaRuntime to Asynchronously Run Swoole Coroutines as Functions on AWS</title><link>https://leocavalcante.dev/en/archive/devto/using-brefs-lambaruntime-to-asynchronously-run-swoole-coroutines-as-functions-on-aws-1icm/</link><pubDate>Mon, 28 Feb 2022 22:17:19 -0300</pubDate><guid>https://leocavalcante.dev/en/archive/devto/using-brefs-lambaruntime-to-asynchronously-run-swoole-coroutines-as-functions-on-aws-1icm/</guid><description>&lt;p&gt;Swoole will be shipping something really-really cool that is it&amp;rsquo;s own CLI. You can start playing with it using the pre-compiled binary distributed under Swoole&amp;rsquo;s releases at &lt;a href="https://github.com/swoole/swoole-src/releases/tag/v4.8.7"&gt;https://github.com/swoole/swoole-src/releases/tag/v4.8.7&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The trick here, for this project, is: &lt;strong&gt;we will be shipping Swoole CLI binary along side with &lt;a href="https://github.com/brefphp/bref/blob/master/src/Runtime/LambdaRuntime.php"&gt;Bref&amp;rsquo;s &lt;code&gt;LambdaRuntime&lt;/code&gt;&lt;/a&gt; to provide a &lt;a href="https://docs.aws.amazon.com/lambda/latest/dg/runtimes-custom.html"&gt;custom AWS lambda runtime&lt;/a&gt; that is Swoole powered&lt;/strong&gt;.&lt;/p&gt;</description></item><item><title>Cloud-native Hyperf</title><link>https://leocavalcante.dev/en/archive/devto/cloud-native-hyperf-6ja/</link><pubDate>Tue, 15 Feb 2022 20:31:05 -0300</pubDate><guid>https://leocavalcante.dev/en/archive/devto/cloud-native-hyperf-6ja/</guid><description>&lt;p&gt;Originally posted by &lt;a href="https://twitter.com/Reasno_g"&gt;@Reasno&lt;/a&gt; at &lt;a href="https://guxi.me/posts/cloudnative-hyperf"&gt;guxi.me/posts/cloudnative-hyperf&lt;/a&gt;&lt;/p&gt;
&lt;hr&gt;
&lt;p&gt;Hyperf officially provides container images and the configuration options are very open. Deploying Hyperf in the cloud itself is not complicated. Let&amp;rsquo;s take Kubernetes as an example to make some modifications to the default skeleton package of Hyperf so that it can run gracefully on Kubernetes. This article is not an introduction to Kubernetes and readers need to have a certain understanding of Kubernetes.&lt;/p&gt;</description></item><item><title>Nano, the Swoole micro-framework that is my new favorite</title><link>https://leocavalcante.dev/en/nano-o-micro-framework-pra-swoole-que-e-meu-novo-xodo/</link><pubDate>Sat, 24 Jul 2021 22:17:38 -0300</pubDate><guid>https://leocavalcante.dev/en/nano-o-micro-framework-pra-swoole-que-e-meu-novo-xodo/</guid><description>&lt;p&gt;Inspired by the &lt;a href="https://leocarmo.dev/hyperf-php-coroutine-framework-baseado-em-swoole"&gt;article about Hyperf&lt;/a&gt; by the great @&lt;a href="@leocarmo"&gt;Leonardo do Carmo&lt;/a&gt; (and also by his tip about Hashnode hehe), I decided to stop by and write about &lt;a href="https://nano.hyperf.wiki/"&gt;Nano&lt;/a&gt;, the Swoole micro-framework from the Hyperf folks.&lt;/p&gt;</description></item><item><title>Build a GraphQL API on top of Swoole</title><link>https://leocavalcante.dev/en/archive/medium/build-a-graphql-api-on-top-of-swoole-5de5d71b6e12/</link><pubDate>Sat, 10 Aug 2019 16:24:14 -0300</pubDate><guid>https://leocavalcante.dev/en/archive/medium/build-a-graphql-api-on-top-of-swoole-5de5d71b6e12/</guid><description>&lt;p&gt;I’m assuming you already know what is &lt;a href="https://graphql.org/"&gt;GraphQL&lt;/a&gt; and &lt;a href="https://www.swoole.co.uk"&gt;Swoole&lt;/a&gt;, so what about getting started right straight to the code, shall we?&lt;/p&gt;
&lt;p&gt;What you maybe doesn’t know yet is about &lt;a href="https://github.com/leocavalcante/siler"&gt;Siler&lt;/a&gt;! It is a set of general purpose high-level abstractions aiming an API for declarative programming in PHP.&lt;/p&gt;</description></item><item><title>Music with F#: The Language and the Note</title><link>https://leocavalcante.dev/en/archive/medium/music-with-f-the-language-and-the-note-403bd1fcfc31/</link><pubDate>Thu, 11 Oct 2018 22:20:16 -0300</pubDate><guid>https://leocavalcante.dev/en/archive/medium/music-with-f-the-language-and-the-note-403bd1fcfc31/</guid><description>&lt;p&gt;&lt;img src="https://leocavalcante.dev/archive/medium/music-with-f-the-language-and-the-note-403bd1fcfc31/cover.jpg" alt=""&gt;&lt;/p&gt;
&lt;p&gt;When I’m not in front of a “soup of colored letters” (people say this when they see my screen on VS Code) or “jumpy green text” (yeah, this one is for the terminal); I like to play and study music! Diving into my journey on F#, this is my attempt to mix this new and old passions.&lt;/p&gt;</description></item><item><title>REST API with MongoDB and F# on .NET Core</title><link>https://leocavalcante.dev/en/archive/medium/rest-api-with-mongodb-and-f-on-net-core-605a2336f264/</link><pubDate>Sat, 29 Sep 2018 23:32:07 -0300</pubDate><guid>https://leocavalcante.dev/en/archive/medium/rest-api-with-mongodb-and-f-on-net-core-605a2336f264/</guid><description>&lt;p&gt;&lt;img src="https://leocavalcante.dev/archive/medium/rest-api-with-mongodb-and-f-on-net-core-605a2336f264/cover.jpg" alt=""&gt;&lt;/p&gt;
&lt;p&gt;I have just a couple years in functional programming, just a couple weeks in F# and no background or experience with .NET, so don’t take this as a reference from an expert, it’s just me documenting what I’ve learned so far.&lt;/p&gt;</description></item><item><title>Tutorial: Handling State in Flutter with ReduRx.</title><link>https://leocavalcante.dev/en/archive/medium/tutorial-handling-state-in-flutter-with-redurx-b4d50c647e4a/</link><pubDate>Sat, 04 Aug 2018 15:29:51 -0300</pubDate><guid>https://leocavalcante.dev/en/archive/medium/tutorial-handling-state-in-flutter-with-redurx-b4d50c647e4a/</guid><description>&lt;p&gt;One the of the hardest things in development - IMHO - after naming, is handling State, at least handling it reactively without overs (over-building, over-rendering, over-painting and overhead!).&lt;/p&gt;</description></item><item><title>Is Hash/Digest Not Cryptography?</title><link>https://leocavalcante.dev/en/archive/medium/hash-digest-nao-e-criptografia-940374fe565c/</link><pubDate>Tue, 07 Nov 2017 00:20:49 -0200</pubDate><guid>https://leocavalcante.dev/en/archive/medium/hash-digest-nao-e-criptografia-940374fe565c/</guid><description>&lt;p&gt;It is common for people to argue that hashing is not cryptography; they do it so vehemently that they ridicule things like &amp;ldquo;I encrypted it with MD5.&amp;rdquo; Is it really that wrong to say this?&lt;/p&gt;</description></item><item><title>Type-safe data structures and bananas without gorillas in PHP</title><link>https://leocavalcante.dev/en/archive/medium/type-safe-data-structures-and-bananas-without-gorillas-in-php-30351fba51b2/</link><pubDate>Sun, 30 Apr 2017 17:23:50 -0300</pubDate><guid>https://leocavalcante.dev/en/archive/medium/type-safe-data-structures-and-bananas-without-gorillas-in-php-30351fba51b2/</guid><description>&lt;p&gt;I used to love everything about object oriented programming, ignoring everything else, when I finally got it, I thought that every piece of software should be developed using OO and if it is not, it is wrong.&lt;/p&gt;</description></item></channel></rss>