Ben Visness

234 Followers
27 Following
79 Posts
Follower of Jesus. Handmade Network lead. WebAssembly engineer at Mozilla. Mentor for FIRST Robotics Competition Team 2175, The Fighting Calculators.
Websitehttps://bvisness.me
Twitterhttps://twitter.com/its_bvisness
Twitchhttps://twitch.tv/bvisness
HMN Profilehttps://handmade.network/m/bvisness

We at Mozilla feel that WebAssembly has been a second-class citizen on the web for long enough. You shouldn't have to go through JS to do everything.

This is probably a lot of what I will be focusing on for work in 2026!

https://hacks.mozilla.org/2026/02/making-webassembly-a-first-class-language-on-the-web/

Why is WebAssembly a second-class language on the web? – Mozilla Hacks - the Web developer blog

This post is an expanded version of a presentation I gave at the recent WebAssembly CG meeting in Munich. WebAssembly has come a long way since its first release in 2017. The 1.0 version of WebAssembly was already a great fit for low-level languages like C and C++, and immediately enabled many new kinds of applications to efficiently target the web.

Mozilla Hacks – the Web developer blog
The original video of the talk can be found here: https://youtu.be/AmrBpxAtPrI
High-level is the goal (but why?)

YouTube

A couple years ago I gave a talk laying out why I believe we should care about low-level programming. That talk is now available in blog post form as well.

https://bvisness.me/high-level/

High-level is the goal | Ben Visness

Why should anyone care about low-level programming?

The write-up of my new graph layout algorithm for SpiderMonkey is finally live.

We built a custom layout algorithm for JS and WASM that follows the structure of the source code. No more spaghetti nightmares from Graphviz, and thousands of times faster.

https://spidermonkey.dev/blog/2025/10/28/iongraph-web.html

Who needs Graphviz when you can build it yourself?

Exploring a new layout algorithm for control flow graphs.

SpiderMonkey JavaScript/WebAssembly Engine

Casey’s lecture on API design is truly evergreen. The best I’ve ever seen by a mile.

The more programming experience I get, the more meaningful this talk becomes. It so sharply clarifies why bad APIs are bad and great APIs are great.

https://youtu.be/ZQ5_u8Lgvyk

Designing and Evaluating Reusable Components - 2004

YouTube

For this year’s Wheel Reinvention Jam, I created a program called Flowshell: a tool that lets you do common shell workflows, but with a visual node graph!

Amazing what you can build in a week :D

https://www.youtube.com/watch?v=VyqxUs1mUng

Flowshell: A completely visual shell

YouTube
Meanwhile, graphviz takes about six minutes to produce this. Thanks graphviz.

I've been ironing out some quadratic things in my graph viewer and now it can lay out this horrifically large function in about 20ms :D

(Total render time is about a second because 980ms are spent just in DOM layout for individual blocks)

The "tweak" system from this post is now available as a simple single-file library: https://github.com/bvisness/tweak-ts
GitHub - bvisness/tweak-ts: Easily tweak numeric values in web apps without modifying the code.

Easily tweak numeric values in web apps without modifying the code. - bvisness/tweak-ts

GitHub