impl Rust: Avro IDL tool in Rust via LLM
Some of you may be familiar with Avro, the Apache take on Google's Protocol Buffers. Where Protobuf has just one file format, `.proto`, Avro has three*. Two of these are JSON-based. The first, .avsc files, are used for "schemas", which are like Protobuf message types. The second, .avpr files, are for "protocols", which are like gRPC service declarations. The third file format, .avdl, uses an Interface Description Language, or IDL ( https://avro.apache.org/docs/1.12.0/i... ), which is intended for humans (as opposed to machines) to read and write and looks more like a .proto file. Avro comes with a tool that converts those IDLs into JSONs. That tool is written in Java and maintained by the Avro folks, but also seems to have stagnated somewhat. In particular, it produces *really unhelpful errors, to the point where I've heard of people spending an hour chasing down a misplaced comma. My sense is that this is probably not too hard to fix in the Java version, but after digging a little I discovered that the parser behind this tool uses the ANTLR parser generator ( https://www.antlr.org/ ). ANTLR supports code generation to many languages, *including Rust*! And you know what that means: let's try to port it to Rust using something like miette ( https://docs.rs/miette/ ) for errors, and see how good we can make it! Since we a) have access to the existing Java code and b) there's an infinite supply of tests (the same IDL passed to the Java tool should produce the same JSON), this is also a perfect candidate for powercoding (LLM + review the code), so we decided to see if we could get a complete substitute up and running in just four hours 😅 The resulting repository can be found at https://github.com/jonhoo/avdl Live version with chat: https://youtube.com/live/NqV_KhDsMIs 00:00:00 Introduction 00:03:36 What is Apache Avro? 00:13:44 Setup and trying out the Java tool 00:23:25 ANTLR parser generation 00:46:07 Planning the implementation with Claude Code 01:46:10 Reviewing AI-generated Rust code 02:33:30 Making the LLM iterate 02:44:38 Setting up for a multi-agent workflow 02:57:56 Seeding a decent CLAUDE.md 03:03:08 Parallel issue identification and fixing 03:38:26 Making worktrees work 03:46:22 Brainrot, FOMO, and LLM use 04:16:37 Designing a self-correcting agent loop 04:53:14 Wrap-up & next steps

Open Source Maintenance, 2026-07-18

impl Rust: WAV noise generator

The Cost of Concurrency Coordination with Jon Gjengset

impl Rust: One Billion Row Challenge

A Practical Guide to Async IO in Zig

The DRAM Crisis: 600% Price Increases by Micron, SK Hynix, & Samsung

Common Pitfalls of Rewriting Things In Rust (Cliff L. Biffle at RustWeek)

This Is What the Start of a Crash Looks Like

Jon Gjengset on Rust Internals, Vibe Coding, and Teaching by Streaming

CANBUS – Networking so simple, even YOU can understand it!

Decrusting the tokio crate

Why Rust is different, with Alice Ryhl

Vibe coding complex changes in Rust

WeRecoverData Threatened To Sue Me For Exposing Their Google Maps Coordinated Abuse Network

14 Rust Smart Pointers Compared

Why I'm so bullish about Rust in 2026

A Simpler Way to See Results

The Why, What, and How of Pinning in Rust

