<?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, 07 Sep 2026 00:00:00 +0000</lastBuildDate>
      <item>
          <title>Status Report - Week 36 2026</title>
          <pubDate>Mon, 07 Sep 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260907/</link>
          <guid>https://simartin.dev/blog/20260907/</guid>
          <description xml:base="https://simartin.dev/blog/20260907/">&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 was (finally?)
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.progresserenfrancais.com&#x2F;en&#x2F;pages&#x2F;videos-and-texts-to-practice&#x2F;language&#x2F;what-does-la-rentree-mean-in-france.html&quot;&gt;la rentrée&lt;&#x2F;a&gt;
for Lyla and Anton who obviously disagree with the principle, but are happy to
meet their friends again, and seem to have good teachers. It also means that we
are back to our normal routine, a good thing for everybody.&lt;&#x2F;p&gt;
&lt;p&gt;Something that kept me very busy this week was the
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;world-championship&#x2F;berlin&quot;&gt;GeoGuessr World Championship&lt;&#x2F;a&gt;.
I have not watched 100% of the live stream but surely in the high 90s. As usual,
I was just flabbergasted by the skills and knowledge of all the players, and
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;watch?v=Xo5F4UyaMvM&quot;&gt;the final&lt;&#x2F;a&gt; had more action,
suspense and &quot;dramatic situations&quot; than your top summer blockbuster. I have a
knack for watching people at the peak of mastery of their domain, and was
really not disappointed here.&lt;&#x2F;p&gt;
&lt;p&gt;My stack of books to read next is dangerously growing, and it&#x27;s high time that
I finish the excellent (but long)
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;414062.The_Best_and_the_Brightest&quot;&gt;The best and the brightest&lt;&#x2F;a&gt; -
it should be done early next week. In parallel, I continue making progress on
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;54005406-maths-mp-mp---tout-en-un---5e-d-concours-ecoles-d-ing-nieurs&quot;&gt;Maths MP-MP* - Tout-en-un&lt;&#x2F;a&gt;. The
main reason I&#x27;m slow is that I actually do a bunch of the exercises without
jumping at the correction after a few minutes.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, I had a good week of running, with 32.89 km, and an OK one at
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;, with 18
duels won out of 38.&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&#x27;ll blame the GeoGuessr World Championship for my very limited bandwidth to do
work this week, but I still did a few things in the
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt; ecosystem.&lt;&#x2F;p&gt;
&lt;p&gt;Someone recently sent a
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;71249&quot;&gt;patch&lt;&#x2F;a&gt; to fix an issue
I introduced a few weeks back, so I
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;82&quot;&gt;prepared&lt;&#x2F;a&gt; a test
to be merged into
&lt;a rel=&quot;nofollow noreferrer external&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;
once that patch is integrated. I also sent a
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;71240&quot;&gt;patch&lt;&#x2F;a&gt; to fix a minor
issue I introduced in another recent change of mine.&lt;&#x2F;p&gt;
&lt;p&gt;I also
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;%3CDL3TBG74NE5Q.ZF4BIISNCLDL@nasilyan.com%3E&quot;&gt;announced&lt;&#x2F;a&gt;
the August release of
&lt;a rel=&quot;nofollow noreferrer external&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;
and did some
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;81&quot;&gt;work&lt;&#x2F;a&gt; to improve
the tracking of flaky tests, and attempted to
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;83&quot;&gt;unflake&lt;&#x2F;a&gt;
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;84&quot;&gt;mail related&lt;&#x2F;a&gt; ones.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, I submitted a
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;patches&#x2F;71329&quot;&gt;fix&lt;&#x2F;a&gt; for a crash in
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;aerc-mail.org&quot;&gt;aerc&lt;&#x2F;a&gt;. It turns out there was already a weeks old fix
sent to the mailing list, but not integrated yet...&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 35 2026</title>
          <pubDate>Mon, 31 Aug 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260831/</link>
          <guid>https://simartin.dev/blog/20260831/</guid>
          <description xml:base="https://simartin.dev/blog/20260831/">&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;While kids are only going back to school next week, Nathalie had two groups of
students come every day for &quot;warm-up sessions&quot;, hence a clear smell of &quot;we&#x27;re
back to it&quot; at home. I did help her but only a bit, because (1) she did not
really need me, and (2) I promised myself to try to be nice and patient with her
students this year, and I didn&#x27;t want to start eating into my (limited) reserve
of patience :-)&lt;&#x2F;p&gt;
&lt;p&gt;Anton and I had an interesting day when he asked me to check why he could not
activate anti-cheating features in one of his video games: we had to update the
BIOS and I somehow managed to destroy Windows&#x27; boot record (?) without even
actually initiating the BIOS update. Fortunately I was able to fix things
without a reinstall, update the BIOS and get the anti-cheating features
activated. This caught my curiosity and I read a bit about those. They look
pretty advanced - as do the cheating techniques. I don&#x27;t understand why people
would cheat at a video game, but the &quot;need&quot; is clearly big given the R&amp;amp;D spent
for and against it...&lt;&#x2F;p&gt;
&lt;p&gt;Apart from that, I spent a large chunk of my Friday evening and Saturday
watching the &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;UTMB_Mont-Blanc&quot;&gt;UTMB&lt;&#x2F;a&gt; live stream,
which reminded me that mountains are really beautiful &amp;lt;3&lt;&#x2F;p&gt;
&lt;p&gt;In terms of reading, I continued
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;414062.The_Best_and_the_Brightest&quot;&gt;The best and the brightest&lt;&#x2F;a&gt;,
and
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;54005406-maths-mp-mp---tout-en-un---5e-d-concours-ecoles-d-ing-nieurs&quot;&gt;Maths MP-MP* - Tout-en-un&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;I did run a fair bit - 26.10 km, and had a very light week a
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;, with only
1 win out of 3 duels.&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 bit of work on the &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt;, particularly to
understand why build artifacts were not saved for failed builds in Production
in spite of the &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~sircmpwn&#x2F;builds.sr.ht&#x2F;commit&#x2F;75a021b8c&quot;&gt;patch&lt;&#x2F;a&gt;
I&#x27;d sent for this. So I had to spend the time to set up an actual builds worker
locally using a VM, which eventually showed that the code was working!?! Then
the only reason would be that the code was not deployed to Production... so I
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;%3CDKY4ZNN6AV6U.3GO0NG4NH6077@nasilyan.com%3E&quot;&gt;asked&lt;&#x2F;a&gt;
and it was indeed the case!&lt;&#x2F;p&gt;
&lt;p&gt;Doing this work was not lost though: I now know how to set up an actual builds
worker, and I &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;71170&quot;&gt;added&lt;&#x2F;a&gt; a
log stating what version a worker is running; both should seriously reduce
investigation times if&#x2F;when a similar weirdness occurs in the future.&lt;&#x2F;p&gt;
&lt;p&gt;I also &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;71204&quot;&gt;submitted&lt;&#x2F;a&gt; a fix
for an event visibility &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~sircmpwn&#x2F;sourcehut&#x2F;68&quot;&gt;issue&lt;&#x2F;a&gt; in
the project hub, as well as a
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;71222&quot;&gt;clean-up&lt;&#x2F;a&gt; I identified
when investigating another issue.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 34 2026</title>
          <pubDate>Mon, 24 Aug 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260824/</link>
          <guid>https://simartin.dev/blog/20260824/</guid>
          <description xml:base="https://simartin.dev/blog/20260824/">&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 are enjoying various activities with their friends (bowling, climbing,
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.duinrell.nl&#x2F;&quot;&gt;Duinrell&lt;&#x2F;a&gt;-ing...), and we do the driving (-: They
resume school early September, so we need to slowly take them out of vacation
mode...&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;m happy to report that we finally have rain again here, which is very nice
and nature was clearly longing for. An inconvenient consequence is that I might
have killed my phone during a run where it rained monsoon-style... I&#x27;ll let it
dry for a few days and we&#x27;ll see.&lt;&#x2F;p&gt;
&lt;p&gt;Culture-wise, I continued reading
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;414062.The_Best_and_the_Brightest&quot;&gt;The best and the brightest&lt;&#x2F;a&gt;,
and
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;54005406-maths-mp-mp---tout-en-un---5e-d-concours-ecoles-d-ing-nieurs&quot;&gt;Maths MP-MP* - Tout-en-un&lt;&#x2F;a&gt;, and we
watched a few movies with the kids and their friends:
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;letterboxd.com&#x2F;film&#x2F;the-devil-wears-prada&#x2F;&quot;&gt;The devil wears Prada&lt;&#x2F;a&gt;,
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;letterboxd.com&#x2F;film&#x2F;the-big-lebowski&#x2F;&quot;&gt;The big Lebowski&lt;&#x2F;a&gt; and
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;letterboxd.com&#x2F;film&#x2F;a-perfect-world&#x2F;&quot;&gt;A perfect world&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, I had a good week at running, with 33.54 km, and it was rollercoaster-y
yet again at &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;,
with 28 wins out of 61 duels. I really thought I&#x27;d be demoted to Gold I but was
lucky to stay in Master IV in the end.&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 finally got out of my hibernation and resumed working on the
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt; ecosystem: I looked into a recent
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~sircmpwn&#x2F;sourcehut&#x2F;105&quot;&gt;ticket&lt;&#x2F;a&gt; about project hub events
visibility, which took me to a nice adventure:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Adding &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~xenrox&#x2F;hut-dev&#x2F;patches&#x2F;71031&quot;&gt;support&lt;&#x2F;a&gt; for
list&#x2F;tracker ACL manipulation in &lt;a rel=&quot;nofollow noreferrer external&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;li&gt;Identifying and &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;71049&quot;&gt;fixing&lt;&#x2F;a&gt;
a bug in lists&#x27; GraphQL API&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;71050&quot;&gt;Fixing&lt;&#x2F;a&gt; an
inconsistency between the lists UI and its GraphQL API&lt;&#x2F;li&gt;
&lt;li&gt;And (finally) submitting a
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;71066&quot;&gt;patch&lt;&#x2F;a&gt; to address the
ticket :-)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Of course in parallel I worked on adding associated scenarios to
&lt;a rel=&quot;nofollow noreferrer external&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;,
and identified and
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~whynothugo&#x2F;public-inbox&#x2F;patches&#x2F;71079&quot;&gt;fixed&lt;&#x2F;a&gt; a
regression in
&lt;a rel=&quot;nofollow noreferrer external&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;
due to a recent change in core.sr.ht.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 33 2026</title>
          <pubDate>Mon, 17 Aug 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260817/</link>
          <guid>https://simartin.dev/blog/20260817/</guid>
          <description xml:base="https://simartin.dev/blog/20260817/">&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;As we get slowly closer to &quot;back to school&quot;, we continue to focus on two
of the 3 pillars of elite athletes (along with training): eating and
resting :-)&lt;&#x2F;p&gt;
&lt;p&gt;Lyla and I have been doing a bit of maths together - complex numbers
this week - which got me to write a bit of LaTeX, something I really
liked to do 25+ years ago. Time will tell how long I keep adding things
there, but what I wrote can be found
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~simartin&#x2F;docs-mathematiques&quot;&gt;here&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Other than that, I finished
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;16685439-the-price-of-inequality&quot;&gt;The price of inequality&lt;&#x2F;a&gt;,
that resonates a lot and does not look like it was written 15 years
ago... I also started reading
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;414062.The_Best_and_the_Brightest&quot;&gt;The best and the brightest&lt;&#x2F;a&gt;,
and continued
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;54005406-maths-mp-mp---tout-en-un---5e-d-concours-ecoles-d-ing-nieurs&quot;&gt;Maths MP-MP* - Tout-en-un&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;I ran 23.32 km, and played quite a few duels at
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;,
winning 35 out of 75. Pretty mediocre, but good enough to 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 did not work on &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt; this week, but
intend to next.&lt;&#x2F;p&gt;
&lt;p&gt;In my &quot;going back to writing LaTeX&quot; adventures, I started the IDE I had
used and contributed to in the past,
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;kile.sourceforge.io&#x2F;&quot;&gt;Kile&lt;&#x2F;a&gt; after 25 years. It looks to be
still alive, so I forked and built it just for fun... which got me to
send two tiny patches:
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;invent.kde.org&#x2F;office&#x2F;kile&#x2F;-&#x2F;merge_requests&#x2F;128&quot;&gt;silence some warnings&lt;&#x2F;a&gt;
and &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;invent.kde.org&#x2F;office&#x2F;kile&#x2F;-&#x2F;merge_requests&#x2F;129&quot;&gt;update the copyright year&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 32 2026</title>
          <pubDate>Mon, 10 Aug 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260810/</link>
          <guid>https://simartin.dev/blog/20260810/</guid>
          <description xml:base="https://simartin.dev/blog/20260810/">&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 being in &quot;vacation mode&quot;, with none of us doing much. Let&#x27;s say we
recharge our batteries after the exhaustion of travelling (-:&lt;&#x2F;p&gt;
&lt;p&gt;One productive thing happened though: we&#x27;ve been having internet instabilities
at home for a little while now, and since things got worse since we&#x27;re back (we
more or less had to reboot the box every morning), I asked Ziggo to come over.
The technician they sent was very good, and things were solved in 15 minutes:
the box was not plugged to the main entry point, and via some plug that
allegedly cuts half of the signal. We found the main entry point and plugged
the box there with a brand new cable, and things seem to be very good ever
since - knock on wood.&lt;&#x2F;p&gt;
&lt;p&gt;I asked the technician why things seem to have gone worse recently, and his
hypothesis is that Ziggo are changing some frequencies upstream, and that
accessing the signal via some legacy cable &#x2F; plug causes the instability. I
don&#x27;t know enough to know whether it&#x27;s plausible or BS, but at least there was
some kind of explanation :-)&lt;&#x2F;p&gt;
&lt;p&gt;I took the kids to watch
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;letterboxd.com&#x2F;simartin82&#x2F;film&#x2F;de-gaulle-resistance&#x2F;&quot;&gt;De Gaulle&lt;&#x2F;a&gt;
at the cinema, and we really loved that film. We&#x27;re looking forward to part 2
going out in the Netherlands.&lt;&#x2F;p&gt;
&lt;p&gt;I have finally finished reading
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;60284480-r-coltes-et-semailles-ii&quot;&gt;Récoltes et semailles II&lt;&#x2F;a&gt;.
It&#x27;s a 1957 page reflection on the mathematics community, life and lots of
random things by a clearly deranged and bitter genius who rants a lot - I liked
it a lot :-)&lt;&#x2F;p&gt;
&lt;p&gt;And while I resume reading&#x2F;working on
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;54005406-maths-mp-mp---tout-en-un---5e-d-concours-ecoles-d-ing-nieurs&quot;&gt;Maths MP-MP* - Tout-en-un&lt;&#x2F;a&gt;,
I also started reading
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;16685439-the-price-of-inequality&quot;&gt;The price of inequality&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, I resumed running, with 25.92 km, as well as playing duels at
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;. It was a
poor week with only 16 wins out of 36 (and a demotion back to Master IV), not
surprising since I have not really played for almost one month.&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 bit of work on the &lt;a rel=&quot;nofollow noreferrer external&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;I noticed a brain fart in my patch to migrate existing hub webhooks to Go,
and submitted a
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;70877&quot;&gt;fixed version&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;I investigated why some of the
&lt;a rel=&quot;nofollow noreferrer external&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;
builds did not have their artifacts saved in spite of my
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~sircmpwn&#x2F;builds.sr.ht&#x2F;commit&#x2F;137e0d30&quot;&gt;recent patch&lt;&#x2F;a&gt; to do
it even for failed builds. Even though I could not reproduce the issue for lack
of a fully functional builds.sr.ht in
&lt;a rel=&quot;nofollow noreferrer external&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;,
I believe (and hope) that
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;70898&quot;&gt;this patch&lt;&#x2F;a&gt; will fix
the issue.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 30 2026</title>
          <pubDate>Mon, 03 Aug 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260803-1/</link>
          <guid>https://simartin.dev/blog/20260803-1/</guid>
          <description xml:base="https://simartin.dev/blog/20260803-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 &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Rasen-Antholz&quot;&gt;Antholz&lt;&#x2F;a&gt;
then &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Innsbruck&quot;&gt;Innsbruck&lt;&#x2F;a&gt;, enjoying reasonable
temperatures (yaay mountains!!) and great hikes.&lt;&#x2F;p&gt;
&lt;p&gt;Here are a few pictures from Antholz:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260803-cairns.jpeg&quot; alt=&quot;Cairns&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260803-pyramides.jpeg&quot; alt=&quot;Pyramides&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260803-lake.jpeg&quot; alt=&quot;Lake in Braggs&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260803-antholz-lake.jpeg&quot; alt=&quot;Lake in Antholz&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260803-biathlon.jpeg&quot; alt=&quot;Biathlon stadium in Antholz&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260803-cascades.jpeg&quot; alt=&quot;Cascades in Riva&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;And from Innsbruck:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260803-camping.jpeg&quot; alt=&quot;View from the camping&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260803-wolfsklamm.jpeg&quot; alt=&quot;Cascade in Wolfsflamm&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260803-vulture.jpeg&quot; alt=&quot;Vulture in Alpenzoo&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260803-bouquetin.jpeg&quot; alt=&quot;Bouquetin in Alpenzoo&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;In terms of reading, I focused on making progress on
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;60284480-r-coltes-et-semailles-ii&quot;&gt;Récoltes et semailles II&lt;&#x2F;a&gt;,
pausing all the other on-going books.&lt;&#x2F;p&gt;
&lt;p&gt;I did not run, nor play any duel at
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;, but we
hiked 53.1 km :-)&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;Nothing to report :-)&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 31 2026</title>
          <pubDate>Mon, 03 Aug 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260803-2/</link>
          <guid>https://simartin.dev/blog/20260803-2/</guid>
          <description xml:base="https://simartin.dev/blog/20260803-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 finished our stay in &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Innsbruck&quot;&gt;Innsbruck&lt;&#x2F;a&gt;
with a very nice hike, then drove to &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Bled&quot;&gt;Bled&lt;&#x2F;a&gt;
in Slovenia. Here are a few pictures:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260803-climb.jpeg&quot; alt=&quot;Climbing towards the alpage&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260803-chapel.jpeg&quot; alt=&quot;Chapel on top&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260803-top.jpeg&quot; alt=&quot;View from the top&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260803-bled.jpeg&quot; alt=&quot;Bled&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Our plan was then to go to Prague, but with the high temperatures and the kids
starting to be tired after 4 weeks away from home, we decided to drive back.&lt;&#x2F;p&gt;
&lt;p&gt;Even though it was 100% highways and 1200 km between Bled and The Hague, it
took us 2 full days, courtesy of all the works on German roads.&lt;&#x2F;p&gt;
&lt;p&gt;In terms of reading, I continued focusing on
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;60284480-r-coltes-et-semailles-ii&quot;&gt;Récoltes et semailles II&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;I ran 8.54 km and hiked 14.77 km, and did not play any duel at
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;.&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;Being back home means slowly resuming open source work \o&#x2F;&lt;&#x2F;p&gt;
&lt;p&gt;I followed up on a builds.sr.ht
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;70802&quot;&gt;patch&lt;&#x2F;a&gt; to (best effort)
store artifacts for failed builds, and also
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;%3CDKDIB3BZ1ES2.3GBH84CJ57C2Z@nasilyan.com%3E&quot;&gt;made&lt;&#x2F;a&gt;
the July release of &lt;a rel=&quot;nofollow noreferrer external&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;
</description>
      </item>
      <item>
          <title>Status Report - Week 29 2026</title>
          <pubDate>Mon, 03 Aug 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260803/</link>
          <guid>https://simartin.dev/blog/20260803/</guid>
          <description xml:base="https://simartin.dev/blog/20260803/">&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 were at my in-laws in Montpellier until Friday. Temperatures are insanely
high there, but we enjoyed 2 museums, took the kids climbing and bowling, and
watched &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;The_Odyssey_(2026_film)&quot;&gt;The Odyssey&lt;&#x2F;a&gt;,
that I liked a lot.&lt;&#x2F;p&gt;
&lt;p&gt;We took off on Friday afternoon and camped in
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Le_Bar-sur-Loup&quot;&gt;Le Bar sur Loup&lt;&#x2F;a&gt; and
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Pisa&quot;&gt;Pisa&lt;&#x2F;a&gt; on the way to the
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Dolomites&quot;&gt;Dolomites&lt;&#x2F;a&gt; where we&#x27;ll spend (at
least) 5 nights.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260803-bar.jpeg&quot; alt=&quot;View from the camping at Le Bar sur Loup&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260803-pise-1.jpeg&quot; alt=&quot;Pisa&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260803-pise-2.jpeg&quot; alt=&quot;The famous Pisa Tower&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;In terms of reading, I continued
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;60284480-r-coltes-et-semailles-ii&quot;&gt;Récoltes et semailles II&lt;&#x2F;a&gt;
and started reading
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;148868303-elements-d-analyse-tome-1-fondements-de-l-analyse-moderne&quot;&gt;Fondements de l&#x27;analyse moderne&lt;&#x2F;a&gt;
that I found at my in-laws (they&#x27;re both former maths teachers so they have a
lot of interesting books :-)).&lt;&#x2F;p&gt;
&lt;p&gt;I did not run, nor play any duel at
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;.&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 things I did are:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Update
&lt;a rel=&quot;nofollow noreferrer external&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;
to adapt to the fact that the
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;70188&quot;&gt;first phase&lt;&#x2F;a&gt; of the hub
webhook processing migration to Go was merged \o&#x2F;&lt;&#x2F;li&gt;
&lt;li&gt;Send a &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~whynothugo&#x2F;public-inbox&#x2F;patches&#x2F;70582&quot;&gt;fix&lt;&#x2F;a&gt; for
an apk cache access issue in
&lt;a rel=&quot;nofollow noreferrer external&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;li&gt;
&lt;&#x2F;ul&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 28 2026</title>
          <pubDate>Wed, 15 Jul 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260715/</link>
          <guid>https://simartin.dev/blog/20260715/</guid>
          <description xml:base="https://simartin.dev/blog/20260715/">&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 a very nice (and very hot) week in Paris with Anton, visiting the
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Latin_Quarter,_Paris&quot;&gt;Quartier Latin&lt;&#x2F;a&gt;, the
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;National_Museum_of_Natural_History,_France&quot;&gt;Muséum national d&#x27;histoire naturelle&lt;&#x2F;a&gt;
and the
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Mus%C3%A9e_du_Quai_Branly_%E2%80%93_Jacques_Chirac&quot;&gt;Musée du Quai Branly&lt;&#x2F;a&gt;. Here are a few pictures&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260715-pantheon.jpeg&quot; alt=&quot;Le Panthéon&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260715-caribou.jpeg&quot; alt=&quot;A moose&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260715-castor.jpeg&quot; alt=&quot;A beaver&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260715-masques.jpeg&quot; alt=&quot;Masks&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260715-costumes.jpeg&quot; alt=&quot;Costumes&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;We reunited with Lyla on Wednesday, and went to
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Parc_Ast%C3%A9rix&quot;&gt;Parc Astérix&lt;&#x2F;a&gt; and enjoyed
many attractions, long queues and incredible heat :-)&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;&#x2F;img&#x2F;20260715-grand-huit.jpeg&quot; alt=&quot;Attraction&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;We then headed to Montpellier where we&#x27;ll spend a short week at my in-laws.&lt;&#x2F;p&gt;
&lt;p&gt;In terms of reading, I continued
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;60284480-r-coltes-et-semailles-ii&quot;&gt;Récoltes et semailles II&lt;&#x2F;a&gt;
and
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;54005406-maths-mp-mp---tout-en-un---5e-d-concours-ecoles-d-ing-nieurs&quot;&gt;Maths MP-MP* - Tout-en-un&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;I did not run at all, and did not play any duel at
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;.&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;Nothing to report :-)&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 27 2026</title>
          <pubDate>Tue, 14 Jul 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260714/</link>
          <guid>https://simartin.dev/blog/20260714/</guid>
          <description xml:base="https://simartin.dev/blog/20260714/">&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 of the school year for everyone \o&#x2F;&lt;&#x2F;p&gt;
&lt;p&gt;Lyla got very good grades at the
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Baccalaur%C3%A9at&quot;&gt;Baccalauréat&lt;&#x2F;a&gt;&#x27;s anticipated
sessions, and Anton received a very good report; this concludes an excellent
year for both of them.&lt;&#x2F;p&gt;
&lt;p&gt;Lyla was set to go to London for a few days with a friend of hers, and getting
there was an adventure: all &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Eurostar&quot;&gt;Eurostar&lt;&#x2F;a&gt;
trains from the Netherlands were cancelled due to an electrical incident, and I
had to take her to Brussels to catch her train there. Even though everything
was fine in the end, I&#x27;ve been (negatively) impressed by Eurostar&#x27;s customer
obsession: they don&#x27;t try to rebook you, nor give you visibility on what&#x27;s
going on. I guess that&#x27;s what happens when you are in a monopoly...&lt;&#x2F;p&gt;
&lt;p&gt;On Sunday Anton, Nathalie and I drove to Paris, where we&#x27;ll spend a few days
and pick Lyla back up before we head South.&lt;&#x2F;p&gt;
&lt;p&gt;In terms of reading, I continued &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;60284480-r-coltes-et-semailles-ii&quot;&gt;Récoltes et semailles II&lt;&#x2F;a&gt;
and &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;54005406-maths-mp-mp---tout-en-un---5e-d-concours-ecoles-d-ing-nieurs&quot;&gt;Maths MP-MP* - Tout-en-un&lt;&#x2F;a&gt;,
that will both keep me busy for a little while.&lt;&#x2F;p&gt;
&lt;p&gt;I ran 20.54 km, and had a light but good week at
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;: I won 2
of my 2 duels, which was enough to be promoted Master III for the first time \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 spent a bit of time on my too-small-to-talk-about-yet mathematics project,
and very little on &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt;: I only submitted a
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;70394&quot;&gt;patch&lt;&#x2F;a&gt; to clarify that
audit log entries are purged after 14 days, and made the
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;%3CDJN4U9OOVGBO.3J9707T7YBWC9@nasilyan.com%3E&quot;&gt;June release&lt;&#x2F;a&gt;
of &lt;a rel=&quot;nofollow noreferrer external&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;
</description>
      </item>
      <item>
          <title>Status Report - Week 26 2026</title>
          <pubDate>Mon, 29 Jun 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260629/</link>
          <guid>https://simartin.dev/blog/20260629/</guid>
          <description xml:base="https://simartin.dev/blog/20260629/">&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 very warm week here in the Netherlands, and a good reminder that
I don&#x27;t operate well under heat :-) It&#x27;s been a drag for me to do anything, and
it&#x27;s great that temperatures are starting to drop.&lt;&#x2F;p&gt;
&lt;p&gt;For the first time in my life, I managed to lose my wallet. It&#x27;s super easy
these days to block and replace debit &#x2F; tram &#x2F; ... cards so it&#x27;s almost a
non-event, but I have to wonder if my age is starting to show :-)&lt;&#x2F;p&gt;
&lt;p&gt;Apart from that, I am happy to report that I have not dropped the ball (yet) on
my idea to resume doing some maths. I did not do that much, but managed to
study and do a few exercises every day \o&#x2F;&lt;&#x2F;p&gt;
&lt;p&gt;My reading has also switched towards mathematics: I have finished the first
tome of &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;60284325-r-coltes-et-semailles-i&quot;&gt;Récoltes et semailles&lt;&#x2F;a&gt; - that I had started in... September 2024 -
and started the
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;60284480-r-coltes-et-semailles-ii&quot;&gt;second one&lt;&#x2F;a&gt;
right away. In parallel, I read
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;40977027-bourbaki&quot;&gt;Bourbaki: Une société secrète des mathématiciens&lt;&#x2F;a&gt;, which was good though not extraordinary.&lt;&#x2F;p&gt;
&lt;p&gt;I did not run much (13.42 km) because of the heat, and had a light but good
week at &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;,
winning 7 of my 12 duels.&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 resurrected a 25-year-old toy project around mathematics (to be fair,
the only thing I resurrected is its name because I have long lost all the code
:-)). There&#x27;s very little code at the moment and the capabilities are super
underwhelming, but depending on how things go, I might make it public and talk
about it in this section some time in the future. We&#x27;ll see.&lt;&#x2F;p&gt;
&lt;p&gt;I did a tiny bit of work on the &lt;a rel=&quot;nofollow noreferrer external&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;Submitted a &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;70290&quot;&gt;patch&lt;&#x2F;a&gt;
for builds.sr.ht to also save artifacts, if any, for failed builds. This is
something I&#x27;d love to have to track
&lt;a rel=&quot;nofollow noreferrer external&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;
test failures, and was actually
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-discuss&#x2F;%3C89456b02-0a35-d8f0-0f5a-79263b0e9ffa@postmarketos.org%3E&quot;&gt;discussed&lt;&#x2F;a&gt; on the mailing list
3 years ago.&lt;&#x2F;li&gt;
&lt;li&gt;Sent a &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~xenrox&#x2F;hut-dev&#x2F;patches&#x2F;70287&quot;&gt;patch&lt;&#x2F;a&gt; to
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~xenrox&#x2F;hut&quot;&gt;hut&lt;&#x2F;a&gt; for its export to also save build
artifacts, if any, and
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~xenrox&#x2F;hut-dev&#x2F;patches&#x2F;70346&quot;&gt;another one&lt;&#x2F;a&gt; to allow
downloading individual build artifacts.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 25 2026</title>
          <pubDate>Mon, 22 Jun 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260622/</link>
          <guid>https://simartin.dev/blog/20260622/</guid>
          <description xml:base="https://simartin.dev/blog/20260622/">&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;Another (warm!) week in the books! Lyla had her final exam of the year and so
did Nathalie&#x27;s students, which means she has less sessions to give, at last! In
10-ish days, we&#x27;ll all be in summer vacation \o&#x2F;&lt;&#x2F;p&gt;
&lt;p&gt;For some reason, I decided to try and do a bit of mathematics. For context, I
was 100% sure I&#x27;d work in maths research until my early 20s, when I failed the
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;%C3%89cole_normale_sup%C3%A9rieure_(Paris)&quot;&gt;ENS&lt;&#x2F;a&gt;
entrance exam, and realized that I was also pretty good at computers and should
not pass on the
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;T%C3%A9l%C3%A9com_Paris&quot;&gt;great engineering school&lt;&#x2F;a&gt;
I&#x27;d been accepted to :-)&lt;&#x2F;p&gt;
&lt;p&gt;It&#x27;s been almost 25 years so I&#x27;m super rusty, and I have no idea how long this
new-stupid-idea will hold, but I&#x27;m excited. We&#x27;ll see where it goes.&lt;&#x2F;p&gt;
&lt;p&gt;On the reading front, I have finished (and loved!)
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;214151728-mood-machine&quot;&gt;Mood Machine: The Rise of Spotify and the Costs of the Perfect Playlist&lt;&#x2F;a&gt; and
read the excellent &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;228673607-mathematica&quot;&gt;Mathematica&lt;&#x2F;a&gt;,
that was recommended in one episode of a
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;podcast.ausha.co&#x2F;tat-chercheuses&quot;&gt;good podcast&lt;&#x2F;a&gt; I discovered this week.
I also started to (re)read
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;54005406-maths-mp-mp---tout-en-un---5e-d-concours-ecoles-d-ing-nieurs&quot;&gt;Maths MP-MP* - Tout-en-un&lt;&#x2F;a&gt; (see
previous paragraph for why ;-)), and resumed reading the first tome of
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;60284325-r-coltes-et-semailles-i&quot;&gt;Récoltes et semailles&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;I barely ran - only 18.37 km - and took a pause at
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;, only
playing the daily duels and 2 (unranked) games.&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&#x27;s been pretty quiet on the software engineering front, with only the
following few contributions to the &lt;a rel=&quot;nofollow noreferrer external&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;I addressed the latest code review comments to my patch to migrate project hub
webhooks from Python to Go,
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;70188&quot;&gt;submitting&lt;&#x2F;a&gt; the hopefully
final iteration.&lt;&#x2F;li&gt;
&lt;li&gt;I &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;commit&#x2F;87c88eb&quot;&gt;adapted&lt;&#x2F;a&gt;
&lt;a rel=&quot;nofollow noreferrer external&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;
after a &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~sircmpwn&#x2F;git.sr.ht&#x2F;commit&#x2F;168999289&quot;&gt;fix&lt;&#x2F;a&gt; of mine
was merged upstream.&lt;&#x2F;li&gt;
&lt;li&gt;I &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~xenrox&#x2F;hut-dev&#x2F;patches&#x2F;70172&quot;&gt;fixed&lt;&#x2F;a&gt; a minor bug in
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~xenrox&#x2F;hut&quot;&gt;hut&lt;&#x2F;a&gt; and
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~xenrox&#x2F;hut-dev&#x2F;%3CDJCX2Y2UI9AL.1BYO4ZEBE8ELQ@nasilyan.com%3E&quot;&gt;reported&lt;&#x2F;a&gt;
a regression detected by sr.ht-integration-testing&#x27;s daily test runner.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 24 2026</title>
          <pubDate>Mon, 15 Jun 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260615/</link>
          <guid>https://simartin.dev/blog/20260615/</guid>
          <description xml:base="https://simartin.dev/blog/20260615/">&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 last mile of the school year, with Lyla having two written exams this
week for her &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Baccalaur%C3%A9at&quot;&gt;baccalauréat&lt;&#x2F;a&gt;,
Maths and French, and another one (French again) next week [1]. Anton keeps
complaining that it&#x27;s not normal that his sister does not have classes anymore
while he does; the grass is always greener...&lt;&#x2F;p&gt;
&lt;p&gt;I have finally finished reading
&lt;a rel=&quot;nofollow noreferrer external&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 II&lt;&#x2F;a&gt;,
that is very good but also very long, so I&#x27;ll take a small pause before tackling
tome III :-) So I started
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;214151728-mood-machine&quot;&gt;Mood Machine: The Rise of Spotify and the Costs of the Perfect Playlist&lt;&#x2F;a&gt;
that is very good so far.&lt;&#x2F;p&gt;
&lt;p&gt;And it was a light week both in terms of running and
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;: I only ran
22.85 km and played 8 duels (4 wins).&lt;&#x2F;p&gt;
&lt;p&gt;[1] Because we like to make things complicated in France, the rest will happen... next year!&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 bit of work this week on &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt; &quot;core&quot;,
iterating on and submitting a &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;70022&quot;&gt;new revision&lt;&#x2F;a&gt;
of the (large) patch to process webhooks in Go,
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;70054&quot;&gt;implementing&lt;&#x2F;a&gt; a way to
easily find the projects any resource belongs to, and
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;70068&quot;&gt;proposing&lt;&#x2F;a&gt; a fix about
tags in the git RSS feed.&lt;&#x2F;p&gt;
&lt;p&gt;I also finished the customer visible part of the hub GraphQL effort by
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~xenrox&#x2F;hut-dev&#x2F;patches&#x2F;70045&quot;&gt;hooking up&lt;&#x2F;a&gt; the
new APIs into &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~xenrox&#x2F;hut&quot;&gt;hut&lt;&#x2F;a&gt;&#x27;s import&#x2F;export capabilities.
In passing, I spent more time than I should have setting up bash completion for
hut, so &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~xenrox&#x2F;hut-dev&#x2F;patches&#x2F;70048&quot;&gt;improved&lt;&#x2F;a&gt; the
documentation for the next person.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, I made several improvements to
&lt;a rel=&quot;nofollow noreferrer external&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;ul&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;commit&#x2F;4478c4e&quot;&gt;Stabilized&lt;&#x2F;a&gt;
multi-user scenarios that could fail because some services did not know of all
users.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;71&quot;&gt;Changed&lt;&#x2F;a&gt; the project
setup functions to use hut instead of the UI.&lt;&#x2F;li&gt;
&lt;li&gt;Added observability to the daily test runner, adding
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;57&quot;&gt;retry tracking&lt;&#x2F;a&gt; and
individual test failure
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;76&quot;&gt;tracking&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 23 2026</title>
          <pubDate>Tue, 09 Jun 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260609/</link>
          <guid>https://simartin.dev/blog/20260609/</guid>
          <description xml:base="https://simartin.dev/blog/20260609/">&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;Exam season is about to start in the French school system, so I helped Nathalie
a bit with the &quot;training camp&quot; she organized for her
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Secondary_education_in_France#Lyc%C3%A9e&quot;&gt;Première&lt;&#x2F;a&gt;
students who have their maths
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Secondary_education_in_France#General_streams_(baccalaur%C3%A9at_g%C3%A9n%C3%A9ral)&quot;&gt;baccalauréat&lt;&#x2F;a&gt;
next week.&lt;&#x2F;p&gt;
&lt;p&gt;I am in the envious position to &quot;only help&quot;, so I can just leave for a few
minutes whenever my frustration gets too high - it does happen! I am in complete
awe of teachers and their apparently infinite patience.&lt;&#x2F;p&gt;
&lt;p&gt;I continued to read
&lt;a rel=&quot;nofollow noreferrer external&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 II&lt;&#x2F;a&gt;,
and I&#x27;m stalling a bit on
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;27248467-fundamentals-of-physics-ii&quot;&gt;Fundamentals of physics II&lt;&#x2F;a&gt;:
I don&#x27;t find electricity and magnetism that interesting, and I need to push
through them.&lt;&#x2F;p&gt;
&lt;p&gt;I ran 22.76 km - more than 20 km for the first time in looooong time - and had a
reasonably good week at
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;, with 15
wins out of 29 games.&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 external&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt;, trying to close the
loop on my work to improve the project hub:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;I sent a &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;69875&quot;&gt;patch&lt;&#x2F;a&gt; to
improve our management of ResourceIDs, that was required for
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;69905&quot;&gt;the one&lt;&#x2F;a&gt; to manipulate
project README via GraphQL. While testing it, I discovered a nasty bug that
would cause the deletion of the whole project if the repository providing its
README was deleted (!), that I fixed via
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;69913&quot;&gt;this patch&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;I iterated on the &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;69707&quot;&gt;patch&lt;&#x2F;a&gt;
to process new hub webhooks in Go instead of Python. I will send the next (and
hopefully final) revision right after I finish writing this status report :-)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;I also sent a &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;69835&quot;&gt;new revision&lt;&#x2F;a&gt;
of the patch to properly clean-up pastes, and did a bit of work on
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~xenrox&#x2F;hut&quot;&gt;hut&lt;&#x2F;a&gt;: I&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~xenrox&#x2F;hut-dev&#x2F;patches&#x2F;69839&quot;&gt;Fixed&lt;&#x2F;a&gt; a bug in my
patch to expose hub&#x27;s write APIs.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~xenrox&#x2F;hut-dev&#x2F;patches&#x2F;69906&quot;&gt;Added&lt;&#x2F;a&gt; support for a
project attribute I had overlooked in the very same patch.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~xenrox&#x2F;hut-dev&#x2F;patches&#x2F;69916&quot;&gt;Exposed&lt;&#x2F;a&gt; the work mentioned
above about project README manipulation.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;Finally, I
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;%3CDIYAIX876OIS.LMPK1HVVZEYO@nasilyan.com%3E&quot;&gt;announced&lt;&#x2F;a&gt;
the May release of
&lt;a rel=&quot;nofollow noreferrer external&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;
and added &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;70&quot;&gt;a bunch&lt;&#x2F;a&gt;
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;72&quot;&gt;of tests&lt;&#x2F;a&gt; for recent
work.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 22 2026</title>
          <pubDate>Mon, 01 Jun 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260601/</link>
          <guid>https://simartin.dev/blog/20260601/</guid>
          <description xml:base="https://simartin.dev/blog/20260601/">&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 is probably that I have finally booked a camping in
the Dolomites for 4 days in July. For context, our vacation plans are always
made at the last minute, and then we rarely know where we&#x27;ll be sleeping on the
(N+2)-th day (yaay camping!), so it&#x27;s a real change. We had to because the
Dolomites are super crowded in the summer, and there&#x27;s no way to get a camping
spot our usual way (we tried and failed a few years ago).&lt;&#x2F;p&gt;
&lt;p&gt;Apart from that, I took our soon too be 17 year old car to the garage for the
annual Dutch check-up, and it passed, as usual. This car simply does not want to
die! (and we like it a lot)&lt;&#x2F;p&gt;
&lt;p&gt;I continued to read
&lt;a rel=&quot;nofollow noreferrer external&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 II&lt;&#x2F;a&gt;
and
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;27248467-fundamentals-of-physics-ii&quot;&gt;Fundamentals of physics II&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;I only ran 18.63km, and will have to seriously step up my game because I
(stupidly) decided to sign-up for the Den Haag marathon in November.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, I had an OK week at
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;, with 30
wins out of the 64 duels I played. I&#x27;m staying in Master IV for another week,
good enough for me.&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 external&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt; front, I&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Followed up on my project hub work, rebasing the
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;69707&quot;&gt;two&lt;&#x2F;a&gt;
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;69711&quot;&gt;patches&lt;&#x2F;a&gt; to migrate
webhook processing to Go, and
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;69705&quot;&gt;fixing&lt;&#x2F;a&gt; an overeager
clean-up of code I&#x27;ll need in case of rollback&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;69768&quot;&gt;Added support&lt;&#x2F;a&gt; for
empty ResourceIDs in GraphQL, to address a review comment in an
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;69497&quot;&gt;on-going patch&lt;&#x2F;a&gt;.&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;69787&quot;&gt;Fixed&lt;&#x2F;a&gt; an issue with clearing out git repository comments&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;69802&quot;&gt;Fixed&lt;&#x2F;a&gt; an issue with
paste deletion&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;69665&quot;&gt;Fixed&lt;&#x2F;a&gt; a months old
issue in the database initialization script, that I surprisingly did not
experience before.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;I also submitted a &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~xenrox&#x2F;hut-dev&#x2F;patches&#x2F;69669&quot;&gt;patch&lt;&#x2F;a&gt; to
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~xenrox&#x2F;hut&quot;&gt;hut&lt;&#x2F;a&gt; to expose the project hub write commands I
recently added.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, I sent a &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;patches&#x2F;69750&quot;&gt;patch&lt;&#x2F;a&gt;
to &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;aerc-mail.org&quot;&gt;aerc&lt;&#x2F;a&gt; to fix a latent issue with headers processing
and IMAP unsolicited messages.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 21 2026</title>
          <pubDate>Mon, 25 May 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260525/</link>
          <guid>https://simartin.dev/blog/20260525/</guid>
          <description xml:base="https://simartin.dev/blog/20260525/">&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 another pretty routine week, with nothing much interesting to talk
about. Temperatures are rising and I don&#x27;t like this - especially because it
means half of the Netherlands and Germany will come pile up on the beach and
cause traffic jams in our street - but there&#x27;s nothing we can do about it :-)&lt;&#x2F;p&gt;
&lt;p&gt;I&#x27;m not super motivated lately and spend too much time on YouTube, where I
discovered a really excellent drummer,
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.youtube.com&#x2F;@ElEsteparioSiberiano&quot;&gt;El Estepario Siberiano&lt;&#x2F;a&gt;, who&#x27;s
really fun to watch. I generally really love people who just master their craft,
and he&#x27;s clearly one of them.&lt;&#x2F;p&gt;
&lt;p&gt;I had high hopes that Leinster would pose real problems to Bordeaux in the
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.epcrugby.com&#x2F;&quot;&gt;Champions Cup&lt;&#x2F;a&gt; rugby finals, and was extremely
disappointed. The game was very painful to watch, with Leinster playing one or
two divisions below Bordeaux :&#x27;( My only hope left this year is that the
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;top14.lnr.fr&quot;&gt;Top 14&lt;&#x2F;a&gt; final is between Toulouse and Bordeaux and that
Toulouse teach them a lesson :-)&lt;&#x2F;p&gt;
&lt;p&gt;On the reading from, I slowly continue
&lt;a rel=&quot;nofollow noreferrer external&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 II&lt;&#x2F;a&gt;
and
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;27248467-fundamentals-of-physics-ii&quot;&gt;Fundamentals of physics II&lt;&#x2F;a&gt;, and since reading two books in parallel is
apparently not enough, I decided to re-read
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;34524336-the-red-atlas&quot;&gt;The Red Atlas&lt;&#x2F;a&gt;,
that I found (again) excellent.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, it was yet another mediocre week in terms of running, with only 18.76
km, and it was an OK week at
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;: I won 33
of my 68 duels, and secured a promotion back to Master IV.&lt;&#x2F;p&gt;
&lt;p&gt;In (very unlikely) case you&#x27;re interested in GeoGuessr and like drama, head over
to &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.reddit.com&#x2F;r&#x2F;geoguessr&#x2F;comments&#x2F;1tlop72&#x2F;world_league_player_stique_caught_cheating_again&#x2F;&quot;&gt;this&lt;&#x2F;a&gt;.
TL;DR: the player who was allowed back after a 3 year ban for cheating and
finished 2nd in EMEA qualifications for this year&#x27;s World Cup... was caught
cheating again! I don&#x27;t understand why you would cheat, all the more when you&#x27;re
already excellent at it without cheating - it&#x27;s just sad...&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&#x27;m not doing anything big lately, but continue to pile up a bunch of (I think)
nice improvements here and there.&lt;&#x2F;p&gt;
&lt;p&gt;For &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt;, I
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;69552&quot;&gt;implemented&lt;&#x2F;a&gt; one of the
follow-up tickets for my project hub GraphQL work, and in passing
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;69555&quot;&gt;removed&lt;&#x2F;a&gt; an unused file.
I also &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;69558&quot;&gt;fixed&lt;&#x2F;a&gt; the
command suggested to apply a patchset locally, that just did not work if the
associated mailing list is private, and (after 6 months...) worked on
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;69570&quot;&gt;addressing&lt;&#x2F;a&gt; an issue
with line selection in paste and dark mode.&lt;&#x2F;p&gt;
&lt;p&gt;I also fixed a few papercuts in
&lt;a rel=&quot;nofollow noreferrer external&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;,
making build logs access actually work
(&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~whynothugo&#x2F;public-inbox&#x2F;patches&#x2F;69591&quot;&gt;patch&lt;&#x2F;a&gt;) and
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~whynothugo&#x2F;public-inbox&#x2F;patches&#x2F;69646&quot;&gt;improving&lt;&#x2F;a&gt; my
outstanding patch to create several users by default.&lt;&#x2F;p&gt;
&lt;p&gt;I found the latter when adding basic tests about object visibility to
&lt;a rel=&quot;nofollow noreferrer external&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;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;67&quot;&gt;ticket&lt;&#x2F;a&gt; and
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;68&quot;&gt;ticket&lt;&#x2F;a&gt;).&lt;&#x2F;p&gt;
&lt;p&gt;While doing this, I noticed issues in &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~xenrox&#x2F;hut&quot;&gt;hut&lt;&#x2F;a&gt;&#x27;s
live documentation, that I patched
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~xenrox&#x2F;hut-dev&#x2F;patches&#x2F;69638&quot;&gt;here&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, I spent a bit of time following up a message I received on the
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;aerc-mail.org&quot;&gt;aerc&lt;&#x2F;a&gt; IRC channel, and submitted a
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~rjarry&#x2F;aerc-devel&#x2F;patches&#x2F;69619&quot;&gt;fix&lt;&#x2F;a&gt; that is likely to
explain a bunch of crashes that were reported lately on the mailing list.&lt;&#x2F;p&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 20 2026</title>
          <pubDate>Mon, 18 May 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260518/</link>
          <guid>https://simartin.dev/blog/20260518/</guid>
          <description xml:base="https://simartin.dev/blog/20260518/">&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 very long weekend, and a friend of Lyla&#x27;s came over from Paris for
four days. They had a good time, and I had the &quot;chance&quot; of driving them to
various places :-) Apart from that, it was a very uneventful week.&lt;&#x2F;p&gt;
&lt;p&gt;I finished &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;239680549-huge-numbers&quot;&gt;Huge numbers&lt;&#x2F;a&gt;,
that was very good in the beginning - when it was about large numbers in real
life - and then not as much, borderline boring - when it was about huge numbers
we came up with &quot;just because we could&quot;, like
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;googology.fandom.com&#x2F;wiki&#x2F;Fish_number_7&quot;&gt;Fish number 7&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;I barely ran - only 18.61 km - with the (far fetched) excuse that it&#x27;s better
to stay at home when we have people visiting than disappear for bouts of time.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, I had a mediocre week at
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;, with 17
wins out of 36 duels. It was still enough to finish 4th in my Gold I group, and
be promoted back to 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 spent most of my time working on &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;servo.org&quot;&gt;servo&lt;&#x2F;a&gt;, exploring the
&quot;fascinating&quot; world of SVG and sending a few patches to packages servo depends
on:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Support hwb to represent colors
(&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;linebender&#x2F;svgtypes&#x2F;pull&#x2F;63&quot;&gt;patch&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Support actual angles in hsl&#x2F;hsla
(&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;linebender&#x2F;svgtypes&#x2F;pull&#x2F;62&quot;&gt;patch&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Support &#x27;&#x2F;&#x27; as a separator for the alpha part of colors
(&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;linebender&#x2F;svgtypes&#x2F;pull&#x2F;64&quot;&gt;patch&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Case insensitive font family matching
(&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;RazrFalcon&#x2F;fontdb&#x2F;pull&#x2F;88&quot;&gt;patch&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;On the &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt; front, I continued to build upon my
in-review series to improve GraphQL support in the project hub:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Implemented an API to list public projects
(&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;69470&quot;&gt;patch&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Implemented APIs to manipulate a project&#x27;s README
(&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;69497&quot;&gt;patch&lt;&#x2F;a&gt;)&lt;&#x2F;li&gt;
&lt;li&gt;Start working on
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~sircmpwn&#x2F;sourcehut&#x2F;95&quot;&gt;resource =&amp;gt; project resolvers&lt;&#x2F;a&gt;,
which helped me
&lt;ul&gt;
&lt;li&gt;Find a bug in my in-review resource linking patch, and
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;69513&quot;&gt;fix&lt;&#x2F;a&gt; it&lt;&#x2F;li&gt;
&lt;li&gt;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;69518&quot;&gt;Fix&lt;&#x2F;a&gt; an inconsistency
in the profile page with regards to trackers versus other resource types&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</description>
      </item>
      <item>
          <title>Status Report - Week 19 2026</title>
          <pubDate>Mon, 11 May 2026 00:00:00 +0000</pubDate>
          <author>Unknown</author>
          <link>https://simartin.dev/blog/20260511/</link>
          <guid>https://simartin.dev/blog/20260511/</guid>
          <description xml:base="https://simartin.dev/blog/20260511/">&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 quiet week at home.&lt;&#x2F;p&gt;
&lt;p&gt;The main highlight is that I filed my French taxes; it&#x27;s not difficult and I
don&#x27;t have much to report (the vast majority is in our Dutch tax filing, that
we get someone to do for us), but it&#x27;s still a big bore. I am very happy it&#x27;s
behind me for a year now :-)&lt;&#x2F;p&gt;
&lt;p&gt;I have finished reading
&lt;a rel=&quot;nofollow noreferrer external&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;, received and
therefore instantly started
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;27248467-fundamentals-of-physics-ii&quot;&gt;Fundamental of physics II&lt;&#x2F;a&gt;, as well as
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;239680549-huge-numbers&quot;&gt;Huge numbers&lt;&#x2F;a&gt;.
I also read
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;250717214-root-cause&quot;&gt;Root cause&lt;&#x2F;a&gt;, that I
was pretty excited about (who does not like good debugging stories?). It&#x27;s been
a very disappointing read however, not because the contents is bad or anything,
but because the cases described are not exactly trivial, but not far. I guess
that&#x27;s what happens when investigating crazy stuff has been a large part of your
job for decades :-)&lt;&#x2F;p&gt;
&lt;p&gt;I had a good week of running, with 23 km &lt;strong&gt;and&lt;&#x2F;strong&gt; a change: I plan to do at least
one session of interval training per week. I&#x27;m starting with easy ones, and am
excited to see the effects in the coming months.&lt;&#x2F;p&gt;
&lt;p&gt;Finally, I had a very bad week at
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.geoguessr.com&#x2F;user&#x2F;638fad8f0a0d3080099b775a&quot;&gt;GeoGuessr&lt;&#x2F;a&gt;: I played
&lt;strong&gt;a lot&lt;&#x2F;strong&gt; (131 duels) but also very badly (I only won 58...). The net outcome is
that I lost almost 120 points of ELO, finished second to last in my group, and
got demoted to the Gold I division.  I love this game and I think it&#x27;s awesome,
but also that it might be a good time for me to take a little break.&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 that much in &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt; itself, only
sending  &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~sircmpwn&#x2F;sr.ht-dev&#x2F;patches&#x2F;69266&quot;&gt;one change&lt;&#x2F;a&gt; that
I need for my mostly-submitted-pending-review work on the project hub GQL API
and webhook migration to Go.&lt;&#x2F;p&gt;
&lt;p&gt;I did however work a bit on the ecosystem around, sending a
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;lists.sr.ht&#x2F;~whynothugo&#x2F;public-inbox&#x2F;patches&#x2F;69322&quot;&gt;configuration fix&lt;&#x2F;a&gt;
to &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;git.sr.ht&#x2F;~simartin&#x2F;sr.ht-container-compose&quot;&gt;sr.ht-container-compose&lt;&#x2F;a&gt;
and making
&lt;a rel=&quot;nofollow noreferrer external&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;&#x27;s
test runner more resilient to issues communicating with Docker
(&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;todo.sr.ht&#x2F;~simartin&#x2F;sr.ht-integration-testing&#x2F;66&quot;&gt;ticket&lt;&#x2F;a&gt;).&lt;&#x2F;p&gt;
&lt;p&gt;I did spend a lot of time working on &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;servo.org&quot;&gt;servo&lt;&#x2F;a&gt;, mostly reading
and learning about SVG handling:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;I investigated a geometry &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;servo&#x2F;servo&#x2F;issues&#x2F;41273&quot;&gt;issue&lt;&#x2F;a&gt;
and sent &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;linebender&#x2F;resvg&#x2F;pull&#x2F;1045&quot;&gt;a fix&lt;&#x2F;a&gt; in the
&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;linebender&#x2F;resvg&quot;&gt;resvg&lt;&#x2F;a&gt; dependency&lt;&#x2F;li&gt;
&lt;li&gt;I sent &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;linebender&#x2F;resvg&#x2F;pull&#x2F;1047&quot;&gt;a patch&lt;&#x2F;a&gt; to
resvg to add support for CSS styling&lt;&#x2F;li&gt;
&lt;li&gt;I spotted and &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;linebender&#x2F;resvg&#x2F;pull&#x2F;1046&quot;&gt;fixed&lt;&#x2F;a&gt; an
incorrect resvg test&lt;&#x2F;li&gt;
&lt;li&gt;Finally, I &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;servo&#x2F;servo&#x2F;pull&#x2F;44800&quot;&gt;improved&lt;&#x2F;a&gt; logging for
SVG tests in servo&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
</description>
      </item>
      <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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&quot; href=&quot;https:&#x2F;&#x2F;servo.org&quot;&gt;servo&lt;&#x2F;a&gt;
&lt;a rel=&quot;nofollow noreferrer external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt;,
&lt;a rel=&quot;nofollow noreferrer external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&quot; href=&quot;https:&#x2F;&#x2F;aerc-mail.org&quot;&gt;aerc&lt;&#x2F;a&gt;
&lt;a rel=&quot;nofollow noreferrer external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&quot; href=&quot;https:&#x2F;&#x2F;gcc.gnu.org&quot;&gt;GCC&lt;&#x2F;a&gt; or
&lt;a rel=&quot;nofollow noreferrer external&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 external&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 external&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 external&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt;,
&lt;a rel=&quot;nofollow noreferrer external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt;, but
also on &lt;a rel=&quot;nofollow noreferrer external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&quot; href=&quot;https:&#x2F;&#x2F;sourcehut.org&quot;&gt;SourceHut&lt;&#x2F;a&gt;
and &lt;a rel=&quot;nofollow noreferrer external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&quot; href=&quot;https:&#x2F;&#x2F;gcc.gnu.org&quot;&gt;GCC&lt;&#x2F;a&gt;, &lt;a rel=&quot;nofollow noreferrer external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&quot; href=&quot;https:&#x2F;&#x2F;sr.ht&quot;&gt;SourceHut&lt;&#x2F;a&gt; and
&lt;a rel=&quot;nofollow noreferrer external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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;giallo z-code&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;var result struct {&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;	updateSSHKeyLastUsed *metaSSHKey `json:&amp;quot;updateSSHKeyLastUsed&amp;quot;`&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&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;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;	return nil, err&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;if result.UpdateSSHKeyLastUsed == nil {&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;	return nil, fmt.Errorf(&amp;quot;no key found for fingerprint %v&amp;quot;, fingerprint)&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;}&lt;&#x2F;span&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 external&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 external&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 external&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;giallo z-code&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;shared = select(Event.id,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;                func.min(EventProjectAssociation.project_id).label(&amp;quot;p_id&amp;quot;),&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;                func.min(EventProjectAssociation.project_resource_id).label(&amp;quot;r_id&amp;quot;))\&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    .where(Event.event_type == EventType.external_event and column == id)\&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    .join(EventProjectAssociation)\&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    .group_by(Event.id)&lt;&#x2F;span&gt;&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;giallo z-code&quot;&gt;&lt;code data-lang=&quot;plain&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;shared = select(Event.id,&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;                func.min(EventProjectAssociation.project_id).label(&amp;quot;p_id&amp;quot;),&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;                func.min(EventProjectAssociation.project_resource_id).label(&amp;quot;r_id&amp;quot;))\&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    .where(Event.event_type == EventType.external_event)\&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    .where(column == id)\&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    .join(EventProjectAssociation)\&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    .group_by(Event.id)&lt;&#x2F;span&gt;&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&quot; href=&quot;https:&#x2F;&#x2F;gcc.gnu.org&quot;&gt;GCC&lt;&#x2F;a&gt;, and
&lt;a rel=&quot;nofollow noreferrer external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&quot; href=&quot;https:&#x2F;&#x2F;proton.me&#x2F;pass&quot;&gt;ProtonPass&lt;&#x2F;a&gt; given
&lt;a rel=&quot;nofollow noreferrer external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&quot; href=&quot;https:&#x2F;&#x2F;sf.net&quot;&gt;SourceForge&lt;&#x2F;a&gt; and &lt;a rel=&quot;nofollow noreferrer external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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 external&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>
