<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>Thoughts</title>
    <link>https://blog.luismarques.me/</link>
    <description>How&#39;s this for a description?</description>
    <pubDate>Tue, 18 Aug 2026 15:41:27 +0200</pubDate>
    <item>
      <title>My journey at KEDGE Business School</title>
      <link>https://blog.luismarques.me/my-journey-at-kedge-business-school</link>
      <description>&lt;![CDATA[  This post has been brought to you by the &#34;How&#39;s this for a work review?&#34; department.&#xA;&#xA;Can mathematical optimisation bridge the gap between last-mile logistics and sustainability? In two months, my contract with KEDGE Business School will be ending, finalising a postdoctoral research of one year in the ConStanCE project. The acronym means, in French, &#34;Contenants Standards pour une Cyclologistique Efficace&#34;.&#xA;&#xA;The subject of the project is the encapsulation of parcels in medium-sized containers for a more efficient modal shift between traditional last-mile logistics and cyclologistics.&#xA;&#xA;!--more--&#xA;&#xA;Prior to this postdoc, I had never worked in the domain of the supply chain.&#xA;&#xA;Chapter 1: The Discovery&#xA;&#xA;The discovery was quite the challenge, considering I had no real experience with supply chain problems, my main experiences were on more academic problems, and I still had my Ph.D. defense to prepare.&#xA;&#xA;Nonetheless, I think my transition was quite smooth. I quickly learned what the research was about and integrated well in this multiactor project.&#xA;&#xA;The team, CESIT, was nice, and the school building felt really modern compared to the old buildings of the University of Bordeaux.&#xA;&#xA;Chapter 2: The Work&#xA;&#xA;The work was the most difficult part. We were interested in computing, for each studied city, the optimal container capacity, measured in number of parcels, and the corresponding optimal territory design.&#xA;&#xA;Mathematical models&#xA;&#xA;Difficulties concerning this problem included the huge number of clients in the partner LSP&#39;s historical data, and thus how to model routing decisions, which are inherently operational decision, into a strategic decision model. We could either use routing algorithms from the literature and wait two millenia for the solution, or approximate the traveling costs via continuous approximations, methods based on demand density instead of accurate customer locations.&#xA;&#xA;We chose the second solution, which gave us a quite small model containing only the container capacity selection constraints, the territory design assignment and contiguity constraints, and some other constraints related to the computation of the objective function.&#xA;&#xA;However, this doesn&#39;t mean the problem was easy to solve. In fact, the continuous approximations and some other components of the objective function were non-linear and non-convex / non-concave. At first, I designed some ad-hoc primal and dual heuristic algorithms for the problem to obtain an initial feasible solution and an optimistic value for the objective function.&#xA;&#xA;My objective was to use those heuristic algorithms to warm start exact solvers, and that&#39;s were the struggle started. To be honest, SCIP is bad. It crashed on even the simplest instances, and struggle to progress even with a time limit of one hour.&#xA;&#xA;At the ROADEF conference in February 2026, Artelys told me to try Artelys Knitro, their in-house solver for non-linear programming. While it avoided crashes, results were only slightly better.&#xA;&#xA;The breakthrough came when I managed to implement the model using Gurobi, something I had previously failed because, for some reason, it doesn&#39;t allow square roots in the objective but it allows a variable v and a constraint v = equation with square roots. Gurobi was able to greatly improve the initial solution in a minute. However, from the first minute to the one hour time limit, it didn&#39;t do anything more. Aside from the simplest instances, it never improved the dual bound at all.&#xA;&#xA;Note: A Gurobi webinar highlighted that fixing an initial dual bound via a obj   = z constraint disrupts the variable selection algorithms. Although we didn&#39;t really confirm this was the reason, we confirmed that the added constraints did not help the solver.&#xA;&#xA;Cartography tools&#xA;&#xA;I also made a lot of cartography tools using MapBox, but I&#39;m not sure I can display images about those, so I will leave this section for private discussions.&#xA;&#xA;Synthesis and Reports&#xA;&#xA;Finally, one of my favorite parts was writing the feedback reports to the ADEME, the French agency for ecological transition, because this part felt like the conclusion of the different blocks of tasks of the project. So I wrote, a lot, about different subjects:&#xA;&#xA;Synthesis of current practices of encapsulation for cyclologistics.&#xA;Overview of container management and mutualisation questions for a system with multiple stakeholders.&#xA;Technical report and case study on the capacity sizing and territory designs we developed.&#xA;&#xA;All of those documents will be repackaged into a final report publicly available at the end of 2026. I will update this post once it&#39;s online!&#xA;&#xA;Chapter 3: The Future&#xA;&#xA;At the end of this project, I believed less in the potential of cyclologistics. While they offer clea environmental and social benefits in dense urban areas, their scalability is constrained by cargo bike capacities, human operational cycles, and geographic sparsity.&#xA;&#xA;In contrast, I now believe deliveries by autonomous vehicles during nighttime is the better solution, especially with the rising numbers of parcel lockers, which solve the problem of customers being present for the delivery.&#xA;&#xA;Although we already have very promising leads on autonomous vehicles of different sizes for this, the main bottlenecks are regulatory frameworks for sidewalks and multi-agent automatic synchronisation tools.&#xA;&#xA;Key takeaway: I’ll be launching my independent research &amp; optimization consultancy in October 2026. I’m particularly focused on autonomous last-mile logistics, network design, and large-scale mathematical programming, but remain open to projects in sustainable supply chains, operations research, or academic collaborations. Reach out at luismarques@luismarques.me.&#xA;&#xA;Bonus: During this project I presented at two different conferences, ROADEF 2026 and IPIC 2026. I don&#39;t have much to say about these, but if you&#39;re interested, I can provide you with the submitted abstracts and slides on demand.&#xA;&#xA;div style=&#34;height: 20px;&#34;/div&#xD;&#xA;hr&#xD;&#xA;&#xD;&#xA;p class=&#34;post-signature&#34;Thank you for reading. Reach me for further discussion and updates!/p&#xD;&#xA;&#xD;&#xA;div class=&#34;post-share&#34;&#xD;&#xA;a class=&#34;btn btn--share&#34; title=&#34;Contact me&#34; href=&#34;mailto:luismarques@luismarques.me&#34;Contact me/a&#xD;&#xA;a class=&#34;btn btn--share&#34; href=&#34;https://mastodon.social/@luismarquesme&#34;Mastodon/a&#xD;&#xA;a class=&#34;btn btn--share&#34; href=&#34;../feed.xml&#34;RSS/a&#xD;&#xA;a class=&#34;btn btn--share btn--share-disabled&#34; href=&#34;#&#34; onclick=&#34;navigator.clipboard.writeText(window.location.href); this.textContent=&#39;Copied!&#39;; return false;&#34;Copy link/a&#xD;&#xA;/div]]&gt;</description>
      <content:encoded><![CDATA[<blockquote><p>This post has been brought to you by the “How&#39;s this for a work review?” department.</p></blockquote>

<p>Can mathematical optimisation bridge the gap between last-mile logistics and sustainability? In two months, my contract with KEDGE Business School will be ending, finalising a postdoctoral research of one year in the ConStanCE project. The acronym means, in French, “Contenants Standards pour une Cyclologistique Efficace”.</p>

<p>The subject of the project is the encapsulation of parcels in medium-sized containers for a more efficient modal shift between traditional last-mile logistics and cyclologistics.</p>



<p>Prior to this postdoc, I had never worked in the domain of the supply chain.</p>

<h2 id="chapter-1-the-discovery">Chapter 1: The Discovery</h2>

<p>The discovery was quite the challenge, considering I had no real experience with supply chain problems, my main experiences were on more academic problems, and I still had my Ph.D. defense to prepare.</p>

<p>Nonetheless, I think my transition was quite smooth. I quickly learned what the research was about and integrated well in this multiactor project.</p>

<p>The team, CESIT, was nice, and the school building felt really modern compared to the old buildings of the University of Bordeaux.</p>

<h2 id="chapter-2-the-work">Chapter 2: The Work</h2>

<p>The work was the most difficult part. We were interested in computing, for each studied city, the optimal container capacity, measured in number of parcels, and the corresponding optimal territory design.</p>

<h3 id="mathematical-models">Mathematical models</h3>

<p>Difficulties concerning this problem included the <strong>huge</strong> number of clients in the partner LSP&#39;s historical data, and thus how to model routing decisions, which are inherently operational decision, into a strategic decision model. We could either use routing algorithms from the literature and wait two millenia for the solution, or approximate the traveling costs via <em>continuous approximations</em>, methods based on demand density instead of accurate customer locations.</p>

<p>We chose the second solution, which gave us a quite small model containing only the container capacity selection constraints, the territory design assignment and contiguity constraints, and some other constraints related to the computation of the objective function.</p>

<p>However, this doesn&#39;t mean the problem was easy to solve. In fact, the continuous approximations and some other components of the objective function were non-linear and non-convex / non-concave. At first, I designed some ad-hoc primal and dual heuristic algorithms for the problem to obtain an initial feasible solution and an optimistic value for the objective function.</p>

<p>My objective was to use those heuristic algorithms to warm start exact solvers, and that&#39;s were the struggle started. To be honest, SCIP is bad. It crashed on even the simplest instances, and struggle to progress even with a time limit of one hour.</p>

<p>At the ROADEF conference in February 2026, Artelys told me to try Artelys Knitro, their in-house solver for non-linear programming. While it avoided crashes, results were only slightly better.</p>

<p>The breakthrough came when I managed to implement the model using Gurobi, something I had previously failed because, for some reason, it doesn&#39;t allow square roots in the objective but it allows a variable <code>v</code> and a constraint <code>v = equation with square roots</code>. Gurobi was able to greatly improve the initial solution in a minute. However, from the first minute to the one hour time limit, it didn&#39;t do anything more. Aside from the simplest instances, it never improved the dual bound at all.</p>

<p><strong>Note:</strong> A Gurobi webinar highlighted that fixing an initial dual bound via a <code>obj &gt;= z</code> constraint disrupts the variable selection algorithms. Although we didn&#39;t really confirm this was the reason, we confirmed that the added constraints did not help the solver.</p>

<h3 id="cartography-tools">Cartography tools</h3>

<p>I also made a lot of cartography tools using MapBox, but I&#39;m not sure I can display images about those, so I will leave this section for private discussions.</p>

<h3 id="synthesis-and-reports">Synthesis and Reports</h3>

<p>Finally, one of my favorite parts was writing the feedback reports to the <a href="https://www.ademe.fr/en/frontpage/">ADEME</a>, the French agency for ecological transition, because this part felt like the conclusion of the different blocks of tasks of the project. So I wrote, a lot, about different subjects:</p>
<ul><li>Synthesis of current practices of encapsulation for cyclologistics.</li>
<li>Overview of container management and mutualisation questions for a system with multiple stakeholders.</li>
<li>Technical report and case study on the capacity sizing and territory designs we developed.</li></ul>

<p>All of those documents will be repackaged into a final report publicly available at the end of 2026. I will update this post once it&#39;s online!</p>

<h2 id="chapter-3-the-future">Chapter 3: The Future</h2>

<p>At the end of this project, I believed less in the potential of cyclologistics. While they offer clea environmental and social benefits in dense urban areas, their scalability is constrained by cargo bike capacities, human operational cycles, and geographic sparsity.</p>

<p>In contrast, I now believe deliveries by autonomous vehicles during nighttime is the better solution, especially with the rising numbers of parcel lockers, which solve the problem of customers being present for the delivery.</p>

<p>Although we already have very promising leads on autonomous vehicles of different sizes for this, the main bottlenecks are regulatory frameworks for sidewalks and multi-agent automatic synchronisation tools.</p>

<p><strong>Key takeaway:</strong> I’ll be launching my independent research &amp; optimization consultancy in October 2026. I’m particularly focused on autonomous last-mile logistics, network design, and large-scale mathematical programming, but remain open to projects in sustainable supply chains, operations research, or academic collaborations. Reach out at <a href="mailto:luismarques@luismarques.me">luismarques@luismarques.me</a>.</p>

<p><strong>Bonus:</strong> During this project I presented at two different conferences, ROADEF 2026 and IPIC 2026. I don&#39;t have much to say about these, but if you&#39;re interested, I can provide you with the submitted abstracts and slides on demand.</p>

<div style="height: 20px;"></div>
<hr>

<p class="post-signature">Thank you for reading. Reach me for further discussion and updates!</p>

<div class="post-share">
<a class="btn btn--share" title="Contact me" href="mailto:luismarques@luismarques.me">Contact me</a>
<a class="btn btn--share" href="https://mastodon.social/@luismarquesme">Mastodon</a>
<a class="btn btn--share" href="../feed.xml">RSS</a>
<a class="btn btn--share btn--share-disabled">Copy link</a>
</div>
]]></content:encoded>
      <guid>https://blog.luismarques.me/my-journey-at-kedge-business-school</guid>
      <pubDate>Sat, 08 Aug 2026 07:05:04 +0000</pubDate>
    </item>
    <item>
      <title>My first financial donations</title>
      <link>https://blog.luismarques.me/my-first-financial-donations</link>
      <description>&lt;![CDATA[I live in Bordeaux, in a region that was recently struck by wildfires. The fire didn&#39;t get to the city center, but the news coverage, the scale of the fires, the work of the firefighters, the number of relief shelters and volunteers finally inspired me to do something I had my mind on for a while: giving money to charity.&#xA;&#xA;And so I set up a monthly to donation to the French firefighters association, Oeuvre des Pupilles.&#xA;&#xA;!--more--&#xA;&#xA;Donating to charity, and also to open source projects in particular, is something that had been on my mind for years. In fact, I&#39;ve long believed that if more people adopted this business model, we could have a more robust open source ecosystem, and thus a safer and better world. However, I must admit that, deep ddown until this point, I still considered it as giving money away &#34;for nothing&#34;. Donating to the firefighters&#39; association was the breakthrough I needed.&#xA;&#xA;I&#39;ve since set up additional monthly donations to several projects that I find important and interesting: Joplin, KeePassXC, OrganicMaps, and OurWorldInData. In total, I am donating around 40 EUR per month. I call this contributing financial power, but I also contribute brain power (reporting issues, participating in discussions, writing code, etc.) and CPU power (running background tasks on idle devices like my computer when I&#39;m away or my home server). All details are available on my new &#34;Beyond billable hours&#34; page on my website.&#xA;&#xA;The main takeaway of this post is simple: I believe in an open source world where projects can be sustained through voluntary support, and I believe in a world where everyone benefits from those projects regardless of their ability to contribute or finance them. Last words are: small contributions can make a big difference in the life of an open source project, so if you have the means, please support your favorite projects to allow them to live longer.&#xA;&#xA;div style=&#34;height: 20px;&#34;/div&#xD;&#xA;hr&#xD;&#xA;&#xD;&#xA;p class=&#34;post-signature&#34;Thank you for reading. Reach me for further discussion and updates!/p&#xD;&#xA;&#xD;&#xA;div class=&#34;post-share&#34;&#xD;&#xA;a class=&#34;btn btn--share&#34; title=&#34;Contact me&#34; href=&#34;mailto:luismarques@luismarques.me&#34;Contact me/a&#xD;&#xA;a class=&#34;btn btn--share&#34; href=&#34;https://mastodon.social/@luismarquesme&#34;Mastodon/a&#xD;&#xA;a class=&#34;btn btn--share&#34; href=&#34;../feed.xml&#34;RSS/a&#xD;&#xA;a class=&#34;btn btn--share btn--share-disabled&#34; href=&#34;#&#34; onclick=&#34;navigator.clipboard.writeText(window.location.href); this.textContent=&#39;Copied!&#39;; return false;&#34;Copy link/a&#xD;&#xA;/div]]&gt;</description>
      <content:encoded><![CDATA[<p>I live in Bordeaux, in a region that was recently struck by wildfires. The fire didn&#39;t get to the city center, but the news coverage, the scale of the fires, the work of the firefighters, the number of relief shelters and volunteers finally inspired me to do something I had my mind on for a while: giving money to charity.</p>

<p>And so I set up a monthly to donation to the French firefighters association, <strong><a href="https://www.pompiers.fr/oeuvre-des-pupilles/">Oeuvre des Pupilles</a></strong>.</p>



<p>Donating to charity, and also to open source projects in particular, is something that had been on my mind for years. In fact, I&#39;ve long believed that if more people adopted this business model, we could have a more robust open source ecosystem, and thus a safer and better world. However, I must admit that, deep ddown until this point, I still considered it as giving money away “for nothing”. Donating to the firefighters&#39; association was the breakthrough I needed.</p>

<p>I&#39;ve since set up additional monthly donations to several projects that I find important and interesting: Joplin, KeePassXC, OrganicMaps, and OurWorldInData. In total, I am donating around 40 EUR per month. I call this <em>contributing financial power</em>, but I also contribute <em>brain power</em> (reporting issues, participating in discussions, writing code, etc.) and <em>CPU power</em> (running background tasks on idle devices like my computer when I&#39;m away or my home server). All details are available on my new <a href="https://luismarques.me/beyond.html">“Beyond billable hours”</a> page on my website.</p>

<p>The <strong>main takeaway</strong> of this post is simple: I believe in an open source world where projects can be sustained through voluntary support, and I believe in a world where everyone benefits from those projects regardless of their ability to contribute or finance them. Last words are: small contributions can make a big difference in the life of an open source project, so if you have the means, please support your favorite projects to allow them to live longer.</p>

<div style="height: 20px;"></div>
<hr>

<p class="post-signature">Thank you for reading. Reach me for further discussion and updates!</p>

<div class="post-share">
<a class="btn btn--share" title="Contact me" href="mailto:luismarques@luismarques.me">Contact me</a>
<a class="btn btn--share" href="https://mastodon.social/@luismarquesme">Mastodon</a>
<a class="btn btn--share" href="../feed.xml">RSS</a>
<a class="btn btn--share btn--share-disabled">Copy link</a>
</div>
]]></content:encoded>
      <guid>https://blog.luismarques.me/my-first-financial-donations</guid>
      <pubDate>Sat, 01 Aug 2026 08:04:45 +0000</pubDate>
    </item>
    <item>
      <title>The battle with music RSS</title>
      <link>https://blog.luismarques.me/the-battle-with-music-rss</link>
      <description>&lt;![CDATA[  This post has been brought to you by the “How&#39;s this for an open-source software review?” department.&#xA;&#xA;A few weeks ago, I had another go at sorting my musical library. My workflow for this is quite simple: download the music files, change metadata with MusicBrainz Picard, and use a homemade script to organize musics based on metadata. Playlist management was made using the Strawberry music player.&#xA;&#xA;!--more--&#xA;&#xA;Note: I have now set up MusicBrainz Picard to organize my library automatically, instead of using my homemade script. I don&#39;t know if this is a recent feature, but I don&#39;t remember Picard being able to do this before.&#xA;&#xA;Although I&#39;m quite happy with this workflow, there&#39;s a major problem that comes before the download step: I don&#39;t have a way to track new releases!&#xA;&#xA;You&#39;re starting to know me, I&#39;m a big fan of RSS feeds, and a big hater of having an uncountable number of accounts on non-open source websites. However, the most popular and complete services, i.e., Spotify and Deezer, do not provide RSS feeds, and creating an account for this purpose is completely out of question.&#xA;&#xA;I could always use YouTube channel feeds, but artists don&#39;t publish all their songs on YouTube, and albums are usually not categorized as releases either, so how can we use RSS (or other open-source software) to get new music releases?&#xA;&#xA;Well, the answer I&#39;ve found is &#34;nothing much&#34;. There exist a few promising solutions, but they either not work or feel really clunky.&#xA;&#xA;First of all, related to MusicBrainz, there is ListenBrainz. It seems to contain the newest releases per artist, but I didn&#39;t find a way to follow each artist independently.&#xA;&#xA;Second, I found a piece of software named Lidarr. Although it seemed good at first, I quickly hit configuration problems because the software is largely overfeatured for what I want.&#xA;&#xA;Finally, I found a website that allows the construction of RSS feeds from Deezer: releasefeed.elomatreb.eu. I see this as a workaround rather than a true solution, but at least it works as I want. I imagine that it polls Deezer website behind the scenes.&#xA;&#xA;Similarly, there exists RSS Bridge that seems to allow to construct RSS feeds from Spotify, but the configuration isn&#39;t straightforward. I didn&#39;t really experiment with it, so if you have, feel free to reach out and give your feedback!&#xA;&#xA;So to conclude, damn Spotify, Deezer, and other services for not allowing RSS feeds to artists pages (or any other page for that matter).&#xA;&#xA;div style=&#34;height: 20px;&#34;/div&#xD;&#xA;hr&#xD;&#xA;&#xD;&#xA;p class=&#34;post-signature&#34;Thank you for reading. Reach me for further discussion and updates!/p&#xD;&#xA;&#xD;&#xA;div class=&#34;post-share&#34;&#xD;&#xA;a class=&#34;btn btn--share&#34; title=&#34;Contact me&#34; href=&#34;mailto:luismarques@luismarques.me&#34;Contact me/a&#xD;&#xA;a class=&#34;btn btn--share&#34; href=&#34;https://mastodon.social/@luismarquesme&#34;Mastodon/a&#xD;&#xA;a class=&#34;btn btn--share&#34; href=&#34;../feed.xml&#34;RSS/a&#xD;&#xA;a class=&#34;btn btn--share btn--share-disabled&#34; href=&#34;#&#34; onclick=&#34;navigator.clipboard.writeText(window.location.href); this.textContent=&#39;Copied!&#39;; return false;&#34;Copy link/a&#xD;&#xA;/div]]&gt;</description>
      <content:encoded><![CDATA[<blockquote><p>This post has been brought to you by the “How&#39;s this for an open-source software review?” department.</p></blockquote>

<p>A few weeks ago, I had another go at sorting my musical library. My workflow for this is quite simple: download the music files, change metadata with MusicBrainz Picard, and use a homemade script to organize musics based on metadata. Playlist management was made using the <a href="https://www.strawberrymusicplayer.org/">Strawberry</a> music player.</p>



<p><strong>Note:</strong> I have now set up MusicBrainz Picard to organize my library automatically, instead of using my homemade script. I don&#39;t know if this is a recent feature, but I don&#39;t remember Picard being able to do this before.</p>

<p>Although I&#39;m quite happy with this workflow, there&#39;s a major problem that comes before the download step: I don&#39;t have a way to track new releases!</p>

<p>You&#39;re starting to know me, I&#39;m a big fan of RSS feeds, and a big hater of having an uncountable number of accounts on non-open source websites. However, the most popular and complete services, i.e., Spotify and Deezer, do not provide RSS feeds, and creating an account for this purpose is completely out of question.</p>

<p>I could always use YouTube channel feeds, but artists don&#39;t publish all their songs on YouTube, and albums are usually not categorized as releases either, so how can we use RSS (or other open-source software) to get new music releases?</p>

<p>Well, the answer I&#39;ve found is “nothing much”. There exist a few promising solutions, but they either not work or feel really clunky.</p>

<p>First of all, related to MusicBrainz, there is <a href="https://listenbrainz.org/">ListenBrainz</a>. It seems to contain the newest releases per artist, but I didn&#39;t find a way to follow each artist independently.</p>

<p>Second, I found a piece of software named Lidarr. Although it seemed good at first, I quickly hit configuration problems because the software is largely overfeatured for what I want.</p>

<p>Finally, I found a website that allows the construction of RSS feeds from Deezer: <a href="https://releasefeed.elomatreb.eu/">releasefeed.elomatreb.eu</a>. I see this as a workaround rather than a true solution, but at least it works as I want. I imagine that it polls Deezer website behind the scenes.</p>

<p>Similarly, there exists <a href="https://rss-bridge.org/">RSS Bridge</a> that seems to allow to construct RSS feeds from Spotify, but the configuration isn&#39;t straightforward. I didn&#39;t really experiment with it, so if you have, feel free to reach out and give your feedback!</p>

<p>So to conclude, damn Spotify, Deezer, and other services for not allowing RSS feeds to artists pages (or any other page for that matter).</p>

<div style="height: 20px;"></div>
<hr>

<p class="post-signature">Thank you for reading. Reach me for further discussion and updates!</p>

<div class="post-share">
<a class="btn btn--share" title="Contact me" href="mailto:luismarques@luismarques.me">Contact me</a>
<a class="btn btn--share" href="https://mastodon.social/@luismarquesme">Mastodon</a>
<a class="btn btn--share" href="../feed.xml">RSS</a>
<a class="btn btn--share btn--share-disabled">Copy link</a>
</div>
]]></content:encoded>
      <guid>https://blog.luismarques.me/the-battle-with-music-rss</guid>
      <pubDate>Sat, 18 Jul 2026 07:24:11 +0000</pubDate>
    </item>
    <item>
      <title>Vocabulary: AI, GenAI, algorithms</title>
      <link>https://blog.luismarques.me/vocabulary-ai-genai-algorithms</link>
      <description>&lt;![CDATA[  This post has been brought to you by the &#34;How&#39;s this for a rant?&#34; department.&#xA;&#xA;Today, I only want to make a small rant concerning artificial intelligence and the vocabulary trends I&#39;ve spotted in social media and company communications, especially on LinkedIn (Fuck LinkedIn by the way).&#xA;&#xA;!--more--&#xA;&#xA;What&#39;s the problem with using &#34;AI&#34; everywhere? The problem is that everything gets categorized in that umbrella category.&#xA;&#xA;In the 2010s, AI was not very known, and it specifically grouped deep and reinforcement learning, two very well known categories of algorithms.&#xA;&#xA;In the 2020s, ChatGPT was released, and the term AI shifted to now group generative text, then generative images and sound algorithms. All of those are now regrouped under the term &#34;GenAI&#34;.&#xA;&#xA;Until here, everything seems fine. The problem appears in the marketing departments of companies. Since those generative algorithms are new, and also quite spectacular in some cases, we often see &#34;AI-driven&#34; products that don&#39;t have anything in common with GenAI. This is the case in my field of work, combinatorial optimization, where AI is used vaguely to mention algorithms that we have known since the 1950s!&#xA;&#xA;So, this post is not adressed to the general public, but to the marketing departments that ride on the vague usual definition of AI: stop misleading people with AI-driven products simply because AI makes your spitch shiny. Use the correct terms where they apply.&#xA;&#xA;div style=&#34;height: 20px;&#34;/div&#xD;&#xA;hr&#xD;&#xA;&#xD;&#xA;p class=&#34;post-signature&#34;Thank you for reading. Reach me for further discussion and updates!/p&#xD;&#xA;&#xD;&#xA;div class=&#34;post-share&#34;&#xD;&#xA;a class=&#34;btn btn--share&#34; title=&#34;Contact me&#34; href=&#34;mailto:luismarques@luismarques.me&#34;Contact me/a&#xD;&#xA;a class=&#34;btn btn--share&#34; href=&#34;https://mastodon.social/@luismarquesme&#34;Mastodon/a&#xD;&#xA;a class=&#34;btn btn--share&#34; href=&#34;../feed.xml&#34;RSS/a&#xD;&#xA;a class=&#34;btn btn--share btn--share-disabled&#34; href=&#34;#&#34; onclick=&#34;navigator.clipboard.writeText(window.location.href); this.textContent=&#39;Copied!&#39;; return false;&#34;Copy link/a&#xD;&#xA;/div]]&gt;</description>
      <content:encoded><![CDATA[<blockquote><p>This post has been brought to you by the “How&#39;s this for a rant?” department.</p></blockquote>

<p>Today, I only want to make a small rant concerning artificial intelligence and the vocabulary trends I&#39;ve spotted in social media and company communications, especially on LinkedIn (Fuck LinkedIn by the way).</p>



<p>What&#39;s the problem with using “AI” everywhere? The problem is that everything gets categorized in that umbrella category.</p>

<p>In the 2010s, AI was not very known, and it specifically grouped deep and reinforcement learning, two very well known categories of algorithms.</p>

<p>In the 2020s, ChatGPT was released, and the term AI shifted to now group generative text, then generative images and sound algorithms. All of those are now regrouped under the term “GenAI”.</p>

<p>Until here, everything seems fine. The problem appears in the marketing departments of companies. Since those generative algorithms are new, and also quite spectacular in some cases, we often see “AI-driven” products that don&#39;t have anything in common with GenAI. This is the case in my field of work, combinatorial optimization, where AI is used vaguely to mention algorithms that we have known since the 1950s!</p>

<p>So, this post is not adressed to the general public, but to the marketing departments that ride on the vague usual definition of AI: stop misleading people with AI-driven products simply because AI makes your spitch shiny. Use the correct terms where they apply.</p>

<div style="height: 20px;"></div>
<hr>

<p class="post-signature">Thank you for reading. Reach me for further discussion and updates!</p>

<div class="post-share">
<a class="btn btn--share" title="Contact me" href="mailto:luismarques@luismarques.me">Contact me</a>
<a class="btn btn--share" href="https://mastodon.social/@luismarquesme">Mastodon</a>
<a class="btn btn--share" href="../feed.xml">RSS</a>
<a class="btn btn--share btn--share-disabled">Copy link</a>
</div>
]]></content:encoded>
      <guid>https://blog.luismarques.me/vocabulary-ai-genai-algorithms</guid>
      <pubDate>Sat, 11 Jul 2026 06:56:29 +0000</pubDate>
    </item>
    <item>
      <title>WriteFreely and my quest for a blogging engine</title>
      <link>https://blog.luismarques.me/writefreely-and-my-quest-for-a-blogging-engine</link>
      <description>&lt;![CDATA[  This post has been brought by the &#34;How&#39;s this for an open-source software review?&#34; department.&#xA;&#xA;Today, we talk about blogging using open-source software, comparing my previous workflow with the one I use today.&#xA;&#xA;!--more--&#xA;&#xA;Chapter 1: The problem&#xA;&#xA;When the blog consisted of nothing more than a single &#34;Hello, World!&#34; post, it was simply a static website stored in a git repository. Publishing a new post required many steps: cloning the repository, editing the source files, generate the static files, commit and push changes, and pull those changes in the server deploying the website.&#xA;&#xA;Although this worked, it was cumbersome, especially if you wanted to publish articles frequently. More importantly, it was impossible to write posts in devices that were not setup, e.g., computers with no git and no admin rights, mobile phones, etc.&#xA;&#xA;What I really wanted a web-based blogging engine easily deployable on my home server and satisfying a few modest requirements:&#xA;an online editor,&#xA;appearance customization,&#xA;automatic RSS generation,&#xA;integration with the Fediverse.&#xA;&#xA;After searching for engines like that, I narrowed the choices to three projects:&#xA;Wordpress with the ActivityPub plugin.&#xA;WriteFreely, the free and open-source version of Write.as.&#xA;Ghost with the promised ActivityPub integration.&#xA;&#xA;Chapter 2: The solution (or not)&#xA;&#xA;After studying each solution, I chose WriteFreely for my blog. Wordpress uses PHP and I don&#39;t want to deal with that, and Ghost&#39;s ActivityPub integration is still in development, although they have announced it for &#34;soon&#34;.&#xA;&#xA;The initial experience felt like a breeze. Writing drafts and posts from any device felt liberating. I also discovered that we could share link to drafts with other people, allowing them to see the draft, but not editing it.&#xA;&#xA;However, issues started appearing quickly. &#xA;&#xA;First issue: customizing the appearance. WriteFreely allows users to provide a CSS sheet, but it&#39;s slightly difficult and limited. In fact, there exists a theme website with beautiful themes, but if you look closely they all resemble each other.&#xA;&#xA;Going beyond CSS customisation is even more difficult. I believe I could modify the HTML and Javascript server-side, but that defeats the point of the tool. For instance, you can see in the footer of this post that the &#34;Copy Link&#34; button is disabled. That&#39;s because I couldn&#39;t make it work with the customisation tools given.&#xA;&#xA;Second issue: WriteFreely supports only basic markdown. Although that already allows a fair deal of formatting, I&#39;d love to have the colored quote blocks that GitLab uses with the   [!NOTE] or   [!WARN] syntax.&#xA;&#xA;Third issue: there is no comments section. I later saw that there is another software by the author, Remark.as, but it&#39;s another standalone service that does not embed in the same web page.&#xA;&#xA;Finally, fourth and last issue: there are lots of small, inconvenient bugs. Nothing that could erase all your data (at least I hope), but I find that they&#39;re really annoying and prove that WriteFreely is not deployment-ready:&#xA;There&#39;s no side by side editor and preview.&#xA;Navigation is broken, as in a subset of buttons in the navigation bar only works from a subset of pages that they should work on.&#xA;It&#39;s ugly, really ugly.&#xA;Planifying releases is not particularly difficult if one follows the documentation, but it&#39;s very inintuitive.&#xA;Fediverse handle is tied to the subdomain of the website, e.g., @luis@blog.luis.marques.me, whereas I&#39;d rather have @luis@luismarques.me on all my subdomains. I&#39;m not sure whether this is a WriteFreely or an ActivityPub limitation.&#xA;&#xA;For some of these problems, I have created issues in WriteFreely&#39;s GitHub, but for now I haven&#39;t received a single word in return.&#xA;https://github.com/writefreely/writefreely/discussions/1681&#xA;https://github.com/writefreely/writefreely/discussions/1682&#xA;https://github.com/writefreely/writefreely/discussions/1685&#xA;&#xA;Conclusion&#xA;&#xA;Despite these shortcomings, WriteFreely greatly improved my blog workflow, and I am now much more motivated to maintain the blog I have wanted to do for a long time.&#xA;&#xA;That said, the project feels more like a prototype then a mature blogging engine. It is certainly &#34;usable&#34;, but I am not entirely satisfied by it. If you know of another open-source blogging engine that meets my requirements while addressing these limitations, I&#39;d love to hear your recommendations by mail or over Mastodon!&#xA;&#xA;div style=&#34;height: 20px;&#34;/div&#xD;&#xA;hr&#xD;&#xA;&#xD;&#xA;p class=&#34;post-signature&#34;Thank you for reading. Reach me for further discussion and updates!/p&#xD;&#xA;&#xD;&#xA;div class=&#34;post-share&#34;&#xD;&#xA;a class=&#34;btn btn--share&#34; title=&#34;Contact me&#34; href=&#34;mailto:luismarques@luismarques.me&#34;Contact me/a&#xD;&#xA;a class=&#34;btn btn--share&#34; href=&#34;https://mastodon.social/@luismarquesme&#34;Mastodon/a&#xD;&#xA;a class=&#34;btn btn--share&#34; href=&#34;../feed.xml&#34;RSS/a&#xD;&#xA;a class=&#34;btn btn--share btn--share-disabled&#34; href=&#34;#&#34; onclick=&#34;navigator.clipboard.writeText(window.location.href); this.textContent=&#39;Copied!&#39;; return false;&#34;Copy link/a&#xD;&#xA;/div]]&gt;</description>
      <content:encoded><![CDATA[<blockquote><p>This post has been brought by the “How&#39;s this for an open-source software review?” department.</p></blockquote>

<p>Today, we talk about blogging using open-source software, comparing my previous workflow with the one I use today.</p>



<h2 id="chapter-1-the-problem">Chapter 1: The problem</h2>

<p>When the blog consisted of nothing more than a single “Hello, World!” post, it was simply a static website stored in a git repository. Publishing a new post required many steps: cloning the repository, editing the source files, generate the static files, commit and push changes, and pull those changes in the server deploying the website.</p>

<p>Although this worked, it was cumbersome, especially if you wanted to publish articles frequently. More importantly, it was impossible to write posts in devices that were not setup, e.g., computers with no git and no admin rights, mobile phones, etc.</p>

<p>What I really wanted a web-based blogging engine easily deployable on my home server and satisfying a few modest requirements:
– an online editor,
– appearance customization,
– automatic RSS generation,
– integration with the <a href="https://en.wikipedia.org/wiki/Fediverse">Fediverse</a>.</p>

<p>After searching for engines like that, I narrowed the choices to three projects:
– Wordpress with the ActivityPub plugin.
– WriteFreely, the free and open-source version of Write.as.
– Ghost with the promised ActivityPub integration.</p>

<h2 id="chapter-2-the-solution-or-not">Chapter 2: The solution (or not)</h2>

<p>After studying each solution, I chose WriteFreely for my blog. Wordpress uses PHP and I don&#39;t want to deal with that, and Ghost&#39;s ActivityPub integration is still in development, although they have announced it for “soon”.</p>

<p>The initial experience felt like a breeze. Writing drafts and posts from any device felt liberating. I also discovered that we could share link to drafts with other people, allowing them to see the draft, but not editing it.</p>

<p>However, issues started appearing quickly.</p>

<p>First issue: customizing the appearance. WriteFreely allows users to provide a CSS sheet, but it&#39;s slightly difficult and limited. In fact, there exists a <a href="https://write.as/themes/">theme website</a> with beautiful themes, but if you look closely they all resemble each other.</p>

<p>Going beyond CSS customisation is even more difficult. I believe I could modify the HTML and Javascript server-side, but that defeats the point of the tool. For instance, you can see in the footer of this post that the “Copy Link” button is disabled. That&#39;s because I couldn&#39;t make it work with the customisation tools given.</p>

<p>Second issue: WriteFreely supports only basic markdown. Although that already allows a fair deal of formatting, I&#39;d love to have the colored quote blocks that GitLab uses with the <code>&gt; [!NOTE]</code> or <code>&gt; [!WARN]</code> syntax.</p>

<p>Third issue: there is no comments section. I later saw that there is another software by the author, <a href="https://remark.as/">Remark.as</a>, but it&#39;s another standalone service that does not embed in the same web page.</p>

<p>Finally, fourth and last issue: there are lots of small, inconvenient bugs. Nothing that could erase all your data (at least I hope), but I find that they&#39;re really annoying and prove that WriteFreely is not deployment-ready:
– There&#39;s no side by side editor and preview.
– Navigation is broken, as in a subset of buttons in the navigation bar only works from a subset of pages that they should work on.
– It&#39;s ugly, really ugly.
– Planifying releases is not particularly difficult if one follows the documentation, but it&#39;s very inintuitive.
– Fediverse handle is tied to the subdomain of the website, e.g., <a href="https://blog.luismarques.me/@/luis@blog.luis.marques.me" class="u-url mention">@<span>luis@blog.luis.marques.me</span></a>, whereas I&#39;d rather have <a href="https://blog.luismarques.me/@/luis@luismarques.me" class="u-url mention">@<span>luis@luismarques.me</span></a> on all my subdomains. I&#39;m not sure whether this is a WriteFreely or an ActivityPub limitation.</p>

<p>For some of these problems, I have created issues in WriteFreely&#39;s GitHub, but for now I haven&#39;t received a single word in return.
– <a href="https://github.com/writefreely/writefreely/discussions/1681">https://github.com/writefreely/writefreely/discussions/1681</a>
– <a href="https://github.com/writefreely/writefreely/discussions/1682">https://github.com/writefreely/writefreely/discussions/1682</a>
– <a href="https://github.com/writefreely/writefreely/discussions/1685">https://github.com/writefreely/writefreely/discussions/1685</a></p>

<h2 id="conclusion">Conclusion</h2>

<p>Despite these shortcomings, WriteFreely greatly improved my blog workflow, and I am now much more motivated to maintain the blog I have wanted to do for a long time.</p>

<p>That said, the project feels more like a prototype then a mature blogging engine. It is certainly “usable”, but I am not entirely satisfied by it. If you know of another open-source blogging engine that meets my requirements while addressing these limitations, I&#39;d love to hear your recommendations by mail or over Mastodon!</p>

<div style="height: 20px;"></div>
<hr>

<p class="post-signature">Thank you for reading. Reach me for further discussion and updates!</p>

<div class="post-share">
<a class="btn btn--share" title="Contact me" href="mailto:luismarques@luismarques.me">Contact me</a>
<a class="btn btn--share" href="https://mastodon.social/@luismarquesme">Mastodon</a>
<a class="btn btn--share" href="../feed.xml">RSS</a>
<a class="btn btn--share btn--share-disabled">Copy link</a>
</div>
]]></content:encoded>
      <guid>https://blog.luismarques.me/writefreely-and-my-quest-for-a-blogging-engine</guid>
      <pubDate>Fri, 03 Jul 2026 15:42:17 +0000</pubDate>
    </item>
    <item>
      <title>Birding in Alsace</title>
      <link>https://blog.luismarques.me/birding-in-alsace</link>
      <description>&lt;![CDATA[  This post has been brought by the &#34;How&#39;s this for a holidays trip?&#34; department.&#xA;&#xA;End of April, my girlfriend and I went on holiday to the Alsace region in the North-East of France for a few days. Overall, we found it to be a magnificent region, even without the typical Christmas magic and its associated markets. &#xA;&#xA;!--more--&#xA;&#xA;Chapter I: The preparation&#xA;&#xA;The preparation tasks were carefully divided: my girlfriend, who had already been there during Christmas, prepared a list of locations to visit, and I supplemented it with natural parks and birds.&#xA;&#xA;As usual, we used oiseaux.net to research the regional birds, and after a few hours, we chose the one we wanted to photograph: the Eurasian golden oriole. With its vibrant colors and shy nature, photographing it felt like a challenging goal, especially given that it was still a bit early for all specimens to have migrated from Africa. We even trained to recognize its singing to improve our chances of finding one!&#xA;&#xA;Coincidentally, the day before departing, we met a painter at Run For Planet Bordeaux from whom we bought a magnificent golden oriole wood painting. Hopefully this would give us good luck for finding a living one!&#xA;&#xA;Chapter II: The voyage&#xA;&#xA;And so, armed with my Canon 5D Mark II, my Sigma 150-600mm and two smaller objectives, we finally departed from Bordeaux.&#xA;&#xA;In the first days, we sightsaw the smaller cities of the region: Ribeauvillé, Kaysersberg, Riquewihr, and some others. Riquewihr was definitely our favorite. There, we found two particularly interesting things to write about.&#xA;&#xA;First, we visited a huge, perhaps the largest of the region, Christmas-themed shop that happens to be open all-year long. The cozy ambiance and the large variety of products, colors, and styles would make even the most avid haters of Christmas love it.&#xA;&#xA;Second, the city had many birds flying around, supposedly due to the historic half-timbered houses and the plants crawling those.&#xA;&#xA;On the houses and hiding in plants, you could see birds commonly found in urban places: sparrows and blackbirds. You may have to zoom in to see some of those in the photos!&#xA;&#xA;First sparrow hiding in vegetation in Riquewihr&#xA;div style=&#34;color: gray; font-size: 0.8em; text-align: center; margin-top: -20px; margin-bottom: -20px;&#34;&#xA;First sparrow hiding in vegetation in Riquewihrbr/Canon 5D Mark II, Vivitar 19-35mm, 35mm, f/4.5, 1/40 sec, uneditedbr/© 2026 Luis Marques. All rights reserved.&#xA;/div&#xA;&#xA;Second sparrow hiding in vegetation in Riquewihr&#xA;div style=&#34;color: gray; font-size: 0.8em; text-align: center; margin-top: -20px; margin-bottom: -20px;&#34;&#xA;Second sparrow hiding in vegetation in Riquewihrbr/Canon 5D Mark II, Sigma 150-600mm, 150mm, f/5.0, 1/200 sec, uneditedbr/© 2026 Luis Marques. All rights reserved.&#xA;/div&#xA;&#xA;Blackbird on top of a house in Riquewihr&#xA;div style=&#34;color: gray; font-size: 0.8em; text-align: center; margin-top: -20px; margin-bottom: -20px;&#34;&#xA;Blackbird on top of a house in Riquewihrbr/Canon 5D Mark II, Sigma 150-600mm, 516mm, f/6.3, 1/3200 sec, uneditedbr/© 2026 Luis Marques. All rights reserved.&#xA;/div&#xA;&#xA;Flying in the sky, you could see dozens of swallows going to and fro their nests at high speed. At the moment, I did not have my telephoto lens, and we chose to comeback later. However, when we came back two days later, the nests had been removed from their lodgings, and although we could still see the birds flying, they were too far and too rapid.&#xA;&#xA;Not too far away, you can find the Mont Sainte-Odile and the Hohenburg Abbey on top of it. Together, they create a magically relaxing ambiance where one could spend hours looking at the surrounding forests or reading a book, or, maybe better, my blog!&#xA;&#xA;The place has large surrounding forests, and thus, many birds jumping from one branch to another, the most popular specimen found there being the Eurasian Chaffinch.&#xA;&#xA;Eurasian Chaffinch singing on a tree branch&#xA;div style=&#34;color: gray; font-size: 0.8em; text-align: center; margin-top: -20px; margin-bottom: -20px;&#34;&#xA;Eurasian Chaffinch singing on a tree branchbr/Canon 5D Mark II, Sigma 150-600mm, 600mm, f/6.3, 1/2000 sec, uneditedbr/© 2026 Luis Marques. All rights reserved.&#xA;/div&#xA;&#xA;Finally, the penultimate day was the most interesting for birding. We went to the Delta de la Sauer nature reserve (the French Wikipedia page details better the hosted species). Before detailing the experience, let me warn you to prepare yourself if you go in the morning, as April&#39;s temperatures can be quite low in the region.&#xA;&#xA;The reserve hosts many species of birds, and although we could hear singing and chirping, it was often difficult to see the birds. Sometimes they were too far, sometimes they were too high, but I did photograph some on a few occasions: an European Goldfinch, a Great Spotted Woodpecker, and a Eurasian blue tit.&#xA;&#xA;The goldfinch and the woodpecker were minding their own life and didn&#39;t seem bothered by my presence, maybe because I was at a distance of around 17 metres. The blue tit, on the other hand, was very curious and tried to approach me cautiously. The photograph shown below was taken at 23 metres of distance.&#xA;&#xA;European Goldfinch on a tree branch&#xA;div style=&#34;color: gray; font-size: 0.8em; text-align: center; margin-top: -20px; margin-bottom: -20px;&#34;&#xA;European Goldfinch on a tree branchbr/Canon 5D Mark II, Sigma 150-600mm, 600mm, f/7.1, 1/2000 sec, uneditedbr/© 2026 Luis Marques. All rights reserved.&#xA;/div&#xA;&#xA;Great Spotted Woodpecker standing right side up&#xA;div style=&#34;color: gray; font-size: 0.8em; text-align: center; margin-top: -20px; margin-bottom: -20px;&#34;&#xA;Great Spotted Woodpecker standing right side upbr/Canon 5D Mark II, Sigma 150-600mm, 600mm, f/6.3, 1/2000 sec, uneditedbr/© 2026 Luis Marques. All rights reserved.&#xA;/div&#xA;&#xA;Curious Eurasian blue tit&#xA;div style=&#34;color: gray; font-size: 0.8em; text-align: center; margin-top: -20px; margin-bottom: -20px;&#34;&#xA;Curious Eurasian blue titbr/Canon 5D Mark II, Sigma 150-600, 600mm, f/6.3, 1/3200 sec, uneditedbr/© 2026 Luis Marques. All rights reserved.&#xA;/div&#xA;&#xA;Chapter III: Conclusion and missed bits&#xA;&#xA;In the end, as you can see (or rather, not see), we did not find the golden oriole, but we visited amazing places and shot beautiful photographs.&#xA;&#xA;To be honest, we missed some parts of our travel. For instance, we completely missed the Route des Vins, even though we tried many things: going to the beginning and following signals, ask an LLM for a stop-decomposed route, etc., but ultimately all failed and we only saw roads and deserts. Therefore, our to-do list in Alsace is still far from empty, and we should go there again in the future.&#xA;&#xA;Bonus: Fast forward a week later, my girlfriend was in Toulouse and heard a familiar bird singing, so she fired up BirdNET on her phone. It was the singing of a golden oriole. Perhaps a sign that our next holiday should be spent in Occitania?&#xA;&#xA;div style=&#34;height: 20px;&#34;/div&#xD;&#xA;hr&#xD;&#xA;&#xD;&#xA;p class=&#34;post-signature&#34;Thank you for reading. Reach me for further discussion and updates!/p&#xD;&#xA;&#xD;&#xA;div class=&#34;post-share&#34;&#xD;&#xA;a class=&#34;btn btn--share&#34; title=&#34;Contact me&#34; href=&#34;mailto:luismarques@luismarques.me&#34;Contact me/a&#xD;&#xA;a class=&#34;btn btn--share&#34; href=&#34;https://mastodon.social/@luismarquesme&#34;Mastodon/a&#xD;&#xA;a class=&#34;btn btn--share&#34; href=&#34;../feed.xml&#34;RSS/a&#xD;&#xA;a class=&#34;btn btn--share btn--share-disabled&#34; href=&#34;#&#34; onclick=&#34;navigator.clipboard.writeText(window.location.href); this.textContent=&#39;Copied!&#39;; return false;&#34;Copy link/a&#xD;&#xA;/div]]&gt;</description>
      <content:encoded><![CDATA[<blockquote><p>This post has been brought by the “How&#39;s this for a holidays trip?” department.</p></blockquote>

<p>End of April, my girlfriend and I went on holiday to the Alsace region in the North-East of France for a few days. Overall, we found it to be a magnificent region, even without the typical Christmas magic and its associated markets.</p>



<h2 id="chapter-i-the-preparation">Chapter I: The preparation</h2>

<p>The preparation tasks were carefully divided: my girlfriend, who had already been there during Christmas, prepared a list of locations to visit, and I supplemented it with natural parks and birds.</p>

<p>As usual, we used <a href="https://oiseaux.net">oiseaux.net</a> to research the regional birds, and after a few hours, we chose the one we wanted to photograph: the <a href="https://en.wikipedia.org/wiki/Eurasian_golden_oriole">Eurasian golden oriole</a>. With its vibrant colors and shy nature, photographing it felt like a challenging goal, especially given that it was still a bit early for all specimens to have migrated from Africa. We even trained to recognize its singing to improve our chances of finding one!</p>

<p>Coincidentally, the day before departing, we met a painter at <a href="https://runforplanet.fr/bordeaux-inscriptions/">Run For Planet Bordeaux</a> from whom we bought a magnificent golden oriole wood painting. Hopefully this would give us good luck for finding a living one!</p>

<h2 id="chapter-ii-the-voyage">Chapter II: The voyage</h2>

<p>And so, armed with my Canon 5D Mark II, my Sigma 150-600mm and two smaller objectives, we finally departed from Bordeaux.</p>

<p>In the first days, we sightsaw the smaller cities of the region: Ribeauvillé, Kaysersberg, Riquewihr, and some others. Riquewihr was definitely our favorite. There, we found two particularly interesting things to write about.</p>

<p>First, we visited a huge, perhaps the largest of the region, Christmas-themed shop that happens to be open all-year long. The cozy ambiance and the large variety of products, colors, and styles would make even the most avid haters of Christmas love it.</p>

<p>Second, the city had many birds flying around, supposedly due to the historic half-timbered houses and the plants crawling those.</p>

<p>On the houses and hiding in plants, you could see birds commonly found in urban places: sparrows and blackbirds. You may have to zoom in to see some of those in the photos!</p>

<p><img src="https://photography.luismarques.me/uploads/medium/b9/99/f843635459a6fcac4fc09d067a04.jpg" alt="First sparrow hiding in vegetation in Riquewihr">
<div style="color: gray; font-size: 0.8em; text-align: center; margin-top: -20px; margin-bottom: -20px;">
First sparrow hiding in vegetation in Riquewihr<br/>Canon 5D Mark II, Vivitar 19-35mm, 35mm, f/4.5, 1/40 sec, unedited<br/>© 2026 Luis Marques. All rights reserved.
</div></p>

<p><img src="https://photography.luismarques.me/uploads/medium/dc/2c/abbc4d5b5e3f5d28bf27b7890a34.jpg" alt="Second sparrow hiding in vegetation in Riquewihr">
<div style="color: gray; font-size: 0.8em; text-align: center; margin-top: -20px; margin-bottom: -20px;">
Second sparrow hiding in vegetation in Riquewihr<br/>Canon 5D Mark II, Sigma 150-600mm, 150mm, f/5.0, 1/200 sec, unedited<br/>© 2026 Luis Marques. All rights reserved.
</div></p>

<p><img src="https://photography.luismarques.me/uploads/medium/8e/cb/665758ec567aee0cd2fe9b627f22.jpg" alt="Blackbird on top of a house in Riquewihr">
<div style="color: gray; font-size: 0.8em; text-align: center; margin-top: -20px; margin-bottom: -20px;">
Blackbird on top of a house in Riquewihr<br/>Canon 5D Mark II, Sigma 150-600mm, 516mm, f/6.3, 1/3200 sec, unedited<br/>© 2026 Luis Marques. All rights reserved.
</div></p>

<p>Flying in the sky, you could see dozens of swallows going to and fro their nests at high speed. At the moment, I did not have my telephoto lens, and we chose to comeback later. However, when we came back two days later, the nests had been removed from their lodgings, and although we could still see the birds flying, they were too far and too rapid.</p>

<p>Not too far away, you can find the <a href="https://en.wikipedia.org/wiki/Mont_Sainte-Odile">Mont Sainte-Odile</a> and the <a href="https://en.wikipedia.org/wiki/Mont_Sainte-Odile_Abbey">Hohenburg Abbey</a> on top of it. Together, they create a magically relaxing ambiance where one could spend hours looking at the surrounding forests or reading a book, or, maybe better, my blog!</p>

<p>The place has large surrounding forests, and thus, many birds jumping from one branch to another, the most popular specimen found there being the <a href="https://en.wikipedia.org/wiki/Eurasian_chaffinch">Eurasian Chaffinch</a>.</p>

<p><img src="https://photography.luismarques.me/uploads/medium/0b/59/99d502692be124cf020f73ffa62d.jpg" alt="Eurasian Chaffinch singing on a tree branch">
<div style="color: gray; font-size: 0.8em; text-align: center; margin-top: -20px; margin-bottom: -20px;">
Eurasian Chaffinch singing on a tree branch<br/>Canon 5D Mark II, Sigma 150-600mm, 600mm, f/6.3, 1/2000 sec, unedited<br/>© 2026 Luis Marques. All rights reserved.
</div></p>

<p>Finally, the penultimate day was the most interesting for birding. We went to the <a href="https://en.wikipedia.org/wiki/Delta_de_la_Sauer_National_Nature_Reserve">Delta de la Sauer</a> nature reserve (the French Wikipedia page details better the hosted species). Before detailing the experience, let me warn you to prepare yourself if you go in the morning, as April&#39;s temperatures can be quite low in the region.</p>

<p>The reserve hosts many species of birds, and although we could hear singing and chirping, it was often difficult to see the birds. Sometimes they were too far, sometimes they were too high, but I did photograph some on a few occasions: an <a href="https://en.wikipedia.org/wiki/European_goldfinch">European Goldfinch</a>, a <a href="https://en.wikipedia.org/wiki/great_spotted_woodpecker">Great Spotted Woodpecker</a>, and a <a href="https://en.wikipedia.org/wiki/Eurasian_blue_tit">Eurasian blue tit</a>.</p>

<p>The goldfinch and the woodpecker were minding their own life and didn&#39;t seem bothered by my presence, maybe because I was at a distance of around 17 metres. The blue tit, on the other hand, was very curious and tried to approach me cautiously. The photograph shown below was taken at 23 metres of distance.</p>

<p><img src="https://photography.luismarques.me/uploads/medium/ec/4c/8e690b1d3129f453587750e0a63a.jpg" alt="European Goldfinch on a tree branch">
<div style="color: gray; font-size: 0.8em; text-align: center; margin-top: -20px; margin-bottom: -20px;">
European Goldfinch on a tree branch<br/>Canon 5D Mark II, Sigma 150-600mm, 600mm, f/7.1, 1/2000 sec, unedited<br/>© 2026 Luis Marques. All rights reserved.
</div></p>

<p><img src="https://photography.luismarques.me/uploads/medium/6a/73/c77be7557072ae1ad137dfe8efdd.jpg" alt="Great Spotted Woodpecker standing right side up">
<div style="color: gray; font-size: 0.8em; text-align: center; margin-top: -20px; margin-bottom: -20px;">
Great Spotted Woodpecker standing right side up<br/>Canon 5D Mark II, Sigma 150-600mm, 600mm, f/6.3, 1/2000 sec, unedited<br/>© 2026 Luis Marques. All rights reserved.
</div></p>

<p><img src="https://photography.luismarques.me/uploads/medium/17/9c/ecfc9b306f2ddefcbc92015075cd.jpg" alt="Curious Eurasian blue tit">
<div style="color: gray; font-size: 0.8em; text-align: center; margin-top: -20px; margin-bottom: -20px;">
Curious Eurasian blue tit<br/>Canon 5D Mark II, Sigma 150-600, 600mm, f/6.3, 1/3200 sec, unedited<br/>© 2026 Luis Marques. All rights reserved.
</div></p>

<h2 id="chapter-iii-conclusion-and-missed-bits">Chapter III: Conclusion and missed bits</h2>

<p>In the end, as you can see (or rather, not see), we did not find the golden oriole, but we visited amazing places and shot beautiful photographs.</p>

<p>To be honest, we missed some parts of our travel. For instance, we completely missed the <em>Route des Vins</em>, even though we tried many things: going to the beginning and following signals, ask an LLM for a stop-decomposed route, etc., but ultimately all failed and we only saw roads and deserts. Therefore, our to-do list in Alsace is still far from empty, and we should go there again in the future.</p>

<p><strong>Bonus:</strong> Fast forward a week later, my girlfriend was in Toulouse and heard a familiar bird singing, so she fired up BirdNET on her phone. It was the singing of a golden oriole. Perhaps a sign that our next holiday should be spent in Occitania?</p>

<div style="height: 20px;"></div>
<hr>

<p class="post-signature">Thank you for reading. Reach me for further discussion and updates!</p>

<div class="post-share">
<a class="btn btn--share" title="Contact me" href="mailto:luismarques@luismarques.me">Contact me</a>
<a class="btn btn--share" href="https://mastodon.social/@luismarquesme">Mastodon</a>
<a class="btn btn--share" href="../feed.xml">RSS</a>
<a class="btn btn--share btn--share-disabled">Copy link</a>
</div>
]]></content:encoded>
      <guid>https://blog.luismarques.me/birding-in-alsace</guid>
      <pubDate>Mon, 25 May 2026 19:23:04 +0000</pubDate>
    </item>
    <item>
      <title>Hello</title>
      <link>https://blog.luismarques.me/this-is-the-first-post-on-my-new-blog</link>
      <description>&lt;![CDATA[This is the first post on my new blog. I plan to write about operational research, mixed integer linear programming, and the occasional reflection on academic life.&#xA;&#xA;Stay tuned for more content!&#xA;&#xA;div style=&#34;height: 20px;&#34;/div&#xD;&#xA;hr&#xD;&#xA;&#xD;&#xA;p class=&#34;post-signature&#34;Thank you for reading. Reach me for further discussion and updates!/p&#xD;&#xA;&#xD;&#xA;div class=&#34;post-share&#34;&#xD;&#xA;a class=&#34;btn btn--share&#34; title=&#34;Contact me&#34; href=&#34;mailto:luismarques@luismarques.me&#34;Contact me/a&#xD;&#xA;a class=&#34;btn btn--share&#34; href=&#34;https://mastodon.social/@luismarquesme&#34;Mastodon/a&#xD;&#xA;a class=&#34;btn btn--share&#34; href=&#34;../feed.xml&#34;RSS/a&#xD;&#xA;a class=&#34;btn btn--share btn--share-disabled&#34; href=&#34;#&#34; onclick=&#34;navigator.clipboard.writeText(window.location.href); this.textContent=&#39;Copied!&#39;; return false;&#34;Copy link/a&#xD;&#xA;/div]]&gt;</description>
      <content:encoded><![CDATA[<p>This is the first post on my new blog. I plan to write about operational research, mixed integer linear programming, and the occasional reflection on academic life.</p>

<p>Stay tuned for more content!</p>

<div style="height: 20px;"></div>
<hr>

<p class="post-signature">Thank you for reading. Reach me for further discussion and updates!</p>

<div class="post-share">
<a class="btn btn--share" title="Contact me" href="mailto:luismarques@luismarques.me">Contact me</a>
<a class="btn btn--share" href="https://mastodon.social/@luismarquesme">Mastodon</a>
<a class="btn btn--share" href="../feed.xml">RSS</a>
<a class="btn btn--share btn--share-disabled">Copy link</a>
</div>
]]></content:encoded>
      <guid>https://blog.luismarques.me/this-is-the-first-post-on-my-new-blog</guid>
      <pubDate>Mon, 25 May 2026 19:14:50 +0000</pubDate>
    </item>
  </channel>
</rss>