A 10x faster TypeScript, but that's not the point

Anders Hejlsberg is a legend in my field, with Turbo Pascal, Delphi, C#, and TypeScript in his palmares. This week, he announced a rewrite of the TypeScript compiler, leading to a stunning 10x performance boost. This remarkable achievement is due to two main factors: the adoption of Go for the compiler and the Language Server Protocol and the high parallelism that Go enables. Previously, the compiler itself was in TypeScript, which severely hindered performance. ...

March 15, 2025

Why do earthworms appear on wet roads?

It’s raining a lot these days, and during my early morning walk, I see many earthworms popping out of the ground and filling the sidewalks and the streets. I observed this behaviour many times in similarly wet conditions. So I asked Claude: Why do earthworms appear on wet roads? When it rains heavily, streets fill with earthworms for several reasons: Earthworms breathe through their skin, which must remain moist. During heavy rainfall, their underground tunnels flood, forcing them to surface to avoid drowning. ...

March 14, 2025

Quoting Evan Miller

One of the most essential practices for maintaining the long-term quality of computer code is to write automated tests that ensure the program continues to act as expected, even when other people (including your future self) muck with it. – Evan Miller (via)

March 14, 2025

Quoting Jannick Sinner

I just watched an incredible interview with legendary tennis coach Darren Cahill, now coaching Jannick Sinner. The interview is outstanding and worth watching; Cahill is remarkable and a great communicator. In the final part, they’re talking about Jannick when Cahill drops an incredible Jannick quote: Don’t worry about criticism from someone you wouldn’t take advice from. That’s profound for a boy who’s just 23 years of age.

March 8, 2025

Lately

I’ve been slacking a little lately, shocked mainly by what is happening worldwide. I’ve also been busy at work and, unfortunately, am taking my old man to way too many medical checkups. A short recap of notable facts might be in order. FatturaElettronica for .NET 3.6 has been released. It adds support for the upcoming technical specifications v1.9 that are coming into effect on April 1, 2025 (not a joke.) The changelog is here. I did some maintenance work on Eve. The CI workflow has been switched to ubuntu-latest from 20.04, as the latter is about to be sunsetted by GitHub. I also merged two pull requests (#1541 and #1547), one of which was long-standing. There isn’t enough material for a release, although the guys who submitted the PRs might think otherwise (if that’s the case, let me know.) I ran two DevRomagna meetups. The first one was on OpenTelemetry and was kept by Alessandro Mengoli, of whom I’m very proud (I’ve been encouraging him to start speaking for a long time.) The second was on Linux Containers but before Docker. The speaker was Gabriele Santomaggio, my go-to buddy regarding low-level networking stuff. I found both events to be quite successful and enjoyable. I hope the other attendants agree. I finally deactivated my Twitter/X account. I abandoned the platform a while ago and did not miss it. I maintain a presence on Mastodon and Bluesky, mainly to propagate whatever content I post on my website, but don’t count on me following or reading you there (same with LinkedIn.) I’m not active on social media and don’t see myself getting back into them. I’m not interested anymore (and the content there is mostly trash.) I went on a nice hike a couple of weeks ago. It was cold and overcast, and that’s why, I suspect, I did not meet a single person the whole day. Speaking of hiking, I finally got myself a Garmin inReach Mini 2 device. It’s meant to be used in case of emergency. It allows me to call for help and send sms messages even when no cell signal is available (it uses the Iridium satellite network.) I resisted getting it so far because of the high cost, not so much of the device itself, but the mandatory subscription. Only recently, I found that one can buy Garmin data plans from other vendors, and ProteGear has a nice option to suspend the subscription when not in use. So, I bought the device from Garmin, activated it, and subscribed to ProteGear. It’s looking good so far, and sending sms messages (and emails!) when there’s no cell signal feels like black magic. I’ve been reading good books, and I’m grateful for them. Well, my dad is not doing well. He’s okay now, but he’s been going through a lot, and more is expected soon. That’s life, I know. I am having difficulty making peace with what is happening in the world right now. American friends, I cannot understand how you could re-elect Donald Trump for a second term. It beats me. I am in shock and worried about the geopolitical consequences. I hope time will prove me wrong, but the future looks grim.

March 4, 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

My most used command-line commands

My most used command-line commands: 5180 git 777 cd 653 ls 452 go 440 ./invoice 377 dotnet 373 rm 270 vi 225 cat 219 ssh Version control dominates the scene (a gentle middle finger for the youngster - you know who you are - who told me I should not be coding anymore). I also like that the list hints at the new stuff I’ve been working on recently and am excited about. ...

January 1, 2025

Books I read in 2024

I read 30 books or 8365 pages in 2024, a solid improvement over last year’s, and many of those books were excellent. Lolita by Vladimir Nabokov was outstanding, Marcus Aurelius’ Meditations was incredible, and then there’s Family Lexicon and The garden of Finzi-Contini, and many others were close to that league. Yeah, color me satisfied. The usual scoring system applies: One star means a book is meh. Two stars mean a book is perfectly fine. Three stars mean a book is good—consider it recommended. Four stars mean a book is exceptional. Five stars is pretty much unheard of. The question of Palestine, by E.W. Said (La Questione Palestinese, il Saggiatore) ...

December 26, 2024

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 at the upcoming .NET Conference Italia 2024 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