Uses

The tools, systems, and habits I keep reaching for.

This is a living list of the tools I use.

None of this is meant to be advice. Tools are personal. These are just the ones that currently fit how I like to work.

Computer

I use Linux as my main operating system.

Right now that mostly means Arch Linux, Wayland, Niri, and a lot of terminal windows.

I like computers that feel quiet, fast, and mine. I don't need my setup to look impressive. I need it to stay out of the way long enough for me to think.

Some people relax by organizing their bookshelves. I apparently relax by adjusting my window manager config.

Editor

I use Zed for a lot of day-to-day coding.

I've come to really like it because it feels like an editor, not an entire operating environment trying to absorb my life. It opens quickly, looks good, and generally lets me write code without making the editor itself the main character.

I still keep terminal editors around because some habits are hard to kill, and because editing a file over SSH should not require a small ceremony.

Terminal

I spend a lot of time in terminals.

Not because terminals are magic. They're just direct. Commands go in. Text comes out. Files are visible. State is usually somewhere you can inspect.

I find a good terminal workflow has a certain calmness to it. It doesn't try to predict everything I might want. It gives me sharp tools and assumes I meant to use them.

That is both the appeal and the danger.

Languages

Most of my personal projects tend to involve:

Rust is the language I reach for when I want something small, fast, and sturdy.

Python is still hard to beat when I want to get an idea moving quickly.

JavaScript is allowed to exist when the thing I am making actually lives in the browser. I have no interest in pretending the web is not an application platform. I just think text shouldn't need a client-side application to appear on a screen.

AI

I do use AI tools, but I try to be careful about what I use them for.

They're useful for exploring ideas, checking assumptions, debugging, generating examples, and getting unstuck. They are much less useful when I let them decide what I think.

For writing, I use AI more like a conversation partner than a ghostwriter. I care a lot about voice, taste, structure, and whether something actually sounds like me. If a piece of writing feels polished but hollow, I don't consider that an improvement.

For code, I use AI the way I would use a very fast but occasionally overconfident intern: helpful, worth listening to, and absolutely not trusted without review.

I think the useful version of AI is not replacing thought. It is making it easier to stay in motion while thinking.

Writing

Most of my writing starts very messy.

Sometimes it starts as a note in a text file. Sometimes it starts as one sentence I keep thinking about. Sometimes it starts because some piece of software behaviour annoyed me more than it probably should have.

I write in Markdown because it doesn't get in the way. It's plain text, it diffs well, and it lets me move writing between tools without feeling like I am smuggling it out of a product.

The writing lives in Git.

That is partly practical and partly because I like having a real history of how something changed.

Website

This site is built with Zola and written in Markdown.

The details live in the colophon. The short version is that I wanted the site to be easy to understand, easy to move, and boring to maintain.

Most of the time I don't want to think about the website as infrastructure. I want to write something, commit it, push it, and move on.

Personal infrastructure

For personal projects, I prefer infrastructure that fades into the background.

I like managed services when they remove work without taking ownership away. I like local tools when they keep data close and understandable. I like boring choices because boring choices usually leave more attention for the actual work.

That might mean static hosting. It might mean a small VPS. It might mean SQLite. It might mean a plain directory full of files.

The answer depends on the project.

The preference stays the same: use the least surprising thing that can comfortably do the job.

Preferences

The tools change, but my preferences are pretty stable.

I like:

I don't think every tool needs to be minimal.

But I do think every tool should justify the complexity it brings.