πŸ”— 5 Mac terminal apps that replaced my biggest memory hogs

The memory hogs in a Mac aren't necessarily the apps that are frequently used but rather those that remain open. Aditya Darekar shares five terminal apps that can effectively replace resource-intensive GUI counterparts, helping users manage limited memory on their devices. These … | Continue reading


@yellowduck.be | 12 hours ago

πŸ”— MySQL's ON DELETE CASCADE has a "15-level wall"

With ON DELETE CASCADE, deeper hierarchies in MySQL face a daunting challenge: a limit of 15 levels. When attempting to delete a parent node from a self-referencing tree structure, cascading deletions will halt if the descendant chain reaches this depth, resulting in a rollback o … | Continue reading


@yellowduck.be | 16 hours ago

πŸ”— Introducing TIN: Full-text search for PostgreSQL

One of the most sought-after features among Postgres users is full-text search, leading to the launch of TINβ€”"Text INdex." This new GA release promises a fast and comprehensive full-text search experience for all Postgres and Neki databases. TIN stands out by supporting Boolean e … | Continue reading


@yellowduck.be | 21 hours ago

πŸ₯ Building a lift scheduling algorithm in Python

A lift looks simple from the outside: press a button, wait, and eventually it arrives. Internally, however, a lift controller is a scheduling problem. With multiple lifts and multiple passengers, the controller needs to decide which lift should handle which request, while trying … | Continue reading


@yellowduck.be | 1 day ago

πŸ”— exit() may silently break your parallel tests

The article reveals how using exit() in a PHP application can introduce silent failures in parallel testing environments, particularly when using Pest 5 with its new TIA engine. When a worker process crashes, the resulting WorkerCrashedException provides little insight, often lea … | Continue reading


@yellowduck.be | 1 day ago

πŸ”— We replaced our ledger with two functions

Every transaction at River, a Bitcoin financial institution, now flows through just two core functions: get_balances and record_event. This shift was part of a significant redesign of their ledger system, which originally suffered from complexity and inefficiencies with nearly 40 … | Continue reading


@yellowduck.be | 1 day ago

πŸ”— 99% of my website traffic is bots

99% of traffic on a website isn't from human visitors, and one site owner shares their battle against bots. The article outlines a year-long struggle managing scrapers on a 1.5 million-page philanthropy donor database called PatronView. With a staggering ratio of 214 bot page loa … | Continue reading


@yellowduck.be | 2 days ago

πŸ”— Building RAG in Laravel: Four ingestion bugs that silently wreck retrieval

Retrieval failures can sneak up on developers using Laravel for Retrieval-Augmented Generation (RAG). Many guides wrap up after basic setup, leaving potential pitfalls unaddressed. For instance, improper chunking can lead to missing context from responses. Simple mistakes, like m … | Continue reading


@yellowduck.be | 2 days ago

πŸ”— Text editor data structures

Text editors present a unique challenge for programmers, balancing between ease of use and efficiency. This article dives into the intricacies of text editor data structures, exploring the evolution from simple strings to more complex solutions like the piece table and piece tree … | Continue reading


@yellowduck.be | 2 days ago

πŸ”— The Goldilocks customizable select height

A new approach to enhancing the select element focuses on a customizable height that meets user expectations. Jake Archibald opens the discussion with his experiences from a recent talk where he attempted to style the select element effectively using CSS. This exploration highlig … | Continue reading


@yellowduck.be | 3 days ago

πŸ”— Dark mode with web standards

Using prefers-color-scheme is a straightforward way to respect users' OS settings for dark mode, but users crave more control. This article explains how to support user-customized themes by implementing a toggle in web applications. It details the primary methods of defining colo … | Continue reading


@yellowduck.be | 3 days ago

πŸ”— SlimSelect - Advanced JavaScript select dropdown library

SlimSelect offers a robust alternative for those seeking a customized dropdown experience in vanilla JavaScript. This library enhances standard select elements with advanced features such as multi-select capabilities, easy styling, and improved usability. By leveraging simple API … | Continue reading


@yellowduck.be | 3 days ago

πŸ₯ Cross-schema queries in PostgreSQL without the loop

Schema-based multi-tenancy is a popular pattern in PostgreSQL SaaS applications. Each tenant gets its own schema β€” tenant_1, tenant_2, and so on β€” with an identical table structure but fully isolated data. The application layer queries the right schema at runtime, and the databas … | Continue reading


@yellowduck.be | 4 days ago

πŸ”— The valley of webhooks

What happens when webhooks, which were meant to trigger side effects, are used to transfer data instead? The article dives into the complexities and pitfalls that arise from treating webhook notifications as a reliable means of data synchronization. The author recounts their expe … | Continue reading


@yellowduck.be | 4 days ago

πŸ”— There's no Artisan schema:show, so I built one.

Where do you start when faced with undocumented database tables in a project? Laravel’s default commands don’t visualize the relationships between tables. Alberto Arena introduces Truss, a live database structure viewer for Laravel that creates a detailed, interactive ER diagram … | Continue reading


@yellowduck.be | 4 days ago

πŸ”— Merge conflicts are a process problem, not a Git problem

Most developers misidentify merge conflicts as a problem with Git. However, the article points out that these conflicts actually stem from issues in the development process itself. It highlights how long-lived branches and large pull requests increase the chances of conflicts whi … | Continue reading


@yellowduck.be | 5 days ago

πŸ”— The 80/20 rule for your whole life

In a world where everyone is looking for shortcuts, Yew Jin Lim presents a compelling argument for the power of the 80/20 rule, or Pareto Principle, in life. Drawing from his experiences as a junior engineer at Google, he illustrates how focusing 80% of energy on core endeavors w … | Continue reading


@yellowduck.be | 5 days ago

πŸ”— Go is not just for CLIs. It runs the cloud native control plane

Is Go really just for command-line interfaces? Far from it. In a recent analysis, it was revealed that 19 out of 20 key projects defining the cloud native stack predominantly use Go, often exceeding 90% in code composition. The meme suggesting Go’s limited utility overlooks its i … | Continue reading


@yellowduck.be | 5 days ago

πŸ”— Running tasks in production with Elixir releases: RPC, eval, and remote

How do you run tasks in a Phoenix app once it's in production? This article highlights the limitations of Mix in a production environment and introduces alternative commands like rpc, eval, and remote provided by Elixir releases. It details building a recurring task in a deployed … | Continue reading


@yellowduck.be | 6 days ago

πŸ”— Engineers grieve a job that no longer exists

Something is happening in engineering teams that doesn’t show up in sprint velocity or deployment frequency; it shows up in resignation letters. The best engineers are burning out not just because of workload, but due to a deeper identity crisis as they are transitioning from bui … | Continue reading


@yellowduck.be | 6 days ago

πŸ”— Speeding up Elixir test suites

Last week, a developer optimized their Elixir/Phoenix test suite, reducing runtime from 313 seconds to 64 seconds. Key improvements included making tests async, which dramatically increased concurrency. Previously, 134 of 940 test files were running asynchronously, harming perfor … | Continue reading


@yellowduck.be | 6 days ago

πŸ”— Use Postgres as a simple task queue for Django 🐘

Using Postgres as a task queue for Django offers simplicity and reliability. In a compelling case, a startup named Nomio adopted Postgres over traditional options like Celery and Redis due to its straightforward implementation and decreased likelihood of task loss. The article ou … | Continue reading


@yellowduck.be | 7 days ago

πŸ”— Create a Django and React app with auto-generated Django types

Building a type-safe application is crucial, and this article presents an effective solution. By integrating Django with React using type-safety, changes in Django models automatically propagate to TypeScript components, eliminating runtime errors due to discrepancies between fro … | Continue reading


@yellowduck.be | 7 days ago

πŸ”— Postgres as queue

Using Postgres as a queue can simplify architecture and reduce complexity. The article shares insights from a team that effectively implemented this strategy to minimize infrastructure issues and avoid the overhead of elaborate message brokers. By polling and processing tasks dir … | Continue reading


@yellowduck.be | 7 days ago

πŸ”— The simplest way to add Tailwind CSS to Django πŸ’¨

What does it mean to add Tailwind CSS to a Django project? This article by Tom Dekan provides a straightforward guide on integrating Tailwind CSS into Django templates using the Tailwind CSS Standalone CLI. It emphasizes the importance of writing Tailwind code, which is then conv … | Continue reading


@yellowduck.be | 8 days ago

πŸ”— How to secure a Linux server: An evolving how-to guide for securing a Linux server

An evolving must-read guide for anyone looking to secure their Linux server. With over 31,000 stars on GitHub, this resource covers essential hardening techniques, from linux-kernel-sysctl-hardening to configuring nginx. The guide is open-source and continually updated, making it … | Continue reading


@yellowduck.be | 8 days ago

πŸ”— Cluster singleton pattern

The challenge of safely running a single instance of a process in a distributed Elixir cluster can lead to frustrating failures. In her latest article, Johanna Larsson shares insights into the cluster singleton pattern and how to manage globally unique processes using GenServer a … | Continue reading


@yellowduck.be | 8 days ago

πŸ”— The dangers of the Single Global Process

The Single Global Process (SGP) pattern, although seemingly elegant, introduces serious issues in distributed systems. Highlighted by the author, such as in the context of building Elixir applications, using SGP can lead to data integrity problems when scaling beyond a single nod … | Continue reading


@yellowduck.be | 9 days ago

πŸ”— Bug blindness

Why do some programmers notice bugs that others completely overlook? This article dives into the phenomenon of bug blindness, where individuals fail to recognize issues in software that may be glaring to others. The author reflects on personal experiences, suggesting that familia … | Continue reading


@yellowduck.be | 9 days ago

πŸ”— Building distributed systems in Elixir: Part 7 β€” worker pool

How can a system efficiently handle many jobs without overwhelming its resources? This article introduces a custom Worker Pool built in Elixir, tackling the challenges of unbounded concurrency within distributed systems. It starts with the problems faced when a system has to mana … | Continue reading


@yellowduck.be | 9 days ago

πŸ”— Full-text search at Contentful just got faster: Why it’s important and how we did it

Full-text search in Contentful just got faster β€” we improved the median response time by 35%. This is the story of how we did it and why it's important. Continue reading on www.contentful.com#reading-list #database #best-practice #devops | Continue reading


@yellowduck.be | 17 days ago

πŸ”— Re: Linking Patchwork with Sashiko?

On July 14, 2026, Linus Torvalds expressed strong opinions about the role of AI in the Linux kernel development process. He countered the notion of an anti-AI stance within the community, making it clear that AI tools, including LLMs, can enhance the work of maintainers rather th … | Continue reading


@yellowduck.be | 17 days ago

πŸ”— Go 1.27 release notes

Go 1.27 has arrived with significant toolchain, runtime, and library updates. It introduces support for generic methods, allowing methods to declare their own type parameters, promoting better data type encapsulation. The math/rand/v2 module now has a generic method signature. Ad … | Continue reading


@yellowduck.be | 17 days ago

πŸ”— How Instacart built a modern search infrastructure on PostgreSQL

In a previous blog post β€œImproving search at Instacart using hybrid recall”, we shared our progress on adaptively combining traditional full text search with embedding-based retrieval. Embarking on this journey required rethinking our search infrastructure to support hybrid recal … | Continue reading


@yellowduck.be | 18 days ago

πŸ”— Building distributed systems in Elixir: Part 5 β€” Supervisor from scratch

In the latest installment of his series, the article breaks down how to create a supervisor from scratch in Elixir, emphasizing the concepts of process links and exit signals. The author illustrates the implementation of a manual supervisor managing two worker processes, highligh … | Continue reading


@yellowduck.be | 18 days ago

πŸ”— Building distributed systems in Elixir: Part 4 β€” Process linking

In this article, Krishnadaspc dives into the concept of process linking in Elixir, exploring how failure relationships affect processes. He explains that when a parent process and a worker process are linked, if one fails, the other can be impacted, which helps maintain system in … | Continue reading


@yellowduck.be | 18 days ago

πŸ”— Building distributed systems in Elixir: Part 3 β€” Process monitoring

What happens when a process dies in a distributed Elixir application? Instead of polling to check if a worker is alive, Elixir provides an elegant solution through process monitoring. This article guides readers through building a process monitoring system using the Process.monit … | Continue reading


@yellowduck.be | 19 days ago

πŸ”— Building distributed systems in Elixir: Part 1 - Building a stateful process in Elixir without GenServer

What if a counter could be a process instead of just a variable? This article introduces the concept of building stateful processes in Elixir without using GenServer, focusing on the underlying message-passing model. The author, Krishnadas, details the creation of a simple counte … | Continue reading


@yellowduck.be | 19 days ago

πŸ”— Your application is already an MCP server

Today marks the release of tempest/mcp, a new package designed for integrating AI clients with Tempest applications via the Model Context Protocol (MCP). This tool allows support agents to interact seamlessly with tasks like updating tickets and checking application states withou … | Continue reading


@yellowduck.be | 19 days ago

πŸ”— Your CI should be disposable

Your CI should only schedule builds, not install dependencies. It promotes a disposable approach, allowing local runs with a simple command. The article highlights using tools like Docker, Nix, or Makefiles to keep the process streamlined. With a well-defined workflow like steps: … | Continue reading


@yellowduck.be | 20 days ago

πŸ”— Ten books that shaped how I think

What foundational texts have fundamentally influenced an engineer's mindset? This article highlights ten impactful books, each shaping a crucial aspect of thinking in engineering and beyond. From John Ousterhout's A Philosophy of Software Design, which emphasizes hiding complexit … | Continue reading


@yellowduck.be | 20 days ago

πŸ”— The case for tri-state dark mode toggles

Adding a dark mode toggle often leads many developers to implement a simple binary switch. However, the article argues that this approach is flawed for user experience. A tri-state controlβ€”allowing options for system, light, and dark modesβ€”provides clearer intent and avoids confu … | Continue reading


@yellowduck.be | 20 days ago

πŸ”— 1 million DB updates, 3 days, 200 lines of Go: A legacy rescue story

A legacy PHP application faced daily failures, causing delays in marketing campaigns. Instead of a complete rewrite, the team opted for a minimal intervention using Go and RabbitMQ. By decoupling the request lifecycle, they managed to process user updates asynchronously without o … | Continue reading


@yellowduck.be | 21 days ago

πŸ”— The agent needs identity. The model does not.

A support agent may need a customer's email address to perform a lookup, but importantly, the model does not require that information. This article delves into the challenges of maintaining this distinction throughout an agent's operations, especially as it starts calling tools. … | Continue reading


@yellowduck.be | 21 days ago

πŸ”— Can’t touch the DOM? Reach for :has() to style any element

Using third-party component libraries can speed up development but often limits styling flexibility. Andrew Spencer introduces the CSS pseudo-class :has(), which allows developers to style parent or sibling elements without modifying the DOM directly. This tool lets you style ele … | Continue reading


@yellowduck.be | 21 days ago

πŸ”— Engineering judgment matters more than ever

The rise of AI agents in software development raises a critical question: can technology replace human engineering judgment? In a recent article, the author's experience illustrates how coding methodologies have transitioned with the integration of AI tools like GitHub Copilot an … | Continue reading


@yellowduck.be | 22 days ago

πŸ”— APIs are 100x more important than five years ago, and still uncool

APIs might be boring topics for casual conversation, but their significance has skyrocketed. Kin Lane reveals that APIs are now about a hundred times more crucial than they were five years ago, even as their visibility diminishes. While AI grabs the spotlight, it relies heavily o … | Continue reading


@yellowduck.be | 22 days ago

πŸ”— A deep (and fuzzy) dive into search

How does fuzzy search transform how we match terms in data? This article by Andrey Abramov unveils the inner workings of fuzzy search algorithms like Levenshtein automata and n-gram similarity. Initially launched in SereneDB six years ago, the article revisits the foundational al … | Continue reading


@yellowduck.be | 22 days ago