# asynchronous

Published articles for asynchronous.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## \[$\] Thread-identity switcheroo for io\_uring

DevFeed: [\[$\] Thread-identity switcheroo for io\_uring](<https://devfeed.tech/articles/thread-identity-switcheroo-for-io-uring-42126.md>)

Original publisher: [Read original article](<https://lwn.net/Articles/1094303/>)

Author: corbet

Published: 2026-09-17T13:49:59Z

Content type: article

Language: en

Sources: [LWN.net](<https://devfeed.tech/sources/lwn-net.md>)

Topics: [io\_uring](<https://devfeed.tech/topics/io-uring.md>), [execution](<https://devfeed.tech/topics/execution.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>)

Tags: [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [execution](<https://devfeed.tech/tags/execution.md>), [io-uring](<https://devfeed.tech/tags/io-uring.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [performance](<https://devfeed.tech/tags/performance.md>), [rfc](<https://devfeed.tech/tags/rfc.md>), [thread](<https://devfeed.tech/tags/thread.md>)

### AI overview

An RFC patch set proposes a new approach to preserving io_uring's guarantee that applications do not block during asynchronous execution. The proposal addresses kernel paths not designed for asynchronous execution and the performance cost of existing workarounds.

### Source excerpt

The io_uring subsystem is all about asynchronous execution; applications count on it to not block -- unless explicitly requested to. Within io_uring, maintaining the "never blocks" guarantee has sometimes been a challenge, given that many paths in the kernel were never designed for asynchronous execution. This problem has been worked around, but at a significant cost to performance. Now, io_uring maintainer Jens Axboe has posted an RFC patch set with a somewhat radical (and potentially scary) solution to the problem.

## CodeSOD: Asynchronous Directories

DevFeed: [CodeSOD: Asynchronous Directories](<https://devfeed.tech/articles/codesod-asynchronous-directories-28505.md>)

Original publisher: [Read original article](<https://thedailywtf.com/articles/asynchronous-directories>)

Author: Remy Porter

Published: 2026-09-09T06:30:00Z

Content type: article

Language: en

Sources: [The Daily WTF](<https://devfeed.tech/sources/the-daily-wtf.md>)

Topics: [Vala](<https://devfeed.tech/topics/vala.md>), [async/await](<https://devfeed.tech/topics/async-await.md>), [Library](<https://devfeed.tech/topics/library.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [async](<https://devfeed.tech/tags/async.md>), [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [await](<https://devfeed.tech/tags/await.md>), [codesod](<https://devfeed.tech/tags/codesod.md>), [exceptions](<https://devfeed.tech/tags/exceptions.md>), [filesystem](<https://devfeed.tech/tags/filesystem.md>), [writing-code](<https://devfeed.tech/tags/writing-code.md>)

### AI overview

This article examines implementing an asynchronous version of Vala's directory-creation method when the core library provides only a synchronous version. The proposed function walks up the directory tree, then creates missing directories in reverse order, using exceptions for control flow.

### Source excerpt

Eri has a mix of a "true confession" and a "wait, really?" today. The programming language Vala bills itself as a C# like language that compiles into something pretty close to C performance, designed specifically for writing code against Gnome and its associated libraries. One of the C#-isms in brings in is async/await type semantics. You can yield someAsyncFunction(), which returns control to the caller, allowing it to proceed until the yielded function returns an actual value. Because it has asynchronous functions, many library functions for handling I/O are already async. So you can make_directory_async, which yields control so you can keep executing while waiting for the filesystem to make your directory. There are also synchronous versions of those methods. And then there's create_directory_with_parents, which will create a chain of directories for you. That's the synchronous version, and Vala's core library has decided not to provide an asynchronous version of it, which is my "wait, really?" I suspect it's really about the race conditions involved and the risks of things going wrong while doing it asynchronously; all solvable problems, but tricky ones to solve. But it's the problem Eri had, and this is their solution: /// Note: does not throw if target already exists async void create_directory_with_parents_async(File file, Cancellable? cancellable = null) throws Error { var to_create = new File[0]; var? current_target = file; while(current_target != null) { try { yield current_target.make_directory_async(Priority.DEFAULT, cancellable); } catch(IOError.NOT_FOUND e) { to_create += current_target; current_target = current_target.get_parent(); continue; } catch(IOError.EXISTS e) { break; } break; } for (int i = to_create.length - 1; i >= 0; --i) { try { yield to_create[i].make_directory_async(Priority.DEFAULT, cancellable); } catch(IOError.EXISTS e) { // Created by another process } } } If I'm reading this correctly, we start by trying to create the full path to

## Fill an SMS Verification Code Without Reading the Inbox

DevFeed: [Fill an SMS Verification Code Without Reading the Inbox](<https://devfeed.tech/articles/fill-an-sms-verification-code-without-reading-the-inbox-19522.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/sms-otp-autofill/>)

Author: Shai Almog

Published: 2026-09-07T00:00:00Z

Content type: tutorial

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Web](<https://devfeed.tech/topics/web.md>), [Security](<https://devfeed.tech/topics/security.md>), [API](<https://devfeed.tech/topics/api.md>), [Accessibility](<https://devfeed.tech/topics/accessibility.md>)

Tags: [accessibility](<https://devfeed.tech/tags/accessibility.md>), [android](<https://devfeed.tech/tags/android.md>), [api](<https://devfeed.tech/tags/api.md>), [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [ios](<https://devfeed.tech/tags/ios.md>), [otp](<https://devfeed.tech/tags/otp.md>), [permission](<https://devfeed.tech/tags/permission.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

Codename One adds one-time-code autofill, a country-aware phone-number field, and a verification component for iOS, Android, and the browser without requesting access to the rest of the SMS inbox. The article explains the asynchronous verification flow, server-side security responsibilities, and a single-editor design that improves typing, pasting, accessibility, and autofill.

### Source excerpt

Codename One adds phone-number and OTP components plus one-time-code autofill on iOS, Android, and the web without requesting permission to read SMS messages.

## Handling Asynchronous Images in Android Screenshot Tests

DevFeed: [Handling Asynchronous Images in Android Screenshot Tests](<https://devfeed.tech/articles/handling-asynchronous-images-in-android-screenshot-tests-24846.md>)

Original publisher: [Read original article](<https://alexzh.com/handling-asynchronous-images-in-android-screenshot-tests/>)

Author: Alex Zhukovich

Published: 2026-08-27T07:41:23Z

Content type: tutorial

Language: en

Sources: [Alex Zhuk - Android development and testing](<https://devfeed.tech/sources/alex-zhuk-android-development-and-testing.md>)

Topics: [Testing](<https://devfeed.tech/topics/testing.md>), [Android](<https://devfeed.tech/topics/android.md>), [test](<https://devfeed.tech/topics/test.md>), [Compose](<https://devfeed.tech/topics/compose.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [junit](<https://devfeed.tech/tags/junit.md>), [screenshot-testing](<https://devfeed.tech/tags/screenshot-testing.md>), [tests](<https://devfeed.tech/tags/tests.md>)

### AI overview

This tutorial explains why asynchronous image loading makes Android screenshot tests unstable or inconsistent. It presents two approaches for deterministic results: injecting fake images with the coil-test library and using Compose inspection mode when the first approach is unavailable.

### Source excerpt

This article is based on a chapter from my book, Mastering Android Screenshot Testing. Modern applications frequently load images asynchronously, which is a common cause of unstable screenshot tests or confusion when you review newly generated screenshots. A test can pass locally and fail on CI, produce a different image

## Native Async/Coroutine Reads in RocksDB

DevFeed: [Native Async/Coroutine Reads in RocksDB](<https://devfeed.tech/articles/native-async-coroutine-reads-in-rocksdb-22403.md>)

Original publisher: [Read original article](<http://rocksdb.org/blog/2026/08/24/native-coroutine-reads.html>)

Author: Josh Kang

Published: 2026-08-24T00:00:00Z

Content type: release

Language: en

Sources: [RocksDB](<https://devfeed.tech/sources/rocksdb.md>)

Topics: [rocksdb](<https://devfeed.tech/topics/rocksdb.md>), [Coroutines](<https://devfeed.tech/topics/coroutines.md>), [C++](<https://devfeed.tech/topics/c-plus-plus.md>), [IO](<https://devfeed.tech/topics/io.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [async](<https://devfeed.tech/tags/async.md>), [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [blog](<https://devfeed.tech/tags/blog.md>), [c-plus-plus](<https://devfeed.tech/tags/c-plus-plus.md>), [coroutine](<https://devfeed.tech/tags/coroutine.md>), [io](<https://devfeed.tech/tags/io.md>), [native](<https://devfeed.tech/tags/native.md>), [rocksdb](<https://devfeed.tech/tags/rocksdb.md>), [thread](<https://devfeed.tech/tags/thread.md>)

### AI overview

RocksDB introduces experimental asynchronous Get and MultiGet APIs backed by native C++ coroutines. The APIs can suspend storage-bound reads, allowing a small executor to run other ready tasks and maintain more storage queue depth without one blocked application thread per read. The feature targets throughput for I/O-bound point lookups rather than reducing individual device-read latency.

### Source excerpt

A point lookup that misses RocksDB's block cache can spend most of its time waiting for storage. The traditional way to keep more reads in flight is to add threads. That works, but each outstanding read parks a thread, carries a stack, and adds context-switching overhead. RocksDB now has experimental asynchronous Get and MultiGet APIs backed by native C++ coroutines. When a read reaches storage, RocksDB can suspend the request, let its read-executor worker run another ready task, and resume the request when the filesystem reports completion. A small executor can therefore maintain more storage queue depth without requiring one blocked application thread per read. These APIs are available in RocksDB 11.10.0. This is primarily a throughput feature for I/O-bound point lookups. It does not make an individual device read faster. Its benefit comes from keeping the device busy and using CPU threads for runnable work. The API surface RocksDB exposes the new read path through two public interfaces: DB::GetAsync and DB::MultiGetAsync return immediately on the native path and report completion through AsyncCallback::OnComplete. CoroDB::CoGet and CoroDB::CoMultiGet return lazy folly::coro::Task objects. CoGet produces a Status; CoMultiGet fills the same per-key values and statuses as synchronous MultiGet. The callback APIs suit applications that do not expose Folly tasks at their boundaries. The CoroDB APIs let coroutine-based callers await RocksDB directly, avoiding an application-side callback-to-Baton adapter and its extra completion handoff. Native execution requires RocksDB to be built with Folly and USE_COROUTINES=1. Neither interface requires ReadOptions::async_io. That flag continues to control the older internal async-I/O optimizations for synchronous MultiGet and iterators. The task APIs are lazy: no read begins until a task is awaited or started. Both interfaces take pointer and reference parameters, so keep the DB, column-family handles, ReadOptions, keys and their

## Watch Apps: One Codebase, Two Real Applications

DevFeed: [Watch Apps: One Codebase, Two Real Applications](<https://devfeed.tech/articles/watch-apps-one-codebase-two-real-applications-19666.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/watch-apps-phone-channel/>)

Author: Shai Almog

Published: 2026-08-22T00:00:00Z

Content type: tutorial

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [SwiftUI](<https://devfeed.tech/topics/swiftui.md>), [Android](<https://devfeed.tech/topics/android.md>), [media3](<https://devfeed.tech/topics/media3.md>), [SQLite](<https://devfeed.tech/topics/sqlite.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [api](<https://devfeed.tech/tags/api.md>), [apk](<https://devfeed.tech/tags/apk.md>), [apple](<https://devfeed.tech/tags/apple.md>), [apple-watch](<https://devfeed.tech/tags/apple-watch.md>), [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [files](<https://devfeed.tech/tags/files.md>), [release](<https://devfeed.tech/tags/release.md>), [sqlite](<https://devfeed.tech/tags/sqlite.md>), [state](<https://devfeed.tech/tags/state.md>), [swiftui](<https://devfeed.tech/tags/swiftui.md>), [watchos](<https://devfeed.tech/tags/watchos.md>)

### AI overview

Codename One can build Apple Watch companion applications and Wear OS applications from a shared watch entry point. The article explains separate application runtimes and storage, platform-specific rendering, and asynchronous communication for live messages, replicated state, and file transfers.

### Source excerpt

Codename One now builds Apple Watch companions and standalone Wear OS products from one watch entry point, with a portable asynchronous API for messages, state, and files.

## A Repeatable Human-in-the-Loop Process for Large-Scale LLM Classification

DevFeed: [A Repeatable Human-in-the-Loop Process for Large-Scale LLM Classification](<https://devfeed.tech/articles/stop-building-models-start-building-systems-22564.md>)

Original publisher: [Read original article](<https://tech.scribd.com/blog/2026/fast-llm-human-in-the-loop-classification.html>)

Author: Anish Kumar

Published: 2026-07-11T00:00:00Z

Content type: article

Language: en

Sources: [Scribd Tech](<https://devfeed.tech/sources/scribd-tech.md>)

Topics: [Large Language Model](<https://devfeed.tech/topics/llm.md>), [Prompt Engineering](<https://devfeed.tech/topics/prompt-engineering.md>), [Inference](<https://devfeed.tech/topics/inference.md>), [datasets](<https://devfeed.tech/topics/datasets.md>), [data](<https://devfeed.tech/topics/data.md>)

Tags: [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [batch](<https://devfeed.tech/tags/batch.md>), [content-trust-series](<https://devfeed.tech/tags/content-trust-series.md>), [cost](<https://devfeed.tech/tags/cost.md>), [data](<https://devfeed.tech/tags/data.md>), [databricks](<https://devfeed.tech/tags/databricks.md>), [datasets](<https://devfeed.tech/tags/datasets.md>), [evaluation](<https://devfeed.tech/tags/evaluation.md>), [featured](<https://devfeed.tech/tags/featured.md>), [inference](<https://devfeed.tech/tags/inference.md>), [llm](<https://devfeed.tech/tags/llm.md>), [machinelearning](<https://devfeed.tech/tags/machinelearning.md>), [models](<https://devfeed.tech/tags/models.md>), [production](<https://devfeed.tech/tags/production.md>), [prompt](<https://devfeed.tech/tags/prompt.md>), [scribd](<https://devfeed.tech/tags/scribd.md>), [workflow](<https://devfeed.tech/tags/workflow.md>)

### AI overview

The article presents a repeatable human-in-the-loop process for large-scale LLM classification. It combines fast-model labeling, judge-model disagreement detection, targeted SME review, a golden dataset built from corrections, and selective prompt iteration.

### Source excerpt

LLM models change. Prompt quality changes. Cost changes. We assumed that from day one.

## How DeveloperHub Migrated Its Editor and Document Storage Without Downtime

DevFeed: [How DeveloperHub Migrated Its Editor and Document Storage Without Downtime](<https://devfeed.tech/articles/editor-transplanted-30955.md>)

Original publisher: [Read original article](<https://developerhub.io/blog/editor-transplanted/>)

Author: Zaid Daba'een

Published: 2026-07-05T15:59:20Z

Content type: article

Language: en

Sources: [DeveloperHub.io](<https://devfeed.tech/sources/developerhub-io.md>)

Topics: [migration](<https://devfeed.tech/topics/migration.md>), [Documentation](<https://devfeed.tech/topics/documentation.md>), [Angular](<https://devfeed.tech/topics/angular.md>), [Markdown](<https://devfeed.tech/topics/markdown.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [angular](<https://devfeed.tech/tags/angular.md>), [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [maintenance](<https://devfeed.tech/tags/maintenance.md>), [markdown](<https://devfeed.tech/tags/markdown.md>), [migration](<https://devfeed.tech/tags/migration.md>)

### AI overview

DeveloperHub describes replacing its editor, storage format, link model, and history system. The migration moved millions of documents from a text-and-plugins format to a structured document model, ran both systems in parallel, used asynchronous workers, and gated rollout with feature flags so customers experienced no maintenance window or required action.

### Source excerpt

How we replaced the heart of DeveloperHub, the editor and the way every page is stored, with zero downtime and nothing for our customers to do

## Community Comebacks, Angular 21.1 Features, and Smarter Signal Forms ⚡

DevFeed: [Community Comebacks, Angular 21.1 Features, and Smarter Signal Forms ⚡](<https://devfeed.tech/articles/community-comebacks-angular-21-1-features-and-smarter-signal-forms-18905.md>)

Original publisher: [Read original article](<https://blog.angular.dev/angular-community-weekly-14-25842ff36020?source=rss----447683c3d9a3---4>)

Author: Angular

Published: 2026-06-19T10:01:04Z

Content type: article

Language: en

Sources: [Angular](<https://devfeed.tech/sources/angular.md>)

Topics: [Angular](<https://devfeed.tech/topics/angular.md>), [Forms](<https://devfeed.tech/topics/forms.md>), [async](<https://devfeed.tech/topics/async.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>), [legacy](<https://devfeed.tech/topics/legacy.md>), [migration](<https://devfeed.tech/topics/migration.md>)

Tags: [angular](<https://devfeed.tech/tags/angular.md>), [angular-newsletter](<https://devfeed.tech/tags/angular-newsletter.md>), [angular-release](<https://devfeed.tech/tags/angular-release.md>), [angular-weekly](<https://devfeed.tech/tags/angular-weekly.md>), [async](<https://devfeed.tech/tags/async.md>), [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [forms](<https://devfeed.tech/tags/forms.md>), [legacy](<https://devfeed.tech/tags/legacy.md>), [migration](<https://devfeed.tech/tags/migration.md>), [open-source](<https://devfeed.tech/tags/open-source.md>)

### AI overview

This Angular community roundup covers podcast episodes about Angular 20 and developer career setbacks, a recap of Angular 21.1, Signal Forms techniques for asynchronous validators and debouncing, dynamic form lists, an interview about joining the Angular team, and migration to modern Control Flow syntax.

### Source excerpt

The Angular community is about much more than just code -- it's about the people building it, their career journeys, and how we collaborate. This week's roundup features inspiring community stories alongside technical deep dives into the Angular 21.1 features and advanced form tuning. Tune into this week's excellent community resources The Dev Life Podcast: Inside Angular 20 & Navigating Layoffs Brooke Avery @JediBravery and Matthew Christiansen back-to-back drop two must-listen episodes of The Dev Life podcast. First, they sit down with Minko Gechev @mgechev to go inside the engineering decisions of Angular 20. Then, they host GDE Chris Perko for an incredibly timely, candid conversation about bouncing back from tech layoffs and turning career setbacks into massive opportunities. Listen to Ep. 3 (Inside Angular 20): https://www.youtube.com/watch?v=QhfXXXzOD6g Listen to Ep. 4 (Navigating Layoffs): https://www.youtube.com/watch?v=laYzvyEDtw8 What was new in Angular 21.1? Alain Chautard @AlainChautard provides a fantastic, concise recap of the January Angular release. If you want to know what minor features, bug fixes, and performance polishes landed in Angular 21.1, this is your go-to guide. Read the release recap: https://blog.angulartraining.com/whats-new-in-angular-21-1-7454f699104f Stop Wasting API Calls! Async Validators & Debouncing Fanis Prodromou @prodromouf tackles a massive real-world performance issue in form handling. Learn how to combine asynchronous validators with debouncing in the Signal Forms API to keep your backend from being overwhelmed by unnecessary API requests. Watch the tutorial: https://youtu.be/R10dQ4zlWs0 Dynamic Lists & Joining the Angular Team (French) Modeste Assiongbon @rblmdst shares two incredible French-language videos this week. Dive into a technical walkthrough on handling dynamic field lists using Signal Forms. Then, catch an inspiring interview with Matthieu Riegler @Jean_Meche, tracking his journey from a casual open-source cont

## Building the Crossplay Board

DevFeed: [Building the Crossplay Board](<https://devfeed.tech/articles/building-the-crossplay-board-39148.md>)

Original publisher: [Read original article](<https://open.nytimes.com/building-the-crossplay-board-6de68c8574f9?source=rss----51e1d1745b32---4>)

Author: The NYT Open Team

Published: 2026-06-08T16:46:30Z

Content type: tutorial

Language: en

Sources: [New York Times](<https://devfeed.tech/sources/new-york-times.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Development](<https://devfeed.tech/topics/development.md>), [Jetpack Compose](<https://devfeed.tech/topics/jetpack-compose.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [ui](<https://devfeed.tech/topics/ui.md>), [screen](<https://devfeed.tech/topics/screen.md>), [real-time](<https://devfeed.tech/topics/real-time.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-app-development](<https://devfeed.tech/tags/android-app-development.md>), [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [code](<https://devfeed.tech/tags/code.md>), [compose](<https://devfeed.tech/tags/compose.md>), [development](<https://devfeed.tech/tags/development.md>), [draggable](<https://devfeed.tech/tags/draggable.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [multiplayer](<https://devfeed.tech/tags/multiplayer.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [screen](<https://devfeed.tech/tags/screen.md>)

### AI overview

The New York Times Games team describes building the Android game board for Crossplay, a multiplayer word game with a 15x15 grid, draggable tiles, real-time animation, and asynchronous matches. The team used a hybrid architecture: an Android GridLayout with 225 tile Views integrated into surrounding Jetpack Compose UI.

### Source excerpt

How We Made a 15X15 Game Surface Feel at Home on AndriodIllustration by Lehel Kovács By Shafik Quoraishee What Is Crossplay? The New York Times Games team has been building daily puzzles for quite a while: Wordle, Spelling Bee, Connections, The Mini. These are solo games. The player opens them, solves them, and then closes them. This leads to a simple, satisfying experience which delights millions of players a day. Crossplay is an altogether different endeavor. It's the first multiplayer game from NYT Games, and it brings a friend (or a stranger) into the experience with them. So two players, one board, in real time. In Crossplay, players take turns placing letter tiles on a 15x15 grid to form interlocking words, but built for mobile with a focus on speed, fairness, and the back-and-forth tension that compels the player to play one more round. The matches are asynchronous by default. The player makes their move, the opponent gets notified and responds when they're ready. But the board animates as if the players are both sitting at the same table. When we set out to build it, we knew the board would be the hardest part. While the networking, the opponent matching, and the game logic were all challenging work, the board itself which is part of the core game loop was the most difficult piece because of the number of interactions required to make it function correctly, in concert. Since every cell is a potential drop target and every tile is draggable, the board needs to respond instantly to touch *and* animate their opponent's moves *as they happen*. This all must occur on a screen that is a few inches wide. In this post we discuss what it took to get that right on Android. Starting with the Grid One of our first questions was architectural. How should 225 tiles be laid out? Jetpack Compose is the obvious modern choice. But Crossplay's development started before our team had fully migrated to Compose, and the game board had specific requirements that made a pure-Compos

## Xen on RISC-V: Dom0 Boot, Hypercalls and Docker Toolchain

DevFeed: [Xen on RISC-V: Dom0 Boot, Hypercalls and Docker Toolchain](<https://devfeed.tech/articles/xen-on-risc-v-dom0-boot-hypercalls-and-docker-toolchain-12818.md>)

Original publisher: [Read original article](<https://xcp-ng.org/blog/2026/05/22/xen-on-risc-v-dom0-boot-hypercalls-and-docker-toolchain/>)

Author: Baptiste Le Duc

Published: 2026-05-22T08:30:21Z

Content type: article

Language: en

Sources: [XCP-ng Blog](<https://devfeed.tech/sources/xcp-ng-blog.md>)

Topics: [RISC-V](<https://devfeed.tech/topics/riscv.md>), [Docker](<https://devfeed.tech/topics/docker.md>), [Tooling](<https://devfeed.tech/topics/tooling.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>)

Tags: [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [boot](<https://devfeed.tech/tags/boot.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [communication](<https://devfeed.tech/tags/communication.md>), [docker](<https://devfeed.tech/tags/docker.md>), [interrupt](<https://devfeed.tech/tags/interrupt.md>), [memory](<https://devfeed.tech/tags/memory.md>), [risc-v](<https://devfeed.tech/tags/risc-v.md>), [tooling](<https://devfeed.tech/tags/tooling.md>)

### AI overview

This first post in a series reports progress on bringing Xen guest-domain support to RISC-V. It describes Dom0 boot work, hypercall communication through SBI ecall, event-channel notifications, and a Docker environment for building and running the stack on an x86 laptop.

### Source excerpt

Latest progress on Xen for RISC-V, including Dom0 boot, hypercalls and Docker-based tooling.

## Orchestrate temporary rate limit increases on Temporal Cloud namespaces

DevFeed: [Orchestrate temporary rate limit increases on Temporal Cloud namespaces](<https://devfeed.tech/articles/orchestrate-temporary-rate-limit-increases-on-temporal-cloud-namespaces-36053.md>)

Original publisher: [Read original article](<https://temporal.io/blog/temporary-rate-limit-increases>)

Author: Taylor Khan

Published: 2026-05-19T00:00:00Z

Content type: tutorial

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [Cloud](<https://devfeed.tech/topics/cloud.md>), [Provisioning](<https://devfeed.tech/topics/provisioning.md>)

Tags: [applications](<https://devfeed.tech/tags/applications.md>), [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [automatically](<https://devfeed.tech/tags/automatically.md>), [capacity](<https://devfeed.tech/tags/capacity.md>), [client](<https://devfeed.tech/tags/client.md>), [cloud](<https://devfeed.tech/tags/cloud.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [provisioning](<https://devfeed.tech/tags/provisioning.md>), [temporal-concepts](<https://devfeed.tech/tags/temporal-concepts.md>), [ttl](<https://devfeed.tech/tags/ttl.md>), [workflows](<https://devfeed.tech/tags/workflows.md>)

### AI overview

This tutorial presents a Temporal Workflow pattern for temporarily increasing rate limits on Temporal Cloud namespaces during predictable or temporary throughput spikes. A parent Workflow raises the capacity limit, starts an asynchronous Child Workflow, and completes to unblock the client; the Child Workflow waits for a designated duration before restoring the original limit.

### Source excerpt

Stop overpaying for peak capacity. Use Temporal Workflows to grant time-bound rate limit increases that revert automatically after the TTL expires.

## Event-Driven Architecture with Apache Kafka

DevFeed: [Event-Driven Architecture with Apache Kafka](<https://devfeed.tech/articles/mastering-event-driven-architecture-with-apache-kafka-39559.md>)

Original publisher: [Read original article](<https://ankit-rana.com/logs/07-kafka-event-driven-architecture/>)

Author: hello@ankit-rana.com

Published: 2026-03-16T00:00:00Z

Content type: tutorial

Language: en

Sources: [Ankit Rana | Mechanical Sympathy](<https://devfeed.tech/sources/ankit-rana-mechanical-sympathy.md>)

Topics: [event driven](<https://devfeed.tech/topics/event-driven.md>), [Kafka](<https://devfeed.tech/topics/kafka.md>), [Apache-Kafka](<https://devfeed.tech/topics/apache-kafka.md>), [Scalability](<https://devfeed.tech/topics/scalability.md>), [Resilience](<https://devfeed.tech/topics/resilience.md>), [streaming-data-processing](<https://devfeed.tech/topics/streaming-data-processing.md>), [Latency](<https://devfeed.tech/topics/latency.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [apache-kafka](<https://devfeed.tech/tags/apache-kafka.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [consumer](<https://devfeed.tech/tags/consumer.md>), [distributed-systems](<https://devfeed.tech/tags/distributed-systems.md>), [event-driven-architecture](<https://devfeed.tech/tags/event-driven-architecture.md>), [event-sourcing](<https://devfeed.tech/tags/event-sourcing.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [microservices](<https://devfeed.tech/tags/microservices.md>), [partitions](<https://devfeed.tech/tags/partitions.md>), [real-time](<https://devfeed.tech/tags/real-time.md>), [resilience](<https://devfeed.tech/tags/resilience.md>), [scalability](<https://devfeed.tech/tags/scalability.md>), [schemas](<https://devfeed.tech/tags/schemas.md>), [stream-processing](<https://devfeed.tech/tags/stream-processing.md>)

### AI overview

This tutorial explains event-driven architecture and how Apache Kafka supports asynchronous, real-time data processing. It covers producers, consumers, immutable events, event sourcing, scalability, resilience, stream-processing pipelines, and challenges such as ordering, debugging, and eventual consistency.

### Source excerpt

Event-driven architecture replaces synchronous point-to-point calls with immutable events on a durable log, so producers and consumers scale and fail independently. Kafka provides that log: topics sharded into ordered append-only partitions, replicated across brokers, with consumer groups sharing partitions to scale read throughput.

## How io\_uring improves database performance

DevFeed: [How io\_uring improves database performance](<https://devfeed.tech/articles/how-io-uring-improves-database-performance-39641.md>)

Original publisher: [Read original article](<https://www.gauravsarma.com/posts/2025-12-11_how-iouring-improves-database-performance>)

Published: 2025-12-11T00:00:00Z

Content type: tutorial

Language: en

Sources: [Gaurav Sarma's Blog](<https://devfeed.tech/sources/gaurav-sarma-s-blog.md>)

Topics: [io\_uring](<https://devfeed.tech/topics/io-uring.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Linux Kernel](<https://devfeed.tech/topics/linux-kernel.md>), [NVMe](<https://devfeed.tech/topics/nvme.md>)

Tags: [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [database-performance](<https://devfeed.tech/tags/database-performance.md>), [io](<https://devfeed.tech/tags/io.md>), [io-uring](<https://devfeed.tech/tags/io-uring.md>), [nvme](<https://devfeed.tech/tags/nvme.md>), [performance](<https://devfeed.tech/tags/performance.md>)

### AI overview

This article explains how io_uring improves database performance through shared submission and completion queues, batching, fewer system calls, zero-copy operation, and features such as SQPoll and registered buffers. It also discusses DMA and the relevance of fast NVMe storage.

### Source excerpt

. [How io_uring Improves Database Performance](how-iouring-improves-database-performance-cover...

## Engineering at Deliveroo India: How We Build, Collaborate, and Grow

DevFeed: [Engineering at Deliveroo India: How We Build, Collaborate, and Grow](<https://devfeed.tech/articles/engineering-at-deliveroo-india-how-we-build-collaborate-and-grow-19718.md>)

Original publisher: [Read original article](<https://deliveroo.engineering/2025/11/06/engineering-at-deliveroo-india.html>)

Author: Kartik Visvanathan

Published: 2025-11-06T00:00:00Z

Content type: article

Language: en

Sources: [Deliveroo](<https://devfeed.tech/sources/deliveroo.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [idc](<https://devfeed.tech/topics/idc.md>), [Slack](<https://devfeed.tech/topics/slack.md>), [Figma](<https://devfeed.tech/topics/figma.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [collaboration](<https://devfeed.tech/tags/collaboration.md>), [cross-functional-teams](<https://devfeed.tech/tags/cross-functional-teams.md>), [development](<https://devfeed.tech/tags/development.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [figma](<https://devfeed.tech/tags/figma.md>), [india](<https://devfeed.tech/tags/india.md>), [slack](<https://devfeed.tech/tags/slack.md>)

### AI overview

Kartik Visvanathan describes how Deliveroo's India engineering hub operates as a global, cross-functional development center. The article covers team ownership, collaboration across time zones, co-located roles, asynchronous communication, and tools including Slack, Confluence, and Figma.

### Source excerpt

Hey everyone, I'm Kartik Visvanathan, an Engineering Manager at Deliveroo, based in India. I joined the team in 2023, and it's been an exciting ride ever since. I've built some truly impactful products here, including an advertising platform that we scaled into a profitable business, and a corporate orders product that touched every part of our systems--from restaurants to delivery to customer service. But while building cool stuff is awesome, what I really want to share today is the secret sauce behind it: how we work as a team here in India. A Truly Global Hub Our engineering hub in India is a core driver of Deliveroo's global mission. Over the past few years, our teams have transitioned and taken complete ownership of key product areas. Whether we're improving the restaurant onboarding flow or fine-tuning our delivery times, the work we do here is absolutely core to Deliveroo's success. When our India Development Center (IDC) started a few years back, we had engineers reporting directly to managers in the UK. I was one of the first engineering managers hired in India in 2023, and I was given the opportunity to build a team that was entirely based here. We've since grown to include other roles like product managers, analytics engineers, and data scientists right here in India. This lets us have "co-located teams"--people who can sit in the same room, grab a whiteboard, and even go out for a team social that isn't virtual. When candidates ask about my favorite parts of the job, I always mention three things: cross-team collaboration, work flexibility and life harmony, and a culture of ownership. So let's dive into those. How We Collaborate Across Teams Working with teammates in London and other time zones means a lot of asynchronous communication. We rely heavily on tools like Slack, Confluence, and Figma, which are essentially our digital whiteboards. Regular virtual stand-ups and a focus on clear ownership help us build trust and keep things moving. In the advertis

## Temporal Ruby SDK Reaches General Availability with Rust Core and Deterministic Fiber Scheduler

DevFeed: [Temporal Ruby SDK Reaches General Availability with Rust Core and Deterministic Fiber Scheduler](<https://devfeed.tech/articles/temporal-ruby-crash-proof-fibers-36030.md>)

Original publisher: [Read original article](<https://temporal.io/blog/temporal-ruby-crash-proof-fibers>)

Author: Chad Retz

Published: 2025-10-16T00:00:00Z

Content type: article

Language: en

Sources: [Temporal Blog](<https://devfeed.tech/sources/temporal-blog.md>)

Topics: [Ruby](<https://devfeed.tech/topics/ruby.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [Rust](<https://devfeed.tech/topics/rust.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [cancellation](<https://devfeed.tech/topics/cancellation.md>), [Code](<https://devfeed.tech/topics/code.md>), [Open Source](<https://devfeed.tech/topics/open-source.md>)

Tags: [announcements](<https://devfeed.tech/tags/announcements.md>), [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [cancellation](<https://devfeed.tech/tags/cancellation.md>), [fiber](<https://devfeed.tech/tags/fiber.md>), [guardrails](<https://devfeed.tech/tags/guardrails.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [ruby](<https://devfeed.tech/tags/ruby.md>), [rust](<https://devfeed.tech/tags/rust.md>), [scheduler](<https://devfeed.tech/tags/scheduler.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [workflows](<https://devfeed.tech/tags/workflows.md>)

### AI overview

Temporal Ruby is now generally available, providing Ruby developers with a native-feeling SDK for building durable software and Workflows. The article introduces its programming model and demonstrates Activities, deterministic fibers, durable timers, cancellation, and updates, while also discussing the Rust-powered implementation and execution guardrails.

### Source excerpt

Temporal Ruby SDK is GA. Build durable Ruby Workflows with native APIs, a Rust-powered core, a deterministic fiber scheduler, and guardrails for safe execution.

## Kotlin Coroutines Compared with Reactor for Sequential and Asynchronous Operations

DevFeed: [Kotlin Coroutines Compared with Reactor for Sequential and Asynchronous Operations](<https://devfeed.tech/articles/coroutines-vs-reactor-when-elegance-and-simplicity-crush-complexity-39263.md>)

Original publisher: [Read original article](<https://kt.academy/article/coroutines-vs-reactor>)

Published: 2025-10-06T00:00:00Z

Content type: comparison

Language: en

Sources: [Kt. Academy](<https://devfeed.tech/sources/kt-academy.md>)

Topics: [Coroutines](<https://devfeed.tech/topics/coroutines.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [kotlin-coroutines](<https://devfeed.tech/topics/kotlin-coroutines.md>), [Reactive Streams](<https://devfeed.tech/topics/reactive-streams.md>), [RxJava](<https://devfeed.tech/topics/rxjava.md>), [async/await](<https://devfeed.tech/topics/async-await.md>), [Android](<https://devfeed.tech/topics/android.md>), [Back end](<https://devfeed.tech/topics/backend.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [async](<https://devfeed.tech/tags/async.md>), [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [await](<https://devfeed.tech/tags/await.md>), [backend](<https://devfeed.tech/tags/backend.md>), [compare](<https://devfeed.tech/tags/compare.md>), [comparison](<https://devfeed.tech/tags/comparison.md>), [coroutines](<https://devfeed.tech/tags/coroutines.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-coroutines](<https://devfeed.tech/tags/kotlin-coroutines.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-languages](<https://devfeed.tech/tags/programming-languages.md>), [reactive-streams](<https://devfeed.tech/tags/reactive-streams.md>), [rxjava](<https://devfeed.tech/tags/rxjava.md>), [simple](<https://devfeed.tech/tags/simple.md>), [time](<https://devfeed.tech/tags/time.md>), [workshop-learning-programming](<https://devfeed.tech/tags/workshop-learning-programming.md>)

### AI overview

This article compares Kotlin Coroutines with Reactor for backend and Android development. It argues that coroutines provide more readable and straightforward syntax for sequential and asynchronous operations, while Reactor requires additional operators, concepts, and patterns.

### Source excerpt

A comparison of Kotlin Coroutines and Reactor, highlighting the elegance and simplicity of Coroutines over the complexity of Reactor.

## Kotlin Coroutines and JavaScript

DevFeed: [Kotlin Coroutines and JavaScript](<https://devfeed.tech/articles/kotlin-coroutines-and-javascript-39323.md>)

Original publisher: [Read original article](<https://kt.academy/article/interop-coroutines-js>)

Published: 2025-09-08T00:00:00Z

Content type: tutorial

Language: en

Sources: [Kt. Academy](<https://devfeed.tech/sources/kt-academy.md>)

Topics: [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [kotlin-coroutines](<https://devfeed.tech/topics/kotlin-coroutines.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Promise](<https://devfeed.tech/topics/promise.md>), [TypeScript](<https://devfeed.tech/topics/typescript.md>), [React](<https://devfeed.tech/topics/react.md>)

Tags: [async](<https://devfeed.tech/tags/async.md>), [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [callback](<https://devfeed.tech/tags/callback.md>), [coroutines](<https://devfeed.tech/tags/coroutines.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [kotlin-coroutines](<https://devfeed.tech/tags/kotlin-coroutines.md>), [react](<https://devfeed.tech/tags/react.md>), [typescript](<https://devfeed.tech/tags/typescript.md>), [workshop-learning-programming](<https://devfeed.tech/tags/workshop-learning-programming.md>)

### AI overview

This tutorial explains how to make Kotlin Coroutines APIs usable from JavaScript and TypeScript projects. It covers converting suspending functions to JavaScript async functions, exposing Flow values through callbacks or wrapper classes, and calling regular or promise-returning JavaScript functions from Kotlin Coroutines.

### Source excerpt

How to use Kotlin Coroutines in JavaScript projects, or JavaScript libraries from Kotlin Coroutines.

## Converting Future to CompletableFuture With Java Virtual Threads

DevFeed: [Converting Future to CompletableFuture With Java Virtual Threads](<https://devfeed.tech/articles/converting-future-to-completablefuture-with-java-virtual-threads-18821.md>)

Original publisher: [Read original article](<https://www.morling.dev/blog/future-to-completablefuture-with-java-virtual-threads/>)

Published: 2025-07-17T08:25:00Z

Content type: tutorial

Language: en

Sources: [Gunnar Morling](<https://devfeed.tech/sources/gunnar-morling.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>), [Concurrent Programming](<https://devfeed.tech/topics/concurrent-programming.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [blocking](<https://devfeed.tech/tags/blocking.md>), [java](<https://devfeed.tech/tags/java.md>), [java-8](<https://devfeed.tech/tags/java-8.md>), [threads](<https://devfeed.tech/tags/threads.md>)

### AI overview

This tutorial explains how Java 21+ virtual threads can help convert legacy Future objects into CompletableFuture instances. It contrasts blocking, polling, and asynchronous approaches, noting that virtual threads make blocking inexpensive by unmounting blocked threads from their underlying platform threads.

### Source excerpt

This post explores how virtual threads in Java 21+ provide an elegant solution for converting legacy Future objects into CompletableFuture instances. Since Java 8, the CompletableFuture API provides a convenient way for performing asynchronous operations in a functional, composable way. This makes it very simple to call some long-running methods--for instance involving external I/O--asynchronously and process each result as soon as it is available, without blocking on any threads:

## Understanding Futures and await in Dart and Flutter

DevFeed: [Understanding Futures and await in Dart and Flutter](<https://devfeed.tech/articles/why-await-futures-in-dart-flutter-23990.md>)

Original publisher: [Read original article](<https://quickbirdstudios.com/blog/futures-flutter-dart/>)

Author: Marvin März

Published: 2025-05-27T08:28:16Z

Content type: tutorial

Language: en

Sources: [QuickBird Studios Blog](<https://devfeed.tech/sources/quickbird-studios-blog.md>)

Topics: [Dart](<https://devfeed.tech/topics/dart.md>), [Flutter](<https://devfeed.tech/topics/flutter.md>), [event driven](<https://devfeed.tech/topics/event-driven.md>), [Concurrency](<https://devfeed.tech/topics/concurrency.md>)

Tags: [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [await](<https://devfeed.tech/tags/await.md>), [concurrency](<https://devfeed.tech/tags/concurrency.md>), [dart](<https://devfeed.tech/tags/dart.md>), [event-driven](<https://devfeed.tech/tags/event-driven.md>), [flutter](<https://devfeed.tech/tags/flutter.md>), [future](<https://devfeed.tech/tags/future.md>), [post](<https://devfeed.tech/tags/post.md>)

### AI overview

This tutorial explains how Futures and await work in Dart and Flutter, including their interaction with Dart's single-threaded event loop, asynchronous I/O, and common pitfalls.

### Source excerpt

Futures in Dart might seem straightforward at first glance, but dig a little deeper, and you'll find they can be more intricate than you initially thought. Ever wondered how these asynchronous operations truly play with Dart's single-threaded event loop? Or perhaps you've stumbled upon some of the common pitfalls that can trip up even experienced Flutter developers? Fear not, because we're about to embark on a journey to unravel the mysteries of Futures in Dart and Flutter. The post Why Await? Futures in Dart & Flutter appeared first on QuickBird Studios.

## Postgres 18 Beta 1 Introduces Asynchronous I/O and Upgrade and Observability Changes

DevFeed: [Postgres 18 Beta 1 Introduces Asynchronous I/O and Upgrade and Observability Changes](<https://devfeed.tech/articles/postgres-18-beta-is-out-7-features-you-should-know-about-5727.md>)

Original publisher: [Read original article](<https://neon.com/blog/postgres-18-beta-is-out>)

Author: Heikki Linnakangas

Published: 2025-05-08T21:17:13Z

Content type: release

Language: en

Sources: [Blog -- Neon Docs](<https://devfeed.tech/sources/blog-neon-docs.md>)

Topics: [releases](<https://devfeed.tech/topics/releases.md>), [Release notes](<https://devfeed.tech/topics/release-notes.md>), [io\_uring](<https://devfeed.tech/topics/io-uring.md>), [observability](<https://devfeed.tech/topics/observability.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Statistics](<https://devfeed.tech/topics/statistics.md>)

Tags: [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [io-uring](<https://devfeed.tech/tags/io-uring.md>), [linux](<https://devfeed.tech/tags/linux.md>), [observability](<https://devfeed.tech/tags/observability.md>), [performance](<https://devfeed.tech/tags/performance.md>), [postgres](<https://devfeed.tech/tags/postgres.md>), [release](<https://devfeed.tech/tags/release.md>), [release-notes](<https://devfeed.tech/tags/release-notes.md>), [statistics](<https://devfeed.tech/tags/statistics.md>)

### AI overview

Neon contributors describe the Postgres 18 Beta 1 release, highlighting its new asynchronous I/O subsystem, selectable I/O methods including io_uring, retained planner statistics during pg_upgrade, new upgrade options, and observability changes.

### Source excerpt

Postgres 18 Beta 1 just shipped. As with previous major releases, this beta includes previews of all features planned for general availability. Read the release notes for the full list of updates, but we're gonna go through some highlights on this post. New in Postgres 18 Asynchr...

## Announcing Lix 2.93 "Bici Bici"

DevFeed: [Announcing Lix 2.93 "Bici Bici"](<https://devfeed.tech/articles/announcing-lix-2-93-bici-bici-31373.md>)

Original publisher: [Read original article](<https://lix.systems/blog/2025-05-06-lix-2.93-release/>)

Published: 2025-05-06T00:00:00Z

Content type: release

Language: en

Sources: [News on Lix](<https://devfeed.tech/sources/news-on-lix.md>)

Topics: [releases](<https://devfeed.tech/topics/releases.md>), [Release notes](<https://devfeed.tech/topics/release-notes.md>), [Nix](<https://devfeed.tech/topics/nix.md>), [upgrade](<https://devfeed.tech/topics/upgrade.md>), [deprecated](<https://devfeed.tech/topics/deprecated.md>), [configuration](<https://devfeed.tech/topics/configuration.md>)

Tags: [announce](<https://devfeed.tech/tags/announce.md>), [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [bugfixes](<https://devfeed.tech/tags/bugfixes.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [deprecated](<https://devfeed.tech/tags/deprecated.md>), [release](<https://devfeed.tech/tags/release.md>), [upgrade](<https://devfeed.tech/tags/upgrade.md>), [version](<https://devfeed.tech/tags/version.md>)

### AI overview

The Lix team announces version 2.93, a major release focused on bug fixes and continued integration with the KJ asynchronous runtime. The release also deprecates CR/CRLF line endings and literal NUL bytes in Nix expressions, which produce errors by default.

### Source excerpt

We at the Lix team are proud to announce our fourth major release, version 2.93 "Bici Bici". This release focuses on bugfixes and continues integrating Lix with the KJ asynchronous runtime, in order to replace the previous bespoke implementation.

## The Synchrony Budget

DevFeed: [The Synchrony Budget](<https://devfeed.tech/articles/the-synchrony-budget-18879.md>)

Original publisher: [Read original article](<https://www.morling.dev/blog/the-synchrony-budget/>)

Published: 2025-03-18T13:00:00Z

Content type: article

Language: en

Sources: [Gunnar Morling](<https://devfeed.tech/sources/gunnar-morling.md>)

Topics: [Network](<https://devfeed.tech/topics/network.md>), [Availability](<https://devfeed.tech/topics/availability.md>), [Kafka](<https://devfeed.tech/topics/kafka.md>)

Tags: [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [availability](<https://devfeed.tech/tags/availability.md>), [distributed](<https://devfeed.tech/tags/distributed.md>), [e-commerce](<https://devfeed.tech/tags/e-commerce.md>), [kafka](<https://devfeed.tech/tags/kafka.md>), [network](<https://devfeed.tech/tags/network.md>), [services](<https://devfeed.tech/tags/services.md>)

### AI overview

The article introduces the "synchrony budget," a design principle for distributed services: minimize synchronous calls to reduce request latency and dependencies that can lower service availability. It uses an e-commerce order flow to argue that shipment notifications can be handled asynchronously, such as through a Kafka topic, when an immediate response is unnecessary.

### Source excerpt

For building a system of distributed services, one concept I think is very valuable to keep in mind is what I call the synchrony budget: as much as possible, a service should minimize the number of synchronous requests which it makes to other services.

## Queueing Without a Queue: The PostgreSQL Hack

DevFeed: [Queueing Without a Queue: The PostgreSQL Hack](<https://devfeed.tech/articles/queueing-without-a-queue-the-postgresql-hack-17868.md>)

Original publisher: [Read original article](<https://www.codemotion.com/magazine/backend/queueing-without-a-queue-the-postgresql-hack/>)

Author: Puppo92

Published: 2025-03-13T10:38:36Z

Content type: tutorial

Language: en

Sources: [Backend Job: skill, salary and insights - Codemotion Magazine](<https://devfeed.tech/sources/backend-job-skill-salary-and-insights-codemotion-magazine.md>)

Topics: [PostgreSQL](<https://devfeed.tech/topics/postgresql.md>), [Database](<https://devfeed.tech/topics/database.md>), [Node.js](<https://devfeed.tech/topics/node-js.md>), [npm](<https://devfeed.tech/topics/npm.md>), [Library](<https://devfeed.tech/topics/library.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [asynchronous](<https://devfeed.tech/tags/asynchronous.md>), [backend](<https://devfeed.tech/tags/backend.md>), [code](<https://devfeed.tech/tags/code.md>), [docker](<https://devfeed.tech/tags/docker.md>), [git](<https://devfeed.tech/tags/git.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [installation](<https://devfeed.tech/tags/installation.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [library](<https://devfeed.tech/tags/library.md>), [node](<https://devfeed.tech/tags/node.md>), [node-js](<https://devfeed.tech/tags/node-js.md>), [npm](<https://devfeed.tech/tags/npm.md>), [postgresql](<https://devfeed.tech/tags/postgresql.md>), [queue](<https://devfeed.tech/tags/queue.md>), [schema](<https://devfeed.tech/tags/schema.md>), [typescript](<https://devfeed.tech/tags/typescript.md>)

### AI overview

A tutorial on implementing queueing with pg-boss, an NPM library that provides background processing and reliable asynchronous execution for Node.js applications using PostgreSQL for queue storage and management.

### Source excerpt

This second article about queueing without a queue focuses on implementation based on PostgreSQL. This solution moves the queue implementation from the node system to the database, where it has dedicated storage to save the queues' status. The leading actor of this post will be pg-boss, an NPM library that implements the queue system thanks... Read more The post Queueing Without a Queue: The PostgreSQL Hack appeared first on Codemotion Magazine.

[Next page](<https://devfeed.tech/tags/asynchronous.md?cursor=WyIyMDI1LTAzLTEzVDEwOjM4OjM2KzAwOjAwIiwgIjRmYjkzNTgwLTk3ZTEtNDQ1Yy1iM2NkLWY5MGUwYTEzZWE5MiJd>)