Xee: A Modern XML Execution Engine in Rust

2025-03-28

The author spent two years building Xee, an XML Execution Engine implemented in Rust, supporting modern XPath and XSLT. More than just a library, Xee is a full programming language implementation, featuring a command-line tool and a Rust library, aiming to revitalize the aging XML technology. The article details Xee's architecture, implementation, and the history and current state of XML, with a call to action for developers to contribute.

Read more
Development

Succinct Data Structures: Memory-Saving Power Tools for Programmers

2025-03-06

A few months ago, while searching for ways to speed up code, the author stumbled upon succinct data structures. These structures store data compactly while supporting efficient query operations like rank and select. The article explores several key succinct data structures, including bit vectors, wavelet matrices, and FM-indices, highlighting their applications in Rust and related open-source libraries. The author discusses using these structures in XML processing and programming language compilers for better memory utilization and faster queries. Succinct data structures offer exciting new possibilities for programming, deserving wider adoption.

Read more
Development

AI-Generated Fake Bio: A Web Sleuth's Tale

2025-01-27

Blogger Martijn Faassen uncovered a fabricated biography of a scientific illustrator named Quentell on Mastodon, widely spread across multiple e-commerce websites. His investigation revealed the artist wasn't real; the biography was AI-generated, used for SEO purposes by various sites. The article highlights the risks of AI-generated content and the severity of information pollution, raising concerns about truth and credibility online.

Read more

The Humble For Loop in Rust: Performance and Readability

2024-12-12

This article explores the trade-offs between the humble `for` loop and functional programming approaches like `map` and `fold` in Rust, considering both performance and readability. Through benchmarks comparing different methods on vector and nested vector operations, the author finds that `map` often outperforms `for` loops in simple transformations, offering better declarative style. However, for more complex scenarios such as flattening nested vectors or handling errors, `for` loops demonstrate a significant performance advantage and maintain greater code clarity. The author advocates for a pragmatic approach, choosing the best tool for the job rather than blindly favoring functional programming.

Read more
Development performance for loop