Eve 2.2.4

Eve v2.2.4 was just released on PyPI. It is a minor update, with a validation fix contributed by smeng9. See the changelog for details.

December 2, 2025

How Brian Eno created Music for Airports

Brian Eno’s Ambient 1: Music for Airports is a landmark album in ambient and electronic music. Although it wasn’t the first ambient album, it was the first album to be explicitly labelled as ‘ambient music’. [..] In this article, I’ll discuss how Music for Airports was created, and I’ll deconstruct and recreate the tracks 2/1 and 1/2. Hopefully, the article will demystify some of Brian Eno’s techniques, and give you some ideas about how to adopt some of his ambient music techniques yourself. ...

December 2, 2025

On the usefulness of writing

I think of it [the usefulness of writing] like breathing but for ideas. We do so much reading all day—there should be a natural balance with producing words too. Inhale, exhale, inhale, exhale… Joe Boudreau in On 10 Years of Writing a Blog Nobody Reads, an article I agree 100% with.

December 2, 2025

My session on MCP servers at .NET Conference Italia 2025

I presented a session at the .NET Conference Italia 2025 in Milan a couple of weeks ago. The title was “Integrating our applications with LLMs and AI via MCP Servers”. It was well received; there were good questions throughout the talk and in the hall afterward. Surprisingly, live coding and demos went relatively smoothly. The fine guys at ASP Italia just published the video in case someone is interested. Yeah, it is in Italian. I got a transcript from MacWhisper and then asked Claude to translate and clean it up. It did a pretty good job, so let me know if there’s any interest in an English transcript; I might post it here. ...

November 26, 2025

Time

If you want to understand time — which is how you come to befriend life — turn to stone. Climb a mountain and listen to the conversation between eons encoded in each stripe of rock. Walk a beach and comb your fingers through the golden dust that was once a mountain. Pick up a perfect oval pebble and feel its mute assurance that time can grind down even the heaviest boulder, and smooth even the sharpest edge. ...

November 26, 2025

Train Dreams

With all the medium-to-very-low-quality productions we’ve been accustomed to from Netflix, it was a pleasant surprise and a relief to watch Train Dreams last night. I’ll quote the most recent review on IMDb: Robert’s life is gently lived and not without profound tragedy. The film evokes our own memories, little joys and sadnesses, discoveries, losses, and hopes, bringing grace to our self-reflection. The film is heartbreakingly beautiful. Acting, editing, and direction are just right. ...

November 25, 2025

I Am Not Yours

I was walking early this morning, as usual, when I came across an unusual advertising sign. It was in Spanish, text only, red background and black typography. I don’t comprehend Spanish well enough to read it, so I photographed it and sent it to Serena, who promptly replied with the translation. Embarrassingly, just yesterday, I got a severe reprimand from Serena because I did not know or remember what day it was today. When I got back, I traced the source and found that the sign is actually available in several languages. ...

November 25, 2025

Flask started as an April Fool's joke

The story that the Python micro web framework Flask started as an April Fool’s joke is well known in Python circles, but it was nice to see it told by Armin Ronacher himself1. I’m fond of Flask. It was a breath of fresh air when it came out, and most of my Python open-source work is based on it. The video is produced by the people who also authored the remarkable Python: The Documentary. ↩︎ ...

November 24, 2025

People who no longer read as much as they used to

The theory that people no longer read as much as they used to is put forward by people who no longer read as much as they used to. – Francesco Farabegoli

November 22, 2025

Curl and jq go to a conference

I’m presenting at the WPC 2025 Conference on December 3rd in Milan. My session topic is Feature Flag Management and Dynamic Configurations in C#. I will use a Web API as an example project, and since I’ll be using curl live to query the it, I’ll need to pipe responses through jq to obtain nicely formatted JSON for the audience. The problem with jq is that it crashes on 400s or 500s because the response body is empty in those cases. Error responses are inherent to the demo, and crashes are not the most desirable thing during a presentation. ...

November 21, 2025