πŸ”— Testing Go CLIs with testscript

Have you ever wondered what happens when a command-line interface (CLI) is tested under real conditions? The article dives into the testing of the CLI eon, which schedules jobs using LLMs. It emphasizes the need for integration tests that mimic user behavior rather than relying s … | Continue reading


@yellowduck.be | 16 days ago

πŸ”— The 10x AI delusion & the real bottlenecks

Is AI really going to create a 10x productivity boost for developers? Vasudha Prabhala argues that the real bottlenecks in software delivery are not the individual developer's capabilities, but the organizational structure and systems in place. The conversation shifts from merely … | Continue reading


@yellowduck.be | 16 days ago

πŸ”— CLI vs MCP vs API for AI agents: which integration method should you use?

Different integration methods for AI agents can significantly impact workflow efficiency. Could choosing the wrong one create friction as your agents become more advanced? Whether it’s a Command-Line Interface (CLI), Model Context Protocol (MCP), or an Application Programming Int … | Continue reading


@yellowduck.be | 16 days ago

πŸ”— Elixir v1.20 released: now a gradually typed language

Elixir has entered a new era with the release of version 1.20, where it has embraced gradual typing. This update allows for type inference and checks on existing Elixir code without the need for type annotations. It effectively identifies dead code and potential runtime errors, w … | Continue reading


@yellowduck.be | 17 days ago

πŸ”— 5 faster ways to copy large or millions of files in Linux

Copying files in Linux just got more efficient. Using the cp command may feel familiar, but it lacks essential features for handling large datasets. The article showcases five alternative methods that significantly enhance speed and reliability. From rsync, which supports resumin … | Continue reading


@yellowduck.be | 17 days ago

πŸ”— Creating a poll that doesn't crash under load

During the recent Nerdland Festival, a poll designed for a 3.5K audience faced significant challenges under heavy traffic. Originally, the setup used serverless hosting and a cloud database, but load tests revealed that the app dropped to a 26% success rate at 250 requests per se … | Continue reading


@yellowduck.be | 17 days ago

πŸ”— Beyond the prompt: Claude Code

This article delves into optimizing the use of Claude Code for developers looking to elevate their coding workflows. Arpan Patel emphasizes treating Claude not merely as a chatbot but as an autonomous agent that can manage tasks with greater efficiency. Key insights include the i … | Continue reading


@yellowduck.be | 18 days ago

πŸ”— AI security: 10 top risks and best practices in 2026

AI is now an integral part of technology, but it brings significant security risks. A recent report highlighted that 34% of tech firms struggle with managing security for their AI systems. This article by Jess Lulka provides insight into the growing challenges of AI security, suc … | Continue reading


@yellowduck.be | 18 days ago

πŸ”— Using AI to write better code more slowly

A lot of people think that AI coding is about churning out mediocre code as quickly as possible. However, Nolan Lawson argues that large language models (LLMs) can actually be leveraged to produce high-quality code, but at a more deliberate pace. Instead of mere slop, LLMs can un … | Continue reading


@yellowduck.be | 18 days ago

πŸ”— Killing PRs was the easy part. Now technical death keeps the CTO up.

Production incidents present a significant challenge for engineers. By the time they grasp what's happening, they've often switched through multiple tools, all while the incident continues. PagerDuty believes their MCP can solve this issue. The article dives into how this approac … | Continue reading


@yellowduck.be | 19 days ago

πŸ”— The 10 Go error handling commandments

Error handling in Go isn’t just about wrapping and returning errors; it's a crucial aspect of writing robust code. This article by Preslav Rachev outlines ten essential commandments for handling errors effectively in Go. It emphasizes that ignoring errors is not an option and pro … | Continue reading


@yellowduck.be | 19 days ago

πŸ”— Reading code with AI, not generating it

Instead of relying on AI to generate code, a back-end developer at Spatie utilized AI to understand an extensive legacy codebase. After joining a project with over 150,000 lines of code, the developer found that leveraging existing AI workflows was key. They used tools like Larav … | Continue reading


@yellowduck.be | 19 days ago

πŸ”— Your next project will run on PHP

Is your next big project set to leverage PHP? This article dives into the reasons PHP should be a top contender for web development in 2026. With its extensive ecosystem and a large community of developers, PHP remains a powerful choice for dynamic web applications. The piece out … | Continue reading


@yellowduck.be | 20 days ago

πŸ”— Lost, forgotten, and unfamiliar HTML

In a recent exploration of HTML, Dave Iverson uncovered many overlooked aspects of building a website. His experiments with HTML-validate and Axe core highlighted crucial points, such as the case sensitivity of data attributes in HTML, where all attribute names should be lowercas … | Continue reading


@yellowduck.be | 20 days ago

πŸ”— The sludge on the wall

A tense break room visit reveals more than just productivity metrics. Three distinct voicesβ€”senior engineer Marcus, junior developer Priya, and their managerβ€”struggle with the impact of AI-generated code on their processes. Marcus finds himself overwhelmed by a bloated codebase l … | Continue reading


@yellowduck.be | 20 days ago

πŸ”— Self-Mocking Actions in Laravel

Writing tests can get verbose, especially with numerous mocked actions in Laravel. Instead of lengthy boilerplate, this article offers a streamlined approach using a self-mocking action base class. It introduces a dual-key container binding that keeps the original action intact w … | Continue reading


@yellowduck.be | 21 days ago

πŸ”— We replaced Redis with MySQL for inventory reservationsβ€”and it scaled

Shopify faced challenges managing inventory reservations under peak conditions, especially with record sales of $5.1 million per minute on Black Friday 2025. Their previous setup, using Redis for oversell protection, struggled with multi-location awareness and atomic operations. … | Continue reading


@yellowduck.be | 21 days ago

πŸ”— Continuous learning

This article highlights the importance of continuous learning in today's fast-paced digital environment. It emphasizes how keeping skills up-to-date is crucial for success in a rapidly changing job market. Though the article lacks in-depth content due to a JavaScript requirement … | Continue reading


@yellowduck.be | 21 days ago

πŸ”— Installing JS dependencies through mix

When trying to install JavaScript dependencies for Phoenix without npm, a user attempted to add phoenix-custom-event-hook as a git dependency in mix.exs. Despite successfully cloning the dependency with mix deps.get, an error arose when importing it in app.js, indicating that the … | Continue reading


@yellowduck.be | 22 days ago

πŸ”— The maintainer's dilemma

What happens when one of the reviewers on a code project is an AI? This article highlights the growing tension between human maintainers and AI tools in the open-source ecosystem. As AI can now conduct code reviews and open pull requests, one maintainer discusses how reliance on … | Continue reading


@yellowduck.be | 22 days ago

πŸ”— Publishing your blog to standard.site in Elixir

Standard.site is revolutionizing blog publishing by using the AT Protocol schema to expose posts as records. This allows platforms like Bluesky to fetch and render content efficiently. By integrating this new approach into Elixir with Phoenix, authors can use a mix command to aut … | Continue reading


@yellowduck.be | 22 days ago

πŸ”— The hasOne() in Laravel that returned another customer's data

A surprising bug in Eloquent arose when eager loading relationships caused Customer A's invoices to show credit notes belonging to Customer B. In a subscription billing system, issuing credit notes for invoices can sometimes lead to confusion, especially if multiple customers hav … | Continue reading


@yellowduck.be | 23 days ago

πŸ”— Generating OG images in Elixir

What if generating OpenGraph images for your blog could be easy? In this article, Johanna Larsson shares her experience of integrating per-page OG images into her blog using Elixir. She details how to use the powerful Image library to render images dynamically, achieving the desi … | Continue reading


@yellowduck.be | 23 days ago

πŸ”— PHPStan 2.2: Unsealed array shapes, safer array keys, and more!

PHPStan 2.2 introduces significant changes to array shapes, addressing long-standing issues. Among the key features are the new unsealed array shapes, allowing you to define array types with additional keys, enhancing flexibility in your code. This update aims to resolve the inco … | Continue reading


@yellowduck.be | 23 days ago

πŸ”— The stack behind There There

What does a modern support application look like? In a revealing piece, Freek shares the technical stack underpinning the beta version of There There, a Laravel app developed by Spatie. Utilizing a mix of proven frameworks and tools, they prioritize stability and maintainability … | Continue reading


@yellowduck.be | 24 days ago

πŸ”— #[RouteParameter] does not bind your model

If #[RouteParameter] in your Laravel form request receives a string instead of a model, it's often not about failed binding but about the absence of binding altogether. Laravel's #[RouteParameter] attribute enhances type safety but only reads the current route parameter value. It … | Continue reading


@yellowduck.be | 24 days ago

πŸ”— Why enterprise AI projects fail: 5 root causes & fixes

Enterprise AI failure is rarely a modeling problem. Instead, projects stall due to organizational structures that don’t support deployment. A proof-of-concept may clear its demo, but then the initiative can languish for months, with no single role accountable for moving forward. … | Continue reading


@yellowduck.be | 24 days ago

πŸ”— What is AI governance?

AI governance is becoming essential as organizations increasingly rely on AI for critical functions. A recent report highlighted that 60% of organizations have AI agents in production, but 40% see security and compliance as the top barrier to scaling. This gap illustrates the urg … | Continue reading


@yellowduck.be | 25 days ago

πŸ”— How Erlang's parser tools saved my DSMR library

Have you ever been buried under a maze of regex and string operations? Robin van der Vleuten shares how he faced this dilemma while working on a DSMR library for smart meter data. Initially relying on chaotic regex patterns, van der Vleuten struggled with parsing errors and maint … | Continue reading


@yellowduck.be | 25 days ago

πŸ”— AI literacy is not prompt literacy. Ann Handley says it's judgment literacy

Ann Handley argues that true AI literacy extends beyond prompt engineering to encompass judgment literacy. She highlights a critical question often overlooked in AI training: when should we refrain from using AI tools to preserve essential learning? While prompt literacy can be t … | Continue reading


@yellowduck.be | 25 days ago

πŸ”— Test coverage won't save you

What happens when coding agents take over? In her insightful article, Jenn Cooper highlights a major flaw in relying solely on testing in AI-generated codebases. While high test coverage may seem like a safety net, it primarily locks in existing behaviors, good or bad. This can l … | Continue reading


@yellowduck.be | 26 days ago

πŸ”— How I use LLMs as a staff engineer in 2026

A year can bring significant changes in technology use. In this article, the author reflects on how they leverage large language models (LLMs) as a staff engineer in 2026, detailing a notable enhancement in efficiency and accuracy. Tasks that once required close supervision, such … | Continue reading


@yellowduck.be | 26 days ago

πŸ”— How to write "garbage code" (by Linus Torvalds)

Linus Torvalds recently criticized a Meta engineer for submitting subpar code late in a merge window, calling it "garbage". He emphasized that good code should minimize cognitive load for all readers, including software engineers and LLMs. By reducing unnecessary abstractions and … | Continue reading


@yellowduck.be | 26 days ago

πŸ”— Build an MCP server with Laravel (and use it to publish this post)

Every MCP server tutorial you'll find is written in Python or TypeScript. If you're a Laravel developer, you've been left out of the conversation β€” until now. Laravel's official laravel/mcp package lets you build MCP servers that expose your application's functionality directly t … | Continue reading


@yellowduck.be | 27 days ago

πŸ”— Software engineering discipline and posture

There’s something quietly dignified about a clean commit history and well-written documentation. This article by Blain Smith emphasizes that engineering discipline is rooted in respect for teammates. Respect isn't just a thumbs-up emoji; it’s about naming variables wisely and wri … | Continue reading


@yellowduck.be | 27 days ago

πŸ”— Pair-programming is a cheat code

Pair-programming is often called a cheat code for developers and businesses alike. It not only accelerates decision-making but also promotes real-time code reviews and knowledge transfer. Instead of enduring lengthy pull-request reviews, pairs can bounce ideas off one another imm … | Continue reading


@yellowduck.be | 27 days ago

πŸ”— GenServer state management in Elixir: A production order book

One GenServer manages critical aspects of trading like open positions, pending orders, and strategy state in real-time systems. This article highlights the state struct that powers the RealtimeTrader, which functions as a session-scoped process in a trading pipeline. It breaks do … | Continue reading


@yellowduck.be | 28 days ago

πŸ”— Concurrent reads, serialized writes with GenServer and Registry

GenServer is often a beginner's first encounter with Elixir, but common pitfalls can arise, especially concerning data access patterns. This article highlights an issue when using GenServer.call for reading data as it serializes requests, blocking concurrent access and affecting … | Continue reading


@yellowduck.be | 28 days ago

πŸ”— The beginning of programming as we’ll know it

In the wake of AI coding assistants like Claude and Codex, many wonder if the role of a computer programmer is coming to an end. While it seems AI can perform tasks in minutes, it is not time to count human programmers out. Currently, human developers are essential for overseeing … | Continue reading


@yellowduck.be | 28 days ago

πŸ”— Rust vs Go: A hands-on comparison

Oh no, not another 'Is Rust better than Go?' article. Seriously, haven't we all had our fill of these comparisons by now? But before you sigh in exasperation, hear us out! Many comparisons between Go and Rust emphasize their differences in syntax and the initial learning curve. H … | Continue reading


@yellowduck.be | 29 days ago

πŸ”— Reading a 200k-line codebase you didn't write: a field guide

Is it really possible to understand a sprawling 200,000-line codebase that someone else authored? Christoph Beck's article presents a practical guide to tackling inherited code through a systematic approach. Starting without diving directly into the files, Beck emphasizes the imp … | Continue reading


@yellowduck.be | 29 days ago

πŸ”— Claude talk small. Code still big.

AI coding assistants often provide lengthy explanations with every change. But what if they cut down on chatter? The author shares their experience using the "Caveman" skill, which simplifies AI output to short, effective phrases like "Me fix bug". While this approach saved token … | Continue reading


@yellowduck.be | 29 days ago

πŸ”— OAuth 2.0 – device flow explained for engineers, especially for backend engineers

A frustrating login experience with long passwords on devices led to the development of OAuth 2.0 device flow. This flow provides a practical solution for scenarios where typing passwords is unfeasible, such as on smart TVs or IoT devices. The article details how to implement thi … | Continue reading


@yellowduck.be | 1 month ago

πŸ”— Laravel MCP: Getting started

Your AI coding agent writes better code when it has real context about your application. This article examines the Laravel MCP, which provides a structured way to expose your app’s capabilities to AI clients, like ChatGPT and Claude. Without MCP, AI agents can misinterpret your a … | Continue reading


@yellowduck.be | 1 month ago

πŸ”— Credence: Elixir semantic linter

A semantic linter for LLM-generated Elixir code. Elixir's compiler checks syntax. Credo checks style. Credence checks semantics β€” it mainly catches patterns that compile and pass tests but are non-idiomatic, inefficient, or ported from Python/JavaScript conventions that don't bel … | Continue reading


@yellowduck.be | 1 month ago

πŸ”— The tacit dimension: why your best engineers can't tell you what they know

In today's software development landscape, the tacit knowledge held by experienced engineers is undervalued and often overlooked. This article argues that while explicit knowledge is easily documented and processed by AI, the intuitive insights and patterns recognized by seasoned … | Continue reading


@yellowduck.be | 1 month ago

πŸ”— AI’s impact on software engineers in 2026: key trends, Part 2

What if AI tools not only boost productivity but also lead to decreased code quality? In this concluding part of the series, Gergely Orosz and Elin Nilsson delve into the findings from over 900 survey responses regarding AI's effects on software engineers by 2026. They reveal tha … | Continue reading


@yellowduck.be | 1 month ago

πŸ”— High performance Git

Git serves multiple roles beyond just version control; it operates as a content-addressed database, a filesystem cache, and more. This article dives into the different layers of Git, discussing the performance implications of objects, refs, the index, and history traversal. It co … | Continue reading


@yellowduck.be | 1 month ago