Posts from '2025'
Const Assertions
I'm currently working on a project which involves a lot of lower level data structures. By lower level I mean things like layout and bit positions, and exact sizes being important. As such, I have a number of pedantic lints enabled. One of the lints ... read more →
Elecom Deft Pro - First Impressions
I recently picked up a new trackball to replace my prematurely aging Elecom HUGE. Here are my first impressions after only a few hours, since there wasn't much I could find online comparing them properly. Why I use a Trackball To get the obvious ques ... read more →
Finishing Dragonball in Korean
Over the past few days of vacation I finally had the chance to finish reading Dragonball! I started this a few years ago and have gone in spurts, sometimes not reading for months at a time as work got in the way. This post is a short reflection on wh ... read more →
Unzip, UTF-8, Docker, and C Locales
Today's episode of "things that make you go 'wat'" is sponsored by unzip. Yes, the venerable utility ubiquitous on UNIX-like systems. I mean, what could possibly go wrong? This morning I was minding my own business sipping a coffee, when su ... read more →
Rootless GitLab CI Container Builds with BuildKit
Forgive me in advance, but this post will probably be a bit rant-y. If you're looking for a way to do container builds in GitLab CI without a lot of fuss, this article is for you. RIP Kaniko I'm writing this post because Google recently canned yet an ... read more →
Optimizing Rust Builds with Target Flags
Recently I've been doing some work using Apache DataFusion for some high-throughput data pipelines. One of the interesting things I noticed on the user guide was the suggestion to set RUSTFLAGS='-C target-cpu=native'. This is actually a pretty common ... read more →
Ownership Benefits Beyond Memory Safety
Rust's ownership system is well-known for the ways it enforces memory safety guaranteees. For example, you can't use some value after it's been freed. Further, it also ensures that mutability is explicit, and it enforces some extra rules that make mo ... read more →
Unicode Normalization
Today I ran into an amusingly named place, thanks to some sharp eyes on the OpenStreetMap US Slack. The name of this restaurant is listed as "𝐊𝐄𝐁𝐀𝐁 𝐊𝐈𝐍𝐆 𝐘𝐀𝐍𝐆𝐎𝐍". That isn't some font trickery; it's a bunch of Unicode math symbols cleverly u ... read more →
EDNS Client-Subnet and Geographic DNS
DNS is a complex beast, so it's little surprise when I learn something new. Today I learned a bit more about the internals of how DNS works at various privacy-centric providers. It all started a few weeks ago when someone I follow on Mastodon (I'm ve ... read more →
Date Insanity with JavaScript
Earlier today, a friend sent me a joke about boycotting <some big evil tech company> for three days: Feb 29, 30, and 31. I thought this was pretty funny. But then, darker thoughts started to form. I've recently had the misfortune of doing far t ... read more →