What I Delegate to AI, and What I Don’t

AI Usage Disclosure I use large language models in my work, including in the code in my public repositories. What I use them for: writing and refactoring code, generating tests, drafting documentation, reviewing my own code for edge cases I missed, exploring unfamiliar libraries, and rubber-ducking design decisions before I commit to one. What I do not use them for: generating data, results, or producing any scientific claim I have not verified against a primary source. I do not paste unpublished data, private datasets, or anything under confidentiality into a model. ...

September 11, 2026

From Debian to EndeavourOS

For a long time, I used Debian. I still run it on my office laptop. It is hard not to respect a distro with that kind of stubborn integrity, quietly holding up half the internet without ever caring about being cool. Debian users want predictability above all else. They have the energy of someone who picks a matte-black business laptop with zero bells and whistles, leaves the settings stock, and expects it to boot the exact same way every morning for five years. A computer is a tool, not a science experiment. ...

August 28, 2026

A Little Less Software Clutter

I am obsessed with decluttering. Not just with having fewer things, but with reducing the little traces things leave behind. Old cache folders. Duplicate versions. Stray config files. Applications that work, technically, but have no proper place in the system. I like things to be clear and minimal. Sometimes that instinct helps me. Sometimes it hurts. For now, it is what it is. It started with Linux portable apps. A .tar.gz file is easy to download, but afterward I am left deciding where it belongs, how to launch it, how to update it, and how to remove it without leaving pieces behind. ...

August 28, 2026

Silence Is a Feature

The server room is too loud. You picture blue LEDs blinking in the dark. It’s actually a wall of sound - thousands of small fans screaming in slightly different keys, a noise that gets into your teeth. I had the yellow ear protection on and could still feel it in my jaw. Aaron didn’t seem to notice. Or he noticed years ago and made his peace. He walked the row, found the machine, pressed the release. The drive slid out. He held it up, turned it once in the light, and pointed at it with his chin. Grab this. ...

August 22, 2026

Vibecheck: Private Mood Tracker

I made this in the winter of 2025, when I noticed my mood was low and I wanted to see the correlations between what I feel and what I do. After some research I figured out what I wanted from a tracker, and what I could add to make it useful for other people too. I decided to keep it frictionless, which turned out to be especially helpful for people with ADHD (I am not one of them). ...

August 17, 2026

The Old, Toothless One (Shanidar 1)

image source He’s around forty-five, and he’s the oldest person anyone in the band has ever known. Most of his back teeth fell out years ago. He can’t chew tough food anymore. Someone pounds his meat soft for him, or he eats organ meat and marrow instead. His hip and spine are so arthritic he moves stiffly, like his joints are made of wood. He hasn’t brought in a single kill in more than five years. The band is nineteen people, living on the edge of survival. And still, they keep him. ...

August 2, 2026

What You Forgot Knows You

They remember you and they wait for you. They know what you forgot, they know who you were and what you did. Order the original hand-pulled linoprint here

April 26, 2026

Purrfection

What else would I need? Pure purrfection.

April 13, 2026

The Cup He Didn’t Drink

I open my eyes and I am on a chair. It is a coffee shop, but very empty. Too clean. Only straight lines, and a long wooden bar. There is no one behind the bar. No coffee machine sounds. No sounds at all. There is only one man. He sits at the bar, looking at a small black cup of espresso. I want one. A hot one. He does not drink it. He does not look at me. ...

April 1, 2026

Nowhere to Run, Nowhere to Be

I am racing against a clock that doesn’t exist. The war started, and within days my instinct was to invent deadlines to move faster and work harder. As if hurrying could make the painful situation end sooner. I called it resilience. I called it coping. But it is a childish form of escape, dressed up in productivity. My body still wants to sprint. My mind knows there is nowhere to run. Just a situation unfolding on its own time, with or without my panic. ...

March 30, 2026