Digital books wear out faster than physical books

Brewster Kahle, at The Internet Archive Blogs: Ever try to read a physical book passed down in your family from 100 years ago? Probably worked well. Ever try reading an ebook you paid for 10 years ago? Probably a different experience. From the leasing business model of mega a publishers to physical device evolution to format obsolescence, digital books are fragile and threatened. […] Our paper books have lasted hundreds of years on our shelves and are still readable....

January 30, 2024
the Verghereto marls, along the ridge of Rio Petroso

Rio Petroso

Wet, cold, and foggy winter day in the plains, I knew it would be splendid in the highlands. At the last minute and even a little late by my usual safety standards, I packed my backpack and dashed into the hills. To avoid being late or having to return in the dark, I didn’t even stop eating, munching on two bars as I walked, but it was worth it. Rio Petroso is a rather complex and articulated circular tour, with frequent environmental changes, configuring itself among the most arid of the entire Park territory; I wouldn’t do this route at the height of summer....

January 29, 2024
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....

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

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

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

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

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