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

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. F# is a cross-platform, functional-first, general purpose language. Stress on functional-first and general purpose. Line-of-business applications are almost always perfect candidates for F# development. On this topic, I recommend you take a look at Scott Wlaschin’s “Why F# is the best enterprise language” ...

February 24, 2019

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. That’s easy to achieve with .NET. Most of the time, what you want is to check for value equality. ...

January 26, 2019

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.DatiGenerali.DatiGeneraliDocumento; Console.WriteLine($"fatt. num. {dati.Numero} del {dati.Data}"); } I should probably mention that FatturaElettronica.Core 0.4 is also out, and that that is the actual place where all the new juice comes from, courtesy of Emanuele Zavallone. You don’t have to directly install Core, it will be pulled down for you by the main packages. ...

October 27, 2018

Eve 0.8.1 has been released

Just a quick note to report that Eve v0.8.1 is out and ready to rock. It brings a number of fixes, some improvements as well as a couple of new features. Check out the changelog for details. Join the newsletter to get an email alert when a new post surfaces on this site. If you want to get in touch, I am @nicolaiarocci on twitter.

October 5, 2018

Lettura di fatture elettroniche con firma digitale in .NET (.p7m)

Sorry folks. Because of its target audience, this post is in Italian. Ho appena rilasciato FatturaElettronica.Extensions. Si tratta di un package che estende FatturaElettronica.NET aggiungendo (per ora) un solo extension method: ReadXmlSigned Il metodo si affianca all’esistente ReadXml ed accetta un file in formato standard fattura elettronica già firmato digitalmente (estensione .p7m), lo legge, verifica che le firme siano valide, quindi lo carica in un oggetto FatturaElettronica che lo rappresenta interamente: ...

September 27, 2018