Rust for JavaScript Engineers - All a Board

Connect Four | Repository In the last post we looked at setting up the codebase to build Rust crates, and then importing them into a JavaScript project. By the end of the post we’d gone over a simple enum based design for each position of the Connect 4 board. In this post, I’m going to expand on how we can take that simple data structure, build out the entire grid, and then render it using HTML elements. ...

August 23, 2025 8 min

Rust for JavaScript Engineers - Building Connect-4

Connect Four | Repository When I first wanted to learn Rust in 2017, I had no idea where to start. I had written some C starting back in 7th grade, however I wasn’t particularly good at it. The only language I was competent at was JavaScript, and there weren’t a lot of resources that bridged the gap between JavaScript and Rust. My hope with this series is that it’ll allow people familiar with JavaScript to incrementally adopt Rust. ...

August 19, 2025 7 min

Crossing the WASM

Flashlight | Perf comparison I recently talked to a group of engineers about integrating WASM into Javascript projects. I’ve integrated some Rust compiled to WASM into my projects a few times for various reasons ranging from performance to FOMO. I wanted to write down the architecture of a tiny game I wrote recently (with vanilla JS, HTML, and WASM), to demonstrate how to integrate very small parts of Rust using WASM into Javascript/TS projects. And eventually let it consume your entire life. ...

April 27, 2025 8 min

Cirque Du Spritesheet

Photo-editor | Repository There isn’t much of a connection between Cirque Du Soleil and circular buffers. However, when I look at an animated gif of circular buffers the motion of the read and write heads reminds me of the wall of death. The write head’s ever advancing march over values that were yet to be read, but might never see I/O. An ongoing video game project of mine is where I experiment with Rust’s features to expand my understanding of the language. When I initially wrote Rasengan, a minimal circular buffer implementation, I had no plans on integrating it into the project. However, recently I wanted to implement a sort of blurred motion streak behind the video game character and Rasengan popped into my brain. ...

April 28, 2024 7 min

Dead Simple Spritesheet Animation

Live | Repository Motivation I’ve been using Bevy for a video game project and it’s been a delightful experience. As the project has grown, I’ve turned into a level designer, animator, illustrator, along with being a programmer. Sometimes I hit walls, and rabbit holes around those walls are too compelling to pass up. One such rabbit hole was building an animation state machine that could create different looping animations from a single sprite sheet. The only reason for using a single sprite-sheet is that being the dev and the illustrator is very time consuming and I wanted my workflow to remain as simple as possible. But as I’ve built a few different prototypes the single spritesheet model has proven to be quite useful. ...

December 4, 2022 5 min