Antão Almada

43 Followers
92 Following
166 Posts
@nietras Do you have any idea how I can improve performance when using Parallel.Invoke? https://aalmada.github.io/posts/Unleashing-parallelism/
Unleashing Parallelism: A Guide to Efficient Span Processing with SIMD and Threading in C#

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.

Antão Almada’s Blog
My latest article. Feedback is much appreciated. #dotnet https://aalmada.github.io/posts/Unleashing-parallelism/
Unleashing Parallelism: A Guide to Efficient Span Processing with SIMD and Threading in C#

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.

Antão Almada’s Blog
@pawel_lukasik The title in BenchmarkDotNet is good, but I think it could be even more user-friendly if they used Spectre.Console. https://spectreconsole.net/
Spectre.Console Documentation

Documentation for Spectre.Console and Spectre.CLI - rich console UI library and command-line application framework for .NET

I shared on my blog my approach to beefing up privacy and security in my home network, particularly focusing on IoT and guest devices. Explore techniques such as VLAN segmentation, setting up multiple Wi-Fi networks, imposing Wi-Fi speed limits, and implementing automated scheduling. These strategies are geared towards strengthening the network's overall security.
https://aalmada.github.io/posts/Leveraging-multiple-VLANs-with-UniFi-hardware/
#UniFi #HomeNetwork
Maximizing Network Security: Leveraging Multiple VLANs with UniFi Hardware

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.

Antão Almada’s Blog
@shanselman That's great! I've been writing about enumerables, foreach, yield, LINQ and related stuff on my blog. One of my articles explains the optimizations found in LINQ: https://aalmada.github.io/posts/LINQ-internals-speed-optimizations/
You can find many more related articles in the blog.
LINQ Internals: Speed Optimizations

Behind the elegant facade of LINQ lies a meticulously engineered core designed for more than just simplicity. This article delves into the technical intricacies of LINQ, focusing on the “speed optimizations” that enhance its execution efficiency. These optimizations also have many shortcomings.

Antão Almada’s Blog
@ciaxeres I have now fixed the lazy evaluation of the parameters validation in the BTs article. Please check the updated version.

🚀 The latest preview of Visual Studio 2022 comes with a new .slnx solution format which is human readable and source control compatible! See how you can try it out today in my new video!

#visualstudio #dev #dotnet #coding

https://youtu.be/wzMMclD8QsI

New .slnx Solution Format in Visual Studio — no more GUIDs!

YouTube
@ciaxeres BTs and coroutines in Unity are based on the 'yield' keyword. I also have an article explaining how its internals work. Looking at the article now, I've just now noticed that I forgot to not lazy evaluate the parameter validations for the BTs. I'll have to update the code... 😅
https://aalmada.github.io/posts/Building-custom-iterators-with-yield-in-csharp/
Building Custom Iterators with ‘yield’ in C#

As detailed in a previous article, an enumerator serves as a representation of a pull stream. To obtain the next item, clients must invoke the MoveNext() method. If it returnstrue, it indicates a successful retrieval, and the value can be accessed through the Current property. The enumerator is typically implemented as a state machine, encompassing information about the current position within the stream and the current value.

Antão Almada’s Blog
@ciaxeres I’m pleased that you found it valuable. The article primarily emphasizes implementation details, rather than their practical usage. However, comprehending these internal workings should enhance your overall understanding of them.