Skip to main content

Baty.net

A blog about everything by Jack Baty đź‘‹

Tag: Emacs

Into Doom and out again

Doom Emacs is pretty great, especially for former Vimmers. I lived in Doom for a long time because it makes so many little things nicer, without having to dedicate one’s life to customizing Emacs.

Toward the end of last year I wrote I’m Doomed again when I moved back from my vanilla config. Then, early this year, I rolled my own config again, and spent a lot of time getting things just so. I even removed Evil mode and have been using the usual Emacs bindings. It’s the closest I’ve felt to being comfortable in Emacs in a long time.

The gravitational pull of Emacs

I want things to be simple and without distraction. I want to avoid futzing all the time. To this end, I often try to move away from using Emacs for everything. Emacs is not simple, no matter how hard I try to force it to be simple.

So I pull out the usual inventory of simple writing and note-taking apps, trying to make them fit. Telling myself that this is better for me.

Emacs Howm package for notes

howm is an Emacs package for taking notes. It was recommended to me recently, so I thought I’d take a look. The project page says “howm: Write fragmentarily and read collectively.” Worth a shot, right?

I haven’t seen too many people talking about howm. The best introductions I’ve found are from Leah Neukirchen and Andrei Sukhovskii.

I installed it via use-package with the following

;; howm package config

(use-package howm :ensure t
  :config
  (setq howm-directory "~/Documents/howm/")
  (setq howm-home-directory "~/Documents/howm/")
  (setq howm-keyword-file (expand-file-name ".howm-keys" howm-home-directory))
  (setq howm-history-file (expand-file-name ".howm-history" howm-home-directory))
  (setq howm-view-use-grep t))
;;  (setq howm-view-grep-command "/opt/homebrew/bin/rg"))

;; Fix for help bindings
(define-key howm-menu-mode-map "\C-h" nil)
(define-key riffle-summary-mode-map "\C-h" nil)
(define-key howm-view-contents-mode-map "\C-h" nil)

;; Sensible buffer names
(add-hook 'howm-mode-hook 'howm-mode-set-buffer-name)
(add-hook 'after-save-hook 'howm-mode-set-buffer-name)

I couldn’t get the rg settings to work, so I’m still using grep. It’s fast enough for this test.

Software that sparks joy

I’m just coming off a week using Obsidian. Obsidian is really good and powerful and easy to use and extensible and probably the correct answer to the question, “Where should I keep my notes?”.

I love Obsidian for a minute because of what it does and the fact that it’s not whatever I’d been using previously. It’s refreshing and finding new plugins to play with is good fun. But it’s janky. Why don’t more people complain about it being janky? It’s just blech to actually live in. It feels weird and loose and sloppy to me.

The Org-mode Island

The more I lean into using Org-mode files for everything, the more isolated I’m feeling. It may be irrational, because “plain text”, but having to export or otherwise translate everything when I post to my blog or other tools is becoming less fun. Org-mode Island is beautiful, but lonely.

Later: Jeremy Friesen reacts to the above with his take on the isolation of using Org-mode. Here’s some follow up.

Sending Org-journal entries to Day One

I mentioned that I should create a lisp function for sending my org-journal entries to Day One. Turns out I’d already done it. The only problem was that the original version assumed I was using a new org file every day. I’m now doing monthly files, so I needed to change how the text selection was made. Here’s the new function.

(defun jab/dayone-add-note ()
  "Sends current subtree as Day One entry"
  (interactive)
  (org-mark-subtree)
  (shell-command-on-region
   (point)
   (mark)
  "/usr/local/bin/dayone2 -j=Journal new"
  nil))

It’s not perfect, since it includes any PROPERTY drawers and leading stars, but it works and was easy to make.