Maintainer's Remorse
====================
There's an ongoing discussion on the
circumlunar.space bulletin board
ranging around several topics: the
complexity of modern software, poor
documentation, the tendency to shift
to containerized solutions (a la
Solene's recent blog), the loss of
expertise among server admins (who I
would say are making the migration
from server mechanic to server
technician status[1]), and lastly, how
the direction of all of this is making
"IT as a hobby" less fun.
I want to tackle that last point. If
you self-host anything, gopher,
gemini, websites, your own "cloud",
etc., you're engaged in IT as a hobby.
None of us have to do those things. We
could find and pay for reasonably
secure, privacy-respecting
alternatives in the majority of cases.
For example, I don't need to run a
radicale server. I trust that Posteo
would host my calendar and contacts
ethically for me.
We do that kind of thing because we
like DIY and we do it on principle: we
want to personally understand the
systems we use, and we feel a little
more control in a world that works
hard to centralize expertise and pull
us into walled and surveilled gardens.
I'm sure there are many additional
reasons, but those undoubtedly fit
many of us.
There's a cost to DIY IT though. I
mentioned in that discussion on
circumlunar.space that I have a file
on my computer called "server mess." I
created it one night due to the angst
of having six different servers on the
go.
Some were quite easy to set up: none
moreso than my gopher server. Others
involved full days (or more) of
following instructions, editing
byzantine config files, testing by
trial and error, etc. My linux skills
are limited and setting up particular
services was a real challenge,
especially since open source software
is often quite poorly documented. It's
hard to RTFM when there isn't one. Man
pages, if they exist, often include
certain leaps in logic that assume the
user knows something that they don't.
How many times have you figured out
how to install and configure a piece
of software from many different
websites -- cobbling together advice
on different distro versions or from
different distributions entirely? I
use Debian, which is quite popular.
There are a lot of support articles
for Debian and Ubuntu out there. But
I've learned a lot from the Arch Linux
website.
In any case, here's the crux of the
problem. Once you've got things up and
running, you've created an ongoing
set of obligations. Set up another
program and you've just added to your
obligations. Repeat. Repeat. Repeat.
First, you need to maintain those
installations. That's (potentially)
easy if the installations involved
something like an apt-get and a config
file. It's harder if you got the
software from a git repository or
downloaded a package from a website.
Did you record your steps? Did you
include comments on why you did what
you did in the config files? Are you
going to remember how this all works
later? Do you need to check that git
repository or website periodically for
updates?
Second, you need to make backups.
There are various ways of doing this.
I'm not sure how many people fully
automate their backups, but my scripts
still require a bit of intervention,
so I need to trigger the backup
process every once in a while. I
should fully automate the backups
including rsyncing them all somewhere.
You can criticize me for that. I
accept it. But have you done recent
backups?
Lastly, you're the tech support. When
something stops working, you're
responsible. You have to find out what
went wrong. Do you even remember how
you installed and configured the damn
thing? Did you write it all down or
are there a dozen different sites on
the setup of that particular software
bookmarked in your browser? If it's
the latter, congratulations, you get
to relearn how to navigate that maze
all over again!
That brings me to the central point of
this phlog entry. The person who
started the discussion at
circumlunar.space said that they were
tired of it all. So am I. I have
maintainer's remorse. I keep that
"server mess" text file on my computer
so that I don't add to it. The
mountain of obligation is large enough
already. Someone on gopher or gemini
recently wrote about the mental
anguish created by having unsorted
files all over your computer. It's
kind of like that. Ugh. All that
chaos.
These days, when I look for a solution
to a problem, I look for the absolute
minimum effort option. I try to avoid
self-hosting anything. One example is
notes. I have looked for simple,
syncable self-hosted note-taking
software. I've never found anything
usable[2]. So I have all my notes in a
single text file. I email that file
back and forth when I make changes.
It's searchable. There are redundant,
incremental backups on my laptop, my
phone, and in my email account. It's
good enough.
For that matter, a paper notebook
would have been good enough.
And it wouldn't have required any
setup or maintenance.
-----------
[1] See
gopher://zaibatsu.circumlunar.space/0/%7evisiblink/phlog/20210710
[2] Joplin would be usable if it
wasn't a huge electron mess that
barely starts on my phone. SilentNotes
would also be good, but it's only
available for Windows and Android.