Emacs GTD flow evolved
A lot changed since my 2019 GTD and CRM flow post . After trying lots of new software in 2022, I’ve come back full circle to org-mode. But the experiments with new things were super valuable. I caged and culled new ideas and ways of doing stuff from other software and feel it’s made my GTD setup and system fundamentally stronger and helps me execute better. Here’s how it all works.
This is a #LongRead
so grab a cuppa or glass of something. I do hope you take
something away from here that helps you out and makes you more productive.
The Setup
My ~/.config/emacs/
has this init.el
(slightly modded for public posting) as well as an early-init.el
and then just needs the loaded template file
which you should modify to taste.
I’ve posted the relevant sections of it as we talk about particular components of the system. At time of
writing I’m using emacs 29.0.60
and all up to date versions of packages. I’m
using the emacs-plus@29
formula tapped from d12frosted/emacs-plus
with
homebrew. Hardware-wise I’ve got a 2020 M1 chipped Macbook running OSX 13.1
Ventura (though this setup should work even better on linux.).
Basically, my GTD setup revolves around:
- A system of directories in PARA fashion for top level organizing
org-roam
with a lot of templates to contextualize different classes of information I’m capturing (people, media, astrophysics, blogs, experiments etc)org-super-agenda
to collect all date aware tasks and meets and present it for actionabilityorg-agenda-custom-command
s to collect up class of information and column display it- A per-day Dailies file for tracking new info as it comes in
Also, some weekly and monthly planning templates that are outside day-to-day execution. I talk about them below, but the meat is in the system above. It sounds complex, but set up, it’s amazingly quick to operate, and gets out of your way and lets you get stuff done.
Since improvements have ended up being a combination of new (or improved) Emacs packages, structuring info in new ways, GTD improvements during COVID (Weekly and Monthly reviews, Resonance Calendar, Experiments etc), templates to codify processes, and enhanced UX I’ve organized the post that way.
New Stuff
Better Old Stuff
- Org-super-agenda
- Daily, Weekly, and Monthly templates
- CRM System
- Science Stuff
- Calendaring
- What About Mobile?
- Quick Capture
New Stuff
Packages - Org Roam
Org-roam has significantly enhanced how I used org-mode. A Roam Research replica, it’s based on ideas from the book Smart Notes of taking zettelkasten notes. Org-roam enhances this by creating bi-directional links in your org-documents.
This means you can see all the backlinks to your document in a window and creates, over time, a “knowledge graph” of everything you have linked. You can even visualize this as an actual graph to understand how notes and knowledge fits together. There are definite benefits to being able to see your information this way (though hype around “knowledge graphs” sadly was overly hyped by VCs).
It’s powerful for learning and studying and has unambiguously helped me learn and retain information more strongly (especially in Astronomy and Physics concepts as I try to carve a path to a PhD.). YMMV. It’s also shockingly interesting when you begin to look at your information longitudinally for patterns and recurrences as you develop your “knowledge graph”. But, it’s more important additions to my workflows have been more pragmatic.
More practically to GTD, it’s very useful for tracking and relating information on projects, tasks, and people (see my notes on CRM below). For stakeholders, direct reports, and collaborators this allows me to have great visibility on things, and easily look up both the past and current state of things when interacting with people. Considering the large organization I work with it was the only thing that could handle the complexity and global scope. I also found it made me a better manager, since I’d have information at my fingertips and context before 1:1s and could update people across my org and others with a few lookups and queries. While you can do similar linking in Obsidian and Logseq, I found it the most powerful and facile in org-roam
You can also create abstraction for areas and concerns you want to like like Learning, Exercise, your Blog Queue (see below) and even more foo-foo things like gratitude (disclosure: I embed a link dream for dreams I’ve had when journalling to scry patterns or connections to my real life in them.).For some of these Areas, they are really just placeholders pages that provide the target for the backlinks, but that still ends up being very powerful if you do something (like I do) and have daily files named in ISO date format.
It’s also handy tagging what you’re working on in your Dailies to particular Projects since it creates an idea of what you were working on when, or relating meetings and their notes to what ends up being a very flexible tagging system with easy lookups and reference.
Structure - PARA
Tiago Forte’s been teaching courses on how to organize a Second Brain in productivity software for a while now. He just released a book on it, Building a Second Brain (BSB) which connects course and his various blog posts There are three things I took away from his approach:
- Organize for actionability rather than subject
- Use PARA
- Areas as concerns which need to maintain a certain standard or maintenance over time
The first is easy. Place stuff where you can action most relevantly to what your priorities are now. How? Enter PARA.
What’s PARA? An organizational framework on where to place information. Which sounds silly on the surface of things, but it ends up being amazingly powerful as having a home for each datum you acquire ends up reducing search and cognitive costs. As well as making it easier to link and action information. So, I ended up setting both org-mode and directories on my computer (for the files) in this way.
P | Projects |
A | Areas |
R | References |
A | Archives |
Projects are pretty much what you and I would normally define one as if asked: An outcome that needs to be achieved by a date and has multiple tasks associated with it.
References is more where you put information not immediately actionable. Generally saved information not related to projects and areas that ay be useful at a future date, or things you hope to use in the future, For me, this is storage in org-mode for things like my contact list, resonance calendar items (that is, information that /may/ be useful in the future), various “zettels” (not really) on astronomy and physics etc etc - usually linked from Res Cal materials like textbooks, lectures etc.).
Archives are no longer active materials. Where you put all the stuff that you’re not working on in terms of Projects (or even Areas, really) that are no longer relevant in your day-to-day or quarter-to-quarter.
Tiago’s contribution here, and where a light went on for me, was /Areas/. Areas are concerns where you need to do work to consistently apply a standard or maintenance to them but don’t have an end date. They’re not projects. A light went on for me here, since I have loads of these such as Finances, Health, Coding etc where not being able to manage them as projects, but still having them contribute to long term goals, ended up with me not making as concrete progress over time as i would have liked. So, organizing around these, even saying them out loud as concerns I needed and wanted to maintain over time to the exclusion of others, was quite illuminating for me, and definitely helped. It made me explicit about things I wanted to excel at.
And quite often, you will carve off projects from Areas and action them. As a concrete example, you might have Home as an area where certain tasks need to be handled in order to maintain the place. But, let’s say you want to move to another country or find a new place. That would be a project you would carve out from the area and handle differently.
What this ends up looking like for me, from a directory experience is this:
.
├── archives
│ ├── areas (+ subs)
│ └── travel (+ subs)
├── areas
│ ├── astro
│ ├── blog ->
│ ├── dh
│ ├── exps
│ ├── goals
│ ├── health
│ ├── home
│ ├── money
│ ├── peeps
│ └── travel
├── journal
├── logs
├── projects (+ subs)
└── refs
├── assets
├── astro
├── images
├── prm
├── rez
└── templates
Some of the directories also have information in them which could be argued should be in separate directories. For example, my logs directory contains my daily log files like 2023-01-26.org
, but also weeklies like 2023w04.org
and my monthlies.org
file. Refs similarly has files like quotes.org
etc. Hopefully though, this gives you an idea of how to PARA organize your information. /projects
has subdirectories with one named directory for each project since it often collects up a bundle of information. Archives splits info into areas and projects and old areas or projects directories get moved there when no longer being worked on. The blog directory is a symlink to the /content/posts
directory in my hugo install.
For me, a lot of changes in how I organize my information, and how I think about Goals in respect to Areas and Projects helped my longer-term thinking more.
UX - nano emacs
Sadly, emacs has a default UX that is 40 years old and that only a mother could
love. Its lack of modern interface and UX conventions is definitely an impediment
to use, including the difficulty of customizing and bending things to your will
via emacs-lisp
, an on-going source of Redditor battles in r/emacs
.
While a lot of work has been done in this area (I was using Doom’s interface and
mode-line which made things better), nano emacs
appeared to came out of nowhere and be based on much of rougier
’s academic research
on what makes good user interfaces for text editors.
He’s done a spectacular job of stripping out the cruft in the emacs interface
and creating a phenomenal environment for writing and reading (I have to admit
to not using emacs for code that often.). It makes a huge difference in my
ability to use emacs as a writing and GTD tool (for example, this post is being
edited in org mode in nano and writeroom-mode
right now.).
I used this excellent blog post to get up and running and customized some of the faces to get the best of nano and previous UX posts, I’d written. This is what the nano-emacs part looks like and the mods I’ve done to org-faces to get items like tables and such prettified amongst other things.
(straight-use-package "rougier/nano-emacs"
; note: at the moment I'm using my own fork since
; found a bug or two in rougier's excellent work
(setq nano-font-family-monospaced "IBM Plex Mono")
(setq nano-font-family-proportional "SF Pro Retina")
(setq nano-font-size 13)
;; (load-theme 'nano-dark t)
(require 'nano-layout)
(defun nano-theme-set-spaceduck ()
(setq frame-background-mode 'dark)
(setq nano-color-foreground "#ecf0c1")
(setq nano-color-background "#0f111b")
(setq nano-color-highlight "#1b1c36")
(setq nano-color-critical "#e33400")
(setq nano-color-salient "#00a4cc")
(setq nano-color-strong "#e39400")
(setq nano-color-popout "#f2ce00")
(setq nano-color-subtle "#7a5ccc")
(setq nano-color-faded "#b3a1e6"))
(nano-theme-set-spaceduck)
;;(require 'nano-theme-dark)
(require 'nano-base-colors)
(require 'nano-faces)
(nano-faces)
(require 'nano-theme)
(nano-theme)
(require 'nano-help)
(require 'nano-modeline)
(require 'nano-defaults)
(require 'nano-colors)
(require 'nano-writer)
As well, I modify the following to get a look and feel I like. YMMV. Experiment with them if you like to modify the default nano though. The default dark mode is based on Nord.
(with-eval-after-load 'org-faces
(require 'org-indent)
(set-face-attribute 'org-level-7 nil :inherit 'org-level-8)
(set-face-attribute 'org-level-6 nil :inherit 'org-level-8)
(set-face-attribute 'org-level-5 nil :inherit 'org-level-8)
(set-face-attribute 'org-level-4 nil :height 1.0)
(set-face-attribute 'org-level-3 nil :height 1.0 :weight 'bold)
(set-face-attribute 'org-level-2 nil :height 1.1)
(set-face-attribute 'org-level-1 nil :height 1.2)
(setq org-hidden-keywords '(title))
(set-face-attribute 'org-document-title nil
:height 1.75
:foreground 'unspecified
:inherit 'org-level-1)
;; Ensure that anything that should be fixed-pitch in Org files
;; appears that way
(set-face-attribute 'org-block nil :foreground nil :inherit 'fixed-pitch)
(set-face-attribute 'org-table nil :inherit 'fixed-pitch)
(set-face-attribute 'org-formula nil :inherit 'fixed-pitch)
(set-face-attribute 'org-code nil :inherit '(shadow fixed-pitch))
(set-face-attribute 'org-indent nil :inherit '(org-hide fixed-pitch))
(set-face-attribute 'org-verbatim nil :inherit '(shadow fixed-pitch))
(set-face-attribute 'org-special-keyword nil :inherit '(font-lock-comment-face fixed-pitch))
(set-face-attribute 'org-meta-line nil :inherit '(font-lock-comment-face fixed-pitch))
(set-face-attribute 'org-checkbox nil :inherit 'fixed-pitch)
;; Get rid of the background on column views
(set-face-attribute 'org-column nil :background nil)
(set-face-attribute 'org-column-title nil :background nil)
)
I find it makes emacs almost, well… beautiful and the ability to fold and reveal information by heading (and writeroom) makes it an amazing authoring environment.
It goes a long way to making emacs and org-mode a more enjoyable tool you want to spend your whole day in.
Rougier’s also recently release a new Book mode which is a WIP for nano which looks even more amazing and optimized for both reading and writing, so looking forward to seeing that when it’s finished. It looks very promising.
GTD Improvements
Resonance Calendar
I consume a lot of media. I read roughly a book a week. A while back it started bothering me I was consuming but not retaining or actioning a lot of the information in the books, posts, and video material I was tearing through.
When I switched to Notion and was using it for a while, I ran across this fantastic video by Ali Abdaal who had the same problem and made a video about his solution, a Resonance Calendar. I adapted and riffed on the idea but it’s been a powerful tool for retention and actioning the media that has an impact on me so have recreated it in both Obsidian and now in org-mode.
I plan and garden a simple ordered list of books as my Reading List
. It simply
ends up being an ordered list (that I abuse and re-order frequently on whim).
* Reading
1. Battle Royale Remastered by Koushun Takami @add [2022-12-12 Mon] ★★★★★
2. Building a Second Brain @add [2022-11-28 Mon] ★★★
3. The Go-Giver a la Ali Abdaal @add [2022-12-14 Wed] ★
4. The Angel's Game a la Eliot Piper @add [2022-12-29 Thu] ★★★★
5. Benjamin Franklin: An American Life
6. Give and Take @re-add [2023-01-05 Thu]
7. Tomorrow and Tomorrow and Tomorrow a la Eliot Piper @add [2022-12-29 Thu]
8. The Luck Factor a la Ali Abdaal @add [2022-12-14 Wed]
9. Only Study Guide You'll Ever Need @add [2022-12-12 Mon]
10. Leading by Alex Ferguson
11. The Greatest Benefit to Mankind a la Muckerjee @add [2022-12-09 Fri]
12. Uprooted a la Doctorow @add [2023-01-09 Mon]
13. The Mountains in the Sea a la Eliot Piper @add [2022-12-29 Thu]
Once I start a book (and linking not shown in list above), I link the notes for it via org-roam
so everything hangs together. One dangerous feature of org-mode is being able to easily re-order
ordered and unordered list with ⌘-up/down
so I try not to insert or re-order books too too often
and wreck my (loose) plan for the year. Always having a next (or several) books next on the list
and a daily reading habit get me through about 45ish (serious) books a year.
If you’re interested in highlights, and books I recommended each year, you can see recommended reading lists from 2022 , 2021 , 2020 , 2019 , 2018 , 2017 , and 2016 .
I do the same thing for movies and games. Though it’s more a reminder list for both than something I methodically work through. I’ve got a recent, separate, post on dealing with ephemera since my old system for that was not working as well as I’d like.
OK, but how does the actual Resonance Calendar work? Since it’s where all the knowledge goes into and where I try to link things to.(See the Science Stuff section for how I leverage this for specific chunks of knowledge in textbooks, formulas and the like.)
How It Works
Two parts:
- A template for media I consume I want to action or retain that gets thrown in
a directory
/refs/rez
(a la PARA) - An org-agenda-custom-command to collect up all the files, and sort them in descending order of start date
This works because I make it dead easy for me to record the information and
linking to it from the template is as simple as creating a link C n i
the
org-roam default, selecting r
from the templates and C-c C-c
(again, the
default) to have it saved and linked back to the originating document.
Here’s the org-roam template I use:
("r" "Rez" plain "%?"
:target (file+head "~/Documents/org/refs/rez/${slug}.org"
"#+TITLE: ${title}
#+CREATED: %u
#+MODIFIED:
* ${title}
:PROPERTIES:
:Type:
:Start:
:Fin:
:Killed:
:Rating:
:Digested:
:Creator:
:URL:
:END:
* Actions
* Key Ideas
** Review
** Quotes
** Notes
"):unnarrowed t)
Notes on things go in the (duh) Notes section. I add in TODOs in the Actions section and either week, Deadline, or Scheduled tag them.
If I want to get a view of everything and look at the Resonance Calendar in
total, I use the following org-agenda-custom-command
to collect up all the
file entries and sort them into a nice column view.
(setq org-agenda-custom-commands
'(("r" "Resonance Cal" tags "Type={.}"
((org-agenda-files
(directory-files-recursively
"~/Documents/org/refs/rez" "\\.org$"))
(org-overriding-columns-format
"%35Item %Type %Start %Fin %Rating")
(org-agenda-cmp-user-defined
(cmp-date-property-stamp "Start"))
(org-agenda-sorting-strategy
'(user-defined-down))
(org-agenda-overriding-header "C-u r to re-run Type={.}")
(org-agenda-mode-hook
(lambda ()
(visual-line-mode -1)
(setq truncate-lines 1)
(setq display-line-numbers-offset -1)
(display-line-numbers-mode 1)))
(org-agenda-view-columns-initially t)))
)
You also need the following sorting function which works with both org-mode
calendar datastamps (eg. form like <2023-01-19 Thu>
) and things like
2022w05
if you prefer to just note the weeks (as I do in Experiments.).
(defun cmp-date-property-stamp (prop)
"Compare two `org-mode' agenda entries, `A' and `B', by some date property.
If a is before b, return -1. If a is after b, return 1. If they
are equal return nil."
(lexical-let ((prop prop))
#'(lambda (a b)
(let* ((a-pos (get-text-property 0 'org-marker a))
(b-pos (get-text-property 0 'org-marker b))
(a-date (or (org-entry-get a-pos prop)
(format "<%s>" (org-read-date t nil "now"))))
(b-date (or (org-entry-get b-pos prop)
(format "<%s>" (org-read-date t nil "now"))))
(cmp (compare-strings a-date nil nil b-date nil nil))
)
(if (eq cmp t) nil (signum cmp))
))))
Looks like this:
You can arrow up and down through the list and hitting return will take you to whatever entry you’re interested in.
The other nice thing about this (though still trying to codify the query) is that it shows how many open items I have at any one time through the blank Finished column. Weirdly, it makes me docus on existing stuff a little bit more before jumping to the next shiny thing.
(nb: also there are things I consume that are not on this list, I just find they end up being things I don’t think I’ll need to action or retain in the future — a bit sad, but it’s amazing how much content out there in substack, podcast, blog post, and youtube are effectively “filler”, imho.).
Since this is an agenda command, I merely bring up the Agenda menu (C-t
for me)
and then pick one of the custom commands for this or one of my other custom
commands (u
for org-super-agenda Super view, r
for Resonance Calendar, and e
for Experiments, p
for [active] Projects).
The really nice thing about this is you can also filter dynamically on anything
in the media list. Hitting C-u r
and typing Type="book"
gives you just the
list of books you’ve looked at. Replacing “book” with “movie” or “post” or
“youtube’ gives you that list as well.
Also, need to give a ginormous /ht
to Redditor user orgtre
who basically handed me the solution to this problem in this Reddit
post
. Legend. Des milles mercis.
While not at the computer (often I use a second screen to watch or read
something and the laptop screen to note things), I’m often reading a book on
my KIndle and I use the Plain Org
app and type under the Notes section of the template
Experiments
While less exciting than the Resonance list, I try to track both big and little experiments I’m running in terms of life design both to keep myself honest, make sure I’m assessing outcomes and actioning them, and to be clear about goals. It works with the same sort of custom command at the Resonance Calendar and a slightly different template, but other than that, almost exactly the same schtick. In the ResCal template I use actual org-mode datestamps whereas in the Exp calendar I tend to have start and end denoted by weekly datestamps (eg. 2023w10) and only use the org-mode native datestamp in the Assess field in properties since it will then bring it up in my Dashboard as something I need to pay attention and do something about (honestly, one of my favourite features in org-mode is putting a datestamp almost anywhere and having it flag something in my Dashboard.) 😍
The Experiments template looks like this:
("e" "Exp" plain "%?"
:target (file+head "~/Documents/org/areas/exps/${slug}.org"
"#+TITLE: ${title}
#+CREATED: %u
#+MODIFIED:
#* ${title}
:PROPERTIES:
:Type: Exp
:Start:
:Fin:
:Assess: <yyyy-mm-dd aaa>
:Qs:
:Status:
:Outcome:
:END:
* Actions
* Hypothesis
-
* Treatment
-
* Notes
-
* Outcome
-
* Contraindications
-
"):unnarrowed t)
It’s triggered from org-roam’s C n i
insert link command via an e
.
The org-agenda-custom-command
works pretty much the same as the the one for
the RezCal (hopefully, it’s obvious from this second example that this is a
general pattern you can use for any collection of files in a directory you want
to give properties to and track.).
("e" "Experiments" tags "Type={.}"
((org-agenda-files
(directory-files-recursively
"~/Documents/org/areas/exps" "\\.org$"))
(org-overriding-columns-format
"%35Item %Start %Fin %Status %Outcome")
(org-agenda-cmp-user-defined
(cmp-date-property-stamp "Start"))
(org-agenda-sorting-strategy
'(user-defined-down))
(org-agenda-overriding-header "C-u r to re-run Type={.}")
(org-agenda-mode-hook
(lambda ()
(visual-line-mode -1)
(setq truncate-lines 1)
(setq display-line-numbers-offset -1)
(display-line-numbers-mode 1)))
(org-agenda-view-columns-initially t)))
Blog Queue
I wish I had something “1337 code” to tell you about my blog queue but it’s pretty ghetto though works fantastically.
I started using a Kanbam board with columns of Ideas | Drafts | Edits | Pubbed
from
a video production Kanban I’d seen when using Notion (which has a great Kanban
implementation.). And continued to use the idea with Obsidian.
It’s been a fantastic way to look at my universe of blog post ideas and states you’ve got and work on your pipeline. Loved it. Emacs, though, does /not/ have a good kanban mode.
What org-mode does have though, is a fantastic table-mode
. Match that with the nice
pretty-tables
package formatting and you’ve got a fine looking ersatz Kanban.
In practice, whenever I think of a new idea, I go to the Ideas column and at the
bottom throw it in. When I move it to Draft I use org-roam’s C n i
insert node,
name it, and fire off the blog template below to create a placeholder for the
future post I will (hopefully) write. I use the default C-c C-c
to capture the
details which creates the file and notes, if not the whole post, and then continue on with
my work.
When I come to the writing part of my day (I’m trying to be good about doing
Morning Pages, then blog posts, then book work every day), I go to the
Blog Queue buffer with its Kanban and open up the link of what I want to be
working on (org-table make you use the “open link” default C-c C-o
rather than
just hitting return (in org-tables that moves you down to the next line though
trying to find a way to override that.
Moving something from Idea to Draft or Draft to Edit is easy with org-table
. A
S - up/down/left/right
will swap cells with whatever cell you are currently on, so I
generally move items down and then right as I progress them. Org-table in
general is nice because it autoformats everything for you.
Perhaps strangely, I’ve come to like this setup better than the Kanbans for both Notion and Obsidian since its keyboard navigable and just simple text and links. I also version control my files so it’s cool seeing how things might have evolved over time (I wanna write something to replay how stuff moves to be honest over the git history.). Might be informative.
About the only disadvantage is that your titles can’t be too long, but since org-roam uses a hash for your links, you can shorten the title as much as you like to make the cell width manageable. For example, even though the title of this blog entry is much longer, I used Emacs GTD and CRM revisit which fit nicely in a cell.
And while my blog software, Hugo supports org-mode out of the box (and even a mix os markdown and org-mode posts in the same directory), a number of basic features you have in markdown (images etc) don’t seem to be parsed. While there are people who blog in org-mode and use plugins and various other things to get around it, I have to admit, if markdown had a way to support org-mode’s datestamps and org-agenda functionality in-file, I’d switch back to markdown in a second. It’s much more comfy to write in and most of the advanced features of org-mode (literate programming etc), I don’t really use.
How does that work. I use this nice package md-roam
which allows my org-roam setup to work with markdown files and their frontmatter. Basically, when I select my blog template from the list, it creates a markdown file with frontmatter appropriate to Hugo. And under Areas, I symlinked my /Areas/blog/
directory to my hugo /content/posts
directory in my repo for the blog. Org-roam picks up the directory without a hitch so I can link to it normally from the Blog Queue - the id
you see in the front-matter gets linked to the org-roam database and you can follow links normally. When new files get created, they have a markdown extension and emacs treats them as such. I lean on git to version control the directory (and it’s on Github) from when I deploy the blog normally.
("b" "Blog" plain "%?"
:target (file+head "~/Documents/org/areas/blog/%<%Y-%m-%d>-${slug}.md"
"
---
id: %<%Y-%m-%d>-${slug}
layout: post
title: '${title}'
permalink: '/${slug}'
date: %<%Y-%m-%d>-Thh:mm:ss+07:00
location: Ao Nang
tags: []
description: 'Clever description of contents.'
draft: true
---
"):unnarrowed t)
Better Old Stuff
Org-super-agenda
My dashboard helps me execute daily. It shows what I’m supposed to be working on each day, but also what’s coming up and what’s past due. As well it shows items and people contacts I’d rolled into this particular week of the year and should be dealing with.
It collects up tasks scattered amongst all the PARA directories and my logs (since quite often one-offs and things get added to my Dailies) and then displays and filters them according to if it’s something for today, something upcoming with an alert in the next 5 days (I can override this in the datestamp for where I need more advanced warning), and things that are overdue. It also takes items that are tagged with the particular week but are not scheduled or have a deadline associated with them because they’re more “think about” items that I need to action in some way that week.
Org-super-agenda then divides things into whether its personal or work related
or dealing with academics (tags I use for this are :perso:
, :dh:
, and :uh:
respectively. So, a tag like :perso:w04:
which just takes seconds to add (or
modify in the dashboard line with C-c q
shows up in ISO week 4 of the year.
I’ve found it a fantastic system for making sure things pop up when they need to be dealt with, and implements David Allen’s concept of the “Tickler” file. I’ts kinda like this amazing personal assistant that knows just when to bring up the stuff you need to pay attention to. More to the point, it helps me sleep at night, since I trust that when something is in the system I know it will eventually be dealt with. And if priorities change I can search on it and surface it earlier or move it to later.
It’s also all keyboard driven so once you muscle memory the shortcuts, it’s easy
to move something that was in the “Week of” section into a task that needs to be
done bny a certain date by adding a scheduled or deadline date to it (C-c s
,
C-c d
) or just move it to another week by altering the w04
tag with C-c q
.
The basic upshot is that super agenda gives you focus on daily and weekly organization and execution and allows you to re-organize on the fly as your priorities change (as they often do in most companies these days.).
Here’s the relevant org-roam setup for org-super-agenda. Note it also drives off a few settings in org-mode such as how much advanced notice you have on deadlines, and how scheduled items get handled.
Note that the configuration for org-super agenda is, much like the ResCal and Experiments above, also an org-agenda-custom-command, so you need to put it in that block alongside the others.
While a matter of taste, I override whether something gets moved into Overdue
and other areas by using a :today:
tag on some items, particularly ones that
are monthly or quarterly so that it is top of mind till I get it done. Also,
things tagged as birthdays, anniversaries, calendar items, or holidays end up
getting added at the top of the agenda.
I also use origami, another package so that I can easily fold and reveal sections of the agenda which ends up being super handy as well as if it was a plain old org-mode file.
Suffice it to say, I feel this dashboard makes me super efficient and like I have a full overview of the scope of things that need to be done every day and some crow’s nest capabilities on things farther out. One enhancement I’d like to do is work on a bit more of a “crow’s nest view” for longer term planning and scheduling to make it easier to move Big Rock items around in relation to my capacity and ensure I’m only handling enough WIP stuff that I can fit in the critical things I want to get done.
(use-package org-super-agenda
:straight t
:after org
:defer t
:config
(org-agenda nil "u")
)
;; And then the org-agenda-custom-command config
("u" "Super view"
((agenda "" ( (org-agenda-span 1)
(org-super-agenda-groups
'(
(:name "Today"
:tag ("bday" "ann" "hols" "cal" "today")
:time-grid t
:todo ("WIP")
:deadline today
:scheduled today)
(:name "Overdue"
:deadline past)
(:name "Reschedule"
:scheduled past)
(:name "Perso"
:tag "perso")
(:name "Due Soon"
:deadline future
:scheduled future)
))))
(tags (concat "w" (format-time-string "%V")) ((org-agenda-overriding-header (concat "--\nToDos Week " (format-time-string "%V")))
(org-super-agenda-groups
'((:discard (:deadline t))
(:discard (:scheduled t))
(:discard (:todo ("DONE")))
(:name "Ticklers"
:tag "someday")
(:name "Perso"
:and (:tag "perso" :not (:tag "someday")))
(:name "UH"
:and (:tag "uh" :not (:tag "someday")))
;; (:name "Neo"
;; :and (:tag "neo" :not (:tag "someday")))
(:name "Ping"
:tag "crm")
))))
))
; general is needed for origami keymaps for org-super-agenda
(use-package general
:straight t)
(use-package origami
:straight t
:hook (org-agenda-mode . origami-mode)
:general
(:keymaps 'org-super-agenda-header-map
"<tab>" #'origami-toggle-node))
Daily, Weekly, and Monthly templates
I use a daily template for tracking and a weekly template for “ideal planning” out my week and then seeing how I did against that plan at end of week. I also do monthly and quarterly checkins with myself to plan and re-architect as nececessary (though the quarterly and monthly checkins are more freeform than a template.).
Daily
When not head down coding or writing or doing science, a lot of days consist of meetings and either getting or giving information, and particularly in this last role, coordinating the activities of large groups of staff and stakeholders to accomplish things. During covid, it was a /lot/ of Zoom meetings.
That means I need to constantly take notes on things that are being discussed and the tasks that may come out of it, as well as who is supposed to do what, by when.
This workflow consists of abusing the org-roam-dailies
function of org-roam. I
basically open up a new daily log template every morning (or the night before)
and use it to track meetings and other things during the day (i’ve got it
keybound to C-l
even.
What does the Daily Log look like? For me, it’s combination of personal and work
information though I tag work or academic information with org-mode tags such as
:work:
or :uh:
in order to allow org-super-agenda to segment the
information in my dashboard (especially tasks).
The main change in the daily log from past years is using org-roam links in it, which allow me to see backlinks and that information as it progressing through time. For work
(setq org-roam-dailies-capture-templates
'(("d" "default" entry
"* %?"
:target (file+head "%<%Y-%m-%d>.org"
"#+title: %<%Y-%m-%d %a>
#+CREATED: %<%Y-%m-%d %a>
#+MODIFIED:
* Daily Intent
The one thing
___
??
* Log
-
** Todos
** Pings
* Perso
** [[id:873C893B-DE3B-4433-87D7-A51806D7CA16][Morning Pages]]
[[file:~/Documents/org/journal/journal-2023.org.gpg::* %<%Y-%m-%d %a>][ %<%Y-%m-%d %a>]]
** [[id:9AD761D3-02F4-40DD-AED2-13AED735290E][Storyworthy]]
** Meta
- Where: ???
- Weather: ???
- Music: ???
- Sleep: 7h?
- Weight: ???
- Energy: L/M/H
- Effective: L/M/H
- Mood:
*** [[id:50EABEC4-239C-4123-A106-4B97417D98D2][Exercise]]
*** [[id:CFB3EFF4-1237-4E35-9385-77D404611596][TIL]]
*** [[id:3F912AB7-47DB-46A3-AADB-CA9F4589C840][Highlights ]]
*** [[id:D660A331-01E0-4247-B74F-A28FAF4C30C2][Lowlights]]
*** Eats
- Breakie: ???
- Lunch: ???
- Dinner: ???
*** [[id:E50848D2-1CB5-4B0C-B1AC-B1952A37A37C][Gratitude/Savoured]]
1.
2.
3.
"))))
Weekly Review
One of the better things I introduced into my workflow and which ends up just being this amazing habit for course correction and sanity checks (esp when things go off the rails a bit), is the weekly review. This is something DAvid Allen insists on in his GTD system, but somehow I felt it wasn’t necessary until I started doing it much more habitually and realized what a powerful tool it was (particularly combined with a connect between my quarterly goals and actions for the week.
So, every Sunday evening there’s some time blocked off in my cal to do my Weekly RPP, which is short for Review, Plan, and Prune.
I try from looking at everything I need to do in the week and sort of thinking about the one thing I wan to accomplish each day in sort of broad, general terms as well as what my “weekly intent” is. The rest is me filling in the things that are priorities and making sure they’re connected with the Quad I have
Don’t be scared off by the template. Beside the weekly review where you look back at the week and kinda “score” yourself as well as doing a quick “What Went Well”, “What Could Have Gone Better”, and “What Will I Do Next Week” it’s more a way to close out the week and reset for the coming week. I also find it’s key for me seeing stuff I need to make time for in the next week as well and making sure I give myself space during my days of that week to actually get that done without stressing myself overworking.
("7" "Weekly" plain "%?"
:target (file+head "~/Documents/org/logs/${slug}.org"
"#+TITLE: ${title}
#+CREATED: %u
#+MODIFIED:
* Intents
Week Goal: ??
|----+--------+-----------+----------+---------+---------+---------------+-----------|
| | Mon | Tue | Wed | Thu | Fri | Sat | Sun |
|----+--------+-----------+----------+---------+---------+---------------+-----------|
| 🐧 | | | | | | | |
|----+--------+-----------+----------+---------+---------+---------------+-----------|
| 𝚫 | | | | | | | |
|----+--------+-----------+----------+---------+---------+---------------+-----------|
* Commits
|---------------------------------------+------------------------------------------|
| *This Week* | *Q1 OKRs* |
|---------------------------------------+------------------------------------------|
| 1. | 1. WO and runs. Bed by 11:00. |
| 2. | 2. Astro Foundations: SR+CM+Obs progress |
| 3. | 3. Code replacement for AArk |
| 4. | 4. Write: Blog catchups and Book ½ draft |
| 5. | 5. PhD: COMA Infra |
|---------------------------------------+------------------------------------------|
| *Next 4 Weeks* | *Health Metrics* |
|---------------------------------------+------------------------------------------|
| 1. 2023 Travel plan | 1. Weight + health + fatigue |
| 2. Belong Matrix (choose 3) | 2. Astro + PhD progress progress |
| 3. Do Dec+Jan Stargazing Obs | 3. Coding progress |
| | 4. Habits (W/R/O/S/L/Rev) |
|---------------------------------------+------------------------------------------|
Watched:
Played:
Read:
* Buckets
** Sharpen
3 wo/run + movie + game + read
⬜ ⬜ ⬜ ⬜
** Create
Blog + Book
⬜ ⬜
** Invest
COMA + Stocks + AArk
⬜ ⬜ ⬜
** Learn
Astro + Docker/Airflow + Rust
⬜ ⬜ ⬜
** Review, Plan, Prune
Buckets + Weekly Review
✅ ⬜
* Weekly Review
⬜✅💪❌🔼🔽¼ ½ ¾ ⅓ ⅔ ⅕ ⅖ ⅗ ⅘
** Score: XX/XX ~ XX%
** How'd it go?
** *🏆 Pluses*
1.
2.
3.
** 🔽 Minuses
1.
2.
3.
** ▶️ Next
1.
2.
3.
"):unnarrowed t)
OK, so I kinda like using emoji for marking it up. You do you. The key thing is getting into the habit of the weekly review.
Monthly and Quarterly Review
My Monthly reviews just went though an overhaul and, tbh, are not really templated yet (though have already begun to be.). I do have a system (which revolves around scoring Health, Wealth/Work, and Relationships both at the start and end of a month, but it’s more a loose system that I started near the end of 2022, and I still feel like it’s in flux and experiment, and want to let it gel a bit more before writing about it. Kicking the tires is important as well as working out the kinks.
The one key thing I do think you should do monthly, particularly with longer term Areas and goals is setting Accomplishments you want to get done in each area (as well as ones that happened you weren’t attending.).
While I think setting systems and habits ends up being more powerful longer term than simply setting Goals, working backwards from those goals to the things that need to get accomplished to get you there, and seeing how you’re tracking against those things, ends up being the only way you can feel like you’re making progress on longer term objectives. If not, you start to question what you are getting done with your time, since habits reduce a lot of work to the routine. Progress counts, both against those goals and in terms of your motivation.
CRM system
Originally, I was using org-contacts
for this mostly because it allowed me to
put people’s birthdays into a file for each person and get reminders ahead of
their dates. This worked less well for anniversaries and similar milestone
dates.
I’ve replaced this with Org-roam completely now which ended up being better as a working system.
How It Works
Each person now has their own file in filled-in template form below.
Birthdays are now a TODO
heading and as a nice bonus, have a configurable
warning in their datestamp so I can be warned further in advance for some
people, particularly if I need time as I’m planning something for them or the
like.
The other thing this allows me to do is to take advantage of the default
org-mode tagging system, using a :crm:
tag to let the system know this is a
person of interest to me and matched with a week tag (like :w04:
for this
week) tied to the Pings
heading and filter and in my
org-super-agenda
setup and which pops up their name with others for the week
if that’s the next time I had wanted to contact them.
Before you scoff reading this, I would not say that I am a super-networker or anything. I created this system because I felt this was an area I really needed to work on. And I have to say I feel it works really well. It’s just too easy to get busy and not
One warning: I have not quite figured out a way to auto roll forward people with
a :crm
tag and a past week to the current week. I imagine there’s org-ql
or a script I can
write but right now you may need to be careful if you copy this idea that you
manually move forward the people you don’t contact to the current or future
week.
Operations for the CRM are pretty simple:
Pings
Each week, I look at the list of contacts in the Pings
list in my
org-super-agenda
dashboard. From the dashboard I’ve got two choices. I can
either
C-c z
and add a note to their logbook when I talk to them, or- I insert their name via an org-roam link in my daily file
I’m doing the latter much more often these days, I insert their name via an
org-roam link in my daily file (“Called Olivia
to followup on SORTIE
project - clarified photometry”) where both say, Olivia
and SORTIE
are
org-roam links. Any new TODOs would get added in there or in the TODOs section
in the Daily file.
On her Ping dashboard item, I then simply C-c C-q
to change the week
tag to a relevant future week. So, in this case I follow up in 4 weeks and
edit the :crm:uh:w04:
tag to :crm:uh:w08:
and hit return. 3 seconds.
Now, Olivia’s name will pop up in the Pings lst when we get to week 8 and I don’t need to try keeping all the people I’m supposed to talk to in a particular week in my head.
Birthdays and Anniversaries
I like remembering people’s birthdays and anniversaries, even if I cheat at it. Basically, for those people close to me (and who have actually told me their birthdays! You’d be surprised how many people keep it a secret), I have an entry for them and then I get some forward notice when it’s their birthday. For really important people, it also helps give me a little advanced planning time when I want or need to do something especially thoughtful.
As you can see from the template, you simply fill in the details for the person. No date in the template means it never gets surfaced.
* David A's Birthday - 1926-05-08 :bday:
DEADLINE: <2023-05-08 Mon +1y -4w>
(and yes, a birthday I would totally go to if invited!)
I’ve also started putting in friend’s wedding anniversaries and children’s birthdays as well, especially for weddings I was invited to or people I’m very close to.
Milestones
This is kinda silly, but I also have a reps.org file where in addition to
recurring weekly, monthly and quarterly tasks, I keep interesting
Milestones that happen in my life.
For example, the first time I visited a country, did something notable, and things I want to make sure I reminded myself of annually that aren’t a task or just so I take a moment to savour and be grateful for (yeah, ok, I know how that sounds, but I find it honestly makes me feel like a boss). As well, looking at those things often makes me evaluate my current situation more as well as spurring me onto more interesting life adventures. YMMV.
It works pretty much like birthdays and anniversaries above. It’s a simple flie of datestamped headings with a recurrence.
* Ran with the Bulls in Pamplona - Jul 6th, 1998
DEADLINE: <2023-07-06 Thu +1y -21d>
:PROPERTIES:
:CREATED: [2001-01-01 Fri]
:END:
(don’t run with the Bulls by the way, it was not smart.)
Science Stuff
Over the last year, I’ve been trying to carve a path to go back and do a PhD, ideally in astrophysics. One of the issues with being out of school and not taking a physics course in 25 years is that you have a lot of foundational material to learn (as well as advances in the field) to stopgap where your brain stopped on this stuff.
It’s been challenging, but I’d have to say org-roam has really helped much more than I would have thought on this front.
Why? Perhaps because learning is fundamentally about building connections about things between things you already understand and can extend, and for some reason org-roam makes that easier (as well as making it painless when you arfe referring to another topic, to link to it, review it, and then move on.
The only big thing I use here here besides org-roam and a tempalte for “Astro” stuff (which mostly just puts it into a directory to keep it from cluttering up oither stuff since there’s loads of files.
The other thing I really like here is using the excellent math-preview
plugin. Ive found this lighter weight and /way/ better than other LaTeX rendering
options that the emacs community has suggested up to this point (and usually
involved rendering graphics). It simply uses the MathJAX html library to overlay
a render of your latex math formulas. With a little twaking and in nano it looks
fantastic, particularly when taking notes which are very math heavy. For some
reason, I also imagine I’ll end up using a solution ore like this than writing
straight up latex in emacs and then exporting for publications. Stand by.
It makes my notes look totally pro though.
By the way, I’d love to see some more blog posts from “real” scientist who are using Zotero and org-mode to get science done. Something I imagine I’ll need to figure out int he future and everyone talking about citations all the time has me pretty nervous (since I usually remember the idea, but not where I saw it 8-/ ).
I will need to wade into the Zotero and citations rigamarole at some point very soon as I cruise towards that first paper.
Let’s take an example though since it’s a bit more illustrative and I’ve kinda
forged my own path away from the zettelkasten and smart notes standard of doing
things.
So, here’s an example of where I really felt using org-roam and linking stuff helped: the interrelation between white dwarfs, stellar evolution, Type Ia Supernovae, electron degeneracy pressure, the Chadrasakar limit, standard candles, and the cosmic distance scale. All these concepts interrelate. Linking them reinforces that in your brain - especially as you garden the files a bit to improve how they interrealte. In general, I’ll write a top level note in the file on something to talk about what it is all about.
For things like specific formulas and the like (though I would like to find some way to embed those headings in the org-roam file rather than just link them (I know there is a way to do this, I just have not gotten around to systematizing it). Ideally as an insert that could be revealed and folded as needed. For the moment though, I just link directly to the heading in the file which contains the specific formula. As an example in the above material, the Chandrasakar limit reveals the mass at which a white dwarf can no longer hold any further mass (accreting it from a companion star) due to electron degeneracy pressure, and supernovaes as a Type Ia (which, because it always blows up at the same mass, shines with the same absolute brightness everywhere, creating a standard candle which, due to its apparent brighteness, you can determine cosmic distances. Cool, no?). The limit is 1.4 solar masses (so 1.4x the size of our Sun denoted as $1.4 M_☉$
So, in the Chandrasakar file, I’ll have a heading which is simply called “Chandrasakar limit formula” which has the formula under it.
* Chandrasakar Limit formula
$${M\rightarrow -{\frac {4\pi }{B^{2}}}\left({\frac {2A}{\pi G}}\right)^{3/2}\left(\eta ^{2}{\frac {d\varphi }{d\eta }}\right)_{\eta =\eta _{\infty }}=5.75\mu _{e}^{-2}M_{\odot }}$$
But renders beautifully and automagically in emacs via the math-preview
plugin as this:
$${M \rightarrow -{\frac {4\pi }{B^{2}}}\left({\frac {2A}{\pi G}}\right)^{3/2}\left(\eta ^{2}{\frac {d\varphi }{d\eta }}\right)_{\eta =\eta _{\infty }}=5.75\mu _{e}^{-2}M_{\odot }}$$
(see the pic above on my notes for similar rendering of formulas.)
In my org-roam file, I simpy link directly to that header. Clicking on it takes me right to the formula though I’d love to look at options to embed it directly as a reference rather than a link.
Another real nice thing if you do a lot of math formulas is the use of the org-fragtog
package which, when you cursor over a rendered latex formula, toggles it to the actual latex for you to edit, and then when you cursor out, re-renders it for you. It’s like cool magic. It makes me happy. You can use this with math-preview
which ends up being way faster (and less cmmplex) than setting up with dvisvg.
My config for math-preview
and org-fragtog
is:
; Used to replace graphics generation of latex frags!
(use-package math-preview
:straight t
:custom
(math-preview-command "/opt/homebrew/bin/math-preview")
(math-preview-scale 1.5)
(math-preview-tex-marks-inline
'(("$" "$")))
(math-preview-tex-marks
'(("\\begin{equation}" "\\end{equation}")
("\\begin{equation*}" "\\end{equation*}")
("$$" "$$")
))
)
(add-hook 'org-mode-hook #'math-preview-all)
; Used to get enter-ext display of latex
(use-package org-fragtog
:straight t)
(add-hook 'org-mode-hook 'org-fragtog-mode)
(defalias #'org-latex-preview #'math-preview-at-point)
(defalias #'org-clear-latex-preview #'math-preview-clear-region)
As I’m more laying the foundations and doing the work than reading lots of papers and thinking about publication, there’s an entire workflow here that I still need to figure out. I know a lot of scientists and researchers use Zotero to manage papers they read and handle citations, but also know there are some alternative citation tools avialable in org-mode like bibtex and the like, but that’s a future Daryl problem at the moment, though something I need to look into very soon (you can, apparently, maange the whole thing in emacs with some packages, and especially keen to see if that’ll work out with org-roam but also leery of emacs lack of interoperabiity with things outside of itself.).
Calendaring
Every orgnizaiton I work with uses Google Calendar, so I generally have a
setup which pulls (and only pulls) google calendars with the org-gcal
plugin
and write them to separate files (one for personal stuff, and one for work
stuff). I use the web interface or mobile client to make changes to that.
I do have a separate cal.org
file I keep for things like holidays or other
dates I want to be reminded of or made notable, since I’ve often got people in
multiple countries to keep track of when they’re available or might be
celebrating things.
As stuff is in these 3 org files, it shows up as regular entries in my dashboard and there’s also a daily calendar view which shows time blocking for things.
Recently, someone posted something to Reddit that looked like it might be an even nicer approach than my dashboard (and gives full weekly visibility) but will need to dive into that at some point and see if it provides advantages above my daily view.
What About Mobile?
Org-mode is stlll one of those areas where the mobile offerings are catching up with dedciated web apps and things like the (quite excellent) Obsidian mobile client. Not gonna lie.
I’ve gotten my system down to a very nice way of working based on my workflow and the basic fact that I rarely do actual work on my mobile phone. I heavily use it though to capture tasks and notes, and then also when I am reading or otherwise looking at a book, lecture, youtbe or other form of resonance calenadr mateiral, I will be capturing notes in the Rez template under tht piece of material.
So, I actually use two apps.
BeOrg
The first is BeOrg. It does a very nice job of displaying my daily agendaand I
use it’s nice template feature to capture new TODOs while on the run which it
slams into my inbox13.org (and which I then refile to the day created when doing
inbox processing in the morning.). The app has come a long way from previous
interations though you need to create a root level init file init.org
and place the
Scheme directive (BeOrg uses Scheme for config)
#+BEGIN_SRC scheme
(set! sync-subfolders #t)
#+END_SRC
to have it look at all your subdirectories and collect up all files and
your resultant TODOs. You also have to manually mirror the task states in BeOrg
(for me, these are TODO
, WIP
, FUP
, GAVE
and then DONE
and KILL
for
“completed” status.).
Plain Org
Plain Org does a really great job of prettily displaying your org file so you can easily read them.
Most commonly, I use it to open up Refs\Rez
folder and Resonance
Calendar templated files and using it to take notes under the Notes section in
each one.
Plain Org just allows you to edit the raw text here, so the experience is not as great as it could be (and I look forward to the author improving things considering it’s a pretty pricey app), but its serviceable and have to admit I appreciate that it does that well and captures my thoughts.
I’d really love it if it could also throw TODOs into the Actions section better as right now that ends up being a bit kludgey (I put them in BeOrg and then refile them into the Rez file when I do inbox processing.
Quick Capture
More a quality of life thing for capturing TODOs than something essential, but having a quick capture manner of getting stuff out of your head and into your inbox for being dealt with later ends up being helpful for keeping you in flow and not getting distracted.
On OSX, I use Alfred, a launcher app. It allows me to CMD-space and
bring up a small subwindow to type things and action. I use the
alfred-org-todo-capture action on it. It allows me, when errant thoughts cross
my monkey mind, to hotekey to bring up Alfred, type a todo and have it
automatically get added into my inbox. org file for later processing (usually
the net morning). Super handy for keeping myself in the flow (since distraction
is the ultimate GTD killer.).
If you’re on linux, you can get the same effect, by using a little app I’m wrote
called rofi-org-todo
which works
with rofi to allow you to hotkey fire it, enter in a todo, and then having
it passed through to a specified file (defaults to inbox.org) in org-mode TODO
format.
How It All Fits Together
So, my day starts with me looking and refreshing my org-super-agenda
powered Org-Agenda buffer
and seeing what I’ve got on for today and the next few days.
If I’ve done things right, I should just be able to focus on that and execute all day. On Mondays, it’s pretty easy to get a feel for the work I’ve got coming up this week and the “size” of the week I’m looking at from a “what to accomplish” perspective (note: I’ve also thought of messing with Cal Newport’s idea here of scheduling work into the blocks of the week, but am not quite there yet.). Mostly I kinda need to do this also to manage WIP like as if things were a Kanban board because otherwise, it’s easy to get overwhelmed with stuff. Time and capcity are by far my scarcest resources.
Since Org-agenda has what I’m supposed to be looking at each day, I can just focus on what’s in there, trusting the system handles the work from the perspective that planning and “scheduling” on things is already done.
Every morning, I also C-l
to create today’s Daily file from the Dailies org-roam
template and start filling it in. Then generally spend a solid 15 minutes or so
writing my Morning Pages in org-journal
(I use it as a separate package because
it’s encrypted and more “private” than the rest of my notes in org-roam.).
Then I get down to the day’s work.
Generally, in meetings, I’m taking notes in the Daily file under a heading with a small meetings template and have the week’s template side by side with it, sometimes swapping it out for things like looking up a person’s assocaited tasks if we’re having a conversation or the Project file of the particular thing we’re discussing.
Since a lot of my work is about moving forward Projects, I’ll often be swapping over to the Project file for whatever I’m working for. Again, a template, but often has links to other org files specific to the project or its content.
If working on something intently, like a blog post or lecture notes, I generally
open the buffer in writeroom-mode
to focus if I’m on the laptop, or use Plain
Org for note taking when reading or watching something away from the computer.
End of the week and end of the month and quarter, I go over the review and checkin processes and feed any stuff from that into the the flow. I probably need another post to talk in more detail about how I plan annually and roadmpa out the next year as well as work that back to the Quarter review and goal-(re) setting.
So, a fairly simple process once you’ve got everything set up to support it.
Fin
OK, that was a lot. I know. Trust me, it sounds way more complex than it is. Once setup and you’re used to some basic emacs key bindings, it’s faster and more fluid using this system than other things like Obsidian, Logseq., or Notion (I know, I’ve tried them all.). And I feel gives you super tracking, overviews, and task managment. Nano even fixes what used to be a pretty horrible user experience.
Hopefully the level of detail level shows how more complex things were implemented and to let you figure out how to apply it to your personal situation and how it all fits together to support you crafting something that helps you execute better and get things done.
But, by far the biggest benefit of this system is peace of mind. Because I have a system I trust to throw information in and that has ways of surfacing things when and how I want to interact with them, it means I can get stuff, even in my very complex and busy life, and be sure they’ll not fall through the cracks.
I also like the fact, that since everything is in plain text, I can literally grep back 5 years and have history on an event, task, or document. It’s surprisingly powerful.
I’m sure there’s lots of things I could be doing better here (please suggest things!), but this works really well as a system to keep all the different aspects of my life moving forward. Please suggest anything you think might be a better way of handling things.
In my fantasy world, org-mode would allow writing everything in markdown with the addiiton of the TODO and datestamping present in org-agenda to make my life even more pleasant, but this system works extraordinarily well. My complaints mostly revolve around the emacs’ ecosystem histroic lack of integration with other tools.
And that’s a wrap. I hope the post was really useful to you made some discoveries that you want to try and incorporate into your own system. Lemme know if you did via mail or elephant below. Especially, let me know if you think there’s a tool or package I should try that I may address some of the shortfalls of my own system. Interested in what works and is working for people. Feel free to mention or ping me on @awws on mastodon or email me at hola@wakatara.com .