I really did try mu4e. Really. But the setup required a custom emacs build on
macos, and I am unfortunately constrained to Macs for work at the moment, so it
was kind of a non-starter to jump through so many hoops to get it working. And
of course, I also highly value resilience, and nothing says unresilient than not
being able to successfully build a crucial feature like mail handling into your
editor of choice.
So that occassioned a turn towards notmuch. Oh my, how delightful. At it’s
simplest, notmuch is just a xapian-powered tag database for your email. Imagine
that, no crazy indexers or long-polling to check for new email. Notmuch just
tags and allows you to search your email.
Combined with isync’s mbsync and msmtp, I now have a really functional and
resilient email seutp in Emacs. Even more delightful is looking through my tag
database and realizing that if I tag things effectively, finding all those board
agenda emails for church are just a tag search away.
Of course, such things were always available in Gmail or a mail client. But I
was always unimpressed with how slow Thunderbird or Mail.app got with lots of
messages. And Google is reading all my messages, so that sucks too.
Combine the ease of syncing and tagging messages, and the fact that they exist
in a directory on my computer, synced via Dropbox to all my other computers and
my email suddenly mine again, not living on an IMAP server that I hope doesn’t
fail me.
After a year or so of dedicating myself to getting Spacemacs setup just right, I
made a pretty substanial jump a few weeks ago. I’m now running doom-emacs which
provides fewer nice surprises (missing evil-surround shortcuts by default) than
spacemacs, but loads much … much faster. The other day I found myself coding
while sharing my screen on Zoom and is was painfully obvious what price I was
paying for spacemacs not cleaning up after itself and generally lazy loading
things leading to less than fast context switching.
I was willing to struggle through some the slower operations for my own sake,
but getting caught with other people watching as my editor on a brand new
computer struggled to do basic things like searching for symbols in the codebase
was embarrassing.
I’m not done with Spacemacs. I still love the idea, and I also believe that half
the problem was likely the way I was using it and configuring it. But part of
the appeal of spacemacs are the defaults. And it was the defaults that was
making it hard to use it on a daily basis.
Another nice aspect of Doom Emacs is that aside from a handful of evil-mode
shortcuts, a lot of what you’re encouraged to use are stock emacs keystrokes.
That means that I’m not learning some cryptic layer on org mode when I use
emacs, I using the default keystrokes that I will find in vanilla emacs. That’s
very useful and will hopefully make me a more respectable member of the emacs
community, rather than a vim outcast.
I was reviewing the feeds I subscribe to in elfeed this evening when it occurred
to me that a lot of my feeds have to do with Emacs. I will often blow through
updates on feeds, making sure to only pickup things that are truly useful. But I
discovered an amazingly high signal to noise ratio regarding tips for using
Emacs more effectively. This got me thinking about how I couldn’t possible
remember all this stuff, so I tossed some of the things I was learning in my
learnings.org file to review later. At that point, it dawned on my how important
tool choice is, and how important it is to learn how to use your tools
effectively and be receptive to learning new things about them.
This could apply equally to any well made tool for any discipline (woodworking,
drawing, research), but for me that means Emacs. Not everyone is going to ever
need to touch Emacs. For me, I can’t imagine not having it, and everytime I
learn something new, I get a little more effective with it.
Oh Goodreads. Your website is a cluttered mess. Your UX hasn’t been improved in years. The only value I derive from keeping my reading list on you is that my friends can see what I’m reading. Which is a neat trick, but since I’ve mostly given up on Facebook too, it not really enough to keep me.
I was an early adopter of Goodreads, but my life has taken a turn towards the personal and the text-based. I use Emacs (via spacemacs) as much as I can. Org-mode might be the single most impressive IDEA rendered into software I’ve ever seen. It simply makes the things I use on a regular basis more powerful and expressive, which is not something I can say for Word, Twitter, or Chrome. Those are merely tools. They don’t amplify my ability to document and create.
Really the post Leaving Goodreads is what convinced me to go, one more time, back to my reading list in org mode. But the killer feature this time around was ox-hugo, which allows me to easily dump Org-mode subtrees into a hugo-powered blog directory. A simple rsync later and I can publish random subtrees, including book reviews!
The whole thing is so elegant, I couldn’t have dreamed up the process if I had tried. The whole thing was truly an evolution of tools, and one that was only possible because each tool, Emacs, spacemacs, org-mode, hugo, ox-hugo, does it’s job so elegantly.
After an angsty 25+ years of my life, I’ve come around to love running. This is
obvious to anyone who knows me. I discovered it as a great hobby when you live
in a rural area and can’t get together on a regular basis to play sports.
Combined with the ability to track running with technology, it has become a
hobby that at this point I would even if I couldn’t track, or had access to
regular sports events. I just love being out on the road, listening to nature
(or music) and feeling the air and precipitation.
But that’s not what this is about. This post is about when I’m less than joyful
on a run. A big part of running is making it a habit so that it isn’t a
struggle. The hope is that you can condition yourself to be able to use
relatively little effort to get out there. That’s the goal. Of course, reality
being what it is, running it not always effortless.
The last few weeks I’ve changed my diet and had an explosion of personal and
professional commitments. The changes in routine have led to runs that have been
crammed in my schedule sideways and at times that are not my favorite. Which
ultimately has led to runs that would normally be close to effortless, requiring
more effort. But there’s an opportunity here too. The opportunity is to toughten
my mental state to run while under effort. Even when things don’t go right, we
have to practice a combination of mindfulness and grounding in your ability to
push through, while still listening to your body and not pushing too hard.
The idea here, cribbed from Bryan Cantrill’s talk on oral traditions in software
development, is the importance of making as clear as possible your intentions
when you do things. Often I feel as though intention gets a bad rap. The road to
hell, and what-not. But the reality is that, if you are doing something, it is
best to do it with intention. God help us the things we do impulsively or
emotionally. Sometimes they work out alright, but it’s usually best to go back
and see if we can learn why it happened. That’s still applicable when doing
things intentionally, but because there was forethought, we are already a step
ahead.
Of course, what this really means is that we also need to make sure we document
our intentions. This is where we come back to Bryan’s talk. It’s not enough to
solve a problem, or build a product. You have to document the process that got
you there. In software, you leave your intentions via comments, documentation,
blog posts, podcasts, talks, or just conversations with co-workers and friends.
But one way or another, you should document what you set out to do and whether
you accomplished it. In the absence of this, we are really just throwing darts.
I’d wager dollars to donuts that few significant works were created by throwing
darts.
I’m currently reading the book Sing, Unburied, Sing by Jesymn Ward. The most
disturbing aspect of one of the characters in Ward’s brilliant story is the
complete lack of intention in her actions. Her internal governor appears to be
fueled entirely by impulse and emotion, leaving those around her hurt, confused,
angry and afraid. When humans act without intention, the results tend to appear
brutally selfish, even if the underlying logic is not. When we impulsively shoot
off an email, we have, by definition, not given it any thought. The
repercussions of such an action are hard to understand.
Thus, while the road to hell may indeed be paved with good intentions, it’s
probably better than the road that’s paved with impulsive and emotional
outbursts.
Once, I used Jekyll. Then I switched to Pelican. I’m finally here on Hugo, and
hoping that this will make it easier to keep things updated. The eternal
question when chosing a method to publish a blog is, why publish a blog. I don’t
really have an answer for that yet. I wish I did. Honestly, I do. You don’t have
to believe me, because I believe in myself, and if this is all one big
simulation, you don’t matter anyway.
Incidentally, perhaps the best part of this transition is the
ox-hugo plugin, which makes writing new posts
and publishing them a dream. Now, instead of some complicated cocktail of adding
a new file with the write filename and proper metadata, I can just org-mode
capture the thing. The more I use emacs (and specifically
spacemacs), the more in love I am.
Campaigning has been a very interesting trip. The most memoroable aspect of
running for select board so far has been finding people standing up along side
me and asking how they can help me gain a seat at the table. Mostly, that’s
because I tend to think of myself as a relatively unimportant person. And I am,
even now. Yet my desire to serve the town intersects with a lot of other folks'
desires for their town, and I’m amazed that they see me as someone who can help
them.
Mostly, what that means to me is that this has become a responsibility. Not that
I didn’t already know that to a certain degree, but extent to which service is
really responsiblity has fully dawned on me now.
The way I was raised, certain people were simply wrong. If they didn’t share the
same enthusiasm for science, they were incorrect. If they believed in a
benevolent (or even malevolent) Christian god, they were wrong. There was very
little gray in many of the positions that were espoused to me. One of the great
aspects of humanity is that we are given the opportunity to raise our children
with our values and beliefs. But, of course, there are responsibilities there
too.
It almost seems absurd to say this, but I don’t think I was always responsibly
educated. Absurd, because that’s a high bar and I’m not sure anyone can ever
claim to have been educated under the perfect paradigm. But to the extent that
it took me many years to understand what it means to pursue a free and
responsible search for truth and meaning, I think there could have been more
openess to what I was exposed to. The Christian Bible is an amazing book. The
Bhagavad Gita is absolutely beautiful. Darwin had his doubts about the extent to
which evolution allows us to understand life. Newton was downright crazy half
the time.
The source of responsibility in our lives is humbleness. When we say we are
responsible for our children, that does not mean if we fail to teach them the
right things we have failed. It means if we fail to listen to them, and discern
what they need based on what we understand about them and what they tell us, we
have failed them. There is no test for responsible parenthood, just as there is
no test of responsible searching for meaning in our lives. When we have the
freedom to search for truth and meaning, we must use discernment and listening
as our foundation for responsibility. Listen first, think second, act last.
What does it mean to encourage others towards spiritual growth? At a recent
board meeting, which included a fairly contentious issue, a number of friends
and myself certainly did not encourage anyone towards spiritual growth. The root
of the problem, as with many problems, lies with differences; differences of
opinion, experience, and expectations. As a Unitarian Universalist congregation,
we espouse the seven principles, which are as close to dogma as you’re likely to
see in UUism. One of these seven “pillars” of behavior as a UU calls us to
accept others and help them towards spiritual growth. How can we do that when
we’re so different?
I’m repeating myself here, but repetition is the best way to learn anything, so
let’s go again. Difference tends to cause us to build walls. Often we do not do
so intentionally, but humans are animals, and there is a base tribalness to much
of what animals do. It should not surprise us that we like to be with our own
kind, to have our ideas reinforced, to spend time with those we’ve shared
experiences. But that gets to the crux of it. Share experiences with other
people. Embrace our tribalness to create connections with people who are
currently strangers. This is not radical acceptance. If you believe that
abortion is a sin against your chosen diety, that is not a good place to begin
acceptance. Rather, why not talk about youre experience with your children? Talk
about sports, the weather, and begin to ask questions.
Do you know where the members on your board were born? Where they were raised?
What they personally believe? The stand out experiences in their lives? Their
favorite books? Movies? What they love? What drives them crazy? These are not
retorical questions. Nor are they questions that I have asked yet. So no need to
feel bad. Being an accepting and welcoming human being is difficult preciscely
because of our earlier manifestation as uncooperative animals. But by some
miracle have developed the skills of discernment and cooperation, and we should
perform social exercises to keep our open-ness well conditioned.