Naming is hard

Work In Progress Rust

2026-07-05  10 minute read

Rust is a reliable language that prioritizes correctness. However, during development, it can be a burden to account for every single error path immediately.

This article presents a few techniques that defer handling correctness to that you can stay longer in the happy path, as well as a library I developed to make this process more convenient.

So, you want to write an unsafe crate

2024-04-29  7 minute read

These days saw the release of nolife 0.4, a crate that offers an intuitive fix for borrow errors by letting you conveniently store a scope of execution containing multiple borrows inside of your struct without a lifetime. I want to seize this opportunity to write a bit about what goes into making a library that juggles self-referential code like nolife does.

Too dangerous for C++

2024-02-09  5 minute read

Some patterns are only made practical thanks to Rust's memory safety, and too dangerous to use in C++. Here's a concrete example.