A tool that's great to have in one's Rust/Wasm toolbelt is tsify[0] which has been handy in ensuring type-safety for plain ol' data.
Very handy to update serde data structure and see all the typescript errors that after recompiling.
HN user
https://nickb.dev
A tool that's great to have in one's Rust/Wasm toolbelt is tsify[0] which has been handy in ensuring type-safety for plain ol' data.
Very handy to update serde data structure and see all the typescript errors that after recompiling.
The good news is that since August 2025 there's been quite the uptick in development, in large part thanks to folks working over at Cloudflare.
I was skeptical of X-Pipe at first, but after setting it up to access a remote docker container running Postgres that wasn't listening on a publicly accessible port, I can say that no other tool gets out of my way as fast as XPipe so I easily manage my machines and databases.
One nuance missing from the article is that since branded / tagged types extend from the base type, callers can still see and use string methods, which may not be what you want.
Equality can be problematic too. Imagine an Extension type, one could compare it with ".mp4" or "mp4", which one is correct?
Opaque types (that extend from `unknown` instead of T) work around these problems by forcing users through selector functions.
Isn't there a risk with this approach that you may receive input with a repeated prefix when there's a variable of type `string` and the prefix is prepended to satisfy the type checker without checking if the prefix already exists?
No joke, rerun seems perfect for visualizing a game like rocket league. Thank you for the recommendation!
Thanks for sharing, very inspiring. I love Rust for parsing video game replays / save files. I've authored a Rocket League replay parser (boxcars) and an entire suite of web visualizations (via Webassembly) for EU4 called pdx.tools https://pdx.tools
It's not easy to work with proprietary formats, but they've both become pretty popular, so I would 100% recommend sinking more time into this project as long as it scratches your itch. Gamers are always looking for more stats and deeper insights
Updated the benchmark with your implementation! You can see the results here: https://github.com/nickbabcock/bitter#comparison-to-other-li...
I'm collecting a bit of a benchmark for rust bitstream libraries inside my own library[1], and I wasn't aware of yours, so I'll add it to the list this afternoon!
I think this is an excellent suggestion (I'm OP / author), and one one can add just a dash to this for typechecking. Minimal setups are appreciated, especially when one has many small projects.
Yeah it's a bummer that a highwayhash is only cryptographically strong (but not cryptographically secure) as it can be significantly faster (3x).
But BLAKE3 does seem to offer the best compromise when a cryptographically secure hash is required.
I reverse engineered Paradox's binary format for their save files. Part of this process is extracting a table of 16 bit ids to text representations. I asked Paradox if I could open source this table, but they replied that I was already breaking the ToS. The solution I've come up with is to open source the logic but commit the table as a gpg encrypted payload (for which only I have the key).
So you could say that Paradox is sensitive when it comes to people poking around or pushing boundaries.
If one is interested in parsing the CK3 scripts / game files (briefly showed in the post) to dissect the wonderful world of PDS games, there's a js library for parsing these files:
https://github.com/nickbabcock/jomini.git
disclaimer: author