<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Posts on My name is Elton Minetto</title><link>https://eltonminetto.dev/en/post/</link><description>Recent content in Posts on My name is Elton Minetto</description><generator>Hugo</generator><language>en</language><copyright>{year}</copyright><lastBuildDate>Thu, 07 May 2026 07:00:43 -0300</lastBuildDate><atom:link href="https://eltonminetto.dev/en/post/index.xml" rel="self" type="application/rss+xml"/><item><title>Google Cloud Next 2026 Recap</title><link>https://eltonminetto.dev/en/post/2026-05-07-resumo-google-cloud-next/</link><pubDate>Thu, 07 May 2026 07:00:43 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2026-05-07-resumo-google-cloud-next/</guid><description>&lt;p>From April 22nd to 24th, I attended Google Cloud Next in Las Vegas, where Google unveiled updates to GCP and related technologies. For two years, I participated in Google I/O through the Developer Expert (GDE) program. This year, the program brought us to Next, which is the sister event to I/O held in California in May.&lt;/p></description></item><item><title>Avoiding supply chain attacks in Go</title><link>https://eltonminetto.dev/en/post/2026-04-05-supply-chain-golang/</link><pubDate>Sun, 05 Apr 2026 19:00:43 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2026-04-05-supply-chain-golang/</guid><description>&lt;p>If you&amp;rsquo;ve been following the news in recent weeks (March/April 2026), you must have read about two major &amp;ldquo;supply chain attacks&amp;rdquo; that occurred. You were probably affected in some way by the problem with the &lt;a href="https://docs.litellm.ai/blog/security-update-march-2026">LiteLLM&lt;/a> and &lt;a href="https://www.elastic.co/security-labs/axios-one-rat-to-rule-them-all">Axios&lt;/a> projects.&lt;/p></description></item><item><title>Focus Word</title><link>https://eltonminetto.dev/en/post/2026-02-18-focus-word/</link><pubDate>Wed, 18 Feb 2026 09:00:43 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2026-02-18-focus-word/</guid><description>&lt;p>I really like &lt;a href="https://www.patkua.com">Pat Kua&lt;/a>’s work. Whether it&amp;rsquo;s his blog &lt;a href="https://www.patkua.com/blog/">posts&lt;/a>, &lt;a href="https://www.patkua.com/media/books/">books&lt;/a>, &lt;a href="https://www.patkua.com/offerings/talks/">lectures&lt;/a>, or &lt;a href="https://levelup.patkua.com">newsletter&lt;/a>, he always delivers high-quality content, especially for technical leaders.&lt;/p></description></item><item><title>App recommendation - LookAway</title><link>https://eltonminetto.dev/en/post/2026-01-12-lookaway/</link><pubDate>Mon, 12 Jan 2026 20:00:43 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2026-01-12-lookaway/</guid><description>&lt;p>In this first post of 2026, I want to recommend a very simple app that has proven quite useful in my daily life: &lt;a href="https://lookaway.com">LookAway&lt;/a>.&lt;/p></description></item><item><title>How I Use AI</title><link>https://eltonminetto.dev/en/post/2025-11-27-how-i-use-ai/</link><pubDate>Thu, 27 Nov 2025 08:00:00 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2025-11-27-how-i-use-ai/</guid><description>&lt;p>In these almost 30 years of my career, I&amp;rsquo;ve seen many technologies and tools emerge (and die), and looking back, I&amp;rsquo;ve always had two premises about how to adopt them:&lt;/p></description></item><item><title>Productivity Tip – Never Go to Zero</title><link>https://eltonminetto.dev/en/post/2025-10-22-never-go-to-zero/</link><pubDate>Wed, 22 Oct 2025 08:00:00 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2025-10-22-never-go-to-zero/</guid><description>&lt;p>While browsing YouTube, I came across this video titled &amp;ldquo;&lt;a href="https://www.youtube.com/watch?v=STy4oSMR1fo">30 habits that (quietly) transformed my life&lt;/a>,&amp;rdquo; where the author shares 30 habits he adopted that had a significant impact on his life. I recommend watching it because the content is exciting. Still, in this post, I want to highlight the habit I found most impactful:&lt;/p></description></item><item><title>Go should be more opinionated</title><link>https://eltonminetto.dev/en/post/2025-06-19-go-more-opinated/</link><pubDate>Thu, 19 Jun 2025 10:00:00 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2025-06-19-go-more-opinated/</guid><description>&lt;p>One of the perks of being a &lt;a href="https://g.dev/eminetto">Google Developer Expert&lt;/a> is the incredible opportunities it provides. A few weeks ago, I had the opportunity to meet &lt;a href="https://en.wikipedia.org/wiki/Robert_Griesemer">Robert Griesemer&lt;/a>, co-creator of Go, in person, as well as &lt;a href="https://www.linkedin.com/in/doughertymarc/">Marc Dougherty&lt;/a>, Developer Advocate for the Go team at Google. At a happy hour after Google I/O, Marc asked me and another Go GDE from Korea for feedback on the language. My response was that I didn&amp;rsquo;t have any specific feedback about the language but that:&lt;/p></description></item><item><title>Creating an MCP Server Using Go</title><link>https://eltonminetto.dev/en/post/2025-05-01-mcp-server-golang/</link><pubDate>Thu, 01 May 2025 11:00:00 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2025-05-01-mcp-server-golang/</guid><description>&lt;p>In November 2024, Anthropic published a &lt;a href="https://www.anthropic.com/news/model-context-protocol">blog post&lt;/a> announcing what may be its most significant contribution to the AI ecosystem so far: &lt;strong>the Model Context Protocol&lt;/strong>.&lt;/p></description></item><item><title>First impressions with the Turso database</title><link>https://eltonminetto.dev/en/post/2025-03-23-turso-first-impressions/</link><pubDate>Sun, 23 Mar 2025 18:00:00 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2025-03-23-turso-first-impressions/</guid><description>&lt;p>&lt;a href="https://turso.tech">Turso&lt;/a> is one of those projects that you look at and think, &amp;ldquo;How has no one done something like this before?&amp;rdquo;  I&amp;rsquo;ve been following the project since its launch, but only now have I been able to dedicate some time to testing, which I describe in this post.&lt;/p></description></item><item><title>Creating an API with authentication using Encore.go</title><link>https://eltonminetto.dev/en/post/2025-02-22-intro-encore-part-2/</link><pubDate>Sat, 22 Feb 2025 07:10:00 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2025-02-22-intro-encore-part-2/</guid><description>&lt;p>This text is the second part of a series of posts about the &lt;a href="https://encore.dev/docs/go">Encore.go&lt;/a> framework :&lt;/p>
&lt;ol>
&lt;li>&lt;a href="https://eltonminetto.dev/en/post/2025-01-25-intro-encore-part-1/">Creating an API with a database&lt;/a>&lt;/li>
&lt;li>Creating an API with authentication (&amp;lt;— you are here)&lt;/li>
&lt;li>Communication via Pub/Sub&lt;/li>
&lt;li>Deploy&lt;/li>
&lt;/ol>
&lt;p>In the first part, we created a simple API that validates a user given the correct parameters. Now, let&amp;rsquo;s use this functionality to increase the project&amp;rsquo;s complexity: add a new API that requires authentication to be accessed.&lt;/p></description></item><item><title>Observability as the pillar of great architectures</title><link>https://eltonminetto.dev/en/post/2025-01-28-o11y-great-architectures/</link><pubDate>Tue, 28 Jan 2025 22:00:00 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2025-01-28-o11y-great-architectures/</guid><description>&lt;p>When we think of &amp;ldquo;observability,&amp;rdquo; the first idea that probably comes to mind is &amp;ldquo;problems&amp;rdquo; or &amp;ldquo;troubleshooting&amp;rdquo; ( if you prefer the jargon). However, in this post, I want to present another view: observability is crucial for developing great software architectures.&lt;/p></description></item><item><title>Getting Started with Encore.go</title><link>https://eltonminetto.dev/en/post/2025-01-25-intro-encore-part-1/</link><pubDate>Sat, 25 Jan 2025 07:10:00 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2025-01-25-intro-encore-part-1/</guid><description>&lt;p>&lt;a href="https://encore.dev/go">Encore.go&lt;/a> has been on my radar for quite some time, when its beautiful website and examples caught my attention in a news article on Hacker News. But my excitement really increased after &lt;a href="https://encore.dev/blog/open-source-decoupled">this post&lt;/a> was published in December 2024. It announced that the framework would become an independent project, separated from the Encore Cloud tool.
This decision can make the framework more attractive to companies and developers who want to use it in their existing environments. I have nothing against &lt;a href="https://encore.cloud">Encore Cloud&lt;/a>, which seems to be a very interesting and robust solution, but this freedom of choice favors adoption in companies of different sizes.&lt;/p></description></item><item><title>Using CloudEvents in Go</title><link>https://eltonminetto.dev/en/post/2024-11-28-cloudevents-in-go/</link><pubDate>Thu, 28 Nov 2024 07:00:43 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2024-11-28-cloudevents-in-go/</guid><description>&lt;p>Adopting an event-driven architecture (EDA) to increase scalability and reduce coupling between components/services is relatively common in complex environments.&lt;/p></description></item><item><title>Must-have apps and services in 2024</title><link>https://eltonminetto.dev/en/post/2024-11-04-apps-services-2024/</link><pubDate>Mon, 04 Nov 2024 07:00:43 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2024-11-04-apps-services-2024/</guid><description>&lt;p>This post is part of a tradition I started 10 years ago! Every now and then, I make a list of the apps and services I use on a daily basis and share them in these posts. Discovering new apps is something I love, so I can help someone who has the same taste for new things.&lt;/p></description></item><item><title>Introduction to TypeSpec</title><link>https://eltonminetto.dev/en/post/2024-10-12-intro-to-typespec/</link><pubDate>Sat, 12 Oct 2024 09:00:43 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2024-10-12-intro-to-typespec/</guid><description>&lt;p>I&amp;rsquo;ll start this post with a bit of history. Back in the early 2010s, the buzz was the concepts of APIs and API-first. It seems trivial today, but we must remember that the technology used before was SOAP and its giant XML files. So, lightweight APIs using JSON and respecting the REST concepts, which had been invented a few years earlier, were a considerable evolution.&lt;/p></description></item><item><title>Resilience in communication between microservices using the failsafe-go lib</title><link>https://eltonminetto.dev/en/post/2024-08-24-resilience-in-communication-between-microservices-using-the-failsafe-go-lib/</link><pubDate>Sat, 24 Aug 2024 09:00:43 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2024-08-24-resilience-in-communication-between-microservices-using-the-failsafe-go-lib/</guid><description>&lt;p>Let&amp;rsquo;s start at the beginning. What is resilience? I like the definition in this &lt;a href="https://erikhollnagel.com/ideas/resilience-engineering.html">post&lt;/a>:&lt;/p>
&lt;blockquote>
&lt;p>The intrinsic ability of a system to adjust its functioning prior to, during, or following changes and disturbances, so that it can sustain required operations under both expected and unexpected conditions&lt;/p></description></item><item><title>JSON vs FlatBuffers vs Protocol Buffers</title><link>https://eltonminetto.dev/en/post/2024-08-05-json-vs-flatbuffers-vs-protobuf/</link><pubDate>Mon, 05 Aug 2024 21:00:43 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2024-08-05-json-vs-flatbuffers-vs-protobuf/</guid><description>&lt;p>When we think about communication between services/microservices, the first option that comes to mind is good old JSON. And this is not without reason, as the format has advantages, such as:&lt;/p></description></item><item><title>Go is a platform</title><link>https://eltonminetto.dev/en/post/2024-06-12-go-is-a-plataform/</link><pubDate>Wed, 12 Jun 2024 08:00:43 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2024-06-12-go-is-a-plataform/</guid><description>&lt;p>Thanks to the Google Developer Experts program, I had the opportunity to participate in Google I/O in Mountain View, California, in May this year. Among the various talks I watched, one of my favorites was ‌ &lt;strong>Boost performance of Go applications with profile-guided optimization&lt;/strong>, which you can watch on &lt;a href="https://www.youtube.com/watch?v=FwzE5Sdhhdw">Youtube&lt;/a>.&lt;/p></description></item><item><title>Alternatives to Makefiles written in Go</title><link>https://eltonminetto.dev/en/post/2024-05-26-alternatives-make/</link><pubDate>Sun, 26 May 2024 08:00:43 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2024-05-26-alternatives-make/</guid><description>&lt;p>First things first: what is &lt;code>make&lt;/code>? Present in all Linux distributions and Unix derivatives such as macOS, the tool&amp;rsquo;s manual describes it as:&lt;/p></description></item><item><title>Interesting projects using WebAssembly</title><link>https://eltonminetto.dev/en/post/2024-04-06-webassembly-products/</link><pubDate>Sat, 06 Apr 2024 08:00:43 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2024-04-06-webassembly-products/</guid><description>&lt;p>This text is the last part of a series of posts I wrote about one of the technologies that have had the most impact on me in recent years: WebAssembly. In the &lt;a href="https://eltonminetto.dev/en/post/2023-11-17-webassembly-using-go-code-in-the-browser/">first text&lt;/a>, I discussed how to port Go code to run it in a web browser. In the &lt;a href="https://eltonminetto.dev/en/post/2023-12-11-running-webassembly-in-go/">second part&lt;/a>, I showed how to use WebAssembly code in a Go project. In this post, I will discuss some exciting projects using this technology.&lt;/p></description></item><item><title>Using test helpers in Go</title><link>https://eltonminetto.dev/en/post/2024-02-15-using-test-helpers/</link><pubDate>Thu, 15 Feb 2024 20:00:43 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2024-02-15-using-test-helpers/</guid><description>&lt;p>Recently, in a code review, the great &lt;a href="https://www.linkedin.com/in/cassiobotaro/">Cassio Botaro&lt;/a> gave me a handy tip: refactor some tests to use the &lt;code>test helpers&lt;/code> feature from the &lt;code>testing&lt;/code> package.&lt;/p></description></item><item><title>Load testing using k6</title><link>https://eltonminetto.dev/en/post/2024-01-11-load-test-k6/</link><pubDate>Thu, 11 Jan 2024 11:00:43 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2024-01-11-load-test-k6/</guid><description>&lt;p>In the &lt;a href="https://eltonminetto.dev/en/post/2024-01-05-load-test-types/">previous post&lt;/a>, we saw that there are different types of load tests and what their objectives and characteristics are. In this text, we will see how to implement them using a tool called k6.&lt;/p></description></item><item><title>Load Test Types</title><link>https://eltonminetto.dev/en/post/2024-01-05-load-test-types/</link><pubDate>Fri, 05 Jan 2024 19:00:43 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2024-01-05-load-test-types/</guid><description>&lt;p>When we talk about &amp;ldquo;load testing,&amp;rdquo; perhaps the first thing that comes to mind is &amp;ldquo;sending traffic to the application until it cries.&amp;rdquo; 🙂 But this approach is just one way to test an application&amp;rsquo;s performance (and described in this form is perhaps the most sadistic).&lt;/p></description></item><item><title>Running WebAssembly code in Go</title><link>https://eltonminetto.dev/en/post/2023-12-11-running-webassembly-in-go/</link><pubDate>Mon, 11 Dec 2023 08:00:43 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2023-12-11-running-webassembly-in-go/</guid><description>&lt;p>This post is the second part of a series about WebAssembly and Go. In the &lt;a href="https://eltonminetto.dev/en/post/2023-11-17-webassembly-using-go-code-in-the-browser/">first post&lt;/a>, we saw how to run Go code in a web browser. In this one, we will import a WebAssembly function and run it in a Go application.&lt;/p></description></item><item><title>WebAssembly: using Go code in the browser</title><link>https://eltonminetto.dev/en/post/2023-11-17-webassembly-using-go-code-in-the-browser/</link><pubDate>Fri, 17 Nov 2023 08:00:43 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2023-11-17-webassembly-using-go-code-in-the-browser/</guid><description>&lt;p>Occasionally, a technology emerges that significantly impacts developers&amp;rsquo; daily lives—things like Linux, Git, Docker, and Kubernetes, among others. WebAssembly is a technology that has the potential to appear on this select list.&lt;/p></description></item><item><title>New in Go 1.21: Toolchains</title><link>https://eltonminetto.dev/en/post/2023-10-18-go121-toolchain/</link><pubDate>Wed, 18 Oct 2023 21:00:43 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2023-10-18-go121-toolchain/</guid><description>&lt;p>The version 1.21 of the language implemented an essential new feature. According to the documentation:&lt;/p></description></item><item><title>Writing tests for a Kubernetes Operator</title><link>https://eltonminetto.dev/en/post/2023-10-05-k8s-operator-test/</link><pubDate>Thu, 05 Oct 2023 07:30:43 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2023-10-05-k8s-operator-test/</guid><description>&lt;p>In the &lt;a href="https://eltonminetto.dev/en/post/2023-09-08-k8s-operator-sdk/">last post&lt;/a>, we saw how to create a Kubernetes operator using operator-sdk. As that text was quite long, I decided to write this second post to focus on the application&amp;rsquo;s testing part.&lt;/p></description></item><item><title>Creating Kubernetes Operators with operator-sdk</title><link>https://eltonminetto.dev/en/post/2023-09-08-k8s-operator-sdk/</link><pubDate>Fri, 08 Sep 2023 08:30:43 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2023-09-08-k8s-operator-sdk/</guid><description>&lt;p>If you develop APIs or microservices, especially in medium to large environments, you probably use Kubernetes.&lt;/p></description></item><item><title>GDE in Go</title><link>https://eltonminetto.dev/en/post/2023-08-23-gde/</link><pubDate>Wed, 23 Aug 2023 08:30:43 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2023-08-23-gde/</guid><description>&lt;p>I came across an exciting project called &lt;strong>Google Developer Experts&lt;/strong>. According to the &lt;a href="https://developers.google.com/community/experts?hl=pt-br">official website&lt;/a>, this is a group of &amp;ldquo;experienced Google technology experts, influencers, and thought leaders.&amp;rdquo;&lt;/p></description></item><item><title>Developer productivity for fun and profit - Part 2</title><link>https://eltonminetto.dev/en/post/2023-08-01-developer-productivity-fun-profit-p2/</link><pubDate>Tue, 01 Aug 2023 08:30:43 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2023-08-01-developer-productivity-fun-profit-p2/</guid><description>&lt;p>This text is the second part of a series of posts about productivity. In the &lt;a href="https://eltonminetto.dev/en/post/2023-01-25-developer-productivity-fun-profit-p1/">first part&lt;/a>, I discussed how developers can improve their productivity. In this text, I will mention some ways in which the company or team can improve the daily lives of developers.&lt;/p></description></item><item><title>[Go] How to work with dates in tests</title><link>https://eltonminetto.dev/en/post/2023-06-30-mock-time-golang/</link><pubDate>Fri, 30 Jun 2023 08:30:43 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2023-06-30-mock-time-golang/</guid><description>&lt;p>Working with dates in any programming language presents some challenges. In this post, I will show how to work with dates when writing unit tests for a Go application.&lt;/p></description></item><item><title>Improving the terminal</title><link>https://eltonminetto.dev/en/post/2023-05-16-improving-terminal/</link><pubDate>Tue, 16 May 2023 08:30:43 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2023-05-16-improving-terminal/</guid><description>&lt;p>The terminal is the tool I use the most in my day-to-day work. Over the years, I&amp;rsquo;ve created a series of shortcuts, scripts, and habits that make me more productive in performing many of my tasks. In this post, I will tell you some of the things I&amp;rsquo;ve set up and been using to inspire someone else to take the time to do the same.&lt;/p></description></item><item><title>Choosing dependencies using deps.dev</title><link>https://eltonminetto.dev/en/post/2023-04-19-choosing-dependencies-using-deps-dev/</link><pubDate>Wed, 19 Apr 2023 08:30:43 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2023-04-19-choosing-dependencies-using-deps-dev/</guid><description>&lt;p>Choosing a project&amp;rsquo;s dependencies is something we sometimes overlook, but it can have a very relevant impact. The following image illustrates the idea:&lt;/p></description></item><item><title>Why I like Go's error handling</title><link>https://eltonminetto.dev/en/post/2023-03-27-why-like-go-error-handling/</link><pubDate>Mon, 27 Mar 2023 08:30:43 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2023-03-27-why-like-go-error-handling/</guid><description>&lt;p>One of the most controversial issues in the Go language is how we handle errors. I remember when I started working with the language, in mid-2015, after having used PHP for a few years, and I was surprised that it didn&amp;rsquo;t use the famous &lt;em>try/catch&lt;/em>.&lt;/p></description></item><item><title>Developer productivity for fun and profit - Part 1</title><link>https://eltonminetto.dev/en/post/2023-01-25-developer-productivity-fun-profit-p1/</link><pubDate>Wed, 25 Jan 2023 08:30:43 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2023-01-25-developer-productivity-fun-profit-p1/</guid><description>&lt;p>Whether in scenarios of accelerated growth or even in the unfortunate moment of layoffs that we are going through, developer hours are one of the most expensive and valuable resources for companies. In this way, productivity and efficiency become significant advantages for professionals and teams.&lt;/p></description></item><item><title>Go Cloud Development Kit</title><link>https://eltonminetto.dev/en/post/2023-01-10-go-cloud-development-kit/</link><pubDate>Tue, 10 Jan 2023 09:00:19 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2023-01-10-go-cloud-development-kit/</guid><description>&lt;p>In this post, I will talk about an exciting project maintained by the team that develops the Go language: the &lt;a href="https://gocloud.dev/">Go Cloud Development Kit&lt;/a>, also known as the &lt;strong>Go CDK&lt;/strong>.&lt;/p></description></item><item><title>Introduction to Cuelang</title><link>https://eltonminetto.dev/en/post/2022-11-08-intro-cuelang/</link><pubDate>Tue, 08 Nov 2022 13:00:19 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2022-11-08-intro-cuelang/</guid><description>&lt;p>I bet that at that moment, you are thinking:&lt;/p>
&lt;blockquote>
&lt;p>&amp;ldquo;Another programming language&amp;rdquo;?&lt;/p>
&lt;/blockquote>
&lt;p>Calm down, calm down, come with me, and it will make sense :)&lt;/p></description></item><item><title>Creating an API using Go and sqlc</title><link>https://eltonminetto.dev/en/post/2022-10-22-creating-api-using-go-sqlc/</link><pubDate>Sat, 22 Oct 2022 13:00:19 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2022-10-22-creating-api-using-go-sqlc/</guid><description>&lt;p>When writing a Go application that handles data in a database (in this post, I will focus on relational databases), we have a few options:&lt;/p></description></item><item><title>Accelerate your local development environment with Tilt</title><link>https://eltonminetto.dev/en/post/2022-08-31-improve-local-development-tilt/</link><pubDate>Wed, 31 Aug 2022 13:00:19 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2022-08-31-improve-local-development-tilt/</guid><description>&lt;p>We spend hours and hours developing applications on our machines, with more and more requirements and complexity. In addition, any modern application has multiple containers, microservices, deployments in different environments, various stacks, etc. So any tool that can make our flow more agile is handy.&lt;/p></description></item><item><title>Document first</title><link>https://eltonminetto.dev/en/post/2022-07-19-doc-first/</link><pubDate>Tue, 19 Jul 2022 20:23:50 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2022-07-19-doc-first/</guid><description>&lt;p>It is a consensus in the software development community that documentation is essential. But at the same time, it&amp;rsquo;s not one of the most glamorous tasks, especially compared to writing code. So it&amp;rsquo;s natural for us developers to think:&lt;/p></description></item><item><title>Error handling of CLI applications in Golang</title><link>https://eltonminetto.dev/en/post/2022-07-06-error-handling-cli-applications-golang/</link><pubDate>Wed, 06 Jul 2022 17:56:34 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2022-07-06-error-handling-cli-applications-golang/</guid><description>&lt;p>When developing some CLI applications in Go, I always consider the &lt;code>main.go&lt;/code> file as &amp;ldquo;the input and output port of my application.&amp;rdquo;&lt;/p></description></item><item><title>How to decide what to study?</title><link>https://eltonminetto.dev/en/post/2022-06-14-how-to-decide-what-to-study/</link><pubDate>Tue, 14 Jun 2022 08:27:53 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2022-06-14-how-to-decide-what-to-study/</guid><description>&lt;p>You realize you&amp;rsquo;re getting old when they ask you for career tips. 🙂&lt;/p>
&lt;p>Jokes aside, this is a subject that interests me a lot, and in these career conversations, a question often appears:&lt;/p></description></item><item><title>Using Golang stdlib interfaces</title><link>https://eltonminetto.dev/en/post/2022-06-07-using-go-interfaces/</link><pubDate>Tue, 07 Jun 2022 20:03:34 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2022-06-07-using-go-interfaces/</guid><description>&lt;p>In this post, I&amp;rsquo;ll show you how to use two of the most exciting features of the Go language: its standard library (the stdlib in the title) and its interfaces.&lt;/p></description></item><item><title>Testing Generics in Go</title><link>https://eltonminetto.dev/en/post/2022-03-11-fun-with-generics/</link><pubDate>Fri, 11 Mar 2022 08:27:10 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2022-03-11-fun-with-generics/</guid><description>&lt;p>It&amp;rsquo;s finally (almost) among us!&lt;/p>
&lt;p>Finally, after years of hearing that joke &amp;ldquo;what about Generics?&amp;rdquo; this long-awaited feature will be available in version 1.18 of the language, scheduled for release in March 2022.&lt;/p></description></item><item><title>Technical leadership: monitoring X autonomy</title><link>https://eltonminetto.dev/en/post/2022-02-21-acompanhamentoxautonomia/</link><pubDate>Mon, 21 Feb 2022 15:45:46 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2022-02-21-acompanhamentoxautonomia/</guid><description>&lt;p>Looking at my career, I can say that I have more experience and theoretical background in matters related to technology, especially in the area of software development. This fact is due to having done a graduate degree in Computer Science and having read a good amount of books and many posts, and putting a large number of products into production. I say this because, despite leading technical teams for a little over a decade and reading good books and posts, I feel safer writing about technology than about leadership. So consider that when reading this post :)&lt;/p></description></item><item><title>An introduction to the AsyncAPI specification</title><link>https://eltonminetto.dev/en/post/2022-01-30-asyncapi/</link><pubDate>Sun, 30 Jan 2022 10:14:09 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2022-01-30-asyncapi/</guid><description>&lt;p>If you develop or consume REST APIs, you have probably come across some documentation written according to the &lt;a href="https://www.openapis.org">OpenAPI&lt;/a> specification. It is the industry standard, although I prefer to document using &lt;a href="https://apiblueprint.org">API Blueprint&lt;/a> :)&lt;/p></description></item><item><title>I am an AWS Community Builder</title><link>https://eltonminetto.dev/en/post/2021-10-07-aws-community-builder/</link><pubDate>Thu, 07 Oct 2021 22:04:42 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2021-10-07-aws-community-builder/</guid><description>&lt;p>I started using AWS tools in mid-2008 when a local cloud provider left the startup where I was CTO (the late Drimio) down for more than 24 hours. Since then, AWS has always been my first choice as a cloud solutions provider.&lt;/p></description></item><item><title>Accessing Postgres via REST using pRest</title><link>https://eltonminetto.dev/en/post/2021-08-31-prest/</link><pubDate>Tue, 31 Aug 2021 22:48:39 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2021-08-31-prest/</guid><description>&lt;p>In this post, I&amp;rsquo;m going to talk about a handy Open Source tool called pRest.&lt;/p></description></item><item><title>Making technical decisions using RFCs</title><link>https://eltonminetto.dev/en/post/2021-05-22-rfc/</link><pubDate>Fri, 21 May 2021 18:14:57 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2021-05-22-rfc/</guid><description>&lt;p>Teams need to make several important decisions in the software development process, from programming languages, architectures, processes, tools, etc. As the project and team grow, making these decisions becomes more complex and essential. In addition, how can you ensure that the decisions made at the beginning of the project are clear so that new people on the team understand the reasons and contexts that led the team to a particular conclusion?&lt;/p></description></item><item><title>Work-focused daily meeting</title><link>https://eltonminetto.dev/en/post/2021-04-21-work-centric-daily-meeting/</link><pubDate>Sat, 17 Apr 2021 18:14:57 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2021-04-21-work-centric-daily-meeting/</guid><description>&lt;p>If you work as a software developer, you have probably participated in a daily meeting, daily scrum, or stand-up meeting (although this name lost sense during the pandemic since we&amp;rsquo;re all sitting in front of our computers).&lt;/p></description></item><item><title>Microservices in Go using the Go kit</title><link>https://eltonminetto.dev/en/post/2021-02-06-microservices-gokit/</link><pubDate>Tue, 16 Feb 2021 08:33:24 +0200</pubDate><guid>https://eltonminetto.dev/en/post/2021-02-06-microservices-gokit/</guid><description>&lt;p>In one of the chapters of the book &lt;a href="https://www.amazon.com.br/Microservice-Patterns-examples-Chris-Richardson/dp/1617294543/ref=sr_1_1?__mk_pt_BR=%c3%85M%c3%85%c5%bd%c3%95%c3%91&amp;amp;crid=5S2QOI44DDW4&amp;amp;dchild=1&amp;amp;keywords=microservices&amp;#43;patterns&amp;amp;qid=1612616717&amp;amp;sprefix=microservice&amp;#43;pa%2Caps%2C300&amp;amp;sr=8-1">Microservice Patterns: With examples in Java&lt;/a> the author mentions the &lt;a href="https://microservices.io/patterns/microservice-chassis.html">&amp;ldquo;Microservice chassis&amp;rdquo;&lt;/a> pattern:&lt;/p></description></item><item><title>How We Measure Developer Experience at Trybe</title><link>https://eltonminetto.dev/en/post/2021-01-17-how-we-measure-developer-experience-at-trybe/</link><pubDate>Sun, 17 Jan 2021 18:34:59 -0300</pubDate><guid>https://eltonminetto.dev/en/post/2021-01-17-how-we-measure-developer-experience-at-trybe/</guid><description>&lt;p>You have probably heard the term UX (User Experience), which is defined as&lt;/p>
&lt;blockquote>
&lt;p>&amp;ldquo;the discipline responsible for designing enchanting user experiences to retain and win customers&amp;rdquo;.&lt;/p></description></item><item><title>Clean Architecture, 2 years later</title><link>https://eltonminetto.dev/en/post/2020-07-06-clean-architecture-2years-later/</link><pubDate>Mon, 06 Jul 2020 10:54:24 +0200</pubDate><guid>https://eltonminetto.dev/en/post/2020-07-06-clean-architecture-2years-later/</guid><description>&lt;p>&lt;strong>UPDATE:&lt;/strong> This post is old and no longer reflects what I believe to be an ideal structure for a project. In 2023, I am using and recommending what my colleagues and I have described in &lt;a href="https://medium.com/inside-picpay/organizing-projects-and-defining-names-in-go-7f0eab45375d">this post&lt;/a>.&lt;/p></description></item><item><title>Testing APIs in Golang using apitest</title><link>https://eltonminetto.dev/en/post/2020-04-21-golang-apitest/</link><pubDate>Tue, 21 Apr 2020 08:33:24 +0200</pubDate><guid>https://eltonminetto.dev/en/post/2020-04-21-golang-apitest/</guid><description>&lt;p>One advantage of the Go language is its standard library, which contains many useful features to develop modern applications, such as HTTP server and client, JSON parser, and tests. It is exactly this last point that I will talk about in this post.&lt;/p></description></item><item><title>Profiling Golang applications using pprof</title><link>https://eltonminetto.dev/en/post/2020-04-08-golang-pprof/</link><pubDate>Wed, 08 Apr 2020 08:33:24 +0200</pubDate><guid>https://eltonminetto.dev/en/post/2020-04-08-golang-pprof/</guid><description>&lt;p>In the last few weeks, &lt;a href="https://codenation.dev">Codenation&lt;/a> has been experiencing very significant growth. Confirming the sentence of the great &lt;a href="https://www.linkedin.com/in/brunoghisi/">Bruno Ghisi&lt;/a> who says that “on the scale everything breaks”, features that always worked perfectly become problematic.&lt;/p></description></item><item><title>Using Prometheus to collect metrics from Golang applications</title><link>https://eltonminetto.dev/en/post/2020-03-13-golang-prometheus/</link><pubDate>Fri, 13 Mar 2020 08:33:24 +0200</pubDate><guid>https://eltonminetto.dev/en/post/2020-03-13-golang-prometheus/</guid><description>&lt;p>This text is part of a series of posts I am doing with examples of applications using Clean Architecture. The other posts that are part of this series are:&lt;/p></description></item><item><title>Creating test mocks using GoMock</title><link>https://eltonminetto.dev/en/post/2019-12-19-gomock/</link><pubDate>Fri, 20 Dec 2019 10:54:24 +0200</pubDate><guid>https://eltonminetto.dev/en/post/2019-12-19-gomock/</guid><description>&lt;p>Using &lt;a href="https://en.wikipedia.org/wiki/Object_Mock">mocks&lt;/a> in test development is a concept used in the vast majority of programming languages. In this post, I will talk about one solution to implement mocks in Go: &lt;a href="https://github.com/golang/mock">GoMock&lt;/a>.&lt;/p></description></item><item><title>Processing parquet files in Golang</title><link>https://eltonminetto.dev/en/post/2019-12-09-parquet-golang/</link><pubDate>Tue, 10 Dec 2019 10:54:24 +0200</pubDate><guid>https://eltonminetto.dev/en/post/2019-12-09-parquet-golang/</guid><description>&lt;p>In this post, I will talk about a relatively new data file format, and how to use it in Go.&lt;/p></description></item><item><title>Using Golang as a scripting language</title><link>https://eltonminetto.dev/en/post/2019-08-08-golang-linguagem-script/</link><pubDate>Thu, 08 Aug 2019 10:54:24 +0200</pubDate><guid>https://eltonminetto.dev/en/post/2019-08-08-golang-linguagem-script/</guid><description>&lt;p>Among the technical decisions we made during the development of [Codenation] (&lt;a href="https://codenation.dev">https://codenation.dev&lt;/a>), one of the right ones was to choose Go as the main language.&lt;/p></description></item><item><title>Object Calisthenics in Golang</title><link>https://eltonminetto.dev/en/post/2019-06-01-object-calisthenics-golang/</link><pubDate>Sat, 01 Jun 2019 10:54:24 +0200</pubDate><guid>https://eltonminetto.dev/en/post/2019-06-01-object-calisthenics-golang/</guid><description>&lt;p>&lt;a href="http://www.xpteam.com/jeff/">Jeff Bay&lt;/a> introduced the term &lt;strong>Object Calisthenics&lt;/strong> in his book [Thought Works Anthology] (&lt;a href="https://pragprog.com/book/twa/thoughtworks-anthology%29">https://pragprog.com/book/twa/thoughtworks-anthology)&lt;/a>. It is a set of good practices and programming rules that can improve the quality of our code.&lt;/p></description></item><item><title>Full Stack vs Full Cycle developer</title><link>https://eltonminetto.dev/en/post/2019-02-09-full-stack-vs-full-cycle/</link><pubDate>Sat, 09 Feb 2019 10:54:24 +0200</pubDate><guid>https://eltonminetto.dev/en/post/2019-02-09-full-stack-vs-full-cycle/</guid><description>&lt;h2 id="full-stack-developer">Full Stack developer&lt;/h2>
&lt;p>In the last years, the term full stack developer grown in many job opportunities, mainly in startups. According to this post, a full stack developer is:&lt;/p></description></item><item><title>Data Migration with Golang and MongoDB</title><link>https://eltonminetto.dev/en/post/2019-01-23-migracao-de-dados-com-go-e-mongodb/</link><pubDate>Wed, 23 Jan 2019 10:09:24 +0200</pubDate><guid>https://eltonminetto.dev/en/post/2019-01-23-migracao-de-dados-com-go-e-mongodb/</guid><description>&lt;p>One item addressed by the &lt;a href="https://12factor.net">twelve-factor app&lt;/a> method is the automation of administrative processes, such as script execution and data migration. This is exactly what I will talk about in this post: how we automate the migration of data using Go and MongoDB.&lt;/p></description></item><item><title>Monitoring a Golang application with Supervisor</title><link>https://eltonminetto.dev/en/post/2018-11-28-monitorando-app-go-com-supervisor/</link><pubDate>Wed, 28 Nov 2018 10:54:24 +0200</pubDate><guid>https://eltonminetto.dev/en/post/2018-11-28-monitorando-app-go-com-supervisor/</guid><description>&lt;p>Dear reader… If you are reading this post a few years after his publication date you must understand that in 2018 we were very excited about things like micro services, Docker, Kubernetes and related technologies.&lt;/p></description></item><item><title>Continuous integration in projects using monorepo</title><link>https://eltonminetto.dev/en/post/2018-08-01-monorepo-drone/</link><pubDate>Wed, 01 Aug 2018 10:54:24 +0200</pubDate><guid>https://eltonminetto.dev/en/post/2018-08-01-monorepo-drone/</guid><description>&lt;p>At the beginning of every project, we have to commit to some important decisions. Among the correct decisions we made at &lt;a href="https://www.codenation.dev/">Codenation&lt;/a> I can cite the use of Go language, the adoption of &lt;a href="https://eltonminetto.dev/en/post/2018-03-05-clean-architecture-using-go/">Clean Architecture&lt;/a> and JAMStack and our choice to store the code in a monorepo at Github. In this post, I will write about the latter, and how we solved a common challenge that the monorepo architecture brings.&lt;/p></description></item><item><title>Golang: using build tags to store configurations</title><link>https://eltonminetto.dev/en/post/2018-06-25-golang-usando-build-tags/</link><pubDate>Mon, 25 Jun 2018 08:54:24 +0200</pubDate><guid>https://eltonminetto.dev/en/post/2018-06-25-golang-usando-build-tags/</guid><description>&lt;p>One of the &lt;a href="http://12factor.net">12 factor&lt;/a>, a methodology for building software-as-a-service apps, is:&lt;/p>
&lt;blockquote>
&lt;p>Store config in the environment&lt;/p>
&lt;/blockquote></description></item><item><title>Clean Architecture using Golang</title><link>https://eltonminetto.dev/en/post/2018-03-05-clean-architecture-using-go/</link><pubDate>Mon, 05 Mar 2018 10:54:24 +0200</pubDate><guid>https://eltonminetto.dev/en/post/2018-03-05-clean-architecture-using-go/</guid><description>&lt;h1 id="update">Update&lt;/h1>
&lt;p>I published an updated version of this post. Check it out at: &lt;a href="https://eltonminetto.net/en/post/2020-07-06-clean-architecture-2years-later/">Clean Architecture, 2 years later&lt;/a>&lt;/p>
&lt;h2 id="what-is-clean-architecture">What is Clean Architecture?&lt;/h2>
&lt;p>In his book “Clean Architecture: A Craftsman’s Guide to Software Structure and Design” famous author Robert “Uncle Bob” Martin presents an architecture with some important points like testability and independence of frameworks, databases and interfaces.&lt;/p></description></item><item><title>About</title><link>https://eltonminetto.dev/about/</link><pubDate>Mon, 11 Jul 2016 21:01:03 -0300</pubDate><guid>https://eltonminetto.dev/about/</guid><description>&lt;p>I&amp;rsquo;m a software developer.&lt;/p>
&lt;p>No matter what I&amp;rsquo;m doing (and I did a lot of different things in the past years, like creating startups, speeches at events, and becoming a father), I always will do this with a software developer&amp;rsquo;s mindset: analyzing the task carefully, breaking a big problem in smaller ones, looking for ways to optimize the result, and so on.&lt;/p></description></item><item><title>Content</title><link>https://eltonminetto.dev/en/talks/</link><pubDate>Mon, 11 Jul 2016 21:01:03 -0300</pubDate><guid>https://eltonminetto.dev/en/talks/</guid><description>&lt;p>&lt;em>Most of my talks, videos and podcasts are in Brazilian Portuguese. Use the filters below to browse by type.&lt;/em>&lt;/p></description></item></channel></rss>