< 返回版块

Mike Tang 发表于 2026-05-10 09:06

nom-exif 3.0.0 发布:纯 Rust 元数据解析库

经过数月的 API 重新设计,nom-exif 3.0.0 正式发布。这是一个纯 Rust 编写的元数据库,可以通过统一的 MediaParser 读取图像 EXIF(JPEG/HEIC/TIFF/CR3/RAF/IIQ)和视频/音频容器元数据(MP4/MOV/WebM/MKV/3GP/MKA)。

版本 3 的主要变化

  • 统一解析器 — 使用 MediaParser::parse_exif / parse_track 处理所有格式,根据检测到的 MIME 类型自动分发,无需针对每种格式使用不同的包装器

  • 三种输入模式 — 支持文件路径、任意 Read / Read+Seek(网络流、管道),或通过 MediaSource::from_bytes 零拷贝内存字节(适用于 WASM、移动端、HTTP 代理体)

  • Motion Photo 支持(3.1.0 新增)— 自动检测 Pixel 和三星 Motion Photos(内嵌 MP4 的 JPEG),parse_track 可提取内嵌视频的轨道元数据

  • 同步和异步统一 — 在一个解析器类型下统一处理(通过 tokio 特性)

  • 主动和惰性视图 — 提供 Exif(主动)和 ExifIter(惰性)两种视图,都能暴露单个条目的错误,避免单个错误标签破坏整个解析

  • 结构化错误 — 使用 Error::Malformed { kind, message } / UnexpectedEof / UnsupportedFormat 替代 v2 的装箱错误

  • 节省内存分配 — 单个可重用缓冲区;子 IFD 通过 bytes::Bytes 引用计数共享相同分配

  • 模糊测试 — 使用 cargo-fuzz 对畸形和恶意输入进行测试

  • 无系统依赖 — 不依赖 FFmpeg、libexif 或系统库,可轻松交叉编译

  • MSRV 1.83,Cargo 特性重命名:asynctokiojson_dumpserde

相关链接

  • 仓库:https://github.com/mindeng/nom-exif
  • crates.io:https://crates.io/crates/nom-exif/3.0.0
  • 文档:https://docs.rs/nom-exif/3.0.0

原文链接:https://github.com/mindeng/nom-exif

Searchmonkey III - 实时桌面搜索工具

核心特点

  • 无需索引,无后台进程,无过时结果 - 实时搜索磁盘上的真实文件
  • 即时搜索 - 搜索结果实时流式显示,无需等待索引更新
  • 正则表达式支持 - 支持文字搜索和正则表达式,界面现代简洁
  • 透明的文件处理 - 清晰显示哪些文件被搜索、跳过、过滤或因权限被阻止

下载方式

当前版本:0.2.5

  • Linux系统

    • 便携式AppImage(可能需要chmod +x权限)
    • 终端安装:curl -fsSL https://searchmonkey.dev/install.sh | bash
  • Windows系统

    • Windows安装程序(首次发布可能显示SmartScreen警告)
    • 终端安装:winget install searchmonkey
  • macOS系统

    • 通用版本(支持Intel和Apple Silicon)
    • 如被阻止,右键点击→打开

原文链接:https://searchmonkey.dev/install.sh

NVIDIA 发布 CUDA-Oxide 0.1:实验性 Rust 到 CUDA 编译器

NVIDIA 于 2026 年 5 月 8 日发布了 CUDA-Oxide 0.1,这是一个来自 NVIDIA Labs 的新项目,旨在大幅提升使用 Rust 编程语言开发 NVIDIA GPU CUDA 内核的能力。

主要特点

  • 纯 Rust 开发:这是首个实验性的 Rust 到 CUDA 编译器,允许开发者使用 Rust 以"相对安全"的方式编写 SIMT GPU 内核

  • 直接编译到 PTX:CUDA-Oxide 可以将标准 Rust 代码直接转换为 NVIDIA PTX 格式

  • 核心设计优势

    • 单源代码编译
    • 设备端抽象
    • 使用自定义 rusc 编译器后端的 Rust 原生编译管道

项目状态

  • 当前阶段:实验性(alpha 阶段),正在积极开发中
  • 预期问题:可能存在 bug、功能不完整和 API 变更
  • 开源项目:代码托管在 GitHub 的 NVLabs 项目中

意义

这是一个重要的进步,让开发者能够使用纯 Rust 代码处理 CUDA,无需使用 DSL(领域特定语言)或外部语言绑定。NVIDIA 鼓励用户试用并提供反馈以帮助改进项目方向。

原文链接:https://www.phoronix.com/news/NVIDIA-CUDA-Oxide-0.1

Monocurl - 数学动画制作工具

Monocurl 是一款专门用于创建 STEM(科学、技术、工程、数学)动画的交互式桌面应用程序和编程语言。

主要特点

  • 多种输出格式:可以使用数学创建图像、视频和幻灯片演示
  • 交互式开发:支持实时参数调整、幻灯片播放和渲染输出在同一工作空间中进行
  • 专门设计:语言和编辑器从零开始设计,为程序化动画提供完整优雅的解决方案
  • 一源多用:单个源文件可以生成现场演示、渲染视频或用于书面材料的静态图像

功能展示

示例项目包括:

  • 勾股定理演示
  • 圆形图案
  • 流场可视化
  • 黎曼矩形
  • 呼吸曲面
  • 树形分形

学习资源

提供完整的教程体系:

原文链接:https://monocurl.github.io/

评论区

写评论

还没有评论

1 共 0 条评论, 1 页