# d

Published articles for d.

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

## Выпуск Rust Coreutils 0.12.0

DevFeed: [Выпуск Rust Coreutils 0.12.0](<https://devfeed.tech/articles/rust-coreutils-0-12-0-42737.md>)

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

Author: denis-19

Published: 2026-09-18T03:41:44Z

Content type: news

Language: ru

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

Topics: [Rust](<https://devfeed.tech/topics/rust.md>), [WebAssembly](<https://devfeed.tech/topics/web-assembly.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Ubuntu](<https://devfeed.tech/topics/ubuntu.md>)

Tags: [2026](<https://devfeed.tech/tags/2026.md>), [c](<https://devfeed.tech/tags/c.md>), [cat](<https://devfeed.tech/tags/cat.md>), [chmod](<https://devfeed.tech/tags/chmod.md>), [d](<https://devfeed.tech/tags/d.md>), [env-file-security](<https://devfeed.tech/tags/env-file-security.md>), [format](<https://devfeed.tech/tags/format.md>), [gnu](<https://devfeed.tech/tags/gnu.md>), [interface](<https://devfeed.tech/tags/interface.md>), [join](<https://devfeed.tech/tags/join.md>), [linux](<https://devfeed.tech/tags/linux.md>), [ls](<https://devfeed.tech/tags/ls.md>), [rust](<https://devfeed.tech/tags/rust.md>), [rust-coreutils](<https://devfeed.tech/tags/rust-coreutils.md>), [rust-coreutils-0-12-0](<https://devfeed.tech/tags/rust-coreutils-0-12-0.md>), [sort](<https://devfeed.tech/tags/sort.md>), [stat](<https://devfeed.tech/tags/stat.md>), [ubuntu](<https://devfeed.tech/tags/ubuntu.md>), [wasi](<https://devfeed.tech/tags/wasi.md>), [webassembly](<https://devfeed.tech/tags/webassembly.md>)

### AI overview

A Russian news report covers the release of Rust Coreutils 0.12.0, an MIT-licensed Rust implementation of GNU Coreutils. It describes platform support, Ubuntu adoption, test compatibility, WebAssembly and WASI improvements, performance and safety work, and fixes across several utilities.

### Source excerpt

17 сентября 2026 года состоялся релиз открытого проекта Rust Coreutils 0.12.0 (uutils), развивающего аналог пакета GNU Coreutils, написанный на языке Rust. В состав coreutils входит более сотни утилит, включая wc, ls, tail, se, sort, cat, chmod, chown, chroot, cp, date, dd, du, install, echo, hostname, id, ln, ls и многие другие. Читать далее

## Separate data schema from data representation

DevFeed: [Separate data schema from data representation](<https://devfeed.tech/articles/separate-data-schema-from-data-representation-37566.md>)

Original publisher: [Read original article](<https://blog.klipse.tech/databook/2022/06/22/data-validation.html>)

Author: Yehonathan Sharvit

Published: 2022-06-22T02:35:24Z

Content type: article

Language: en

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

Topics: [JSON Schema](<https://devfeed.tech/topics/json-schema.md>), [Data validation](<https://devfeed.tech/topics/data-validation.md>), [Programming](<https://devfeed.tech/topics/programming.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [d](<https://devfeed.tech/tags/d.md>), [data-validation](<https://devfeed.tech/tags/data-validation.md>), [dop](<https://devfeed.tech/tags/dop.md>), [json-schema](<https://devfeed.tech/tags/json-schema.md>), [programming](<https://devfeed.tech/tags/programming.md>)

### AI overview

An exploration of the fourth principle of Data-Oriented Programming: keeping data schemas separate from data representations. The article explains how schemas describe expected data shapes and how validation libraries such as Ajv can check data against JSON Schema and report validation errors.

### Source excerpt

With data separated from code and represented with generic and immutable data structures, now comes the question of how do we express the shape of the data? In DOP, the expected shape is expressed as a data schema that is kept separated from the data itself. The main benefit of Principle #4 is that it allows developers to decide which pieces of data should have a schema and which pieces of data should not.

## Data is immutable

DevFeed: [Data is immutable](<https://devfeed.tech/articles/data-is-immutable-37568.md>)

Original publisher: [Read original article](<https://blog.klipse.tech/databook/2022/06/22/immutable-data.html>)

Author: Yehonathan Sharvit

Published: 2022-06-22T02:34:24Z

Content type: article

Language: en

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

Topics: [data](<https://devfeed.tech/topics/data.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Data structures](<https://devfeed.tech/topics/data-structures.md>), [Clojure](<https://devfeed.tech/topics/clojure.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>)

Tags: [clojure](<https://devfeed.tech/tags/clojure.md>), [d](<https://devfeed.tech/tags/d.md>), [data](<https://devfeed.tech/tags/data.md>), [dop](<https://devfeed.tech/tags/dop.md>), [immutability](<https://devfeed.tech/tags/immutability.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [mutation](<https://devfeed.tech/tags/mutation.md>)

### AI overview

This article explains the third principle of Data-Oriented Programming: data is immutable. It describes replacing mutation with new data versions, contrasts this approach in Clojure and JavaScript, and discusses cloning and persistent data structures as implementation strategies.

### Source excerpt

With data separated from code and represented with generic data structures, how are changes to the data managed? DOP is very strict on this question. Mutation of data is not allowed! In DOP, changes to data are accomplished by creating new versions of the data. The reference to a variable may be changed so that it refers to a new version of the data, but the value of the data itself must never change.

## Represent data with generic data structures

DevFeed: [Represent data with generic data structures](<https://devfeed.tech/articles/represent-data-with-generic-data-structures-37567.md>)

Original publisher: [Read original article](<https://blog.klipse.tech/databook/2022/06/22/generic-data-structures.html>)

Author: Yehonathan Sharvit

Published: 2022-06-22T02:33:24Z

Content type: article

Language: en

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

Topics: [Data structures](<https://devfeed.tech/topics/data-structures.md>), [Code](<https://devfeed.tech/topics/code.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Object-oriented programming (OOP)](<https://devfeed.tech/topics/oop.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>)

Tags: [array](<https://devfeed.tech/tags/array.md>), [arrays](<https://devfeed.tech/tags/arrays.md>), [code](<https://devfeed.tech/tags/code.md>), [d](<https://devfeed.tech/tags/d.md>), [data-structures](<https://devfeed.tech/tags/data-structures.md>), [dop](<https://devfeed.tech/tags/dop.md>), [immutability](<https://devfeed.tech/tags/immutability.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [oop](<https://devfeed.tech/tags/oop.md>), [programming](<https://devfeed.tech/tags/programming.md>)

### AI overview

This article explores the second principle of Data-Oriented Programming: representing application data with generic data structures such as maps and arrays instead of specific classes. It also discusses other structures, including sets, trees, and queues, and describes benefits such as reusable generic functions and a flexible data model.

### Source excerpt

When adhering to Principle #1 of DOP, code is separated from data. DOP is not opinionated about the programming constructs to use for organizing the code, but it has a lot to say about how the data should be represented. This is the theme of Principle #2.

## Separate code from data

DevFeed: [Separate code from data](<https://devfeed.tech/articles/separate-code-from-data-37569.md>)

Original publisher: [Read original article](<https://blog.klipse.tech/databook/2022/06/22/separate-code-from-data.html>)

Author: Yehonathan Sharvit

Published: 2022-06-22T02:32:24Z

Content type: tutorial

Language: en

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

Topics: [Programming](<https://devfeed.tech/topics/programming.md>), [Object-oriented programming (OOP)](<https://devfeed.tech/topics/oop.md>), [classes](<https://devfeed.tech/topics/classes.md>)

Tags: [behavior](<https://devfeed.tech/tags/behavior.md>), [classes](<https://devfeed.tech/tags/classes.md>), [code](<https://devfeed.tech/tags/code.md>), [d](<https://devfeed.tech/tags/d.md>), [data](<https://devfeed.tech/tags/data.md>), [dop](<https://devfeed.tech/tags/dop.md>), [oop](<https://devfeed.tech/tags/oop.md>), [programming](<https://devfeed.tech/tags/programming.md>)

### AI overview

This article explores the first principle of Data-Oriented Programming: separating code, or behavior, from data. It explains how the principle can be followed or violated in both object-oriented programming and functional programming, including examples involving classes, static methods, and lexical scope.

### Source excerpt

The first principle of Data-Oriented Programming (DOP) is a design principle that recommends a clear separation between code (behavior) and data. This may appear to be a FP principle, but in fact, one can adhere to it or break it either in FP or in OOP:

## Principles of Data-Oriented Programming

DevFeed: [Principles of Data-Oriented Programming](<https://devfeed.tech/articles/principles-of-data-oriented-programming-37570.md>)

Original publisher: [Read original article](<https://blog.klipse.tech/dop/2022/06/22/principles-of-dop.html>)

Author: Yehonathan Sharvit

Published: 2022-06-22T02:31:24Z

Content type: article

Language: en

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

Topics: [data](<https://devfeed.tech/topics/data.md>), [Programming](<https://devfeed.tech/topics/programming.md>), [Code](<https://devfeed.tech/topics/code.md>), [JavaScript](<https://devfeed.tech/topics/javascript.md>), [Functional programming](<https://devfeed.tech/topics/functional-programming.md>), [Object-oriented programming (OOP)](<https://devfeed.tech/topics/oop.md>)

Tags: [article](<https://devfeed.tech/tags/article.md>), [code](<https://devfeed.tech/tags/code.md>), [d](<https://devfeed.tech/tags/d.md>), [data](<https://devfeed.tech/tags/data.md>), [developer-experience](<https://devfeed.tech/tags/developer-experience.md>), [dop](<https://devfeed.tech/tags/dop.md>), [javascript](<https://devfeed.tech/tags/javascript.md>), [programming](<https://devfeed.tech/tags/programming.md>)

### AI overview

This article explains the four core principles of Data-Oriented Programming: separating code from data, representing data with generic data structures, treating data as immutable, and separating data schemas from representations. It presents DOP as a language-agnostic approach intended to simplify software systems and improve developer experience.

### Source excerpt

This article is an excerpt from my book about Data-Oriented Programming. More excerpts are available on my blog.

## An Experiment in Self-Referential Storytelling for Data-Oriented Programming

DevFeed: [An Experiment in Self-Referential Storytelling for Data-Oriented Programming](<https://devfeed.tech/articles/reading-the-present-moment-37565.md>)

Original publisher: [Read original article](<https://blog.klipse.tech/databook/2022/01/17/reading-the-present-moment.html>)

Author: Yehonathan Sharvit

Published: 2022-01-16T23:45:32Z

Content type: opinion

Language: en

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

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

Tags: [article](<https://devfeed.tech/tags/article.md>), [book](<https://devfeed.tech/tags/book.md>), [clojure](<https://devfeed.tech/tags/clojure.md>), [d](<https://devfeed.tech/tags/d.md>), [dop](<https://devfeed.tech/tags/dop.md>), [programming](<https://devfeed.tech/tags/programming.md>)

### AI overview

The article describes an experiment involving self-referential storytelling in Chapter 13 of Data-Oriented Programming. Its fictional characters discover apparent parallels between their story and the book, including shared topics and character names.

### Source excerpt

This is an experiment I am doing about introducing a bit of self-referential stuff in Chapter 13 of "Data-Oriented Programming.

## Introduction to Windows Kernel Security Research

DevFeed: [Introduction to Windows Kernel Security Research](<https://devfeed.tech/articles/introduction-to-windows-kernel-security-research-41973.md>)

Original publisher: [Read original article](<https://blog.cmpxchg8b.com/2013/05/introduction-to-windows-kernel-security.html>)

Author: taviso (noreply@blogger.com)

Published: 2013-05-16T02:12:00Z

Content type: article

Language: en

Sources: [Tavis Ormandy](<https://devfeed.tech/sources/tavis-ormandy.md>)

Topics: [Security](<https://devfeed.tech/topics/security.md>), [Security research](<https://devfeed.tech/topics/security-research.md>), [debugging](<https://devfeed.tech/topics/debugging.md>), [Windows](<https://devfeed.tech/topics/windows.md>), [Kernel](<https://devfeed.tech/topics/kernel.md>), [IntelliJ IDEA](<https://devfeed.tech/topics/intellij-idea.md>)

Tags: [code](<https://devfeed.tech/tags/code.md>), [d](<https://devfeed.tech/tags/d.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [ida](<https://devfeed.tech/tags/ida.md>), [ida-pro](<https://devfeed.tech/tags/ida-pro.md>), [kernel](<https://devfeed.tech/tags/kernel.md>), [memory](<https://devfeed.tech/tags/memory.md>), [security](<https://devfeed.tech/tags/security.md>), [security-research](<https://devfeed.tech/tags/security-research.md>), [windows](<https://devfeed.tech/tags/windows.md>)

### AI overview

An introduction to researching a Windows kernel crash through kernel debugging, reverse engineering, and analysis of the path subsystem's PATHALLOC freelist behavior. The article explains how reused allocations can bypass zero-initialization and points readers toward investigating the resulting issue.

### Source excerpt

A few months ago, I mentioned a crash I'd encountered under memory pressure on windows. I was hoping sharing a reproducer might stimulate someone who was interested in learning about kernel debugging to investigate, learning some new skills and possibly getting some insight into researching security issues, potentially getting a head start on discovering their own. Sadly, I've yet to hear back from anyone who had done any work on it. I think the path subsystem is obscure enough that it felt too daunting a task for someone new to jump into, and the fact that the reproducer is not reliable might have been scary. I've decided to help get you started, hopefully someone will feel inspired enough to continue. Before reading this post, I assume you're comfortable with kd, IDA Pro and debugging without source code. First some background, hopefully you're already familiar with GDI basics and understand Pens, Brushes and so on. Paths are basically shapes that can be created by moving between points, they can be straight lines, or irregular and composed of curves, arcs, etc. Internally, a path is stored as a linked list of it's components (points, curves, etc). http://msdn.microsoft.com/en-us/library/windows/desktop/dd162779(v=vs.85).aspx The path subsystem is very old (pre-NT?), and uses it's own object allocator called PATHALLOC. PATHALLOC is relatively simple, it's backed (indirectly) by HeavyAllocPool() with the tag 'tapG', but does include it's own simple freelist implementation to reduce calls to HeavyAllocPool. The PATHALLOC entrypoints are newpathalloc() and freepathalloc(), if you look at the code you'll see it's very simple and easy to understand. Notice that if an allocation cannot be satisfied from the freelist, newpathalloc will always memset zero allocations via PALLOCMEM(), similar to what you might expect from calloc. However, take a look at the freelist check, if the allocation is satisfied from the freelist, it skips the memset zero. Therefore, it might retur