Josh Haberman · X (formerly Twitter)

user avatar

I work on the Protocol Buffers team at Google. I created upb (a small C protobuf implementation) and Bloaty (an ELF/Mach-O/PE/WASM binary size profiler).

Seattle, WA

Joined May 2011

  • user avatar

    New from me: "No-Panic Rust: A Nice Technique for Systems Programming":

  • user avatar

    I'm getting more and more spam texts these days. I can imagine a future where texting platforms don't allow cold calls from unknown contacts without an extra token. The extra token could come from a mutual friend who shared the contact, or an in-person contact exchange.

  • user avatar

    Rust doesn't seem to have the concept of an internal/private crate. Any dependency of a public crate must also be publicly published on crates.io. There's no way to split a library into multiple crates in a way that is invisible to end users.

  • user avatar

    File size of a trivial Python extension (Rust/pyo3): 401kB File size of the protobuf Python extension (C): 277kB The Rust extension has a single function that adds two numbers. The C extension implements all of protobuf. Both figures exclude debug info.

  • user avatar

    My biggest takeaway from Rust so far is that borrows should be relatively short-lived. While it is possible to put references in a long-lived struct, it creates spiraling complexity and is overall not worth it. Rust wants structs to own their members.

Read the original on x.com ↗