websocketd – a UNIX Utility for Turning a Script/Utility into a Chart/Animation

websocketd may be my new favorite UNIX utility. It’s extremely useful for taking the ugly output from a script or utility and turning it into a chart or animation, or even adding a nice interactive UI. And it does it all without changing any code or adding any dependencies to your script or utility. Read more on websocketd – a UNIX Utility for Turning a Script/Utility into a Chart/Animation…

Debugging Techniques: #1 Break the System into Small Pieces

My PC wouldn’t boot, didn’t even make a sound. I traced the problem down to a particular mounting screw, but there was nothing to indicate that this screw was problematic. It was a perfectly fine screw, correctly installed in the right place. How did I figure this out? Debugging!
Read more on Debugging Techniques: #1 Break the System into Small Pieces…

Reproducible Builds with NPM (And Why You Should Use Yarn Instead)

If you’ve ever worked on a large JavaScript project with many dependencies, you know how difficult it can be to have reliable, repeatable builds. I’ve seen many projects resort to committing their node_modules directory. While this approach will give you dependable builds, it is quite annoying and causes many problems of its own–the least of which is that it can easily add tens of thousands of files to an otherwise clean repo.

I spent a lot of time and effort trying to get nice reproducible builds on a recent JavaScript project, and I actually succeeded! Less than a week later, Yarn was released, solving all of these problems much more elegantly.
Read more on Reproducible Builds with NPM (And Why You Should Use Yarn Instead)…

Using Rust in an Embedded Project: A Simple Example

I’ve written a few posts on using Rust for embedded projects:

I think they gave a decent overview of a couple of tricky parts, but as always, the devil is in the details. To help with all the gritty details, I’ve written up a more complete example. Read more on Using Rust in an Embedded Project: A Simple Example…

Using Rust 1.8 Stable for Building Embedded Firmware

A lot of things have changed since I wrote my last blog post on using Rust to build embedded firmware.

Since Rust 1.6 was released, libcore is now stable, and nostd is now a stable feature. This means we can now build Rust libraries for our embedded firmware using the official stable version of the compiler!

Read more on Using Rust 1.8 Stable for Building Embedded Firmware…