<feed xmlns="http://www.w3.org/2005/Atom"> <id>https://aalmada.github.io/</id><title>Antão Almada's Blog</title><subtitle>The official blog of Antão Almada. A blog about software development and technology.</subtitle> <updated>2026-01-24T23:14:13+00:00</updated> <author> <name>Antão Almada</name> <uri>https://aalmada.github.io/</uri> </author><link rel="self" type="application/atom+xml" href="https://aalmada.github.io/feed.xml"/><link rel="alternate" type="text/html" hreflang="en" href="https://aalmada.github.io/"/> <generator uri="https://jekyllrb.com/" version="4.4.1">Jekyll</generator> <rights> © 2026 Antão Almada </rights> <icon>/assets/img/favicons/favicon.ico</icon> <logo>/assets/img/favicons/favicon-96x96.png</logo> <entry><title>Implementing Passkeys with .NET 10</title><link href="https://aalmada.github.io/posts/Implementing-Passkeys-with-Dotnet-10/" rel="alternate" type="text/html" title="Implementing Passkeys with .NET 10" /><published>2026-01-24T00:00:00+00:00</published> <updated>2026-01-24T23:13:50+00:00</updated> <id>https://aalmada.github.io/posts/Implementing-Passkeys-with-Dotnet-10/</id> <content src="https://aalmada.github.io/posts/Implementing-Passkeys-with-Dotnet-10/" /> <author> <name>Antão Almada</name> </author> <category term="security" /> <summary> We finally have a robust and practical alternative to passwords. For years, we’ve forced users to juggle complex strings of characters, special symbols, and numbers, only to have them phished or leaked in the next big data breach. They are the single weakest link in modern security. But with the arrival of .NET 10, the game has changed. Microsoft has introduced native support for Passkeys (Web... </summary> </entry> <entry><title>Harnessing WSL for Modern .NET Development with VS Code, Docker, and Aspire</title><link href="https://aalmada.github.io/posts/A-Guide-to-Dotnet-Development-with-VSCode-andWSL/" rel="alternate" type="text/html" title="Harnessing WSL for Modern .NET Development with VS Code, Docker, and Aspire" /><published>2025-08-15T00:00:00+01:00</published> <updated>2025-08-15T16:41:31+01:00</updated> <id>https://aalmada.github.io/posts/A-Guide-to-Dotnet-Development-with-VSCode-andWSL/</id> <content src="https://aalmada.github.io/posts/A-Guide-to-Dotnet-Development-with-VSCode-andWSL/" /> <author> <name>Antão Almada</name> </author> <category term="development" /> <summary> WSL (Windows Subsystem for Linux) lets you run a full Linux environment alongside Windows, improving the development experience and making it easy to use Linux-native tools. With Docker installed in WSL and Aspire orchestrating cloud-native .NET apps, you get an excellent cloud-first development setup, everything runs locally but is ready to deploy to the cloud. This guide covers setting up Vi... </summary> </entry> <entry><title>Unleashing Parallelism: A Guide to Efficient Span Processing with SIMD and Threading in C#</title><link href="https://aalmada.github.io/posts/Unleashing-parallelism/" rel="alternate" type="text/html" title="Unleashing Parallelism: A Guide to Efficient Span Processing with SIMD and Threading in C#" /><published>2024-05-03T00:00:00+01:00</published> <updated>2025-06-07T09:52:36+01:00</updated> <id>https://aalmada.github.io/posts/Unleashing-parallelism/</id> <content src="https://aalmada.github.io/posts/Unleashing-parallelism/" /> <author> <name>Antão Almada</name> </author> <category term="development" /> <summary> Modern CPUs offer three types of parallel processing. This article outlines several steps for leveraging all three to process large data sets as efficiently as possible. Base Implementation To illustrate, let’s implement a method that adds elements from one span to corresponding elements of another span and stores the result in a destination span. This operation is commonly encountered when w... </summary> </entry> <entry><title>Maximizing Network Security: Leveraging Multiple VLANs with UniFi Hardware</title><link href="https://aalmada.github.io/posts/Leveraging-multiple-VLANs-with-UniFi-hardware/" rel="alternate" type="text/html" title="Maximizing Network Security: Leveraging Multiple VLANs with UniFi Hardware" /><published>2024-04-22T00:00:00+01:00</published> <updated>2025-06-07T09:52:36+01:00</updated> <id>https://aalmada.github.io/posts/Leveraging-multiple-VLANs-with-UniFi-hardware/</id> <content src="https://aalmada.github.io/posts/Leveraging-multiple-VLANs-with-UniFi-hardware/" /> <author> <name>Antão Almada</name> </author> <category term="network" /> <summary> Many household utility devices today rely on internet access to function fully. From washing machines and vacuum robots to air filters, fridges, and air conditioners, these appliances often need a direct link to a server via both the device itself and its associated app. While this setup provides convenience, it also presents significant concerns. Firstly, there are security implications; depe... </summary> </entry> <entry><title>Behavior Tree Development in C# with IEnumerable<T> and Yield</title><link href="https://aalmada.github.io/posts/Behavior-tree-development-in-csharp-with-IEnumerable-and-yield/" rel="alternate" type="text/html" title="Behavior Tree Development in C# with IEnumerable&amp;lt;T&amp;gt; and Yield" /><published>2024-04-04T00:00:00+01:00</published> <updated>2025-06-07T09:52:36+01:00</updated> <id>https://aalmada.github.io/posts/Behavior-tree-development-in-csharp-with-IEnumerable-and-yield/</id> <content src="https://aalmada.github.io/posts/Behavior-tree-development-in-csharp-with-IEnumerable-and-yield/" /> <author> <name>Antão Almada</name> </author> <category term="development" /> <summary> Coroutines are commonly defined as functions capable of pausing and resuming execution. Managing these requires employing state machines, easily implemented through the use of the yield keyword. However, a challenge arises when composing multiple reusable coroutines, a problem addressed by the concept of behavior trees. Behavior trees, with practical applications in game development and roboti... </summary> </entry> </feed>
