Five Good Books I Read in 2020

Here are five books I read in 2020 that I would recommend. I read several fine books last year, so please check out my reading history if you are unsatisfied with this selection. Mani: Travels in the Southern Peloponnese, by Patrick Leigh Fermor. I love Patrick Leigh Fermor. Over the years, I read almost everything he wrote. He has been described as “a cross between Indiana Jones, James Bond, and Graham Greene,” and for a good reason. He bridges the genres of adventure story, travel writing, and memoir to reveal an ancient world living alongside the twentieth century. Here he carries the reader with him on his journeys among the Greeks of the mountains, exploring their history and time-honored lore. The Mani, at the tip of Greece’s-and Europe’s-southernmost peninsula, is one of the most isolated regions of the world. Cut off from the rest of the country by the high range of the Taygetus and hemmed in by the Aegean and Ionian seas, it is a land where the past is still very much a part of its people’s daily lives. ...

January 4, 2021

HttpResponseMessage.Content is non-nullable in NET5

Today I was happily migrating some C# projects to Net 5 when I stumbled upon something unexpected. My focus was on a library (a NetStandard2.0 REST API client, an SDK) and its associated test suite. The test project was a NetCore 3.1 application. As you can imagine, being a REST API client, the library does a lot of talking with a remote Web Service. It does that by leveraging the almightly System.Net.HttpClient. The library has a private, static HttpResponseMessage parser method. Its job is, well, to parse all responses from the remote. It looks for known, expected headers, gracefully handle them, and then deserializes the response content, if there is any. ...

December 4, 2020

Events and callbacks in the Python language

So last week I got an email from my friend Michael Kennedy. Michael runs the TalkPython Training website, arguably the best place where you can learn Python today. He also hosts two popular Python podcasts: TalkPython and PythonBytes, the latter co-hosted with Brian Okken. He is super active in the Python space, so much that he received the Python Software Foundation Fellow Membership back in 2018. I first met Michael back in 2014, I think, at MongoDB Headquarters in New York, where we were both invited as part of the MongoDB Masters program. We shared a C#/.NET background, which was something of note in that context, and I remember Michael being curious about me embracing Python and my first open-source release in that space. Fun times. ...

August 17, 2020

Musings on an unexpected motorcycle trip

I went on a motorcycle trip. A fellow TOMCC1 member was planning a solo trip to Campo Imperatore (“Emperor’s Fields”), the well known alpine meadow in the Apennine ridge. He called me as he was looking for some advice, and well, I ended up joining him. What sparked my interest was the destination, of course, because Campo Imperatore is a superb place to visit, especially on a motorcycle, but also Antonio’s peculiar take on the journey. By self-admission, he is old-school. His motorcycle forays, no matter how long they are, all have something in common: as little technology as possible. He also goes out of his league to avoid highways and, god forbid, toll-roads. He is keen on secondary roads and, most importantly, he does not plan any route. Antonio will write down a few waypoints on paper, just the names of maybe two or three places worth visiting, and that’s it. If the trip is going to be very long, he might take a (paper) road atlas with him. The little details, like filling the gaps between waypoints, or how one would go to reach the waypoints themselves, well, they are all left out for the adventure. ...

July 23, 2020

A trip down memory lane: FidoNet and Usenet

Creatures of Thought is a project I discovered just recently. It is about the history of science and technology, and it revolves around two primary tracks: The Switch and The Backbone. The former covers the digital switch; the latter is the story of how the world got online. Both sections are well written, researched, and curated. The latest installment of The Backbone covers Usenet’s invention, then FidoNet, and well, it sent me on a mesmerizing trip down memory lane. ...

July 9, 2020

How to Present Over Video Conference

As a non-native English speaker, presenting at conferences has always been super challenging and intimidating. It’s even worse now that we’re forced into online presenting because of the COVID19 situation. James Whittaker has a good post on the topic, with great advice: Remember, the inability to see and hear your audience is disconcerting but it doesn’t mean you should give up. There are much bigger audiences in the wide world that you will not have local access to. Getting good at video presentations means expanding your audience and increasing your influence. ...

June 23, 2020

FatturaElettronica for .NET v3.0 released

FatturaElettronica for .NET 3.0 is now available on NuGet. It brings full support for the latest technical specifications (v1.6.1) issued by the Italian Public Administration. These come with a number of relevant changes, which were originally supposed to be effective starting May 4, 2020. We were ready well in advance (v3.beta-1 package was available on March 20) but then, because of the COVID19 situation (and, I suspect, pressure from relevant “not-ready-to-deliver” software companies) the deadline was pushed forward to October 1, 2020. ...

June 6, 2020

Rumors of Windows Forms death have been greatly exaggerated

Apparently, .NET 5 brings support for Windows TaskDialog to Windows Forms, and that is relevant for several reasons. Before I dig in, let me start by addressing your inevitable question right away. In essence, yes, Windows Forms is old technology. It has been around since like 20 years ago, and yes, newer Windows UI frameworks have (or try to have) traction today, but no, that is not a good reason for Microsoft to let WinForms rest in peace. See the thing is right now, as I am writing this piece, there are millions of desktop applications running on Windows machines all around the world and rest assured, an essential portion of them is running on, you guessed it, your good old Windows Forms. ...

April 19, 2020

Eve 1.0 has been released

Seven years since the first commit, I am glad to announce that Eve v1.0 has been released. Check it out on PyPI. If you are using Eve, Cerberus, FatturaElettronica for .NET or any other one of my open source projects in a revenue-generating product, it would make business sense to sponsor my open source development. Learn how to do that at my GitHub Sponsors page. Happy holidays to all of you and have a wonderful start in the new year. ...

December 21, 2019

FatturaElettronica for .NET v2.0

Today I pushed version 2.0 of FatturaElettronica to NuGet. This release comes with full support for Fattura Semplificata, something that has been on the back-burner for a while. Special thanks to Gaetano Pizzol for single-handly contributing this feature. Now for the bad news. Since we were to add a new invoice type whereas so far we only had one, I decided to take the plunge and break backward compatibility a little bit. The relevant changes are as follows: ...

March 13, 2019