Code from my session at WPC 2025

On Wednesday, I held a session titled “Feature Flags and Dynamic Configurations in C#” at WPC 2025. It went well, at least judging by the offline questions that came in at the end of the session and which almost made us late for lunch. Attending WPC is always exciting. The audience is large, the rooms are big and well-equipped, the energy is just right, and there’s always a chance to catch up with friends and colleagues. I especially enjoy seeing fellow Microsoft MVPs and speakers. ...

December 5, 2025

My session on MCP servers at .NET Conference Italia 2025

I presented a session at the .NET Conference Italia 2025 in Milan a couple of weeks ago. The title was “Integrating our applications with LLMs and AI via MCP Servers”. It was well received; there were good questions throughout the talk and in the hall afterward. Surprisingly, live coding and demos went relatively smoothly. The fine guys at ASP Italia just published the video in case someone is interested. Yeah, it is in Italian. I got a transcript from MacWhisper and then asked Claude to translate and clean it up. It did a pretty good job, so let me know if there’s any interest in an English transcript; I might post it here. ...

November 26, 2025

What .NET 10 garbage collection changes really mean for developers

“For decades, garbage collection in .NET was a background concern. It was mostly invisible to the everyday developer and was regarded as ‘automatic’ unless (or until) something slowed down the application. However, .NET 10 changes this perspective by making garbage collection (GC) a key component of application performance.” What .NET 10 GC Changes Mean for Developers is a good in-depth article that explores the revolutionary garbage collection improvements in .NET 10, which deliver 2- 3x performance gains through seven key enhancements: escape analysis for stack allocation, DATAS enabled by default, flexible region sizing, delegate optimizations, intelligent write barrier elimination, enhanced devirtualization, and refined heap controls for containers. ...

October 7, 2025

Fattura Elettronica v4

I just released FatturaElettronica.NET v4. The major version bump is due to a minor breaking change introduced with this version. After removing the BouncyCastle dependency (v3.4.16) for signature, content extraction, and encoding purposes, a few minor behavioral changes were introduced in the library. It was previously possible to extract content from documents with tampered signatures (if signature validation was flagged false) Signature exceptions were being misreported as Base64 FormatExceptions for non-base64 input files After a lengthy analysis and troubleshooting, it was determined that System.Cryptography (which now replaces BouncyCastle) cannot support the successful decoding of tampered invoices. However, this is undesirable as a feature in the first place. The result is a breaking change: attempting to read tampered documents will now invariably throw SignatureException. ...

June 16, 2025

Fattura Elettronica v3.6.3

I just released FatturaElettronica .NET v3.6.3. Since version 3.6.1, the project has added English to the list of supported languages. The latest release improves English support, aligning it with the official translation. Michael Mairegger contributed this improvement. The Fattura Elettronica open-source project allows for the validation and de/serialization of electronic invoices that adhere to the standard defined by the Italian Revenue Agency.

May 6, 2025

Fattura Elettronica v3.5.2

I just released FatturaElettronica .NET v3.5.2. It gets around a known CVE so you may want to update ASAP. The Fattura Elettronica open-source project allows for the validation and de/serialization of electronic invoices that adhere to the standard defined by the Italian Revenue Agency.

January 7, 2025

On C# and .NET quick release cycle

I sat to jot down a quick introduction to my C# 13 What’s New and Interesting session next week, and what I ended up with instead is a long rant or, should I dare, stream of consciousness that is certainly inappropriate for a five-minute introduction. I’ll have to cut most of it down, especially on the personal story part, but my site might be a good place to host it in all its completeness. I may reference this post at the start of the session on Monday for those few poor souls who might be interested. ...

December 9, 2024

Speaking at the .NET Conference Italia 2024

I’m speaking at the .NET Conference Italia 2024 on Dec 16th in Milan at the Microsoft House. My session is titled C# 13 What’s New and Interesting and will be on the latest iteration of the C# language. We’ll also briefly touch on .NET 9, which was also just released. Hope to see you there (make sure to come to me to say Hi!)

December 7, 2024

Fattura Elettronica v3.5

I just released FatturaElettronica .NET v3.5.0. This version adds multi-language support, all thanks to the excellent work done by Michael Mairegger. We currently support Italian and German and are ready to accept contributions for other languages. The Fattura Elettronica open-source project allows for the validation and de/serialization of electronic invoices that adhere to the standard defined by the Italian Revenue Agency.

September 30, 2024

Under ASP.NET 8, NGINX returns 502 Bad Gateway after authentication by IdentityServer

Today, I learned the hard way that NGINX has default buffer sizes, which can cause trouble in specific scenarios like mine.

September 12, 2024