Hi, Bennett here!

I'm a software developer at CipherStash, where I build a searchable encrypted database.

When I’m not at work, you’ll find me ricing Arch Linux, evangelizing Vim and spending hours and hours fighting the borrow-checker in Rust.

If you'd like to get in contact, you can email me or find me on Github or Twitter.

Recent Notes

Recent Posts

Rewriting Recoil from scratch

A brief exploration into how to build an "atom" based state management library like Recoil. I talk about how I'd build atoms, selectors as well as the hooks to use them from React. What's more - it's all in under 100 lines of code.

Building a JavaScript-free fast static site

How to build a blazingly fast static site without relying on Gatsby or JavaScript. I talk about common features of websites that make them slow and give tips on how to build a purely static site that meets all the Core Web Vitals.

Don't use boxed trait objects

Boxed trait objects are a great scape goat for solving hard borrow checker errors. But when writing a struct that needs to be reused, you're better off using something else for their interior structure.

Safe, efficient and fast native Node extensions with Rust

Everyone seems to be rewriting all their JavaScript in Rust. I look at how you can use Rust, Rayon and Neon to write user fast and parallel native Node extensions.

Vim for Webdev

I've been using the Vim emulator for Visual Studio Code for a really long time. In this one I finally look at how to make the switch to Neovim but keep all the perks of using a full fledged web development IDE.

Force push your branches

A slightly hyperbolic argument for why you should force push your branches. I look at how force pushing helps you to keep your git history readable and free of merge commits.

Advanced beginner Vim tricks

After you get past the beginner level in Vim it can be a bit hard to figure out what to learn next. To help, I explore some tips and tricks to help you overcome the valley of despair and become an advanced Vim user.

Learning Rust through the Advent of Code

An introduction to the Rust programming language through an Advent of Code 2018 challenge.

Leaving i3 and Xorg for Sway and Wayland

A brief journey into leaving behind Xorg and i3 for the newer Wayland compositor and Sway window manager. I talk about a few issues I ran into during the migration and how I (tried) to fix them.

Japanese Fonts on Arch Linux

How to get Japanese fonts working properly on Arch Linux. I look at how to configure the default system fonts as well as getting Japanese input working with Fcitx and Mozc.