πŸ”— How to debug a team that isn’t working: the Waterline Model

When team performance falters, blaming individuals is a common trap for leaders. Molly Graham, drawing from her extensive experience in top tech firms, introduces the Waterline Model to help diagnose underlying issues without jumping to personal conclusions. This framework encour … | Continue reading


@yellowduck.be | 12 hours ago

πŸ”— How do I write Elixir tests?

Tests should be readable, often even more readable than the code itself. This article emphasizes guides for writing effective Elixir tests using the ExUnit framework. It advises on using the @subject module attribute for clearer test readability, grouping tests with describe bloc … | Continue reading


@yellowduck.be | 17 hours ago

πŸ₯ From N+1 to 1: Extracting paged PDF text with a single pdftotext call

When building full-text search for uploaded documents, we needed to extract text page-by-page from PDFs so we could index each page as a separate chunk. The naive approach worked but was painfully slow. Here's how a single Unix insight cut it down to one process spawn. The proble … | Continue reading


@yellowduck.be | 1 day ago

πŸ”— Go away Microsoft! The Netherlands is quietly building its own GitHub replacement

In a surprising move, the Netherlands has initiated a project to create its own Git repository platform, sidestepping commercial options. The decision follows the recommendations of Jan Vlug, a software engineer, advocating for an open-source solution suitable for governmental ne … | Continue reading


@yellowduck.be | 1 day ago

πŸ”— Just fucking use Go

Stop overcomplicating your backend! This article argues why using Go is the straightforward solution that cuts through unnecessary complexity. Continue reading on blainsmith.com#reading-list #golang #development | Continue reading


@yellowduck.be | 1 day ago

πŸ”— Writing code that feels native to Laravel

Certain patterns emerge when working with Laravel that can greatly enhance your application code. The framework’s emphasis on convention over configuration creates a consistent experience; features integrate seamlessly due to familiar methods and behaviors. The article illustrate … | Continue reading


@yellowduck.be | 2 days ago

πŸ”— The hidden danger of shipping fast

Is it possible to ship too much – or too fast? Cleo highlights the risks that come with high product velocity, particularly when it surpasses user adoption. Many companies rush to deliver features, but this can result in a backlog of user unawareness and ultimately leads to reduc … | Continue reading


@yellowduck.be | 2 days ago

πŸ”— Watching for file changes on macOS

When working on a website, live reload can greatly enhance productivity. This article outlines a method to implement this feature on macOS using the File System Events API. The author, who transitioned from using Jekyll to a custom static site generator, explains how to build a S … | Continue reading


@yellowduck.be | 2 days ago

πŸ₯ The silent saboteur: how --quiet can break your Laravel command sequences

When you chain multiple Artisan commands together in Laravel, there's a subtle trap waiting for you β€” one that's easy to miss because the commands still run, they just stop talking. The setup A common pattern in Laravel applications is a "meta-command" that runs a sequence of oth … | Continue reading


@yellowduck.be | 3 days ago

πŸ”— Chasing a Phoenix LiveView long poll reload issue

The issue with the reload loop in a Phoenix 1.7 LiveView app stemmed from the requirement for long poll distribution. Users faced a frustrating loop where pages reloaded every seven seconds, showing a "Something went wrong! Hang in there while we get back on track" message. Despi … | Continue reading


@yellowduck.be | 3 days ago

πŸ”— Moving away from Tailwind, and learning to structure my CSS

Moving from Tailwind to a more semantic HTML and vanilla CSS approach can be liberating. The author reflects on their journey of migrating several sites away from Tailwind after years of reliance on it. They found newfound joy in structuring CSS and learned to impose systems that … | Continue reading


@yellowduck.be | 3 days ago

πŸ”— How I moved my digital stack to Europe

The urgency behind digital sovereignty often gets overlooked. However, this article provides a compelling case for why moving to European cloud services can not only provide better control over data but also align with personal values that prioritize privacy and autonomy. The aut … | Continue reading


@yellowduck.be | 4 days ago

πŸ”— The myth of never giving up

There’s a myth in the startup world suggesting that relentless perseverance guarantees success. However, Marc Randolph challenges this notion by distinguishing between productive persistence and stubbornness. He argues that while persistence is vital, it’s crucial to recognize wh … | Continue reading


@yellowduck.be | 4 days ago

πŸ”— What’s gone wrong at GitHub?

Reliability issues are driving users away in their droves. GitHub’s uptime has plummeted, with 257 logged incidents in just a year. In a shocking turn, the rapid scaling of AI workflows overwhelmed the platform, leading to significant outages, notably in the CI/CD system, Actions … | Continue reading


@yellowduck.be | 4 days ago

πŸ₯ How to check how much memory a systemd unit is actually using

When investigating memory usage on a Linux server, it's common to look at processes using tools such as top, htop, or ps. However, when applications are managed by systemd, it is often more useful to inspect memory usage at the service level rather than at the individual process … | Continue reading


@yellowduck.be | 5 days ago

πŸ”— How Claude Code works in large codebases: Best practices and where to start

How does Claude Code thrive in the chaos of large codebases? In an article outlining best practices for deploying Claude Code at enterprise scale, the focus is on efficient navigation, effective harness setup, and contextual awareness. Claude Code manages codebases with millions … | Continue reading


@yellowduck.be | 5 days ago

πŸ”— What if the browser was the server?

The article argues against the traditional SaaS model by suggesting that browsers could effectively serve as their own backends. It highlights how modern SaaS often merely acts as a middleman between users and databases, creating unnecessary delays through network communication. … | Continue reading


@yellowduck.be | 5 days ago

πŸ”— Using daisyUI means less LLM cost and faster UI generation

If AI is writing the code, does it still matter if we use an efficient component library? daisyUI significantly reduces token costs and accelerates UI generation by streamlining code. By minimizing verbosity, daisyUI allows for just one class name instead of a long list of utilit … | Continue reading


@yellowduck.be | 6 days ago

πŸ”— 34 days in an Elixir tunnel to refactor my SaaS without a rewrite

Alzo, an Elixir SaaS for architecture firms, faced growth challenges due to its original architecture. Lucas Sifoni spent 34 days refactoring Alzo into a clustered multi-tenant application without a complete rewrite. He removed bottlenecks in the architecture, including eliminati … | Continue reading


@yellowduck.be | 6 days ago

πŸ”— Learnings from 100K lines of Rust with AI

What can be achieved with 100,000 lines of Rust and AI? Cheng Huang shares insights from building a modern multi-Paxos consensus engine that outperforms Azure's original Replicated State Library. In just six weeks, he not only implemented all features of the library but also enha … | Continue reading


@yellowduck.be | 6 days ago

πŸ₯ Fixing PHPUnit 13 with*() without expects() deprecations in Laravel tests

After upgrading to PHPUnit 13, you may run into this deprecation warning in Laravel test suites: Using with*() without expects() is deprecated and will no longer be possible in PHPUnit 14. At first sight, the code often already looks correct: $mock->expects($this->once()) -> … | Continue reading


@yellowduck.be | 7 days ago

πŸ”— Composable SFTP streams in Elixir

In Elixir, handling large media files over SFTP can lead to memory issues, especially with immense video files. Through lazy enumerables, Elixir allows developers to process streams efficiently without loading everything into memory. The article outlines how to use File.stream!/2 … | Continue reading


@yellowduck.be | 7 days ago

πŸ”— How I write HTTP clients

How do you build effective HTTP clients? Blain Smith shared his experiences developing HTTP clients for 3rd party APIs, outlining critical patterns he's observed. This includes essential components like composing client options, JSON encoding/decoding in Go, HTTP request signing, … | Continue reading


@yellowduck.be | 7 days ago

πŸ”— Computer use is 45x more expensive than structured APIs

A benchmark study shows that AI agents using computer vision to navigate web interfaces are 45 times more expensive than those using structured APIs, largely due to higher token consumption and performance variance. While vision-based agents are still necessary for third-party so … | Continue reading


@yellowduck.be | 8 days ago

πŸ”— Why developers should – and shouldn’t – use LLMs in our development

Why should I use AI? This pressing question is at the forefront of our evolving software development landscape. In the wake of LLMs like ChatGPT, developers must decide how to harness this technology effectively. While LLMs excel at handling repetitive tasks or producing prototyp … | Continue reading


@yellowduck.be | 8 days ago

πŸ”— The robots are replacing the packages

The way AI-assisted development is changing how developers handle package installations is striking. Manual coding may have taken time, but with intelligent agents automating the background work, developers can focus on high-level tasks. The article categorizes common scenarios d … | Continue reading


@yellowduck.be | 8 days ago

πŸ₯ Why crypto.getRandomValues() matters in JavaScript

Generating random values sounds simple, until you need randomness that is actually secure. A lot of JavaScript developers reach for Math.random() out of habit. While that works fine for visual effects, games, or non-critical IDs, it should never be used for anything security-sens … | Continue reading


@yellowduck.be | 9 days ago

πŸ”— The language of the boundary

The article discusses the development journey of creating a JSON Schema validator library for Elixir, detailing the complexities encountered when integrating JSON schema validation with Open API Spex. It emphasizes the necessity of validating data at boundaries, where untrusted e … | Continue reading


@yellowduck.be | 9 days ago

πŸ”— AI agents keep failing. The fix is 40 years old.

AI agents often falter due to hidden dependencies in the code, leading to failures in production environments. This issue stems not from the models themselves but from the tight coupling and mutable states in the codebase that AI agents cannot effectively navigate. As Cyrus Radfa … | Continue reading


@yellowduck.be | 9 days ago

πŸ”— Claude Code is a build system, not a chatbot

Claude Code redefines the interaction with AI coding by treating it as a build system rather than merely a chatbot. After a year of iteration, the author emphasizes the importance of treating AI like a configurable, layered, and observable engineering system. By moving from passi … | Continue reading


@yellowduck.be | 10 days ago

πŸ”— Functional programmers need to take a look at Zig

What if a programming language could change the way functional programmers think about system memory management? In this article, the author examines how Zig introduces innovative memory management solutions that could appeal to functional programmers tired of traditional approac … | Continue reading


@yellowduck.be | 10 days ago

πŸ”— API versioning should be your last resort

Versioning doesn't have to be the go-to solution when evolving an API. Instead, focusing on effective change management can lead to better API longevity. This article emphasizes that API versioning is a compatibility tool, not a design strategy. It outlines how many API changes c … | Continue reading


@yellowduck.be | 10 days ago

πŸ₯ How to find all Jira issues ever assigned to someone (even historical ones)

If you've ever tried to pull up all the tickets that Sarah Mitchell worked on last year, you've probably started with the obvious query: assignee = "sarah.mitchell@example.com" And then realised it only shows her current tickets β€” not the ones she handed off to Tom Bergkamp or c … | Continue reading


@yellowduck.be | 11 days ago

πŸ”— How I write HTTP servers

No one enjoys redundant tasks, yet composing and testing HTTP servers from scratch often leads to repetition. In this article, Blain Smith shares his experience crafting HTTP servers, focusing on creating REST APIs with vital features like JSON/XML support and authorization token … | Continue reading


@yellowduck.be | 11 days ago

πŸ”— I don't want your PRs anymore

With the rise of LLMs, code contributions are losing their value. The author articulates a stance against merging pull requests (PRs) because of concerns about malicious intent and the escalating complexity of code reviews. Instead, the article suggests alternative methods for co … | Continue reading


@yellowduck.be | 11 days ago

πŸ”— The age of refinement: optimizing search performance for MCP systems

Search isn’t finished when it works; it’s finished when you can prove it worksβ€”and refine it when it doesn’t. Christoph Beck’s article on search performance optimization for MCP systems highlights the importance of crafting good questions for effective search evaluation. This inv … | Continue reading


@yellowduck.be | 12 days ago

πŸ”— OpenAPI DSLs: The silent developer productivity killer

I learned that relying on Domain-Specific Languages (DSLs) for OpenAPI documentation can lead to significant productivity pitfalls. In a recent experience with Elixir, I faced a convoluted mess when trying to manage my API specs embedded within controller logic. The DSL library i … | Continue reading


@yellowduck.be | 12 days ago

πŸ”— 10 lessons for agentic coding

Devs should use AI for fast implementation and automation while focusing their human expertise on testing, documentation, and high-value architectural decisions. Continue reading on www.dbreunig.com#reading-list #development #best-practice #ai #testing | Continue reading


@yellowduck.be | 12 days ago

πŸ₯ Downloading external images as squares from a Phoenix app

A common need in admin tools: click a button, download a remote image as a square JPEG. Simple enough β€” until CORS gets in the way. The CORS problem When fetching a cross-origin image and drawing it onto a , the browser marks the canvas as "tainted". The moment you call canvas.to … | Continue reading


@yellowduck.be | 13 days ago

πŸ”— Programming in 2026: excitement, dread, and the coming wave

A big part of software engineering is now communicating with an alien technology we don't - and can't - fully understand. Continue reading on amontalenti.com#reading-list #development #best-practice #ai | Continue reading


@yellowduck.be | 13 days ago

πŸ”— When everyone has AI and the company still learns nothing

Individual AI productivity gains don't automatically become organizational ones. Companies are past the "buy seats and run training" phase and into a messier stage where adoption is uneven, partially hidden, and disconnected from real learning. The key question isn't whether peop … | Continue reading


@yellowduck.be | 13 days ago

πŸ”— Claude code is not making your product better

At the frontier, it's not clear that spending on tokens produces any economic value at all. The bottleneck at that level is tastemakers. The taste to delete, compress, and refuse is more valuable now that the floor is rising. AI makes it possible for anyone to create generic prod … | Continue reading


@yellowduck.be | 14 days ago

πŸ”— S3 Files and the changing face of S3

The frustrating process of moving large datasets is all too familiar in many industries. In the article, Andy Warfield recounts his experiences with genomics researchers at UBC, who spent excessive time managing data rather than analyzing it. He introduced S3 Files to bridge this … | Continue reading


@yellowduck.be | 14 days ago

πŸ”— Phoenix LiveView widgets with hooks: a reusable pattern

Reusable Phoenix widgets have often been a challenge in Elixir applications, especially when managing state and events without complicating the parent LiveView. This article highlights a unique pattern for creating stateful and interactive components using function components and … | Continue reading


@yellowduck.be | 14 days ago

πŸ₯ The Tailwind `enabled:` selector trick for disabled buttons

When you add a disabled attribute to a element, you probably expect it to just... look disabled. But there's a subtle trap that catches a lot of developers: your hover: styles still apply visually, even when the button is disabled. The problem Consider a typical Tailwind button: … | Continue reading


@yellowduck.be | 15 days ago

πŸ”— Recursion as a design pattern

What if recursion was the best way to handle list processing in Elixir? This article reveals how recursion isn't just an alternative to loops but the optimal method in Elixir for list manipulation. Developers often struggle with traditional loop constructs, but Elixir’s approach … | Continue reading


@yellowduck.be | 15 days ago

πŸ”— Don't let AI write for you

Do LLMs enhance or hinder writing? This provocative piece warns against the pitfalls of using AI to generate documents and essays. The author argues that writing is not just about producing text; it’s an opportunity to explore ideas and build understanding. By relying on LLMs, in … | Continue reading


@yellowduck.be | 15 days ago

πŸ”— The Pulse: token spend breaks budgets – what next?

In the past couple of months, spending on AI agents has surged dramatically among tech companies, with many experiencing a nearly 10x increase in costs. Gergely Orosz highlights the trend of "tokenmaxxing," where developers are incentivized to maximize their AI usage for personal … | Continue reading


@yellowduck.be | 16 days ago