please enable javascript

Hosting a browser shell with v86 and buildroot

Alexander Comerford
October 31st, 2022 · 1 min read

Recently I rediscovered v86 and after browsing through the examples, I thought it would be cool to "self host" my own browser shell / OS. So I gave it a try and am happy to show TAOA Shell! [source]

With the amazingly simple interface of v86, anyone can have an extremely accessible OS in their browser for near zero cost!

This is possible because v86 emulates an x86 computer with WebAssembly and Javascript. Since these are just static assets, they can run in almost any browser and be hosted on a number of platforms, such GitHub pages, Netlify, and Digital Ocean, for free!

Now unfortunately the v86 emulator is slow compared to bare metal (sometimes a 10-100x slowdown). But it's fast enough and usable for a lot of tasks!

Now not only is this cool, but there is a personal use case I care about, which is the ability to self host my side projects that aren't naturally web based.

For example: my last weekend side project was about solving weaver. Now if people want to use the solver script, they'd have to copy the code, download the weaver graph, and run it. But now, with the click of a link, they can just try it in TAOA Shell to see it in action.

I didn't have to rewrite it into Javascript or host a server somewhere. Instead I just dump the code into TAOA Shell, and ✨like magic✨ it's on the internet!

There's also the added benefit of this generalizing beyond python scripts to almost anything that can run in Linux!

Thanks for reading! 🙋🏼

More posts from The Art of Abstraction

Writing a Weaver solver

Beating word games one letter at a time

October 4th, 2022 · 2 min read

Understanding KZG10 Polynomial Commitments

Sometimes the best knowledge is no knowledge

July 18th, 2022 · 9 min read