It’s interesting how your perspective on things shifts as you get older.
A little while after Valentine’s Day this year, I remembered an experience (many
years ago) when I came across a poem while browsing in a bookshop, just after
Valentine’s Day. I had just endured a very painful and messy break-up of a
relationship, and my bookshop meandering was an attempt to distract myself for a
while. I picked up a book of poetry at random (Michèle Roberts’
collection ‘All the selves I was’), and opened a page at random. Bam.
When I’m working in Emacs, I like to have some visual separation between
different workspaces (which roughly equate to different projects). Previously, I
was using Doom Emacs’ workspaces feature, which uses persp-mode. My initial
reason for disabling workspaces was because I found that
projectile-switch-project didn’t work properly with it enabled, but I also
thought it would be interesting to see what I could set up using built-in Emacs
functions. What I ended up using was Emacs’ built-in tab-bar.
I finally gave in and gave myself a haircut today. Surprisingly, the results
were not terrible. Along the way, I have learned a little bit about the process
of cutting hair, and realised that very few parts of this process are in any way
possible to do well when cutting your own hair.
My Emacs tweaking tends to go in waves. I keep an eye on the Emacs subreddit and
the Doom Discord channel on a fairly regular basis, but I try not to jump on
every cool new package I see discussed there. Every now and again though, I see
something interesting which coincides with an itch to tinker with Emacs, and
away I go… This time, it was reading discussions about a constellation of
relatively new packages concerned with incrementally narrowing lists (and other
related functions) that caught my eye. This sounds very niche, but for many
people (me included) being presented with a list of things and being able to
type to incrementally narrow the list and then select something is a core part
of the Emacs UI. Since I use Doom, and it offers you an easy way to choose
either Ivy or Helm, I had been using Ivy, for the sake of easy configuration.
Both are fine packages, but having tried both, I preferred Ivy’s more minimal
interface, and the fact that it used the minibuffer rather than a buffer for
completions. However, it — and the related packages, Counsel and Swiper —
are somewhat complex and difficult to get to grips with. I was also not using
all the features that they provided, so was curious if I would enjoy using
something even simpler. That’s why I tried out Selectrum.
It seems that I’m not alone in the sewing world in having slightly lost my
sewing mojo (or ‘sewjo’) recently. It’s not that I have completely stopped
sewing: I made a birthday shirt, another pair of Persephone sailor trousers, and
an (un-blogged) pair of Lycra workout leggings, as well as many masks and my
keyboard mat, though the latter barely counts as sewing. Those items are
obviously not nothing, but the output is less than I would normally have sewn in
a comparable period. I certainly don’t have more spare time than I would
normally have. Even though I have been working from home, my home office is my
sewing room and vice-versa, and unfortunately not big enough to be set up for
both functions simultaneously, otherwise I might have been able to take a short
breaks to do 20 minutes or so of sewing in my day and get away from the screen.
Mostly, I think the problem has been that while I enjoy the sewing process
itself enormously, my main impetus to sew is to produce clothes to wear in the
presence of other people, and those opportunities have been severely lacking
since March. Recently, I wanted to make something cosy and comforting, but which
would also look fairly smart on work calls, and so I decided to make a Wiksten
Regular readers will know that I am a big fan of Emacs and have been using it
for most of my writing, coding and task-related activity for quite a while now.
Emacs is famously able to handle just about any kind of function, many of which
can be handled within a single mode: Org mode. However, just because you can do
it in Emacs, it doesn’t mean that you necessarily should. For example, I tried
out managing my personal email in Emacs using mu4e, and while I really enjoyed
writing and managing email in Emacs, I found having to constantly open HTML
emails in some form of browser (inside Emacs or outside) a chore. So now I have
reverted back to Mailmate for my email needs and am very happy with it.
I had also been usingorg-roam and the related ecosystem of tools
(org-roam-bibtex and org-roam-server) to handle my work notes on journal
articles, books, and ideas arising from them. I absolutely loved the ease of
linking between ideas, and the graph view which helped me to see what kinds of
broader topics were emerging organically from my research. However, I found
myself having frequent problems with the database needing to be cleared and
rebuilt, and org-roam-bibtex-mode needing to be reloaded. This — I am certain
— is some quirk of my own setup and configuration. I was syncing the note
files via Dropbox and it is likely that this was causing issues. Whatever the
cause, I couldn’t seem to fix it properly, and so I started to look around for
alternatives outside of Emacs. Eventually, I settled on Obsidian.
It can be difficult to keep a grip on time passing, particularly when you are
working and living in the same place with little opportunity to travel to other
places, and little variation in the pattern of your days and weeks. A few weeks
ago, I discovered the ‘Solar Dial’ watch face on Apple Watch. I don’t know if it
is new for WatchOS 7, or if it was there all the time and I hadn’t found it, but
I really like it.
I was thinking the other day that I am incredibly grateful that past me (back in
September last year, which seems about a decade ago) decided to take the plunge
and buy a proper sit-stand desk. Like many people, I’ve been basically living at
this desk for six months (though I’m very lucky to be able to work from
home), so it has been fantastic to have a good, ergonomic setup which allows me
to change position throughout the day. It doesn’t make endless Zoom meetings any
more bearable, but my body does thank me at the end of the day.
I’ve made a couple more tweaks recently to improve things further: I’ve added a
home-made desk shelf and a felt/cork keyboard mat.
Apparently — to quote The Byrds — ‘to everything there is a season, turn,
turn, turn’. Despite what I have written, I’ve gone back to Doom’s evil (i.e.
vim) bindings. As I thought about it more I realised that it made more sense to
go with the grain in Doom. Doom works perfectly fine with plain Emacs bindings
(if you tweak a little), but it is designed around evil-bindings, so you are
missing out on some well thought-out aspects of the configuration. You can, of
course, still use plain Emacs bindings in insert mode (which is often quite
useful), and you can switch to Emacs mode temporarily by using the binding C-z.
The two systems co-exist quite peacefully, so it is easy to use whatever
seems best in context. I have, for example, continued to use isearch rather than
vim-style search because I have found that I prefer it for simple searches.
However, for search and replace, I prefer the vim :%s/foo/bar/ command. That’s
no problem in Doom, and you can use either whenever you want.