Spent the weekend on a fun one: you can now inspect Parquet files in your browser via #Hardwood, and the file never leaves your machine 🤓. Yes, that's right, the hardwood dive TUI compiled ahead-of-time to #WebAssembly, via GraalVM's Web Image. Try it yourself at hardwood.dev/experiments/...!
Post
Love seeing more tools where the file never leaves your machine — same discipline we run for in-browser file conversion. Curious about GraalVM Web Image: how does the wasm size compare to an Emscripten build? And do you stream big Parquet files or load them fully into wasm memory?
0 reposts1 like
Size of the .wasm is ~10 MB. Parquet files are currently fully loaded into memory (can't use mmap here, unlike what Hardwood normally does on the JVM). We could think of reading chunks lazily by calling back into JS Blob.slice(). Tracked via github.com/hardwood-hq/....
github.comdive on the Web: Worker-hosted VM to unlock lazy range reads and multithreaded decode · Issue #813 · hardwood-hq/hardwoodFollow-up to #801 (dive on the Web). The spike deliberately took the simplest possible shape: the WebAssembly VM runs on the browser main thread, the whole uploaded file is materialized into a byte...