<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Lucas Santos</title><description>Articles about software development, technology and opinion.</description><link>https://blog.lsantos.dev/en/</link><language>en</language><item><title>Backlog 10 - Slopware: The end of well-made code</title><link>https://blog.lsantos.dev/en/backlog-10-slopware-the-end-of-well-made-code/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/backlog-10-slopware-the-end-of-well-made-code/</guid><description>Do you know what Slopware is? Then let me introduce you to something that&apos;s probably going to worry you quite a bit.</description><pubDate>Thu, 20 Mar 2025 11:00:10 GMT</pubDate><category>career</category><category>backlog-newsletter</category></item><item><title>Backlog 9 - What Happened to the Devs?</title><link>https://blog.lsantos.dev/en/backlog-9-what-happened-to-the-devs/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/backlog-9-what-happened-to-the-devs/</guid><description>What happened to a profession that used to brag about being super smart and laser focused on its craft? Did devs stop caring about their work?</description><pubDate>Thu, 06 Mar 2025 11:00:40 GMT</pubDate><category>opinion</category><category>backlog-newsletter</category><category>career</category><category>opinion</category></item><item><title>Backlog 8 - My journey with Vim. What changed in 6 months?</title><link>https://blog.lsantos.dev/en/backlog-8-my-journey-with-vim-what-changed-in-6-months/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/backlog-8-my-journey-with-vim-what-changed-in-6-months/</guid><description>I completely uninstalled VSCode and switched to Vim. After 6 months of use, was that a good idea?</description><pubDate>Thu, 20 Feb 2025 11:00:21 GMT</pubDate><category>career</category><category>backlog-newsletter</category><category>vim</category><category>productivity</category></item><item><title>Backlog #7 - The 10 Lessons That Changed My Life as a Dev</title><link>https://blog.lsantos.dev/en/the-10-lessons-that-changed-my-life-as-a-dev/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/the-10-lessons-that-changed-my-life-as-a-dev/</guid><description>For 13 years I&apos;ve built a dev career I&apos;m proud of. But I didn&apos;t do it alone. These were the 10 most important lessons I learned along the way.</description><pubDate>Sat, 15 Feb 2025 14:56:35 GMT</pubDate><category>opinion</category><category>backlog-newsletter</category><category>career</category><category>opinion</category></item><item><title>Backlog #6 - Are You a Good Dev?</title><link>https://blog.lsantos.dev/en/backlog-6-are-you-a-good-dev/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/backlog-6-are-you-a-good-dev/</guid><description>What makes a good dev a good dev? What&apos;s a strong engineer and what&apos;s a weak one? Are you one of the good ones?</description><pubDate>Thu, 23 Jan 2025 11:00:04 GMT</pubDate><category>career</category><category>backlog-newsletter</category><category>career</category></item><item><title>Everything about Node running TypeScript natively!</title><link>https://blog.lsantos.dev/en/everything-about-node-running-typescript-natively/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/everything-about-node-running-typescript-natively/</guid><description>Node 22 natively supports TypeScript! But now what? Is that really it? Let&apos;s learn how you can run TS much more easily and what the main settings are!</description><pubDate>Wed, 22 Jan 2025 11:01:10 GMT</pubDate><category>typescript</category><category>typescript</category><category>nodejs</category></item><item><title>Backlog #5 - The Great Dev Bubble Show</title><link>https://blog.lsantos.dev/en/backlog-5-the-great-dev-bubble-show/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/backlog-5-the-great-dev-bubble-show/</guid><description>This is the most honest backlog I&apos;ve ever posted. Here you&apos;ll get straight answers to things people ask me, and an authentic look at my own view of the dev bubble.</description><pubDate>Thu, 09 Jan 2025 11:00:27 GMT</pubDate><category>opinion</category><category>backlog-newsletter</category><category>opinion</category><category>career</category></item><item><title>Backlog #4 - The First Programming Language</title><link>https://blog.lsantos.dev/en/backlog-4-first-programming-language/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/backlog-4-first-programming-language/</guid><description>What if I told you the first programming language came from a loom? Let&apos;s find out what sewing has to do with code!</description><pubDate>Wed, 25 Dec 2024 11:00:16 GMT</pubDate><category>career</category><category>backlog-newsletter</category><category>computing</category><category>development</category><category>history</category></item><item><title>Backlog #3: 29 Years of JavaScript!</title><link>https://blog.lsantos.dev/en/backlog-3-29-years-of-javascript/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/backlog-3-29-years-of-javascript/</guid><description>December 4th, 1995 was a special day because it was the launch of the language everyone loves to hate! Let&apos;s dive into the history of JavaScript!</description><pubDate>Thu, 12 Dec 2024 11:00:40 GMT</pubDate><category>javascript</category><category>backlog-newsletter</category><category>javascript</category></item><item><title>Backlog #2: Hard Work Won&apos;t Take You That Far</title><link>https://blog.lsantos.dev/en/backlog-2-hard-work-wont-take-you-that-far/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/backlog-2-hard-work-wont-take-you-that-far/</guid><description>Talent is a myth, and effort and hard work are nothing without context. In this issue, we explore why success is pure luck, or almost...</description><pubDate>Thu, 28 Nov 2024 11:00:38 GMT</pubDate><category>opinion</category><category>backlog-newsletter</category><category>opinion</category><category>career</category></item><item><title>Backlog #1 - The First PC in History!</title><link>https://blog.lsantos.dev/en/backlog-1-the-first-pc-in-history/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/backlog-1-the-first-pc-in-history/</guid><description>Let&apos;s explore the history of computing within our own history! To start, what was the world&apos;s first personal computer?</description><pubDate>Thu, 14 Nov 2024 11:00:54 GMT</pubDate><category>career</category><category>backlog-newsletter</category></item><item><title>Backlog #0: A Rant</title><link>https://blog.lsantos.dev/en/backlog-0-a-rant/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/backlog-0-a-rant/</guid><description>A personal story about almost giving up and getting a fresh start. Welcome to my new project, Backlog.</description><pubDate>Sat, 09 Nov 2024 00:44:58 GMT</pubDate><category>opinion</category><category>backlog-newsletter</category><category>opinion</category></item><item><title>Deno 2.0: Is Node Toast Now?</title><link>https://blog.lsantos.dev/en/deno-2-is-node-toast-now/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/deno-2-is-node-toast-now/</guid><description>Deno finally hit version 2.0! Find out what&apos;s changed in the most popular TypeScript runtime, and why it might replace Node.js</description><pubDate>Wed, 30 Oct 2024 11:00:52 GMT</pubDate><category>javascript</category><category>deno</category><category>typescript</category></item><item><title>JavaScript Will Be Completely Different in 2025</title><link>https://blog.lsantos.dev/en/javascript-will-be-completely-different-in-2025/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/javascript-will-be-completely-different-in-2025/</guid><description>JavaScript could change quite a bit in 2025, some very interesting proposals were approved, see which ones!</description><pubDate>Wed, 16 Oct 2024 11:00:01 GMT</pubDate><category>javascript</category><category>javascript</category><category>ecmascript</category><category>development</category></item><item><title>Getting started with Neovim</title><link>https://blog.lsantos.dev/en/getting-started-with-neovim/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/getting-started-with-neovim/</guid><description>I gave in to Vim and it wasn&apos;t easy getting it exactly the way I wanted. So I want to teach you, so you don&apos;t have to go through the same trouble!</description><pubDate>Wed, 25 Sep 2024 11:00:53 GMT</pubDate><category>meta</category><category>vim</category><category>tools</category><category>development</category></item><item><title>Using Derived Types</title><link>https://blog.lsantos.dev/en/using-derived-types/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/using-derived-types/</guid><description>When should we be smarter about coupling our types to other types? When does repeating code actually pay off?</description><pubDate>Wed, 11 Sep 2024 11:00:14 GMT</pubDate><category>typescript</category><category>typescript</category><category>javascript</category></item><item><title>What&apos;s New About JavaScript Signals</title><link>https://blog.lsantos.dev/en/whats-new-about-javascript-signals/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/whats-new-about-javascript-signals/</guid><description>What&apos;s the new JavaScript signals proposal about? How does it work and what is it for?</description><pubDate>Wed, 21 Aug 2024 11:00:14 GMT</pubDate><category>javascript</category><category>javascript</category><category>ecmascript</category><category>development</category><category>signals</category></item><item><title>Are UUIDs Bad? Understanding What ULID Is</title><link>https://blog.lsantos.dev/en/are-uuids-bad-understanding-ulid/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/are-uuids-bad-understanding-ulid/</guid><description>How can you generate IDs that are random but also sortable at the same time? Meet ULIDs and what they promise to change!</description><pubDate>Wed, 14 Aug 2024 11:00:09 GMT</pubDate><category>meta</category><category>theory</category><category>computing</category><category>architecture</category></item><item><title>When to Use ANY in TypeScript</title><link>https://blog.lsantos.dev/en/when-to-use-any-in-typescript/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/when-to-use-any-in-typescript/</guid><description>We all know that using &quot;any&quot; is a bad pattern, but did you know there are some cases where any is our only option!</description><pubDate>Wed, 07 Aug 2024 11:00:19 GMT</pubDate><category>typescript</category><category>typescript</category><category>javascript</category></item><item><title>How I implemented the date mocks in Node.js core</title><link>https://blog.lsantos.dev/en/how-i-implemented-date-mocks-in-node-js-core/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/how-i-implemented-date-mocks-in-node-js-core/</guid><description>Have you ever wanted to contribute to an open source project? Let me tell you how I got my code into Node.js!</description><pubDate>Wed, 31 Jul 2024 11:00:32 GMT</pubDate><category>javascript</category><category>nodejs</category><category>javascript</category><category>open source</category></item><item><title>What to Expect from JavaScript in 2025</title><link>https://blog.lsantos.dev/en/what-to-expect-from-javascript-in-2025/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/what-to-expect-from-javascript-in-2025/</guid><description>What to expect from JavaScript in 2025? Learn about the main proposals and features you might get in the future!</description><pubDate>Wed, 24 Jul 2024 11:00:49 GMT</pubDate><category>typescript</category><category>ecmascript</category><category>javascript</category><category>development</category></item><item><title>Typing environment variables the right way with TS</title><link>https://blog.lsantos.dev/en/typing-environment-variables-the-right-way-with-ts/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/typing-environment-variables-the-right-way-with-ts/</guid><description>Probably one of the biggest problems we have in TypeScript, discover the solution for typing envs and how to apply it to your project!</description><pubDate>Fri, 19 Jul 2024 11:00:44 GMT</pubDate><category>typescript</category><category>typescript</category></item><item><title>What&apos;s New in JavaScript in 2024</title><link>https://blog.lsantos.dev/en/whats-new-javascript-2024/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/whats-new-javascript-2024/</guid><description>Learn everything that&apos;s new in the latest version of JavaScript in 2024!</description><pubDate>Wed, 17 Jul 2024 11:00:20 GMT</pubDate><category>typescript</category><category>ecmascript</category><category>javascript</category></item><item><title>What Is Corepack and How Can You Use It?</title><link>https://blog.lsantos.dev/en/what-is-corepack-and-how-to-use-it/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/what-is-corepack-and-how-to-use-it/</guid><description>Learn how to use Corepack, the tool that&apos;s stirring up controversy in the Node.js world</description><pubDate>Thu, 11 Jul 2024 11:00:51 GMT</pubDate><category>javascript</category><category>nodejs</category></item><item><title>The Biggest TypeScript Update in Years - TypeScript 5.5</title><link>https://blog.lsantos.dev/en/typescript-5-5-biggest-update-in-years/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/typescript-5-5-biggest-update-in-years/</guid><description>Learn everything about the biggest TypeScript update in years!</description><pubDate>Wed, 10 Jul 2024 17:23:32 GMT</pubDate><category>typescript</category><category>typescript</category></item><item><title>JavaScript Gets New Set Methods</title><link>https://blog.lsantos.dev/en/javascript-new-set-methods/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/javascript-new-set-methods/</guid><description>JavaScript just got new Set methods in 2024, let&apos;s explore them!</description><pubDate>Thu, 04 Jul 2024 11:00:40 GMT</pubDate><category>typescript</category><category>ecmascript</category><category>javascript</category></item><item><title>Using Jest with TypeScript</title><link>https://blog.lsantos.dev/en/using-jest-with-typescript/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/using-jest-with-typescript/</guid><description>Learn how to set up your application to run automated tests with Jest written in TypeScript</description><pubDate>Wed, 19 Jun 2024 11:00:32 GMT</pubDate><category>typescript</category><category>tests</category><category>typescript</category><category>jest</category><category>nodejs</category></item><item><title>Using Assertion Functions in TypeScript</title><link>https://blog.lsantos.dev/en/using-assertion-functions-in-typescript/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/using-assertion-functions-in-typescript/</guid><description>Learn how to use one of TypeScript&apos;s most important, and still most overlooked, features! Assertion functions.</description><pubDate>Fri, 14 Jun 2024 11:00:51 GMT</pubDate><category>typescript</category><category>typescript</category><category>nodejs</category><category>deno</category></item><item><title>Using Mocks with the Node Test Runner</title><link>https://blog.lsantos.dev/en/using-mocks-with-the-node-test-runner/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/using-mocks-with-the-node-test-runner/</guid><description>How to use mocks, stubs and spies in your tests using Node.js&apos; native Test Runner</description><pubDate>Wed, 05 Jun 2024 11:00:45 GMT</pubDate><category>javascript</category><category>nodejs</category><category>javascript</category><category>typescript</category></item><item><title>Getting Started with the Node.js Test Runner</title><link>https://blog.lsantos.dev/en/getting-started-with-the-node-js-test-runner/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/getting-started-with-the-node-js-test-runner/</guid><description>Learn how to start writing your tests with Node.js in the simplest and easiest way possible: using the Node.js Test Runner</description><pubDate>Thu, 30 May 2024 11:00:15 GMT</pubDate><category>javascript</category><category>nodejs</category><category>typescript</category><category>tests</category></item><item><title>What are &apos;const assertions&apos; in TypeScript? The famous &apos;as const&apos;</title><link>https://blog.lsantos.dev/en/what-are-const-assertions-in-typescript/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/what-are-const-assertions-in-typescript/</guid><description>What are const assertions? Do you know the difference between the odd &apos;const as const&apos; and Object.freeze?</description><pubDate>Wed, 24 Apr 2024 11:00:59 GMT</pubDate><category>typescript</category><category>typescript</category></item><item><title>Should You Be Using Enums in TypeScript?</title><link>https://blog.lsantos.dev/en/should-you-be-using-enums-in-typescript/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/should-you-be-using-enums-in-typescript/</guid><description>You&apos;ve probably heard someone say &quot;Don&apos;t use Enums&quot;... But why does nobody like enums in TypeScript? Does that even make sense?</description><pubDate>Wed, 17 Apr 2024 11:00:42 GMT</pubDate><category>typescript</category><category>typescript</category></item><item><title>Types versus interfaces in 2024, which one should you use?</title><link>https://blog.lsantos.dev/en/types-versus-interfaces-in-typescript-2024/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/types-versus-interfaces-in-typescript-2024/</guid><description>What&apos;s the difference between types and interfaces in TypeScript? When should you use one over the other?</description><pubDate>Wed, 10 Apr 2024 11:00:35 GMT</pubDate><category>typescript</category><category>typescript</category></item><item><title>Filtering Class Methods From a Type in TypeScript</title><link>https://blog.lsantos.dev/en/filtering-class-methods-from-a-type-in-typescript/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/filtering-class-methods-from-a-type-in-typescript/</guid><description>Learn how to create a TypeScript type that filters properties from a class by removing methods, perfect for building features like custom filters.</description><pubDate>Wed, 03 Apr 2024 11:00:57 GMT</pubDate><category>typescript</category><category>typescript</category></item><item><title>Deno KV on NPM: The Database You Needed and Didn&apos;t Know It</title><link>https://blog.lsantos.dev/en/deno-kv-on-npm/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/deno-kv-on-npm/</guid><description>The world&apos;s coolest database just landed on NPM for Node.js users.</description><pubDate>Wed, 27 Mar 2024 11:00:15 GMT</pubDate><category>javascript</category><category>deno</category><category>typescript</category><category>databases</category></item><item><title>Auto-accessors in TypeScript</title><link>https://blog.lsantos.dev/en/auto-accessors-in-typescript/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/auto-accessors-in-typescript/</guid><description>Ever heard of auto-accessors? Know what that feature does? Let&apos;s dig into how it works.</description><pubDate>Wed, 20 Mar 2024 11:00:23 GMT</pubDate><category>typescript</category><category>typescript</category></item><item><title>Parallel Assignments - A Feature You Didn&apos;t Know Existed in JavaScript</title><link>https://blog.lsantos.dev/en/parallel-assignments-a-feature-you-didnt-know-existed-in-javascript/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/parallel-assignments-a-feature-you-didnt-know-existed-in-javascript/</guid><description>Do you know what parallel assignments are? Let&apos;s discover this lesser-known JavaScript feature!</description><pubDate>Wed, 13 Mar 2024 11:00:54 GMT</pubDate><category>javascript</category><category>javascript</category><category>typescript</category></item><item><title>Cryptography #1 - Asymmetric Cryptography with RSA</title><link>https://blog.lsantos.dev/en/asymmetric-cryptography-with-rsa/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/asymmetric-cryptography-with-rsa/</guid><description>Do you know how asymmetric key pairs, the ones surrounding us everywhere, actually work? Want to learn how to calculate a key by hand? Then this article is for you!</description><pubDate>Wed, 06 Mar 2024 11:00:32 GMT</pubDate><category>security</category><category>security</category><category>development</category><category>cryptography</category><category>series</category></item><item><title>What&apos;s New in Deno 1.40</title><link>https://blog.lsantos.dev/en/whats-new-in-deno-1-40/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/whats-new-in-deno-1-40/</guid><description>Understand the main changes in Deno 1.40 and how they directly impact your life with the tool!</description><pubDate>Wed, 28 Feb 2024 11:00:45 GMT</pubDate><category>javascript</category><category>deno</category><category>typescript</category></item><item><title>The concept of &quot;reference&quot; and &quot;value&quot; in JavaScript</title><link>https://blog.lsantos.dev/en/the-concept-of-reference-and-value-in-javascript/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/the-concept-of-reference-and-value-in-javascript/</guid><description>Understand the differences between reference and value in JavaScript: primitives get copied, objects create shared pointers. Learn cloning techniques.</description><pubDate>Wed, 21 Feb 2024 11:00:38 GMT</pubDate><category>javascript</category><category>javascript</category><category>typescript</category></item><item><title>What&apos;s New in TypeScript 5.4</title><link>https://blog.lsantos.dev/en/whats-new-in-typescript-5-4-beta/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/whats-new-in-typescript-5-4-beta/</guid><description>Check out the main changes in the TypeScript 5.4 beta! Including the new NoInfer type with deep explanations!</description><pubDate>Wed, 14 Feb 2024 11:00:19 GMT</pubDate><category>typescript</category><category>typescript</category></item><item><title>On Technical Interviews: It Was Never About the Code</title><link>https://blog.lsantos.dev/en/on-technical-interviews-it-was-never-about-the-code/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/on-technical-interviews-it-was-never-about-the-code/</guid><description>In this article, we talk about the point of technical interviews and why I believe none of us really understood what they&apos;re actually for.</description><pubDate>Wed, 31 Jan 2024 11:00:42 GMT</pubDate><category>career</category><category>career</category></item><item><title>Real-time applications with Deno KV</title><link>https://blog.lsantos.dev/en/real-time-applications-deno-kv/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/real-time-applications-deno-kv/</guid><description>Creating real-time applications became much easier with a new tool launched by Deno in version 1.38.5: the watch mode!</description><pubDate>Wed, 24 Jan 2024 11:00:34 GMT</pubDate><category>javascript</category><category>deno</category><category>typescript</category></item><item><title>Cron jobs in the cloud with Deno Cron</title><link>https://blog.lsantos.dev/en/cron-jobs-in-the-cloud-with-deno-cron/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/cron-jobs-in-the-cloud-with-deno-cron/</guid><description>Probably a feature everyone has had to use at some point just got a fully serverless equivalent! Let&apos;s take a look at Deno Cron</description><pubDate>Wed, 17 Jan 2024 11:00:19 GMT</pubDate><category>javascript</category><category>deno</category><category>typescript</category><category>development</category></item><item><title>Cryptography #0 - Essential Concepts</title><link>https://blog.lsantos.dev/en/cryptography-0-essential-concepts/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/cryptography-0-essential-concepts/</guid><description>How about learning several essential cryptography concepts?!</description><pubDate>Mon, 15 Jan 2024 23:47:05 GMT</pubDate><category>security</category><category>cryptography</category><category>security</category><category>series</category></item><item><title>Understanding JavaScript Maps</title><link>https://blog.lsantos.dev/en/understanding-javascript-maps/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/understanding-javascript-maps/</guid><description>Since the dawn of humanity, we have tried to relate things in key and value objects. Let&apos;s talk about how JavaScript solves this with Maps.</description><pubDate>Sat, 13 Jan 2024 20:42:28 GMT</pubDate><category>javascript</category><category>javascript</category><category>development</category><category>ecmascript</category></item><item><title>Queues have arrived in Deno KV</title><link>https://blog.lsantos.dev/en/queues-have-arrived-in-deno-kv/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/queues-have-arrived-in-deno-kv/</guid><description>The simplest way to build messaging systems these days is Deno Queues, let&apos;s understand everything about this new tool!</description><pubDate>Wed, 10 Jan 2024 11:00:32 GMT</pubDate><category>javascript</category><category>deno</category><category>typescript</category><category>development</category></item><item><title>Deno 1.38: env support, API changes, and new features</title><link>https://blog.lsantos.dev/en/deno-1-38-new-features/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/deno-1-38-new-features/</guid><description>.env file support, test runner in the REPL, Unix socket support and much more in the new Deno 1.38 release!</description><pubDate>Wed, 03 Jan 2024 11:00:52 GMT</pubDate><category>javascript</category><category>deno</category><category>typescript</category><category>development</category></item><item><title>Node 21.2 is the most special version of all!</title><link>https://blog.lsantos.dev/en/node-21-2-is-the-most-special-version-of-all/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/node-21-2-is-the-most-special-version-of-all/</guid><description>Come with me to understand what changed in Node.js 21.2, why this is one of the most special versions of all, and what it means!</description><pubDate>Fri, 24 Nov 2023 23:50:58 GMT</pubDate><category>javascript</category><category>nodejs</category><category>javascript</category><category>development</category></item><item><title>What&apos;s New in Node 21!</title><link>https://blog.lsantos.dev/en/whats-new-in-node-21/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/whats-new-in-node-21/</guid><description>Find out everything about the main new features in Node 21 and 21.1 arriving in Node.js!</description><pubDate>Fri, 10 Nov 2023 16:22:47 GMT</pubDate><category>javascript</category><category>nodejs</category><category>javascript</category></item><item><title>TypeScript 5.3 Beta Features</title><link>https://blog.lsantos.dev/en/typescript-5-3-beta-features/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/typescript-5-3-beta-features/</guid><description>Let&apos;s explore all the new features in the TypeScript 5.3 beta release!</description><pubDate>Wed, 01 Nov 2023 21:21:53 GMT</pubDate><category>typescript</category><category>typescript</category><category>javascript</category><category>nodejs</category><category>deno</category></item><item><title>Defining static methods in interfaces with TypeScript</title><link>https://blog.lsantos.dev/en/defining-static-methods-in-interfaces-with-typescript/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/defining-static-methods-in-interfaces-with-typescript/</guid><description>Do you know how to type static methods and properties in TypeScript? Come here, I&apos;ll show you how!</description><pubDate>Tue, 17 Oct 2023 22:00:33 GMT</pubDate><category>typescript</category><category>typescript</category><category>javascript</category><category>development</category></item><item><title>Accessing .env files natively with Node.js</title><link>https://blog.lsantos.dev/en/accessing-env-files-natively-with-nodejs/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/accessing-env-files-natively-with-nodejs/</guid><description>Ever thought about loading your environment variables directly into Node.js? Version 20.6 brings an incredible new feature!</description><pubDate>Mon, 09 Oct 2023 22:19:59 GMT</pubDate><category>javascript</category><category>nodejs</category><category>javascript</category><category>development</category></item><item><title>Best practices for HarperDB projects using TypeScript</title><link>https://blog.lsantos.dev/en/best-practices-for-harperdb-projects-using-typescript/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/best-practices-for-harperdb-projects-using-typescript/</guid><description>When you are working with HarperDB, you can use TypeScript to improve your development experience. Let&apos;s talk about folder structures, code best practices, and how to set up your project.</description><pubDate>Mon, 09 Oct 2023 20:17:39 GMT</pubDate><category>typescript</category><category>typescript</category><category>harperdb</category><category>databases</category><category>nodejs</category></item><item><title>How to run TypeScript natively in Node.js with TSX</title><link>https://blog.lsantos.dev/en/how-to-run-typescript-natively-in-nodejs-with-tsx/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/how-to-run-typescript-natively-in-nodejs-with-tsx/</guid><description>Have you ever wondered what it would be like to run TypeScript directly on Node.js without needing a compilation step? It&apos;s possible, with TSX!</description><pubDate>Wed, 04 Oct 2023 17:45:33 GMT</pubDate><category>typescript</category><category>typescript</category><category>nodejs</category><category>development</category><category>javascript</category></item><item><title>What&apos;s new in TS 5.3</title><link>https://blog.lsantos.dev/en/whats-new-in-ts-5-3/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/whats-new-in-ts-5-3/</guid><description>Let&apos;s go through what might land in TS 5.3 with this awesome list of features!</description><pubDate>Wed, 30 Aug 2023 09:00:30 GMT</pubDate><category>typescript</category><category>typescript</category><category>development</category><category>nodejs</category><category>javascript</category></item><item><title>You Will Never Finish Anything - Lessons From a Decade of Mistakes</title><link>https://blog.lsantos.dev/en/you-will-never-finish-anything-lessons-from-a-decade-of-mistakes/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/you-will-never-finish-anything-lessons-from-a-decade-of-mistakes/</guid><description>What do you do when you find out that the control you thought you had over your life was just an illusion you created yourself?</description><pubDate>Sat, 26 Aug 2023 12:48:12 GMT</pubDate><category>opinion</category><category>career</category><category>opinion</category><category>personal</category></item><item><title>TS 5.2&apos;s new feature: meet Using</title><link>https://blog.lsantos.dev/en/typescript-5-2-using/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/typescript-5-2-using/</guid><description>TypeScript 5.2 is rolling out a new keyword called using. But do you know what it&apos;s for?</description><pubDate>Thu, 03 Aug 2023 11:00:11 GMT</pubDate><category>typescript</category><category>typescript</category><category>javascript</category><category>nodejs</category><category>development</category></item><item><title>Atomic operations with Deno KV</title><link>https://blog.lsantos.dev/en/atomic-operations-with-deno-kv/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/atomic-operations-with-deno-kv/</guid><description>Deno KV is moving faster and faster, let&apos;s learn what atomic transactions are and what use they have in a KV database.</description><pubDate>Thu, 27 Jul 2023 08:00:25 GMT</pubDate><category>javascript</category><category>deno</category><category>typescript</category><category>databases</category></item><item><title>Have you heard of Deno KV?</title><link>https://blog.lsantos.dev/en/have-you-heard-of-deno-kv/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/have-you-heard-of-deno-kv/</guid><description>Have you heard of the new Deno KV? Then it&apos;s time to discover this tool that can save your life</description><pubDate>Thu, 20 Jul 2023 11:00:50 GMT</pubDate><category>javascript</category><category>deno</category><category>databases</category><category>typescript</category></item><item><title>Everything about the new Docker Compose file watch</title><link>https://blog.lsantos.dev/en/docker-compose-file-watch/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/docker-compose-file-watch/</guid><description>Docker recently announced a new API for Docker Compose that lets it take automatic actions based on which files changed! Let&apos;s understand it all!</description><pubDate>Thu, 06 Jul 2023 11:00:05 GMT</pubDate><category>infra</category><category>docker</category><category>containers</category><category>development</category><category>devops</category></item><item><title>Debugging Containers with Docker Gremlin</title><link>https://blog.lsantos.dev/en/debugging-containers-with-docker-gremlin/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/debugging-containers-with-docker-gremlin/</guid><description>You&apos;ve been debugging your Docker containers wrong all these years and I can prove it! Let&apos;s meet Gremlin, the extension that&apos;s going to change all of that!</description><pubDate>Thu, 22 Jun 2023 11:00:32 GMT</pubDate><category>infra</category><category>docker</category><category>containers</category><category>development</category><category>devops</category></item><item><title>What is type-testing in TypeScript? Is it an anti-pattern? Is it worth it?</title><link>https://blog.lsantos.dev/en/what-is-type-testing-in-typescript/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/what-is-type-testing-in-typescript/</guid><description>Did you know there&apos;s a type of test you can&apos;t do in plain JavaScript? Learn everything about Type Testing with TypeScript!</description><pubDate>Wed, 14 Jun 2023 22:46:19 GMT</pubDate><category>typescript</category><category>typescript</category><category>javascript</category><category>nodejs</category><category>development</category></item><item><title>What is NPM package provenance?</title><link>https://blog.lsantos.dev/en/what-is-npm-package-provenance/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/what-is-npm-package-provenance/</guid><description>NPM just shipped a genuinely interesting feature that&apos;s going to improve our package security by a lot. Meet package provenance!</description><pubDate>Fri, 12 May 2023 11:00:16 GMT</pubDate><category>security</category><category>security</category><category>nodejs</category><category>javascript</category><category>development</category></item><item><title>What&apos;s new in ECMAScript 2023?</title><link>https://blog.lsantos.dev/en/whats-new-in-ecmascript-2023/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/whats-new-in-ecmascript-2023/</guid><description>The official ECMAScript 2023 release is finalized and we already know which features are coming in the new version of the JavaScript spec</description><pubDate>Thu, 04 May 2023 10:00:18 GMT</pubDate><category>typescript</category><category>ecmascript</category><category>javascript</category><category>typescript</category><category>nodejs</category><category>development</category></item><item><title>Node.js 20 is out! Here&apos;s what&apos;s new</title><link>https://blog.lsantos.dev/en/node-20-is-out-whats-new/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/node-20-is-out-whats-new/</guid><description>Another year, another official Node.js release. Version 20 brings some significant changes, learn all about them here!</description><pubDate>Thu, 27 Apr 2023 10:00:07 GMT</pubDate><category>javascript</category><category>nodejs</category><category>javascript</category><category>ecmascript</category><category>development</category></item><item><title>Deno now has a native database</title><link>https://blog.lsantos.dev/en/deno-now-has-a-native-database/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/deno-now-has-a-native-database/</guid><description>Deno surprises us again with a native database implemented right in the global namespace! Let&apos;s understand how it works!</description><pubDate>Wed, 19 Apr 2023 11:00:53 GMT</pubDate><category>typescript</category><category>typescript</category><category>deno</category><category>development</category></item><item><title>Type-Level Programming - #SemanaTS Day 5</title><link>https://blog.lsantos.dev/en/type-level-programming-semanats-day-5/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/type-level-programming-semanats-day-5/</guid><description>You&apos;ve heard of object-oriented programming, but what about type-oriented? A development style that can help you write much safer code with TypeScript</description><pubDate>Fri, 07 Apr 2023 11:00:08 GMT</pubDate><category>typescript</category><category>typescript</category></item><item><title>Advanced TypeScript Techniques - #SemanaTS Day 4</title><link>https://blog.lsantos.dev/en/advanced-typescript-techniques-semanats-day-4/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/advanced-typescript-techniques-semanats-day-4/</guid><description>Let&apos;s learn all about more advanced TypeScript techniques, from type narrowing to generics and branded types.</description><pubDate>Thu, 06 Apr 2023 11:00:47 GMT</pubDate><category>typescript</category><category>typescript</category></item><item><title>Good and Bad TypeScript Practices - #SemanaTS Day 3</title><link>https://blog.lsantos.dev/en/good-and-bad-typescript-practices-semanats-day-3/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/good-and-bad-typescript-practices-semanats-day-3/</guid><description>Have you ever wondered what the best TypeScript practices are for keeping your code typed and safe? I&apos;ll show you!</description><pubDate>Wed, 05 Apr 2023 11:00:41 GMT</pubDate><category>typescript</category><category>typescript</category></item><item><title>External Types and Declaration Files - TS Week Day 2</title><link>https://blog.lsantos.dev/en/external-types-and-declaration-files-ts-week-day-2/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/external-types-and-declaration-files-ts-week-day-2/</guid><description>On the second day of TS Week, let&apos;s talk about type declaration files and best practices for building libraries!</description><pubDate>Tue, 04 Apr 2023 11:00:24 GMT</pubDate><category>typescript</category><category>typescript</category></item><item><title>What You Knew and Didn&apos;t Know About TS - TS Week Day 1</title><link>https://blog.lsantos.dev/en/what-you-knew-and-didnt-know-about-ts-ts-week-day-1/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/what-you-knew-and-didnt-know-about-ts-ts-week-day-1/</guid><description>Learn everything about TypeScript and how you can take your first steps in this technology that keeps growing more and more!</description><pubDate>Mon, 03 Apr 2023 11:00:04 GMT</pubDate><category>typescript</category><category>typescript</category><category>javascript</category><category>development</category></item><item><title>Official TypeScript 5.0 News</title><link>https://blog.lsantos.dev/en/typescript-5-official-updates/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/typescript-5-official-updates/</guid><description>It&apos;s official! TypeScript released version 5.0 and I&apos;m going to tell you everything that&apos;s new!</description><pubDate>Thu, 23 Mar 2023 11:00:38 GMT</pubDate><category>typescript</category><category>typescript</category><category>development</category><category>technology</category></item><item><title>The New Iterator.range Proposal for JavaScript Sequences</title><link>https://blog.lsantos.dev/en/the-new-iterator-range-proposal-for-javascript-sequences/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/the-new-iterator-range-proposal-for-javascript-sequences/</guid><description>An API you never thought you needed until you did! Meet number sequences in JavaScript!</description><pubDate>Thu, 16 Feb 2023 11:00:08 GMT</pubDate><category>javascript</category><category>javascript</category><category>ecmascript</category><category>development</category><category>typescript</category></item><item><title>What&apos;s new in TypeScript 5.0 Beta</title><link>https://blog.lsantos.dev/en/whats-new-in-typescript-5-0-beta/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/whats-new-in-typescript-5-0-beta/</guid><description>TypeScript 5.0 beta is out! Time to find out what&apos;s new in the latest version of the superset everyone loves!</description><pubDate>Thu, 02 Feb 2023 11:11:51 GMT</pubDate><category>typescript</category><category>typescript</category><category>development</category><category>ecmascript</category><category>javascript</category><category>nodejs</category></item><item><title>What are errors and what is error.cause for in JavaScript?</title><link>https://blog.lsantos.dev/en/what-are-errors-and-what-is-error-cause-for-in-javascript/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/what-are-errors-and-what-is-error-cause-for-in-javascript/</guid><description>Error handling is one of the most important and hardest skills for any dev. But almost nobody knows there&apos;s a much easier way to handle your errors.</description><pubDate>Wed, 18 Jan 2023 11:00:30 GMT</pubDate><category>javascript</category><category>javascript</category><category>ecmascript</category><category>typescript</category><category>development</category></item><item><title>What Are Generators in JS For?</title><link>https://blog.lsantos.dev/en/what-are-generators-in-js-for/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/what-are-generators-in-js-for/</guid><description>Generators aren&apos;t a recent JavaScript API, but they&apos;re still not very well known. Let&apos;s learn what you can use generators for and how you can take your skills to another level with this feature</description><pubDate>Thu, 05 Jan 2023 13:00:46 GMT</pubDate><category>javascript</category><category>javascript</category><category>ecmascript</category></item><item><title>Let&apos;s talk about Deno</title><link>https://blog.lsantos.dev/en/lets-talk-about-deno/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/lets-talk-about-deno/</guid><description>Is Node.js finally dying? Is this the moment to migrate to Deno? Let&apos;s understand everything about it in this article!</description><pubDate>Wed, 21 Dec 2022 12:00:14 GMT</pubDate><category>javascript</category><category>deno</category><category>javascript</category><category>typescript</category></item><item><title>Is JavaScript Going to Stop Being Single-Threaded? Understanding Module Expressions</title><link>https://blog.lsantos.dev/en/is-javascript-going-to-stop-being-single-threaded/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/is-javascript-going-to-stop-being-single-threaded/</guid><description>What if JavaScript were as good at running on more than one thread as it is at running on just one? Let&apos;s understand Module Expressions!</description><pubDate>Thu, 08 Dec 2022 13:00:41 GMT</pubDate><category>typescript</category><category>ecmascript</category><category>javascript</category><category>development</category></item><item><title>Decorators in JavaScript</title><link>https://blog.lsantos.dev/en/javascript-decorators/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/javascript-decorators/</guid><description>One of JavaScript&apos;s most important proposals just hit stage 3! Understand what decorators are and why they&apos;re not the only new thing in this proposal!</description><pubDate>Fri, 04 Nov 2022 14:00:14 GMT</pubDate><category>javascript</category><category>javascript</category><category>ecmascript</category><category>development</category><category>typescript</category></item><item><title>Simple Multi-Node Data Replication with HarperDB Pub/Sub</title><link>https://blog.lsantos.dev/en/simple-multi-node-data-replication-with-harperdb-pubsub/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/simple-multi-node-data-replication-with-harperdb-pubsub/</guid><description>In the previous articles I wrote about HarperDB, we explored Kubernetes and Helm. Now it&apos;s time to understand another cool feature: multi-node replication with pub/sub.</description><pubDate>Fri, 21 Oct 2022 11:10:15 GMT</pubDate><category>infra</category><category>harperdb</category><category>databases</category><category>javascript</category><category>pubsub</category></item><item><title>Simpler CLIs with util.parseArgs</title><link>https://blog.lsantos.dev/en/simpler-clis-with-util-parseargs/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/simpler-clis-with-util-parseargs/</guid><description>Learn how Node.js made building command line tools easier with the new parseArgs method!</description><pubDate>Thu, 20 Oct 2022 13:00:04 GMT</pubDate><category>javascript</category><category>nodejs</category><category>javascript</category><category>typescript</category></item><item><title>Everything about TypeScript&apos;s new satisfies operator</title><link>https://blog.lsantos.dev/en/everything-about-the-new-satisfies-operator-in-typescript/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/everything-about-the-new-satisfies-operator-in-typescript/</guid><description>With the TypeScript 4.9 beta, we got a new operator, satisfies. Let&apos;s understand how this new operator can be useful and why it&apos;s super cool!</description><pubDate>Wed, 05 Oct 2022 13:00:52 GMT</pubDate><category>typescript</category><category>typescript</category><category>javascript</category></item><item><title>Creating Telegram bots with GrammY</title><link>https://blog.lsantos.dev/en/creating-telegram-bots-with-grammy/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/creating-telegram-bots-with-grammy/</guid><description>Learn how to build amazing Telegram bots using a fantastic tool that&apos;s going to change the way you work with automations.</description><pubDate>Wed, 05 Oct 2022 13:00:00 GMT</pubDate><category>javascript</category><category>deno</category><category>typescript</category><category>bots</category><category>telegram</category><category>grammy</category></item><item><title>Everything about the new array methods in JavaScript</title><link>https://blog.lsantos.dev/en/everything-about-the-new-array-methods-in-javascript/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/everything-about-the-new-array-methods-in-javascript/</guid><description>One of the promises of ECMAScript is the addition of new array methods. In this article we&apos;ll go through every one of them and give a use case for each, so you won&apos;t be left out!</description><pubDate>Thu, 22 Sep 2022 13:00:15 GMT</pubDate><category>javascript</category><category>javascript</category><category>ecmascript</category><category>development</category><category>nodejs</category></item><item><title>What are &quot;do expressions&quot; in JavaScript?</title><link>https://blog.lsantos.dev/en/what-are-do-expressions-in-javascript/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/what-are-do-expressions-in-javascript/</guid><description>Understand one of the most famous and important forms of expressions that are on their way into JavaScript soon!</description><pubDate>Wed, 07 Sep 2022 13:00:17 GMT</pubDate><category>javascript</category><category>javascript</category><category>ecmascript</category><category>development</category></item><item><title>What to Expect from JavaScript in 2023</title><link>https://blog.lsantos.dev/en/what-to-expect-from-javascript-in-2023/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/what-to-expect-from-javascript-in-2023/</guid><description>What does JavaScript have in store for us in 2023? In this post I go over the main proposals that could become reality next year!</description><pubDate>Sat, 27 Aug 2022 00:09:44 GMT</pubDate><category>javascript</category><category>javascript</category><category>ecmascript</category><category>development</category><category>typescript</category></item><item><title>Using JWT tokens safely</title><link>https://blog.lsantos.dev/en/using-jwt-tokens-safely/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/using-jwt-tokens-safely/</guid><description>You&apos;ve been using JWT tokens unsafely in every one of your projects! In this article you&apos;ll learn how to protect your tokens against attacks!</description><pubDate>Thu, 18 Aug 2022 14:00:00 GMT</pubDate><category>javascript</category><category>javascript</category><category>security</category><category>typescript</category></item><item><title>The 5 hardest things in computer science</title><link>https://blog.lsantos.dev/en/5-hardest-things-in-computer-science/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/5-hardest-things-in-computer-science/</guid><description>After almost 11 years in this career, I decided to write a bit about the things I find hardest in programming, and it&apos;s not writing code!</description><pubDate>Wed, 03 Aug 2022 14:00:00 GMT</pubDate><category>opinion</category><category>opinion</category><category>development</category><category>architecture</category></item><item><title>JavaScript news in 2022</title><link>https://blog.lsantos.dev/en/javascript-news-2022/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/javascript-news-2022/</guid><description>JavaScript keeps evolving! Come with me in this article where I&apos;ll show you what&apos;s new in the world&apos;s favorite language in 2022.</description><pubDate>Thu, 28 Jul 2022 07:00:00 GMT</pubDate><category>javascript</category><category>javascript</category><category>ecmascript</category><category>nodejs</category><category>development</category></item><item><title>Using HarperDB with Kubernetes</title><link>https://blog.lsantos.dev/en/using-harperdb-with-kubernetes/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/using-harperdb-with-kubernetes/</guid><description>Ready to learn how to install and manage an awesome database on Kubernetes? Let me introduce you to HarperDB and show how we can distribute databases across clusters.</description><pubDate>Thu, 30 Jun 2022 14:45:00 GMT</pubDate><category>infra</category><category>kubernetes</category><category>harperdb</category><category>databases</category><category>containers</category><category>docker</category></item><item><title>Why you should rethink using Date.now</title><link>https://blog.lsantos.dev/en/why-you-should-rethink-using-date-now/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/why-you-should-rethink-using-date-now/</guid><description>In this article I&apos;ll show you why Date.now() is a real problem, especially when you need to measure time or duration in JavaScript, and why you should stop using it.</description><pubDate>Tue, 28 Jun 2022 07:00:00 GMT</pubDate><category>javascript</category><category>nodejs</category><category>javascript</category><category>typescript</category><category>ecmascript</category><category>development</category></item><item><title>Safer Code with Shadow Realms in JavaScript</title><link>https://blog.lsantos.dev/en/shadow-realms-in-javascript/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/shadow-realms-in-javascript/</guid><description>One of the most interesting JavaScript proposals in a while is getting people talking. Find out what shadow realms are and how they let you run code more safely.</description><pubDate>Tue, 21 Jun 2022 13:00:00 GMT</pubDate><category>javascript</category><category>javascript</category><category>nodejs</category><category>ecmascript</category><category>development</category></item><item><title>What&apos;s new in TypeScript 4.7</title><link>https://blog.lsantos.dev/en/whats-new-in-typescript-47/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/whats-new-in-typescript-47/</guid><description>Get up to speed on the main new features of TypeScript 4.7. Which, among many other things, includes the ability to use native ESModules!</description><pubDate>Wed, 08 Jun 2022 14:27:00 GMT</pubDate><category>typescript</category><category>typescript</category><category>development</category><category>javascript</category><category>nodejs</category></item><item><title>Everything you need to know about Node.js&apos;s new test runner</title><link>https://blog.lsantos.dev/en/everything-you-need-to-know-about-nodejs-new-test-runner/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/everything-you-need-to-know-about-nodejs-new-test-runner/</guid><description>Learn everything about Node.js 18&apos;s new test runner and how you can use it to test your code.</description><pubDate>Wed, 25 May 2022 11:53:00 GMT</pubDate><category>javascript</category><category>nodejs</category><category>javascript</category><category>development</category></item><item><title>What&apos;s New in Node.js 18!</title><link>https://blog.lsantos.dev/en/whats-new-in-nodejs-18/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/whats-new-in-nodejs-18/</guid><description>Learn all about the 2022 Node.js release and how it can (and will) impact the whole ecosystem, with the addition of awesome APIs and new import models.</description><pubDate>Wed, 04 May 2022 14:00:00 GMT</pubDate><category>javascript</category><category>nodejs</category><category>javascript</category></item><item><title>What Is TypeScript Infer and What Does It Do?</title><link>https://blog.lsantos.dev/en/typescript-infer-explained/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/typescript-infer-explained/</guid><description>If you&apos;ve written TypeScript code, you might not have seen the famous `infer` keyword yet. But trust me, one day it&apos;ll show up and you&apos;ll know what it is!</description><pubDate>Mon, 18 Apr 2022 14:00:00 GMT</pubDate><category>typescript</category><category>typescript</category><category>development</category><category>javascript</category><category>nodejs</category></item><item><title>Sharing Types with TypeScript</title><link>https://blog.lsantos.dev/en/sharing-types-with-typescript/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/sharing-types-with-typescript/</guid><description>One of the biggest problems we have in TypeScript projects is sharing types across multiple projects. Let&apos;s look at a few techniques to ease that pain!</description><pubDate>Mon, 11 Apr 2022 14:00:00 GMT</pubDate><category>typescript</category><category>typescript</category><category>development</category></item><item><title>Pipeline operators in JavaScript</title><link>https://blog.lsantos.dev/en/pipeline-operators-in-javascript/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/pipeline-operators-in-javascript/</guid><description>Understand everything about the proposal that has been gaining a lot of traction in ECMAScript: pipeline operators.</description><pubDate>Mon, 04 Apr 2022 14:00:00 GMT</pubDate><category>javascript</category><category>javascript</category><category>ecmascript</category><category>development</category></item><item><title>JavaScript with TypeScript Types? Here&apos;s Everything About the New Proposal!</title><link>https://blog.lsantos.dev/en/javascript-with-typescript-types-new-proposal/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/javascript-with-typescript-types-new-proposal/</guid><description>Everything about the TypeScript team&apos;s new proposal to embed native types into JavaScript&apos;s interpreter.</description><pubDate>Mon, 28 Mar 2022 14:00:00 GMT</pubDate><category>javascript</category><category>javascript</category><category>typescript</category><category>nodejs</category><category>ecmascript</category></item><item><title>Meet JavaScript&apos;s New Data Types: Tuples and Records</title><link>https://blog.lsantos.dev/en/javascript-new-data-types-tuples-records/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/javascript-new-data-types-tuples-records/</guid><description>Meet the tuples and records proposal that could change JavaScript&apos;s history for the better! And you can still help shape this idea!</description><pubDate>Tue, 22 Mar 2022 14:00:00 GMT</pubDate><category>javascript</category><category>javascript</category><category>nodejs</category></item><item><title>Understanding timers/promises and AbortControllers in Node.js</title><link>https://blog.lsantos.dev/en/understanding-timers-promises-and-abortcontrollers-in-nodejs/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/understanding-timers-promises-and-abortcontrollers-in-nodejs/</guid><description>Learn everything about the new ways to cancel async functions and declare time intervals with promises in Node.js</description><pubDate>Mon, 14 Mar 2022 14:00:00 GMT</pubDate><category>javascript</category><category>javascript</category><category>nodejs</category><category>development</category><category>architecture</category></item><item><title>Migrating a legacy application from MongoDB to HarperDB</title><link>https://blog.lsantos.dev/en/migrating-a-legacy-application-from-mongodb-to-harperdb/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/migrating-a-legacy-application-from-mongodb-to-harperdb/</guid><description>A few weeks ago I gave a talk at the HarperDB channel about how we can migrate a legacy application from MongoDB to HarperDB. This is the written, hands-on version of that talk.</description><pubDate>Wed, 02 Mar 2022 19:51:23 GMT</pubDate><category>infra</category><category>mongodb</category><category>harperdb</category><category>databases</category><category>typescript</category></item><item><title>The most common bad practices in JavaScript</title><link>https://blog.lsantos.dev/en/most-common-bad-practices-javascript/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/most-common-bad-practices-javascript/</guid><description>Come learn some of the practices considered &quot;bad&quot; in JavaScript, and how you can work around them to make your code better!</description><pubDate>Tue, 01 Feb 2022 13:00:00 GMT</pubDate><category>javascript</category><category>javascript</category><category>architecture</category></item><item><title>Grouping with Array.prototype.groupBy</title><link>https://blog.lsantos.dev/en/array-groupby-stage-3/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/array-groupby-stage-3/</guid><description>No more manually grouping objects and keys or reaching for external libraries. JavaScript can now count on a native grouping method!</description><pubDate>Wed, 12 Jan 2022 15:00:00 GMT</pubDate><category>javascript</category><category>javascript</category><category>development</category><category>ecmascript</category></item><item><title>Salary negotiation for devs - tips and tricks</title><link>https://blog.lsantos.dev/en/salary-negotiation-for-devs-tips-and-tricks/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/salary-negotiation-for-devs-tips-and-tricks/</guid><description>Ever thought about getting salary negotiation tips for devs? In this video I show you the main tips I wish I&apos;d known when I started my career, and I share several resources to help you negotiate the best salaries too</description><pubDate>Sun, 14 Nov 2021 11:03:48 GMT</pubDate><category>career</category><category>video</category><category>career</category></item><item><title>Why writing matters for your career?</title><link>https://blog.lsantos.dev/en/why-writing-matters-for-your-career/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/why-writing-matters-for-your-career/</guid><description>Why don&apos;t you write content? Have you thought that this could be very good for your career and for your own life?</description><pubDate>Thu, 04 Nov 2021 12:46:00 GMT</pubDate><category>career</category><category>video</category><category>career</category></item><item><title>What I Learned After 150 Talks</title><link>https://blog.lsantos.dev/en/what-i-learned-after-150-talks/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/what-i-learned-after-150-talks/</guid><description>After 6 years creating content, I&apos;m sharing what I learned from giving 150 talks at online and in-person tech events.</description><pubDate>Thu, 28 Oct 2021 13:55:00 GMT</pubDate><category>career</category><category>video</category><category>career</category><category>events</category></item><item><title>10 Things You Didn&apos;t Know NPM Could Do</title><link>https://blog.lsantos.dev/en/npm-10-hidden-features/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/npm-10-hidden-features/</guid><description>You don&apos;t know NPM can do this much. I&apos;ll show you 10 commands you&apos;ve probably never tried.</description><pubDate>Thu, 21 Oct 2021 13:55:00 GMT</pubDate><category>javascript</category><category>video</category><category>javascript</category><category>npm</category><category>typescript</category></item><item><title>5 things you should know before speaking: Call For Papers</title><link>https://blog.lsantos.dev/en/5-things-to-know-before-speaking-cfp/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/5-things-to-know-before-speaking-cfp/</guid><description>How about learning the 5 main tips when speaking at tech events?</description><pubDate>Thu, 14 Oct 2021 13:40:00 GMT</pubDate><category>career</category><category>video</category><category>events</category><category>career</category></item><item><title>Temporal: the new way to work with dates in JavaScript</title><link>https://blog.lsantos.dev/en/temporal-the-new-way-to-work-with-dates-in-javascript/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/temporal-the-new-way-to-work-with-dates-in-javascript/</guid><description>Learn before everyone else how to handle dates with the new JavaScript spec that&apos;s going to replace Date!</description><pubDate>Fri, 24 Sep 2021 00:49:00 GMT</pubDate><category>javascript</category><category>javascript</category><category>typescript</category><category>development</category><category>ecmascript</category></item><item><title>What&apos;s new in TypeScript 4.4</title><link>https://blog.lsantos.dev/en/whats-new-in-typescript-4-4/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/whats-new-in-typescript-4-4/</guid><description>Let&apos;s dig into what&apos;s new in TypeScript 4.4 and understand every single one of the new features!</description><pubDate>Wed, 15 Sep 2021 11:00:00 GMT</pubDate><category>typescript</category><category>typescript</category><category>javascript</category><category>development</category></item><item><title>Removing Duplicate Items in JavaScript ES6</title><link>https://blog.lsantos.dev/en/removing-duplicate-items-in-javascript-es6/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/removing-duplicate-items-in-javascript-es6/</guid><description>One of the biggest struggles devs have when using Maps and Sets is removing duplicate objects that aren&apos;t primitives. How about learning the best way to do it?</description><pubDate>Wed, 08 Sep 2021 12:00:00 GMT</pubDate><category>javascript</category><category>javascript</category><category>performance</category><category>ecmascript</category><category>es2020</category></item><item><title>Meet Sparkplug, V8&apos;s New JS Compiler</title><link>https://blog.lsantos.dev/en/meet-sparkplug-the-new-v8-js-compiler/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/meet-sparkplug-the-new-v8-js-compiler/</guid><description>Meet the thing behind a 15% performance boost in V8 based browsers, and how it&apos;s going to change your life!</description><pubDate>Tue, 17 Aug 2021 20:16:48 GMT</pubDate><category>javascript</category><category>javascript</category><category>nodejs</category><category>architecture</category></item><item><title>ES2021 Approved: New JavaScript Features</title><link>https://blog.lsantos.dev/en/es2021-approved-javascript-features/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/es2021-approved-javascript-features/</guid><description>Want to know what&apos;s coming in ES2021? Let&apos;s go through the new features one by one.</description><pubDate>Wed, 14 Jul 2021 13:00:00 GMT</pubDate><category>javascript</category><category>javascript</category></item><item><title>The Complete gRPC Guide Part 4: Streams</title><link>https://blog.lsantos.dev/en/the-complete-grpc-guide-part-4-streams/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/the-complete-grpc-guide-part-4-streams/</guid><description>Learn how to use one of the most interesting gRPC features: streams! Performance and speed for large data made super simple!</description><pubDate>Wed, 07 Jul 2021 12:00:00 GMT</pubDate><category>infra</category><category>grpc</category><category>javascript</category><category>protobuf</category><category>architecture</category><category>series</category></item><item><title>Introducing the KEDA HTTP Add-on</title><link>https://blog.lsantos.dev/en/introducing-the-keda-http-add-on/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/introducing-the-keda-http-add-on/</guid><description>Learn how to scale your Kubernetes applications based on HTTP requests with the KEDA HTTP Add-on</description><pubDate>Fri, 02 Jul 2021 20:01:58 GMT</pubDate><category>infra</category><category>keda</category><category>kubernetes</category><category>containers</category></item><item><title>Getting Started with ECMAScript Modules</title><link>https://blog.lsantos.dev/en/getting-started-with-ecmascript-modules/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/getting-started-with-ecmascript-modules/</guid><description>ES Modules are the next generation of module imports in JavaScript. Here&apos;s how this feature promises to change what we know.</description><pubDate>Wed, 23 Jun 2021 11:00:00 GMT</pubDate><category>javascript</category><category>javascript</category><category>nodejs</category></item><item><title>Creating Dynamic Test Environments with GitHub Actions</title><link>https://blog.lsantos.dev/en/creating-dynamic-test-environments-with-github-actions/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/creating-dynamic-test-environments-with-github-actions/</guid><description>Ever imagined having a different environment for every feature you want to test? How about doing it with GitHub Actions and the power of Kubernetes?</description><pubDate>Wed, 09 Jun 2021 13:00:00 GMT</pubDate><category>infra</category><category>github</category><category>kubernetes</category><category>helm</category><category>aks</category><category>ci</category></item><item><title>The complete gRPC guide part 3: types everywhere with TypeScript!</title><link>https://blog.lsantos.dev/en/the-complete-grpc-guide-part-3-types-everywhere-with-typescript/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/the-complete-grpc-guide-part-3-types-everywhere-with-typescript/</guid><description>In this chapter of our gRPC series, we&apos;re going to learn how to integrate TypeScript with gRPC and enjoy its full type system!</description><pubDate>Wed, 26 May 2021 15:10:32 GMT</pubDate><category>infra</category><category>grpc</category><category>typescript</category><category>nodejs</category><category>series</category><category>protobuf</category><category>rest</category><category>architecture</category></item><item><title>What&apos;s New in Node.js 16</title><link>https://blog.lsantos.dev/en/whats-new-in-nodejs-16/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/whats-new-in-nodejs-16/</guid><description>Learn what&apos;s new in version 16 of the world&apos;s most famous JavaScript runtime!</description><pubDate>Wed, 19 May 2021 17:46:04 GMT</pubDate><category>javascript</category><category>nodejs</category><category>javascript</category><category>drop</category></item><item><title>Containers Beyond Docker</title><link>https://blog.lsantos.dev/en/containers-beyond-docker/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/containers-beyond-docker/</guid><description>Want to learn more about containers? Check out this collection of content from an incredible live stream where we explored containers far beyond Docker!</description><pubDate>Thu, 13 May 2021 20:18:00 GMT</pubDate><category>infra</category><category>containerd</category><category>containers</category><category>docker</category><category>video</category><category>golang</category></item><item><title>The Complete gRPC Guide Part 2: Hands-on with JavaScript</title><link>https://blog.lsantos.dev/en/the-complete-grpc-guide-part-2-hands-on-with-javascript/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/the-complete-grpc-guide-part-2-hands-on-with-javascript/</guid><description>Understand what gRPC is for JavaScript, how a gRPC call works, and how you can turn all your APIs into something faster and more descriptive!</description><pubDate>Wed, 12 May 2021 13:00:00 GMT</pubDate><category>infra</category><category>grpc</category><category>javascript</category><category>protobuf</category><category>nodejs</category></item><item><title>What is Open Source?</title><link>https://blog.lsantos.dev/en/what-is-open-source/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/what-is-open-source/</guid><description>Learn what Open Source is and understand what free software, open source, and open code mean in this amazing live session!</description><pubDate>Tue, 11 May 2021 20:41:00 GMT</pubDate><category>meta</category><category>open source</category><category>git</category><category>video</category></item><item><title>What&apos;s New in the TypeScript 4.3 Beta</title><link>https://blog.lsantos.dev/en/whats-new-in-the-typescript-4-3-beta/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/whats-new-in-the-typescript-4-3-beta/</guid><description>Let&apos;s go through everything that just shipped for TypeScript 4.3, which you can already try out!</description><pubDate>Mon, 10 May 2021 18:38:14 GMT</pubDate><category>typescript</category><category>drop</category><category>typescript</category><category>javascript</category></item><item><title>The simplest way to learn Kubernetes is through its API</title><link>https://blog.lsantos.dev/en/the-simplest-way-to-learn-kubernetes-is-through-its-api/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/the-simplest-way-to-learn-kubernetes-is-through-its-api/</guid><description>In this short article we&apos;re going to find the simplest way to learn the concepts behind Kubernetes in a practical way.</description><pubDate>Thu, 06 May 2021 18:50:34 GMT</pubDate><category>infra</category><category>kubernetes</category><category>drop</category><category>containers</category></item><item><title>The complete gRPC guide part 1: What is gRPC?</title><link>https://blog.lsantos.dev/en/the-complete-grpc-guide-part-1-what-is-grpc/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/the-complete-grpc-guide-part-1-what-is-grpc/</guid><description>In this series of articles we&apos;re going to learn everything there is to learn about gRPC and how we use this amazing tool in our applications!</description><pubDate>Tue, 20 Apr 2021 11:00:00 GMT</pubDate><category>infra</category><category>grpc</category><category>series</category><category>javascript</category><category>typescript</category><category>development</category><category>protobuf</category><category>rest</category><category>architecture</category></item><item><title>Hosting your Docker images in your own registry</title><link>https://blog.lsantos.dev/en/hosting-your-docker-images-in-your-own-registry/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/hosting-your-docker-images-in-your-own-registry/</guid><description>One of the coolest things about Docker is that you already have a massive image repository out of the box: Docker Hub, where you can download and host your images publicly (and even privately for a fee).</description><pubDate>Tue, 13 Apr 2021 13:00:00 GMT</pubDate><category>infra</category><category>docker</category><category>containers</category><category>technology</category><category>development</category></item><item><title>Integrating Azure Active Directory with AKS</title><link>https://blog.lsantos.dev/en/integrating-azure-active-directory-with-aks/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/integrating-azure-active-directory-with-aks/</guid><description>Let&apos;s learn how to keep your cluster even more secure by integrating Azure AD with AKS, making it much easier to administer your cluster.</description><pubDate>Tue, 06 Apr 2021 13:00:00 GMT</pubDate><category>infra</category><category>aks</category><category>kubernetes</category><category>azure</category><category>security</category><category>cloud</category><category>containers</category><category>devops</category></item><item><title>Storing your Helm Charts in Azure Container Registry</title><link>https://blog.lsantos.dev/en/storing-your-helm-charts-in-azure-container-registry/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/storing-your-helm-charts-in-azure-container-registry/</guid><description>Helm has plenty of amazing tools around it, but storing charts has always been a problem. Learn how we can make that process a lot easier!</description><pubDate>Tue, 30 Mar 2021 13:00:00 GMT</pubDate><category>infra</category><category>helm</category><category>kubernetes</category><category>containers</category><category>azure</category><category>acr</category><category>docker</category><category>aks</category><category>cloud</category></item><item><title>#DockerSP - Understanding the Container Ecosystem Beyond Docker</title><link>https://blog.lsantos.dev/en/understanding-container-ecosystem-beyond-docker/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/understanding-container-ecosystem-beyond-docker/</guid><description>Watch the full video of my talk about the container ecosystem beyond Docker with the DockerSP folks!</description><pubDate>Fri, 26 Mar 2021 00:20:12 GMT</pubDate><category>infra</category><category>video</category><category>talk</category><category>containerd</category><category>containers</category><category>docker</category><category>kubernetes</category><category>cri</category><category>oci</category><category>cri-o</category><category>devops</category><category>grpc</category><category>technology</category></item><item><title>Manage your dotfiles from anywhere with Git</title><link>https://blog.lsantos.dev/en/manage-your-dotfiles-from-anywhere-with-git/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/manage-your-dotfiles-from-anywhere-with-git/</guid><description>Setting up a computer is one of the most annoying tasks every developer has to go through when switching machines, but what if it got a lot easier?</description><pubDate>Tue, 23 Mar 2021 13:00:00 GMT</pubDate><category>infra</category><category>github</category><category>git</category><category>cloud</category><category>technology</category><category>virtual machines</category><category>tips</category></item><item><title>How to Control Your Kubernetes Cluster with Affinity and Tolerations</title><link>https://blog.lsantos.dev/en/how-to-control-your-kubernetes-cluster-with-affinity-and-tolerations/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/how-to-control-your-kubernetes-cluster-with-affinity-and-tolerations/</guid><description>Do you have control over your Kubernetes cluster? Let&apos;s learn the techniques and concepts that will help you keep control of your applications inside the distributed model</description><pubDate>Tue, 02 Mar 2021 12:00:00 GMT</pubDate><category>infra</category><category>kubernetes</category><category>aks</category><category>azure</category><category>cloud</category><category>containers</category><category>development</category><category>devops</category><category>docker</category><category>technology</category></item><item><title>Giving permissions to users with Kubernetes</title><link>https://blog.lsantos.dev/en/giving-permissions-to-users-with-kubernetes/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/giving-permissions-to-users-with-kubernetes/</guid><description>We already know how to create users in Kubernetes, now let&apos;s learn how to give them permissions defined with Roles and ClusterRoles!</description><pubDate>Tue, 23 Feb 2021 12:00:00 GMT</pubDate><category>infra</category><category>kubernetes</category><category>aks</category><category>azure</category><category>containers</category><category>devops</category><category>technology</category></item><item><title>Understanding container runtimes</title><link>https://blog.lsantos.dev/en/understanding-container-runtimes/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/understanding-container-runtimes/</guid><description>Did you know there are several types of container runtimes? Let&apos;s dig into the difference between them.</description><pubDate>Thu, 18 Feb 2021 12:37:00 GMT</pubDate><category>infra</category><category>cloud</category><category>containerd</category><category>containers</category><category>cri</category><category>devops</category><category>docker</category><category>kubernetes</category><category>microservices</category><category>microsserviços</category><category>oci</category><category>technology</category><category>cri-o</category></item><item><title>Creating and Managing Users in Kubernetes</title><link>https://blog.lsantos.dev/en/creating-and-managing-users-in-kubernetes/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/creating-and-managing-users-in-kubernetes/</guid><description>Using the same config file for every user can be a huge problem for your security and your cluster&apos;s! Learn how to create new users to improve the audit trail and security of your applications!</description><pubDate>Thu, 11 Feb 2021 13:00:00 GMT</pubDate><category>infra</category><category>kubernetes</category><category>aks</category><category>cloud</category><category>azure</category><category>containers</category><category>devops</category><category>docker</category><category>microsserviços</category><category>microservices</category><category>security</category></item><item><title>Custom metrics with AKS</title><link>https://blog.lsantos.dev/en/custom-metrics-with-aks/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/custom-metrics-with-aks/</guid><description>Monitoring matters a lot for distributed applications. Learn how to create and monitor your applications with custom Prometheus metrics for Azure Monitor.</description><pubDate>Tue, 09 Feb 2021 13:00:00 GMT</pubDate><category>infra</category><category>kubernetes</category><category>azure</category><category>containers</category><category>monitor</category><category>devops</category><category>cloud</category><category>technology</category><category>aks</category><category>azure monitor</category><category>prometheus</category><category>golang</category><category>nodejs</category><category>docker</category></item><item><title>#FullstackImmersion - Infinite Scaling with Kubernetes</title><link>https://blog.lsantos.dev/en/learn-kubernetes-on-aks/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/learn-kubernetes-on-aks/</guid><description>Learn what Docker is and what Kubernetes is in a simple and fast talk.</description><pubDate>Fri, 05 Feb 2021 01:00:00 GMT</pubDate><category>infra</category><category>kubernetes</category><category>aks</category><category>azure</category><category>containers</category><category>docker</category><category>containerd</category><category>cloud</category><category>devops</category><category>events</category><category>video</category><category>workshop</category></item><item><title>Controlling Containers From Inside Your Application With ContainerD</title><link>https://blog.lsantos.dev/en/controlling-containers-from-inside-your-application-with-containerd/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/controlling-containers-from-inside-your-application-with-containerd/</guid><description>Ever thought about an alternative to Docker? How about manipulating containers programmatically from your API? Let&apos;s integrate your app with the container world!</description><pubDate>Thu, 04 Feb 2021 14:00:00 GMT</pubDate><category>infra</category><category>containerd</category><category>containers</category><category>docker</category><category>oci</category><category>cri</category><category>golang</category><category>devops</category><category>kubernetes</category><category>technology</category></item><item><title>Kubernetes without Docker? – Understanding OCI, CRI, and the container ecosystem</title><link>https://blog.lsantos.dev/en/kubernetes-without-docker-oci-cri/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/kubernetes-without-docker-oci-cri/</guid><description>Kubernetes recently started deprecating Docker. What does that mean for you? What&apos;s this alphabet soup of OCI, CRI, RunC? Let&apos;s dive in and learn more about the container ecosystem!</description><pubDate>Tue, 02 Feb 2021 13:00:00 GMT</pubDate><category>infra</category><category>docker</category><category>containerd</category><category>oci</category><category>cri</category><category>kubernetes</category><category>containers</category><category>architecture</category><category>technology</category></item><item><title>Podcast #FalaDev - Let&apos;s talk about Microservices</title><link>https://blog.lsantos.dev/en/podcast-faladev-lets-talk-about-microservices/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/podcast-faladev-lets-talk-about-microservices/</guid><description>Do you know what microservices are? Want to join a super interesting discussion about best practices and how we work with them? Then come to #FalaDev</description><pubDate>Fri, 08 Jan 2021 17:42:39 GMT</pubDate><category>meta</category><category>podcasts</category><category>architecture</category><category>microsserviços</category><category>microservices</category><category>development</category><category>events</category><category>technology</category></item><item><title>We&apos;re 4k! Thank you so much!</title><link>https://blog.lsantos.dev/en/we-are-4k-thank-you/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/we-are-4k-thank-you/</guid><description>Thank you so much for 4k followers! To celebrate this milestone, I&apos;ll be doing some awesome giveaways!</description><pubDate>Wed, 09 Dec 2020 17:33:25 GMT</pubDate><category>meta</category><category>blog</category><category>events</category><category>news</category><category>info</category></item><item><title>gRPC with Node.js at EnterJS 2020</title><link>https://blog.lsantos.dev/en/grpc-with-nodejs-at-enterjs-2020/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/grpc-with-nodejs-at-enterjs-2020/</guid><description>Want to know how gRPC works in practice with Node.js? In this talk I present the complete concept of gRPC and we see how it all works!</description><pubDate>Thu, 03 Dec 2020 20:55:44 GMT</pubDate><category>infra</category><category>grpc</category><category>events</category><category>talk</category><category>video</category><category>javascript</category><category>nodejs</category></item><item><title>Understanding service communication with gRPC at DoWhile 2020</title><link>https://blog.lsantos.dev/en/understanding-service-communication-with-grpc-at-dowhile-2020/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/understanding-service-communication-with-grpc-at-dowhile-2020/</guid><description>Want to learn how to retire REST from your service communications through gRPC? Join me in this FREE workshop to learn!</description><pubDate>Mon, 30 Nov 2020 14:52:51 GMT</pubDate><category>infra</category><category>events</category><category>talk</category><category>workshop</category><category>grpc</category><category>architecture</category><category>development</category><category>javascript</category></item><item><title>Why Do Black Fridays Go Wrong? - Hipsters.talks</title><link>https://blog.lsantos.dev/en/why-black-fridays-go-wrong/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/why-black-fridays-go-wrong/</guid><description>I was the surprise guest on this Hipsters webcast discussing Black Friday stories with Gabs Ferreira, Mário, and Patrícia.</description><pubDate>Mon, 30 Nov 2020 03:21:41 GMT</pubDate><category>career</category><category>video</category><category>hipsters</category><category>podcasts</category><category>technology</category><category>career</category><category>ci</category><category>cloud</category><category>development</category></item><item><title>Understanding Threading in Node.js with Rodrigo Branas</title><link>https://blog.lsantos.dev/en/understanding-threading-nodejs-rodrigo-branas/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/understanding-threading-nodejs-rodrigo-branas/</guid><description>In this awesome live stream, we talked about worker threads and how threads actually work on modern computers.</description><pubDate>Fri, 20 Nov 2020 16:31:32 GMT</pubDate><category>javascript</category><category>javascript</category><category>nodejs</category><category>threads</category><category>performance</category></item><item><title>Automatic OS Updates with Unattended Upgrades</title><link>https://blog.lsantos.dev/en/automatic-os-updates-unattended-upgrades/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/automatic-os-updates-unattended-upgrades/</guid><description>Want to set up your server so it never needs your interaction to perform security updates?</description><pubDate>Wed, 11 Nov 2020 16:10:23 GMT</pubDate><category>infra</category><category>cloud</category><category>security</category><category>architecture</category></item><item><title>Applying Two-Factor Authentication to SSH</title><link>https://blog.lsantos.dev/en/applying-two-factor-authentication-to-ssh/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/applying-two-factor-authentication-to-ssh/</guid><description>These days, using only passwords or public keys isn&apos;t enough anymore, we need to take security further by applying two-factor authentication to our servers.</description><pubDate>Thu, 05 Nov 2020 22:07:56 GMT</pubDate><category>infra</category><category>azure</category><category>cloud</category><category>security</category></item><item><title>Have total privacy with your own VPN hosted in the cloud</title><link>https://blog.lsantos.dev/en/have-total-privacy-with-your-own-cloud-hosted-vpn/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/have-total-privacy-with-your-own-cloud-hosted-vpn/</guid><description>Ever thought about having your own VPN server? Something that for sure doesn&apos;t generate logs and has nobody spying on you? So why not build one?</description><pubDate>Tue, 27 Oct 2020 17:51:53 GMT</pubDate><category>infra</category><category>azure</category><category>security</category><category>cloud</category><category>vpn</category></item><item><title>Learn AKS with this free course</title><link>https://blog.lsantos.dev/en/learn-aks-with-this-free-course/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/learn-aks-with-this-free-course/</guid><description>In this 8-hour free course, I show how we can learn Kubernetes from zero to being able to manage our own applications!</description><pubDate>Fri, 23 Oct 2020 14:34:51 GMT</pubDate><category>infra</category><category>azure</category><category>containers</category><category>kubernetes</category><category>video</category><category>cloud</category></item><item><title>Making VSCode Your Only Development Environment with Docker and Kubernetes</title><link>https://blog.lsantos.dev/en/making-vscode-your-only-dev-environment-docker-kubernetes/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/making-vscode-your-only-dev-environment-docker-kubernetes/</guid><description>Ever thought you wouldn&apos;t have to leave your favorite editor to develop Kubernetes-native applications? What if I told you that&apos;s possible, and very easy?</description><pubDate>Mon, 05 Oct 2020 00:34:43 GMT</pubDate><category>infra</category><category>kubernetes</category><category>docker</category><category>containers</category><category>vscode</category><category>azure</category><category>cloud</category><category>development</category><category>technology</category><category>video</category><category>workshop</category></item><item><title>Is This the End of the Software Development Career?</title><link>https://blog.lsantos.dev/en/is-this-the-end-of-the-software-development-career/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/is-this-the-end-of-the-software-development-career/</guid><description>Is technology&apos;s progress and the current state of the software development market contributing to a decline of the &quot;Developer&quot; profession? Are we digging our own graves?</description><pubDate>Fri, 02 Oct 2020 21:47:10 GMT</pubDate><category>opinion</category><category>opinion</category><category>technology</category><category>development</category><category>career</category></item><item><title>Microsoft Reactor: Workshop on AKS with Virtual Nodes and GitHub Actions</title><link>https://blog.lsantos.dev/en/microsoft-reactor-aks-virtual-nodes-github-actions/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/microsoft-reactor-aks-virtual-nodes-github-actions/</guid><description>A free workshop on how we can leverage the power of Virtual Nodes to create applications that scale infinitely and also how we can automate the deployment of everything using GitHub Actions and AKS!</description><pubDate>Thu, 01 Oct 2020 17:17:34 GMT</pubDate><category>infra</category><category>azure</category><category>kubernetes</category><category>docker</category><category>github</category><category>ci</category><category>containers</category><category>video</category><category>workshop</category></item><item><title>Docker image deploy: from VSCode to Azure in a click</title><link>https://blog.lsantos.dev/en/docker-image-deploy-from-vscode-to-azure-in-a-click/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/docker-image-deploy-from-vscode-to-azure-in-a-click/</guid><description>The long-awaited Docker and Azure integration has finally arrived for everyone, and in a much easier way!</description><pubDate>Fri, 25 Sep 2020 23:54:57 GMT</pubDate><category>infra</category><category>docker</category><category>azure</category><category>containers</category><category>cloud</category><category>technology</category></item><item><title>Meet the GitHub Container Registry</title><link>https://blog.lsantos.dev/en/meet-the-github-container-registry/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/meet-the-github-container-registry/</guid><description>Have you ever thought about how much easier your life would be if you could store your Docker images in the same place where you version your code?</description><pubDate>Fri, 18 Sep 2020 22:59:27 GMT</pubDate><category>infra</category><category>docker</category><category>containers</category><category>github</category><category>development</category><category>technology</category></item><item><title>Know Everything About Your Services with Jaeger and Linkerd</title><link>https://blog.lsantos.dev/en/know-everything-about-your-services-with-jaeger-and-linkerd/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/know-everything-about-your-services-with-jaeger-and-linkerd/</guid><description>How about watching every single call in your system in depth and understanding exactly when everything happened? Let&apos;s install Jaeger and get all that power!</description><pubDate>Mon, 14 Sep 2020 17:16:46 GMT</pubDate><category>infra</category><category>kubernetes</category><category>linkerd</category><category>jaeger</category><category>containers</category><category>development</category><category>technology</category></item><item><title>An Introduction to Service Mesh with Linkerd</title><link>https://blog.lsantos.dev/en/an-introduction-to-service-mesh-with-linkerd/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/an-introduction-to-service-mesh-with-linkerd/</guid><description>Observability, logging, traffic control. Everything you&apos;ve ever dreamed of for microservices, simple and fast, with Linkerd</description><pubDate>Thu, 10 Sep 2020 21:26:02 GMT</pubDate><category>infra</category><category>kubernetes</category><category>containers</category><category>linkerd</category><category>architecture</category><category>technology</category><category>development</category><category>cloud</category></item><item><title>Optimizing costs with Kubernetes and AKS</title><link>https://blog.lsantos.dev/en/optimizing-costs-with-kubernetes-and-aks/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/optimizing-costs-with-kubernetes-and-aks/</guid><description>Kubernetes has a reputation for being a much more expensive approach than usual for most applications. Want to know how you can optimize your costs efficiently?</description><pubDate>Thu, 03 Sep 2020 15:41:57 GMT</pubDate><category>infra</category><category>kubernetes</category><category>azure</category><category>cloud</category><category>containers</category><category>docker</category><category>technology</category><category>development</category></item><item><title>What&apos;s New in TypeScript 4.0</title><link>https://blog.lsantos.dev/en/whats-new-in-typescript-4-0/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/whats-new-in-typescript-4-0/</guid><description>Let&apos;s dig into the newest TypeScript update, version 4.0!</description><pubDate>Mon, 31 Aug 2020 20:45:39 GMT</pubDate><category>typescript</category><category>typescript</category><category>development</category><category>technology</category></item><item><title>Full Cycle 4.0 Marathon</title><link>https://blog.lsantos.dev/en/full-cycle-4-0-marathon/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/full-cycle-4-0-marathon/</guid><description>In this amazing talk, we discuss clouds in general and how they differ from one another. Then, I show six demonstrations of how you can publish your service on Azure effortlessly!</description><pubDate>Sat, 29 Aug 2020 02:48:18 GMT</pubDate><category>infra</category><category>azure</category><category>cloud</category><category>containers</category><category>docker</category><category>video</category><category>talk</category><category>kubernetes</category></item><item><title>Leveling up microservices with service meshes</title><link>https://blog.lsantos.dev/en/leveling-up-microservices-with-service-meshes/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/leveling-up-microservices-with-service-meshes/</guid><description>How good would it be if you had total control over your distributed applications, to the point where you could know everything about them?</description><pubDate>Fri, 21 Aug 2020 20:42:36 GMT</pubDate><category>infra</category><category>containers</category><category>kubernetes</category><category>architecture</category><category>cloud</category><category>development</category><category>technology</category></item><item><title>A Deep Dive Into Container Images - Part 3</title><link>https://blog.lsantos.dev/en/a-deep-dive-into-container-images-part-3/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/a-deep-dive-into-container-images-part-3/</guid><description>How do you build a fast, light, efficient image for your application when you&apos;re using a dynamic language like JavaScript?</description><pubDate>Fri, 14 Aug 2020 17:34:25 GMT</pubDate><category>infra</category><category>docker</category><category>containers</category><category>javascript</category><category>development</category><category>technology</category><category>typescript</category></item><item><title>Write code anywhere with Codespaces</title><link>https://blog.lsantos.dev/en/write-code-anywhere-with-codespaces/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/write-code-anywhere-with-codespaces/</guid><description>What would your life be like if you could have your computer with you everywhere, without ever actually carrying it?</description><pubDate>Thu, 13 Aug 2020 22:20:32 GMT</pubDate><category>infra</category><category>docker</category><category>containers</category><category>codespaces</category><category>cloud</category><category>development</category><category>technology</category></item><item><title>Hipsters.tech #212 - Microsoft Cloud Technologies</title><link>https://blog.lsantos.dev/en/hipsters-tech-212-microsoft-cloud-technologies/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/hipsters-tech-212-microsoft-cloud-technologies/</guid><description>Come learn how Microsoft cloud technologies work and how we can get the most out of them on this amazing podcast!</description><pubDate>Tue, 04 Aug 2020 20:21:26 GMT</pubDate><category>infra</category><category>podcasts</category><category>azure</category><category>cloud</category><category>development</category><category>technology</category></item><item><title>Running Containers on Azure Container Instances with Docker</title><link>https://blog.lsantos.dev/en/running-containers-on-azure-container-instances-with-docker/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/running-containers-on-azure-container-instances-with-docker/</guid><description>Ever imagined what it would be like to run a container directly on a cloud infrastructure without doing anything new?</description><pubDate>Mon, 03 Aug 2020 13:00:00 GMT</pubDate><category>infra</category><category>containers</category><category>docker</category><category>azure</category><category>technology</category><category>cloud</category></item><item><title>Alura React Live #02 - Using TypeScript in our project</title><link>https://blog.lsantos.dev/en/alura-react-live-02-using-typescript-in-project/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/alura-react-live-02-using-typescript-in-project/</guid><description>Ever wondered if we could use TypeScript on the front-end? Let&apos;s dive into an application and learn how TypeScript works with React!</description><pubDate>Wed, 29 Jul 2020 23:28:30 GMT</pubDate><category>typescript</category><category>video</category><category>typescript</category><category>react</category><category>development</category><category>technology</category></item><item><title>A Deep Dive Into Container Images - Part 2</title><link>https://blog.lsantos.dev/en/a-deep-dive-into-container-images-part-2/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/a-deep-dive-into-container-images-part-2/</guid><description>We already know what each image type is for, now let&apos;s put that knowledge to work in a compiled application! Is the smallest image really the best one?</description><pubDate>Wed, 29 Jul 2020 13:00:00 GMT</pubDate><category>infra</category><category>containers</category><category>docker</category><category>golang</category><category>development</category><category>technology</category></item><item><title>Meetup: 1st Meetrybe - Code Architecture</title><link>https://blog.lsantos.dev/en/meetrybe-code-architecture/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/meetrybe-code-architecture/</guid><description>On the 25th I participated in the first Meetrybe, an online meetup from Trybe school, with several heavyweight speakers discussing software architecture. See how it went!</description><pubDate>Sat, 25 Jul 2020 17:01:16 GMT</pubDate><category>meta</category><category>video</category><category>meetup</category><category>development</category><category>architecture</category></item><item><title>A Deep Dive into Container Images - Part 1</title><link>https://blog.lsantos.dev/en/a-deep-dive-into-container-images-part-1/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/a-deep-dive-into-container-images-part-1/</guid><description>Learn what every type of container image is for and how to pick the best image for your project!</description><pubDate>Fri, 24 Jul 2020 13:00:00 GMT</pubDate><category>infra</category><category>containers</category><category>docker</category><category>development</category><category>technology</category></item><item><title>Hello, World!</title><link>https://blog.lsantos.dev/en/hello-world/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/hello-world/</guid><description>After a few months of researching and working toward a new phase of content production, this blog is finally off the ground!</description><pubDate>Thu, 23 Jul 2020 00:23:11 GMT</pubDate><category>meta</category><category>blog</category><category>news</category><category>info</category></item><item><title>Why Devs Should Write Articles</title><link>https://blog.lsantos.dev/en/why-devs-should-write-articles/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/why-devs-should-write-articles/</guid><description>Ever stopped to think that most people only consume and never produce anything? Writing can make your career take off!</description><pubDate>Thu, 14 May 2020 03:00:00 GMT</pubDate><category>career</category><category>career</category></item><item><title>From Zero to Container Automation with GitHub Actions in 7 Minutes</title><link>https://blog.lsantos.dev/en/from-zero-to-github-actions-automation-in-7-minutes/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/from-zero-to-github-actions-automation-in-7-minutes/</guid><description>How to start from zero and automate your whole container pipeline in under 7 minutes, all with GitHub Actions</description><pubDate>Fri, 08 May 2020 03:00:00 GMT</pubDate><category>infra</category><category>containers</category><category>docker</category></item><item><title>Understanding Async Iterators in JavaScript</title><link>https://blog.lsantos.dev/en/understanding-async-iterators-in-javascript/</link><guid isPermaLink="true">https://blog.lsantos.dev/en/understanding-async-iterators-in-javascript/</guid><description>You already know synchronous iterators, but do you know async iterators?</description><pubDate>Sun, 28 Jul 2019 03:00:00 GMT</pubDate><category>javascript</category><category>javascript</category><category>nodejs</category><category>development</category></item></channel></rss>