Erik Simmler

Internaut, software developer and irregular rambler

A hardware boot switch

I recently added a spare SSD so I could play with desktop Linux again, and I again quickly grew tired of trying to catch the GRUB boot selection screen. So I made a thing.

Adding constraints to Canrun

In basic μKanren, values interact through unification. While impressive results can be achieved with a bit of creativity (see: math with Peano numbers), I wanted something more direct, understandable and arbitrarily powerful. I like my toys to have at least a veneer of practicality.

Deploying web apps

Deploying a website is harder than it might first appear. Even a simple html page with a single Javascript or CSS file is a distributed system prone to race conditions. A "modern" Single Page Application with code splitting is worse.

Large WebAssembly builds with Rust and regex

I wanted to share a few functions between a Rust server and web app client, so I decided to finally try out WebAssembly (WASM). After a few tweaks to get data marshalled between the Javascript/WASM worlds, it actually worked really well... except the final `.wasm` file size was about 720K for a ~100 line function (plus dependencies, of course).