Book Review: The Water Dancer

The Water Dancer is the debut novel for Ta-Nehisi Coates, an author and journalist best known for his nonfiction works. Set in a slave plantation located in pre-civil war Virginia, this is a bold and ambitious story about slavery. From the editor website: Young Hiram Walker was born into bondage. When his mother was sold away, Hiram was robbed of all memory of her—but was gifted with a mysterious power. »

Strong opinions on software development

After six years in the field, Chris has shared his strong opinions on software development practices, languages, and methodologies. I like his attitude. Willingness to continuously put one’s personal views under scrutiny, eventually adapting or even changing them as needed, is not a common trait. Not in our field. While I generally agree with most of his opinions, I feel the urge to comment on a few of them. Typed languages are better when you’re working on a team of people with various experience levels »

The Great Unbundling according to Benedict Evans

As a non-native English reader, I had to look up the true meaning of “Unbundling” as a neologism. According to Wikipedia Unbundling is a neologism to describe how the ubiquity of mobile devices, Internet connectivity, consumer web technologies, social media and information access in the 21st century is affecting older institutions (education, broadcasting, newspapers, games, shopping, etc.) by “break[ing] up the packages they once offered (possibly even for free), providing particular parts of them at a scale and cost unmatchable by the old order. »

Upcoming speaking engagements, with ramblings

I am presenting at two different events in February next month. Given the current COVID situation, that is entirely unexpected. In 2020 I only gave four talks, three of which were virtual. I am not holding my breath for 2021. Conferences are going virtual all year-long. Next year too, most likely. There are some clear advantages in going virtual, but the final result is a net negative. Any conference junkie will tell you that she/he attends for the people first, and only then for the sessions themselves. »

The unreasonable effectiveness of simple HTML

We’ve seen other articles pointing the finger at unnecessarily bloated websites. Terence Eden’s On the unreasonable effectiveness of simple HTML deserves mention, I think, for two reasons. First, the delivery is incredibly effective. Second, it is effective because of the storytelling. By enveloping the message into an original short, touching story, he achieves two goals. First, he captures the reader’s attention; second, he makes the experience memorable. Please, go and read it; I’ll wait here. »

On the short, tormented life of Phil Katz

Bless the Internet Archive and its Wayback Machine. With it, we can go back in time and read The short, tormented life of computer genius Phil Katz, an unusually detailed and accurate article published in the April 14, 2000 issue of the Milwaukee Journal Sentinel. When he was found dead April 14, Phil Katz was slumped against a nightstand in a south side hotel, cradling an empty bottle of peppermint schnapps. »

Book Review: Erebus, The Story of a Ship

I finished reading Erebus: The Story of a Ship by Michael Palin, an excellent book on the dramatic adventures of the HMS Erebus with her sister ship, the HMS Terror, first in James Clark Ross’s Antarctic expedition of 1839-43, and then during Franklin’s ill-fated Arctic expedition in search of the Northwest Passage. I knew Michael Palin as a member of the Monty Python comedy group. As it turns out, since 1980, he has also made many travel documentaries and books. »

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. »

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. »

Author image Nicola Iarocci

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. »

Author image Nicola Iarocci

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. »

Author image Nicola Iarocci

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. »

Author image Nicola Iarocci

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. »

Author image Nicola Iarocci

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. »

Author image Nicola Iarocci

Rumors of Windows Forms death have been greatly exaggerated

This morning on my twitter feed, this surprising tweet showed up: We made the history! 🍾🎆 The new addition to the Windows Forms UI control family in 15 years! Coming to you in .NET 5.https://t.co/MvPctRHI9y Massive shout outs to Konstantin (the author) for his work, patience and commitment! 🙇 — Igor Velikorossov (@IgorRussKie) April 18, 2020 Apparently, .NET 5 brings support for Windows TaskDialog to Windows Forms, and that is relevant for several reasons. »

Author image Nicola Iarocci

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. »

Author image Nicola Iarocci

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. »

Author image Nicola Iarocci

Building a RESTful WebApi with F# and NetCore

It is a common misconception that F# is just for data science, machine learning, and quantitative finance; in the .NET eco-system you turn to C# for enterprise and web development and, eventually, you’ll look at F# for serious number crunching. While it is undoubtedly true that functional languages are ideally suited for solving numerical problems, some of them - and F# in particular - are perfectly fine for tackling so many different domains other than scientific ones. »

Author image Nicola Iarocci

NuGet Gems: DeepEqual

This handy little package does one simple thing, and it does it well. According to its description, DeepEqual is: An extensible deep comparison library for .NET. I am sure you too have come across this a few times. You have some code that shuffles around objects, and at some point, you’d like to make sure that two instances of the same class are, indeed, equal. And no, you don’t mean “equal” as in reference equality. »

Author image Nicola Iarocci

FatturaElettronica for .NET v0.9 has been released

FatturaElettronica for .NET v0.9 has been released. The companion Extensions package also hits v0.4. The main new feature is the FromJson() extension method which allows, you guessed it, for deserialization of a JSON stream into a Fattura class instance: var fattura = Fattura.CreateInstance(Instance.Privati); fattura.FromJson(new JsonTextReader(new StringReader(json))); // or, if FatturaElettronica.Extensions v0.4 is being used: fattura.FromJson(json); // Invoice is now ready for inspection. foreach (var documento in fattura.Body) { var dati = documento. »

Author image Nicola Iarocci