# files

Published articles for files.

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

## Релиз рабочего окружения GNOME 51 A Coruña

DevFeed: [Релиз рабочего окружения GNOME 51 A Coruña](<https://devfeed.tech/articles/gnome-51-a-coruna-40897.md>)

Original publisher: [Read original article](<https://habr.com/ru/news/1083092/>)

Author: denis-19

Published: 2026-09-17T08:31:45Z

Content type: news

Language: ru

Sources: [Tagir Valeev](<https://devfeed.tech/sources/tagir-valeev.md>)

Topics: [input](<https://devfeed.tech/topics/input.md>), [Wayland](<https://devfeed.tech/topics/wayland.md>), [SVG](<https://devfeed.tech/topics/svg.md>), [API](<https://devfeed.tech/topics/api.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [background](<https://devfeed.tech/tags/background.md>), [capture](<https://devfeed.tech/tags/capture.md>), [files](<https://devfeed.tech/tags/files.md>), [gnome](<https://devfeed.tech/tags/gnome.md>), [gnome-51](<https://devfeed.tech/tags/gnome-51.md>), [input](<https://devfeed.tech/tags/input.md>), [panel](<https://devfeed.tech/tags/panel.md>), [settings](<https://devfeed.tech/tags/settings.md>), [svg](<https://devfeed.tech/tags/svg.md>), [tag-08a48a9394c3](<https://devfeed.tech/tags/tag-08a48a9394c3.md>), [tag-cb5ff012b3f0](<https://devfeed.tech/tags/tag-cb5ff012b3f0.md>), [wayland](<https://devfeed.tech/tags/wayland.md>)

### AI overview

GNOME 51, codenamed A Coruña, was released on September 16, 2026. The release improves performance and settings, adds new GNOME Circle applications and elements, and introduces features including monitor brightness restoration, elogind support, a QR-code generation API, input capture portal support, improved screen recording, SVG-based cursors, and Wayland background effects.

### Source excerpt

16 сентября 2026 года состоялся релиз рабочего окружения GNOME 51 под кодовым названием A Coruña. В проекте оптимизирована производительность и настройки, добавлены новые элементы и приложения в GNOME Circle. Читать далее

## Most Simple Ajax Chat Ever

DevFeed: [Most Simple Ajax Chat Ever](<https://devfeed.tech/articles/most-simple-ajax-chat-ever-31876.md>)

Original publisher: [Read original article](<https://www.metachris.dev/projects/most-simple-ajax-chat-ever/>)

Author: Chris Hager

Published: 2026-09-17T02:48:44.791916Z

Content type: article

Language: en

Sources: [Chris Hager](<https://devfeed.tech/sources/chris-hager.md>)

Topics: [Ajax](<https://devfeed.tech/topics/ajax.md>), [PHP](<https://devfeed.tech/topics/php.md>), [HTML](<https://devfeed.tech/topics/html.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [files](<https://devfeed.tech/tags/files.md>), [github](<https://devfeed.tech/tags/github.md>), [html](<https://devfeed.tech/tags/html.md>), [http](<https://devfeed.tech/tags/http.md>), [php](<https://devfeed.tech/tags/php.md>)

### AI overview

A project page describing a simple Ajax chat application created in January 2006. It explains the two-file implementation, pure JavaScript approach without libraries, text-based content storage, spam filtering, and two-step PHP setup.

### Source excerpt

Most Simple Ajax Chat Ever A fun little project from January 2006. Back then ajax just started becoming popular, but with very few tools around. jQuery came out later that year, Github just two years later, in 2008. Original code on Github Original site on web.archive.org Featured on Wired in February 2006 Features Super simple Efficient spam filter (thanks to some live 'hackers' at launch) Only 2 files needed (index.html, w.

## Why didn't ReadDirectoryChangesW provide a way to correlate the two sides of a rename operation?

DevFeed: [Why didn't ReadDirectoryChangesW provide a way to correlate the two sides of a rename operation?](<https://devfeed.tech/articles/why-didn-t-read-directory-changesw-provide-a-way-to-correlate-the-two-sides-of-a-rename-operation-21762.md>)

Original publisher: [Read original article](<https://devblogs.microsoft.com/oldnewthing/20260914-00/?p=112696>)

Author: Raymond Chen

Published: 2026-09-14T14:00:00Z

Content type: article

Language: en

Sources: [Raymond Chen](<https://devfeed.tech/sources/raymond-chen.md>)

Topics: [Filesystems](<https://devfeed.tech/topics/filesystems.md>), [systems](<https://devfeed.tech/topics/systems.md>)

Tags: [concurrent](<https://devfeed.tech/tags/concurrent.md>), [events](<https://devfeed.tech/tags/events.md>), [files](<https://devfeed.tech/tags/files.md>), [ids](<https://devfeed.tech/tags/ids.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [information](<https://devfeed.tech/tags/information.md>), [old-new-thing](<https://devfeed.tech/tags/old-new-thing.md>), [other](<https://devfeed.tech/tags/other.md>), [post](<https://devfeed.tech/tags/post.md>), [systems](<https://devfeed.tech/tags/systems.md>)

### AI overview

The article explains why ReadDirectoryChangesW did not explicitly provide a mechanism for correlating the two events generated by a file rename. It suggests that the events were expected to occur consecutively, but that assumption was never documented and could fail when concurrent renames or disk activity interleave events. File IDs provide the information needed to correlate the two sides reliably.

### Source excerpt

Perhaps it wasn't necessary, or perhaps it didn't occur to them that this a problem. The post Why didn't <CODE>ReadDirectoryChangesW</CODE> provide a way to correlate the two sides of a rename operation? appeared first on The Old New Thing.

## A File Existence Bug Caused by Checking Its Timestamp

DevFeed: [A File Existence Bug Caused by Checking Its Timestamp](<https://devfeed.tech/articles/codesod-i-exist-28510.md>)

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

Author: Remy Porter

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

Content type: article

Language: en

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

Topics: [bug](<https://devfeed.tech/topics/bug.md>), [Development](<https://devfeed.tech/topics/development.md>), [Windows](<https://devfeed.tech/topics/windows.md>)

Tags: [bug](<https://devfeed.tech/tags/bug.md>), [code](<https://devfeed.tech/tags/code.md>), [codesod](<https://devfeed.tech/tags/codesod.md>), [development](<https://devfeed.tech/tags/development.md>), [files](<https://devfeed.tech/tags/files.md>), [function](<https://devfeed.tech/tags/function.md>), [time](<https://devfeed.tech/tags/time.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

A Pascal system library implements FileExists by checking whether FileAge returns -1. Because FileAge depends on a valid last-write timestamp, files without that timestamp are incorrectly reported as missing. The underlying failure is also not checked for its error code.

### Source excerpt

In addition to using an ancient development environment, with terrible UX, Greta also has the misfortune of working in Pascal. Recently, she was diagnosing a bug. The program was reporting that files didn't exist when they definitely existed. She traced the problem down into the system library. Let's see if you can spot what's wrong: { Delphi / Kylix Cross-Platform Runtime Library } { System Utilities Unit } { } { Copyright (c) 1995-2001 Borland Softwrare Corporation } ... function FileAge(const FileName: string): Integer; {$IFDEF MSWINDOWS} var Handle: THandle; FindData: TWin32FindData; LocalFileTime: TFileTime; begin Handle := FindFirstFile(PChar(FileName), FindData); if Handle <> INVALID_HANDLE_VALUE then begin Windows.FindClose(Handle); if (FindData.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) = 0 then begin FileTimeToLocalFileTime(FindData.ftLastWriteTime, LocalFileTime); if FileTimeToDosDateTime(LocalFileTime, LongRec(Result).Hi, LongRec(Result).Lo) then Exit; end; end; Result := -1; end; {$ENDIF} function FileExists(const FileName: string): Boolean; {$IFDEF MSWINDOWS} begin Result := FileAge(FileName) <> -1; end; {$ENDIF} The first function here is FileAge, which returns the last modified timestamp on a file. Note the use of FileTimeToDosDateTime, which is a Windows API function. It converts LocalFileTime and stores the date part in the first output parameter (LongRec(Result).Hi) and the time part in the second output parameter (LongRec(Result).Lo). Result, in this case, is our return value. If anything goes wrong, we return -1. The FileExists function then, simply calls FileAge. If it doesn't return a -1, there must be a file there. That's an awkward, weird solution to the problem. There has to be a system call that can answer that question more obviously. But it doesn't seem like it should be blowing up- it looks like it should work. But note that FileTimeToDosDateTime also returns a boolean value. If it succeeds, great, but if it fails, it returns false

## Preview Blade Templates in macOS Finder with Quick Blade

DevFeed: [Preview Blade Templates in macOS Finder with Quick Blade](<https://devfeed.tech/articles/preview-blade-templates-in-macos-finder-with-quick-blade-22289.md>)

Original publisher: [Read original article](<https://laravel-news.com/quick-blade>)

Author: Paul Redmond

Published: 2026-09-09T22:24:09Z

Content type: article

Language: en

Sources: [Laravel](<https://devfeed.tech/sources/laravel.md>)

Topics: [Quick Look](<https://devfeed.tech/topics/quicklook.md>), [Laravel](<https://devfeed.tech/topics/laravel.md>), [Livewire](<https://devfeed.tech/topics/livewire.md>), [GitHub](<https://devfeed.tech/topics/github.md>)

Tags: [extension](<https://devfeed.tech/tags/extension.md>), [files](<https://devfeed.tech/tags/files.md>), [github](<https://devfeed.tech/tags/github.md>), [html](<https://devfeed.tech/tags/html.md>), [laravel](<https://devfeed.tech/tags/laravel.md>), [laravel-packages](<https://devfeed.tech/tags/laravel-packages.md>), [macos](<https://devfeed.tech/tags/macos.md>)

### AI overview

Quick Blade is a macOS Quick Look extension that renders Laravel Blade templates directly in Finder. It resolves layouts, inlines compiled CSS, converts Blade directives to HTML, fills echoes with stand-in data, styles Flux and Livewire tags, and draws Finder thumbnails without requiring a development server, database, or network connection.

### Source excerpt

Quick Blade is a free macOS Quick Look extension that renders .blade.php files in Finder with your layout, compiled CSS, and stand-in data. The post Preview Blade Templates in macOS Finder with Quick Blade appeared first on Laravel News. Join the Laravel Newsletter to get Laravel articles like this directly in your inbox.

## What algorithm did Windows XP use to choose your initial user picture?

DevFeed: [What algorithm did Windows XP use to choose your initial user picture?](<https://devfeed.tech/articles/what-algorithm-did-windows-xp-use-to-choose-your-initial-user-picture-21759.md>)

Original publisher: [Read original article](<https://devblogs.microsoft.com/oldnewthing/20260909-00/?p=112683>)

Author: Raymond Chen

Published: 2026-09-09T14:00:00Z

Content type: article

Language: en

Sources: [Raymond Chen](<https://devfeed.tech/sources/raymond-chen.md>)

Topics: [Algorithm](<https://devfeed.tech/topics/algorithm.md>), [Randomizer](<https://devfeed.tech/topics/randomizer.md>), [Windows](<https://devfeed.tech/topics/windows.md>), [Filesystems](<https://devfeed.tech/topics/filesystems.md>)

Tags: [algorithm](<https://devfeed.tech/tags/algorithm.md>), [files](<https://devfeed.tech/tags/files.md>), [history](<https://devfeed.tech/tags/history.md>), [old-new-thing](<https://devfeed.tech/tags/old-new-thing.md>), [random](<https://devfeed.tech/tags/random.md>), [recursion](<https://devfeed.tech/tags/recursion.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

The article explains that Windows XP selected an initial user picture randomly from the Default Pictures directory using the current time as the random seed. It describes a one-pass reservoir-sampling algorithm, including its efficiency and behavior when files change during selection, with a 100-picture safety limit.

### Source excerpt

It's random, really. The post What algorithm did Windows XP use to choose your initial user picture? appeared first on The Old New Thing.

## Announcing the S3 API: Use any S3 client with Appwrite Storage

DevFeed: [Announcing the S3 API: Use any S3 client with Appwrite Storage](<https://devfeed.tech/articles/announcing-the-s3-api-use-any-s3-client-with-appwrite-storage-16442.md>)

Original publisher: [Read original article](<https://appwrite.io/blog/post/announcing-s3-api>)

Author: Torsten Dittmann

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

Content type: release

Language: en

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

Topics: [Appwrite](<https://devfeed.tech/topics/appwrite.md>), [Amazon S3](<https://devfeed.tech/topics/amazon-s3.md>), [API](<https://devfeed.tech/topics/api.md>), [Amazon Web Services](<https://devfeed.tech/topics/aws.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [migration](<https://devfeed.tech/topics/migration.md>)

Tags: [announcements](<https://devfeed.tech/tags/announcements.md>), [api](<https://devfeed.tech/tags/api.md>), [aws](<https://devfeed.tech/tags/aws.md>), [backup](<https://devfeed.tech/tags/backup.md>), [cli](<https://devfeed.tech/tags/cli.md>), [code](<https://devfeed.tech/tags/code.md>), [commands](<https://devfeed.tech/tags/commands.md>), [data](<https://devfeed.tech/tags/data.md>), [files](<https://devfeed.tech/tags/files.md>), [migration](<https://devfeed.tech/tags/migration.md>), [reuse](<https://devfeed.tech/tags/reuse.md>), [s3](<https://devfeed.tech/tags/s3.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [sdks](<https://devfeed.tech/tags/sdks.md>), [server](<https://devfeed.tech/tags/server.md>), [storage](<https://devfeed.tech/tags/storage.md>), [tools](<https://devfeed.tech/tags/tools.md>)

### AI overview

Appwrite Storage now exposes an S3-compatible API that supports AWS CLI, AWS SDKs, rclone, s3cmd, and other S3 clients. Existing buckets and files remain available through both the native Storage API and the S3 API, with support for standard operations, multipart uploads, and presigned URLs.

### Source excerpt

Appwrite Storage now exposes an S3-compatible API. Point the AWS CLI, the AWS SDKs, and tools like rclone at your Appwrite buckets, with no migration required.

## Nexus Mods is acquiring database and analytics site SteamDB

DevFeed: [Nexus Mods is acquiring database and analytics site SteamDB](<https://devfeed.tech/articles/nexus-mods-is-acquiring-database-and-analytics-site-steamdb-15063.md>)

Original publisher: [Read original article](<https://www.gamedeveloper.com/business/nexus-mods-is-acquiring-database-and-analytics-site-steamdb>)

Author: Diego Argüello

Published: 2026-09-02T17:27:45Z

Content type: news

Language: en

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

Topics: [Database](<https://devfeed.tech/topics/database.md>), [pc](<https://devfeed.tech/topics/pc.md>), [Development](<https://devfeed.tech/topics/development.md>)

Tags: [analytics](<https://devfeed.tech/tags/analytics.md>), [database](<https://devfeed.tech/tags/database.md>), [development](<https://devfeed.tech/tags/development.md>), [files](<https://devfeed.tech/tags/files.md>), [hosting](<https://devfeed.tech/tags/hosting.md>), [pc](<https://devfeed.tech/tags/pc.md>), [trust](<https://devfeed.tech/tags/trust.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

Nexus Mods is acquiring SteamDB, a Steam database and analytics site. The acquisition is intended to provide SteamDB with additional resources and stability while preserving its independent character. Nexus Mods also hopes to use SteamDB's historical game data to improve mod compatibility and reliability.

### Source excerpt

Nexus Mods wants to grant SteamDB resources and the 'long-term stability it deserves.'

## Scaling llms.txt with a Hierarchy of Files

DevFeed: [Scaling llms.txt with a Hierarchy of Files](<https://devfeed.tech/articles/scaling-llms-txt-31084.md>)

Original publisher: [Read original article](<https://www.mintlify.com/blog/scaling-llms-txt>)

Author: Kyan Yang

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

Content type: article

Language: en

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

Topics: [Documentation](<https://devfeed.tech/topics/documentation.md>), [navigation](<https://devfeed.tech/topics/navigation.md>), [Website](<https://devfeed.tech/topics/website.md>)

Tags: [agents](<https://devfeed.tech/tags/agents.md>), [context-window](<https://devfeed.tech/tags/context-window.md>), [documentation](<https://devfeed.tech/tags/documentation.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [files](<https://devfeed.tech/tags/files.md>), [generation](<https://devfeed.tech/tags/generation.md>), [navigation](<https://devfeed.tech/tags/navigation.md>)

### AI overview

Mintlify rebuilt llms.txt generation as a hierarchy of files to keep large documentation sites within the 100,000-character limit while preserving access to pages. In tests across 200 tasks on ten documentation sites, the improved version completed tasks 52.1% faster and used 44.8% fewer tokens.

### Source excerpt

Large documentation sites were hitting Mintlify's 100,000-character llms.txt limit and omitting pages. We rebuilt generation as a hierarchy of files so agents can reach every page without loading the entire index.

## Linux swap Commands: Create and Manage Swap Files/Partitions

DevFeed: [Linux swap Commands: Create and Manage Swap Files/Partitions](<https://devfeed.tech/articles/linux-swap-commands-create-and-manage-swap-files-partitions-20882.md>)

Original publisher: [Read original article](<https://linuxblog.io/swap-command-create-manage-swap-files-partitions/>)

Author: Hayden James

Published: 2026-08-26T15:13:53Z

Content type: tutorial

Language: en

Sources: [Hayden James](<https://devfeed.tech/sources/hayden-james.md>)

Topics: [Linux](<https://devfeed.tech/topics/linux.md>), [btrfs](<https://devfeed.tech/topics/btrfs.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>), [rhel](<https://devfeed.tech/topics/rhel.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [btrfs](<https://devfeed.tech/tags/btrfs.md>), [commands](<https://devfeed.tech/tags/commands.md>), [desktop](<https://devfeed.tech/tags/desktop.md>), [files](<https://devfeed.tech/tags/files.md>), [fstab](<https://devfeed.tech/tags/fstab.md>), [gotchas](<https://devfeed.tech/tags/gotchas.md>), [guide](<https://devfeed.tech/tags/guide.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [linux](<https://devfeed.tech/tags/linux.md>), [partition](<https://devfeed.tech/tags/partition.md>), [performance](<https://devfeed.tech/tags/performance.md>), [server](<https://devfeed.tech/tags/server.md>), [sysadmins](<https://devfeed.tech/tags/sysadmins.md>)

### AI overview

A practical guide to creating, activating, deactivating, and troubleshooting Linux swap files and partitions using mkswap, swapon, and swapoff. It also explains filesystem-specific considerations, including Btrfs and older XFS kernels.

### Source excerpt

A practical guide to creating, managing, and tuning swap files and swap partitions on Linux using mkswap, swapon, and swapoff, with real commands and common troubleshooting fixes. Continue reading...

## Migrating a Synology NAS to a UniFi UNAS Pro 8 with Robocopy and SMB Multichannel

DevFeed: [Migrating a Synology NAS to a UniFi UNAS Pro 8 with Robocopy and SMB Multichannel](<https://devfeed.tech/articles/migrating-a-synology-nas-to-a-unifi-unas-pro-8-with-robocopy-smb-multichannel-and-surprising-performance-traps-21855.md>)

Original publisher: [Read original article](<https://www.hanselman.com/blog/migrating-a-synology-nas-to-a-unifi-unas-pro-8-with-robocopy-smb-multichannel-and-surprising-performance-traps>)

Published: 2026-08-23T19:23:42Z

Content type: tutorial

Language: en

Sources: [Scott Hanselman](<https://devfeed.tech/sources/scott-hanselman.md>)

Topics: [migration](<https://devfeed.tech/topics/migration.md>), [UniFi UNAS Pro](<https://devfeed.tech/topics/unifi-unas-pro.md>), [Synology](<https://devfeed.tech/topics/synology.md>), [Filesystems](<https://devfeed.tech/topics/filesystems.md>), [Windows](<https://devfeed.tech/topics/windows.md>), [Network](<https://devfeed.tech/topics/network.md>)

Tags: [files](<https://devfeed.tech/tags/files.md>), [filesystem](<https://devfeed.tech/tags/filesystem.md>), [migration](<https://devfeed.tech/tags/migration.md>), [multichannel](<https://devfeed.tech/tags/multichannel.md>), [musings](<https://devfeed.tech/tags/musings.md>), [nas](<https://devfeed.tech/tags/nas.md>), [network](<https://devfeed.tech/tags/network.md>), [performance](<https://devfeed.tech/tags/performance.md>), [smb](<https://devfeed.tech/tags/smb.md>), [synology](<https://devfeed.tech/tags/synology.md>), [synology-nas](<https://devfeed.tech/tags/synology-nas.md>), [unas](<https://devfeed.tech/tags/unas.md>), [unifi](<https://devfeed.tech/tags/unifi.md>), [unifi-unas](<https://devfeed.tech/tags/unifi-unas.md>), [unifi-unas-pro](<https://devfeed.tech/tags/unifi-unas-pro.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

A personal technical account of migrating files from a Synology NAS to a Ubiquiti UniFi UNAS Pro 8. It describes SMB-based copying with Windows and Robocopy, file-transfer errors, Windows error 665, and troubleshooting that isolates a filesystem limitation on the UNAS.

### Source excerpt

I've had a Synology NAS for a very long time, and recently I started moving its contents to a new Ubiquiti UniFi UNAS Pro 8. This seemed like it ought to be a fairly boring operation. Both devices speak SMB, I have a fast network (recently upgraded to 10 gigabit internally), and Windows has had tools for copying files reliably between machines for decades. Naturally, it turned into a whole evening of learning things I thought I already knew, which is why I started a blog lol. There was a nice bit of history here for me because back in 2007 (good lord!) I wrote a post called "XCopy considered harmful - Robocopy or XXCopy or SyncBack." My argument at the time was basically that once you are moving enough files, Explorer stops being the move and Robocopy starts looking pretty good. I even used /Z, Robocopy's restartable mode, because being able to resume a partially transferred file was useful on unreliable connections. Almost twenty years later, /Z turned out to be one of the most important things I needed to remove because it made everything hella slow. The migration The basic job was straightforward. I had shares on the Synology such as: \\server\music and matching shares on the UNAS: \\UNAS-Pro-8\music I initially used Explorer, mostly because it was there and because sometimes the easy thing really is the easy thing. That lasted until Explorer started producing errors on individual files: The requested operation could not be completed due to a file system limitation My first thought was filenames. NAS migrations are full of opportunities to discover that one filesystem is more permissive than another, and there were filenames with parentheses and other punctuation in them. Then this failed: \\server\music\Athlete\Tourist\05 Wires.m4p There is nothing especially exotic about 05 Wires.m4p, so I moved over to Robocopy to get a little more information. It consistently got to 92% and returned Windows error 665: 92% New File 4.3 m 05 Wires.m4p ERROR 665 (0x00000299) Cop

## 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.

## The Pulse: Grok's CLI caught uploading all your local files to the cloud

DevFeed: [The Pulse: Grok's CLI caught uploading all your local files to the cloud](<https://devfeed.tech/articles/the-pulse-grok-s-cli-caught-uploading-all-your-local-files-to-the-cloud-40918.md>)

Original publisher: [Read original article](<https://blog.pragmaticengineer.com/grolk-cli-uploaded-all-your-files-to-the-cloud/>)

Author: Gergely Orosz

Published: 2026-08-19T14:21:33Z

Content type: news

Language: en

Sources: [The Pragmatic Engineer](<https://devfeed.tech/sources/the-pragmatic-engineer-2.md>)

Topics: [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Git](<https://devfeed.tech/topics/git.md>), [.env](<https://devfeed.tech/topics/dotenv.md>), [Google Cloud Platform (GCP)](<https://devfeed.tech/topics/google-cloud.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [cli](<https://devfeed.tech/tags/cli.md>), [files](<https://devfeed.tech/tags/files.md>), [gcp](<https://devfeed.tech/tags/gcp.md>), [git](<https://devfeed.tech/tags/git.md>), [secret](<https://devfeed.tech/tags/secret.md>)

### AI overview

The article reports claims that the Grok Build coding CLI uploaded local workspace data to cloud storage, including repository contents, Git history, and .env file contents in documented tests.

### Source excerpt

Devs discover that Grok CLI pushed all local files, .env files and git history have been pushed to a GCP bucket, unencrypted. SpaceX's initial reaction? Blame the devs

## Running YOLO-Mode Coding Agents in a Sandbox for Infrastructure Work

DevFeed: [Running YOLO-Mode Coding Agents in a Sandbox for Infrastructure Work](<https://devfeed.tech/articles/yolo-mode-is-the-right-default-your-laptop-is-the-wrong-place-for-it-19025.md>)

Original publisher: [Read original article](<https://www.pulumi.com/blog/sandboxing-coding-agents-yolo-mode/>)

Author: Engin Diri

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

Content type: opinion

Language: en

Sources: [Pulumi](<https://devfeed.tech/sources/pulumi.md>)

Topics: [Claude Code](<https://devfeed.tech/topics/claude-code.md>), [Security](<https://devfeed.tech/topics/security.md>), [coding](<https://devfeed.tech/topics/coding.md>), [Claude](<https://devfeed.tech/topics/claude.md>), [Filesystems](<https://devfeed.tech/topics/filesystems.md>), [codex](<https://devfeed.tech/topics/codex.md>), [cursor](<https://devfeed.tech/topics/cursor.md>), [Amazon Web Services](<https://devfeed.tech/topics/aws.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [ai](<https://devfeed.tech/tags/ai.md>), [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [autonomous](<https://devfeed.tech/tags/autonomous.md>), [aws](<https://devfeed.tech/tags/aws.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [claude](<https://devfeed.tech/tags/claude.md>), [claude-code](<https://devfeed.tech/tags/claude-code.md>), [codex](<https://devfeed.tech/tags/codex.md>), [coding](<https://devfeed.tech/tags/coding.md>), [cursor](<https://devfeed.tech/tags/cursor.md>), [docker](<https://devfeed.tech/tags/docker.md>), [files](<https://devfeed.tech/tags/files.md>), [infrastructure](<https://devfeed.tech/tags/infrastructure.md>), [infrastructure-as-code](<https://devfeed.tech/tags/infrastructure-as-code.md>), [permission](<https://devfeed.tech/tags/permission.md>), [sandbox](<https://devfeed.tech/tags/sandbox.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

This opinion article argues that coding agents should retain autonomous YOLO-mode operation inside a sandbox rather than rely on repeated command approvals. It discusses risks to local files, AWS credentials, Kubernetes configurations, and Pulumi access tokens, and presents sandboxing as a way to limit the blast radius during infrastructure work.

### Source excerpt

Claude Code calls the flag --dangerously-skip-permissions, and the community long ago renamed it YOLO mode. It lets your coding agent run any command it wants without ever asking for permission. Every agent has some version of it, Codex and Cursor included, and if you use these tools seriously, you are probably running one of them every day. I am. YOLO mode is also what makes a coding agent worth having. An agent that stops for approval before every command is not autonomous; it's a slow pair programmer. But you cannot let it run wild on your machine without real guardrails either. You have heard the horror stories: wiped databases, deleted home directories, vanished git history. The odds on any given day are low, and it's tempting to conclude it will never happen to you. It only has to happen once. My version of this problem is worse than most, because the code in my working directory is infrastructure code. My laptop holds more than source files. It holds AWS credentials, kubeconfigs that point at real clusters, and Pulumi access tokens. This post walks through what an unsandboxed agent can actually do, why prompt guardrails fail exactly when you need them, and how a sandbox lets you keep full YOLO-mode autonomy anyway. Then I will show you the kit I built for doing infrastructure work this way. Approving every command is not a security model Let me get one thing out of the way first: the answer is not to turn YOLO mode off. A real working session involves hundreds of commands, and nobody reviews the hundredth npm install any better than the first. You are not evaluating at that point; you are pressing enter. Approval fatigue turns the permission prompt into a formality while destroying the one thing you wanted from the agent, which is that it works while you do something else. The goal instead is to run YOLO mode somewhere it cannot hurt you. That somewhere is a sandbox: an isolated environment where the agent has full autonomy and your machine is no longer part

## Harness Database DevOps: Reference Data Rollbacks

DevFeed: [Harness Database DevOps: Reference Data Rollbacks](<https://devfeed.tech/articles/harness-database-devops-reference-data-rollbacks-13406.md>)

Original publisher: [Read original article](<https://www.harness.io/blog/harness-database-devops-reference-data-rollbacks>)

Author: Animesh Pathak Stephen Atwell

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

Content type: tutorial

Language: en

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

Topics: [data](<https://devfeed.tech/topics/data.md>), [Databases](<https://devfeed.tech/topics/databases.md>), [Git](<https://devfeed.tech/topics/git.md>), [CI/CD](<https://devfeed.tech/topics/cicd.md>), [Deployment](<https://devfeed.tech/topics/deployment.md>), [CSV](<https://devfeed.tech/topics/csv.md>), [GitOps](<https://devfeed.tech/topics/gitops.md>), [pull-requests](<https://devfeed.tech/topics/pull-requests.md>)

Tags: [ci-cd](<https://devfeed.tech/tags/ci-cd.md>), [data](<https://devfeed.tech/tags/data.md>), [database](<https://devfeed.tech/tags/database.md>), [deployment](<https://devfeed.tech/tags/deployment.md>), [devops](<https://devfeed.tech/tags/devops.md>), [files](<https://devfeed.tech/tags/files.md>), [gitops](<https://devfeed.tech/tags/gitops.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [pull-requests](<https://devfeed.tech/tags/pull-requests.md>)

### AI overview

This tutorial explains how to manage database reference data with Liquibase OSS and Harness Database DevOps. It recommends storing versioned CSV files in Git, applying them with loadUpdateData, and deploying previous versions to support safer rollbacks across environments.

### Source excerpt

Learn to version reference data with Liquibase OSS, automate deployments in Harness Database DevOps, and enable safe rollbacks. | Blog

## Mitigating WordPress attacks with containers

DevFeed: [Mitigating WordPress attacks with containers](<https://devfeed.tech/articles/mitigating-wordpress-attacks-with-containers-13164.md>)

Original publisher: [Read original article](<https://www.chainguard.dev/unchained/mitigating-wordpress-attacks-with-containers>)

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

Content type: article

Language: en

Sources: [Chainguard: Unchained](<https://devfeed.tech/sources/chainguard-unchained.md>)

Topics: [WordPress](<https://devfeed.tech/topics/wordpress.md>), [Containers](<https://devfeed.tech/topics/containers.md>), [Exploit](<https://devfeed.tech/topics/exploit.md>), [Vulnerabilities](<https://devfeed.tech/topics/vulnerabilities.md>)

Tags: [chainguard-containers](<https://devfeed.tech/tags/chainguard-containers.md>), [containers](<https://devfeed.tech/tags/containers.md>), [database](<https://devfeed.tech/tags/database.md>), [distroless](<https://devfeed.tech/tags/distroless.md>), [files](<https://devfeed.tech/tags/files.md>), [hardened-containers](<https://devfeed.tech/tags/hardened-containers.md>), [remote-code-execution](<https://devfeed.tech/tags/remote-code-execution.md>), [software-supply-chain-security](<https://devfeed.tech/tags/software-supply-chain-security.md>), [vulnerabilities](<https://devfeed.tech/tags/vulnerabilities.md>), [wordpress](<https://devfeed.tech/tags/wordpress.md>), [wordpress-cves](<https://devfeed.tech/tags/wordpress-cves.md>)

### AI overview

This article examines the wp2shell attack, in which two WordPress vulnerabilities can be chained to achieve remote code execution. It explains that hardened, distroless containers and read-only filesystems can limit an attacker's capabilities and simplify recovery, while emphasizing the need to update WordPress immediately.

### Source excerpt

The wp2shell WordPress exploit enables remote code execution. Learn how hardened containers help reduce the blast radius of compromise.

## Mastering Linux Administration: 20 Powerful Commands to Know

DevFeed: [Mastering Linux Administration: 20 Powerful Commands to Know](<https://devfeed.tech/articles/mastering-linux-administration-20-powerful-commands-to-know-20877.md>)

Original publisher: [Read original article](<https://linuxblog.io/mastering-linux-administration-20-powerful-commands-to-know/>)

Author: Hayden James

Published: 2026-07-06T03:56:38Z

Content type: tutorial

Language: en

Sources: [Hayden James](<https://devfeed.tech/sources/hayden-james.md>)

Topics: [Linux](<https://devfeed.tech/topics/linux.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Monitoring](<https://devfeed.tech/topics/monitoring.md>), [Filesystems](<https://devfeed.tech/topics/filesystems.md>), [IO](<https://devfeed.tech/topics/io.md>), [cpu](<https://devfeed.tech/topics/cpu.md>)

Tags: [administration](<https://devfeed.tech/tags/administration.md>), [automated](<https://devfeed.tech/tags/automated.md>), [backup](<https://devfeed.tech/tags/backup.md>), [blog](<https://devfeed.tech/tags/blog.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [commands](<https://devfeed.tech/tags/commands.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [examples](<https://devfeed.tech/tags/examples.md>), [files](<https://devfeed.tech/tags/files.md>), [https-linuxblog-io-tag-commands](<https://devfeed.tech/tags/https-linuxblog-io-tag-commands.md>), [io](<https://devfeed.tech/tags/io.md>), [linux](<https://devfeed.tech/tags/linux.md>), [memory](<https://devfeed.tech/tags/memory.md>), [monitoring](<https://devfeed.tech/tags/monitoring.md>), [ncurses](<https://devfeed.tech/tags/ncurses.md>), [sysadmins](<https://devfeed.tech/tags/sysadmins.md>)

### AI overview

A tutorial introducing 20 Linux commands for system administrators, with examples and explanations of their uses. The supplied text specifically discusses vmstat for monitoring system and memory statistics, inotifywait for tracking filesystem events, and ncdu for analyzing disk usage.

### Source excerpt

Linux is a powerful and versatile operating system that can be used for a wide range of purposes. For many system administrators, the command line interface is the primary way to interact with the system. Continue reading...

## Automate Python emails with attachments that get delivered

DevFeed: [Automate Python emails with attachments that get delivered](<https://devfeed.tech/articles/automate-python-emails-with-attachments-that-get-delivered-16078.md>)

Original publisher: [Read original article](<https://postmarkapp.com/blog/automate-python-emails-with-attachments-that-get-delivered>)

Author: Greg Svoboda (gsvoboda@activecampaign.com)

Published: 2026-06-30T15:08:00Z

Content type: tutorial

Language: en

Sources: [Postmark (en-US)](<https://devfeed.tech/sources/postmark-en-us.md>)

Topics: [Python](<https://devfeed.tech/topics/python.md>), [Security](<https://devfeed.tech/topics/security.md>)

Tags: [attacks](<https://devfeed.tech/tags/attacks.md>), [best-practices](<https://devfeed.tech/tags/best-practices.md>), [code](<https://devfeed.tech/tags/code.md>), [deliverability](<https://devfeed.tech/tags/deliverability.md>), [email-delivery](<https://devfeed.tech/tags/email-delivery.md>), [files](<https://devfeed.tech/tags/files.md>), [how-to](<https://devfeed.tech/tags/how-to.md>), [phishing](<https://devfeed.tech/tags/phishing.md>), [python](<https://devfeed.tech/tags/python.md>), [security](<https://devfeed.tech/tags/security.md>), [zip](<https://devfeed.tech/tags/zip.md>)

### AI overview

This tutorial explains how to automate Python emails with attachments while improving deliverability. It covers common causes of attachment-related bounces, including security policies, sender reputation, and inbox-provider restrictions, and recommends examining SMTP bounce messages and error reports.

### Source excerpt

Some of the most important emails require attachments, such as receipts, order confirmations, contracts, or digital assets. You need those emails to arrive automatically and reliably when customers and partners expect them. But attachments tend to increase bounce rates due to either security concerns, reduced engagement signals, or inbox provider policies, making deliverability harder to guarantee. A few key practices help you get top-tier deliverability when email attachments really matter: Follow general email guidelines Understand where problems happen and how to spot them Create processes that put best practices in motion Automate to scale your success for a higher volume Below, we'll show you how to implement these practices in a Python application. Why emails with attachments fail delivery Email bounces happen for a host of reasons. If you send attachments and see bounces, those files are likely causing delivery failures. Attachments pose security risks Phishing and malware attacks often use attachments, so inbox providers scrutinize them closely: Providers automatically block anything executable or compressed (e.g., .7z, .rar, .exe). This policy often extends to .zip files. Providers see red flags when you send unsolicited attachments, especially from new domains, even for "safe" file types like PDFs. Attachments affect sender reputation Recipients tend to avoid opening messages with unexpected attachments. Lower open rates, in turn, harm your domain reputation, making it even harder to deliver your emails. Improving your deliverability starts with digging into exactly where you're having problems. The first resource to consult is SMTP bounce messages. Study your bounce messages If your emails regularly bounce back, it's fair to assume the underlying issue is the file attachments. You can find out more by examining the error reports. The Postmark dashboard helps you make sense of errors. If you don't have the tool set up, you can look into the bounce messages

## Podman 6 Configuration File Changes

DevFeed: [Podman 6 Configuration File Changes](<https://devfeed.tech/articles/podman-6-configuration-file-changes-12845.md>)

Original publisher: [Read original article](<https://blog.podman.io/2026/06/podman-6-configuration-file-changes/>)

Author: Paul Holzinger

Published: 2026-06-22T16:14:55Z

Content type: article

Language: en

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

Topics: [podman](<https://devfeed.tech/topics/podman.md>), [configuration](<https://devfeed.tech/topics/configuration.md>), [Containers](<https://devfeed.tech/topics/containers.md>)

Tags: [announcement](<https://devfeed.tech/tags/announcement.md>), [blog](<https://devfeed.tech/tags/blog.md>), [buildah](<https://devfeed.tech/tags/buildah.md>), [code](<https://devfeed.tech/tags/code.md>), [configuration](<https://devfeed.tech/tags/configuration.md>), [containers](<https://devfeed.tech/tags/containers.md>), [files](<https://devfeed.tech/tags/files.md>), [git](<https://devfeed.tech/tags/git.md>), [go](<https://devfeed.tech/tags/go.md>), [image](<https://devfeed.tech/tags/image.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [podman](<https://devfeed.tech/tags/podman.md>), [registry](<https://devfeed.tech/tags/registry.md>), [releases](<https://devfeed.tech/tags/releases.md>), [root](<https://devfeed.tech/tags/root.md>), [skopeo](<https://devfeed.tech/tags/skopeo.md>), [storage](<https://devfeed.tech/tags/storage.md>)

### AI overview

This article introduces the major configuration-file rework planned for Podman 6. The changes affect Podman, Buildah, Skopeo, and shared container libraries, including how files such as containers.conf, registries.conf, storage.conf, policy.json, registries.d, and certs.d are handled and parsed.

### Source excerpt

Podman 6 is about to be released soon, so I would like to talk about the biggest change we made: a major rework of how we handle and parse our configuration files. This does not just affect Podman but also Buildah, Skopeo, and many other tools building on top of our underlying go.podman.io/image and go.podman.io/storage [...]

## FIFO KV-Ratio Compaction for BlobDB-Backed TTL Workloads

DevFeed: [FIFO KV-Ratio Compaction for BlobDB-Backed TTL Workloads](<https://devfeed.tech/articles/fifo-kv-ratio-compaction-for-blobdb-backed-ttl-workloads-22401.md>)

Original publisher: [Read original article](<http://rocksdb.org/blog/2026/06/20/fifo-kv-ratio-compaction.html>)

Author: Xingbo Wang

Published: 2026-06-20T00:00:00Z

Content type: article

Language: en

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

Topics: [rocksdb](<https://devfeed.tech/topics/rocksdb.md>), [benchmarking](<https://devfeed.tech/topics/benchmarking.md>), [Pull Request](<https://devfeed.tech/topics/pull-request.md>)

Tags: [blog](<https://devfeed.tech/tags/blog.md>), [cost](<https://devfeed.tech/tags/cost.md>), [files](<https://devfeed.tech/tags/files.md>), [pull-request](<https://devfeed.tech/tags/pull-request.md>), [rocksdb](<https://devfeed.tech/tags/rocksdb.md>), [time](<https://devfeed.tech/tags/time.md>)

### AI overview

This article explains FIFO KV-ratio compaction in RocksDB 11.0 for BlobDB-backed workloads with large values, point lookups, and TTL or bounded-size expiration. The new picker uses the ratio of SST bytes to blob bytes to select a target SST size and reduce the read overhead caused by many small L0 files.

### Source excerpt

RocksDB 11.0 added CompactionOptionsFIFO::max_data_files_size and CompactionOptionsFIFO::use_kv_ratio_compaction for a specific but important shape of workload: FIFO compaction, integrated BlobDB, large values, point lookups, and data that naturally expires by TTL or by a bounded data-size budget. The implementation was added in pull request #14326. The goal is to keep FIFO's low write amplification while reducing the read overhead caused by many small L0 files. The new picker uses the observed ratio between SST bytes and blob bytes to choose a stable target SST size, then moves L0 files through size tiers until they reach that target. Background: FIFO and BlobDB FIFO compaction is designed for time-ordered or log-like data. All files remain in L0. When files become old enough for ttl, or when the configured size limit is exceeded, RocksDB drops the oldest files instead of rewriting them into lower levels. That is what keeps FIFO write amplification low. Integrated BlobDB changes the file-size picture. Large values are stored in blob files, while SST files mostly contain keys, metadata, filters, indexes, and blob references. For point lookup workloads with large values, this can be a good fit: the SST portion can stay small and cached, and the read can fetch the large value from the blob file. However, FIFO without intra-L0 compaction can accumulate many small L0 SST files. A point lookup may then need to probe many L0 files and many filters before finding the key. FIFO's optional intra-L0 compaction, enabled with CompactionOptionsFIFO::allow_compaction, addresses that by merging several small L0 SST files into fewer larger SST files. Intra-L0 compaction rewrites SST metadata only; it does not rewrite blob files. Why the old intra-L0 picker is not enough The existing FIFO intra-L0 picker is cost based. It tries to reduce L0 file count while limiting how many bytes are rewritten for each file removed: 1 compact_bytes_per_del_file = total_input_bytes / (num_input_file

## Moxy - My new programming font

DevFeed: [Moxy - My new programming font](<https://devfeed.tech/articles/moxy-my-new-programming-font-25290.md>)

Original publisher: [Read original article](<https://kau.sh/blog/moxy/>)

Author: Kaushik Gopal

Published: 2026-06-16T07:00:00Z

Content type: opinion

Language: en

Sources: [Kaushik Gopal's Site](<https://devfeed.tech/sources/kaushik-gopal-s-site.md>)

Topics: [Font](<https://devfeed.tech/topics/font.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [download](<https://devfeed.tech/tags/download.md>), [files](<https://devfeed.tech/tags/files.md>), [fonts](<https://devfeed.tech/tags/fonts.md>), [jetbrains](<https://devfeed.tech/tags/jetbrains.md>), [ligatures](<https://devfeed.tech/tags/ligatures.md>), [mono](<https://devfeed.tech/tags/mono.md>), [plex](<https://devfeed.tech/tags/plex.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-font](<https://devfeed.tech/tags/programming-font.md>)

### AI overview

The article introduces Moxy, a programming font built on Recursive with opinionated character choices and fixes, incorporating some glyph ideas from Lilex. It explains the font's customizable character choices and provides installation instructions for the v1 release.

### Source excerpt

Every time I switch or try out a new font, I track it in my my-new-programming-font series. Some of the popular ones: IBM Plex Mono, Recursive, Commit Mono, Berkeley Mono. This time's a little different. It's one I've "made" myself, and I'm calling it Moxy. Built on strong bones ## Moxy is built on top of Recursive. It's a stretch to call it a new font -- it's Recursive with a set of opinionated character choices and a few fixes to the original. There's two things I love about Recursive: it's one of the most legible and clear fonts out there it's got flair1 Recursive was also a pioneer in pushing what variable type fonts can do. Another font I've been testing and playing with is Lilex. It's popular again because editors like Zed use it as the default. Lilex is really just IBM Plex Mono with a set of special characters and ligature choices. It's an excellent font in many ways, and one I often find myself switching to. Lilex has a few ligatures I absolutely love for programming. So, with the power of AI coding, I thought to myself: what if I had Recursive but with some of the glyphs of Lilex? Thus was born Moxy. What's different: ## The font ships with my specific Recursive character choices baked in. But you can swap them in and out depending on your preference. Install it ## Download the v1 release, unzip it, and install the .ttf files like any other font. Alternatively, use brew: brew install --cask kaushikgopal/tools/font-moxy People understandably love and swear by JetBrains Mono. They keep asking why I don't cite or bring it up. I love that JetBrains Mono exists, but I find it a "drab" font -- and that's not always a bad thing. When you look at Recursive, it makes a statement. ↩︎

## DeltaDB: Version Control for Agent Conversations and Evolving Worktrees

DevFeed: [DeltaDB: Version Control for Agent Conversations and Evolving Worktrees](<https://devfeed.tech/articles/software-is-made-between-commits-13506.md>)

Original publisher: [Read original article](<https://zed.dev/blog/introducing-deltadb>)

Author: Nathan Sobo

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

Content type: article

Language: en

Sources: [Zed Industries - Blog](<https://devfeed.tech/sources/zed-industries-blog.md>)

Topics: [Software](<https://devfeed.tech/topics/software.md>), [coding](<https://devfeed.tech/topics/coding.md>), [Git](<https://devfeed.tech/topics/git.md>), [pull-requests](<https://devfeed.tech/topics/pull-requests.md>)

Tags: [agents](<https://devfeed.tech/tags/agents.md>), [code](<https://devfeed.tech/tags/code.md>), [collaboration](<https://devfeed.tech/tags/collaboration.md>), [files](<https://devfeed.tech/tags/files.md>), [git](<https://devfeed.tech/tags/git.md>), [pull-requests](<https://devfeed.tech/tags/pull-requests.md>), [software](<https://devfeed.tech/tags/software.md>), [source](<https://devfeed.tech/tags/source.md>), [terminal](<https://devfeed.tech/tags/terminal.md>), [version-control](<https://devfeed.tech/tags/version-control.md>)

### AI overview

Zed introduces DeltaDB, a version-control system that records fine-grained code changes alongside the conversations that produce them. It is designed for worktrees edited concurrently by people and agents, with references anchored to individual deltas.

### Source excerpt

Agents turned the conversation into the real source of our software. DeltaDB is the version control built for it.

## Genie Lessons from Genie Sessions: Prose as a Programming Language

DevFeed: [Genie Lessons from Genie Sessions: Prose as a Programming Language](<https://devfeed.tech/articles/genie-lessons-from-genie-sessions-prose-as-a-programming-language-39974.md>)

Original publisher: [Read original article](<https://newsletter.kentbeck.com/p/genie-lessons-from-genie-sessions>)

Author: Kent Beck

Published: 2026-05-26T12:47:53Z

Content type: opinion

Language: en

Sources: [Software Design: Tidy First?](<https://devfeed.tech/sources/software-design-tidy-first.md>)

Topics: [Programming language](<https://devfeed.tech/topics/programming-language.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Code](<https://devfeed.tech/topics/code.md>), [AI Agent](<https://devfeed.tech/topics/ai-agent.md>), [Claude Code](<https://devfeed.tech/topics/claude-code.md>), [Framework](<https://devfeed.tech/topics/framework.md>), [Filesystems](<https://devfeed.tech/topics/filesystems.md>)

Tags: [ai-agent](<https://devfeed.tech/tags/ai-agent.md>), [claude-code](<https://devfeed.tech/tags/claude-code.md>), [code](<https://devfeed.tech/tags/code.md>), [files](<https://devfeed.tech/tags/files.md>), [framework](<https://devfeed.tech/tags/framework.md>), [language](<https://devfeed.tech/tags/language.md>), [programming](<https://devfeed.tech/tags/programming.md>), [programming-language](<https://devfeed.tech/tags/programming-language.md>)

### AI overview

Kent Beck discusses OpenProse with one of its founders and examines how structured English can be used to define programs executed by an AI agent such as Claude Code. The article describes component requirements and guarantees, service-like composition, and file-based pointers for passing large outputs between sub-agents.

### Source excerpt

Kent sits down with one of the founders of OpenProse to talk through their method of prose as a programming language.

## Resumable Remote Compaction

DevFeed: [Resumable Remote Compaction](<https://devfeed.tech/articles/resumable-remote-compaction-22399.md>)

Original publisher: [Read original article](<http://rocksdb.org/blog/2026/05/19/resumable-remote-compaction.html>)

Author: Hui Xiao

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

Content type: article

Language: en

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

Topics: [rocksdb](<https://devfeed.tech/topics/rocksdb.md>), [API](<https://devfeed.tech/topics/api.md>), [IO](<https://devfeed.tech/topics/io.md>)

Tags: [api](<https://devfeed.tech/tags/api.md>), [architecture](<https://devfeed.tech/tags/architecture.md>), [blog](<https://devfeed.tech/tags/blog.md>), [cpu](<https://devfeed.tech/tags/cpu.md>), [encoding](<https://devfeed.tech/tags/encoding.md>), [files](<https://devfeed.tech/tags/files.md>), [implementation](<https://devfeed.tech/tags/implementation.md>), [rocksdb](<https://devfeed.tech/tags/rocksdb.md>), [scale](<https://devfeed.tech/tags/scale.md>), [state](<https://devfeed.tech/tags/state.md>), [stateless](<https://devfeed.tech/tags/stateless.md>)

### AI overview

RocksDB's resumable remote compaction adds checkpointing so interrupted compaction jobs can continue from their latest completed output SST instead of restarting from scratch. The article explains checkpoint contents, delta encoding, safety constraints, resume behavior, and configuration requirements.

### Source excerpt

Background RocksDB can offload compaction work to remote workers through the CompactionService API. In this model, the primary RocksDB instance selects the input files and sends a serialized CompactionServiceInput to a worker; the remote worker runs DB::OpenAndCompact(), writes output SSTs to output_directory, and returns a serialized CompactionServiceResult that the primary RocksDB instance installs into its LSM tree. See the Remote Compaction wiki for the full architecture. This lets operators scale compaction throughput with stateless workers while keeping the primary RocksDB instance's CPU and I/O available for serving reads and writes. However, remote compaction jobs can be long-running--sometimes processing hundreds of gigabytes of input. When a worker crashes, gets preempted, or times out, the entire compaction must restart from scratch, wasting all output produced before the interruption and increasing compaction debt on the primary RocksDB instance. How Resumable Remote Compaction Works Resumable remote compaction introduces a checkpoint-and-resume mechanism. During a compaction, the worker periodically saves its progress to the output_directory. If the compaction is interrupted, a subsequent call to OpenAndCompact() with the same output directory can pick up from the last checkpoint rather than starting over. Checkpointing After each output SST file is completed, the worker persists a progress checkpoint to a compaction progress file in the output directory output_directory. The checkpoint records which internal key to resume from and the metadata of all completed output files. Progress records use delta encoding--each record only contains files completed since the last checkpoint--to keep serialization cost linear. The worker skips checkpointing at boundaries where resuming could be unsafe or requires complicated handling: when range deletions span the file boundary or when adjacent output files share the same user key. These constraints ensure that resuming

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