<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="https://www.yellowduck.be/pretty-atom-feed-v3.xsl" type="text/xsl"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <link rel="alternate" href="https://www.yellowduck.be"/>
  <link rel="self" href="https://www.yellowduck.be/posts/feed"/>
  <author>
    <name>Pieter Claerhout</name>
    <email>pieter@yellowduck.be</email>
  </author>
  <id>https://www.yellowduck.be/posts/feed</id>
  <title>🐥 YellowDuck.be</title>
  <updated>2026-04-25T13:00:00Z</updated>
  <entry>
    <author>
      <name>Pieter Claerhout</name>
      <email>pieter@yellowduck.be</email>
    </author>
    <link rel="alternate" href="https://www.yellowduck.be/posts/comparison-of-ai-models-across-intelligence-performance-and-price"/>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;This post presents a comprehensive comparison of 429 AI models across intelligence, performance, and pricing metrics. Gemini 3.1 Pro Preview and GPT-5.4 (xhigh) lead in intelligence, while Mercury 2 and Granite 3.3 8B offer the fastest output speeds at 794 and 435 tokens per second respectively.&lt;/p&gt;
&lt;p&gt;The analysis reveals significant price-quality variance across models, with Gemma 3n E4B and LFM2 24B A2B offering the lowest costs at $0.03 and $0.05 per million tokens. Latency performance is dominated by Gemini 2.5 Flash-Lite variants, while Llama 4 Scout provides the largest context window at 10 million tokens.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://artificialanalysis.ai/models&quot;&gt;Continue reading on &lt;strong&gt;artificialanalysis.ai&lt;/strong&gt;&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;https://www.yellowduck.be/tags/reading-list&quot;&gt;#reading-list&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/tools&quot;&gt;#tools&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/ai&quot;&gt;#ai&lt;/a&gt;&lt;/p&gt;</content>
    <published>2026-04-25T13:00:00Z</published>
    <id>https://www.yellowduck.be/posts/comparison-of-ai-models-across-intelligence-performance-and-price</id>
    <title>🔗 Comparison of AI models across intelligence, performance, and price</title>
    <updated>2026-04-25T13:00:00Z</updated>
  </entry>
  <entry>
    <author>
      <name>Pieter Claerhout</name>
      <email>pieter@yellowduck.be</email>
    </author>
    <link rel="alternate" href="https://www.yellowduck.be/posts/chenglou-pretext-fast-accurate-comprehensive-text-measurement-layout"/>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;I discovered &lt;code&gt;Pretext&lt;/code&gt;, a pure JavaScript/TypeScript library for multiline text measurement and layout. It eliminates the bottleneck of DOM measurements that can cause expensive layout reflows by implementing its own text measurement logic using the browser&apos;s font engine. I can quickly measure a paragraph&apos;s height without interacting with the DOM by using &lt;code&gt;prepare()&lt;/code&gt; and &lt;code&gt;layout()&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;The library is versatile, allowing rendering to DOM, Canvas, or SVG, and it supports complex use cases such as dynamic layouts and rich-text inline flows. Developers can efficiently control line layouts and manage text statistics, which reduces development time and prevents layout shifts. This library opens up new possibilities for crafting sophisticated UI layouts without the usual CSS constraints.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/chenglou/pretext&quot;&gt;Continue reading on &lt;strong&gt;github.com&lt;/strong&gt;&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;https://www.yellowduck.be/tags/reading-list&quot;&gt;#reading-list&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/javascript&quot;&gt;#javascript&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/typescript&quot;&gt;#typescript&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/frontend&quot;&gt;#frontend&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/tools&quot;&gt;#tools&lt;/a&gt;&lt;/p&gt;</content>
    <published>2026-04-25T08:00:00Z</published>
    <id>https://www.yellowduck.be/posts/chenglou-pretext-fast-accurate-comprehensive-text-measurement-layout</id>
    <title>🔗 chenglou/pretext: Fast, accurate &amp; comprehensive text measurement &amp; layout</title>
    <updated>2026-04-25T08:00:00Z</updated>
  </entry>
  <entry>
    <author>
      <name>Pieter Claerhout</name>
      <email>pieter@yellowduck.be</email>
    </author>
    <link rel="alternate" href="https://www.yellowduck.be/posts/learning-elixir-error-handling-basics"/>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;I learned how Elixir’s error handling resembles a reliable postal service: every package returns either &lt;code&gt;&amp;lbrace;:ok, value&amp;rbrace;&lt;/code&gt; for success or &lt;code&gt;&amp;lbrace;:error, reason&amp;rbrace;&lt;/code&gt; for failure. Unlike many languages that predominantly rely on exceptions, Elixir treats errors as first-class values that streamline control flow. This makes the code more explicit and logical, especially for newcomers. In practice, functions consistently return tuples that describe success or failure. For example, using pattern matching, you can easily differentiate between successful results and errors, enhancing readability. The same conventions are followed throughout Elixir’s standard library, reinforcing consistency. I&apos;ve found that using &lt;code&gt;with&lt;/code&gt; to chain operations while maintaining clarity is particularly effective when managing multiple function calls that might fail. Overall, integrating these patterns promotes building robust and maintainable applications in Elixir.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://dev.to/abreujp/learning-elixir-error-handling-basics-59ci&quot;&gt;Continue reading on &lt;strong&gt;dev.to&lt;/strong&gt;&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;https://www.yellowduck.be/tags/reading-list&quot;&gt;#reading-list&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/pattern&quot;&gt;#pattern&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/best-practice&quot;&gt;#best-practice&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/elixir&quot;&gt;#elixir&lt;/a&gt;&lt;/p&gt;</content>
    <published>2026-04-24T13:00:00Z</published>
    <id>https://www.yellowduck.be/posts/learning-elixir-error-handling-basics</id>
    <title>🔗 Learning Elixir: error handling basics</title>
    <updated>2026-04-24T13:00:00Z</updated>
  </entry>
  <entry>
    <author>
      <name>Pieter Claerhout</name>
      <email>pieter@yellowduck.be</email>
    </author>
    <link rel="alternate" href="https://www.yellowduck.be/posts/rob-pikes-5-rules-of-programming"/>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;Rob Pike&apos;s five rules of programming provide foundational advice for developers of all levels. The first rule emphasizes not to preemptively optimize without evidence of bottlenecks. Rule two reinforces the importance of measurement before tuning for speed, making it clear that one must understand performance before making changes. The third and fourth rules caution against the overuse of complex algorithms, especially when datasets are small, promoting the wisdom of simplicity. Finally, rule five highlights the importance of data structures over algorithms, encapsulating the idea that well-organized data leads to more straightforward coding solutions. Pike&apos;s ideas echo the sentiments of legends like Tony Hoare and Fred Brooks, reinforcing a timeless programming philosophy: prioritize clarity and relevance over complexity.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://www.cs.unc.edu/~stotts/COMP590-059-f24/robsrules.html&quot;&gt;Continue reading on &lt;strong&gt;www.cs.unc.edu&lt;/strong&gt;&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;https://www.yellowduck.be/tags/reading-list&quot;&gt;#reading-list&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/development&quot;&gt;#development&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/best-practice&quot;&gt;#best-practice&lt;/a&gt;&lt;/p&gt;</content>
    <published>2026-04-24T08:00:00Z</published>
    <id>https://www.yellowduck.be/posts/rob-pikes-5-rules-of-programming</id>
    <title>🔗 Rob Pike&apos;s 5 Rules of Programming</title>
    <updated>2026-04-24T08:00:00Z</updated>
  </entry>
  <entry>
    <author>
      <name>Pieter Claerhout</name>
      <email>pieter@yellowduck.be</email>
    </author>
    <link rel="alternate" href="https://www.yellowduck.be/posts/samly-saml-single-sign-on-for-elixir-phoenix"/>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;The &lt;code&gt;samly&lt;/code&gt; library provides SAML Single-Sign-On authentication specifically for Plug/Phoenix applications. With version 1.4.0, it showcases solid download statistics, hitting over 1.8 million total downloads and 675,030 for the most recent update. This tool leverages popular build tools like &lt;code&gt;mix&lt;/code&gt; and stands under the MIT license, ensuring its maintenance and open-source flexibility. It offers a straightforward implementation for developers looking to integrate SAML authentication without overcomplication. The latest version was released on January 29, 2024, highlighting ongoing support and updates. So if you&apos;re seeking to improve your app&apos;s authentication flow securely, &lt;code&gt;samly&lt;/code&gt; might be the solution you need.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://hex.pm/packages/samly&quot;&gt;Continue reading on &lt;strong&gt;hex.pm&lt;/strong&gt;&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;https://www.yellowduck.be/tags/reading-list&quot;&gt;#reading-list&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/elixir&quot;&gt;#elixir&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/phoenix&quot;&gt;#phoenix&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/auth&quot;&gt;#auth&lt;/a&gt;&lt;/p&gt;</content>
    <published>2026-04-23T17:00:00Z</published>
    <id>https://www.yellowduck.be/posts/samly-saml-single-sign-on-for-elixir-phoenix</id>
    <title>🔗 Samly SAML Single-Sign-On for Elixir Phoenix</title>
    <updated>2026-04-23T17:00:00Z</updated>
  </entry>
  <entry>
    <author>
      <name>Pieter Claerhout</name>
      <email>pieter@yellowduck.be</email>
    </author>
    <link rel="alternate" href="https://www.yellowduck.be/posts/encoding-team-standards"/>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;AI coding assistants are only as effective as the prompts they receive. I found that many developers, especially juniors, struggle to articulate team standards, leading to inconsistent outputs. This inconsistency is not simply a skills gap; it’s a systematic problem. More experienced developers instinctively apply best practices when interacting with AI, but junior developers often don’t know what to ask for, resulting in variances in code quality.&lt;/p&gt;
&lt;p&gt;To solve this, I propose turning team standards into versioned, executable instructions, shared as artifacts that AI can consistently apply. By encoding our tacit knowledge into structured prompts, we ensure that standards are executed as part of the development workflow, rather than simply memorized. This way, the team’s judgment is applied equally, regardless of who is working on a task. The insights gained from formalizing these instructions also highlight discrepancies among team members about critical security and architectural concerns, leading to more aligned and effective practices throughout the team.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://martinfowler.com/articles/reduce-friction-ai/encoding-team-standards.html&quot;&gt;Continue reading on &lt;strong&gt;martinfowler.com&lt;/strong&gt;&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;https://www.yellowduck.be/tags/reading-list&quot;&gt;#reading-list&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/development&quot;&gt;#development&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/best-practice&quot;&gt;#best-practice&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/ai&quot;&gt;#ai&lt;/a&gt;&lt;/p&gt;</content>
    <published>2026-04-23T13:00:00Z</published>
    <id>https://www.yellowduck.be/posts/encoding-team-standards</id>
    <title>🔗 Encoding Team Standards</title>
    <updated>2026-04-23T13:00:00Z</updated>
  </entry>
  <entry>
    <author>
      <name>Pieter Claerhout</name>
      <email>pieter@yellowduck.be</email>
    </author>
    <link rel="alternate" href="https://www.yellowduck.be/posts/different-flavors-of-content-management"/>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;Most people underestimate the variety of content management systems (CMS), which are generally classified as either monolithic or headless. A monolithic CMS, like WordPress or Drupal, manages both data and presentation, making it simpler for users. In contrast, headless CMS like Strapi only handles data management and offers an API, allowing for more flexibility in technology choices but requiring additional setup.&lt;/p&gt;
&lt;p&gt;Another classification is by hosting type: self-hosted options, like Statamic, offer complete control over data but demand more effort for maintenance and security. Conversely, SaaS solutions, such as Webflow, alleviate operational burdens but come with risks like feature limitations and potential service sunsets. Understanding these distinctions is crucial in selecting the right CMS for specific needs, whether as a simple site builder or a complex application framework.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://maciekpalmowski.dev/blog/different-flavors-of-content-management/&quot;&gt;Continue reading on &lt;strong&gt;maciekpalmowski.dev&lt;/strong&gt;&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;https://www.yellowduck.be/tags/reading-list&quot;&gt;#reading-list&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/development&quot;&gt;#development&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/tools&quot;&gt;#tools&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/best-practice&quot;&gt;#best-practice&lt;/a&gt;&lt;/p&gt;</content>
    <published>2026-04-23T08:00:00Z</published>
    <id>https://www.yellowduck.be/posts/different-flavors-of-content-management</id>
    <title>🔗 Different flavors of content management</title>
    <updated>2026-04-23T08:00:00Z</updated>
  </entry>
  <entry>
    <author>
      <name>Pieter Claerhout</name>
      <email>pieter@yellowduck.be</email>
    </author>
    <link rel="alternate" href="https://www.yellowduck.be/posts/ai-is-writing-our-code-faster-than-we-can-verify-it"/>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;Most experienced developers don’t trust AI-generated code, and for good reason. While AI can produce code faster than ever, reliability remains a significant concern. I found this reinforced by a statistic showing that trust in AI coding tools plummeted to just 33% from over 70% in two years. The surprising truth is this steep decline isn’t as straightforward as claimed; two different surveys muddled the context to create a concerning narrative. The actual situation reflects a common experience—AI often generates code faster than we can properly verify it. I observed this gap leading many senior engineers to avoid using AI for crucial tasks, instead relying on it for less critical processes like unit tests. The solution isn’t just adopting better testing tools, but also reintroducing quality engineering practices that can harness AI’s strengths while ensuring code integrity.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://www.oreilly.com/radar/ai-is-writing-our-code-faster-than-we-can-verify-it/&quot;&gt;Continue reading on &lt;strong&gt;www.oreilly.com&lt;/strong&gt;&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;https://www.yellowduck.be/tags/reading-list&quot;&gt;#reading-list&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/development&quot;&gt;#development&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/best-practice&quot;&gt;#best-practice&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/ai&quot;&gt;#ai&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/testing&quot;&gt;#testing&lt;/a&gt;&lt;/p&gt;</content>
    <published>2026-04-22T17:00:00Z</published>
    <id>https://www.yellowduck.be/posts/ai-is-writing-our-code-faster-than-we-can-verify-it</id>
    <title>🔗 AI is writing our code faster than we can verify it</title>
    <updated>2026-04-22T17:00:00Z</updated>
  </entry>
  <entry>
    <author>
      <name>Pieter Claerhout</name>
      <email>pieter@yellowduck.be</email>
    </author>
    <link rel="alternate" href="https://www.yellowduck.be/posts/thoughts-and-feelings-around-claude-design"/>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;I tried &lt;code&gt;Claude Design&lt;/code&gt; and it exposed some uncomfortable truths about Figma. As design teams push for systematization, Figma created complex primitives that blend programming concepts with design. This has led to headaches in back-porting design changes to code — it&apos;s both inefficient and unnecessarily complicated. The underlying issue is that Figma&apos;s rigid system isn&apos;t staying relevant in the age of LLMs, which are trained on code, not design files.&lt;/p&gt;
&lt;p&gt;I&apos;m intrigued by &lt;code&gt;Claude Design&lt;/code&gt; because it embraces HTML and JavaScript directly. This honesty about its code foundation allows for a faster feedback loop between design and implementation, unlike Figma Make, which still clings to its proprietary structures. The tension is palpable; as &lt;code&gt;Claude&lt;/code&gt; navigates this shift, I wonder which other tools will emerge to redefine the design landscape. It&apos;s a pivotal moment that signals a shift away from Figma&apos;s dominance.&lt;/p&gt;
&lt;p&gt;Maybe we&apos;re looking at a new era of design tooling that truly delivers on speed and flexibility instead of complexity and confusion.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://samhenri.gold/blog/20260418-claude-design/&quot;&gt;Continue reading on &lt;strong&gt;samhenri.gold&lt;/strong&gt;&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;https://www.yellowduck.be/tags/reading-list&quot;&gt;#reading-list&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/frontend&quot;&gt;#frontend&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/tools&quot;&gt;#tools&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/ai&quot;&gt;#ai&lt;/a&gt;&lt;/p&gt;</content>
    <published>2026-04-22T13:00:00Z</published>
    <id>https://www.yellowduck.be/posts/thoughts-and-feelings-around-claude-design</id>
    <title>🔗 Thoughts and Feelings around Claude Design</title>
    <updated>2026-04-22T13:00:00Z</updated>
  </entry>
  <entry>
    <author>
      <name>Pieter Claerhout</name>
      <email>pieter@yellowduck.be</email>
    </author>
    <link rel="alternate" href="https://www.yellowduck.be/posts/hosting-pr-previews-on-github-pages-for-free"/>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;GitHub Pages offers a free way to host static websites, usually at a single URL per repository. However, it presents challenges when trying to preview pull requests (PRs). Instead of relying on third-party services for PR previews, I discovered a workaround by hosting them within the main GitHub Pages site under subdirectories named after the PR numbers.&lt;/p&gt;
&lt;p&gt;When a PR is opened, a GitHub Actions workflow automates the deployment of the site to a URL like &lt;code&gt;https://&lt;username&gt;.github.io/&lt;repository&gt;/previews/pr-123/&lt;/code&gt;. This method allows for quick previews, albeit with caveats such as managing relative asset paths and updating the &lt;code&gt;robots.txt&lt;/code&gt; file to prevent indexing. I implemented two workflows: one for deploying PR previews upon opening or updating a PR and another for deploying the main site when changes are merged. This approach streamlines my process without relying on external services.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://blog.danskingdom.com/Hosting-PR-previews-on-GitHub-Pages-for-free/&quot;&gt;Continue reading on &lt;strong&gt;blog.danskingdom.com&lt;/strong&gt;&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;https://www.yellowduck.be/tags/reading-list&quot;&gt;#reading-list&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/tools&quot;&gt;#tools&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/devops&quot;&gt;#devops&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/github&quot;&gt;#github&lt;/a&gt;&lt;/p&gt;</content>
    <published>2026-04-22T08:00:00Z</published>
    <id>https://www.yellowduck.be/posts/hosting-pr-previews-on-github-pages-for-free</id>
    <title>🔗 Hosting PR previews on GitHub Pages for free</title>
    <updated>2026-04-22T08:00:00Z</updated>
  </entry>
  <entry>
    <author>
      <name>Pieter Claerhout</name>
      <email>pieter@yellowduck.be</email>
    </author>
    <link rel="alternate" href="https://www.yellowduck.be/posts/thinking-elixir-podcast-300-celebrating-300-with-jose-valim"/>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;Episode 300! News includes the Localize library v0.15.0, a new program dependence graph tool called Reach, Tidewave voice input and PWA support, ERLEF 2026 elections, plus a special in-depth interview with José Valim!&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://podcast.thinkingelixir.com/300&quot;&gt;Continue reading on &lt;strong&gt;podcast.thinkingelixir.com&lt;/strong&gt;&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;https://www.yellowduck.be/tags/reading-list&quot;&gt;#reading-list&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/elixir&quot;&gt;#elixir&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/phoenix&quot;&gt;#phoenix&lt;/a&gt;&lt;/p&gt;</content>
    <published>2026-04-21T17:00:00Z</published>
    <id>https://www.yellowduck.be/posts/thinking-elixir-podcast-300-celebrating-300-with-jose-valim</id>
    <title>🔗 Thinking Elixir Podcast 300: Celebrating 300 with José Valim</title>
    <updated>2026-04-21T17:00:00Z</updated>
  </entry>
  <entry>
    <author>
      <name>Pieter Claerhout</name>
      <email>pieter@yellowduck.be</email>
    </author>
    <link rel="alternate" href="https://www.yellowduck.be/posts/how-im-productive-with-claude-code"/>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;The author&apos;s productivity with Claude Code has dramatically increased through systematic automation and infrastructure improvements. By delegating grunt work like PR creation to agents and removing friction points in the development workflow, the author shifted from being an implementer to managing a team of AI agents.&lt;/p&gt;
&lt;p&gt;Key optimizations included automating PR formatting with a &lt;code&gt;/git-pr&lt;/code&gt; skill, switching to SWC for sub-second server rebuilds, enabling Claude Code&apos;s preview feature for UI verification, and building a port-management system for parallel worktrees. Each friction removal revealed the next bottleneck, following the theory of constraints and creating a tight feedback loop that keeps focus unbroken.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://neilkakkar.com/productive-with-claude-code.html&quot;&gt;Continue reading on &lt;strong&gt;neilkakkar.com&lt;/strong&gt;&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;https://www.yellowduck.be/tags/reading-list&quot;&gt;#reading-list&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/development&quot;&gt;#development&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/tools&quot;&gt;#tools&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/best-practice&quot;&gt;#best-practice&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/ai&quot;&gt;#ai&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/git&quot;&gt;#git&lt;/a&gt;&lt;/p&gt;</content>
    <published>2026-04-21T13:00:00Z</published>
    <id>https://www.yellowduck.be/posts/how-im-productive-with-claude-code</id>
    <title>🔗 How I&apos;m Productive with Claude Code</title>
    <updated>2026-04-21T13:00:00Z</updated>
  </entry>
  <entry>
    <author>
      <name>Pieter Claerhout</name>
      <email>pieter@yellowduck.be</email>
    </author>
    <link rel="alternate" href="https://www.yellowduck.be/posts/mrpopov-python-react-to-elixir-phoenix-migration-breakdown"/>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;The migration from a Python/React/Zeebee microservices architecture to a Phoenix monolith achieved a 63% reduction in code and eliminated nine entire technology layers. By simplifying the stack, this post highlights significant improvements in compliance-related processes, as the reduced number of services and dependencies lessens the complexity for audits.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://mrpopov.com/posts/python-react-to-elixir-phoenix-migration-breakdown/&quot;&gt;Continue reading on &lt;strong&gt;mrpopov.com&lt;/strong&gt;&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;https://www.yellowduck.be/tags/reading-list&quot;&gt;#reading-list&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/javascript&quot;&gt;#javascript&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/development&quot;&gt;#development&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/python&quot;&gt;#python&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/elixir&quot;&gt;#elixir&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/phoenix&quot;&gt;#phoenix&lt;/a&gt;&lt;/p&gt;</content>
    <published>2026-04-21T08:00:00Z</published>
    <id>https://www.yellowduck.be/posts/mrpopov-python-react-to-elixir-phoenix-migration-breakdown</id>
    <title>🔗 MrPopov :: Python React to Elixir Phoenix Migration Breakdown</title>
    <updated>2026-04-21T08:00:00Z</updated>
  </entry>
  <entry>
    <author>
      <name>Pieter Claerhout</name>
      <email>pieter@yellowduck.be</email>
    </author>
    <link rel="alternate" href="https://www.yellowduck.be/posts/the-8-levels-of-agentic-engineering"/>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;AI&apos;s coding ability is outpacing our ability to wield it effectively. That&apos;s why all the SWE-bench score maxxing isn&apos;t syncing with the productivity metrics engineering leadership actually cares about. When Anthropic&apos;s team ships a product like Cowork in 10 days and another team can&apos;t move past a broken POC using the same models, the difference is that one team has closed the gap between capability and practice and the other hasn&apos;t.&lt;/p&gt;
&lt;p&gt;That gap doesn&apos;t close overnight. It closes in levels. 8 of them. Most of you reading this are likely past the first few, and you should be eager to reach the next one because each subsequent level is a huge leap in output, and every improvement in model capability amplifies those gains further.&lt;/p&gt;
&lt;p&gt;The other reason you should care is the multiplayer effect. Your output depends more than you&apos;d think on the level of your teammates. Say you&apos;re a level 7 wizard, raising several solid PRs with your background agents while you sleep. If your repo requires a colleague&apos;s approval before merge, and that colleague is on level 2, still manually reviewing PRs, that stifles your throughput. So it is in your best interest to pull your team up.&lt;/p&gt;
&lt;p&gt;From talking to several teams and individuals practicing AI-assisted coding, here&apos;s the progression of levels I&apos;ve seen play out, imperfectly sequential.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://www.bassimeledath.com/blog/levels-of-agentic-engineering&quot;&gt;Continue reading on &lt;strong&gt;www.bassimeledath.com&lt;/strong&gt;&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;https://www.yellowduck.be/tags/reading-list&quot;&gt;#reading-list&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/ai&quot;&gt;#ai&lt;/a&gt;&lt;/p&gt;</content>
    <published>2026-04-20T17:00:00Z</published>
    <id>https://www.yellowduck.be/posts/the-8-levels-of-agentic-engineering</id>
    <title>🔗 The 8 levels of agentic engineering</title>
    <updated>2026-04-20T17:00:00Z</updated>
  </entry>
  <entry>
    <author>
      <name>Pieter Claerhout</name>
      <email>pieter@yellowduck.be</email>
    </author>
    <link rel="alternate" href="https://www.yellowduck.be/posts/software-engineer-interviews-for-the-age-of-ai"/>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;Great engineers are essential because knowledge expands fractally, and production systems require accountability beyond plausible code. People pay for reliable services, not homework assignments, so engineers must own the systems they build with their phone number on the line.&lt;/p&gt;
&lt;p&gt;Interview design should assess fractal knowledge through follow-up questions on past projects, revealing what candidates truly understand versus what they merely read about. System design interviews expose hands-on experience versus theoretical knowledge, while coding interviews with real tools, documentation, and AI access test whether candidates can ship working solutions that handle operational concerns and scale.&lt;/p&gt;
&lt;p&gt;Leetcode problems are too clean and chewed up to reflect real work, which requires understanding business domains and talking to people. The ideal coding interview provides a stubbed codebase, clear business problem, API documentation, and permission to use AI, Google, and pair with the interviewer to build a working script that reads and writes to databases and third-party APIs.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://swizec.com/blog/software-engineer-interviews-for-the-age-of-ai/&quot;&gt;Continue reading on &lt;strong&gt;swizec.com&lt;/strong&gt;&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;https://www.yellowduck.be/tags/reading-list&quot;&gt;#reading-list&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/development&quot;&gt;#development&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/best-practice&quot;&gt;#best-practice&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/ai&quot;&gt;#ai&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/testing&quot;&gt;#testing&lt;/a&gt;&lt;/p&gt;</content>
    <published>2026-04-20T13:00:00Z</published>
    <id>https://www.yellowduck.be/posts/software-engineer-interviews-for-the-age-of-ai</id>
    <title>🔗 Software engineer interviews for the age of AI</title>
    <updated>2026-04-20T13:00:00Z</updated>
  </entry>
  <entry>
    <author>
      <name>Pieter Claerhout</name>
      <email>pieter@yellowduck.be</email>
    </author>
    <link rel="alternate" href="https://www.yellowduck.be/posts/ashevents-event-sourcing-made-simple-for-ash-framework"/>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/ash-project/ash_events&quot;&gt;AshEvents&lt;/a&gt; is an extension for the Ash Framework that brings first-class event sourcing capabilities to your applications. It simplifies the process of tracking and replaying events, making it easier to manage historical data and debug complex systems.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://alembic.com.au/blog/ash-events-event-sourcing-made-simple-for-ash-framework&quot;&gt;Continue reading on &lt;strong&gt;alembic.com.au&lt;/strong&gt;&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;https://www.yellowduck.be/tags/reading-list&quot;&gt;#reading-list&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/elixir&quot;&gt;#elixir&lt;/a&gt;&lt;/p&gt;</content>
    <published>2026-04-20T08:00:00Z</published>
    <id>https://www.yellowduck.be/posts/ashevents-event-sourcing-made-simple-for-ash-framework</id>
    <title>🔗 AshEvents: Event sourcing made simple for Ash framework</title>
    <updated>2026-04-20T08:00:00Z</updated>
  </entry>
  <entry>
    <author>
      <name>Pieter Claerhout</name>
      <email>pieter@yellowduck.be</email>
    </author>
    <link rel="alternate" href="https://www.yellowduck.be/posts/what-is-claude-codes-askuserquestion-tool"/>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;The AskUserQuestion tool in Claude Code enhances the development process by allowing AI to ask clarifying questions during coding sessions. This method eliminates assumptions, leading to code that better matches user intent from the start.&lt;/p&gt;
&lt;p&gt;Using a structured process of interviewing to build specifications and then executing them ensures clarity and precision. This integration with Linear not only facilitates asynchronous team collaboration but also preserves context and improves visibility into decision-making throughout the development lifecycle.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://www.atcyrus.com/stories/claude-code-ask-user-question-tool-guide&quot;&gt;Continue reading on &lt;strong&gt;www.atcyrus.com&lt;/strong&gt;&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;https://www.yellowduck.be/tags/reading-list&quot;&gt;#reading-list&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/development&quot;&gt;#development&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/best-practice&quot;&gt;#best-practice&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/ai&quot;&gt;#ai&lt;/a&gt;&lt;/p&gt;</content>
    <published>2026-04-19T17:00:00Z</published>
    <id>https://www.yellowduck.be/posts/what-is-claude-codes-askuserquestion-tool</id>
    <title>🔗 What is Claude Code&apos;s AskUserQuestion tool?</title>
    <updated>2026-04-19T17:00:00Z</updated>
  </entry>
  <entry>
    <author>
      <name>Pieter Claerhout</name>
      <email>pieter@yellowduck.be</email>
    </author>
    <link rel="alternate" href="https://www.yellowduck.be/posts/comprehension-debt-the-hidden-cost-of-ai-generated-code"/>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;Comprehension debt is the hidden cost to human intelligence and memory resulting from excessive reliance on AI and automation. For engineers, it applies most to agentic engineering.&lt;/p&gt;
&lt;p&gt;There’s a cost that doesn’t show up in your velocity metrics when teams go deep on AI coding tools. Especially when its tedious to review all the code the AI generates. This cost accumulates steadily, and eventually it has to be paid - with interest. It’s called comprehension debt or cognitive debt.&lt;/p&gt;
&lt;p&gt;Comprehension debt is the growing gap between how much code exists in your system and how much of it any human being genuinely understands.&lt;/p&gt;
&lt;p&gt;Unlike technical debt, which announces itself through mounting friction - slow builds, tangled dependencies, the creeping dread every time you touch that one module - comprehension debt breeds false confidence. The codebase looks clean. The tests are green. The reckoning arrives quietly, usually at the worst possible moment.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://addyosmani.com/blog/comprehension-debt/&quot;&gt;Continue reading on &lt;strong&gt;addyosmani.com&lt;/strong&gt;&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;https://www.yellowduck.be/tags/reading-list&quot;&gt;#reading-list&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/golang&quot;&gt;#golang&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/tools&quot;&gt;#tools&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/ai&quot;&gt;#ai&lt;/a&gt;&lt;/p&gt;</content>
    <published>2026-04-19T13:00:00Z</published>
    <id>https://www.yellowduck.be/posts/comprehension-debt-the-hidden-cost-of-ai-generated-code</id>
    <title>🔗 Comprehension debt - the hidden cost of AI generated code</title>
    <updated>2026-04-19T13:00:00Z</updated>
  </entry>
  <entry>
    <author>
      <name>Pieter Claerhout</name>
      <email>pieter@yellowduck.be</email>
    </author>
    <link rel="alternate" href="https://www.yellowduck.be/posts/11-software-development-best-practices-in-2026"/>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;Discover essential software development best practices to enhance code quality, efficiency, and maintenance, featuring principles like DRY and YAGNI.&lt;/p&gt;
&lt;h2&gt;Best Practices for Software Development in 2026&lt;/h2&gt;
&lt;p&gt;Software development is a constantly evolving field, and adopting the right practices can significantly improve the quality and maintainability of your code. Here are some of the best practices that you should implement in your software development processes in 2026:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;DRY (Don&apos;t Repeat Yourself)&lt;/strong&gt;:&lt;br /&gt;
Reducing repetition within your codebase enhances clarity and minimizes maintenance efforts.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;YAGNI (You Aren&apos;t Gonna Need It)&lt;/strong&gt;:&lt;br /&gt;
Avoid implementing features until they are necessary. This practice helps in keeping the codebase clean and manageable.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;strong&gt;KISS (Keep It Simple, Stupid)&lt;/strong&gt;:&lt;br /&gt;
Aim for simplicity in your designs and implementations. Overcomplication can lead to more bugs and harder maintenance.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://www.netguru.com/blog/best-software-development-practices&quot;&gt;Continue reading on &lt;strong&gt;www.netguru.com&lt;/strong&gt;&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;https://www.yellowduck.be/tags/reading-list&quot;&gt;#reading-list&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/development&quot;&gt;#development&lt;/a&gt;&lt;/p&gt;</content>
    <published>2026-04-19T08:00:00Z</published>
    <id>https://www.yellowduck.be/posts/11-software-development-best-practices-in-2026</id>
    <title>🔗 11 software development best practices in 2026</title>
    <updated>2026-04-19T08:00:00Z</updated>
  </entry>
  <entry>
    <author>
      <name>Pieter Claerhout</name>
      <email>pieter@yellowduck.be</email>
    </author>
    <link rel="alternate" href="https://www.yellowduck.be/posts/tower-16-for-mac-beta-introducing-ai-commits"/>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;Say goodbye to tedious commit messages! Tower 16 for Mac introduces AI Commits, allowing users to generate commit messages and descriptions effortlessly using AI right from their Git client. With the new &lt;strong&gt;Generate&lt;/strong&gt; button in the Commit Composing area, I can stage changes and click to get instant suggestions for commit messages. Tower 16 also supports two AI providers—Claude Code and OpenAI&apos;s Codex—which I can configure in the new &lt;strong&gt;AI&lt;/strong&gt; tab under settings. I can even create custom prompt presets for my team&apos;s specific commit conventions, ensuring consistency and clarity. The update includes handy features in the &lt;strong&gt;Working Copy&lt;/strong&gt; view, and improvements such as clickable URLs in the License View and better performance with large branches. Overall, this beta makes my Git workflow smoother and more efficient!&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://www.git-tower.com/blog/tower-mac-16&quot;&gt;Continue reading on &lt;strong&gt;www.git-tower.com&lt;/strong&gt;&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;https://www.yellowduck.be/tags/reading-list&quot;&gt;#reading-list&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/tools&quot;&gt;#tools&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/ai&quot;&gt;#ai&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/announcement&quot;&gt;#announcement&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/git&quot;&gt;#git&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/mac&quot;&gt;#mac&lt;/a&gt;&lt;/p&gt;</content>
    <published>2026-04-18T17:00:00Z</published>
    <id>https://www.yellowduck.be/posts/tower-16-for-mac-beta-introducing-ai-commits</id>
    <title>🔗 Tower 16 for Mac (Beta) — Introducing AI commits ✨</title>
    <updated>2026-04-18T17:00:00Z</updated>
  </entry>
  <entry>
    <author>
      <name>Pieter Claerhout</name>
      <email>pieter@yellowduck.be</email>
    </author>
    <link rel="alternate" href="https://www.yellowduck.be/posts/production-query-plans-without-production-data"/>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;This article examines how PostgreSQL 18 introduces enhancements for managing optimizer statistics without the need for production data. The features &lt;code&gt;pg_restore_relation_stats&lt;/code&gt; and &lt;code&gt;pg_restore_attribute_stats&lt;/code&gt; enable users to inject statistics directly into the catalog tables, facilitating the creation of test environments that mimic production systems in terms of query planning and execution.&lt;/p&gt;
&lt;p&gt;By using these functions, developers can export statistics from a production database and reproduce them in development or testing contexts, improving the accuracy of performance assessments. This capability addresses the challenges posed by differing row configurations in production and CI environments, allowing for reliable query plan validations and potential optimizations based on real-world data distributions.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://boringsql.com/posts/portable-stats/&quot;&gt;Continue reading on &lt;strong&gt;boringsql.com&lt;/strong&gt;&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;https://www.yellowduck.be/tags/reading-list&quot;&gt;#reading-list&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/development&quot;&gt;#development&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/database&quot;&gt;#database&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/best-practice&quot;&gt;#best-practice&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/postgresql&quot;&gt;#postgresql&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/testing&quot;&gt;#testing&lt;/a&gt;&lt;/p&gt;</content>
    <published>2026-04-18T13:00:00Z</published>
    <id>https://www.yellowduck.be/posts/production-query-plans-without-production-data</id>
    <title>🔗 Production query plans without production data</title>
    <updated>2026-04-18T13:00:00Z</updated>
  </entry>
  <entry>
    <author>
      <name>Pieter Claerhout</name>
      <email>pieter@yellowduck.be</email>
    </author>
    <link rel="alternate" href="https://www.yellowduck.be/posts/mickamy-sql-tap-watch-sql-traffic-in-real-time-with-a-tui"/>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;sql-tap&lt;/code&gt; is a real-time SQL traffic viewer that functions as a proxy daemon and terminal user interface (TUI). It captures and displays queries from PostgreSQL, MySQL, or TiDB without requiring application code changes, offering features like query inspection and EXPLAIN commands.&lt;/p&gt;
&lt;p&gt;Installation is straightforward across different platforms, including Homebrew, Docker, and building from source. Users can start the proxy daemon and connect their applications seamlessly to view live SQL traffic through the TUI or web interface, with options for real-time monitoring of N+1 and slow queries.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://github.com/mickamy/sql-tap&quot;&gt;Continue reading on &lt;strong&gt;github.com&lt;/strong&gt;&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;https://www.yellowduck.be/tags/reading-list&quot;&gt;#reading-list&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/database&quot;&gt;#database&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/tools&quot;&gt;#tools&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/devops&quot;&gt;#devops&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/sql&quot;&gt;#sql&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/terminal&quot;&gt;#terminal&lt;/a&gt;&lt;/p&gt;</content>
    <published>2026-04-18T08:00:00Z</published>
    <id>https://www.yellowduck.be/posts/mickamy-sql-tap-watch-sql-traffic-in-real-time-with-a-tui</id>
    <title>🔗 mickamy/sql-tap: Watch SQL traffic in real-time with a TUI</title>
    <updated>2026-04-18T08:00:00Z</updated>
  </entry>
  <entry>
    <author>
      <name>Pieter Claerhout</name>
      <email>pieter@yellowduck.be</email>
    </author>
    <link rel="alternate" href="https://www.yellowduck.be/posts/sfq-simple-stateless-stochastic-fairness"/>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;Stochastic Fairness Queuing (SFQ) offers a method to effectively manage workloads in distributed systems by utilizing a fixed set of queues. By hashing customer identifiers to this limited number of queues, SFQ mitigates the negative impact of noisy neighbors while maintaining O(1) performance for both enqueueing and dequeueing requests.&lt;/p&gt;
&lt;p&gt;The proposal combines SFQ with shuffle sharding and a best-of-two algorithm to optimize request handling further. This approach enhances customer isolation from noisy neighbors, ensuring that service degradation does not persist, even during resource contention.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://brooker.co.za/blog/2026/02/25/sfq.html&quot;&gt;Continue reading on &lt;strong&gt;brooker.co.za&lt;/strong&gt;&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;https://www.yellowduck.be/tags/reading-list&quot;&gt;#reading-list&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/pattern&quot;&gt;#pattern&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/best-practice&quot;&gt;#best-practice&lt;/a&gt;&lt;/p&gt;</content>
    <published>2026-04-17T17:00:00Z</published>
    <id>https://www.yellowduck.be/posts/sfq-simple-stateless-stochastic-fairness</id>
    <title>🔗 SFQ: Simple, Stateless, Stochastic Fairness</title>
    <updated>2026-04-17T17:00:00Z</updated>
  </entry>
  <entry>
    <author>
      <name>Pieter Claerhout</name>
      <email>pieter@yellowduck.be</email>
    </author>
    <link rel="alternate" href="https://www.yellowduck.be/posts/ai-and-the-ship-of-theseus-armin-ronachers-thoughts-and-writings"/>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;Because code gets cheaper and cheaper to write, re-implementations are becoming more common. This post highlights considerations regarding copyright implications when AI-generated code is involved, especially concerning licensing like GPL versus more permissive options.&lt;/p&gt;
&lt;p&gt;The emergence of AI-generated code may lead to many software projects reappearing under different licenses, raising questions about copyrights and authorship. This situation may ignite renewed debates around copyleft and permissive licenses, with advocates stressing the value of open sharing against those who prioritize licensing enforcement.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://lucumr.pocoo.org/2026/3/5/theseus/&quot;&gt;Continue reading on &lt;strong&gt;lucumr.pocoo.org&lt;/strong&gt;&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;https://www.yellowduck.be/tags/reading-list&quot;&gt;#reading-list&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/development&quot;&gt;#development&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/best-practice&quot;&gt;#best-practice&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/ai&quot;&gt;#ai&lt;/a&gt;&lt;/p&gt;</content>
    <published>2026-04-17T13:00:00Z</published>
    <id>https://www.yellowduck.be/posts/ai-and-the-ship-of-theseus-armin-ronachers-thoughts-and-writings</id>
    <title>🔗 AI and the Ship of Theseus</title>
    <updated>2026-04-17T13:00:00Z</updated>
  </entry>
  <entry>
    <author>
      <name>Pieter Claerhout</name>
      <email>pieter@yellowduck.be</email>
    </author>
    <link rel="alternate" href="https://www.yellowduck.be/posts/ai-code-review-tools-what-works-what-doesnt-and-how-to-set-it-up"/>
    <content type="html">&lt;blockquote&gt;
&lt;p&gt;AI code review tools excel at catching mechanical issues like security patterns, formatting violations, test coverage gaps, and code smells that humans miss when fatigued. However, they consistently fail at architectural decisions, business logic validation, and recognizing when correct code represents the wrong approach.&lt;/p&gt;
&lt;p&gt;The practical setup involves choosing a tool based on infrastructure constraints, configuring it to reduce noise, and establishing a workflow where AI reviews first to handle surface-level checks. Human reviewers then focus on depth—architecture, business logic, and strategic fit—making reviews faster and more focused rather than replacing human judgment entirely.&lt;/p&gt;
&lt;/blockquote&gt;&lt;p&gt;&lt;a href=&quot;https://madewithlove.com/blog/ai-code-review-tools/&quot;&gt;Continue reading on &lt;strong&gt;madewithlove.com&lt;/strong&gt;&lt;/a&gt;&lt;p&gt;&lt;a href=&quot;https://www.yellowduck.be/tags/reading-list&quot;&gt;#reading-list&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/development&quot;&gt;#development&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/tools&quot;&gt;#tools&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/best-practice&quot;&gt;#best-practice&lt;/a&gt; &lt;a href=&quot;https://www.yellowduck.be/tags/ai&quot;&gt;#ai&lt;/a&gt;&lt;/p&gt;</content>
    <published>2026-04-17T08:00:00Z</published>
    <id>https://www.yellowduck.be/posts/ai-code-review-tools-what-works-what-doesnt-and-how-to-set-it-up</id>
    <title>🔗 AI code review tools: what works, what doesn&apos;t, and how to set it up</title>
    <updated>2026-04-17T08:00:00Z</updated>
  </entry>
</feed>