May 20th 2026 - Things I Worked On
Relearned GTD for org-mode
I went back through some old videos of GTD and refreshed myself on my org-mode setup for using GTD effectively. I have my inbox, projects, and captures setup now. I added a weekly review to my calendar as well.
I moved all my TODO items (over 100 of them) from my journal.org to my projects.org file and organized everything with PROJ, NEXT, and TODO labels.
Weekly Roundup paste post items
Added pasting weekly roundup item in the kill ring properly formatted.
(defun blog-paste-weekly-roundup-item () "Paste the weekly roundup item in the kill ring properly formatted." (interactive) (let ((top-kill (car kill-ring))) (when (string-prefix-p "*** " top-kill) (setq top-kill (replace-regexp-in-string "^\\*\\*\\* " "- " top-kill))) (insert top-kill)))
Add a date picker to blog post creation functions
Its getting annoying to have to change the file name. I added a date picker to my create post functions.
(defun blog-create-post () "Create or open a blog post with a date chosen from the calendar. This uses `blog-post-template' if its a new post." (interactive) (let* ((user-input (org-read-date)) (parsed-time (org-time-string-to-time user-input)) (clean-date (format-time-string "%Y-%m-%d" parsed-time))) (blog--create-post (concat clean-date "_") blog-post-template)))
Moved all extra .el files into ~/.emacs.d/lisp directory
Moved all my custom lisp files into a dedicated lisp directory. This is useful to keep that root directory clean.
Added custom agenda command to view all NEXT items
(setq org-agenda-custom-commands '(("n" "List all NEXT items" todo "NEXT")))
Added function to copy org roam node to my journal
Sometimes when I create an org roam node I want to immediately add it to my journal. My current workflow is to manually copy the name and a link or do an (org-roam-node-insert) but a faster way would be to automatically add the node to the journal with a key press. So I came up with this:
(defun my/append-org-link-to-journal () "Append the current org roam node to the journal" (interactive) (let* ((id (org-id-get nil)) (title (or (org-get-title) (file-name-base (buffer-file-name)) "Untitled")) (journal-file (expand-file-name "~/org/journal.org")) (content-to-append (format "** [[id:%s][%s]]\n" id title))) (if (not id) (user-error "Could not find or generate an Org ID for this context") (with-current-buffer (find-file-noselect journal-file) (save-excursion (goto-char (point-max)) (unless (bolp) (insert "\n")) (insert content-to-append) (save-buffer))) (message "Successfully appended link to journal.org" title)))) (evil-leader/set-key "j c n" 'my/append-org-link-to-journal)
Added opening mac terminal
(defun my/open-mac-terminal () "Opens the MacOS Terminal application and automatically cds to the current buffer's directory." (interactive) (let ((dir (expand-file-name default-directory))) (start-process "terminal-process" nil "open" "-F" "-a" "Terminal" dir))) (evil-leader/set-key "t m" 'my/open-mac-terminal)
Poker Equity Calculator changes
Right now I have 2 ways of defining cards. I wanted to consolidate that into one.