A few late book reviews

I’ve been reading a few books throughout the summer and needed to be more active in reviewing them here. Rather than writing five individual posts in a row (too lazy for that), I will catch up with this single post. Born to Run 2 I’ve been back to running after a long hiatus, and this book helped me get back on track with the right, lightly-hearted approach. The fundamentals are solid (the barefoot-like technique is the way), the 90-day training plan is a good platform, the nutrition hints are remarkable, and I appreciated the injury-treatment segments. »

rsync with a different user

Today I learned how to rsync with a user different than the one connected to the remote. Why would one want to do such a thing? The data I need to download from that server is owned by ‘backup,’ a different, service-only user. I wanted to avoid going the change-permissions slippery route and allow my user direct access to the data. Looking at the rsync documentation, I learned about the nifty --rsync-path=PROGRAM option: »

The Legacy of Bram Moolenaar

Quoting Jan van den Berg: This weekend we learned that Bram Moolenaar had passed away at the age of 62. And this news affected me more than I expected. Like so many: I did not know Bram personally. But I’ve been using a tool made by Bram for more than half my life — at least weekly, sometimes daily. That tool is a text editor. The best one there is: Vim. »

Cerberus v1.3.5 released

Thanks to funkyfuture’s tireless work, yesterday we released version 1.3.5 of Cerberus, the data validation package for Python. This release officially supports Python 3.10 and 3.11, fixes a few issues, and proudly displays a new documentation theme which I dig, and I hope you’ll do the same. As usual, see the changelog for details. Subscribe to the newsletter, the RSS feed, or follow me on Mastodon »

FatturaElettronica for .NET v3.4.10

Fattura Elettronica for .NET v3.4.10 was released on NuGet today. The Fattura Elettronica project allows for the validation and de/serialization of electronic invoices following the Italian Revenue Agency standards. This release adds a missing validation point. See the changelog for details (Italian). Subscribe to the newsletter, the RSS feed, or follow me on Mastodon »

The Medieval Monks Who Lived on Top of Giant Pillars

Imagine, for a moment, that you are walking along a dirt road in the seventh century Middle East. The sun is hot, the air is dry, your feet are tired. It’s been a long journey, by boat and foot, from your home in Constantinople to where you find yourself now: outside of the walls of the mountainous river city of Antioch. In the bright sunlight, you strain your eyes to catch a distant glimpse of the sight you’ve come all this way to see – and then suddenly, you do. »

Events 0.5 released

Today I released Events 0.5. Thanks to Cailean Parker’s contribution, we added support for the __getitem__ dunder (aka Python magic method.) This allows the calling of events from strings, thus enabling dynamic events. For instance: events = Events(tuple(f"on_{i}" for i in range(5))) for i in range(5): events[f"on_{i}"](i) The C# language provides a handy way to declare, subscribe to and fire events. In C#, an event is a “slot” to which callback functions (event handlers) can be attached - a process referred to as subscribing to an event. »

I won the Microsoft MVP Award

I’ve just received news that I’ve been awarded the Microsoft Most Valuable Professional (MVP) Award in the Software Development category. It is an honor and a pleasure to be renewed for the eighth time. Being a Microsoft MVP means a lot to me; I remember how intimidated I felt when I met MVPs at various events and how totally out of reach the title seemed for someone like me. Besides my everyday work, I kept doing the things I loved: »

Homebrew and docfx don't like each other too

Another day another Homebrew incompatibility emerges, this time with docfx, the technical documentation building tool of reference in .NET space. I’ve been using docfx for years to build the FatturaElettronica.NET website, and it’s always been working without a glitch. Lately, however, my builds have been failing with strange errors I was too lazy to diagnose until today when I decided to grasp the nettle and sort the whole thing out. »

Homebrew and .NET 8 Preview don't like each other

Today I learned that .NET 8 Preview could play better with Homebrew (or vice-versa). I’m working on a C# 12 presentation for our local developer meetup, and for that, I wanted .NET 8 Preview to run side by side with version 7 on my Mac. As version 7 was initially installed with Homebrew, I also wanted to install version 8 Preview with Homebrew, but that recipe was unavailable. Not perfectly happy with that, I fell back to the stand-alone installer, expecting problems. »

Python `decimal.getcontext` does not work with bpython

I have been working on a side project for which I’m using bpython, a “fancy interface to the Python interpreter.” If you use the Python REPL often, you should check it out. It offers unique features like in-line syntax highlighting, readline-like autocomplete, a “rewind” function to pop the last line of code from memory, auto-indentation and more. Anyway, today I found a bug in bpython, and that’s that Python’s decimal.getcontext() does not work with it. »

Daft Punk's Infinity Repeating music video

Julian Casablancas (The Strokes, The Voidz) says Infinity Repeating is “the last Daft Punk song, ever.” The song was recorded in 2013 as a demo and left unpublished until it was included in the 10th-anniversary edition of Random Access Memories released a few weeks ago. The video is a highly addictive masterpiece. Digging into the comments on YouTube, I found that someone attempted a reconstruction of all the citations included. »

Quoting Donald Knuth

Donald Knuth challenged ChatGPT-4 with 20 questions and then submitted the results and his comments to Stephen Wolfram. The whole thing is fascinating in many ways and worth reading. Some remarkable quotes: Of course these are extremely impressive responses, sometimes astonishingly so; thus I totally understand why you and others have been paying attention to it. The most immediate impression is the quality of the wordsmithing. It’s way better than 99% of copy that people actually write. »

A new modern MSBuild terminal logger is coming with .NET 8

The latest .NET 8 Preview is out, and I love that they’re finally changing how MSBuild logs are printed to the terminal. The new Terminal Logger ditches the infamous “wall of text” that is a nightmare to parse in favor of a cleaner, leaner, and more organized output. Once enabled, the new logger shows you the restore phase, followed by the build phase. During each phase, the currently-building projects are at the bottom of the terminal, and each building project tells you both the MSBuild Target currently being built, as well as the amount of time spent on that target. »

Book Review: La Mossa del Matto (The Fool's Move)

Alessandro Barbaglia’s La mossa del matto (The fool’s move) tries to be three things in one: the life story of chess champion Bobby Fischer, a reconciliation dialogue between author and father, who died too soon, as well the tracing of a daring parallel between Fischer’s relationship with Russian champion Boris Spasskij and that of Achilles and Ulysses of Homeric memory. In our neck of the woods, we say that too much is crippling, and this work runs the risk. »

Tiny electronic desktop sculptures

Adorable, functional, often internet-connected desktop bots like those below are hand-crafted by Mohit Bhoite in San Francisco, California. It pleasantly surprised me that they’re built as a purely artistic expression. All sculptures (as Mohit rightfully refers to them) are unique and not for sale. Check them all out on his website (via). Subscribe to the newsletter, the RSS feed, or follow me on Mastodon »

macOS networkQuality tool

Today I learned about a precious little macOS command line tool, networkQuality. The networkQuality tool is a built-in tool released in macOS Monterey that can help diagnose network issues and measure network performance. Usage: networkQuality -v Example output: ==== SUMMARY ==== Uplink capacity: 44.448 Mbps (Accuracy: High) Downlink capacity: 162.135 Mbps (Accuracy: High) Responsiveness: Low (73 RPM) (Accuracy: High) Idle Latency: 50.125 milliseconds (Accuracy: High) Interface: en0 Uplink bytes transferred: 69. »

Book Review: Disastri (Disasters)

Daniil Charms was considered a children’s author and could not stand children all his life. While his whimsical fairy tales populated illustrated books and magazines, giving him something to live on in the silence of his room, he also feverishly wrote tales for adults, equally imaginative but inhabited by an excruciating melancholy, as in fairy tales went wrong. At the dawn of the USSR, this desperate fantasy of his was tolerable only if it was confined where it was least dangerous, in children’s literature. »

Story of Redis and its creator antirez

I read a well-researched story about Redis and its creator Salvatore Sanfilippo, also known as antirez. I was already familiar with many details as I have been following him since OKNotizie and Segnalo, of which I was a user. At the time, as a user, I exchanged a few emails with Salvatore, whom years later I had the pleasure of meeting in person, as we were both speakers at several conferences. »

Motorcycling the Tuscan Chianti

Last weekend I attended Eroica 2023, a motorcycling event organized by the Italian branch of the Triumph Owners Motorcycle Club I currently preside. We rode the Eroica route, a legendary gravel bicycle race that runs through the most beautiful territories of the Tuscan Chianti region. It was glorious. The weather was perfect, the food was incredible, and the close-knit party of thirty T.O.M.C.C. bikers had great fun. We all ended up covered in an astonishing amount of powder. »