Yuri Vishnevsky
yuri.is
Yuri Vishnevsky
@yuri.is
Software engineer and data visualization enthusiast. Lives in Cambridge, Massachusetts, with no dogs.
Yse, exactly! I constructed a matrix where each row is a breed and each column is a name, and put smoothed observed/expected ratios as the values, then did a nonlinear dimensionality reduction to 2d. Can't remember the exact details, it's been a few years...
February 6, 2025 at 7:09 AM
You might be interested in this: observablehq.com/@yurivish/th... (no otis, alas, but you might like the 'Googly eyes?' toggle at the bottom)
The Long Tail of Dog Names
Note: This is an excerpt from a longer piece in development on the dogs of New York. What is the relationship between dog names and dog breeds? Here's a map in which dog names appear next to the breed...
observablehq.com
February 6, 2025 at 4:14 AM
just realized this was ambiguous: to clarify, the JS side does the rendering using plain JS code that uses the WebGPU API (not the wgpu crate). The Rust code effectively ships over (pointers to) slices of memory that should be directly copied to the GPU, along with an array of "render commands".
January 20, 2025 at 7:24 PM
Just raw data format - it's for a little generative art app (in progress at silk.art) where the core data processing happens in Rust (wasm) but rendering lives in JS (wgpu), receiving an array of enums (render commands) each frame.

If I understand, I think that'd be a case for Postcard-for-JS?
Silk
silk.art
January 20, 2025 at 7:07 PM
Postcard seems amazing! Do you think it might be a reasonable IPC format for efficient Rust <> JS communication?

I wrote a little library for WASM bindings (github.com/iopsystems/t...) and currently use JSON for complex data structures (which allocates), so I've been contemplating alternatives.
github.com
January 20, 2025 at 6:41 PM
This is a great idea. Would be cool to see this across more contexts, such as the set of works by the same author, or other works from the same genre. Reminds me a bit of a funny section heading I once saw for an open-source tool which had two sections: "What is FreeLing" and "What is NOT FreeLing".
December 8, 2024 at 10:51 PM