2011-02-13
A humbling experience with '#
' characters in filenames
It's always a humbling experience to realize that you've made a terrible mistake when configuring a program, even when it only really affects you.
Once upon a time, I was building and thus configuring my first MH setup. MH puts each message in its own file and normally 'removes' messages by renaming them by putting a prefix character on the front; this lets you relatively easily un-delete messages for some amount of time if you made a mistake in removing them. When you are configuring MH, you can chose what this prefix character is.
For some reason (perhaps because it was mentioned as an option in the
configuration documentation), I picked the prefix character '#
'.
This seemed to work well enough, and so I carried this particular MH
configuration choice forward to every version of MH I configured for
the next, oh, fifteen years. Then in the fall of 2006 I moved to an
environment where for the first time in many years I was not using
a version of MH that I had compiled myself; instead I was using a
prepacked one. This version used the normal MH default character
of ',
'.
Let me assure you that it is much easier to work with files that start
with a ',
' than it is to work with files that start with a '#
'.
Until my MH environment switched, I had not really been conscious of
how subtly annoying the old way was, but it turned out that it was. As
usual, it wasn't an issue of it being impossible or very hard to work
with filenames with a '#
'; it's that such filenames added friction to
the process, enough friction that I avoid dealing with them. Friction
matters more than we think it does.
Fortunately my bad configuration decision a very long time ago didn't affect very many people. In all of the environments I've worked in, only a few people ever used MH, and in several of them I was basically the sole user.