<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Rust on Nan Xiao | 肖楠</title>
    <link>https://nanx.me/tags/rust/</link>
    <description>Recent content in Rust on Nan Xiao | 肖楠</description>
    <generator>Hugo -- gohugo.io</generator>
    <language>en</language>
    <lastBuildDate>Mon, 17 Aug 2026 21:53:00 +0000</lastBuildDate>
    <atom:link href="https://nanx.me/tags/rust/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>okr: Reproducible R source context for coding agents</title>
      <link>https://nanx.me/blog/post/okr/</link>
      <pubDate>Mon, 17 Aug 2026 21:53:00 +0000</pubDate>
      <guid>https://nanx.me/blog/post/okr/</guid>
      <description>Photo by @tanyabarrow. Today I’m pleased to introduce okr, a small Rust CLI for giving coding agents reproducible source context from R packages and other reference repositories.&#xA;Recent coding agents can solve surprisingly hard problems when they can inspect the relevant code. My own workflows kept running into one specifically R-shaped problem: after an R package is installed, R functions live in binary .rdb and .rdx databases, while compiled code from the source package under src/ disappears.</description>
    </item>
    <item>
      <title>Żmij for R: Floating-point to string conversion with round-trip guarantees</title>
      <link>https://nanx.me/blog/post/zmij-r/</link>
      <pubDate>Sun, 09 Aug 2026 22:21:00 +0000</pubDate>
      <guid>https://nanx.me/blog/post/zmij-r/</guid>
      <description>Photo by Claire Satera. Stylized with Paper Shaders halftone dots filter. I’m glad to share that zmij is now on CRAN. zmij converts doubles to decimal strings and back, using the fewest digits needed to recover the original values. It brings Victor Zverovich’s zmij algorithm to R, via David Tolnay’s Rust zmij port, wrapped in a vectorized interface with extendr.&#xA;You can install it from CRAN with:&#xA;install.packages(&amp;quot;zmij&amp;quot;) Why bother?</description>
    </item>
    <item>
      <title>Introducing ggsci for Rust</title>
      <link>https://nanx.me/blog/post/ggsci-rs/</link>
      <pubDate>Wed, 22 Jul 2026 00:53:00 +0000</pubDate>
      <guid>https://nanx.me/blog/post/ggsci-rs/</guid>
      <description>Photo by Rémi Müller. Welcome to the latest post of the “Introducing X for Y” series.&#xA;Today I’m happy to share that ggsci is now available for Rust. You can add the crates to your Rust project with Cargo:&#xA;cargo add ggsci cargo add ggsci-ratatui cargo add ggsci-ggsql ggsci for R started ten years ago as a small collection of color palettes inspired by scientific journals and science fiction, packaged as ggplot2 color scales.</description>
    </item>
    <item>
      <title>Introducing bisectrunk: Parallel Git bisection for real-world regressions</title>
      <link>https://nanx.me/blog/post/bisectrunk/</link>
      <pubDate>Wed, 15 Jul 2026 21:03:00 +0000</pubDate>
      <guid>https://nanx.me/blog/post/bisectrunk/</guid>
      <description>The Broad, Los Angeles. Photo by Logan DeBorde. I’m delighted to announce the first public release of bisectrunk, a Rust CLI for parallel Git bisection of real-world software regressions.&#xA;You give it a known-good revision, a known-bad revision, and a few shell hooks that describe how your ecosystem installs and tests a commit. It then finds the commit that changed the result by evaluating several candidates at once, each in its own isolated environment.</description>
    </item>
    <item>
      <title>revdeprun 2.1.0: hunting bottlenecks and a new speedrun record</title>
      <link>https://nanx.me/blog/post/revdeprun-2-1-0/</link>
      <pubDate>Wed, 24 Dec 2025 19:01:00 +0000</pubDate>
      <guid>https://nanx.me/blog/post/revdeprun-2-1-0/</guid>
      <description>A race car pit crew in action during a pit stop. Photo by Paul Krüger. I’m excited to announce revdeprun 2.1.0, a major update to my Rust CLI tool for automating R package reverse dependency checks. This release is really two updates in one: version 2.0.0 accelerated dependency installation, while 2.1.0 addressed two more bottlenecks I discovered during testing. The combined result is a much faster workflow from start to finish.</description>
    </item>
    <item>
      <title>Reverse dependency check speedrun: a data.table case study</title>
      <link>https://nanx.me/blog/post/revdep-speedrun/</link>
      <pubDate>Wed, 05 Nov 2025 08:51:00 +0000</pubDate>
      <guid>https://nanx.me/blog/post/revdep-speedrun/</guid>
      <description>Monument Valley Navajo Tribal Park. Photo by Elvis Liang. A week ago, I announced revdeprun, a Rust CLI tool for automating R package reverse dependency checks. Since then, I have been iterating rapidly: 16 crates.io releases in a week! These updates focused on both correctness and speed. The tool has evolved from its initial v0.1.0 to v1.4.2, and the workflow now leverages pak for dependency resolution and xfun for the checking1.</description>
    </item>
    <item>
      <title>revdeprun: Rust CLI for R package reverse dependency check automation</title>
      <link>https://nanx.me/blog/post/revdeprun/</link>
      <pubDate>Mon, 27 Oct 2025 17:42:00 +0000</pubDate>
      <guid>https://nanx.me/blog/post/revdeprun/</guid>
      <description>Smoke and speed: a race car mid-drift on the track. Photo by Jack Stapleton. Update (2025-10-31): revdeprun 1.0.0 switched to using a custom workflow to pre-install binary dependencies for checking reverse dependencies, and run parallel checks using xfun::rev_check(). This significantly improves performance and reliability. Read the release notes here. This post has been updated to reflect these changes.&#xA;I’m glad to announce the release of revdeprun, a Rust CLI tool that makes it easy to run reverse dependency checks on cloud instances1.</description>
    </item>
    <item>
      <title>My First PyCon Experience</title>
      <link>https://nanx.me/blog/post/my-first-pycon-experience/</link>
      <pubDate>Tue, 03 Jun 2025 00:15:00 +0000</pubDate>
      <guid>https://nanx.me/blog/post/my-first-pycon-experience/</guid>
      <description>A flamingo peeking through the plants. National Aviary, Pittsburgh, PA. Photo by Adam Custer. I attended PyCon US 2025 in Pittsburgh, Pennsylvania from May 16–18, 2025. As my first Python conference, I wanted to document the most interesting things I learned.&#xA;Why a statistician goes to PyCon? It might seem odd for a statistician to focus on any particular programming language. But I’m not your typical statistician. As Dijkstra said:</description>
    </item>
    <item>
      <title>R packages using Rust</title>
      <link>https://nanx.me/blog/post/r-rust-pkgs/</link>
      <pubDate>Fri, 28 Feb 2025 16:37:00 +0000</pubDate>
      <guid>https://nanx.me/blog/post/r-rust-pkgs/</guid>
      <description>TL;DR: I’m curating a list of CRAN R packages that use Rust: nanxstats/r-rust-pkgs.&#xA;Dirt bike. Photo by POWERING OFFROAD. Rust in R packages Rust has been the most admired programming language for nearly a decade. CRAN, the largest public repository for R packages, has also supported integrating Rust in R packages for several years. What’s the magic behind the language?&#xA;To me, Rust is a great choice for writing high-performance extensions for both R and Python, offering memory safety and a strong ecosystem.</description>
    </item>
  </channel>
</rss>
