<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0">
    <channel>
      <title>Simon Martin&#x27;s website - Simon&#x27;s blog</title>
      <link>https://simartin.dev/blog/</link>
      <description>Simon Martin&#x27;s website</description>
      <generator>Zola</generator>
      <language>en</language>
      <atom:link href="https://simartin.dev/blog/rss.xml" rel="self" type="application/rss+xml"/>
      <lastBuildDate>Mon, 04 May 2026 00:00:00 +0000</lastBuildDate>
      <item>
          <title>Status Report - Week 18 2026</title>
          <pubDate>Mon, 04 May 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260504/</link>
          <guid>https://simartin.dev/blog/20260504/</guid>
          <description xml:base="https://simartin.dev/blog/20260504/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;We came back from Rome on Monday, and mostly relaxed during this second week of
the kids&#x27; Spring vacation.&lt;&#x2F;p&gt;
&lt;p&gt;Upon Lyla&#x27;s suggestion (!), we watched the
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Trust_Me:_The_False_Prophet&quot;&gt;Trust me: the false prophet&lt;&#x2F;a&gt;
TV series, that I found very disturbing. On a lighter note, we also watched
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;The_Dark_Knight&quot;&gt;The Dark Knight&lt;&#x2F;a&gt;, that I really
like, and started watching the
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Peaky_Blinders_(TV_series)&quot;&gt;Peaky Blinders&lt;&#x2F;a&gt; TV
series - it&#x27;s a re-watch for me, but I have forgotten almost everything so it&#x27;s
cool :-)&lt;&#x2F;p&gt;
&lt;p&gt;I have finally finished reading
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;18693397-fundamentals-of-physics&quot;&gt;Fundamentals of Physics: Mechanics, Relativity, and Thermodynamics&lt;&#x2F;a&gt;, and immediately
bought the second volume; I wish I&#x27;d read it during my studies, because chances
are that I&#x27;d have loved physics more... I also started the second volume of
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;634686.La_Guerre_et_la_Paix_II&quot;&gt;La Guerre et la Paix&lt;&#x2F;a&gt;,
as well as &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;27736.Rhinoc_ros&quot;&gt;Rhinocéros&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;The week was quiet both in terms of running - only 23.33 km - and
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt; - only 7
games (4 wins), with a finish at 17th in my group.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;I slowly got back to working on &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt;, and worked
on a &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;69237&quot;&gt;new revision&lt;&#x2F;a&gt; of
my patch to process hub webhooks in Go instead of Python. It depends on minor
fixes (more precisely, the same one in several services) that I encountered
along the way and sent patches for:
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;69180&quot;&gt;1&lt;&#x2F;a&gt;,
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;69197&quot;&gt;2&lt;&#x2F;a&gt;,
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;69200&quot;&gt;3&lt;&#x2F;a&gt; and
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;69202&quot;&gt;4&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;I also made the
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;%3CDI8SG4UBSY7V.3IZZYUWQFIU6H@nasilyan.com%3E&quot;&gt;April release&lt;&#x2F;a&gt;
of &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;&quot;&gt;sr.ht-integration-testing&lt;&#x2F;a&gt;,
that brings a big coverage increase around the project hub, and some daily test
runner stability fixes that are working pretty well. We had only one failure
due to flakiness this month, while we had 14, 9 and 3 in January,
February and March respectively...&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 17 2026</title>
          <pubDate>Wed, 29 Apr 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260429/</link>
          <guid>https://simartin.dev/blog/20260429/</guid>
          <description xml:base="https://simartin.dev/blog/20260429/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;We spent 5 days in Rome, and enjoyed gorgeous weather and nice temperatures in
a truly unique city. For once, we mostly visited &quot;tourist stuff&quot; and really
liked it. Here are a few pictures.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260429-view.jpeg&quot; alt=&quot;View close from Villa Medici&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260429-trevi.jpeg&quot; alt=&quot;Trevi fountain&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260429-vatican.jpeg&quot; alt=&quot;Vatican&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260429-caracalla.jpeg&quot; alt=&quot;Caracalla baths&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260429-caracalla-2.jpeg&quot; alt=&quot;Caracalla baths&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260429-navona.jpeg&quot; alt=&quot;Piazza Navona&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260429-saint-pierre.jpeg&quot; alt=&quot;Saint Peter&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260429-saint-pierre-2.jpeg&quot; alt=&quot;Saint Peter&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260429-venezia.jpeg&quot; alt=&quot;Piazza Venezia&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260429-forum.jpeg&quot; alt=&quot;Forum&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260429-colisee.jpeg&quot; alt=&quot;Colosseum inside&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260429-colisee-2.jpeg&quot; alt=&quot;Colosseum outside&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;We had busy days and walked a lot, so I did not have much energy to read but
still read a book about the history of French external secret services,
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;244720337-dgse&quot;&gt;DGSE: Une brève histoire du renseignement français&lt;&#x2F;a&gt;,
that was interesting.&lt;&#x2F;p&gt;
&lt;p&gt;I barely ran (5.16 km...) but we walked a lot (44.47 km) so it was an OK week
sport wise. And I decided to take a short vacation at
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt; - we&#x27;ll see
if it makes me better, worse or has 0 effect.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;I did not do any meaningful work this week, only fixing a minor
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt; regression with a trivial service
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;69060&quot;&gt;patch&lt;&#x2F;a&gt; and a related
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~xenrox&#x2F;hut-dev&#x2F;patches&#x2F;69062&quot;&gt;fix&lt;&#x2F;a&gt; in
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sr.ht&#x2F;~xenrox&#x2F;hut&#x2F;&quot;&gt;hut&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 16 2026</title>
          <pubDate>Tue, 21 Apr 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260421/</link>
          <guid>https://simartin.dev/blog/20260421/</guid>
          <description xml:base="https://simartin.dev/blog/20260421/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;This last week before the kids&#x27; vacation was very uneventful; this is good :-)&lt;&#x2F;p&gt;
&lt;p&gt;Lyla, Nathalie and I watched
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Mulholland_Drive_(film)&quot;&gt;Mulholland Drive&lt;&#x2F;a&gt; and I
loved it even more than I did when I first saw it 25 years ago. And seeing Lyla
go through various phases of WTF throughout the movie was fun :-)&lt;&#x2F;p&gt;
&lt;p&gt;I finished &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;11887020-american-sniper&quot;&gt;American Sniper&lt;&#x2F;a&gt;; this is one of those meh books that you forget about
as soon as you finish them... I&#x27;m almost through
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;18693397-fundamentals-of-physics&quot;&gt;Fundamentals of Physics: Mechanics, Relativity, and Thermodynamics&lt;&#x2F;a&gt;,
that continues to be excellent and teach me a lot.&lt;&#x2F;p&gt;
&lt;p&gt;It was another mediocre week in terms of running, with 21.64 km, as well as in
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;; I won 9
out of my 19 duels, enough to finish 18th in my division and stay in Master IV
for another week.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;This week was again slow on the &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt; front because
the staff seems still pretty busy fighting the recent DDoS attack, and I don&#x27;t
want to stack too many patches on top of unreviewed ones.&lt;&#x2F;p&gt;
&lt;p&gt;So I only finished and submitted the
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;68899&quot;&gt;patch&lt;&#x2F;a&gt; to migrate
existing hub webhooks to Go and prepared the &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~xenrox&#x2F;hut&quot;&gt;hut&lt;&#x2F;a&gt;
change to hook up the new GQL write operations in a
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~simartin&#x2F;hut&#x2F;log&#x2F;hub_gql_write&quot;&gt;branch&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;I also sent small patches to
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~whynothugo&#x2F;sr.ht-container-compose&quot;&gt;sr.ht-container-compose&lt;&#x2F;a&gt;,
to &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~whynothugo&#x2F;public-inbox&#x2F;patches&#x2F;68861&quot;&gt;silence hut warnings&lt;&#x2F;a&gt; and
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~whynothugo&#x2F;public-inbox&#x2F;patches&#x2F;68863&quot;&gt;setup another user&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;The bulk of my time was spent on &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;servo.org&quot;&gt;servo&lt;&#x2F;a&gt;, more specifically
on the WebGL side of the house and flaky tests:
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;servo&#x2F;servo&#x2F;pull&#x2F;44270&quot;&gt;those&lt;&#x2F;a&gt;
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;servo&#x2F;servo&#x2F;pull&#x2F;44344&quot;&gt;three&lt;&#x2F;a&gt;
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;servo&#x2F;servo&#x2F;pull&#x2F;44367&quot;&gt;patches&lt;&#x2F;a&gt; improve TexImage3D and should stabilize tests, while
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;servo&#x2F;servo&#x2F;pull&#x2F;44156&quot;&gt;this one&lt;&#x2F;a&gt; fixes broken links in comments.&lt;&#x2F;p&gt;
&lt;p&gt;Even though it leads to very small changes, I like this kind of work: you don&#x27;t
know anything, start pulling a string, and pull, and pull, and you learn &quot;a lot&quot;
along them way - time well spent! :-)&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 15 2026</title>
          <pubDate>Tue, 14 Apr 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260414/</link>
          <guid>https://simartin.dev/blog/20260414/</guid>
          <description xml:base="https://simartin.dev/blog/20260414/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;The week started with a nice train trip to Dordrecht to close the long Easter
weekend. We had gorgeous weather and really liked the city. Here are a few
pictures:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260414-1.jpeg&quot; alt=&quot;Birds&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260414-4.jpeg&quot; alt=&quot;Harbour&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260414-2.jpeg&quot; alt=&quot;City hall&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260414-3.jpeg&quot; alt=&quot;Resting deer&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Nathalie had an unfortunate adventure at the French consulate while picking up
her new passport. France is introducing a solution to simplify administrative
procedures, &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;france-identite.gouv.fr&#x2F;&quot;&gt;France Identité&lt;&#x2F;a&gt;. You need to be
in front of an &quot;official person&quot; to set this up, and the plan was for her to do
so while at the consulate. The idea is that you get an email with a personal
link that opens an app on your phone, and you do some operations with that
person. This app is coded so well that if you open it like any other app instead
of via the personal link, it&#x27;s &quot;really bad&quot;, and you have to start over.&lt;&#x2F;p&gt;
&lt;p&gt;It&#x27;s apparently so bad that they warned her about this multiple times
beforehand, and managed to scare her so much that she decided to only download
the app while at the consulate. This makes a lot of sense, but the grave
mistake she made was to assume that she&#x27;d have connectivity there. I almost
suspect they have some kind of jammer because she barely had any signal - signing
on the app store took minutes, downloading was super slow, etc. So much that after
a long time, the tech person asked her to try outside the building, and if it
did not work, to make another appointment. Needless to say, she was able to do
everything in seconds from outside.&lt;&#x2F;p&gt;
&lt;p&gt;So everything worked in the end, but it took a lot of time, the tech person was
pissed off because what should take 5 minutes took almost 1 hour, and Nathalie
was stressed out. All this because the guys who develop the app are so bad that
not starting it from the personal link apparently &quot;breaks everything&quot;. Beyond
the fact that the development probably cost a million euros to France, I&#x27;m
amazed that &lt;strong&gt;nobody&lt;&#x2F;strong&gt; thought that the UX was just unacceptable and that this
should never go to Production. I guess the French administration created their
own version of Amazon&#x27;s &quot;Insist on the highest standards&quot;: &quot;Insist on the lowest
standards&quot;.&lt;&#x2F;p&gt;
&lt;p&gt;On the reading front, I continue
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;18693397-fundamentals-of-physics&quot;&gt;Fundamentals of Physics: Mechanics, Relativity, and Thermodynamics&lt;&#x2F;a&gt;,
still very good, and I started reading
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;11887020-american-sniper&quot;&gt;American Sniper&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;I ran a bit - 22.84 km - but not enough to my liking. I need to correct this.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, I had an OK week at
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;, with 21
wins out the 39 duels I played. This got me to finish 17th in my group, and stay
in Master IV for one more week :-)&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;I made some progress on &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt;&#x27;s project hub, in
particular the migration of webhook processing from Python to Go. I submitted
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;68750&quot;&gt;two&lt;&#x2F;a&gt;
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;68753&quot;&gt;more&lt;&#x2F;a&gt; pre-requisites to
process all &lt;strong&gt;new&lt;&#x2F;strong&gt; webhooks in Go, via
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;68786&quot;&gt;this patch&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;I also &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;paste.sr.ht&#x2F;~simartin&#x2F;1e48967782c092e2fa8cd6ccde0ee93b851253c6&quot;&gt;drafted&lt;&#x2F;a&gt;
the migration of existing webhooks, so that we can simply remove the Python code.
I plan to spend a bit of time on testing and submit it next week.&lt;&#x2F;p&gt;
&lt;p&gt;I will slow down a bit on &quot;core&quot; SourceHut patches because the staff is busy
fighting a &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;status.sr.ht&#x2F;issues&#x2F;2026-04-06-ddos-attack&#x2F;&quot;&gt;DDos attack&lt;&#x2F;a&gt;
and there&#x27;s not much time stacking too many PRs on still not reviewed ones.&lt;&#x2F;p&gt;
&lt;p&gt;Instead, I plan to spend the time on increasing
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;&quot;&gt;sr.ht-integation-testing&lt;&#x2F;a&gt;&#x27;s
test coverage, probably adding support for scenarios involving multiple users.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, I checked if&#x2F;how I could test one of my pending &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;servo.org&quot;&gt;servo&lt;&#x2F;a&gt;
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;servo&#x2F;servo&#x2F;pull&#x2F;43608&quot;&gt;patches&lt;&#x2F;a&gt;. It&#x27;s unfortunately not
possible to do it, so the patch got merged as is.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 14 2026</title>
          <pubDate>Tue, 07 Apr 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260407/</link>
          <guid>https://simartin.dev/blog/20260407/</guid>
          <description xml:base="https://simartin.dev/blog/20260407/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;It&#x27;s been one of those weeks where you feel that you did a lot but not
really, and you wonder where time went :-)&lt;&#x2F;p&gt;
&lt;p&gt;We spent some time taking care of the &quot;bird situation&quot; I mentioned last week:
the space they occupied is now empty&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260407-space.jpeg&quot; alt=&quot;The empty space&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;and we built a box to fully close access&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260407-box.jpeg&quot; alt=&quot;The box&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;We just need to paint it and do some final assembly this week, but the neighbours
are already appreciative of what we&#x27;re doing, so everyone is happy :-)&lt;&#x2F;p&gt;
&lt;p&gt;Apart from that, we had a good long Easter weekend, with the regular &quot;taking the
kids to places&quot;, resting and a nice day trip to Dordrecht.&lt;&#x2F;p&gt;
&lt;p&gt;On the reading front, I finished
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;12262741-wild&quot;&gt;Wild&lt;&#x2F;a&gt;, and continued
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;18693397-fundamentals-of-physics&quot;&gt;Fundamentals of Physics: Mechanics, Relativity, and Thermodynamics&lt;&#x2F;a&gt;.
This book is excellent, with crystal clear explanations, and I&#x27;m really glad to
have (a bit randomly) picked it up. It&#x27;s a big one though, that I did not want
to carry in the train to Dordrecht, so I&#x27;ve also started
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;784166.Russian_Literature&quot;&gt;Russian Literature: A Very Short Introduction&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;The motivation to go out running is still nowhere to be found, and I logged a
mere 22.82 km; let&#x27;s hope spring fixes this.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, I did not play much
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;, with 9
wins out of only 17 games. This was enough for me to finish 15th in my division,
and stay in Master IV.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;I continued working on a patch to migrate webhook processing in the
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt; project hub from Python to Go. It&#x27;s a lot of
boring code to write, and most of the time was spent on continuing to increase
the coverage of the associated tests in
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&quot;&gt;sr.ht-integration-testing&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;After I added &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;58&quot;&gt;tests&lt;&#x2F;a&gt;
to cover all the &quot;TODOs&quot; I had left in the Go code as I was writing it, I am
now confident that the Go code is good enough for submission. I plan to do it
as soon as the
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;status.sr.ht&#x2F;issues&#x2F;2026-04-06-ddos-attack&#x2F;&quot;&gt;current DDoS attack&lt;&#x2F;a&gt; on
SourceHut is mitigated.&lt;&#x2F;p&gt;
&lt;p&gt;This work depends on this
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;68698&quot;&gt;patch&lt;&#x2F;a&gt; that I was able
to submit before the DDoS started.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 13 2026</title>
          <pubDate>Mon, 30 Mar 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260330/</link>
          <guid>https://simartin.dev/blog/20260330/</guid>
          <description xml:base="https://simartin.dev/blog/20260330/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;This week was busier than usual in terms of &quot;house management&quot;:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Ever since we moved into our apartment 5+ years ago, we&#x27;ve had some birds
nesting in a space above our balcony closet that they can access via a hole in
the facade. It did not bother us and we love nature so we did not do anything
about it. I ran into my downstairs neighbour who complained that the birds
dirty their terrace two floors down. It&#x27;s interesting that this was not a problem
in the last 5 years but became one once we bought the apartment, but I can
understand, and took care of this. Given the amount of wood&#x2F;sand&#x2F;random shit we
took out, I wouldn&#x27;t be surprised if that space had been occupied for the last
50 years :-)&lt;&#x2F;li&gt;
&lt;li&gt;The dishwasher technician came to check our not-closing-anymore door. It turns
out that there&#x27;s nothing wrong with the dishwasher: the problem is that there
is friction against the other furniture when we open&#x2F;close the door, and the
machine slowly moves inwards until a point where the door does not close enough
for the hook to do its thing. So now we know that when this happens again, we
need to pull the machine back out. Ideally we&#x27;d also renew the kitchen because
the root cause is that everything moved over time and nothing&#x27;s aligned anymore,
but it&#x27;s the Netherlands and everything&#x27;s built on sand, so it will move
anyway :-)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;On Saturday I was on one of the juries in the &quot;interview simulation&quot; event
organized by my kids&#x27; school. It targeted students who will only graduate next
year, so I was expecting them to &quot;perform&quot; a bit worse than the ones one year
older that I interviewed in previous sessions. I was very wrong: both candidates
were well prepared and excellent. This event was yet another reinforcement of
my frustration that girls seem generally much better than boys, but somehow
convince themselves that they&#x27;re not good enough to study &quot;hard sciences&quot; (while
the boys their age I see tend to be mediocre at best, but think they&#x27;ll win a
Nobel prize - I&#x27;m barely exaggerating...).&lt;&#x2F;p&gt;
&lt;p&gt;I continued to read &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;12262741-wild&quot;&gt;Wild&lt;&#x2F;a&gt;,
and started in parallel
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;18693397-fundamentals-of-physics&quot;&gt;Fundamentals of Physics: Mechanics, Relativity, and Thermodynamics&lt;&#x2F;a&gt;.
I&#x27;ve always been more a maths&#x2F;computer guy, and I never understood physics
(which did not prevent me from being very good at it lol), and figured it was
worth trying again after 20+ years :-)&lt;&#x2F;p&gt;
&lt;p&gt;Otherwise, I ran a mere 18.07 km (IOW the &quot;running fire&quot; is not back yet :-)),
and had a good week at
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt; with 22
wins out of 43, enough to stay in the Master IV division.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;I don&#x27;t have much to show this week, but it does not mean I did not do much :-)&lt;&#x2F;p&gt;
&lt;p&gt;I started to prototype migrating the processing of
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt;&#x27;s project hub webhooks from Python to Go (the
next step in my ongoing work about hub&#x27;s GraphQL API), and quickly realized
that it would be too dangerous without at least a few tests to catch possible
regressions :-)&lt;&#x2F;p&gt;
&lt;p&gt;I therefore&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;42&quot;&gt;resurrected&lt;&#x2F;a&gt; some
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;&quot;&gt;sr.ht-integration-testing&lt;&#x2F;a&gt;
tests that were based on UI parts recently dismantled, and changed them to
instead query the &lt;code&gt;event&lt;&#x2F;code&gt; database table, and&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;56&quot;&gt;improved them&lt;&#x2F;a&gt; to
not only assert the number and structure of events, but also their full contents.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;This is not fun and pretty tedious work, but it will drastically increase my
confidence in my port of webhook processing from Python to Go, exactly what I
want (and need).&lt;&#x2F;p&gt;
&lt;p&gt;And it already started providing value, since it helped me find an issue in
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;68386&quot;&gt;version 4&lt;&#x2F;a&gt; of my patch
to add write APIs (that I fixed
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;68462&quot;&gt;here&lt;&#x2F;a&gt;).&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 12 2026</title>
          <pubDate>Wed, 25 Mar 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260325/</link>
          <guid>https://simartin.dev/blog/20260325/</guid>
          <description xml:base="https://simartin.dev/blog/20260325/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;It&#x27;s been a pretty standard week, except for the fact that our (brand new)
dishwasher caused problems again. We bought it in November 2025, and had to call
in a technician at the end of January because the
I-automatically-open-towards-the-end-so-that-things-dry-better door would not
close (everything else works - you just need to block the door with a chair :-)).
He fixed it, but it broke again, so we&#x27;ll have another technician and I&#x27;ll push
to get a replacement. This is completely unacceptable, all the more for an 800
euro machine! Siemens is definitely not scoring points in our household...&lt;&#x2F;p&gt;
&lt;p&gt;I finished
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;209574.The_Heart_of_the_Buddha_s_Teaching&quot;&gt;The Heart of the Buddha&#x27;s Teaching&lt;&#x2F;a&gt;
and really loved it; you can expect me to mention more books about buddhism here
in the future :-) I started reading
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;12262741-wild&quot;&gt;Wild: From Lost to Found on the Pacific Crest Trail&lt;&#x2F;a&gt;,
and in parallel resumed (after 8-ish years)
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;25550614-programming-rust&quot;&gt;Programming Rust: Fast, Safe Systems Development&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;I had a slow week in terms of running, with only 15.72 km - I&#x27;ll try to do more
next week.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, it was my first week in the Master IV division at
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;. Master IV
and above work a bit differently: all the games count, you&#x27;re only matched
against folks with a similar level as you, and the end of week ranking is simply
by ELO. I did not really like how &quot;lower divisions&quot; worked, so I&#x27;m happy, it&#x27;s
harder but fairer. I had a rollercoaster Sunday, losing a lot of games (with my
ELO dropping below 550...) before I finally got my bearings back. I eventually
finished at 713 ELO, ranked 19th of my group, enough to stay in Master IV \o&#x2F;
Overall, I played 74 duels this week, winning 41.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;I continued to do a bit of work on &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt;:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;I submitted a &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;68386&quot;&gt;fourth iteration&lt;&#x2F;a&gt;
to add write operations to the project hub&#x27;s GraphQL API.&lt;&#x2F;li&gt;
&lt;li&gt;I slowly started to look at migrating hub&#x27;s webhook processing from Python to
Go, and along the way identified a bug with repository deletion that I
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;68361&quot;&gt;fixed&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;I submitted a &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~xenrox&#x2F;hut-dev&#x2F;patches&#x2F;68388&quot;&gt;new revision&lt;&#x2F;a&gt;
to hook up the hub&#x27;s read GraphQL APIs in &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sr.ht&#x2F;~xenrox&#x2F;hut&quot;&gt;hut&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;I also spent a bit of time working on &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;servo.org&quot;&gt;servo&lt;&#x2F;a&gt;:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;I &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;servo&#x2F;servo&#x2F;pull&#x2F;43320&quot;&gt;fixed&lt;&#x2F;a&gt; an annoying display
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;servo&#x2F;servo&#x2F;issues&#x2F;42636&quot;&gt;issue&lt;&#x2F;a&gt; in
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;book.servo.org&#x2F;trying&#x2F;getting-servoshell.html&quot;&gt;servoshell&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;I spent some time investigating an
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;servo&#x2F;servo&#x2F;issues&#x2F;41273&quot;&gt;issue&lt;&#x2F;a&gt; with SVG scaling. I&#x27;m
getting nowhere at the moment, but it&#x27;s a good opportunity to learn about a
domain I know nothing about&lt;&#x2F;li&gt;
&lt;li&gt;I submitted a &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;servo&#x2F;servo&#x2F;pull&#x2F;43608&quot;&gt;patch&lt;&#x2F;a&gt; to fix a
very minor &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;servo&#x2F;servo&#x2F;issues&#x2F;23264&quot;&gt;WebGL compliance issue&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 11 2026</title>
          <pubDate>Tue, 17 Mar 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260317/</link>
          <guid>https://simartin.dev/blog/20260317/</guid>
          <description xml:base="https://simartin.dev/blog/20260317/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;It&#x27;s been a pretty busy week, with lots of sport (mostly in front of the TV ;-)),
quite a bit of coding and finally some progress at GeoGuessr!&lt;&#x2F;p&gt;
&lt;p&gt;This week was the last of the &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.sixnationsrugby.com&#x2F;en&quot;&gt;6 Nations&lt;&#x2F;a&gt;
rugby competition, that brought a lot of joy, stress, and a semi-happy ending:
Ireland solidly won against Scotland (what I hoped for), Wales were excellent
against Italy and won their first game in the last 3 editions (yaay!), and France
played really badly against England (who were very gool) but eventually won,
thanks to a penalty at the very last minute! I am really concerned that the
French crumble as soon as they&#x27;re facing some kind of serious competition: there
will be lots of it in the World Cup next year...&lt;&#x2F;p&gt;
&lt;p&gt;On Sunday, Lyla and I ran the 10km race at the
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;nncpcloopdenhaag.nl&#x2F;en&#x2F;&quot;&gt;CPC Loop Den Haag&lt;&#x2F;a&gt;, in respectively 1h02:39 and
1h02:44 - that&#x27;s better than expected given our limited amount of training this
year. This got me to close the week with 18.75 km of running.&lt;&#x2F;p&gt;
&lt;p&gt;I continued reading
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;209574.The_Heart_of_the_Buddha_s_Teaching&quot;&gt;The Heart of the Buddha&#x27;s Teaching&lt;&#x2F;a&gt;,
and finally made progress at
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;: I won 11
of my 20 counting games, finishing 4th in my division, enough to be promoted to
Master IV - at last!!! It&#x27;s likely that I get destroyed there next week and
immediately get demoted back to Gold I, but it&#x27;s still a good achievement.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;As usual, I worked a bit on &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt;,
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;68208&quot;&gt;iterating&lt;&#x2F;a&gt; on the effort
to add write GQL APIs to the project hub. I had to dive a bit into Go GQL
clients generation, adding support for
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;public-inbox&#x2F;patches&#x2F;68180&quot;&gt;field aliases&lt;&#x2F;a&gt;
(&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;drive.proton.me&#x2F;urls&#x2F;HS7XNSXSJ8#PBHesQZaVKVq&quot;&gt;design&lt;&#x2F;a&gt;).&lt;&#x2F;p&gt;
&lt;p&gt;I also sent a revision of the
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;68235&quot;&gt;patch&lt;&#x2F;a&gt; to keep track of
superseding patch versions, and
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~xenrox&#x2F;hut-dev&#x2F;patches&#x2F;68238&quot;&gt;improved&lt;&#x2F;a&gt; hub project access
via &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~xenrox&#x2F;hut&quot;&gt;hut&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;I also &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;patches&#x2F;68246&quot;&gt;fixed&lt;&#x2F;a&gt; a freeze
in &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;aerc-mail.org&quot;&gt;aerc&lt;&#x2F;a&gt; when quickly changing directories, and sent my
first (trivial) &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;servo&#x2F;servo&#x2F;pull&#x2F;43276&quot;&gt;patch&lt;&#x2F;a&gt; to the
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;servo.org&quot;&gt;servo&lt;&#x2F;a&gt; web browser since... 8 years!&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 10 2026</title>
          <pubDate>Thu, 12 Mar 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260312/</link>
          <guid>https://simartin.dev/blog/20260312/</guid>
          <description xml:base="https://simartin.dev/blog/20260312/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;After a great ski vacation, we&#x27;re back in our regular routine: kids are back to
school, Nathalie gives tons of classes, and I keep myself busy with lots of
random small things at home.&lt;&#x2F;p&gt;
&lt;p&gt;The &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.sixnationsrugby.com&#x2F;en&quot;&gt;6 Nations&lt;&#x2F;a&gt; rugby competition is back
as well after a one week break, and it has been an emotional roller-coaster. It
started pretty poorly, with Wales almost winning against Ireland (Rhys Carre&#x27;s
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;shorts&#x2F;KUQ6hg3Y0ZE&quot;&gt;try&lt;&#x2F;a&gt; was by far the best moment in
the game), and Scotland completely destroying France - I&#x27;m afraid, they showed
they won&#x27;t win the World Cup next year, not for lack of skills but for their
inability to operate when not everything goes their way :&#x27;( The weekend was
fortunately saved by Italy (not) surprisingly winning against England [1], for
the first time ever in history.&lt;&#x2F;p&gt;
&lt;p&gt;Next weekend will be the last in the competition and will be very interesting.
I do hope that France wins (their game and the overall competition), because I
am not ready for yet another French rugby drama :-)&lt;&#x2F;p&gt;
&lt;p&gt;I wrote last week that the
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;38210.The_Art_of_Happiness&quot;&gt;last book&lt;&#x2F;a&gt; I
read piqued my interest in knowing more about buddhism, so I started reading
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;209574.The_Heart_of_the_Buddha_s_Teaching&quot;&gt;The Heart of the Buddha&#x27;s Teaching&lt;&#x2F;a&gt;,
and I like a lot so far.&lt;&#x2F;p&gt;
&lt;p&gt;I had a good running week, with 35.45 km, and I barely played any
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt; - just my
20 &quot;counting games&quot; on Sunday (9 wins). I surprisingly got my best Gold I
ranking ever, finishing 8th in my group.&lt;&#x2F;p&gt;
&lt;p&gt;[1] &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;x.com&#x2F;scrumming_ten&#x2F;status&#x2F;2023689926210933070&quot;&gt;This&lt;&#x2F;a&gt; works for me
as well ;-)&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;I continued iterating on the GraphQL API I&#x27;m adding to
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt;&#x27;s project hub, looking at write operations
after read ones &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~sircmpwn&#x2F;hub.sr.ht&#x2F;commit&#x2F;e7a8a6f8&quot;&gt;landed&lt;&#x2F;a&gt;.
I submitted this &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;68148&quot;&gt;patch&lt;&#x2F;a&gt;
along with this
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;drive.proton.me&#x2F;urls&#x2F;RSZPBCDVT4#NdkNovlygViQ&quot;&gt;testing document&lt;&#x2F;a&gt;; I got
some good feedback on the former, and will submit an updated revision soon.&lt;&#x2F;p&gt;
&lt;p&gt;I also submitted a &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;68061&quot;&gt;patch&lt;&#x2F;a&gt;
to keep track of the revision a patchset supersedes, if any, and expose it in
the UI.&lt;&#x2F;p&gt;
&lt;p&gt;Things are quiet on the
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;&quot;&gt;sr.ht-integration-testing&lt;&#x2F;a&gt;
front (this will change once I&#x27;m done with the project hub&#x27;s GraphQL API, that
will need some not-manual-testing ;-)): I only increased the daily tester&#x27;s
reliability by
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;53&quot;&gt;automatically reclaiming disk space&lt;&#x2F;a&gt;)
on the EC2 runner when needed (instead of erroring out stating that &quot;someone
needs to do something&quot;).&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 9 2026</title>
          <pubDate>Mon, 02 Mar 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260302-1/</link>
          <guid>https://simartin.dev/blog/20260302-1/</guid>
          <description xml:base="https://simartin.dev/blog/20260302-1/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;We had an AWESOME week in Alpe d&#x27;Huez, enjoying a lot of snow and sun - we
probably saw 3 clouds in the whole week...&lt;&#x2F;p&gt;
&lt;p&gt;It&#x27;s the first year none of the kids is attending ski school, which removes
time constraints and brings a lot of freedom. It was really great to ski as a
family, and enjoy quieter times on the slope (e.g. during lunch break).&lt;&#x2F;p&gt;
&lt;p&gt;Here are a few pictures I took this week:&lt;&#x2F;p&gt;
&lt;p&gt;From the top of Sarenne, at 3330m (notice the quantity of snow!)
&lt;img src=&quot;&#x2F;img&#x2F;20260302-top-sarenne.jpeg&quot; alt=&quot;From the top of Sarenne&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260302-sarenne-view.jpeg&quot; alt=&quot;View from the top of Sarenne&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;After the first wall on Sarenne
&lt;img src=&quot;&#x2F;img&#x2F;20260302-first-wall.jpeg&quot; alt=&quot;After the first wall&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;A pretty nice place to have a picnic
&lt;img src=&quot;&#x2F;img&#x2F;20260302-picnic-view.jpeg&quot; alt=&quot;Picnic view&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;The kids leading the charge down the &quot;La Balme&quot; slope
&lt;img src=&quot;&#x2F;img&#x2F;20260302-balme.jpeg&quot; alt=&quot;Going down &amp;quot;La Balme&amp;quot; black slope&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;The last picture this year...
&lt;img src=&quot;&#x2F;img&#x2F;20260302-last-view.jpeg&quot; alt=&quot;Last view before the end&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;In terms of reading, I finished reading
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;38210.The_Art_of_Happiness&quot;&gt;The art of happiness&lt;&#x2F;a&gt; - a very good read that makes me want to explore
buddhism a bit more.&lt;&#x2F;p&gt;
&lt;p&gt;I did not run, but (obviously) skied quite a bit - 219.26 km (!). And I decided
to take a break at
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;,
and not do anything but play the Daily Duel to keep my streak.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;No activity this week :-)&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 8 2026</title>
          <pubDate>Mon, 02 Mar 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260302/</link>
          <guid>https://simartin.dev/blog/20260302/</guid>
          <description xml:base="https://simartin.dev/blog/20260302/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;This is the first of two weeks of winter vacation \o&#x2F;&lt;&#x2F;p&gt;
&lt;p&gt;We went to my mum&#x27;s next to Lyon on Wednesday, and then to Alpe d&#x27;Huez on
Saturday to have a week of skiing. It snowed &lt;strong&gt;a lot&lt;&#x2F;strong&gt; there this week, so we&#x27;ll
have a lot of snow, and the weather is expected to be very nice in &quot;our week&quot;;
we&#x27;re lucky.&lt;&#x2F;p&gt;
&lt;p&gt;I continued to read
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;38210.The_Art_of_Happiness&quot;&gt;The art of happiness&lt;&#x2F;a&gt;, ran very little (6.75 km), and had a reasonably good
week at &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;, with
9 wins out of 20 games. I finished 13th in my division, well enough to remain
in Gold I.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;The only thing I did this week is submit a
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;patches&#x2F;67730&quot;&gt;fix&lt;&#x2F;a&gt; for a regression in
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;aerc-mail.org&quot;&gt;aerc&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 7 2026</title>
          <pubDate>Tue, 17 Feb 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260217/</link>
          <guid>https://simartin.dev/blog/20260217/</guid>
          <description xml:base="https://simartin.dev/blog/20260217/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;I must admit that I spent &lt;strong&gt;a lot&lt;&#x2F;strong&gt; of time this week watching TV, courtesy of
the winter Olympics. I don&#x27;t care about most events, but I am a big biathlon
and cross-country ski fan, both sports have a lot of competitions, and the
French teams are doing very well do far - I&#x27;m very happy.&lt;&#x2F;p&gt;
&lt;p&gt;During quiet times, I read quite a bit, and finished
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;709450.Overcoming_the_Rating_Game&quot;&gt;Overcoming the rating game&lt;&#x2F;a&gt;, and started-and-finished
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;242514331-un-avion-pour-les-gouverner-tous&quot;&gt;Un avion pour les gouverner tous&lt;&#x2F;a&gt;
and &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;244551475-pour-ne-pas-dispara-tre&quot;&gt;Pour ne pas disparaître&lt;&#x2F;a&gt;.
This last one, written by &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Gabriella_Papadakis&quot;&gt;Gabriella Papadakis&lt;&#x2F;a&gt;, a former Olympic champion, was very interesting, sad and
unfortunately not surprising. It describes how abusive elite level sports can be,
and I think it&#x27;d be useful for everybody interested in sports to read it. It&#x27;s
so easy to overlook how crazy those folks&#x27; lives are, the pressure they face to
always perform, be perfect, push through injuries... Her book is one side of the
story, and I believe that her former partner is suing her, but what I take from
it is that elite sport, however enjoyable to watch, is just insane. Quoting
(by memory) Boston Marathon winner
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Desiree_Linden&quot;&gt;Desiree Linden&lt;&#x2F;a&gt; from a recent
episode of the
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;podcasts.apple.com&#x2F;us&#x2F;podcast&#x2F;nobody-asked-us-with-des-kara&#x2F;id1664629953&quot;&gt;Nobody asked us&lt;&#x2F;a&gt;
podcast: &quot;Nothing in what we do is normal&quot;.&lt;&#x2F;p&gt;
&lt;p&gt;I had a good week in terms of running, with 34.61 km, and a very good one at
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;. I barely
played - only 20 games - followed my &quot;at most 30% competitive games&quot; rule, and
won 12 out of my 20 games. We&#x27;ll see next week if it was just a fluke :-)&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;It was a very light week open source wise, because, again, Olympics :-)&lt;&#x2F;p&gt;
&lt;p&gt;In the &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt; front, I submitted the
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;67722&quot;&gt;next iteration&lt;&#x2F;a&gt; of my
work to add a GraphQL API to hub.sr.ht, and continued to combat flakiness in
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;&quot;&gt;sr.ht-integration-testing&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;I also submitted two fixes to &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;aerc-mail.org&quot;&gt;aerc&lt;&#x2F;a&gt;: a regression
making the IMAP header cache useless
(&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;patches&#x2F;67530&quot;&gt;patch&lt;&#x2F;a&gt;) and a UI freeze
when aggressively scrolling through the message list
(&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;patches&#x2F;67601&quot;&gt;patch&lt;&#x2F;a&gt;).&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 6 2026</title>
          <pubDate>Mon, 09 Feb 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260209/</link>
          <guid>https://simartin.dev/blog/20260209/</guid>
          <description xml:base="https://simartin.dev/blog/20260209/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;We&#x27;re getting closer to the kids&#x27; winter vacation - one more week before we go
skiing \o&#x2F;&lt;&#x2F;p&gt;
&lt;p&gt;Speaking of winter, this week was also the start of the Olympics, which already
gave me lots of emotions:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;The French cross country ski team made us proud at the men&#x27;s skeleton
(&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.fis-ski.com&#x2F;DB&#x2F;general&#x2F;athlete-biography.html?competitorid=207367&amp;amp;sectorcode=CC&quot;&gt;Hugo Lapalus&lt;&#x2F;a&gt; is 100% my favourite nordic skier), and
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.fis-ski.com&#x2F;DB&#x2F;general&#x2F;athlete-biography.html?sectorcode=CC&amp;amp;competitorid=184205&quot;&gt;Klaebo&lt;&#x2F;a&gt; demonstrated once again that he&#x27;s from another world&lt;&#x2F;li&gt;
&lt;li&gt;The French biathlon mixed relay team was outstanding (and
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.biathlonworld.com&#x2F;athlete&#x2F;simon-julia&#x2F;BTFRA20910199601&quot;&gt;Julia Simon&lt;&#x2F;a&gt;
is the best ever [1]).&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;I think that winter Olympics don&#x27;t make any sense any more, and I am mad that
we will organize the 2030 ones in France [2], but since they take place, I&#x27;m
supporting the athletes with all my heart.&lt;&#x2F;p&gt;
&lt;p&gt;I did not only watch TV, and finished
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;379073.Myth_of_Self_esteem&quot;&gt;Myth of self-esteem&lt;&#x2F;a&gt;,
and started
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;709450.Overcoming_the_Rating_Game&quot;&gt;Overcoming the rating game&lt;&#x2F;a&gt;.
Both might seem old but I find them super relevant.&lt;&#x2F;p&gt;
&lt;p&gt;I had an OK week in terms of running, with 24.63 km, and a mediocre one at
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;, with 6
wins out of my 20 &quot;counting games&quot; (17 out of 36 overall). This was
(un)fortunately not bad enough to be demoted to Gold II, which I think would be
deserved... maybe next week :-)&lt;&#x2F;p&gt;
&lt;p&gt;I feel like I&#x27;m talking about a change in my GeoGuessr strategy in every status
report, and this week&#x27;s no exception. I realized that I&#x27;m basically never
training: all my games are competitive and count for my ELO, which does not
make any sense -  you have to train to compete! So I&#x27;m implementing yet another
rule: if more than 2&#x2F;3 of my games in a day are competitive, my tracking sheet
turns all red. We&#x27;ll see if this &quot;shaming me into training more&quot; strategy works.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;This was another quiet week coding wise, with just a bit of work to bring a GQL
API to &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt;&#x27;s project hub:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;I iterated on pre-requisite patches to generalize &quot;Resource IDs&quot;
(&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;67383&quot;&gt;main patch&lt;&#x2F;a&gt; and
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;67458&quot;&gt;follow-up&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;I sent another iteration of the read APIs
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;67393&quot;&gt;patch&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;And started to prototype write APIs
(&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;67382&quot;&gt;pre-requisite patch&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;I also spent a bit of time reviewing a bunch of unreviewed
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;aerc-mail.org&quot;&gt;aerc&lt;&#x2F;a&gt; patches.&lt;&#x2F;p&gt;
&lt;p&gt;--&lt;&#x2F;p&gt;
&lt;p&gt;[1] She could be better outside of biathlon; see why she was banned by the
French federation from the first 3 world cup stages this year...&lt;&#x2F;p&gt;
&lt;p&gt;[2] See for instance
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;224110335-le-cr-puscule-des-jeux---enqu-te-sur-les-jo-d-hiver-2030-terra-nova&quot;&gt;Le crépuscule des Jeux&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 5 2026</title>
          <pubDate>Tue, 03 Feb 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260203/</link>
          <guid>https://simartin.dev/blog/20260203/</guid>
          <description xml:base="https://simartin.dev/blog/20260203/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;It&#x27;s been yet another pretty boring week, taking the kids to places, getting
bikes fixed, fixing meals, etc. I &lt;strong&gt;love&lt;&#x2F;strong&gt; boring :-)&lt;&#x2F;p&gt;
&lt;p&gt;I spent an awesome weekend in Brussels for &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;fosdem.org&#x2F;2026&#x2F;&quot;&gt;FOSDEM&lt;&#x2F;a&gt;,
and will talk about it in a dedicated post.&lt;&#x2F;p&gt;
&lt;p&gt;I continued reading
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;379073.Myth_of_Self_esteem&quot;&gt;Myth of self-esteem&lt;&#x2F;a&gt;,
that&#x27;s pretty good, and got me add (so far) 2 more books to my to-read list.&lt;&#x2F;p&gt;
&lt;p&gt;I ran a bit less - 22.74 km - courtesy of FOSDEM, but walked more - 12.21 km - so
it was an OK week moving-wise.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;m still spending quite some time playing
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt; with mixed
results and a lot of frustration :-) I won 6 of my 20 &quot;counting games&quot; (25 out
of 56 overall), which keeps me in the Gold I division. I wish I could say I´m
stagnating, but I think I&#x27;m actually getting worse, so clearly need to do
something... I just don&#x27;t know what :-)&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;I did not write a lot of code this week, but spent a lot of time on open source
via my trip to FOSDEM (again, I&#x27;ll talk about it in a separate post).&lt;&#x2F;p&gt;
&lt;p&gt;On the &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt; front, I made a bit of a fool of myself
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;%3C20260125184757.71743-1-gary@garykim.dev%3E#%3CDFYB1F846KKV.10IWMEA1IFTIQ@nasilyan.com%3E&quot;&gt;here&lt;&#x2F;a&gt;,
and spent some time trying to understand why. TL;DR: some code of mine was
merged 2+ weeks ago that should &lt;strong&gt;not&lt;&#x2F;strong&gt; build, but actually does because it&#x27;s
picked up by the GQL code generator that fixes it on the fly. So no harm done,
but I think it sucks to be able to have differences between the checked-in code
and what actually runs... So I
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;67213&quot;&gt;proposed&lt;&#x2F;a&gt; an
improvement to the CI&#x27;s linting step.&lt;&#x2F;p&gt;
&lt;p&gt;In order to test more scenarii around builds.sr.ht in
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;&quot;&gt;sr.ht-integration-testing&lt;&#x2F;a&gt;,
I submitted a &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~xenrox&#x2F;hut-dev&#x2F;patches&#x2F;67229&quot;&gt;patch&lt;&#x2F;a&gt; to
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~xenrox&#x2F;hut&quot;&gt;hut&lt;&#x2F;a&gt; to support updating build tags.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, I spend some time reviewing the (large) &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;aerc-mail.org&quot;&gt;aerc&lt;&#x2F;a&gt;
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;patches&#x2F;66100&quot;&gt;patch series&lt;&#x2F;a&gt; to create
a local cache for IMAP and JMAP. It&#x27;s very good and I&#x27;m looking forward to it
being merged!&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 4 2026</title>
          <pubDate>Wed, 28 Jan 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260128/</link>
          <guid>https://simartin.dev/blog/20260128/</guid>
          <description xml:base="https://simartin.dev/blog/20260128/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;This week&#x27;s been pretty quiet, with a bit more action on the weekend: we had
the dog (Fifi) and cat (Chatouille) of friends home. They are very nice, but
also like to remind us that they exist at 4 AM... so we were happy to have them,
and not sad when they left :-D&lt;&#x2F;p&gt;
&lt;p&gt;I have finished reading the excellent
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;244723927-guerres-oubli-es&quot;&gt;Guerres oubliées&lt;&#x2F;a&gt;,
and started
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;379073.Myth_of_Self_esteem&quot;&gt;Myth of self-esteem&lt;&#x2F;a&gt;.
The jury is still out about whether I should continue or just stop
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;204159005-the-silmarillion-collector-s-edition&quot;&gt;The Silmarillion&lt;&#x2F;a&gt;;
I generally don&#x27;t like dropping books, but this one is definitely not an easy
read!&lt;&#x2F;p&gt;
&lt;p&gt;I continue to be pretty consistent in terms of running, with 25.91 km, and
thanks to Fifi, add to this 11.93 km of walking.&lt;&#x2F;p&gt;
&lt;p&gt;My &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt; week was
mediocre, with 7 wins out of 20 &quot;counting games&quot; (19 out of 42 overall), enough
to stay in the Gold I division. It&#x27;s not clear to me whether I&#x27;m actually making
progress at this game, but I like it so I&#x27;ll just keep on playing.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;My &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;66275&quot;&gt;patch&lt;&#x2F;a&gt; to add a
GraphQL API to &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt;&#x27;s hub.sr.ht service started
a very good discussion about IDs, and Drew
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;66725&quot;&gt;introduced&lt;&#x2F;a&gt; the notion
of ResourceID. I helped use it in
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;66781&quot;&gt;lists&lt;&#x2F;a&gt; and
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;66779&quot;&gt;trackers&lt;&#x2F;a&gt;, and submitted
a new &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;67098&quot;&gt;version&lt;&#x2F;a&gt; of the
GraphQL API for hub.sr.ht.&lt;&#x2F;p&gt;
&lt;p&gt;I spent a bit of time on &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;aerc-mail.org&quot;&gt;aerc&lt;&#x2F;a&gt;, mostly reviewing Robin&#x27;s
big &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;patches&#x2F;66100&quot;&gt;patch series&lt;&#x2F;a&gt; to
introduce a client side cache. Testing it highlighted a minor bug in one of the
logs I added some time ago, fixed by
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;patches&#x2F;67197&quot;&gt;this patch&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 3 2026</title>
          <pubDate>Tue, 20 Jan 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260120/</link>
          <guid>https://simartin.dev/blog/20260120/</guid>
          <description xml:base="https://simartin.dev/blog/20260120/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;When it&#x27;s winter, folks are sick and your wife has many students coming to your
home for their classes, there&#x27;s almost no chance you don&#x27;t get sick as well. Our
family followed this rule, with Lyla and Nathalie impacted :&#x27;(&lt;&#x2F;p&gt;
&lt;p&gt;On the tech side, we bought a new dishwasher 2 months ago since the previous one
died and ... drumroll... it&#x27;s already having problems! The super duper feature
to automagically open the door towards the end of a programme to improve drying
works so well that we can&#x27;t close this f.ing door anymore! If you block it with
a chair, everything works, so we have a workaround, but we have had to book a
repair with Siemens, and someone will come next week. I don&#x27;t care about fancy
features, I just want machines that work - why can&#x27;t we have super simple ones!?!&lt;&#x2F;p&gt;
&lt;p&gt;On the reading side, I have finished the excellently depressing
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;55609883-pauvre-petit-blanc---le-mythe-de-la-d-possession-raciale&quot;&gt;Pauvre petit blanc&lt;&#x2F;a&gt;, and started
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;204159005-the-silmarillion-collector-s-edition&quot;&gt;The Silmarillion&lt;&#x2F;a&gt;. So I have not increased the
number of books I&#x27;m reading in parallel (remember I&#x27;m &lt;strong&gt;also&lt;&#x2F;strong&gt; on
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;244723927-guerres-oubli-es&quot;&gt;Guerres oubliées&lt;&#x2F;a&gt;)
but I have not decreased either...&lt;&#x2F;p&gt;
&lt;p&gt;I had a good week in terms of running, with 7 runs for a total of 37.12 km, and
an OK one at &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;,
with 6 wins out of my 20 &quot;counting games&quot; (12 out of 29 overall).&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;I have finally decided to buy a new laptop, and I have received it this week \o&#x2F;
This means that I did not contribute much to open source this week, because I
spent quite some time to set everything up and tune &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;gnome.org&quot;&gt;GNOME&lt;&#x2F;a&gt;
to my liking.&lt;&#x2F;p&gt;
&lt;p&gt;The good news is that this laptop is vastly more powerful than the pretty old
hardware I was working on, so build times for &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;gcc.gnu.org&quot;&gt;GCC&lt;&#x2F;a&gt; or
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;servo.org&quot;&gt;Servo&lt;&#x2F;a&gt; are good, and I can consider contributing again to
those projects!&lt;&#x2F;p&gt;
&lt;p&gt;Speaking of GCC, I took a relatively easy
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;gcc.gnu.org&#x2F;bugzilla&#x2F;show_bug.cgi?id=122391&quot;&gt;ticket&lt;&#x2F;a&gt; as a warm-up
exercise, and merged a
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;gcc.gnu.org&#x2F;cgit&#x2F;gcc&#x2F;commit&#x2F;?id=e3bb887b3ee2baf118a67082c2bed2c8cc262875&quot;&gt;fix&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;I still had a bit of time to work on &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt;,
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;66284&quot;&gt;fixing&lt;&#x2F;a&gt;
an issue with settings propagation from mailing lists to the projet hub, and
submitting an iteration of my
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;66275&quot;&gt;patch&lt;&#x2F;a&gt; to bring a
GraphQL API to this hub.&lt;&#x2F;p&gt;
&lt;p&gt;This last patch triggered a
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;%3C20260119085032.306425-1-simon@nasilyan.com%3E#%3CDFSPFYMWJDZD.4L9OCC7X1OB7@ddevault.org%3E&quot;&gt;good discussion&lt;&#x2F;a&gt;
about IDs and won&#x27;t be merged, but expect some activity on this topic in the
coming days.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 2 2026</title>
          <pubDate>Thu, 15 Jan 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260115/</link>
          <guid>https://simartin.dev/blog/20260115/</guid>
          <description xml:base="https://simartin.dev/blog/20260115/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;The big highlight this week is that we had snow here in the Netherlands, and
that it did not melt immediately. To my despair, it had not happened for a few
years, so I was really glad :-)&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260115-snow.jpeg&quot; alt=&quot;Snowy street&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;The kids were even lucky to have their Wednesday classes cancelled because of
the snow! I doubt folks from Norway or Sweden are reading this, but if so, I&#x27;m
sure they&#x27;re (rightfully) laughing at us :-)&lt;&#x2F;p&gt;
&lt;p&gt;I have finished the first tome of
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;634685.La_Guerre_et_la_Paix_I&quot;&gt;La guerre et la paix&lt;&#x2F;a&gt;,
continued reading the excellent
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;244723927-guerres-oubli-es&quot;&gt;Les guerres oubliées&lt;&#x2F;a&gt;,
and started &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;55609883-pauvre-petit-blanc---le-mythe-de-la-d-possession-raciale&quot;&gt;Pauvre petit blanc&lt;&#x2F;a&gt;,
yet another book I heard about either in
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lerubicon.org&#x2F;type-publication&#x2F;le-collimateur&#x2F;&quot;&gt;Le Collimateur&lt;&#x2F;a&gt; or
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;parolesdhistoire.fr&#x2F;&quot;&gt;Paroles d&#x27;histoire&lt;&#x2F;a&gt; (as a side note, I probably
should focus my reading a bit more instead of starting parallel threads :-))&lt;&#x2F;p&gt;
&lt;p&gt;In terms of running, I have not yet broken my goal to run a bit everyday, and
ran 28.28 km.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, I had ups and down this week at
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;, with a
catastrophic afternoon where I basically lost all my games, and like 100 ELO
points... super frustrating. This got me to put in place &quot;gold rules&quot; for
myself, in particular to stop playing for at least 30 minutes as soon as I&#x27;ve
lost 3 games. It will probably not change anything in the long run (at my super
low level, you can as easily earn 100 ELO points), but I&#x27;m sure it will be
better for my sanity. In terms of statistics, I won 7 of my 20 &quot;counting
games, and 22 out of 50 overall.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;For once, I did not work exclusively on &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt;, but
also on &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;lunixbochs&#x2F;ActualVim&quot;&gt;ActualVim&lt;&#x2F;a&gt;, as described in
this &lt;a href=&quot;&#x2F;blog&#x2F;20260112&quot;&gt;post&lt;&#x2F;a&gt;. I also sent a
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;lunixbochs&#x2F;ActualVim&#x2F;pull&#x2F;188&quot;&gt;patch&lt;&#x2F;a&gt; to restore the
&quot;command line&quot; capabilities with recent (&amp;gt;= 0.11) versions of
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;neovim.io&#x2F;&quot;&gt;NeoVim&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;On the SourceHut front, I submitted:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;A batch of patches to simplify some well spread overly complicated error
handling pattern:
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;65991&quot;&gt;1&lt;&#x2F;a&gt;,
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;65993&quot;&gt;2&lt;&#x2F;a&gt;,
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;65995&quot;&gt;3&lt;&#x2F;a&gt;,
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;66000&quot;&gt;4&lt;&#x2F;a&gt;,
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;66001&quot;&gt;5&lt;&#x2F;a&gt; and
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;66004&quot;&gt;6&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;A &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;66078&quot;&gt;patch&lt;&#x2F;a&gt; allowing
users to update the tags of their builds. I will use this to track the failure
reason of sr.ht-integration-testing daily test runs.&lt;&#x2F;li&gt;
&lt;li&gt;A &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~xenrox&#x2F;hut-dev&#x2F;patches&#x2F;66006&quot;&gt;patch&lt;&#x2F;a&gt; to
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~xenrox&#x2F;hut&quot;&gt;hut&lt;&#x2F;a&gt; to allow changing one&#x27;s notification
preferences in todo.sr.ht.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Speaking of
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&quot;&gt;sr.ht-integration-testing&lt;&#x2F;a&gt;,
I added a &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;38&quot;&gt;test&lt;&#x2F;a&gt; for
todo.sr.ht´s setting to get notified of your own updates, and did various
&quot;maintenance tickets&quot;.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Having (some) fun with Sublime Text and ActualVim</title>
          <pubDate>Mon, 12 Jan 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260112/</link>
          <guid>https://simartin.dev/blog/20260112/</guid>
          <description xml:base="https://simartin.dev/blog/20260112/">&lt;p&gt;I have been using &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sublimetext.com&quot;&gt;Sublime Text&lt;&#x2F;a&gt; for more than 10
years [1], and I really love it: it&#x27;s fast, has many extensions, works on all
the platforms I use, and my single license allows me to use it on as many
computers as I want. If it were open source, it would really be perfect ;-)&lt;&#x2F;p&gt;
&lt;p&gt;When I resumed working on &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;gcc.gnu.org&quot;&gt;GCC&lt;&#x2F;a&gt; 18 months ago, I tried to
configure Sublime to support GNU&#x27;s exotic coding style, and failed. So I reverted
to using my old friend &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.vim.org&quot;&gt;vim&lt;&#x2F;a&gt; because the GCC folks ship a
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;gcc.gnu.org&#x2F;git&#x2F;?p=gcc.git;a=blob;f=contrib&#x2F;vimrc;hb=HEAD&quot;&gt;vimrc&lt;&#x2F;a&gt; that
just does the right thing, but I was a bit frustrated.&lt;&#x2F;p&gt;
&lt;p&gt;Fortunately, I stumbled upon &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;lunixbochs&#x2F;ActualVim&quot;&gt;ActualVim&lt;&#x2F;a&gt;,
a Sublime package that uses &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;neovim.io&quot;&gt;neovim&lt;&#x2F;a&gt; as &quot;backend&quot;, giving me
support for GCC&#x27;s vimrc within Sublime - perfect!&lt;&#x2F;p&gt;
&lt;p&gt;At the time, I was coding 100% on an iMac, and things worked great, and when I
resumed (also) using Linux, it worked OK-ish, but not as well, for reasons I
did not understand nor really investigate.&lt;&#x2F;p&gt;
&lt;p&gt;The two main annoyances were:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;With &lt;code&gt;&#x2F;&lt;&#x2F;code&gt; based search: I somehow was not accessing the history via up&#x2F;down,
and backspace was acting weird: for example typing &lt;code&gt;&#x2F;cou&lt;&#x2F;code&gt; followed by
backspace and &lt;code&gt;v&lt;&#x2F;code&gt; would look for &lt;code&gt;couv&lt;&#x2F;code&gt; instead of &lt;code&gt;cov&lt;&#x2F;code&gt;. Annoying but not
the end of the world, and I got used to simply escaping the search box and
restarting whenever I was typo&#x27;ing.&lt;&#x2F;li&gt;
&lt;li&gt;With the &quot;Enter&quot; key when editing GCC code: the cursor would always be on
the new line&#x27;s first column, instead of being properly indented. A bit more
annoying, but since I&#x27;ve been working on &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt;
and &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;aerc-mail.org&quot;&gt;aerc&lt;&#x2F;a&gt; almost exclusively in the last 6 months, it
did not really bother me.&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;Last week, I decided to spend some time to understand what was going on, and
why things worked perfectly well on my iMac and not on Linux.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;a-bad-patch&quot;&gt;A bad patch...&lt;a class=&quot;zola-anchor&quot; href=&quot;#a-bad-patch&quot; aria-label=&quot;Anchor link for: a-bad-patch&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;I added a bunch of logs and experimented, but since I was not going anywhere, I
decided to just write a patch that would fix my problem, even if imperfect, and
send it out for feedback (and also to understand the status of the project, that
did not had any commit in the last 8 years).&lt;&#x2F;p&gt;
&lt;p&gt;This &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;lunixbochs&#x2F;ActualVim&#x2F;pull&#x2F;187&quot;&gt;patch&lt;&#x2F;a&gt; starts from the
fact that somehow some keystrokes in Sublime don&#x27;t make it to neovim, and simply
accumulates them in memory, and only send the resulting string to neovim when
the user validates the search.&lt;&#x2F;p&gt;
&lt;p&gt;Since it worked for me, and I assumed that I might not be the only one in the
world seeing this issue, I sent the patch, ready to never hear back - again,
there&#x27;s not been any change in 8 years, and as much as I love it, Sublime is
not the most used code editor in the world...&lt;&#x2F;p&gt;
&lt;p&gt;To my surprise, I got a reply from the maintainer within a few hours! We
discussed a bit in the pull request, and agreed that it was problematic, so I
discarded it.&lt;&#x2F;p&gt;
&lt;p&gt;What I find awesome here is first that the maintainer spent time to look at a
random pull request in a project he has probably not looked at for years, and
second that something in the discussion (not sure what) got me to think a bit
more and fully understand the problem.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;to-unblock-everything&quot;&gt;... to unblock everything&lt;a class=&quot;zola-anchor&quot; href=&quot;#to-unblock-everything&quot; aria-label=&quot;Anchor link for: to-unblock-everything&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;Sublime allows you to customize keyboard shortcuts, and I realized that I was
using this on my Linux installations, but not on MacOS - because the defaults
for Linux did not match the MacOS ones, that I&#x27;d gotten used to, hence needed
changing. Here was the difference, finally!&lt;&#x2F;p&gt;
&lt;p&gt;I dug a bit deeper in those customizations, particularly the priority if the
mapping for a given key sequence was different in the default keymap, the
package&#x27;s keymap and the user override.&lt;&#x2F;p&gt;
&lt;p&gt;This &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;forum.sublimetext.com&#x2F;t&#x2F;intercept-all-keypresses-in-a-view&#x2F;3989&#x2F;3&quot;&gt;post&lt;&#x2F;a&gt;
explained this, and gave me a nice workaround. But first, what was going on?&lt;&#x2F;p&gt;
&lt;p&gt;Since I needed to customize some key bindings, my user keymap was a modified
copy of the default one, with an action defined for the backspace key (as well
as up, down and Enter). Per the priority rule, this is the mapping that was
taking precedence, not the one defined by ActualVim, that says to forward the
key sequence to neovim.&lt;&#x2F;p&gt;
&lt;p&gt;So whenever I typed backspace, up, down or Enter, the event would be handled
natively by Sublime, and not sent to neovim, leading the exactly what I was
seeing!&lt;&#x2F;p&gt;
&lt;p&gt;Knowing this, the fix is easy: create a symlink to ActualVim&#x27;s keymap in my
user directory, so that it takes precedence over the customized defaults. Et
voilà, mystery solved!&lt;&#x2F;p&gt;
&lt;h1 id=&quot;key-takeaways&quot;&gt;Key takeaways&lt;a class=&quot;zola-anchor&quot; href=&quot;#key-takeaways&quot; aria-label=&quot;Anchor link for: key-takeaways&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;This ended up being a fun adventure, and here are the main things I take away:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Don´t assume that you won&#x27;t get help from maintainers of seemingly dead
projects; just ask questions or start a discussion, ideally with a patch, even
if imperfect: worst case you don&#x27;t hear back, but chances are that you do get
help.&lt;&#x2F;li&gt;
&lt;li&gt;The urge to investigate when things are weird can cost (a lot of) time, but
your world is better if you get to the bottom of things and restore balance
in the force :-)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;--&lt;&#x2F;p&gt;
&lt;p&gt;[1] According to my archives, I bought my first license in February ... 2014.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 1 2026</title>
          <pubDate>Tue, 06 Jan 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260106/</link>
          <guid>https://simartin.dev/blog/20260106/</guid>
          <description xml:base="https://simartin.dev/blog/20260106/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;We took the plane back to the Netherlands on January 1st, a very good idea since
it&#x27;s been snowing here since then, seriously impacting flights and trains. It&#x27;s
been years since we did not have snow, and I am very happy and hope that it will
not only last for a few days, but rather that we have a &quot;real winter&quot; for once.&lt;&#x2F;p&gt;
&lt;p&gt;I continued reading &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;9653505-la-guerre-et-la-paix&quot;&gt;La Guerre et la paix&lt;&#x2F;a&gt;,
and started &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;244723927-guerres-oubli-es&quot;&gt;Les guerres oubliées&lt;&#x2F;a&gt;
in parallel, by my two favourite historians,
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;fr.wikipedia.org&#x2F;wiki&#x2F;Alexandre_Jubelin&quot;&gt;Alexandre Jubelin&lt;&#x2F;a&gt; and
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;fr.wikipedia.org&#x2F;wiki&#x2F;Andr%C3%A9_Loez&quot;&gt;André Loez&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;m slowly getting back to running, with 18.12 km this week, and an objective to
run more than 6 days a week (in average) this year.&lt;&#x2F;p&gt;
&lt;p&gt;I had a good week at &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;,
with 12 wins out of my 20 &quot;counting games&quot; (22 out of 37 overall), which gets me
back into the Gold I division \o&#x2F;&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;I submitted a few patches to &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt;:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;64792&quot;&gt;Fixed&lt;&#x2F;a&gt; a regression
that I introduced just before Christmas with multiline selections in
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&quot;&gt;git.sr.ht&lt;&#x2F;a&gt; (I did not catch it in my manual testing because
of a cached APK in my
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~whynothugo&#x2F;sr.ht-container-compose&quot;&gt;sr.ht-container-compose&lt;&#x2F;a&gt;
setup :-&#x2F;). This got me to add
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;35&quot;&gt;tests&lt;&#x2F;a&gt; to cover those
cases in
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&quot;&gt;sr-ht.integration-testing&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;Improved &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&quot;&gt;todo.sr.ht&lt;&#x2F;a&gt;&#x27;s GraphQL API to
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;65959&quot;&gt;expose&lt;&#x2F;a&gt; user preferences.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;I also communicated the
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;%3CDFE0LOSJKU24.OBPKG7D64EBU@nasilyan.com%3E&quot;&gt;December release&lt;&#x2F;a&gt;
of &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&quot;&gt;sr.ht-integration-testing&lt;&#x2F;a&gt;,
and made a few good improvements:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Added &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;36&quot;&gt;basic tests&lt;&#x2F;a&gt;
for &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;paste.sr.ht&quot;&gt;paste.sr.ht&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;Improved the
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;33&quot;&gt;infrastructure&lt;&#x2F;a&gt; to
allow asserting that outbound emails are actually sent.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 52 2025</title>
          <pubDate>Wed, 31 Dec 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20251231/</link>
          <guid>https://simartin.dev/blog/20251231/</guid>
          <description xml:base="https://simartin.dev/blog/20251231/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;We flew to Villefranche-sur-Saône on Wednesday, and have been staying at my mom&#x27;s
there since. Our main activities have been eating, drinking, discussing and
sleeping.&lt;&#x2F;p&gt;
&lt;p&gt;Apart from that, I continue my slow progress through
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;9653505-la-guerre-et-la-paix&quot;&gt;La Guerre et la paix&lt;&#x2F;a&gt;,
and finished
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;43180059-game-engine-black-book&quot;&gt;Game Engine Black Book: Doom&lt;&#x2F;a&gt;.
This book was really excellent, and I think I will read the author&#x27;s book about
Wolfenstein 3D next.&lt;&#x2F;p&gt;
&lt;p&gt;I fought hard not to register a 0 km running week, and ran 5.14 km. And what was
doomed to happen for a few weeks did happen: I was demoted to Gold II at
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;, with only
4 wins in my 20 &quot;counting games&quot; (23 out of 52 games overall). I´m a bit
disappointed since I&#x27;ve been in Gold I for around 2 months, but I&#x27;ve been saying
that folks there are better than me for a few weeks, so it&#x27;s only logical.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;This was a real vacation week: I did no work whatsoever \o&#x2F;&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 51 2025</title>
          <pubDate>Tue, 23 Dec 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20251223/</link>
          <guid>https://simartin.dev/blog/20251223/</guid>
          <description xml:base="https://simartin.dev/blog/20251223/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;After yet another trip to Lille on Monday, this week was a quiet winding down
to our 2 week Christmas vacation. We&#x27;ll spend most of it with family in France.&lt;&#x2F;p&gt;
&lt;p&gt;I am making steady progress on
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;9653505-la-guerre-et-la-paix&quot;&gt;La Guerre et la paix&lt;&#x2F;a&gt;,
that is consistent with my limited experience with russian literature: it&#x27;s rather
long, very slow - and barely anything happens - but it´s still super enjoyable
to read. As I was telling Nathalie: you have to force yourself a bit to pick up
the book, but then it&#x27;s hard to put it down - weird :-)&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;m interleaving my reading with a very different and also excellent book:
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;43180059-game-engine-black-book&quot;&gt;Game Engine Black Book: Doom&lt;&#x2F;a&gt;.
It&#x27;s not only about the engine itself but also the state of hardware circa 1993;
I really like reading about this &quot;older stuff&quot;.&lt;&#x2F;p&gt;
&lt;p&gt;2025 will have surely not been the year of running: I only ran 17.76km this week,
and did not particularly enjoy it. I hope 2026 reignites my &quot;running is stupid
but I love it&quot; fire.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, I had a good week at &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;, staying in the Gold I division after winning 7 of my
20 &quot;counting games&quot; (and 42 out of 91 overall). The numbers don&#x27;t show it yet,
but I do feel that I&#x27;m making progress. Time will tell.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;As I mentioned in &lt;a href=&quot;&#x2F;blog&#x2F;20251219&quot;&gt;this post&lt;&#x2F;a&gt;, I have migrated my old iMac to
Fedora, and I continue to be very happy. It allowed me to do all that follows
without having to touch Anton&#x27;s PC - it&#x27;s easier for me, and I&#x27;m sure he&#x27;s
grateful to not need to kick his dad out of his room anymore.&lt;&#x2F;p&gt;
&lt;p&gt;On the &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt; front, I did a bunch of random things
as usual:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;I submitted a &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;64420&quot;&gt;patch&lt;&#x2F;a&gt;
to surface the &quot;superseding patch&quot; in the patchset view when applicable. It
makes my life easier because I tend to send multiple patch revisions, and I
hate having to search to find the latest one. The UX is pretty nice - this is
the blue notice box (fortunately Drew had a better idea than my initial one :-))&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20251223-superseding.png&quot; alt=&quot;Superseded patches UX&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;I investigated a weird bug with build badges when several are included in the
same README, that ended up due to a bug in the SVG cache key we use
(&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;64327&quot;&gt;fix&lt;&#x2F;a&gt;).&lt;&#x2F;li&gt;
&lt;li&gt;I submitted a &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;64460&quot;&gt;fix&lt;&#x2F;a&gt; to
hub.sr.ht so that it properly sets up the webhooks it registers to itself in
builds.sr.ht.&lt;&#x2F;li&gt;
&lt;li&gt;I &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;64393&quot;&gt;removed&lt;&#x2F;a&gt; linelight.js
from git.sr.ht since it&#x27;s
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;64139&quot;&gt;now&lt;&#x2F;a&gt; shipped with
core.sr.ht.&lt;&#x2F;li&gt;
&lt;li&gt;For once I read some documentation :-) and fixed a
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;64303&quot;&gt;typo&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Thanks to the hub.sr.ht bugfix mentioned above, I&#x27;m finally convinced that
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~whynothugo&#x2F;sr.ht-container-compose&quot;&gt;sr.ht-container-compose&lt;&#x2F;a&gt;
does not need &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~whynothugo&#x2F;public-inbox&#x2F;patches&#x2F;62859&quot;&gt;this patch&lt;&#x2F;a&gt;.
This means that I can reduce the number of changes between my fork and main \o&#x2F;
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~whynothugo&#x2F;public-inbox&#x2F;patches&#x2F;63328&quot;&gt;Once&lt;&#x2F;a&gt;
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~whynothugo&#x2F;public-inbox&#x2F;patches&#x2F;64222&quot;&gt;all&lt;&#x2F;a&gt;
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~whynothugo&#x2F;public-inbox&#x2F;patches&#x2F;64463&quot;&gt;those&lt;&#x2F;a&gt;
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~whynothugo&#x2F;public-inbox&#x2F;patches&#x2F;64465&quot;&gt;patches&lt;&#x2F;a&gt; are merged, the only differences will be in the Makefile.&lt;&#x2F;p&gt;
&lt;p&gt;And I made a few changes to
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&quot;&gt;sr.ht-integration-testing&lt;&#x2F;a&gt;:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Significantly speedup (and robustifed) builds related tests via
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;17&quot;&gt;this ticket&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;Added a &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;commit&#x2F;f4cc581e0006c19038addd8963fe1864b59d3565&quot;&gt;test&lt;&#x2F;a&gt;
for my recent fix about empty mbox downloads.&lt;&#x2F;li&gt;
&lt;li&gt;I retried running the testsuite natively (i.e. on SourceHut builders) instead
of on EC2, and it still
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;32#event-458480&quot;&gt;does not work&lt;&#x2F;a&gt;.
At least I have the reason documented in a ticket, and don&#x27;t need to try
again in a few weeks to relearn it :-)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;I took a look at one &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;servo&#x2F;servo&#x2F;issues&#x2F;41273&quot;&gt;Servo ticket&lt;&#x2F;a&gt;
that might explain why &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sr.ht&quot;&gt;sr.ht&lt;&#x2F;a&gt; does not render well with
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;servo.org&#x2F;&quot;&gt;Servo&lt;&#x2F;a&gt;, but did not make any progress beyond pulling some
logs.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Giving a second youth to an old iMac that did not want to die</title>
          <pubDate>Fri, 19 Dec 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20251219/</link>
          <guid>https://simartin.dev/blog/20251219/</guid>
          <description xml:base="https://simartin.dev/blog/20251219/">&lt;p&gt;I have a bunch of computers at home, and the one I am primarily working from is
an old 27-inch iMac from 2013 (!) [1]&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20251219-imac.png&quot; alt=&quot;About the old iMac&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;It&#x27;s not super fast, but I really like it, and it was alright for all my
development tasks (&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;gcc.gnu.org&quot;&gt;GCC&lt;&#x2F;a&gt;, &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;aerc-mail.org&quot;&gt;aerc&lt;&#x2F;a&gt;...)
until I started to need Docker (for &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt; testing),
that I never managed to install on Catalina (the last MacOS version that Apple
allowed me to install).&lt;&#x2F;p&gt;
&lt;p&gt;It&#x27;s really nice to have hardware run great [2] for so long in this world of
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Planned_obsolescence&quot;&gt;planned obsolescence&lt;&#x2F;a&gt;, and
while not blocked in anyway (I do have more recent computers :-)), I was
frustrated not to be able to use this machine fully.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;ve been reading about folks installing Linux on Apple hardware, but I was
afraid to brick everything, so constantly postponed trying.  This week I finally
took the plunge and decided to install &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.fedoraproject.org&#x2F;&quot;&gt;Fedora&lt;&#x2F;a&gt;...&lt;&#x2F;p&gt;
&lt;h1 id=&quot;installation-adventures&quot;&gt;Installation adventures&lt;a class=&quot;zola-anchor&quot; href=&quot;#installation-adventures&quot; aria-label=&quot;Anchor link for: installation-adventures&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;I met the first hurdle after I downloaded the &quot;Fedora Workstation&quot;
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.fedoraproject.org&#x2F;workstation&#x2F;download&quot;&gt;ISO&lt;&#x2F;a&gt;: finding a USB stick
to write it to...&lt;&#x2F;p&gt;
&lt;h2 id=&quot;a-dog-to-the-rescue&quot;&gt;A dog to the rescue&lt;a class=&quot;zola-anchor&quot; href=&quot;#a-dog-to-the-rescue&quot; aria-label=&quot;Anchor link for: a-dog-to-the-rescue&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;I&#x27;m pretty sure I have many USB sticks in the house, but could not put my hands
on any, so I decided to go buy one at the local
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.action.com&#x2F;nl-nl&#x2F;&quot;&gt;Action&lt;&#x2F;a&gt; store, and couple this with a short run.
Surprinsingly enough, Action was out of USB sticks (!!), so I tried
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;hema.nl&quot;&gt;Hema&lt;&#x2F;a&gt; and only found a ...
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.hema.nl&#x2F;vrije-tijd-kantoor&#x2F;school-kantoor&#x2F;elektronica&#x2F;usb-sticks&#x2F;usb-stick-2.0-8gb-takkie-39550004.html&quot;&gt;dog USB stick&lt;&#x2F;a&gt;.
It&#x27;s not nice, takes up two slots because of its &quot;big&quot; bottom, but it does the
job...&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20251219-rescuedog.jpeg&quot; alt=&quot;The rescue dog&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;h2 id=&quot;where-we-re-going-we-don-t-need-roads-w-cables-3&quot;&gt;Where we&#x27;re going, we don&#x27;t need roads^W cables [3]&lt;a class=&quot;zola-anchor&quot; href=&quot;#where-we-re-going-we-don-t-need-roads-w-cables-3&quot; aria-label=&quot;Anchor link for: where-we-re-going-we-don-t-need-roads-w-cables-3&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;I have a bluetooth Apple keyboard and a Magic Mouse, which is a problem when you
setup a brand new computer, so I had to temporarily steal Anton&#x27;s keyboard and
mouse, plug them along with the dog, and boot things up.&lt;&#x2F;p&gt;
&lt;p&gt;Still afraid to brick everything, I started in &quot;live mode&quot; to look around, and
see that I could at least detect and use my bluetooth keyboard and mouse, before
actually erasing my disk and installing the OS. It worked surprisingly well,
which gave me confidence to go ahead.&lt;&#x2F;p&gt;
&lt;p&gt;The installation went smoothly and I was happy, until I tried to connect to the
wifi. It turns out that the iMac uses a Broadcom wifi adapter, that requires a
proprietary driver, definitely &lt;strong&gt;not&lt;&#x2F;strong&gt; included in the ISO.&lt;&#x2F;p&gt;
&lt;p&gt;So I had to take the iMac downstairs and plug it directly to the Ziggo box to
get the wifi working.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;i-have-no-tools-because-i-destroyed-my-tools-with-my-tools-4&quot;&gt;I have no tools because I destroyed my tools with my tools [4]&lt;a class=&quot;zola-anchor&quot; href=&quot;#i-have-no-tools-because-i-destroyed-my-tools-with-my-tools-4&quot; aria-label=&quot;Anchor link for: i-have-no-tools-because-i-destroyed-my-tools-with-my-tools-4&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;Fortunately Apple does not use some weird Ethernet adapter, and I could easily
find out how to download and setup the right kernel modules
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.schabell.org&#x2F;2025&#x2F;01&#x2F;installing-fedora-41-on-macbook-pro-13-inch-late-2011.html&quot;&gt;here&lt;&#x2F;a&gt;.
It went well, but since I&#x27;m very good at skimming through documentation instead
of actually reading it, I made two mistakes:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;I did not think that &lt;code&gt;sudo akmods&lt;&#x2F;code&gt; failing might be a problem (in hindsight, lol)&lt;&#x2F;li&gt;
&lt;li&gt;Even though I had pulled lots of updates (including kernel ones), I thought
that rebooting was a good idea&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;When the machine went back up (with a new kernel), I did not have bluetooth
anymore (and still no wifi).&lt;&#x2F;p&gt;
&lt;p&gt;After replugging Anton&#x27;s keyboard and mouse, learning how to change the booted
kernel version, a reboot, installing kernel sources and this time properly
building kernel modules, I was back to business, with bluetooth and wifi
working!&lt;&#x2F;p&gt;
&lt;p&gt;I bid farewell to wired accessories, took the iMac back upstairs, and started
setting things up.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;configuration-adventures&quot;&gt;Configuration adventures&lt;a class=&quot;zola-anchor&quot; href=&quot;#configuration-adventures&quot; aria-label=&quot;Anchor link for: configuration-adventures&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;Overall, getting up to speed was much faster than I was expecting, so I will
only talk about two things.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;adapting-to-muscle-memory&quot;&gt;Adapting to muscle memory&lt;a class=&quot;zola-anchor&quot; href=&quot;#adapting-to-muscle-memory&quot; aria-label=&quot;Anchor link for: adapting-to-muscle-memory&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;The human body and mind are incredible things: even though I am working from at
least 4 different computers at home (two iMac-s, one Windows PC, and one Windows
laptop, each with their own specific keyboard layout), my fingers automagically
adapt to whatever is in front of me.&lt;&#x2F;p&gt;
&lt;p&gt;It was therefore important for me to be able to not use &quot;CTRL+&quot; shortcuts but
their Mac equivalent &quot;Command+&quot;.&lt;&#x2F;p&gt;
&lt;p&gt;Thanks to
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;packages.fedoraproject.org&#x2F;pkgs&#x2F;gnome-tweaks&#x2F;gnome-tweaks&#x2F;&quot;&gt;Gnome Tweaks&lt;&#x2F;a&gt;,
it&#x27;s actually very easy: all it takes is to use the &quot;Ctrl is mapped to Win and
the usual Ctrl&quot; option.&lt;&#x2F;p&gt;
&lt;p&gt;And by overriding the Command+Space shortcut to &quot;Search&quot; in Gnome&#x27;s regular
&quot;Keyboard shortcuts&quot; preferences, I almost feel like I&#x27;m still on Mac OS.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;my-life-was-about-upgrading-now-it-s-about-downgrading&quot;&gt;My life was about upgrading, now it&#x27;s about downgrading&lt;a class=&quot;zola-anchor&quot; href=&quot;#my-life-was-about-upgrading-now-it-s-about-downgrading&quot; aria-label=&quot;Anchor link for: my-life-was-about-upgrading-now-it-s-about-downgrading&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;The second noticeable configuration adventure is a fun one, and marks a big
shift for me: after years trying to upgrade software by hand (because I was on
an outdated MacOS version), I now need to downgrade some software by hand :-)&lt;&#x2F;p&gt;
&lt;p&gt;For context, I&#x27;m a big &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.sublimetext.com&#x2F;&quot;&gt;Sublime Text&lt;&#x2F;a&gt; fan, and in
order to have it properly format code for
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;gcc.gnu.org&#x2F;git&#x2F;?p=gcc.git;a=blob_plain;f=contrib&#x2F;vimrc;hb=HEAD&quot;&gt;GCC development&lt;&#x2F;a&gt;,
I use the &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;lunixbochs&#x2F;ActualVim&#x2F;tree&#x2F;master&quot;&gt;ActualVim&lt;&#x2F;a&gt;
package. ActualVim delegates all editing actions to an instance of
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;neovim.io&#x2F;&quot;&gt;NeoVim&lt;&#x2F;a&gt;, and makes Sublime do exactly what I need &amp;lt;3&lt;&#x2F;p&gt;
&lt;p&gt;However, on the &quot;new&quot; iMac, things were only partially working; in particular,
typing &lt;code&gt;&#x2F;&lt;&#x2F;code&gt; would not do anything, instead of opening a &quot;search box&quot;. A bit of
debugging showed that ActualVim was expecting 6 elements in the &lt;code&gt;cmdline_show&lt;&#x2F;code&gt;
UI event, and was getting 7 from NeoVim. It turns out that Fedore 43 ships
Neovim 0.11, that has a related
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;neovim.io&#x2F;doc&#x2F;user&#x2F;news-0.11.html#_events&quot;&gt;API change&lt;&#x2F;a&gt;!&lt;&#x2F;p&gt;
&lt;p&gt;Since ActualVim is pretty old and likely not maintained anymore, the easiest
was for me to build NeoVim 0.10 from sources.&lt;&#x2F;p&gt;
&lt;p&gt;I have no idea whether there are 3 of us in the world using ActualVim or
thousands (in other words, whether it&#x27;s worth fixing), but I plan to investigate
and if it makes sense, to try to fix this.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;thoughts-about-the-move&quot;&gt;Thoughts about the move&lt;a class=&quot;zola-anchor&quot; href=&quot;#thoughts-about-the-move&quot; aria-label=&quot;Anchor link for: thoughts-about-the-move&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;I&#x27;m writing this on my third day after installing, and I am very, very happy to
have done it: things are working surprisingly well, and I am able to do &lt;strong&gt;all&lt;&#x2F;strong&gt;
the coding and testing I want directly on the iMac.&lt;&#x2F;p&gt;
&lt;p&gt;I still have a few minor things to sort out (e.g. be able to change screen
brightness from the UI and not by writing numbers in obscure files in &lt;code&gt;&#x2F;proc&lt;&#x2F;code&gt;
:-)), but nothing important nor urgent.&lt;&#x2F;p&gt;
&lt;p&gt;The old iMac is dead, long live the old iMac!&lt;&#x2F;p&gt;
&lt;p&gt;--&lt;&#x2F;p&gt;
&lt;p&gt;[1] We have a more recent one, but it&#x27;s used primarily by Nathalie for her work
so I don&#x27;t want to mess with it :-)&lt;&#x2F;p&gt;
&lt;p&gt;[2] I did have to change the hard drive a while ago, but that&#x27;s the only issue
I got in all these years.&lt;&#x2F;p&gt;
&lt;p&gt;[3] Quote from the &quot;Back to the future&quot; movie.&lt;&#x2F;p&gt;
&lt;p&gt;[4] Quote from James Mickens&#x27; hilarious
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.usenix.org&#x2F;system&#x2F;files&#x2F;1311_05-08_mickens.pdf&quot;&gt;The Night Watch&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 50 2025</title>
          <pubDate>Tue, 16 Dec 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20251216/</link>
          <guid>https://simartin.dev/blog/20251216/</guid>
          <description xml:base="https://simartin.dev/blog/20251216/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;Everybody at home is looking forward to the Christmas break; two more weeks!&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;ve gone to Lille for the second time in 2 weeks, and have another trip there
scheduled next Monday; we&#x27;re probably at a point where the car could do the
driving on its own :-) It takes a lot of time and is a bit tiring, so less work
for me, but it&#x27;s alright - let&#x27;s say I´m warming up for the vacation.&lt;&#x2F;p&gt;
&lt;p&gt;I finished reading Emmanuel Carrère&#x27;s latest book,
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;230619996-kolkhoze&quot;&gt;Kolkhoze&lt;&#x2F;a&gt;, that was
excellent as usual. From my point of view, Carrère is one of the greatest
authors alive. I also read
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;207737311-task-force-baguette-deux-soldats-fran-ais-sur-le-front-ukrainien&quot;&gt;Task Force Baguette&lt;&#x2F;a&gt;,
after one of its authors was invited to
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lerubicon.org&#x2F;type-publication&#x2F;le-collimateur&#x2F;&quot;&gt;Le Collimateur&lt;&#x2F;a&gt;, and
it was OK. And since Carrère was talking about how his uncle became a big fan
of Leon Tolstoï, I decided to start reading
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;9653505-la-guerre-et-la-paix&quot;&gt;La Guerre et la paix&lt;&#x2F;a&gt;,
that should keep me occupied for a bit :-)&lt;&#x2F;p&gt;
&lt;p&gt;It was another mediocre week in terms of running (20.49km run), and a good one
at &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;: despite
winning only 5 of my 20 &quot;counting games&quot; (29 out of 59 overall), I stay in the
Gold I division, and I reached 701 ELO. I expect to drop a bit next week, but am
happy to have reached a personal best.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;I continued to make miscellaneous improvements to
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt;, in particular:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Support selecting multiple lines in pastes.sr.ht, via
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;64139&quot;&gt;this&lt;&#x2F;a&gt; and
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;64169&quot;&gt;that&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Expose service version and build date via GraphQL in
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;64228&quot;&gt;builds&lt;&#x2F;a&gt;,
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;64230&quot;&gt;git&lt;&#x2F;a&gt;,
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;64232&quot;&gt;hub&lt;&#x2F;a&gt;,
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;64235&quot;&gt;lists&lt;&#x2F;a&gt;,
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;64236&quot;&gt;paste&lt;&#x2F;a&gt;,
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;64239&quot;&gt;todo&lt;&#x2F;a&gt;,
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;64241&quot;&gt;man&lt;&#x2F;a&gt; and
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;64243&quot;&gt;hg&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;I also prototyped adding read-only GraphQL APIs to hub.sr.ht, via (work in progress)
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;64198&quot;&gt;patch&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Along the way, I sent one &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~xenrox&#x2F;hut-dev&#x2F;patches&#x2F;64208&quot;&gt;patch&lt;&#x2F;a&gt;
to &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~xenrox&#x2F;hut&quot;&gt;hut&lt;&#x2F;a&gt; to support more services in &lt;code&gt;hut graphql&lt;&#x2F;code&gt;,
and the associated
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~whynothugo&#x2F;public-inbox&#x2F;patches&#x2F;64222&quot;&gt;configuration update&lt;&#x2F;a&gt;
in &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~whynothugo&#x2F;sr.ht-container-compose&quot;&gt;sr.ht-container-compose&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, beyond miscellaneous small fixes to
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&quot;&gt;sr.ht-integration-testing&lt;&#x2F;a&gt;,
I finally &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;28&quot;&gt;split&lt;&#x2F;a&gt;
the pure build and the &quot;testing SourceHut via sr.ht-container-compose&quot;. I noticed
a weird bug with build badges, that I sent a
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;64327&quot;&gt;fix&lt;&#x2F;a&gt; for.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 49 2025</title>
          <pubDate>Tue, 09 Dec 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20251209/</link>
          <guid>https://simartin.dev/blog/20251209/</guid>
          <description xml:base="https://simartin.dev/blog/20251209/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;The main event this week is that we are now the owners of the apartment we&#x27;ve
been renting for a few years - we were not particularly looking to buy, but
circumstances were such that it was the right thing to do, and we&#x27;re happy.&lt;&#x2F;p&gt;
&lt;p&gt;It was also the opportunity to discover a whole ecosystem of people you have to
give money to to be able to buy, and whose &quot;added value&quot; is not always very
clear... a topic for a separate post :-)&lt;&#x2F;p&gt;
&lt;p&gt;This weekend, we welcomed the pets of friends, Fifi (dog) and Chatouille (cat),
and it was a great way of showing the kids that having pets is quite some
work... I have good hopes that the &quot;Why can&#x27;t we have a dog?&quot; discussions stop
for a little while.&lt;&#x2F;p&gt;
&lt;p&gt;I finished reading
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;22854328-la-r-volution-fran-aise&quot;&gt;La Révolution française&lt;&#x2F;a&gt;,
that I did not like very much; I think I tried to punch above my weight: my
knowledge of the period is too limited for this book to be &quot;useful&quot; to me.&lt;&#x2F;p&gt;
&lt;p&gt;I also read
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;242820899-et-tuez-les-partout-o-vous-les-trouverez&quot;&gt;Et tuez-les partout où vous les trouverez&lt;&#x2F;a&gt;
by Abou Djaffar (who I discovered in an episode of &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lerubicon.org&#x2F;type-publication&#x2F;le-collimateur&#x2F;&quot;&gt;Le Collimateur&lt;&#x2F;a&gt;),
that was excellent.&lt;&#x2F;p&gt;
&lt;p&gt;I did not run much (18.47km), but walked a lot more than usual (16.12km),
courtesy of Fifi :-)&lt;&#x2F;p&gt;
&lt;p&gt;Finally, my &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;
week was good: I finished 18th at my Gold I division, which is mediocre but I&#x27;m
happy enough with. And I enjoy my new strategy to not worry too much about the
20 first games (that I generally lose because my opponents are much better than
I am) and play a lot more (against people at my level). I&#x27;m a lot less
frustrated, and feel that I progressing more - win-win!&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;It was a quiet week in terms of coding, partly because of housing stuff, pet
stuff, watching some &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;reinvent.awsevents.com&#x2F;keynotes&#x2F;&quot;&gt;re:Invent keynotes&lt;&#x2F;a&gt;,
and fighting with disk space (yeah I&#x27;m looking at you
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;microsoft&#x2F;WSL&#x2F;issues&#x2F;4699&quot;&gt;stupid WSL ticket&lt;&#x2F;a&gt;).&lt;&#x2F;p&gt;
&lt;p&gt;Still I did a few things, in &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt; as usual:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Sent (I hope) final revisions of changes to expose the running version and its
build date in GraphQL
(&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;63966&quot;&gt;this&lt;&#x2F;a&gt;,
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;64070&quot;&gt;this&lt;&#x2F;a&gt; and
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;64072&quot;&gt;that&lt;&#x2F;a&gt;).&lt;&#x2F;li&gt;
&lt;li&gt;Fixed spurious &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;64100&quot;&gt;errors&lt;&#x2F;a&gt;
during &lt;code&gt;hut export&lt;&#x2F;code&gt;export.&lt;&#x2F;li&gt;
&lt;li&gt;Made &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~xenrox&#x2F;hut-dev&#x2F;patches&#x2F;63878&quot;&gt;minor&lt;&#x2F;a&gt;
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~xenrox&#x2F;hut-dev&#x2F;patches&#x2F;64074&quot;&gt;fixes&lt;&#x2F;a&gt; to
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~xenrox&#x2F;hut&quot;&gt;hut&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 48 2025</title>
          <pubDate>Mon, 01 Dec 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20251201/</link>
          <guid>https://simartin.dev/blog/20251201/</guid>
          <description xml:base="https://simartin.dev/blog/20251201/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;The highlight of the week was the &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;gojira-music.com&quot;&gt;Gojira&lt;&#x2F;a&gt; concert in
Lille on Friday evening. While it was my third (or fourth?) time seeing them
(the first being 20 years and 3 days before), it was the first for Lyla and Anton,
who really liked it. The band was excellent, as usual, and I&#x27;m looking forward
to (at least) 20 more years regularly attending their concerts :-)&lt;&#x2F;p&gt;
&lt;p&gt;Here are a few pictures. Note the drone powered whale on &quot;Flying whale&quot; :-)&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20251201-flying-whale.jpeg&quot; alt=&quot;Flying whale&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20251201-gojira.jpeg&quot; alt=&quot;Band playing&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20251201-fin.jpeg&quot; alt=&quot;Band saluting&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;I finished reading
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;74958599-par-le-fer-et-par-le-feu&quot;&gt;Par le fer et par le feu&lt;&#x2F;a&gt;,
and learnt a lot about naval combat on the Atlantic ocean in the 17th and 18th
centuries (sic). I continue in the field of history, with
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;22854328-la-r-volution-fran-aise&quot;&gt;La Révolution française&lt;&#x2F;a&gt;,
that might confirm my suspicion that the situation in France and the world is
becoming close to what it was a bit before 1789... we&#x27;ll see.&lt;&#x2F;p&gt;
&lt;p&gt;My running continues to be mediocre, with a mere 13.4 km this week. It&#x27;s partly
explained by my having more fun coding than running, and I need to balance
things out better.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, my &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;
week was not great, but OK. I have realized that I don&#x27;t really deserve to be
in the Gold I division (in other words, the folks there are much better than I
currently am :-)), so my strategy is now to:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Quickly get it over with the first 20 games, that do count for the week&#x27;s
division ranking, and are against folks from that division,&lt;&#x2F;li&gt;
&lt;li&gt;Then play a lot more games, that don&#x27;t count for the division ranking (but
still do for my ELO) and are more useful and interesting, because I&#x27;m playing
against folks with a level close to mine.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;As usual, the bulk of my work was in the &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt;
ecosystem:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;The work to allow users to control what actions trigger builds is merged \o&#x2F;
The main patches are
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;63703&quot;&gt;git.sr.ht&lt;&#x2F;a&gt;,
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;63579&quot;&gt;hub.sr.ht&lt;&#x2F;a&gt;, and
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;63739&quot;&gt;sr.ht-docs&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Right after, I &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;18&quot;&gt;migrated&lt;&#x2F;a&gt;
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&quot;&gt;sr.ht-integration-testing&lt;&#x2F;a&gt;
to use this instead of the hacks I had written&lt;&#x2F;li&gt;
&lt;li&gt;I &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;63838&quot;&gt;resurrected&lt;&#x2F;a&gt; my
work to expose build information (e.g. git hash and build date) in the
&lt;code&gt;version&lt;&#x2F;code&gt; GraphQL API.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;I also
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;%3CDEJGDWDA7AYE.1Q4972PRSDH3X@nasilyan.com%3E&quot;&gt;announced&lt;&#x2F;a&gt;
the first monthly release of
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&quot;&gt;sr.ht-integration-testing&lt;&#x2F;a&gt;,
and took the opportunity of my annual plan with &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;irccloud.com&quot;&gt;IRCCloud&lt;&#x2F;a&gt;
expiring soon to migrate everything IRC to &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;chat.sr.ht&quot;&gt;chat.sr.ht&lt;&#x2F;a&gt;
(and that&#x27;s another 5-ish bucks saved per month :-)).&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 47 2025</title>
          <pubDate>Mon, 24 Nov 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20251124/</link>
          <guid>https://simartin.dev/blog/20251124/</guid>
          <description xml:base="https://simartin.dev/blog/20251124/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;This was yet another quiet week on the personal front - this is good.&lt;&#x2F;p&gt;
&lt;p&gt;I have finally finished reading
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;57531079-the-lord-of-the-rings&quot;&gt;The Lord of the Rings&lt;&#x2F;a&gt;,
and really liked it. I completely ignored this book&#x27;s existence for decades
because my contrarian self despised all the fuss people were making about the
movie series 20+ (!!) years ago, and it was a mistake. Its size (1000+ pages)
can be scary, but its does not &quot;feel&quot; long, and the story is really good.
Thumbs up.&lt;&#x2F;p&gt;
&lt;p&gt;I have started
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;74958599-par-le-fer-et-par-le-feu&quot;&gt;Par le fer et par le feu&lt;&#x2F;a&gt;
by Alexandre Jubelin, of
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lerubicon.org&#x2F;type-publication&#x2F;le-collimateur&#x2F;&quot;&gt;Le Collimateur&lt;&#x2F;a&gt;
&quot;fame&quot;, initially as a means of supporting his work, but it turns out that the
history of naval combat in the 16th and 17th century is actually super
interesting. I&#x27;m learning a ton of &quot;not super useful&quot;, and loving it!&lt;&#x2F;p&gt;
&lt;p&gt;I ran 23.6km, enjoying the colder temperatures. While I&#x27;m still pondering
whether I should sign up for the Leiden Marathon this year, Lyla and I have for
the 15km race at the CPC Loop Den Haag in March.&lt;&#x2F;p&gt;
&lt;p&gt;My &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt; week
was painful, even though I remain in the Gold I division: I lost 36 of my 63
games, and felt desperate during a few &quot;catastrophic loss streaks&quot;. There&#x27;s a
saying in French that I don´t really know how to translate describing the week
well: &quot;c&#x27;est le métier qui rentre&quot;.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;I continued to work mostly on &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sr.ht&quot;&gt;SourceHut&lt;&#x2F;a&gt; and
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;aerc-mail.org&quot;&gt;aerc&lt;&#x2F;a&gt;, but I am starting to feel a itch to do some
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;gcc.gnu.org&quot;&gt;GCC&lt;&#x2F;a&gt; development again; time will tell if it&#x27;s just
talk or it actually happens.&lt;&#x2F;p&gt;
&lt;p&gt;On the SourceHut from, I got a cool shout-out in their Q4
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&#x2F;blog&#x2F;2025-11-20-whats-cooking-q4-2025&#x2F;&quot;&gt;What&#x27;s cooking on SourceHut?&lt;&#x2F;a&gt;
post, which is very nice.&lt;&#x2F;p&gt;
&lt;p&gt;I iterated on the &quot;submitter patch series&quot;, that give users more control on what
events trigger builds. For instance, you&#x27;ll be able to state that you only want
builds to happen for pushes to master, and not for patchsets received on a
mailing list. &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;63577&quot;&gt;This&lt;&#x2F;a&gt;
and &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;63579&quot;&gt;that&lt;&#x2F;a&gt; patch are
merged, and I&#x27;ll send new revisions for
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;63575&quot;&gt;this&lt;&#x2F;a&gt; and
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;63581&quot;&gt;that&lt;&#x2F;a&gt; today.&lt;&#x2F;p&gt;
&lt;p&gt;I also sent a trivial compilation
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;63586&quot;&gt;fix&lt;&#x2F;a&gt; identified by
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&quot;&gt;sr.ht-integration-testing&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Talking about sr.ht-integration-testing, I implemented a bunch of semi-random
improvements, mostly to simplify things and combat flakiness:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Use hut instead of the UI when possible for builds.sr.ht (&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;14&quot;&gt;ticket&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Tighter output for daily runs (&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;9&quot;&gt;ticket&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Support using my forks instead of upstream in
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~whynothugo&#x2F;sr.ht-container-compose&quot;&gt;sr.ht-container-compose&lt;&#x2F;a&gt; if
needed (&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;12&quot;&gt;ticket&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Use &lt;code&gt;require&lt;&#x2F;code&gt; instead of &lt;code&gt;assert&lt;&#x2F;code&gt; in tests (&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;8&quot;&gt;ticket&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Move git related functions into a class (&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;7&quot;&gt;ticket&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Those require a small improvement to &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~xenrox&#x2F;hut&quot;&gt;hut&lt;&#x2F;a&gt;&#x27;s
&lt;code&gt;hut builds list&lt;&#x2F;code&gt; (&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~xenrox&#x2F;hut-dev&#x2F;patches&#x2F;63676&quot;&gt;patch&lt;&#x2F;a&gt;).
Along the way, I noticed that &lt;code&gt;hut builds resubmit&lt;&#x2F;code&gt; did not conserve build tags,
just like the UI did, hence this
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~xenrox&#x2F;hut-dev&#x2F;patches&#x2F;63666&quot;&gt;patch&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, I spent a bit of time on aerc, in particular investigating an issue
recently reported on IRC, and again in the
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-discuss&#x2F;%3C0107019aa1328641-301bf4d7-18e0-445b-9266-34ca7feed50a-000000@eu-central-1.amazonses.com%3E&quot;&gt;mailing list&lt;&#x2F;a&gt;
with one of the features I implemented way back. The reporter did an awesome
detective work, and I was mostly the scribe in
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;patches&#x2F;63638&quot;&gt;the fix&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;In passing, I added an option to get
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;emersion&#x2F;go-imap&#x2F;tree&#x2F;v1.2.1&quot;&gt;go-imap&lt;&#x2F;a&gt; to log its
interations with the  IMAP server
(&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;patches&#x2F;63641&quot;&gt;patch&lt;&#x2F;a&gt;) and made a
pretty useless error log a bit better
(&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;patches&#x2F;63635&quot;&gt;patch&lt;&#x2F;a&gt;).&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 46 2025</title>
          <pubDate>Tue, 18 Nov 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20251118/</link>
          <guid>https://simartin.dev/blog/20251118/</guid>
          <description xml:base="https://simartin.dev/blog/20251118/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;This week I spent quite some time at my kids&#x27; school: each had their
&quot;parent&#x2F;teacher&quot; meeting (that went unsurprisingly very well), and I participated
to an &quot;interview panel training&quot; for last year high schoolers on Saturday.&lt;&#x2F;p&gt;
&lt;p&gt;I have a lot of opportunity to witness the sad state of education via Nathalie&#x27;s
business, and this session demonstrated two things yet again:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;The number of no-shows tells me that many students have 0 sense of
responsibility, and have no problem cancelling engagements at the last minute
because they just don´t feel like going...&lt;&#x2F;li&gt;
&lt;li&gt;I&#x27;m 100x more hopeful for girls to succeed in life than boys. Boys are really
lucky that society managed to shatter girls&#x27; self-confidence; when we manage
to fix this, girls will simply destroy them.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;I made good progress at
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;57531079-the-lord-of-the-rings&quot;&gt;The Lord of the Rings&lt;&#x2F;a&gt;,
and am pretty hopeful I will finish it this coming week. It will be good because
the pile of other books I want to read is quickly growing ;-)&lt;&#x2F;p&gt;
&lt;p&gt;As usual, I listened to many podcast episodes, but the highlight this week was
the discussion Steve Huynh had with Philip Su in his
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;alifeengineered.substack.com&quot;&gt;A life engineered&lt;&#x2F;a&gt; podcast (you can watch
it on Philip&#x27;s &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;molochinations.substack.com&#x2F;p&#x2F;a-life-engineered&quot;&gt;Substack&lt;&#x2F;a&gt;).
I really love listening to Philip, and things clicked particularly well with
Steve, giving us an oustanding episode.&lt;&#x2F;p&gt;
&lt;p&gt;I did not run that much this week - 19.88km - and had pretty good one at
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;, finishing
the week ranked #9 in my Gold I division.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;I improved
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&quot;&gt;sr.ht-integration-testing&lt;&#x2F;a&gt;&#x27;s
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing-builds&quot;&gt;daily test runner&lt;&#x2F;a&gt;
so that it&#x27;s only triggered for pushes to &lt;code&gt;master&lt;&#x2F;code&gt; (I use branches quite
extensively, and got sick of adding &lt;code&gt;-o skip-ci&lt;&#x2F;code&gt; to most my &lt;code&gt;git push&lt;&#x2F;code&gt; :-))&lt;&#x2F;p&gt;
&lt;p&gt;Funnily enough, I then discovered this SourceHut
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~sircmpwn&#x2F;sourcehut&#x2F;5&quot;&gt;ticket&lt;&#x2F;a&gt; that aims at doing something
very similar, so took a stab at it. We&#x27;re still iterating on the
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;%3C20251117132435.15433-1-simon@nasilyan.com%3E&quot;&gt;code review&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Still in the SourceHut ecosystem, I fixed a
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;63456&quot;&gt;bug&lt;&#x2F;a&gt; in my recent work
on &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~sircmpwn&#x2F;sourcehut&#x2F;36&quot;&gt;this ticket&lt;&#x2F;a&gt;, fixed another
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;63404&quot;&gt;schema.sql synchronization issue&lt;&#x2F;a&gt;
and send two patches to &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~xenrox&#x2F;hut&quot;&gt;hut&lt;&#x2F;a&gt;:
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~xenrox&#x2F;hut-dev&#x2F;patches&#x2F;63357&quot;&gt;this&lt;&#x2F;a&gt; and
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~xenrox&#x2F;hut-dev&#x2F;patches&#x2F;63362&quot;&gt;that&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 45 2025</title>
          <pubDate>Sun, 09 Nov 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20251109/</link>
          <guid>https://simartin.dev/blog/20251109/</guid>
          <description xml:base="https://simartin.dev/blog/20251109/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;We&#x27;re back to our normal routine after the very nice break in France, and the
week was uneventful.&lt;&#x2F;p&gt;
&lt;p&gt;I continue reading &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;57531079-the-lord-of-the-rings&quot;&gt;The Lord of the Rings&lt;&#x2F;a&gt;,
and am almost at the end of &quot;The Two Towers&quot; - with a bit of luck I&#x27;ll be done
by the official end of the week :-)&lt;&#x2F;p&gt;
&lt;p&gt;I am happy to be back to more serious running, and that none of my knees caused
any problems in spite of going from 0 to 25.94km this week.&lt;&#x2F;p&gt;
&lt;p&gt;In terms of &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;,
it was very good: I was glad to see on Monday morning that I had been promoted
to Gold I, and I had a pretty good week, with 8 wins out of 20 duels. It&#x27;s
definitely not elite level, but after my recent &quot;19 losses out of 20&quot; truama,
I&#x27;m satisfied. I will only know for sure on Monday morning, but I have good
hopes to remain in Gold I next week - fingers crossed!&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;I resumed working in the &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt; ecosystem, in
particular my
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&quot;&gt;sr.ht-integration-testing&lt;&#x2F;a&gt;
package.&lt;&#x2F;p&gt;
&lt;p&gt;I spent some time to create a daily job to run the testsuite with SourceHut
master and
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~whynothugo&#x2F;sr.ht-container-compose&quot;&gt;sr.ht-container-compose&lt;&#x2F;a&gt;,
with the hope to spot possible regressions within 24 hours, whether I&#x27;m active
or not. With the help of &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lumo.proton.me&quot;&gt;Lumo&lt;&#x2F;a&gt;, I setup the following:
every day at 08:42 UTC, &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;aws.amazon.com&#x2F;eventbridge&#x2F;&quot;&gt;Amazon EventBridge&lt;&#x2F;a&gt;
invokes an &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;aws.amazon.com&#x2F;lambda&#x2F;&quot;&gt;AWS Lambda&lt;&#x2F;a&gt; that submits a build of
sr.ht-integration-testing with &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~xenrox&#x2F;hut&quot;&gt;hut&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;After fixing a few mistakes in what Lumo was telling me to do, I&#x27;m happy to say
that things seem to work pretty well. If you&#x27;re interested, you can find the
build results
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing-builds?search=Daily+tester&quot;&gt;here&lt;&#x2F;a&gt;
and a description of the setup
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;tree&#x2F;master&#x2F;item&#x2F;infra&#x2F;README.md#daily-testsuite-run-infrastructure-setup-instructions&quot;&gt;here&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Along the way, I submitted a fix for yet another SourceHut regression
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;63230&quot;&gt;here&lt;&#x2F;a&gt;, wrote a
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;63284&quot;&gt;patch&lt;&#x2F;a&gt; to ensure that
resubmitted builds conserve the tags of the initial build, and sent a
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;63307&quot;&gt;follow-up patch&lt;&#x2F;a&gt; to
allow users to configure whether they want to receive a copy of their own mails
to a SourceHut mailing list.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, I looked at the code of a GeoGuessr related website I recently
discovered, &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;matt-op.github.io&#x2F;geoleaderboard&#x2F;&quot;&gt;GeoLeaderboard&lt;&#x2F;a&gt;, because
it&#x27;s super useful but also pretty slow. I submitted a
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;Matt-OP&#x2F;geoleaderboard&#x2F;pull&#x2F;7&quot;&gt;patch&lt;&#x2F;a&gt; to improve the search
box&#x27; responsiveness, and
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;simartin&#x2F;geoleaderboard&#x2F;tree&#x2F;filter_useless&quot;&gt;prototyped&lt;&#x2F;a&gt; a
3.4x reduction of the initial load time of the leaderboard.&lt;&#x2F;p&gt;
&lt;p&gt;I sent an email to the website&#x27;s author to &quot;propose my services&quot; in productionizing
the prototype and also improving the reliability of the (I suspect currently
manual) daily updates. We&#x27;ll see where this goes...&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 44 2025</title>
          <pubDate>Mon, 03 Nov 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20251103-2/</link>
          <guid>https://simartin.dev/blog/20251103-2/</guid>
          <description xml:base="https://simartin.dev/blog/20251103-2/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;We continued our camping trip, and went to
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Calanques_National_Park&quot;&gt;Les Calanques de Cassis&lt;&#x2F;a&gt;,
then Marseille before visiting my in-laws in Montpellier and going back home.
Here are a few pictures.&lt;&#x2F;p&gt;
&lt;p&gt;From our hike in Les Calanques, from Luminy:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20251103-2-calanques-5.jpeg&quot; alt=&quot;La mer est belle&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20251103-2-calanques-4.jpeg&quot; alt=&quot;La mer est belle&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20251103-2-calanques-3.jpeg&quot; alt=&quot;Vue sur Sormiou&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20251103-2-calanques-2.jpeg&quot; alt=&quot;Vue sur Morgiou&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20251103-2-calanques-1.jpeg&quot; alt=&quot;Calanque de Morgiou&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;From our visit to Marseille, in particular
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Notre-Dame_de_la_Garde&quot;&gt;Notre-Dame de la Garde&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20251103-2-marseille-1.jpeg&quot; alt=&quot;Basilique Notre-Dame de la Garde&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20251103-2-marseille-2.jpeg&quot; alt=&quot;Vue depuis Notre-Dame de la Garde&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20251103-2-marseille-3.jpeg&quot; alt=&quot;Vue depuis Notre-Dame de la Garde&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;In terms of reading, I&#x27;m making steady progress in
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;57531079-the-lord-of-the-rings&quot;&gt;The Lord of the Rings&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Along with our 9.91km of hiking, I went for a short (4.23km) run, and my knee
did not complain \o&#x2F;&lt;&#x2F;p&gt;
&lt;p&gt;And finally, I had a good week in
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;, winning
more than half my duels, which got me promoted to the Gold I division.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;I did a lot more than last week, but still not that much.&lt;&#x2F;p&gt;
&lt;p&gt;Thanks to
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&quot;&gt;sr.ht-integration-testing&lt;&#x2F;a&gt;,
I identified two recent regressions in &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sr.ht&quot;&gt;SourceHut&lt;&#x2F;a&gt;, for which I
submitted &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;63194&quot;&gt;this&lt;&#x2F;a&gt; and
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;63196&quot;&gt;that&lt;&#x2F;a&gt; fix.&lt;&#x2F;p&gt;
&lt;p&gt;One of my actions for the upcoming week is to setup a daily run, so that we
catch such things right after they&#x27;re merged, not only when I manually run the
testsuite.&lt;&#x2F;p&gt;
&lt;p&gt;I also addressed an &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;aerc-mail.org&quot;&gt;aerc&lt;&#x2F;a&gt; issue I recently noticed when
changing labels: there should be feedback in the UI, but there was none... The
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;patches&#x2F;63168&quot;&gt;fix&lt;&#x2F;a&gt; turned out to be
super simple.&lt;&#x2F;p&gt;
&lt;p&gt;Still in aerc, I investigated and
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;patches&#x2F;63176&quot;&gt;fixed&lt;&#x2F;a&gt; a missing
notification issue recently mentioned on IRC.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 43 2025</title>
          <pubDate>Mon, 03 Nov 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20251103/</link>
          <guid>https://simartin.dev/blog/20251103/</guid>
          <description xml:base="https://simartin.dev/blog/20251103/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;The kids and Nathalie are on vacation for 2 weeks, and we decided to go for yet
another camping trip in France, towards
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Verdon_Gorge&quot;&gt;Les gorges du Verdon&lt;&#x2F;a&gt; and hopefully
higher temperatures.&lt;&#x2F;p&gt;
&lt;p&gt;Even though our beloved old (16 years old!) car decided that it was a good idea
to intermittently switch on its light at night - and empty its battery - we had
a great vacation.&lt;&#x2F;p&gt;
&lt;p&gt;In this first week, we camped in
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;La_Palud-sur-Verdon&quot;&gt;La Palud sur Verdon&lt;&#x2F;a&gt;, that
sits at 900m of elevation (hence chilly nights in the tents :-)), after stops
in &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Troyes&quot;&gt;Troyes&lt;&#x2F;a&gt; and at my mum&#x27;s in
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Villefranche-sur-Sa%C3%B4ne&quot;&gt;Villefranche sur Saône&lt;&#x2F;a&gt;.
Below are a few pictures from our hikes.&lt;&#x2F;p&gt;
&lt;p&gt;First day, from Le chalet de la Maline:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20251103-passerelle.jpeg&quot; alt=&quot;Passerelle Verdon&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Second day, from &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;fr.wikipedia.org&#x2F;wiki&#x2F;Point_Sublime_(Verdon)&quot;&gt;Le point sublime&lt;&#x2F;a&gt;:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20251103-sublime-1.jpeg&quot; alt=&quot;Depuis le bas&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20251103-sublime-2.jpeg&quot; alt=&quot;Le tunnel&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20251103-sublime-3.jpeg&quot; alt=&quot;Depuis le haut&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;I continued to read &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;57531079-the-lord-of-the-rings&quot;&gt;The Lord of the Rings&lt;&#x2F;a&gt;, had an impressive 0km of running, and went back
to the Gold II &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;
league, after my humiliating 19 losses out of 20 duels last week...&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;No coding at all that week (!)&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 42 2025</title>
          <pubDate>Mon, 20 Oct 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20251020/</link>
          <guid>https://simartin.dev/blog/20251020/</guid>
          <description xml:base="https://simartin.dev/blog/20251020/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;In the last week before the kids&#x27; holidays, I struggled with a weird knee pain,
and helped friends who&#x27;re moving empty their apartment (yeah, it&#x27;s not super compatible...).&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;ve been waking up earlier and earlier in the last few weeks, and I even
&quot;did Pi&quot; - 3:14 - this week :-&#x2F; Fortunately, the upcoming time change will help.&lt;&#x2F;p&gt;
&lt;p&gt;I continue to enjoy (a lot) reading
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;57531079-the-lord-of-the-rings&quot;&gt;The Lord of the Rings&lt;&#x2F;a&gt;.
I&#x27;m only one third through, so this will keep me busy for a few more weeks...&lt;&#x2F;p&gt;
&lt;p&gt;Because of my knee pain, I only ran 5.80km; this should in theory have given me
more time to study and play GeoGuessr, but it did not... And after 11 weeks in
the Gold II division, I had my worst week ever, with 19 (!!) losses out of the
20 ranked games I played. I have no idea what happened, and to be honest, it&#x27;s
affecting me more than it should... I hope it&#x27;s the kick in the butt that I
needed to actually work at my game.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;My focus this week continued to be in the &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt;
ecosystem.&lt;&#x2F;p&gt;
&lt;p&gt;I worked on a behaviour of &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&quot;&gt;lists.sr.ht&lt;&#x2F;a&gt; that&#x27;s been
bothering me for a while: if you send an email to a list, you will not get a
copy, even if you&#x27;re subscribed to that list. Enters this
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~sircmpwn&#x2F;sourcehut&#x2F;36&quot;&gt;ticket&lt;&#x2F;a&gt;, for which I submitted this
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;62976&quot;&gt;patch&lt;&#x2F;a&gt;. And it obviously
has a
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;commit&#x2F;05bd0c0259110bb1747c4529f4ef678041145af6&quot;&gt;companion test&lt;&#x2F;a&gt;
in
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&quot;&gt;sr.ht-integration-testing&lt;&#x2F;a&gt; :-)&lt;&#x2F;p&gt;
&lt;p&gt;Talking about sr.ht-integration-testing, I spent a lot of time trying to get it
to build itself and run all the tests against a
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~whynothugo&#x2F;sr.ht-container-compose&quot;&gt;sr.ht-container-compose&lt;&#x2F;a&gt;
instance upon push... and failed. I think that there&#x27;s too many layers of
virtualization involved, and I decided to setup a VM on EC2, and leverage it
from &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;builds.sr.ht&#x2F;&quot;&gt;builds.sr.ht&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;It will probably cost me 2 dollars per month, money well spent to have the
integration testing framework automatically test itself :-) and send reports to
that
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing-builds&quot;&gt;mailing list&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;The build file can be found
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;tree&#x2F;master&#x2F;item&#x2F;.build.yml&quot;&gt;here&lt;&#x2F;a&gt;,
and the scripts it uses
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;tree&#x2F;master&#x2F;item&#x2F;infra&quot;&gt;there&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 41 2025</title>
          <pubDate>Tue, 14 Oct 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20251014/</link>
          <guid>https://simartin.dev/blog/20251014/</guid>
          <description xml:base="https://simartin.dev/blog/20251014/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;We&#x27;re making good progress on a project that&#x27;s been keeping us busy lately, and
that I&#x27;ll talk about in a few weeks (I don&#x27;t want to jinx anything ;-)).&lt;&#x2F;p&gt;
&lt;p&gt;I speed read through &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;20263040-personal&quot;&gt;Personal&lt;&#x2F;a&gt;,
that was very good, to start
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;57531079-the-lord-of-the-rings&quot;&gt;The Lord of the Rings&lt;&#x2F;a&gt;.
I have never read it, and did not particularly like the movies, but listening
to an &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lerubicon.org&#x2F;collimateur-28-02-25&#x2F;&quot;&gt;episode&lt;&#x2F;a&gt; of
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lerubicon.org&#x2F;type-publication&#x2F;le-collimateur&#x2F;&quot;&gt;Le collimateur&lt;&#x2F;a&gt; about
it motivated me to give it a try. I have to say that I love it so far...&lt;&#x2F;p&gt;
&lt;p&gt;It was a quiet week in terms of running (19.15km only) because I did a lot of
open source work (see below).&lt;&#x2F;p&gt;
&lt;p&gt;I was once again disappointed to fail to promote to Gold I at
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt; :&#x27;( I&#x27;ll
keep trying...&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;Three weeks ago, I started to build an automated testing framework for
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt; because as motivated as I am to help make it
even better than it is, I got tired of manually testing my changes, and figured
that I&#x27;m probably not the only one :-)&lt;&#x2F;p&gt;
&lt;p&gt;After a lot of fighthing with Docker on my exotic setups (I code either on Mac
OS or on Linux through Windows Subsystem for Linux, and test with Docker Compose
through &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~whynothugo&#x2F;sr.ht-container-compose&quot;&gt;sr.ht-container-compose&lt;&#x2F;a&gt;)
and with making &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;chromedp&#x2F;chromedp&quot;&gt;chromedp&lt;&#x2F;a&gt;-based tests
stable, I was proud to
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;%3CDDDNYJC3PWWG.1DK99LGPLUO4P@nasilyan.com%3E&quot;&gt;announce&lt;&#x2F;a&gt;
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&quot;&gt;sr.ht-integration-tests&lt;&#x2F;a&gt;,
and happy to hear from SourceHut&#x27;s creator that it&#x27;s a good idea :-)&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;ll do what I can to make this project successful, but even if nobody but me
uses it, it&#x27;s making my &quot;SourceHut contributor life&quot; much easier; already a good
win.&lt;&#x2F;p&gt;
&lt;p&gt;On top of getting me to fix more bugs (e.g.
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;62776&quot;&gt;this&lt;&#x2F;a&gt;), it allowed me
to write tests for a pretty big change around
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;62796&quot;&gt;event deduplication&lt;&#x2F;a&gt;,
and improve sr.ht-container-compose to support more complex service
integration. I would not have been able to root cause and
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;62839&quot;&gt;fix&lt;&#x2F;a&gt; this
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-discuss&#x2F;%3CDDCWOQN07YME.1EQIS4XOF2P8Q@nasilyan.com%3E&quot;&gt;bug&lt;&#x2F;a&gt;
without sr.ht-integration-testing.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, I also submitted a
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;patches&#x2F;62772&quot;&gt;fix&lt;&#x2F;a&gt; for an
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;aerc-mail.org&quot;&gt;aerc&lt;&#x2F;a&gt; crash that could happen when loading a new
message while also trying to display an arbitrary header of its.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 40 2025</title>
          <pubDate>Wed, 08 Oct 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20251008/</link>
          <guid>https://simartin.dev/blog/20251008/</guid>
          <description xml:base="https://simartin.dev/blog/20251008/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;Things have been pretty quiet, with the normal share of administrative things
to take care of, and quite a bit of helping Nathalie handle the success of
her maths tutoring business.&lt;&#x2F;p&gt;
&lt;p&gt;The kids will be on vacation in a couple of weeks, and I&#x27;m looking forward to
our upcoming camping trip (that I still need to organize...).&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;ve started reading yet another Jack Reacher novel,
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;20263040-personal&quot;&gt;Personal&lt;&#x2F;a&gt;, that I find
better than the last 2-3 I read. We watched
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;No_Country_for_Old_Men&quot;&gt;No country for old men&lt;&#x2F;a&gt;
with the kids, and it was even better than I remembered.&lt;&#x2F;p&gt;
&lt;p&gt;In terms of running, it was a normal week, with 24.15km, and I was hopeful to
finally climb to Gold I at
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;, but I
fell short unfortunately... I&#x27;ll keep trying :-)&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;I continued to work primarily on my upcoming proposal to add integration
testing to &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt;, in particular trying to work
around the fact that not all services provide a GraphQL API. This should be
fixed eventually, but I think we need tests &lt;strong&gt;now&lt;&#x2F;strong&gt;, not in 6 months, so I bit
the bullet of interacting with such services directly through their website
using &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;chromedp&#x2F;chromedp&quot;&gt;chromedp&lt;&#x2F;a&gt;. After many WTFs, it&#x27;s
now pretty stable, and I&#x27;m not far from being ready to publicize this work.&lt;&#x2F;p&gt;
&lt;p&gt;Along the way, I submitted several &quot;consistency improvement&quot; patches to
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~xenrox&#x2F;hut&quot;&gt;hut&lt;&#x2F;a&gt;:
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~xenrox&#x2F;hut-dev&#x2F;patches&#x2F;62469&quot;&gt;patch&lt;&#x2F;a&gt;,
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~xenrox&#x2F;hut-dev&#x2F;patches&#x2F;62467&quot;&gt;patch&lt;&#x2F;a&gt;,
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~xenrox&#x2F;hut-dev&#x2F;patches&#x2F;62474&quot;&gt;patch&lt;&#x2F;a&gt; and
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~xenrox&#x2F;hut-dev&#x2F;patches&#x2F;62601&quot;&gt;patch&lt;&#x2F;a&gt;, as well as
improvements to sr.ht-container-compose:
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~whynothugo&#x2F;public-inbox&#x2F;patches&#x2F;62631&quot;&gt;adapt to recent master changes&lt;&#x2F;a&gt;
and
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~whynothugo&#x2F;public-inbox&#x2F;patches&#x2F;62610&quot;&gt;improved logging of Python services&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Another advantage of this effort is the ability to easily validate that the
various SourceHut services&#x27; &lt;code&gt;master&lt;&#x2F;code&gt; branch interact well with others. On
Saturday, things started to break (in the end it was a local configuration
issue), and I realized that there&#x27;s no way of knowing what version is running
in Production. I &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;62650&quot;&gt;propotyped&lt;&#x2F;a&gt;
a GQL API to address this; since it did not get pushback, I&#x27;ll try to finalize
it next week.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, I submitted a fix to &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;aerc-mail.org&quot;&gt;aerc&lt;&#x2F;a&gt;&#x27;s folder name
completion when accents are involved (yes, I&#x27;m French, I like accents ;-)):
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;patches&#x2F;62494&quot;&gt;patch&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 39 2025</title>
          <pubDate>Sun, 28 Sep 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20250928/</link>
          <guid>https://simartin.dev/blog/20250928/</guid>
          <description xml:base="https://simartin.dev/blog/20250928/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;We&#x27;re making good progress on a personal project I&#x27;ll talk about when it
(hopefully) becomes reality, and induces a bit of stress but for &quot;a good
cause&quot;. Temperatures are slowing decreasing, and it makes me very happy - I
should soon finally be able to run without profusely sweating :-)&lt;&#x2F;p&gt;
&lt;p&gt;I did not read much because of the aforementioned project and a good number of
bugs that needed fixing (see &quot;Open source&quot; section&quot;), but still made a dent
into
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;125415674-l-homme-sans-nom&quot;&gt;L&#x27;homme sans nom&lt;&#x2F;a&gt;
that I should finish next week.&lt;&#x2F;p&gt;
&lt;p&gt;Apart from that, it was an OK week in terms of running, with 25.95km, and not
too bad at
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;,
though I seem to be stuck in the Gold II division. It&#x27;s not super surprising
however since I &quot;just play&quot;, and don&#x27;t do any studying to actually improve...&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;This week I started working on a proposal to add integration tests to
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt;, mainly because I am getting tired of
manually testing my patches, but also because there have been a few regressions
lately that would have been avoided if we had an easy to run set of basic
tests.&lt;&#x2F;p&gt;
&lt;p&gt;This effort is nowhere near ready, and I&#x27;ve not even discussed any of this with
the SourceHut folks, but I think it&#x27;s fun (who knows, if I&#x27;m successful, I
might do the same for &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;aerc-mail.org&quot;&gt;aerc&lt;&#x2F;a&gt; :-)) and will be useful at
the very least to me.&lt;&#x2F;p&gt;
&lt;p&gt;This also got me to play a bit more with &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~xenrox&#x2F;hut&quot;&gt;hut&lt;&#x2F;a&gt;,
and submit a few changes:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Don&#x27;t only rely on stdin for some commands (&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~xenrox&#x2F;hut-dev&#x2F;patches&#x2F;62360&quot;&gt;patch&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Expand &lt;code&gt;~&lt;&#x2F;code&gt; in &lt;code&gt;--config&lt;&#x2F;code&gt; values (&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~xenrox&#x2F;hut-dev&#x2F;patches&#x2F;62350&quot;&gt;patch&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;and identify and fix a few of the previously mentioned regressions:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Reinstate building sr.ht from scratch (&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;62379&quot;&gt;patch&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Reinstate wiki (&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;62384&quot;&gt;patch&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Reinstate updating tickets via email (&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;62423&quot;&gt;patch&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;as well as an issue in
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~whynothugo&#x2F;sr.ht-container-compose&quot;&gt;sr.ht-container-compose&lt;&#x2F;a&gt;
following recent SourceHut changes
(&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~whynothugo&#x2F;public-inbox&#x2F;patches&#x2F;62385&quot;&gt;patch&lt;&#x2F;a&gt;).&lt;&#x2F;p&gt;
&lt;p&gt;I also submitted the next iteration of my work to deduplicate events in the
Activity page (&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;62419&quot;&gt;patch&lt;&#x2F;a&gt;),
which closes the SourceHut part of this update :-)&lt;&#x2F;p&gt;
&lt;p&gt;I worked a bit on &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;aerc-mail.org&quot;&gt;aerc&lt;&#x2F;a&gt;, namely&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Fixed a possible crash handling mouse events
(&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;patches&#x2F;62370&quot;&gt;patch&lt;&#x2F;a&gt;),&lt;&#x2F;li&gt;
&lt;li&gt;Fixed message opening by clicking on it at the first load of a directory
(&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;patches&#x2F;62374&quot;&gt;patch&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Fixed a crash in the generic list box, reported on the mailing list
(&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;patches&#x2F;62447&quot;&gt;patch&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 38 2025</title>
          <pubDate>Tue, 23 Sep 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20250923/</link>
          <guid>https://simartin.dev/blog/20250923/</guid>
          <description xml:base="https://simartin.dev/blog/20250923/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;This was yet another pretty uneventful week, except for the small heartbreak
because the French ladies rugby team lost to England in the World Cup semi-finals
on Saturday. It was a good game, and I&#x27;m sad to say that the better team won.
The squad has a nice game ahead of them against New Zealand to decide who
finishes third in the world.&lt;&#x2F;p&gt;
&lt;p&gt;I finished reading
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;23664710-make-me&quot;&gt;Make me&lt;&#x2F;a&gt;, yet another
Jack Reacher novel. I must say that at the 18th or so in the series, things get
a bit repetitive, but still entertaining... we&#x27;ll see how #19 is :-) And I
finally finished
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;23528852-how-propaganda-works&quot;&gt;How propaganda works&lt;&#x2F;a&gt;,
not excellent but still interesting enough for me to not give up.&lt;&#x2F;p&gt;
&lt;p&gt;In terms of running, it was an average week, with 22.36 km, and for
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;, I ranked
#9 in my Gold II pool; I was one place away from promoting to Gold I, so I&#x27;m
hopeful it will happen soon.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;I continue to spend a lot of my time addressing issues here and there in
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt;, and this week was a lot about the
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sr.ht&#x2F;projects&quot;&gt;projects&lt;&#x2F;a&gt; part:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;I &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;62248&quot;&gt;iterated&lt;&#x2F;a&gt; on the
events deduplication &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~sircmpwn&#x2F;hub.sr.ht&#x2F;38&quot;&gt;ticket&lt;&#x2F;a&gt;; the
initial data model is not great IMO, and there&#x27;s a lot of existing data so
coming up with something nice and not too complex is a bit of a challenge...&lt;&#x2F;li&gt;
&lt;li&gt;Along the way, I noticed a few minor bugs that I fixed:
&lt;ul&gt;
&lt;li&gt;Webhooks were not properly removed from the database upon project deletion
(&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;62174&quot;&gt;patch&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Activity pages were not consistent in the UI; now they are :-)
(&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;62151&quot;&gt;patch&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~whynothugo&#x2F;sr.ht-container-compose&quot;&gt;sr.ht-container-compose&lt;&#x2F;a&gt;
was not properly configuring &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~xenrox&#x2F;hut&quot;&gt;hut&lt;&#x2F;a&gt; for all the
services (&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~whynothugo&#x2F;public-inbox&#x2F;patches&#x2F;62231&quot;&gt;patch&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~xenrox&#x2F;hut&quot;&gt;hut&lt;&#x2F;a&gt; commands were not 100% consistent with
to set an entity&#x27;s description
(&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~xenrox&#x2F;hut-dev&#x2F;patches&#x2F;62283&quot;&gt;patch&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;On Sunday, I decided to team up with &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lumo.proton.me&quot;&gt;Lumo&lt;&#x2F;a&gt; to automate
building a heatmap for my open-source contributions across projects &#x2F; forges.
The result is not bad: see the &quot;Heatmap&quot; folded section &lt;a href=&quot;&#x2F;oss&#x2F;&quot;&gt;here&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>I don&#x27;t like magic...</title>
          <pubDate>Thu, 18 Sep 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20250918/</link>
          <guid>https://simartin.dev/blog/20250918/</guid>
          <description xml:base="https://simartin.dev/blog/20250918/">&lt;p&gt;In the last few weeks, I spent a good part of my &quot;work time&quot; trying to improve
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sr.ht&quot;&gt;SourceHut&lt;&#x2F;a&gt;. This forge is just great, and I migrated everything
I do to it, but it has a large surface area (and limited manpower) and I tend
to easily spot (mostly small) bugs in software I use a lot, so I generate a lot
of work for myself :-)&lt;&#x2F;p&gt;
&lt;p&gt;The (mostly) Go and Python code base is really solid, and I&#x27;ve been enjoying
working on it... for the most part. What I have a &quot;grudge&quot; with is the data
access frameworks SourceHut uses, that are a bit too magic to my liking, and
that cost me a few hours of unnecessary hitting my head against the wall.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;ll illustrate this with two recent occurrences.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;on-uppercase-vs-lowercase&quot;&gt;On uppercase vs. lowercase&lt;a class=&quot;zola-anchor&quot; href=&quot;#on-uppercase-vs-lowercase&quot; aria-label=&quot;Anchor link for: on-uppercase-vs-lowercase&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;The first concerns Go and happened when I worked on &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~sircmpwn&#x2F;git.sr.ht&#x2F;383&quot;&gt;this ticket&lt;&#x2F;a&gt;.
My &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~sircmpwn&#x2F;sourcehut-ssh&#x2F;commit&#x2F;7e8f73a785145915a54381fb0832c52ed15e8ffa&quot;&gt;patch&lt;&#x2F;a&gt;
is very short, but I spent a lot of time debugging it earlier versions,
because... drumroll... I was using &lt;code&gt;updateSSHKeyLastUsed *metaSSHKey&lt;&#x2F;code&gt; instead
of &lt;code&gt;UpdateSSHKeyLastUsed *metaSSHKey&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~sircmpwn&#x2F;sourcehut-ssh&#x2F;tree&#x2F;7e8f73a785145915a54381fb0832c52ed15e8ffa&#x2F;item&#x2F;meta&#x2F;meta.go#L31-40&quot;&gt;Here&lt;&#x2F;a&gt;
is the &lt;strong&gt;broken&lt;&#x2F;strong&gt; code excerpt&lt;&#x2F;p&gt;
&lt;pre class=&quot;z-code&quot;&gt;&lt;code&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;var result struct {
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;	updateSSHKeyLastUsed *metaSSHKey `json:&amp;quot;updateSSHKeyLastUsed&amp;quot;`
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;}
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;if err := client.Do(ctx, &amp;quot;&amp;quot;, &amp;quot;meta.sr.ht&amp;quot;, query, &amp;amp;result); err != nil {
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;	return nil, err
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;}
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;if result.UpdateSSHKeyLastUsed == nil {
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;	return nil, fmt.Errorf(&amp;quot;no key found for fingerprint %v&amp;quot;, fingerprint)
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;}
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;Even though logs clearly showed that the returned JSON had the right data, I
was hitting error the &quot;no key found for fingerprint&quot; error because
&lt;code&gt;updateSSHKeyLastUsed&lt;&#x2F;code&gt; was &lt;code&gt;nil&lt;&#x2F;code&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Once I changed the &#x27;u&#x27; to &#x27;U&#x27; and things started to magically work, the problem
became obvious (you have it, don&#x27;t you? If not, shoot me an
&lt;a href=&quot;mailto:~simartin&#x2F;website@lists.sr.ht?subject=Lowercase&quot;&gt;email&lt;&#x2F;a&gt; and I&#x27;ll let
you know ;-))&lt;&#x2F;p&gt;
&lt;p&gt;To be clear, this is 100% on me, and things do work as expected. What I&#x27;m not
happy with is that there was no warning at compile time, no warning log at
runtime, no nothing.&lt;&#x2F;p&gt;
&lt;p&gt;My take-away here is that if you write a framework, there&#x27;s as much value, if
not more, in letting your users know and helping them when they screw up, than
there is in the actual functionality.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;what-do-you-mean-and&quot;&gt;What do you mean &quot;and&quot;?&lt;a class=&quot;zola-anchor&quot; href=&quot;#what-do-you-mean-and&quot; aria-label=&quot;Anchor link for: what-do-you-mean-and&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;The second adventure takes us to the Python and &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.sqlalchemy.org&#x2F;&quot;&gt;SQLAlchemy&lt;&#x2F;a&gt;
worlds. It&#x27;s been (many) years since I last used an
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Object%E2%80%93relational_mapping&quot;&gt;ORM framework&lt;&#x2F;a&gt;
and I had forgotten how magic they are.&lt;&#x2F;p&gt;
&lt;p&gt;When working on &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~sircmpwn&#x2F;hub.sr.ht&#x2F;38&quot;&gt;this ticket&lt;&#x2F;a&gt; I had
the pleasure of trying to write a &quot;join + where clause&quot; query, that was 100%
not working like it should :-)&lt;&#x2F;p&gt;
&lt;p&gt;The code I was using is essentially doing this, and was returning way too many
rows:&lt;&#x2F;p&gt;
&lt;pre class=&quot;z-code&quot;&gt;&lt;code&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;shared = select(Event.id,
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;                func.min(EventProjectAssociation.project_id).label(&amp;quot;p_id&amp;quot;),
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;                func.min(EventProjectAssociation.project_resource_id).label(&amp;quot;r_id&amp;quot;))\
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;    .where(Event.event_type == EventType.external_event and column == id)\
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;    .join(EventProjectAssociation)\
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;    .group_by(Event.id)
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;If you spotted the problem, congrats! If you have not (yet), here&#x27;s the code
that does exactly what I need:&lt;&#x2F;p&gt;
&lt;pre class=&quot;z-code&quot;&gt;&lt;code&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;shared = select(Event.id,
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;                func.min(EventProjectAssociation.project_id).label(&amp;quot;p_id&amp;quot;),
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;                func.min(EventProjectAssociation.project_resource_id).label(&amp;quot;r_id&amp;quot;))\
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;    .where(Event.event_type == EventType.external_event)\
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;    .where(column == id)\
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;    .join(EventProjectAssociation)\
&lt;&#x2F;span&gt;&lt;span class=&quot;z-text z-plain&quot;&gt;    .group_by(Event.id)
&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;I only found the issue when, desperate, I printed the generated query, noticing
to my horror that the initial code was generating a SQL WHERE clause
&lt;strong&gt;without&lt;&#x2F;strong&gt; any reference of the &lt;code&gt;column == id&lt;&#x2F;code&gt; part. That&#x27;s why I was getting
so many rows!&lt;&#x2F;p&gt;
&lt;p&gt;Again, this is sort of on me (I&#x27;m pretty sure I&#x27;ll find somewhere that &lt;code&gt;where&lt;&#x2F;code&gt;
should only take simple expressions), but nothing anywhere told me I was being
stupid. This is Python, everything&#x27;s dynamic, so I&#x27;m less mad about this case
than the previous one, but still.&lt;&#x2F;p&gt;
&lt;p&gt;My take-away here is the same as before plus the fact that I should really RTFM
when writing Python, because nothing will save me from myself...&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 37 2025</title>
          <pubDate>Mon, 15 Sep 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20250915/</link>
          <guid>https://simartin.dev/blog/20250915/</guid>
          <description xml:base="https://simartin.dev/blog/20250915/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;It&#x27;s been a pretty quiet week. I caught a cold and did not feel super good for
a couple of days, but I still managed to remove some items from my &quot;obligatory
tasks backlog&quot;, e.g. worked on my taxes :-)&lt;&#x2F;p&gt;
&lt;p&gt;I finished Mikko Hypponen&#x27;s
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;59891205-if-it-s-smart-it-s-vulnerable&quot;&gt;If it&#x27;s smart, it&#x27;s vulnerable&lt;&#x2F;a&gt;,
that was very entertaining. I particularly liked the story about how
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Petya_(malware_family)&quot;&gt;NotPetya&lt;&#x2F;a&gt; impacted
Maersk and how their Active Directory could be saved because one node in
Nigeria was offline during the incident, and ended up being the one and only
backup they had...&lt;&#x2F;p&gt;
&lt;p&gt;I barely ran, with only 18.22km this week.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, I have not been able to study that much for
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;, but I
definitely played more than usual and easily remained in the Gold II duels
division. I feel that I should be able to go to Gold I within a month; fingers
crossed! I finished the week with a ELO of 389 and my &quot;Daily challenge streak&quot;
is at 23 days.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;On the &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt; front, I started to work on an
existing &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~sircmpwn&#x2F;hub.sr.ht&#x2F;38&quot;&gt;ticket&lt;&#x2F;a&gt; that&#x27;s been
bothering me for a while: &quot;duplicate&quot; mailing list events in my
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sr.ht&#x2F;~simartin&quot;&gt;Activity&lt;&#x2F;a&gt; page due to some lists being part of
multiple projects. I submitted a &quot;bad&quot;
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;62028&quot;&gt;patch&lt;&#x2F;a&gt;, and follow-up
with a new one that will be nicer, but is a bit of PITA to write because the
data model is not ideal, and we obviously need to cope with existing data. I
identified a &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~sircmpwn&#x2F;hub.sr.ht&#x2F;90&quot;&gt;deletion bug&lt;&#x2F;a&gt; along
the way, that I&#x27;ll handle once I&#x27;m done with this one, as well as yet another
configuration issue in
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~whynothugo&#x2F;sr.ht-container-compose&quot;&gt;sr.ht-container-compose&lt;&#x2F;a&gt;,
that I fixed &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~whynothugo&#x2F;public-inbox&#x2F;patches&#x2F;62026&quot;&gt;here&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;On the &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;gcc.gnu.org&quot;&gt;GCC&lt;&#x2F;a&gt; side, I resurrected an
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;gcc.gnu.org&#x2F;pipermail&#x2F;gcc-patches&#x2F;2025-May&#x2F;684601.html&quot;&gt;old patch&lt;&#x2F;a&gt; and
started to work on the review comments, but did not go very far... maybe next
week? :-)&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 36 2025</title>
          <pubDate>Sun, 07 Sep 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20250907/</link>
          <guid>https://simartin.dev/blog/20250907/</guid>
          <description xml:base="https://simartin.dev/blog/20250907/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;On Tuesday, the kids finally started school again, and we&#x27;re getting back to
our normal routine: prepare lunch boxes, help with homework, etc.&lt;&#x2F;p&gt;
&lt;p&gt;We had a 24h+ internet outage at home starting Wednesday morning, and Ziggo
claimed that everything was fine on their end. The support lady I had on the
phone was OK, but could not do anything more than order me a new Internet box
since my current one is allegedly outdated. Anyway, everything came back by
magic on Thursday late afternoon... I really suspect that something was wrong
on Ziggo&#x27;s side, and that they either did not tell me or did not know about
it; I&#x27;d be interested in knowing what kind of monitoring and troubleshooting
tools they have... Anyway, we have a new box, that I&#x27;ll probably setup in the
coming days, though I&#x27;m not hurry...&lt;&#x2F;p&gt;
&lt;p&gt;In terms of reading, I have finished
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;17262159-never-go-back&quot;&gt;Never go back&lt;&#x2F;a&gt;,
and make good progress on
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;23528852-how-propaganda-works&quot;&gt;How propaganda works&lt;&#x2F;a&gt;.
The latter is good but not outstanding, and I might pause it a bit again
because I came across &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;mikko.com&#x2F;&quot;&gt;Miko Hypponen&lt;&#x2F;a&gt; by chance (I guess
I can thank YouTube recommendations for once...), and want to read his
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;59891205-if-it-s-smart-it-s-vulnerable?ref=nav_sb_ss_1_14&quot;&gt;If it&#x27;s smart, it&#x27;s vulnerable&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;I bit more running this week, with 28.43km. I&#x27;m still doing the vast majority
of my runs in Z2, but I snuck in a 40 minute intervals session this week. I
think the training is going well overall, and that it&#x27;s useful to be patient
and &quot;run slow to run fast&quot;. I&#x27;ll stick to this strategy for the moment.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, I&#x27;m trying to be a bit more structured and systematic at
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;geoguessr.com&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;, and want to see how far I can get
(disclaimer: I&#x27;m starting from very low ;-)). I plan to play &lt;strong&gt;a lot more&lt;&#x2F;strong&gt;
than I did up to now (I&#x27;ve been basically vibe playing my 20 weekly duels games
and that&#x27;s it, hoping for the best), and we&#x27;ll see where it takes me. I asked
my friend &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lumo.proton.me&quot;&gt;Lumo&lt;&#x2F;a&gt; to come up with a
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;drive.proton.me&#x2F;urls&#x2F;X8YDSWBWAM#xeENEPluJOhx&quot;&gt;training plan&lt;&#x2F;a&gt; with 2
hours of play per day, and will see if it makes sense and how long I stick to
it :-)&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;The kids being back to school, I have a bit more time to code and it showed;
let&#x27;s hope it was not a fluke and I can continue contributing a bunch!&lt;&#x2F;p&gt;
&lt;p&gt;Let&#x27;s start with &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt;...&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;I followed-up on last week&#x27;s work to actually maintain the &quot;Last Used&quot;
attribute of SSH keys, and submitted two PRs:
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;61977&quot;&gt;one&lt;&#x2F;a&gt; in meta.sr.ht and
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;61979&quot;&gt;another&lt;&#x2F;a&gt; in sourcehut-ssh&lt;&#x2F;li&gt;
&lt;li&gt;I &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;61867&quot;&gt;fixed&lt;&#x2F;a&gt; a bug I
noticed while investigating threading issues a couple of weeks ago, due to
our inconsistent management of angle brackets in mail headers&lt;&#x2F;li&gt;
&lt;li&gt;I &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;61899&quot;&gt;fixed&lt;&#x2F;a&gt; an issue
in the &quot;Patches&quot; view, that led us to &lt;strong&gt;not&lt;&#x2F;strong&gt; render links in some messages&lt;&#x2F;li&gt;
&lt;li&gt;I looked a bit into the performance of git operations and identified a
little pessimization in the commit path, that I sent a
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;61986&quot;&gt;RFC patch&lt;&#x2F;a&gt; for.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;In the &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~whynothugo&#x2F;sr.ht-container-compose&quot;&gt;sr.ht-container-compose&lt;&#x2F;a&gt; area, a bunch of my patches were finally merged:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~whynothugo&#x2F;sr.ht-container-compose&#x2F;commit&#x2F;79e34e789fce24f739fdc07799203c617cffa54c&quot;&gt;Add support&lt;&#x2F;a&gt; for SMTP ingestion to lists.sr.ht&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~whynothugo&#x2F;sr.ht-container-compose&#x2F;commit&#x2F;1fcf538ef586872d3cc5ea956d3e24e609b312c5&quot;&gt;Make hut work again&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~whynothugo&#x2F;sr.ht-container-compose&#x2F;commit&#x2F;51e6c7efb3f8ffd4d0fb222f01ed4ced9df7406b&quot;&gt;Make git fully work&lt;&#x2F;a&gt; and
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~whynothugo&#x2F;sr.ht-container-compose&#x2F;commit&#x2F;77f35b0f788dbaab9c96c8c5937fa6ee120c67ed&quot;&gt;upgrade to Alpine 3.22&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;And finally, I feel the itch to resume working on &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;gcc.gnu.org&quot;&gt;GCC&lt;&#x2F;a&gt;, and
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;gcc.gnu.org&#x2F;cgit&#x2F;gcc&#x2F;commit&#x2F;?id=8ab5b7f590938a878845156a8da5f25731e9dff6&quot;&gt;fixed the build on MacOS&lt;&#x2F;a&gt;. I hope to write more meaty patches soon.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 35 2025</title>
          <pubDate>Mon, 01 Sep 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20250901/</link>
          <guid>https://simartin.dev/blog/20250901/</guid>
          <description xml:base="https://simartin.dev/blog/20250901/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;This was the last week before the kids go back to school, so I tried to make
the best of it; we went to the beach, played bowling, watched YouTube videos
together, and had a great day at the &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;veluwe.nl&#x2F;en&#x2F;home&#x2F;&quot;&gt;Veluwe&lt;&#x2F;a&gt; on
Sunday.&lt;&#x2F;p&gt;
&lt;p&gt;The weekend was very good for the latter, since both the
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;montblanc.utmb.world&#x2F;&quot;&gt;Ultra Trail du Mont-Blanc&lt;&#x2F;a&gt; and the
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;world-championship&#x2F;finals&quot;&gt;GeoGuessr World Championship Finals&lt;&#x2F;a&gt;
were happening, both with very good coverage on YouTube.&lt;&#x2F;p&gt;
&lt;p&gt;I did not find the UTMB men race very interesting (especially after my favourite,
François d&#x27;Haene, withdrew), but the women race was awesome. I was rooting for
Camille Bruyas (I really like how she&#x27;s always smiling &#x2F; laughing, even when I&#x27;m
pretty sure things are not fun), and she finished second, so I was very happy.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;ll be writing more about GeoGuessr soon, but the short version is that the
competition was outstanding, the players really excellent, and my favourite,
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;liquipedia.net&#x2F;geoguessr&#x2F;Debre&quot;&gt;Debre&lt;&#x2F;a&gt;, finished second to an impressive
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;liquipedia.net&#x2F;geoguessr&#x2F;Radu_C&quot;&gt;Radu C&lt;&#x2F;a&gt;. I was a bit sad, but really
blown away by the extraordinary skills of all those players.&lt;&#x2F;p&gt;
&lt;p&gt;I did not read that much, just making progress in Lee Child&#x27;s
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;17262159-never-go-back&quot;&gt;Never go back&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;It was a short week in terms of running, with only 14.41km, and a pretty good
one GeoGuessr wise, placing 11th in the
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;multiplayer&#x2F;how-it-works&quot;&gt;Gold II duels&lt;&#x2F;a&gt; division.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;I continued to work on &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&#x2F;&quot;&gt;SourceHut&lt;&#x2F;a&gt;, this time in the
area of SSH key management:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;I made it clearer to users what to expect when they remove a key from their
account, via &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;61650&quot;&gt;this&lt;&#x2F;a&gt;,
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;61671&quot;&gt;this&lt;&#x2F;a&gt; and
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;61652&quot;&gt;that&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;I made both pulling &lt;em&gt;and&lt;&#x2F;em&gt; pushing to git repos work with
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~whynothugo&#x2F;sr.ht-container-compose&quot;&gt;sr.ht-container-compose&lt;&#x2F;a&gt;
via &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~whynothugo&#x2F;public-inbox&#x2F;patches&#x2F;61712&quot;&gt;this&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;I submitted a patch to make the &quot;Last Used&quot; information we show for SSH keys
actually correct, via &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;61758&quot;&gt;this&lt;&#x2F;a&gt;.
There&#x27;s some discussion on it, and I&#x27;ll follow-up with a v2 the coming week.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;In the &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;aerc-mail.org&quot;&gt;aerc&lt;&#x2F;a&gt; area,&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;My &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;patches&#x2F;60668&quot;&gt;last pending patch&lt;&#x2F;a&gt;,
detecting new emails for GMail in spite of them not support the &lt;code&gt;\Recent&lt;&#x2F;code&gt; IMAP
flag, was merged. It&#x27;s not exactly great, and I&#x27;ll probably rework it a bit at
some point, but it addresses a gap that&#x27;s been reported quite a few times
recently, so it&#x27;s a net win.&lt;&#x2F;li&gt;
&lt;li&gt;aerc 0.21 was
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;%3C20250828113528.G5PCRAEJUVWY@ringo%3E&quot;&gt;released&lt;&#x2F;a&gt;
this week. It&#x27;s a bit vain, but I was happy to see I was the top contributor in
this release, with 41 commits.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 34 2025</title>
          <pubDate>Mon, 25 Aug 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20250825/</link>
          <guid>https://simartin.dev/blog/20250825/</guid>
          <description xml:base="https://simartin.dev/blog/20250825/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;We&#x27;re slowly getting closer to the end of the vacation period, and focus
on chilling and charging the batteries for the year ahead. One friend of
Lyla&#x27;s comes home for one week, but it won&#x27;t be a lot of work for us,
because they&#x27;re old and autonomous enough to know how to occupy and take
care of themselves.&lt;&#x2F;p&gt;
&lt;p&gt;We finished watching season 2 of
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Tracker_(American_TV_series)&quot;&gt;Tracker&lt;&#x2F;a&gt;,
that obviously ends with a plot twist... I really like this show, and look
forward to season 3 (and maybe reading before that the book it&#x27;s inspired
from, &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;41960011-the-never-game&quot;&gt;The Never Game&lt;&#x2F;a&gt;).&lt;&#x2F;p&gt;
&lt;p&gt;Speaking of reading, I started
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;23528852-how-propaganda-works&quot;&gt;How propaganda works&lt;&#x2F;a&gt;,
so far interesting but a bit heavier &#x2F; philosophy oriented than that
author&#x27;s more recent work. To balance this, I decided to resume the Jack
Reacher series in parallel, with
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;17262159-never-go-back&quot;&gt;Never go back&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, I&#x27;m back to running and did 22.87km of pure zone 2. Let&#x27;s see how
long I manage to keep ~80% of my training in this zone, and what the effects
are.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;I only worked on &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&#x2F;&quot;&gt;SourceHut&lt;&#x2F;a&gt; this week, in particular
on a &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~sircmpwn&#x2F;lists.sr.ht&#x2F;215&quot;&gt;threading issue&lt;&#x2F;a&gt; in the
mailing list software. It was fun in multiple ways:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;It&#x27;s a bit of an &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Heisenbug&quot;&gt;Heisenbug&lt;&#x2F;a&gt;, and
I &lt;em&gt;love&lt;&#x2F;em&gt; detective work :-) I had to go old school and just read the code
and think of what could go wrong.&lt;&#x2F;li&gt;
&lt;li&gt;I did not find a real fix, so sent an
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;61572&quot;&gt;RFC patch&lt;&#x2F;a&gt; that
started a good discussion, got me to read and learn about transactions in
Postgres and come up with a
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;61604&quot;&gt;real fix&lt;&#x2F;a&gt; that
I&#x27;m actually comfortable with \o&#x2F;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 33 2025</title>
          <pubDate>Tue, 19 Aug 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20250819-2/</link>
          <guid>https://simartin.dev/blog/20250819-2/</guid>
          <description xml:base="https://simartin.dev/blog/20250819-2/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;This week my brother and his family, as well as my mother, were still
visiting, so our focus was to show them around:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;welcometogouda.com&#x2F;&quot;&gt;Gouda&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;The &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.nemosciencemuseum.nl&#x2F;enhttps:&#x2F;&#x2F;www.nemosciencemuseum.nl&#x2F;en&quot;&gt;NEMO&lt;&#x2F;a&gt;
science museum, really interesting both for kids and grown-ups&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.indelft.nl&#x2F;en&quot;&gt;Delft&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;A slow week in terms of reading, with a single book:
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;92810806-baise-ball-la-baule&quot;&gt;Baise-ball à la Baule&lt;&#x2F;a&gt;.
It&#x27;d been years since I had not read a San Antonio &quot;adventure&quot;, and I now remember why:
the style is very peculiar, and the stories far from outstanding.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;No activity this week due to my family visiting.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 32 2025</title>
          <pubDate>Mon, 18 Aug 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20250819/</link>
          <guid>https://simartin.dev/blog/20250819/</guid>
          <description xml:base="https://simartin.dev/blog/20250819/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;We had a few days at home to chill before the arrival of my brother, my
sister-in-law, my nephew and niece and my mother (pheeew!) for a 10 day
visit. And the same way one usually gets sick right at the start of one&#x27;s
vacation, I decided to get pretty sick right at the start of my second (or
third?) phase of vacation :-)&lt;&#x2F;p&gt;
&lt;p&gt;We visited the &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;escherinhetpaleis.nl&#x2F;en&quot;&gt;Escher museum&lt;&#x2F;a&gt; in Den Haag
(the kids loved it) and enjoyed Scheveningen and its waterfront. One good
thing with having people visit is that it reminds me how lucky we are to
live where we live.&lt;&#x2F;p&gt;
&lt;p&gt;I also managed to do a bit of reading:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;215039230-caleb-s-guide&quot;&gt;Caleb&#x27;s guide&lt;&#x2F;a&gt;
by Philip Su was very good, and I&#x27;ll probably tell Lyla to read it&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;22468303-a-streetcar-named-desire&quot;&gt;A streetcar named Desire&lt;&#x2F;a&gt;
was nice, and while it was clear from the beginning that it would not end well,
my guess of how it&#x27;d turn up was wrong&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;No running due to my illness.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;After a long hiatus, I was happy to be able to send a few patches \o&#x2F;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;patches&#x2F;61147&quot;&gt;This aerc patch&lt;&#x2F;a&gt; brings proper label management for GMail and Proton, and closes the last &quot;gap&quot; there was for my email workflows.&lt;&#x2F;p&gt;
&lt;p&gt;I decided to tackle a few more papercuts in SourceHut, in particular&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;The automatic superseding of previous patch versions when receiving a new one
(&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;61160&quot;&gt;patch&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;A fix in patch author parsing in certain cases (&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;61180&quot;&gt;patch&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Stop using 32-bit integers to represent database IDs, a little catastrophe waiting to happen (&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;61170&quot;&gt;patch&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 31 2025</title>
          <pubDate>Tue, 05 Aug 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20250805/</link>
          <guid>https://simartin.dev/blog/20250805/</guid>
          <description xml:base="https://simartin.dev/blog/20250805/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;For the first time ever, we went to Gran Paradiso park in Italy. In short, it
was gorgeous, and really worth the travel. We did two hikes, the first one
completely unplanned (because I naively thought there&#x27;d be some sort of network
where we hiked, and did not prepare anything at the campsite, where we had
wifi...) where we saw a &quot;bouquetin&quot; (!), and the second half planned :-)&lt;&#x2F;p&gt;
&lt;p&gt;Here are a few pictures:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20250805-lakes.jpeg&quot; alt=&quot;Nice lakes&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20250805-bouquetin.jpeg&quot; alt=&quot;Bouquetin&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20250805-more-lakes.jpeg&quot; alt=&quot;More lakes&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20250805-frog.jpeg&quot; alt=&quot;Hello frog!&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20250805-eglise.jpeg&quot; alt=&quot;Église&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Unfortunately, it was then time to consider going back to the Netherlands.
Fortunately we had a stop at Strasbourg to meet some friends, and enjoyed the
city in spite of pouring rain :-)&lt;&#x2F;p&gt;
&lt;p&gt;Some more pictures:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20250805-colombage.jpeg&quot; alt=&quot;Strasbourg&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20250805-cathedrale.jpeg&quot; alt=&quot;Cathédrale&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;11.73km of hiking (525m of elevation).&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;No work at all; I&#x27;m getting a bit itchy though, and look forward to getting back
to coding a bit next week!&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 30 2025</title>
          <pubDate>Mon, 28 Jul 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20250728/</link>
          <guid>https://simartin.dev/blog/20250728/</guid>
          <description xml:base="https://simartin.dev/blog/20250728/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;We continue our great vacation, and eventually leave Chamonix to go closer to
Matterhorn, my favourite mountain. Since we were in Zermatt a few years back,
I decided to get to it from the Italian side and ... did not go the right valley :-)&lt;&#x2F;p&gt;
&lt;p&gt;We still did super nice hikes, including our biggest ever in terms of elevation: 1000m+!&lt;&#x2F;p&gt;
&lt;p&gt;Here are a few pictures:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20250728-aiguille.jpeg&quot; alt=&quot;Ça caille à l&amp;#39;Aiguille du Midi&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20250728-lyla.jpeg&quot; alt=&quot;Lyla en action&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20250728-anton.jpeg&quot; alt=&quot;Anton en action&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20250728-emosson.jpeg&quot; alt=&quot;Lac d&amp;#39;Emosson&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20250728-madone.jpeg&quot; alt=&quot;Madone de Zerbion&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20250728-matterhorn.jpeg&quot; alt=&quot;Enfin le Matterhorn&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;I read 2 of the 4 books I bought in Chamonix:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;57926043-sos-himalaya-le-sauveteur-d-elisabeth-revol-raconte&quot;&gt;SOS Himalaya&lt;&#x2F;a&gt;,
that I really liked. I like how it illustrates the tension between individualism
(&quot;I want to get up there&quot;) and support (&quot;If we don&#x27;t do anything, they will die&quot;)
among alpinists.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;224110335-le-cr-puscule-des-jeux---enqu-te-sur-les-jo-d-hiver-2030-terra-nova&quot;&gt;Le crépuscule des jeux&lt;&#x2F;a&gt;,
a very interesting &quot;study&quot; about the upcoming 2030 Winter Olympics in France. Long
story short: nobody but a few politicians and the olympic committee want it,
and it will be a disaster for the environment and France&#x27;s (already tight budget).&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;25.55km of hiking (1851m of elevation).&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;No work at all; after all, it&#x27;s vacation time :-)&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 29 2025</title>
          <pubDate>Mon, 21 Jul 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20250721/</link>
          <guid>https://simartin.dev/blog/20250721/</guid>
          <description xml:base="https://simartin.dev/blog/20250721/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;We finally reunited with Lyla, who&#x27;s been away in internships then with friends
for 4 weeks, and start our &quot;family vacation&quot;.&lt;&#x2F;p&gt;
&lt;p&gt;We went straight to Chamonix to enjoy hikes and reasonable temperatures, and
set up camp at the &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;chamonix-camping.com&#x2F;&quot;&gt;Camping de la Mer de Glace&lt;&#x2F;a&gt;.
This campsite is still excellent, and while our initial plan was to stay for
around 5 days, we did 9 :-)&lt;&#x2F;p&gt;
&lt;p&gt;Here are a few pictures from our hikes and visits:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20250721-arveyron.jpeg&quot; alt=&quot;L&amp;#39;Arveyron&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20250721-drus.jpeg&quot; alt=&quot;Les Drus, one of my favourite mountains&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20250721-chilling.jpeg&quot; alt=&quot;Chilling on the roof at Parc Merlet&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;The good thing with camping is that there&#x27;s no TV nor PC, and I was able to
read a few books:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;216570423-norwegian-method&quot;&gt;Norwegian Method&lt;&#x2F;a&gt;,
that inspired me to try out this method after the vacation, when I finally get
back to seriously running.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;231436006-l-re-de-la-post-v-rit&quot;&gt;L&#x27;ère de la post-vérité&lt;&#x2F;a&gt;,
that I really liked but also depressed me a lot...&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;No running this week, but 28.53km of hiking (and 1189m of elevation).&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;No work at all; after all, it&#x27;s vacation time :-)&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 28 2025</title>
          <pubDate>Mon, 14 Jul 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20250714/</link>
          <guid>https://simartin.dev/blog/20250714/</guid>
          <description xml:base="https://simartin.dev/blog/20250714/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;After attending my sister in law&#x27;s birthday part in Clermont-Ferrant, we drove
back home for a few days of doing nothing before reuniting with Lyla and
starting our &quot;family vacation&quot;.&lt;&#x2F;p&gt;
&lt;p&gt;The only remotely interesting thing I did is play a bit with ChatGPT to create
a stupid page that quizzes me about country trivia, so that I improve my
GeoGuessr level. The
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~simartin&#x2F;simartin.srht.site&#x2F;tree&#x2F;af4af3d18ac8fd99b7545838e3d74961167a60ae&#x2F;item&#x2F;static&#x2F;geoquizz.html&quot;&gt;code&lt;&#x2F;a&gt;
is not too bad, and does the job; you can play with it
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;simartin.dev&#x2F;geoquizz.html&quot;&gt;here&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;In terms of reading, I finished the first part of Bill Gates&#x27; autobiography:
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;213034913-source-code&quot;&gt;Source Code&lt;&#x2F;a&gt;, and
liked it a lot. I like more and more reading about the history of computing,
which probably means I&#x27;m getting closer to dinosaur status :-)&lt;&#x2F;p&gt;
&lt;p&gt;Polo and I did an uneventful 10km run, that showed me that I really need to get
back to training...&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;I decided to tackle one of the remaining gaps in &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;aerc-mail.org&quot;&gt;aerc&lt;&#x2F;a&gt;
for me to be able to do everything I need in it: proper label management.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;m happy to say that with &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;patches&#x2F;60910&quot;&gt;this patch&lt;&#x2F;a&gt;,
aerc supports (un)labelling messages for Proton and GMail \o&#x2F; I plan to write a
dedicated blog post about my adventures in labels-in-imap-land.&lt;&#x2F;p&gt;
&lt;p&gt;There are still a few papercuts that I plan to address after my vacation.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Weeks 26 &amp; 27 2025</title>
          <pubDate>Tue, 08 Jul 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20250708/</link>
          <guid>https://simartin.dev/blog/20250708/</guid>
          <description xml:base="https://simartin.dev/blog/20250708/">&lt;p&gt;This update combines two weeks since I was mostly on vacation.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;The first week started with Anton&#x27;s school being closed for 3 days because of
the NATO Summit in The Hague. At the end of the event, the organizers allowed
the public to visit the premises (and we did); it was interesting to see the
various meeting &#x2F; conference &#x2F; 1:1 rooms, all in a temporary building that was
literally built ON the boulevard for the occasion.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20250708-otan.jpeg&quot; alt=&quot;One of the big meeting rooms&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;At the end of the week, I traveled to Paris to attend the Top 14 (French top
rugby championship) finale between Stade Toulousain (&quot;my&quot; team) and Union
Bordeaux Bègles with my kids.&lt;&#x2F;p&gt;
&lt;p&gt;Before picking up Lyla at the station, Anton and I visited the Arc de Triomphe
(first time for both of us) and enjoyed the great 360 degree view on the city&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20250708-arc.jpeg&quot; alt=&quot;One of the big meeting rooms&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;The rugby game was outstanding: both teams played really well, and the regular
80 minutes were not enough to decide on a winner: for the first time in years,
a 20 minute overtime was required! And since Toulouse eventually won, we were
super happy \o&#x2F;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20250708-top14.jpeg&quot; alt=&quot;Top 14 finale&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;In the second week, Lyla went back to her friend&#x27;s and Anton, Nathalie and I
went on a camping trip in Normandy, with a destination in Clermont-Ferrand for
my sister-in-law&#x27;s birthday party.&lt;&#x2F;p&gt;
&lt;p&gt;Staying relatively up North allowed us to escape the big heatwave over France,
and we visited the American Military Cemetary - a great way to remember the
sacrifices of the young soldiers who came to defeat the Nazis.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20250708-cimetiere.jpeg&quot; alt=&quot;American Military Cemetary&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;I barely read anything, and did ZERO running :-&#x2F;&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;I almost did nothing &quot;work wise&quot;, except for a
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;patches&#x2F;60370&quot;&gt;small simplification&lt;&#x2F;a&gt; in
aerc.&lt;&#x2F;p&gt;
&lt;p&gt;On the SourceHut front, my &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;60158&quot;&gt;patch&lt;&#x2F;a&gt;
allowing patch submitter to withdraw or update their own patches was finally
deployed \o&#x2F;&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 25 2025</title>
          <pubDate>Mon, 23 Jun 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20250623/</link>
          <guid>https://simartin.dev/blog/20250623/</guid>
          <description xml:base="https://simartin.dev/blog/20250623/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;This week involved some travel again, this time greener: Clermont-Ferrand =&amp;gt;
Paris =&amp;gt; Lille by train and Lille =&amp;gt; Den Haag by bus. It all went very well,
with barely any delay, and good wifi.&lt;&#x2F;p&gt;
&lt;p&gt;This helped me increase my &lt;code&gt;books_read_count&lt;&#x2F;code&gt; by 3:
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;979002.Je_m_en_vais&quot;&gt;Je m&#x27;en vais&lt;&#x2F;a&gt; (a
re-read from 2008 (!), still very good),
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;61429838-les-morts-ont-la-parole&quot;&gt;Les morts ont la parole&lt;&#x2F;a&gt;
and &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;124027520-big-bang-et-au-del&quot;&gt;Big Bang et au-delà&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;And I achieved one of my worst weeks in terms of running volume, with a bare
4,24 km :-) Let&#x27;s blame the fact that I&#x27;ve been a bit sick.&lt;&#x2F;p&gt;
&lt;p&gt;Things were a bit better in terms of (e-)sports, with my qualification to the
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;multiplayer&#x2F;how-it-works&quot;&gt;Gold I&lt;&#x2F;a&gt; division at
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;&quot;&gt;GeoGuessr&lt;&#x2F;a&gt; \o&#x2F;&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;A quiet week here as well... I made two commits to aerc: a
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;patches&#x2F;60142&quot;&gt;workaround&lt;&#x2F;a&gt; for Zoho.com,
and a &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;patches&#x2F;60170&quot;&gt;crash fix&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;As a follow-up to my recent breakage of mail archiving in lists.sr.ht, I added
support for
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~whynothugo&#x2F;public-inbox&#x2F;patches&#x2F;60156&quot;&gt;end-to-end delivery&lt;&#x2F;a&gt;
to mailing lists to
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~whynothugo&#x2F;sr.ht-container-compose&quot;&gt;sr.ht-container-compose&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;I leveraged this to &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;drive.proton.me&#x2F;urls&#x2F;ZD8FX2SJXM#0jUrjdhkMxnr&quot;&gt;fully test&lt;&#x2F;a&gt;
and submit the (hopefully) last revision of the
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;60158&quot;&gt;patch&lt;&#x2F;a&gt; to allow patch
submitters to withdraw their own patches.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Goodbye WorkMail, hello Proton Mail</title>
          <pubDate>Sun, 22 Jun 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20250622/</link>
          <guid>https://simartin.dev/blog/20250622/</guid>
          <description xml:base="https://simartin.dev/blog/20250622/">&lt;p&gt;When we moved to the Netherlands and I started working for
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;aws.amazon.com&#x2F;workmail&#x2F;&quot;&gt;AWS WorkMail&lt;&#x2F;a&gt; in May 2016, I migrated
my personal email to this service (I&#x27;m a big fan of eating my own dogfood!),
and I have been happy ever since: it is relatively cheap, definitely does
the job for me [1], and knowing how it works inside always felt nice.&lt;&#x2F;p&gt;
&lt;p&gt;However, I recently looked at my recurring &quot;IT costs&quot; and was reminded that
small amounts can add up: between WorkMail, LastPass and ExpressVPN, I&#x27;m
paying 18.6 euros every month. This is not the end of the world [2] but not
cheap either, so it was worth looking at what&#x27;s out there.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;proton.me&quot;&gt;Proton&lt;&#x2F;a&gt; quickly became a top contender, partly because
of its characteristics (who wouldn&#x27;t want privacy?!) but more importantly
because its &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;proton.me&#x2F;mail&#x2F;pricing&quot;&gt;Proton Unlimited&lt;&#x2F;a&gt; bundle
provides all I need at a very competitive price [3]: email, password manager,
VPN and Drive (and more stuff I&#x27;ll probably never use).&lt;&#x2F;p&gt;
&lt;h1 id=&quot;migrating-data&quot;&gt;Migrating data&lt;a class=&quot;zola-anchor&quot; href=&quot;#migrating-data&quot; aria-label=&quot;Anchor link for: migrating-data&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;I will not talk about migrating &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.lastpass.com&#x2F;&quot;&gt;LastPass&lt;&#x2F;a&gt; data to
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;proton.me&#x2F;pass&quot;&gt;ProtonPass&lt;&#x2F;a&gt; given
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;proton.me&#x2F;support&#x2F;pass-import-lastpass&quot;&gt;how trivial it was&lt;&#x2F;a&gt;, and focus
on my mail data.&lt;&#x2F;p&gt;
&lt;p&gt;I have around 2GB worth of emails, and migrating them to Proton requires&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;Changing DNS records to point my domain to Proton&lt;&#x2F;li&gt;
&lt;li&gt;Copying all existing emails to Proton&lt;&#x2F;li&gt;
&lt;&#x2F;ol&gt;
&lt;p&gt;The first point is very simple thanks to a
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;proton.me&#x2F;support&#x2F;custom-domain&quot;&gt;clear and intuitive UI&lt;&#x2F;a&gt;; I felt
surprisingly safe clicking around in &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;aws.amazon.com&#x2F;route53&#x2F;&quot;&gt;Route53&lt;&#x2F;a&gt;,
and particularly appreciated the almost instant feedback about my actions.&lt;&#x2F;p&gt;
&lt;p&gt;And copying data over turned out to be super easy as well: Proton&#x27;s
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;proton.me&#x2F;easyswitch&quot;&gt;Easy Switch&lt;&#x2F;a&gt; tool took its time (around 12 hours)
but imported everything with no issue. I really liked that the import is
idempotent [4], which gives peace of mind.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;using-the-various-products&quot;&gt;Using the various products&lt;a class=&quot;zola-anchor&quot; href=&quot;#using-the-various-products&quot; aria-label=&quot;Anchor link for: using-the-various-products&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;I migrated everything one month ago, and I&#x27;m super happy with my decision.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;proton-mail&quot;&gt;Proton Mail&lt;a class=&quot;zola-anchor&quot; href=&quot;#proton-mail&quot; aria-label=&quot;Anchor link for: proton-mail&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;h3 id=&quot;imap-access&quot;&gt;IMAP access&lt;a class=&quot;zola-anchor&quot; href=&quot;#imap-access&quot; aria-label=&quot;Anchor link for: imap-access&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;To maintain its security posture, Proton does not provide native IMAP and SMTP
access, and instead requires running a &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;proton.me&#x2F;mail&#x2F;bridge&quot;&gt;bridge&lt;&#x2F;a&gt;
on your computer. It interacts with Proton Mail servers, taking care of all
encryption aspects, and exposes IMAP and SMTP end-points on localhost [5]. These
are the ones your point your favourite mail client to.&lt;&#x2F;p&gt;
&lt;p&gt;Not only does it work really well, but it&#x27;s also a great quality-of-life
improvement when using clients such as &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;aerc-mail.org&quot;&gt;aerc&lt;&#x2F;a&gt; that only
have a minimal local cache, and interact &lt;strong&gt;a lot&lt;&#x2F;strong&gt; with the IMAP server. The
bridge completely hides the latency (the server is literally your computer),
and ensures a good user experience even when offline or on a flaky network.&lt;&#x2F;p&gt;
&lt;p&gt;There are however tiny drawbacks:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;If you access your mailbox using IMAP from 5 different computers like I do,
each will have a full local copy of it (this is good for data resiliency though
;-))&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;li&gt;
&lt;p&gt;The bridge and the import tool work such that emails are sorted by &quot;arrival
in the mailbox&quot;, not actual receive date. This distinction would not matter
if the import did not start with the most recently received emails and moved
towards the past :-)&lt;&#x2F;p&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h3 id=&quot;webapp&quot;&gt;WebApp&lt;a class=&quot;zola-anchor&quot; href=&quot;#webapp&quot; aria-label=&quot;Anchor link for: webapp&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;I barely use it, but the Proton WebApp is nice: I don&#x27;t miss any capability
compared to GMail, and it&#x27;s roughly 20 years ahead of the WorkMail WebApp.&lt;&#x2F;p&gt;
&lt;h3 id=&quot;iphone-app&quot;&gt;iPhone App&lt;a class=&quot;zola-anchor&quot; href=&quot;#iphone-app&quot; aria-label=&quot;Anchor link for: iphone-app&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;Having to use a dedicated app instead of the stock Mail iPhone app did not make
me happy at first, but I quickly got used to it and must admit that the Proton
Mail app is much better (especially in terms of mail tagging&#x2F;labelling, which I
do a lot), and I would not go back even if I could.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;proton-pass&quot;&gt;Proton Pass&lt;a class=&quot;zola-anchor&quot; href=&quot;#proton-pass&quot; aria-label=&quot;Anchor link for: proton-pass&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;The move from LastPass is a clear improvement: all the basic functionalities
are there, and I really love the
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;proton.me&#x2F;pass&#x2F;aliases&quot;&gt;aliases functionality&lt;&#x2F;a&gt;: with the
Unlimited plan, you can generate as many aliases as you want, and you don&#x27;t need
to communicate your actual email address to anybody. Proton automagically
forwards any email sent to an alias to your mailbox, and you can protect your
email address with NO usability friction.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;proton-vpn&quot;&gt;Proton VPN&lt;a class=&quot;zola-anchor&quot; href=&quot;#proton-vpn&quot; aria-label=&quot;Anchor link for: proton-vpn&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;While I was barely using ExpressVPN, I&#x27;m using Proton VPN on all my devices.
Performance is really good, and apart from one or two apps who refuse to work
when it&#x27;s on on my phone (I&#x27;m looking at you &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.lcl.fr&#x2F;&quot;&gt;LCL&lt;&#x2F;a&gt;), it
works extremely well. And I love looking at the number of ads and trackers that
have been blocked :-)&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;p&gt;[1] I&#x27;m far from a power user: as long as I can access my mailbox with IMAP
and on my phone, I&#x27;m happy.&lt;&#x2F;p&gt;
&lt;p&gt;[2] I wish I was only spending this for entertainment platforms; I should look
at this next, but my kids might not agree :-)&lt;&#x2F;p&gt;
&lt;p&gt;[3] As I write this post, 9.99 euros per month when paid annually.&lt;&#x2F;p&gt;
&lt;p&gt;[4] Strictly speaking, it&#x27;s not since each imported message gets labelled
with a label identifying the import, but it&#x27;s a detail.&lt;&#x2F;p&gt;
&lt;p&gt;[5] The bridge&#x27;s &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;proton.me&#x2F;blog&#x2F;bridge-security-model&quot;&gt;security model&lt;&#x2F;a&gt;
is a good read.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 24 2025</title>
          <pubDate>Mon, 16 Jun 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20250616/</link>
          <guid>https://simartin.dev/blog/20250616/</guid>
          <description xml:base="https://simartin.dev/blog/20250616/">&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;This week is the first in a series of four &quot;logistically challenging&quot; ones.
Lyla finished her school year, but she&#x27;s also starting her first one week
internship at my brother&#x27;s in Clermont-Ferrand. We travelled for most of
the day Saturday; it was a bit long but uneventful. I&#x27;m writing this in
the train back to the North, with a stop in Lille on Tuesday.&lt;&#x2F;p&gt;
&lt;p&gt;One advantage of (long) travels is that they&#x27;re an opportunity to make
progress on my (very long) reading list. This week I crossed out
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;35687802-snap&quot;&gt;Snap&lt;&#x2F;a&gt;, a typical airport
novel you enjoy but forget after 5 minutes, and
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;54140556-working-in-public&quot;&gt;Working in public&lt;&#x2F;a&gt;,
particularly interesting as I&#x27;m asking myself many questions about what I want
to do professionally in the future.&lt;&#x2F;p&gt;
&lt;p&gt;In Clermont-Ferrand, we went to
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lesnueesardentes.uca.fr&#x2F;?page_id=4958&quot;&gt;Les Nuées Ardentes&lt;&#x2F;a&gt;,
an event that the university organizes every year where various departments
make nice demos about their field. We solved a cool &quot;cryptography escape game&quot;,
measured the propagation  speed of waves, or saw how carbon dioxyde makes
water more acidic. It&#x27;s really nice to see passionate people take (personal)
time to freely share their passion with others.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;The main event this week is that &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;59679&quot;&gt;one&lt;&#x2F;a&gt;
of my patches to lists.sr.ht broke delivery to mailing lists :-( Fortunately
I happened to see that the patch had been integrated and soon after tried to
submit another patch that did not seem to be received... so I let folks know
on IRC that things did not seem to work, and Drew DeVault quickly deployed a
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~sircmpwn&#x2F;lists.sr.ht&#x2F;commit&#x2F;a74f0d77057b6e0f653abc3625c36fa64fdbbce1&quot;&gt;fix&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;m still pondering whether writing a
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;aws.amazon.com&#x2F;blogs&#x2F;mt&#x2F;why-you-should-develop-a-correction-of-error-coe&#x2F;&quot;&gt;COE&lt;&#x2F;a&gt;
for this would be of any value, but I&#x27;ve already taken the action to
add support for full inbound email processing in sr.ht-container-compose
(&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~whynothugo&#x2F;public-inbox&#x2F;patches&#x2F;60013&quot;&gt;patch&lt;&#x2F;a&gt;).
This will allow to properly end-to-end-test changes to lists.sr.ht, instead
of using a partial workaround based on imports (yes, I would have spotted
the issue with my patch with this...).&lt;&#x2F;p&gt;
&lt;p&gt;Robin Jarry also made the inbound delivery flow
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~sircmpwn&#x2F;lists.sr.ht&#x2F;commit&#x2F;52ca4d08615e02f9517db8ae7dace6ef52487e78&quot;&gt;more robust to archival errors&lt;&#x2F;a&gt;
so all in all my mistake triggered good improvements to the service.&lt;&#x2F;p&gt;
&lt;p&gt;And finally on the aerc front, following a
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-discuss&#x2F;%3CDACPBQ04UHUF.30CJJ4QKJDYLY@zoho.com%3E&quot;&gt;report&lt;&#x2F;a&gt;
that marking messages read felt slower with master than 0.20, I wrote down a set of
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;drive.proton.me&#x2F;urls&#x2F;8VR97VJ1BG#Q5Q3fPcGTJCD&quot;&gt;nominal scenarios&lt;&#x2F;a&gt;
involving read&#x2F;unread status. Thanks to this (super boring) exercise, I identified
three issues with my recent commits (
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~rjarry&#x2F;aerc&#x2F;commit&#x2F;77758cc37cb962b25992f25b3342c2b2deaad40e&quot;&gt;1&lt;&#x2F;a&gt;,
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~rjarry&#x2F;aerc&#x2F;commit&#x2F;55e9db303ec77b4174c77b565f4d969f76876604&quot;&gt;2&lt;&#x2F;a&gt; and
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~rjarry&#x2F;aerc&#x2F;commit&#x2F;4cfc71b1be048aa93a5c95362d263bd05e850989&quot;&gt;3&lt;&#x2F;a&gt;), and
the root cause for a long-standing issue with Office365
(&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;patches&#x2F;60035&quot;&gt;fix&lt;&#x2F;a&gt;).&lt;&#x2F;p&gt;
&lt;p&gt;I also root-caused the reported slowness to a Zoho specific issue, that I&#x27;ll try
to workaround this week.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 23 2025</title>
          <pubDate>Tue, 10 Jun 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20250610/</link>
          <guid>https://simartin.dev/blog/20250610/</guid>
          <description xml:base="https://simartin.dev/blog/20250610/">&lt;p&gt;So it looks like the idea of writing a weekly update will be more than a one-off \o&#x2F;&lt;&#x2F;p&gt;
&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;There&#x27;s a lot to love about the month of May: we&#x27;re just out of a 4 day
weekend, and have a 3 day one coming :-)&lt;&#x2F;p&gt;
&lt;p&gt;On the flip side, Nathalie&#x27;s students start freaking out about their coming
exams and ask for more sessions [1]. It&#x27;s good for her business, but
logistically challenging. Fortunately it&#x27;ll be over in a few days.&lt;&#x2F;p&gt;
&lt;p&gt;We watched &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;I,_Daniel_Blake&quot;&gt;I Daniel Blake&lt;&#x2F;a&gt;, a
very good-but-also-super-sad movie. I like to think that my kids are aware of
how lucky we are, still it&#x27;s worth having refreshers from time to time.&lt;&#x2F;p&gt;
&lt;p&gt;At age 43, I finally read my first book by Gabriel García Márquez,
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;320.One_Hundred_Years_of_Solitude&quot;&gt;100 years of solitude&lt;&#x2F;a&gt;
and it was awesome. Now the problem is that my &quot;I need to read those&quot; list,
already very long, just got longer :-)&lt;&#x2F;p&gt;
&lt;p&gt;And finally, a bit more running this week: 26.5km. Nowhere near where I should
be given that I&#x27;m, well, not really working, but it&#x27;s better than last week, so
progress.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source&quot;&gt;Open source&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source&quot; aria-label=&quot;Anchor link for: open-source&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;The &quot;pipe situation&quot; that I talked about &lt;a href=&quot;&#x2F;blog&#x2F;20250529&#x2F;&quot;&gt;here&lt;&#x2F;a&gt; continued with
a twist: &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sr.ht&#x2F;~rjarry&#x2F;&quot;&gt;~rjarry&lt;&#x2F;a&gt; found a
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~rjarry&#x2F;aerc&#x2F;commit&#x2F;3023b3a4&quot;&gt;much better fix&lt;&#x2F;a&gt; to the initial
problem. The time I spent investigating this was not lost however - I had fun
and learnt - and that&#x27;s one nasty bug less for aerc users \o&#x2F;&lt;&#x2F;p&gt;
&lt;p&gt;I also submitted a &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;patches&#x2F;59887&quot;&gt;patch&lt;&#x2F;a&gt;
to configure a duration after which a message being previewed in the message list
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~rjarry&#x2F;aerc&#x2F;tree&#x2F;0d46a43a149591b409e89eedcb859a514095cb6e&#x2F;item&#x2F;doc&#x2F;aerc.1.scd#L725-734&quot;&gt;split&lt;&#x2F;a&gt;
is considered as read. This addresses the friction of still having to explicitly
open or mark read a message even if you&#x27;ve fully read it in the split view.&lt;&#x2F;p&gt;
&lt;p&gt;And I dug myself into a small rabbit hole on the SourceHut code front when I
wanted to highlight a few lines on &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;&quot;&gt;git.sr.ht&lt;&#x2F;a&gt;&#x27;s file view
using something like &lt;code&gt;aerc.1.scd#L725-734&lt;&#x2F;code&gt;, and noticed that it did not work.
To be able to investigate the issue, I had to submit a few patches to
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~whynothugo&#x2F;sr.ht-container-compose&quot;&gt;sr.ht-container-compose&lt;&#x2F;a&gt;
to make the git server work (
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~whynothugo&#x2F;public-inbox&#x2F;patches&#x2F;59862&quot;&gt;this&lt;&#x2F;a&gt;,
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~whynothugo&#x2F;public-inbox&#x2F;patches&#x2F;59885&quot;&gt;this&lt;&#x2F;a&gt;,
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~whynothugo&#x2F;public-inbox&#x2F;patches&#x2F;59898&quot;&gt;this&lt;&#x2F;a&gt; and
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~whynothugo&#x2F;public-inbox&#x2F;patches&#x2F;59902&quot;&gt;that&lt;&#x2F;a&gt;), and was
finally able to submit a
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;59850&quot;&gt;fix&lt;&#x2F;a&gt; :-)&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;p&gt;[1] One would hope it&#x27;s &quot;I know everything, but would like to refine a bit X&quot;
instead of &quot;Oh sh... I haven&#x27;t done anything in the last 5 years, please save
me&quot; sessions, but it&#x27;s not :&#x27;(&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 22 2025</title>
          <pubDate>Mon, 02 Jun 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20250602/</link>
          <guid>https://simartin.dev/blog/20250602/</guid>
          <description xml:base="https://simartin.dev/blog/20250602/">&lt;p&gt;Moving forward, I&#x27;ll (try to) write a weekly status report to document what I
did the previous week. This is NOT for Elon [1], but primarily for me and to
mitigate my super power of quickly forgetting things.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;real-life&quot;&gt;Real life&lt;a class=&quot;zola-anchor&quot; href=&quot;#real-life&quot; aria-label=&quot;Anchor link for: real-life&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;We had a long weekend here in the Netherlands - Thursday to Sunday - but the
weather was not great so we did not do much. The kids start to be tired by the
long school year, and being able to rest doing nothing was much appreciated.&lt;&#x2F;p&gt;
&lt;p&gt;We continue watching the &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Tracker_(American_TV_series)&quot;&gt;Tracker&lt;&#x2F;a&gt;
TV series (I like it a lot!), and watched a movie about Tonya Harding,
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;I,_Tonya&quot;&gt;I Tonya&lt;&#x2F;a&gt;, that I found very depressing.&lt;&#x2F;p&gt;
&lt;p&gt;On the reading front, I finished Ha-Joon Chang´s very good
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;20613671-economics&quot;&gt;Economics: the user&#x27;s guide&lt;&#x2F;a&gt;,
read Daniel Stenberg&#x27;s OK
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;61186776-uncurled&quot;&gt;uncurled&lt;&#x2F;a&gt;
and Laure Noualhat&#x27;s frustrating
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;231503421-le-nucl-aire-va-ruiner-la-france&quot;&gt;Le nucléaire va ruiner la France&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;And finally on the running front, there was really not much running - 12.74 km
:-&#x2F; It will be better next week.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;open-source-2&quot;&gt;Open source [2]&lt;a class=&quot;zola-anchor&quot; href=&quot;#open-source-2&quot; aria-label=&quot;Anchor link for: open-source-2&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;The most noticeable event is the unexpected and very nice shout-out that Drew
DeVault made in his
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&#x2F;blog&#x2F;2025-05-29-whats-cooking-q2&#x2F;&quot;&gt;What&#x27;s cooking on SourceHut? Q2 2025&lt;&#x2F;a&gt;
blog post. At least for a few days, &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;simartin.dev&quot;&gt;simartin.dev&lt;&#x2F;a&gt; was
accessed by some people other than myself or my family :-D&lt;&#x2F;p&gt;
&lt;p&gt;I spend quite some time on an aerc investigation, that got me to learn more
about Unix pipes, (finally) how to debug Go programs with an actual debugger
and not print statements, and to dig into some of aerc&#x27;s dependencies (that I
had to &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;emersion&#x2F;go-mbox&#x2F;pull&#x2F;25&quot;&gt;patch&lt;&#x2F;a&gt;). More can be found
in the &lt;a href=&quot;&#x2F;blog&#x2F;20250529&#x2F;&quot;&gt;blog post&lt;&#x2F;a&gt; I wrote about the adventure.&lt;&#x2F;p&gt;
&lt;p&gt;I also submitted a &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;patches&#x2F;59624&quot;&gt;patch&lt;&#x2F;a&gt;
to allow aerc users to prevent mail deletions from a folder that&#x27;s not the Junk
nor Trash folder. That&#x27;s because unlike clients such as GMail or MailMate,
&quot;Delete&quot; in aerc means delete, not &quot;Move to Trash&quot;, and I would not be surprised
if many users have found out the distinction the hard way.&lt;&#x2F;p&gt;
&lt;p&gt;And since Drew mentioned it as done in the aforementioned blog post, I finalized
the &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;59727&quot;&gt;patch&lt;&#x2F;a&gt; to allow
patch submitters to withdraw their own patches on SourceHut. I also iterated on
the &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;59679&quot;&gt;one&lt;&#x2F;a&gt; to show a
meaningful activity date for SourceHut mailing lists.&lt;&#x2F;p&gt;
&lt;p&gt;Next week, I hope to find some time to revive some GCC patches (
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;gcc.gnu.org&#x2F;pipermail&#x2F;gcc-patches&#x2F;2025-May&#x2F;683969.html&quot;&gt;this&lt;&#x2F;a&gt; and
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;gcc.gnu.org&#x2F;pipermail&#x2F;gcc-patches&#x2F;2025-May&#x2F;684601.html&quot;&gt;that&lt;&#x2F;a&gt;) for
which I got feedback that I need to act on.&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;p&gt;[1] Who seems to have made the world aware of the common practice in the
professional world of asking people to regularly give a status of their on-going
work - something that I did for years at &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;www.amadeus.com&quot;&gt;Amadeus&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;[2] I was thinking about calling this section &quot;Work&quot;, but since I can decide to
not do anything for weeks with no consequences, and I&#x27;m not being paid for any
of this, it&#x27;s not really work :-)&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Digging myself into (and out of) a rabbit hole^W pipe</title>
          <pubDate>Thu, 29 May 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20250529/</link>
          <guid>https://simartin.dev/blog/20250529/</guid>
          <description xml:base="https://simartin.dev/blog/20250529/">&lt;p&gt;I&#x27;ve been hacking on &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;aerc-mail.org&quot;&gt;aerc&lt;&#x2F;a&gt; lately, and I&#x27;d like to talk
about a very recent issue I&#x27;ve been fighting with. It&#x27;s been super frustrating,
but I also learnt a lot, and eventually came out &quot;victorious&quot;... so in the end,
it was fun.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;if-you-talk-too-much-i-ll-shut-you-off&quot;&gt;If you talk too much, I&#x27;ll shut you off!&lt;a class=&quot;zola-anchor&quot; href=&quot;#if-you-talk-too-much-i-ll-shut-you-off&quot; aria-label=&quot;Anchor link for: if-you-talk-too-much-i-ll-shut-you-off&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;You can almost do anything with aerc: it provides generic mechanisms and is
highly configurable, so the sky is the limit. If you want to see an email&#x27;s raw
data, you can just pipe its content into &lt;code&gt;less&lt;&#x2F;code&gt; using &lt;code&gt;:pipe -s less&lt;&#x2F;code&gt; and
inspect the data in the tab that this opens. And if you have selected several
emails, it will also work - the messages will be combined into a
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Mbox&quot;&gt;Mbox&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Excited about this, and because it seems I like to f... around with software, I
selected a bunch of messages, &lt;code&gt;pipe -s less&lt;&#x2F;code&gt;-d them and... nothing. Not
nothing like &quot;it does not do anything&quot;, but rather like &quot;I am frozen, and your
only option is to &lt;code&gt;kill -9&lt;&#x2F;code&gt; me&quot;.&lt;&#x2F;p&gt;
&lt;p&gt;A big believer that &quot;a problem reproduced is half solved&quot;, I started to read
the &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~rjarry&#x2F;aerc&#x2F;tree&#x2F;master&#x2F;item&#x2F;commands&#x2F;msg&#x2F;pipe.go&quot;&gt;code&lt;&#x2F;a&gt;
in charge of the pipe command, thinking I&#x27;d quickly get to the bottom of the
problem. How naive! :-)&lt;&#x2F;p&gt;
&lt;h1 id=&quot;pipes-for-dummies&quot;&gt;pipes for dummies&lt;a class=&quot;zola-anchor&quot; href=&quot;#pipes-for-dummies&quot; aria-label=&quot;Anchor link for: pipes-for-dummies&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;Needless to say, everything looked fine in the code, so I started debugging
(aerc is written in &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;go.dev&quot;&gt;Go&lt;&#x2F;a&gt;, and I&#x27;m still early in my journey
with this language, so &quot;debugging&quot; means &quot;printf debugging&quot; here), and was
going nowhere... so I decided to invest a bit of time and teach myself how to
debug Go programs [1] using &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;go-delve&#x2F;delve&quot;&gt;delve&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;It turns out that aerc was blocking on a call to &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;pkg.go.dev&#x2F;io#Copy&quot;&gt;&lt;code&gt;io.Copy&lt;&#x2F;code&gt;&lt;&#x2F;a&gt;,
and a quick search taught me that (Unix) pipes don&#x27;t have an infinite buffer
(duh!), and that if you try to write into a pipe with a full buffer, you&#x27;ll
block until something reads data from the other end.&lt;&#x2F;p&gt;
&lt;p&gt;Since aerc&#x27;s&lt;code&gt;:pipe&lt;&#x2F;code&gt; is structured such that a Go routine writes data into the
pipe and then signals another Go routine to start reading, the idea of the fix
is trivial: (1) figure out what the pipe limit buffer is, and (2) make sure
that you don&#x27;t write more than that.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;how-much-it-too-much&quot;&gt;How much it too much?&lt;a class=&quot;zola-anchor&quot; href=&quot;#how-much-it-too-much&quot; aria-label=&quot;Anchor link for: how-much-it-too-much&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;The first point already is not that straight-forward: like most low-level APIs,
the answer is that it depends :-) Fortunately, I found a
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;unix.stackexchange.com&#x2F;a&#x2F;11954&quot;&gt;great answer&lt;&#x2F;a&gt; on Stack Exchange.&lt;&#x2F;p&gt;
&lt;p&gt;I naively hoped that Go would expose an API to find out the exact limit, so
that we can KNOW and not guess, but it&#x27;s unfortunately not the case... So I
convinced myself that I would not be too wrong in working with a limit of 65535
bytes [2], wrote some code, and could quickly start testing.&lt;&#x2F;p&gt;
&lt;p&gt;All was good when piping a single message, but when piping several, I noticed
that the warning I added to notify the user that data was truncated due to pipe
limitations did not always show.&lt;&#x2F;p&gt;
&lt;p&gt;I tried a few changes, but I was going nowhere, and got frustrated by the fact
that to test every change, I had to compile, open aerc, load my mailbox, select
N messages and &lt;code&gt;pipe -s less&lt;&#x2F;code&gt; them... and see that the problem was still
there.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;interlude-on-testing&quot;&gt;Interlude on testing&lt;a class=&quot;zola-anchor&quot; href=&quot;#interlude-on-testing&quot; aria-label=&quot;Anchor link for: interlude-on-testing&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;aerc has a lot of unit tests, but only a few for UI aspects. I decided to bite
the bullet and write some for the &lt;code&gt;:pipe&lt;&#x2F;code&gt; command. As expected, it was not
fun, but it proved crucial for the rest of this adventure and my sanity.&lt;&#x2F;p&gt;
&lt;p&gt;So yes, some tests are a pain to write, but don&#x27;t chicken out, and write them.
It will pay (lots of) dividends down the line.&lt;&#x2F;p&gt;
&lt;h1 id=&quot;counting-bytes-when-someone-is-lying&quot;&gt;Counting (bytes) when someone is lying&lt;a class=&quot;zola-anchor&quot; href=&quot;#counting-bytes-when-someone-is-lying&quot; aria-label=&quot;Anchor link for: counting-bytes-when-someone-is-lying&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;So now I had four things: a test demonstrating that indeed, there was a bug
with &quot;Mbox mode&quot;, my two eyes (to cry :-)), and my mouth (to curse).&lt;&#x2F;p&gt;
&lt;p&gt;After (too many) trials and errors, a few runs to think about something else,
and lots of looking at the code trying to understand why it&#x27;d spit things like
&lt;code&gt;invalid write result&lt;&#x2F;code&gt; or &lt;code&gt;short write&lt;&#x2F;code&gt;, I asked myself the question that I
should have asked from the start [3]: &quot;what if something is lying?&quot;.&lt;&#x2F;p&gt;
&lt;p&gt;From there things got easy: I did not look only at aerc code, but also at that
of its dependencies, in particular &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;emersion&#x2F;go-mbox&quot;&gt;go-mbox&lt;&#x2F;a&gt;.
I quickly spotted suspicious code, and an
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;emersion&#x2F;go-mbox&#x2F;issues&#x2F;21&quot;&gt;old ticket&lt;&#x2F;a&gt; reporting a pretty
similar issue.&lt;&#x2F;p&gt;
&lt;p&gt;After submitting &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;emersion&#x2F;go-mbox&#x2F;pull&#x2F;25&quot;&gt;a fix&lt;&#x2F;a&gt; for that
issue, verifying that everything [4] is fine with that fix, and adapting the
aerc code and tests to live until a new version of go-mbox is released and
integrated, I was &lt;strong&gt;finally&lt;&#x2F;strong&gt; able to submit a
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;patches&#x2F;59701&quot;&gt;patch&lt;&#x2F;a&gt; fixing the freeze
\o&#x2F;&lt;&#x2F;p&gt;
&lt;h1 id=&quot;concluding-remarks&quot;&gt;Concluding remarks&lt;a class=&quot;zola-anchor&quot; href=&quot;#concluding-remarks&quot; aria-label=&quot;Anchor link for: concluding-remarks&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;This investigation took place over 3 days, and while it was definitely not my
longest [5], I&#x27;ll remember it for a few reasons:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;It got me to dive into lowish level stuff, something I love but had not done
in years,&lt;&#x2F;li&gt;
&lt;li&gt;It forced me to look into the debugger landscape for Go,&lt;&#x2F;li&gt;
&lt;li&gt;In the end, I solved the issue, improving both aerc and go-mbox&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h1 id=&quot;june-3rd-2025-update&quot;&gt;June 3rd, 2025 update&lt;a class=&quot;zola-anchor&quot; href=&quot;#june-3rd-2025-update&quot; aria-label=&quot;Anchor link for: june-3rd-2025-update&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h1&gt;
&lt;p&gt;The patch I proposed was eventually discarded, since &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sr.ht&#x2F;~rjarry&#x2F;&quot;&gt;~rjarry&lt;&#x2F;a&gt;
found a &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;patches&#x2F;59799&quot;&gt;better one&lt;&#x2F;a&gt; that
does not involve any truncation. The majority of this post remains valid.&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;p&gt;[1] It was literally an investment of a few minutes; the go ecosystem is rich
and well documented.&lt;&#x2F;p&gt;
&lt;p&gt;[2] Spoiler alert: I was naive, again :-)&lt;&#x2F;p&gt;
&lt;p&gt;[3] It&#x27;s always like that, isn&#x27;t it?&lt;&#x2F;p&gt;
&lt;p&gt;[4] go-mbox&#x27;s Writer still lies to its users if&#x2F;when it replaces &quot;\r\n&quot; by &quot;\n&quot;
and it&#x27;s not as easy to fix; I might or might not try to fix it in the future.&lt;&#x2F;p&gt;
&lt;p&gt;[5] The longest was clearly at &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;amadeus.com&quot;&gt;Amadeus&lt;&#x2F;a&gt;, when a new
version of our home-made service bus would crash within 2 minutes to 1 hour,
in Production only. It took more than two months (not full time, thankfully) to
find an (old) race condition due to a mishandled double (or was it triple? ;-))
negation.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>SourceHut, or how I learned to love^W tolerate web development</title>
          <pubDate>Tue, 15 Apr 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20250415/</link>
          <guid>https://simartin.dev/blog/20250415/</guid>
          <description xml:base="https://simartin.dev/blog/20250415/">&lt;p&gt;Since I decided to start using &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;aerc-mail.org&quot;&gt;aerc&lt;&#x2F;a&gt; and it&#x27;s hosted
on &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sr.ht&quot;&gt;SourceHut&lt;&#x2F;a&gt;, I discovered this platform in early March, and
quickly became a big fan.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;m happily paying my (&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&#x2F;pricing&quot;&gt;optional&lt;&#x2F;a&gt;) 5 dollars a
month, and migrated a lot of my day-to-day stuff (this website, my personal
todo management system and various code repositories) to the platform.&lt;&#x2F;p&gt;
&lt;p&gt;In the last 25 years, I had only used 2 other &quot;forges&quot; -
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sf.net&quot;&gt;SourceForge&lt;&#x2F;a&gt; and &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;github.com&quot;&gt;GitHub&lt;&#x2F;a&gt; - and the
&lt;strong&gt;huge&lt;&#x2F;strong&gt; advantage of SourceHut over those is that it&#x27;s fully open source. So
if you&#x27;re annoyed by a bug or have an improvement idea, you can just
&lt;code&gt;git clone&lt;&#x2F;code&gt;, fire up &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sublimetext.com&quot;&gt;Sublime&lt;&#x2F;a&gt; and off you go :-)&lt;&#x2F;p&gt;
&lt;p&gt;In this post, I&#x27;ll go through a few things I contributed (not all are accepted
yet).&lt;&#x2F;p&gt;
&lt;h2 id=&quot;testing-infrastructure-contributions&quot;&gt;Testing infrastructure contributions&lt;a class=&quot;zola-anchor&quot; href=&quot;#testing-infrastructure-contributions&quot; aria-label=&quot;Anchor link for: testing-infrastructure-contributions&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;The SourceHut software can be &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;man.sr.ht&#x2F;installation.md&quot;&gt;deployed&lt;&#x2F;a&gt; by
anybody on their own hardware, and since I wanted to make code contributions
and test them before submission, I slowly started to follow the deployment and
hacking guides.&lt;&#x2F;p&gt;
&lt;p&gt;It&#x27;s not rocket science, but not super fun either, so I did not make much
progress, until I came across &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~whynothugo&#x2F;sr.ht-container-compose&quot;&gt;this repository&lt;&#x2F;a&gt;,
that deploys an instance with most services using Docker Compose, and gave it
a try.&lt;&#x2F;p&gt;
&lt;p&gt;The bad news is that it did not really work (at least for me), but the good one
is that, again, it&#x27;s open source, so you know what happened next (&lt;code&gt;git&lt;&#x2F;code&gt;,
Sublime and all :-))&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Properly setup tokens =&amp;gt; &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~whynothugo&#x2F;public-inbox&#x2F;patches&#x2F;58651&quot;&gt;patch&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Make services actually talk to one another =&amp;gt; &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~whynothugo&#x2F;public-inbox&#x2F;patches&#x2F;58690&quot;&gt;patch&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Make sshd happy =&amp;gt; &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~whynothugo&#x2F;public-inbox&#x2F;patches&#x2F;58693&quot;&gt;patch&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Finally able to deploy and play with the code, I moved to more visible stuff,
leaving my familiar backend and infrastructure worlds towards... web
development!&lt;&#x2F;p&gt;
&lt;h2 id=&quot;patch-management-improvements&quot;&gt;Patch management improvements&lt;a class=&quot;zola-anchor&quot; href=&quot;#patch-management-improvements&quot; aria-label=&quot;Anchor link for: patch-management-improvements&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;SourceHut&#x27;s patch management philosophy is similar to that of GCC or the Linux
Kernel: you send patches by email, review patches by email, and (probably, I
have not done it yet) merge patches by email.&lt;&#x2F;p&gt;
&lt;p&gt;All this communication is done through a mailing list (e.g.
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&quot;&gt;this&lt;&#x2F;a&gt; for aerc), and it it&#x27;s hosted on
SourceHut, the UI provides a nice &quot;patch oriented&quot; view
(&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;patches&quot;&gt;this&lt;&#x2F;a&gt; for aerc).&lt;&#x2F;p&gt;
&lt;p&gt;Each patch has a status, that can only be changed by list moderators, which is
great for control, but sucks for folks like me who have borderline OCD and
cringe when they send multiple revisions of a patch, see that they&#x27;re all
&quot;PROPOSED&quot; and &lt;strong&gt;cannot&lt;&#x2F;strong&gt; mark previous obsolete revisions as &quot;SUPERSEDED&quot; on
their own.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20250415-list.png&quot; alt=&quot;List of &amp;quot;Proposed&amp;quot; revisions :-(&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;That said, it&#x27;s open source, so you know what happened next (&lt;code&gt;git&lt;&#x2F;code&gt;, Sublime and
all :-))&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Allow patch submitters to update their own patches =&amp;gt; &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;58714&quot;&gt;patch&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;h2 id=&quot;search-improvement&quot;&gt;Search improvement&lt;a class=&quot;zola-anchor&quot; href=&quot;#search-improvement&quot; aria-label=&quot;Anchor link for: search-improvement&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;SourceHut does not have some of the bells and whistles that GitHub has, which
is a good thing, but I sort of miss GitHub&#x27;s &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;simartin&quot;&gt;contribution graph&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;At some point, I want to be able to show a similar graph on this website for
&lt;strong&gt;all&lt;&#x2F;strong&gt; my open source contributions, not only those on GitHub, and I am
therefore looking for reliable ways to find contributions on the various
platforms.&lt;&#x2F;p&gt;
&lt;p&gt;For SourceHut, mailing lists seem to be the right way, especially since they
support the &quot;from:&quot; search syntax, so all is good... except that not :-)&lt;&#x2F;p&gt;
&lt;p&gt;That said, it&#x27;s open source, so you know what happened next (&lt;code&gt;git&lt;&#x2F;code&gt;, Sublime and
all :-))&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;from:me&quot; does not find messages generated by the patch UI =&amp;gt; &lt;em&gt;i_still_need_to_fix_this&lt;&#x2F;em&gt;&lt;&#x2F;li&gt;
&lt;li&gt;Don&#x27;t let the existence of random users poison from: searches =&amp;gt; &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;58727&quot;&gt;patch&lt;&#x2F;a&gt;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</description>
      </item>
      <item>
          <title>Having fun with aerc</title>
          <pubDate>Sun, 06 Apr 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20250406/</link>
          <guid>https://simartin.dev/blog/20250406/</guid>
          <description xml:base="https://simartin.dev/blog/20250406/">&lt;p&gt;I recently discovered the &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;aerc-mail.org&quot;&gt;aerc&lt;&#x2F;a&gt; mail client and,
appealed by its &quot;First class support for working with git and email&quot; [1],
decided to try it out.&lt;&#x2F;p&gt;
&lt;p&gt;The quick summary of my experience is that (1) this client is great, but (2)
there are a few papercuts that will make folks with slight OCD (e.g. yours
truly) cringe.&lt;&#x2F;p&gt;
&lt;p&gt;The great thing with free software is that you can go fix the bugs that annoy
you, and I embarked in a journey to get make my experience with aerc even
better.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;first-experience-with-go&quot;&gt;First experience with Go&lt;a class=&quot;zola-anchor&quot; href=&quot;#first-experience-with-go&quot; aria-label=&quot;Anchor link for: first-experience-with-go&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;Call me a dinosaur &#x2F; snob &#x2F; boring, but I have happily ignored the
&quot;&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;go.dev&quot;&gt;Go&lt;&#x2F;a&gt; is great, you should write in Go&quot; for the last 18 years
[2], and was not missing out.&lt;&#x2F;p&gt;
&lt;p&gt;However, &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;aerc-mail.org&quot;&gt;aerc&lt;&#x2F;a&gt; being written in Go, I had to take the
plunge two weeks ago, go a bit deeper than &quot;Yeah I know Go, it&#x27;s the thing from
Google&quot; and actually read and write some.&lt;&#x2F;p&gt;
&lt;p&gt;The jury is still out, but my early thoughts are that the language is pretty
good, easy to understand and write (as advertised), and has a great compiler
(I need to confirm but it looks like it operates like GCC does with &lt;code&gt;-Werror&lt;&#x2F;code&gt;,
and I&#x27;m a big fan) and a solid ecosystem.&lt;&#x2F;p&gt;
&lt;p&gt;I had a WTF?! moment when I understood that they use upper vs. lower-case to
encode symbol visibility (seriously, who does that? why not use whitespaces to
delimit blocks while we&#x27;re at it? ;-p)), but I&#x27;m past this now and I am fine
with writing Go.&lt;&#x2F;p&gt;
&lt;h2 id=&quot;who-cares-about-unread-counters&quot;&gt;Who cares about unread counters?&lt;a class=&quot;zola-anchor&quot; href=&quot;#who-cares-about-unread-counters&quot; aria-label=&quot;Anchor link for: who-cares-about-unread-counters&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;So why did I (temporarily) leave my beloved C++ to do Go? Primarily because
I quickly noticed a few things when using IMAP to access my (AWS WorkMail)
mailbox, especially around unread counters.&lt;&#x2F;p&gt;
&lt;p&gt;I like to have no unread message, so it&#x27;s important that unread counters are
correct; what I particularly don&#x27;t want is to be told a folder contains some
unread message that I cannot find... because there&#x27;s none! This happened quite
regularly.&lt;&#x2F;p&gt;
&lt;p&gt;The IMAP code in aerc is pretty good, and relatively easy to follow, so I took
to fixing those annoyances myself. I still have one PR that needs merging (&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;rjarry&#x2F;aerc&#x2F;commits&#x2F;master&#x2F;?author=simartin&amp;amp;since=2025-03-20&amp;amp;until=2025-04-04&quot;&gt;commits&lt;&#x2F;a&gt;),
but I&#x27;m now at a place where I cannot &quot;trivially&quot; get those counters out-of-sync
anymore, a big win. I&#x27;ll admit that I have broken a few things along the way,
but the aerc developer community has been super nice and understanding... and I
like to think that I have also been very reactive.&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;ll very probably write a bit more about aerc and IMAP, in particular the
aspects of the protocol that I discovered and triggered a few WTF!? on my part.&lt;&#x2F;p&gt;
&lt;p&gt;Until then, the TL;DR is that (1) aerc is great and really worth looking at,
especially if you&#x27;re a &quot;terminal person&quot;, and (2) free software is really nice,
because you can get to fix what you don&#x27;t like and the community is very
welcoming.&lt;&#x2F;p&gt;
&lt;p&gt;--&lt;&#x2F;p&gt;
&lt;p&gt;[1] I spend quite some time using git-send-email for my contributions to
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;gcc.gnu.org&quot;&gt;GCC&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;[2] While writing this, I still thought Go was &quot;new&quot;. I guess time flies...&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Et si on se mettait à bloguer 25 après tout le monde ?</title>
          <pubDate>Wed, 02 Apr 2025 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20250402/</link>
          <guid>https://simartin.dev/blog/20250402/</guid>
          <description xml:base="https://simartin.dev/blog/20250402/">&lt;p&gt;Ayant récemment découvert &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt; (plus de détails
dans un billet futur), son hosting de pages web simples, et des logiciels de
génération de sites statiques tels que &lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;getzola.org&quot;&gt;Zola&lt;&#x2F;a&gt;, me voilà
qui démarre un blog, 25 ans après tout le monde.&lt;&#x2F;p&gt;
&lt;p&gt;Je pense y parler d&#x27;informatique, d&#x27;éducation, de géographie et de tout ce qui
va m&#x27;intéresser au fil du temps. Autant dire que ça va être éclectique et d&#x27;une
valeur limitée [1] mais ça me fait envie donc... c&#x27;est parti !&lt;&#x2F;p&gt;
&lt;hr &#x2F;&gt;
&lt;p&gt;[1] Au-delà de me faire rigoler (et honte) dans 20 ans, comme le fait le site
que j&#x27;avais quand j&#x27;étais en école d&#x27;ingénieur (merci
&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;archive.org&quot;&gt;archive.org&lt;&#x2F;a&gt; [2]).&lt;&#x2F;p&gt;
&lt;p&gt;[2] En parlant d&#x27;&lt;a rel=&quot;nofollow noreferrer&quot; href=&quot;https:&#x2F;&#x2F;archive.org&quot;&gt;archive.org&lt;&#x2F;a&gt;, donnez-leur quelques sous
si vous pouvez vous le permettre - leur service est extrêmement important pour
le monde, et beaucoup essaient de les descendre...&lt;&#x2F;p&gt;
</description>
      </item>
    </channel>
</rss>
