Ben Visness

@bvisness.me

My help comes from the Lord. Handmade Network lead. WebAssembly engineer at Mozilla. Mentor for FRC Team 2175. https://bvisness.me/ Twitter (most active): @its_bvisness Mastodon: @bvisness@mastodon.gamedev.place

We are fortunate to have a Handmade event in Vancouver. The format is a mix of presentations and conversations -- if striving for great software is your thing, this is worth checking out.

Ben Visness@bvisness.me · 4mo ago

On June 6 we are hosting the Handmade Network Expo in Vancouver, BC, an event celebrating software made from scratch. Among the lineup: a new game from Anton Mikhailov & @nicbarker.com, a time travel debugger by @leddoo.bsky.social, a language and IDE from @frogtoss.bsky.social, and more. (1/2)

A picture of the Vancouver skyline

Oh also I forgot to post my jam project here on Bluesky - here's Buongiorno, my tool for mapping out mDNS and DNS-SD services. It captures mDNS packets to show a graph of services being requested and advertised, e.g. printers, AirPlay, Handoff, and more.

Bild

I have started to go down the compression rabbit hole. The compressor and decompressor are handwritten WASM. Uncompressed: 52MB Very stupid RLE: 182KB Slightly smarter RLE: 65KB

"Very stupid RLE", where runs of zeroes are collapsed but individual letters are spaced out by four bytes each"Slightly smarter RLE", where long runs of unique characters are contiguous

Sometimes you spend weeks on a performance optimization to get 0.5% faster. Other times you spend a day tweaking your GC code and get 15%+ faster.

Spreadsheet showing results from a Flutter benchmark, showcasing a 15%+ performance improvement.

After working hard to get 64-bit WebAssembly released in browsers, I would now like to discourage most people from using it 😛 (My first post on the SpiderMonkey website btw, which is a fun milestone) spidermonkey.dev/blog/2025/01...

Is Memory64 actually worth using?

After many long years, the Memory64 proposal for WebAssembly has finally been released in both Firefox 134 and Chrome 133. In short, this proposal adds 64-bit pointers to WebAssembly.

spidermonkey.dev