Will .NET 6 Minimal APIs turn heads?

I am pretty excited about the [Minimal APIs][3] feature that is coming with .NET 6. Three lines of code will be enough to build a fully functional REST microservice1: var app = WebApplication.Create(args); app.MapGet("/", () => "Hello World!"); await app.RunAsync(); If you’re a seasoned ASP.NET MVC/WebApi developer, the snippet caught your attention because, pre-.NET 6, achieving the same result will have you messing with a lot of extra cruft2. I suspect, however, that this feature is not primarily targeted at existing ....

July 14, 2021

Book Review: Power to the Words

Vera Gheno’s “Potere alle Parole” (Power to the Words) is an essay on the importance of appropriate use of the (Italian) language, not just in written works but also and predominately in everyday life. What would we think of a person who, having a vast wardrobe of beautiful clothes, always wore the same suit out of laziness? These situations appear unlikely; yet, they are examples of the attitude that many have towards their language: they have access to an immense, incalculable patrimony, which out of indolence, or fear, or inexperience, they use partially....

July 9, 2021

My DotNetPodcast interview

Today I was interviewed by Mauro Servienti on the DotNetPodcast. The theme was my experience as an open-source maintainer on both the Python and C# stacks. We also discussed the ongoing evolution of the dotNET ecosystem, touching on a few tangent topics. The recording is in Italian and is available below here. Listen to “Python, Eve, open source e fattura elettronica. Con Nicola Iarocci” on Spreaker.

July 6, 2021

An unexpected return to the Alps

I recently had the unexpected opportunity of spending a few days in the Alps, climbing and hiking with my daughters. After a few years of hiatus, it felt great to be back romping.

June 28, 2021

A Beginner's Guide to Miles Davis

Sam Enright assembled a friendly Beginner’s Guide to Miles Davis. If you’ve always been curious about jazz but never really managed to get into it, then this resource might serve as a good starting point. I cannot say I’m one hundred per cent aligned with his choices, but we’re close. One remarkable statement I concur with is this one: Jazz is so interesting to me because of its fusion of intricate underlying structure with improvisation and spontaneity....

June 27, 2021

Triumph Bonneville Dolomites Ride 2021

So the motorcycle-touring season has started, albeit a little late this year because of the COVID situation, and I’ve been avidly pursuing it. On Sunday, I embarked on a 700 km trip from my place to the Dolomites and back. It’s been a glorious day. We (Antonio and I) visited many renowned Mountain Passes, enjoyed stunning views, ate great food and chatted like there’s no tomorrow. I took my GoPro along with me....

June 16, 2021

Linus Torvalds addresses an anti-vaxxer

Linus Torvalds’ reply to an anti-vaxxer on the Linux kernel list is a must-read. Pre-2018, Linus would have destroyed the poor chump. He’s discouraging further discussion (Kernel list is not the place for that) while providing crystal clear and detailed mRNA vaccine information, all without renouncing to an opening salvo of his good-ole, grumpy style. As John Gruber affirms, this is one rant we can all get behind.

June 14, 2021

Custom default values for not existing dictionary items (and a lesson learned)

When dealing with dictionaries, a typical problem is when an operation attempts to retrieve an element using a key that does not exist in the dictionary. In .NET, a KeyNotFoundException is raised, and that’s the desired behaviour in most circumstances. Sometimes, however, you know that your program will frequently try to retrieve keys that do not exist. In such cases, it is more efficient to use the TryGetValue method: This method returns the value associated with the specified key, if the key is found; otherwise, the default value for the type of the value parameter is returned (source)...

June 11, 2021

Book Review: Alpi Ribelli: Storie di montagna, resistenza e utopia

The idea behind this book is fascinating. As the subtitle suggests, the book collects stories of rebel mountaineers of all kinds. Some chose to disobey orders; others built refuges of resistance, outposts of autonomy and laboratories of social innovation. The collection is rich and varied. We go from the heretics who went with Fra Dolcino to the partisans who stopped the Nazi fascists in the mountains of Cuneo and Belluno, up to the contemporary movements against the high-speed train in the Susa Valley....

June 5, 2021

Open Source: What Happens When the Free Lunch Ends?

The article I’m linking today is authored by Aaron Stannard and focuses on the drama currently going on in the .NET Open Source ecosystem. We’ve all been there. A dependency we took aeons ago goes unmaintained or changes its licensing model. Why does this happen? Because at some point, projects need to become sustainable or else they fail. […] it’s inexpensive for maintainers to support a small number of users with relatively similar demands - but once a project achieves critical mass and the demand on the maintainers exceeds their desire to supply, something will have to give....

June 4, 2021