Mastodon

News from the Planet

Some notes on starting to use Django

Julia EvansJanuary 27, 2026

Hello! One of my favourite things is starting to learn an Old Boring Technology that I’ve never tried before but that has been around for 20+ years. It feels really good when every problem I’m ever going to have has been solved already 1000 times and I can just get stuff done easily. I’ve thought it…

read more ➔

A data model for Git (and other docs updates)

Julia EvansJanuary 08, 2026

Hello! This past fall, I decided to take some time to work on Git’s documentation. I’ve been thinking about working on open source docs for a long time – usually if I think the documentation for something could be improved, I’ll write a blog post or a zine or something. But this time I wondered:…

read more ➔

Notes on switching to Helix from vim

Julia EvansOctober 10, 2025

Hello! Earlier this summer I was talking to a friend about how much I love using fish, and how I love that I don’t have to configure it. They said that they feel the same way about the helix text editor, and so I decided to give it a try. I’ve been using it for 3 months now and here are a few…

read more ➔

New zine: The Secret Rules of the Terminal

Julia EvansJune 26, 2025

Hello! After many months of writing deep dive blog posts about the terminal, on Tuesday I released a new zine called “The Secret Rules of the Terminal”! You can get it for $12 here: https://wizardzines.com/zines/terminal, or get an 15-pack of all my zines here. Here’s the cover: the table…

read more ➔

Using `make` to compile C programs (for non-C-programmers)

Julia EvansJune 10, 2025

I have never been a C programmer but every so often I need to compile a C/C++ program from source. This has been kind of a struggle for me: for a long time, my approach was basically “install the dependencies, run make, if it doesn’t work, either try to find a binary someone has compiled or give…

read more ➔

Standards for ANSI escape codes

Julia EvansMarch 07, 2025

Hello! Today I want to talk about ANSI escape codes. For a long time I was vaguely aware of ANSI escape codes (“that’s how you make text red in the terminal and stuff”) but I had no real understanding of where they were supposed to be defined or whether or not there were standards for them. I…

read more ➔

How to add a directory to your PATH

Julia EvansFebruary 13, 2025

I was talking to a friend about how to add a directory to your PATH today. It’s something that feels “obvious” to me since I’ve been using the terminal for a long time, but when I searched for instructions for how to do it, I actually couldn’t find something that explained all of the steps – a lot…

read more ➔

Some terminal frustrations

Julia EvansFebruary 05, 2025

A few weeks ago I ran a terminal survey (you can read the results here) and at the end I asked: What’s the most frustrating thing about using the terminal for you? 1600 people answered, and I decided to spend a few days categorizing all the responses. Along the way I learned that classifying…

read more ➔

What's involved in getting a "modern" terminal setup?

Julia EvansJanuary 11, 2025

Hello! Recently I ran a terminal survey and I asked people what frustrated them. One person commented: There are so many pieces to having a modern terminal experience. I wish it all came out of the box. My immediate reaction was “oh, getting a modern terminal experience isn’t that hard, you just…

read more ➔

"Rules" that terminal programs follow

Julia EvansDecember 12, 2024

Recently I’ve been thinking about how everything that happens in the terminal is some combination of: Your operating system’s job Your shell’s job Your terminal emulator’s job The job of whatever program you happen to be running (like top or vim or cat) The first three (your operating system,…

read more ➔

Why pipes sometimes get "stuck": buffering

Julia EvansNovember 29, 2024

Here’s a niche terminal problem that has bothered me for years but that I never really understood until a few weeks ago. Let’s say you’re running this command to watch for some specific output in a log file: tail -f /some/log/file | grep thing1 | grep thing2 If log lines are being added to the file…

read more ➔

Importing a frontend Javascript library without a build system

Julia EvansNovember 18, 2024

I like writing Javascript without a build system and for the millionth time yesterday I ran into a problem where I needed to figure out how to import a Javascript library in my code without using a build system, and it took FOREVER to figure out how to import it because the library’s setup…

read more ➔

New microblog with TILs

Julia EvansNovember 09, 2024

I added a new section to this site a couple weeks ago called TIL (“today I learned”). the goal: save interesting tools & facts I posted on social media One kind of thing I like to post on Mastodon/Bluesky is “hey, here’s a cool thing”, like the great SQLite repl litecli, or the fact that cross…

read more ➔

ASCII control characters in my terminal

Julia EvansOctober 31, 2024

Hello! I’ve been thinking about the terminal a lot and yesterday I got curious about all these “control codes”, like Ctrl-A, Ctrl-C, Ctrl-W, etc. What’s the deal with all of them? a table of ASCII control characters Here’s a table of all 33 ASCII control characters, and what they do on my machine…

read more ➔

Using less memory to look up IP addresses in Mess With DNS

Julia EvansOctober 27, 2024

I’ve been having problems for the last 3 years or so where Mess With DNS periodically runs out of memory and gets OOM killed. This hasn’t been a big priority for me: usually it just goes down for a few minutes while it restarts, and it only happens once a day at most, so I’ve just been ignoring. But…

read more ➔