i've started drawing again
I just miss doing art. Don't you?
i write about code, and things that bring me joy, and sometimes other things too
I just miss doing art. Don't you?
When most people think “river” I bet they think “personal identity.”
Writing custom Rust lints for fun and profit
what's a few systemd services in initramfs between friends?
use pre-push hooks instead
programming isn't a competition
Some definitions and an overview of the world of build systems
I want a way to gradually transition existing builds to be hermetic.
Makefiles and Ninja files have limitations, separate from the implementing tool. How can we fix them?
A build system needs to know not just which files exist, but which shouldn't exist.
You have backups for your critical data. Do you have backups for your critical infrastructure?
To redesign infrastructure, you have to allow incremental adoption, while simultaneously moving the whole design space at once.
an overview of what builds for complicated projects have to think about
within Rust is a smaller language struggling to get out
say what you mean to say, not just the first thing on your mind
hiring in tech is broken and everyone knows it. what can we do better?
your data is trapped inside the box that is your program. you can only see what the program author exposes.
exposing raw pointers make the optimizer’s job horribly hard. high level languages can constrain your program, making more optimizations sound.
a couple days ago i pushed about 10 empty posts at once to everyone subscribed to my RSS feed. oops. sorry about that. i've since fixed it, but most RSS readers i've seen will cache the posts indefinitely once they're published. the workaround for my own client was to delete my page and then readd it, which will unfortunately discard all your read/unread state. the reason this…
writing programs should be no harder than writing a resume
how hard is it to save and restore program state?
the trick is to make it as easy as possible
i have gone a little above and beyond trying to get all the features of VSCode
learning how a program is intended to work is hard. here's how to do it.
"technical debt" is about updating your understanding of the program over time. "technical risk" is about sacrificing your ability to make changes for speed of development in the short term.
unix sure is a system
tools i use or want to use
new and exciting ways to write buggy code
Do Not Disturb GNOME has a little button that lets you turn on Do-Not-Disturb for notifications: Unfortunately, it has no way of scheduling DnD . Good news, though! It does support turning on DnD through the CLI: gsettings set org.gnome.desktop.notifications show-banners false . I put that in a script named toggle-dnd in my dotfiles: $ cat bin/toggle-dnd # !/bin/sh case $ { 1 :- }…
what happens when you run cargo clippy ?
the number of people who have left the rust project due to burnout is shockingly high. the number of people in the project who are close to burnout is also shockingly high. this post is about myself, but it's not just about myself. i'm not going to name names because either you know what i'm talking about, in which case you know at least five people matching this description, or you…
a sense of wonder is a wonderful thing
How to maintain a project without burning yourself out
Goals for improving Rust's build system and making it easier to understand
tips and tricks for dealing with git's horrible error messages
I'll Rust With You: the song Niko Matsakis, co-lead for the Rust language team, recently published a song titled "Edition: the song" . I decided I was not to be outdone and sang a cover of "I'll Rust With You", by Steam Powered Giraffe . The song has absolutely no relation to the Rust language other than the title, I just think it's fun. Video
tips and tricks for dealing with the borrow-checker
Why HRTB are my least-favorite part of Rust
How I helped stabilize intra-doc links
Rust in 2021 should focus on discoverability
How I because the 2nd-most prolific contributor to docs.rs
How I got Multiplayer Civilization 5 to work on Linux