A dc Script for Easter

Someone reported a bug with my dc. The script that found the bug was so fascinating, I decided to share it, along with some tips for reading and debugging dc code.

Lessons Learned as a User 2: Eat Your Own Dog Food

In this second post in an ad-hoc series, I talk about why eating your own dog food is so important.

Lessons Learned as a User 1: Ease Matters

In this first post in an ad-hoc series, I talk about why making things easy for users matters.

Setting Aside an Idea: Decentralized Identities

I wrote about an idea about 9 months ago. This is how I found out the idea won't work.

Rust, Zig, and the Futility of "Replacing" C

There was a recent argument about the Python Cryptography library switching to Rust. Who was at fault?

Adventures in Backing Up Data with ZFS

I use ZFS as my filesystem. This is the story of how I set up remote backups with it.

Testing the Feasibility of Hardware Pipes 2: Exploring Designs

In my "Computing Is Broken" post, I suggested the possibility of implementing a fast microkernel if the hardware had the capability of passing data between process itself. In "Testing the Feasibility of Hardware Pipes", I crudely tested that theory. In this post, I go a few steps further.

My Development Environment and How I Got There

After someone else put up a blog post about the state of debuggers on Linux, I thought I would show how I do it.

The Software Industry Is Broken

The incentives in the software industry are all wrong. This is why.