Early in the morning at the Microsoft House in Milan. Preparations underway

Video of my C# 12 session at .NET Conference Italia 2023

The video and slides of my C# 12 session at .NET Conference Italia 2023 is finally available online. Unfortunately it’s just my voice and my laptop screen, and that’s too bad because the location was as cool as it can get, and the room was packed. It is in Italian1 and you need to login in order to see it (sorry, I don’t have control over it.) I also submitted to several international conferences; let’s see what happens. Since the COVID hiatus, I’ve had no luck with international events. ↩︎ ...

January 26, 2024

Dungeons and Dragons turns 50 today

Dungeons & Dragons played an outsize role in popularizing fantasy literature, ideas, and themes, as well as inspiring many of its devotees to create their own. Roleplaying, as a formal activity, owes nearly its entire existence to the phenomenal success of D&D. Even more remarkable is the extent to which the computer and video game industry, which is bigger and more profitable than the music and movie industries combined, owes a huge debt to the example set by D&D. If you play any game with classes or levels or experience or hit points today, that’s because of Dungeons & Dragons. ...

January 26, 2024

Fixing the "Failed to create CoreCLR error 0x80070008" error when starting a .NET 8 docker container

Another day, another unexpected problem. Launching a .NET 8 app from a docker container, I got this error: Failed to create CoreCLR, HRESULT: 0x80070008. I was puzzled as the same container ran smoothly in our test environment but not in production. I ruled out resource problems (memory or disk full, maybe?) but then compared the Docker Engine versions we run in test and production. Both were old (20. xx when 25 is available), but interestingly, the production version was older. I searched online and found a two years-old ticket hinting at some problems between .NET 8 and older Docker versions. ...

January 26, 2024

How to fix the crontab error `rename: Operation not permitted`

Today, something unexpected happened while I was working on one of our Linux machines. I issued the crontab -e command to add a cron job to my user’s crontab file, modified and saved it, only to the following error: crontab: installing new crontab crontab: crontabs/<user>: rename: Operation not permitted crontab: edits left in /tmp/crontab.hgmsOH/crontab Puzzled, I checked whether my user permissions were all right, if the disk was full, and several other things. Long story short, the fix was this one: ...

January 25, 2024

My grandpa was a Nazi

Powerful and cautionary story. I wondered for many years, how all of this could have happened. How people like my grandpa turned into monsters and people around him watched or turned into monsters with him. The last years made this very clear. More here.

January 21, 2024

Linus Torvalds on the impact of LLMs and AI on programming

I think I like his take on the topic.

January 21, 2024

I'm leaving Substack

If you are one of the few following me on Substack, I have news: I’m leaving Substack and moving to a different platform. I actually left a couple of weeks ago; my latest posts are not on Substack and you can find them on my website (the source of all my content), or you can subscribe to the new newsletter or the RSS feed like hackers do. If you’re an old-time Substack subscriber, you already know because I transferred all the active subscriptions to the new platform. I’m writing for the occasional passerby looking for fresh content. ...

January 19, 2024

How to implement a PKCE code challenge in C#

Today’s fun was implementing OAuth2’s RFC 7636’s PKCE (Proof Key for Code Exchange) in C#. It’s relatively straightforward, but I decided to share my implementation should it be helpful to someone else out there. PKCE is an extension to the Authorization Code flow to prevent CSRF and authorization code injection attacks. [..] It was originally designed to protect the authorization code flow in mobile apps, but its ability to prevent authorization code injection makes it useful for every type of OAuth client, even web apps that use client authentication (source). ...

January 17, 2024

Quoting Guillermo del Toro

The structure [of most Miyazaki’s works] is not bound by the western-culture Aristotelean three act setup, conflict, pay-off, and resolution… its about showing you the sweet and sour of life. The loss and the love and the beauty all at the same time. – Guillermo del Toro For more context, see: Move review: The Boy and the Heron.

January 15, 2024

NTS Radio

NTS Radio is a family of like-minded and passionate individuals, dedicated to supporting exciting music and culture through online radio and events. NTS uncovers the best of the musical past, celebrates the present and cultivates the future of the underground music scene, and prides itself on being open-minded and experimental. (source) I’m certainly a latecomer, but NTS Radio is the bomb. I have not opened Spotify (whose algorithm I find dull and repetitive) in the last week, not even once. I go straight to NTS to find the best and most diverse music from all genres, played by DJs and independent radio stations worldwide. Absolute banger. ...

January 13, 2024