- Author
- Julia Evans
- Generator
- Hugo
- Public lists
- davewiner/blogroll
- Fetched
Hello! I’m on a funny journey right now where I’m trying to learn how to make
websites in a sort of 2010 style, where I have an SQL database and render some
HTML on the backend.
It’s kind of an interesting journey because it doesn’t necessarily feel “easy”
to me to make webs...
Learning a few things about running SQLite
Hello! I’ve been working on a Django site recently, and I decided to use SQLite
as the database.
When I was getting started with using SQLite as database for a website I read a bunch
of blog posts about how it is totally fine to use SQLite in production for a
small site and ...
Moving away from Tailwind, and learning to structure my CSS
Hello! 8 years ago, I wrote excitedly about discovering Tailwind.
At that time I really had no idea how to structure my CSS code and given the
choice between a pile of complete chaos and Tailwind, I was really happy to choose
Tailwind. It helped me make a lot of tiny sites!
...
Links to CSS colour palettes
A while back I decided to stop using Tailwind for new projects and to just write
vanilla CSS instead.
But one thing I missed about Tailwind was the colour palette (here as CSS).
If I wanted a light blue I could just use blue-100 and if I didn’t like it
maybe try blue-200 or ...
Testing Vue components in the browser
Hello! One of my long term projects on here is
figuring out how to write frontend Javascript without using Node
or any other server JS runtime.
One issue I run into a lot in my frontend JS projects is that I don’t know how
to write tests for them. I’ve tried to use Playwrigh...
Examples for the tcpdump and dig man pages
Hello! My big takeaway from last month’s musings about man pages
was that examples in man pages are really great, so I worked on adding (or
improving) examples to two of my favourite tools’ man pages.
Here they are:
the dig man page (now with examples)
the tcpdump man page...
Notes on clarifying man pages
Hello! After spending some time working on the Git man pages last year,
I’ve been thinking a little more about what makes a good man page.
I’ve spent a lot of time writing cheat sheets for tools (tcpdump, git, dig, etc)
which have a man page as their primary documentation. T...
Some notes on starting to use Django
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 don...
A data model for Git (and other docs updates)
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 ...
Notes on switching to Helix from vim
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 ...
New zine: The Secret Rules of the Terminal
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 co...
Using `make` to compile C programs (for non-C-programmers)
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...
Standards for ANSI escape codes
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 sta...
How to add a directory to your PATH
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 a...
Some terminal frustrations
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 learn...
What's involved in getting a "modern" terminal setup?
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 is...
"Rules" that terminal programs follow
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 (yo...
Why pipes sometimes get "stuck": buffering
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 ar...
Importing a frontend Javascript library without a build system
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
...
New microblog with TILs
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,...
ASCII control characters in my terminal
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...
Using less memory to look up IP addresses in Mess With DNS
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’v...
Some notes on upgrading Hugo
Warning: this is a post about very boring yakshaving, probably only of interest
to people who are trying to upgrade Hugo from a very old version to a new
version. But what are blogs for if not documenting one’s very boring yakshaves
from time to time?
So yesterday I decided ...
Terminal colours are tricky
Yesterday I was thinking about how long it took me to get a colorscheme in my
terminal that I was mostly happy with (SO MANY YEARS), and it made me wonder
what about terminal colours made it so hard.
So I asked people on Mastodon what problems
they’ve run into with colours i...
Some Go web dev notes
I spent a lot of time in the past couple of weeks working on a website in Go
that may or may not ever see the light of day, but I learned a couple of things
along the way I wanted to write down. Here they are:
go 1.22 now has better routing
I’ve never felt motivated to learn...
Reasons I still love the fish shell
I wrote about how much I love fish in this blog post from 2017 and, 7 years
of using it every day later, I’ve found even more reasons to love it. So I
thought I’d write a new post with both the old reasons I loved it and some
reasons.
This came up today because I was trying ...