Ep. 328: GTD List Manager With Emacs

## Metadata
- Author: [[Getting Things Done]]
- Full Title: Ep. 328: GTD List Manager With Emacs
- Category: #podcasts
- URL: https://share.snipd.com/episode/ed9a1922-ee11-4806-9df6-feed6ebbf795
## Document Notes
## Highlights
- **How Matt Found GTD Early**
- Matt first discovered GTD as a stressed high-school student cramming for a test and watching David Allen's talks.
- He later returned to GTD in 2016 when his engineering job required better self-management and built systems around it.
Transcript:
John Forrester
How long have you been at it?
Matt M.
So that's a great question. So I learned about GTD. I was exposed to it around 2015, back when I was in high school. So I'm young, as you can obviously tell. And the way I found it was I was cramming for a test as one does the night before. And I Googled somewhere along the lines of like how to learn faster, how to learn with less stress, how to be stress-free. And like, that was like one of the magical phrases that gets you to one of David's TED talks. And so I remember watching that for a little bit. I'm like, this is kind of not what I want, but this is cool. I can see how this might be coming to play later. Fast forward several years, when I got one of my first real jobs as a software engineer, I kind of learned that there was a whole lot more expected of me, and I had to be better at managing Myself. And so at one point, I created a really fancy access database, and I was like, how can I be better at this? How can I get it more efficient? And then I found a look like I eventually again, hit magical phrases in Google and found more about GTD and really learned more about it at that point. This was like 2016, 2017, somewhere around that time. So a little year or two later, give or take. And yeah, at that point, you know, kind of found all the apps that people recommended and like do this, do that, videos, people talking about their thing. Then eventually decided, well, I should probably buy the book because I don't get this whole context thing. Like I just don't get it. I was using OmniFocus at the time. It was very confusing. I was like, I want to have more than one context. Like, why do I need one? Like, it could be at home or like, it could be email. But like, I may talk to people on the phone. I may use Slack. I may use text messaging. Like, this feels very archaic. And I'm like, I'm not sure if this is people on blogs or whatever, like, you know, condense down unnecessarily. And so I like, I'll buy the book. And so I bought the book and then I bought the ready for anything. And then I bought making it all work. And then I bought the original and I bought them all on my iPad or my Apple books. So I think I've owned everything that David Allen has ever written. It sounds like it. Yeah. I think if we were to, I think, I think I'm now in the breakdown by customers, how much money you contribute to David Allen Company. I think I now am a line item. So I've been using GTD since 2016, 2017. So we'll say 2016. So that's seven years. ([Time 0:01:01](https://share.snipd.com/snip/79371835-8a2b-4b67-8841-b44ac93b939e))
- **Emacs Is An Extensible Platform**
- Emacs is far more than a text editor: it's an extensible platform that people treat like an operating system.
- Its configurability enables unconventional workflows but comes with a steep learning curve.
Transcript:
Matt M.
So we've been keeping people in suspense so far. So the tool I use is Emacs. And Emacs is, what it stands for is Editor Macros. That's actually what it stands for. What Emacs is, is it's a text editor. That is, it's a very, very configurable text editor. It is probably the most configurable piece of software I have ever used in my entire life. And it is virtually limitless with the amount of things you can do with it, which is, for what it is, it's a software developed in 1975, publicly released in 1985, that looks very archaic But people have people have found throughout the decades ways to make it do everything from play music manage your email do task lists programming debugging you know display images You know it's some of the fanciest stuff in the world you can do in Emacs. And it's, again, very archaic software, so there's a huge learning curve to it. But once you get past that learning curve, you quickly realize how ([Time 0:06:35](https://share.snipd.com/snip/33b0038d-d473-48f7-8a71-e5bc6f6dabdc))
- **Use Guided Clarify Flow For Inbox**
- Capture quickly and then clarify with a guided flowchart to decide if something is actionable, calendar-bound, or a project.
- Use short prompts to classify items as next actions, projects, someday/maybe, or calendar events immediately.
Transcript:
Matt M.
You can do a quick capture that will immediately just open up a little window that you can immediately type something in and spam it right in the inbox and you don't have to do anything More. A Minesweep will do the same thing, but continuously until you tell it to stop quitting or until you tell it to quit. So it can be great when it's like, I just have a bunch of ideas. Let me just go through it, blah, blah, blah.
John Forrester
Just do it. Okay.
Matt M.
And then the rest of these, you can create like actual targeted things like i want to create an action or i want to create a project or a calendar event or a reference topic or a note or a checklist Or a routine and i see you have keyboard shortcuts for looks like almost everything yeah i actually started running out of keys and i had to get a little fancier with some other parts so Um but i decided it first and foremost with kind of the idea of like menus in mind, because I think one of the things that's very frustrating about Emacs is like, it's very keyboard driven. So if you're not very keyboard savvy or a very fast typer, it can be very frustrating at first, as well as the fact that Emacs, some of the key get very kind of like, why in the world is it control X, F, E, you know, shift four. I don't know if that's a real keybind, but like it's that kind of contrived. And so I kind of simplified mine. I should also add that this is built on top of a very common package, one of the killer packages of Emacs called org mode. Yes. Or org mode is basically, not to put it on a platform, like the greatest markdown format like ever created apparently. I use a very small subsection of org mode and then I've compounded it with tons of custom GDB stuff. So that's to give you a little bit of understanding of like the underlying packages at play. That's some of it.
John Forrester
Well, that's helpful. The people who I know some people who use Emacs, they're going to recognize everything you're saying right off the bat. And anybody who wants to experiment with it now knows that they can also look at org mode. Yeah.
Matt M.
None of, so I've read a lot of custom stuff that isn't publicly available and I can talk about why that is. That's partially a Sunday maybe item, but it's also because releasing public software is a huge monumental task. So that's another thing. But, you know, I have clarify where you can go over and kind of, you know, if you have a specific item, you can actually process it into a specific type and get even more detailed. I have, you can process it as a follow-up or as a deferred item or as a someday maybe, or as a project or as the next action, which is actually really cool why I did that. Then I also have two other special commands here for processing inbox and process system. And it will actually run through the entire system, accumulate all your unprocessed items, and it'll go through it one by one, and will actually coach you through, is this actionable? Will this take two minutes? Is this got all that? Wow. So it runs through like a little flowchart model that once you get to the end of it, we'll say, okay, this should be on your calendar, or this should be a project, or this should be an action. ([Time 0:15:10](https://share.snipd.com/snip/1ac9eca8-ab68-4a18-a362-f7f43f9c3e8e))
- **Leverage Org Mode Foundation**
- Build GTD tools on existing packages like Org mode to avoid reinventing the wheel.
- Customize selectively and layer your GTD logic on top of proven Emacs packages.
Transcript:
Matt M.
I should also add that this is built on top of a very common package, one of the killer packages of Emacs called org mode. Yes. Or org mode is basically, not to put it on a platform, like the greatest markdown format like ever created apparently. I use a very small subsection of org mode and then I've compounded it with tons of custom GDB stuff. So that's to give you a little bit of understanding of like the underlying packages at play. ([Time 0:16:26](https://share.snipd.com/snip/f06f3161-b1aa-4ceb-8404-1462a80c1950))
- **Make Today View Persist Intentionally**
- A 'Today' view should persist tasks across days unless you intentionally clear them.
- Matt made that persistence optional because automatic midnight clearing loses useful context.
Transcript:
Matt M.
And a particular feature that people might enjoy is you can link to anything else in the system. Oh, yeah. That's handy. So that is something I'm really proud of creating all that.
John Forrester
Really? Yeah. So if you've got a project, you can have it linked to a calendar event or another action. Absolutely anything. Yeah.
Matt M.
So calendar events, projects, actions, checklists, reviews, routines, everything. So that'll be something really cool that we can also demo. Sure. Also, spill this feature from eProactivity, which is you have a special today view that anything you mark will appear on that today. Day view. And then when you go to pull that up, it'll just be those items. And then I have it as an option, but I turned it off for my purposes because I'm evil where if you, the next time you regenerate that today view, and if it's a different day, it'll clear out All of yesterday's stuff. So your today view won't carry forward, but I made that an option to where I've left it on. ([Time 0:19:11](https://share.snipd.com/snip/0f957321-2d0f-4c57-98f0-82ad9e332c6e))
- **Centralize GTD Settings In One File**
- Define contexts, agendas, tags, and review cadences in a central properties file to drive UI choices.
- Keep those settings in plain JSON so views and prompts reuse them consistently.
Transcript:
Matt M.
And if we click that and we open it, it's just a good old fashioned JSON file that is a little bit technical, but I don't think too many people would be confused by what a JSON file is. And you can define your context in here, your agendas, your tags, your locations, priorities, however you want to do those. Sensitivities, if you want to maybe have filters that notify that this is a personal item or professional item that you may not want to show. Review groups, review types. And I think that's the last thing there. Yes. And then at the top, there's some like default contexts. Sometimes in some of the commands that we have for GTD mode here that I've created, it will need to have a default context that won't prompt you for one. And so it'll use whatever you've defined here as a context for the default one or archiving, waiting for. So there are some things that are a little bit particular, but these are mostly GTD central or specific, if you will. And these are spliced into the lists that you generate here at runtime. ([Time 0:26:02](https://share.snipd.com/snip/68d80b4a-3d7a-46da-bddb-b77804af4851))
- **Surface Filtered Views Not Just Lists**
- Build filtered 'views' on top of raw lists to surface grouped, relevant items quickly.
- Provide many prebuilt views (by context, project, calendar, waiting-for) and let users add more.
Transcript:
Matt M.
A GTD list is just a plain text file with all your stuff in it, but a GTD view is a special filtered view that shows you in groups items based on that view's logic. And we have quite a few of them that I've predefined. So in GTD Reflect, you can see inbox, projects, actions, next actions, by context, by agendas, tags, priorities, flag start, deadlines, waiting for, incubating, follow-up reminder, Planner views, forecast views, a calendar view, which is really cool, and some other fun stuff that, like, doesn't really matter all that much. You know, someday maybe view. So you get all your kind of standard stuff that you're looking for. And all of these are pre-built into the system for MyLogic, but I could easily extend them and add another one. And if somebody knows a little bit of e-list, they could do it too. So those are there. But you can click them and go to them here. But I want to show something that's a little bit cooler. So we'll do this button here called Toggle View Navigator or Sidebar. So we'll click that. And on the left hand of the screen, it will actually create a special Nav Explorer kind of thing for my views uh it's a little yeah so yeah there it goes sometimes it takes a little bit slow Because there's some caching behind the scenes that always recreates it so but you get these nice you get the same views there but you get nice icons and you can kind of you know that looks A little prettier for most people and these are all clickable and you can go to each of them. ([Time 0:28:04](https://share.snipd.com/snip/29ec8665-149f-4b89-9b82-4147a0ded146))
- **Demo: Adding An Agenda And Note**
- Matt demoed creating an agenda entry for 'Janet' and linking actions to that agenda for meeting prep.
- He used the system to add notes, assign agendas, and then display an agenda-focused view.
Transcript:
Matt M.
They're like a second level in. They're associated with that project. And so we can see this project here has these two actions for my three-day business trip to Denver. And the Acme RFP just has one currently. And that's fine. I have a GTD agenda on here for Adam A. Book a hotel room with a three-day trip to Denver. I'm probably going to need to add that to an agenda for somebody, right? I may want to check with somebody else on this. Let's say it's Janet. I'm picking random names if you're watching this and your real name is Janet or Adam A.
John Forrester
Spooky.
Matt M.
In the GTD menu, you can hit manage, and you can pick any of the lists that we've seen before. So let's say agendas. I want to add a new agenda. You can also edit in here as well or delete if you get rid of it. So I want to add a new agenda and I'm going to call this Janet. And we'll say Jay. I forgot the reference to that. Good for you. So that'll add a new agenda in there. So now when I go and click the button that's conveniently off screen for put on agendas, it'll now have Janet as an option at the bottom. And I can also type in a filter and we'll add Janet to my, uh, my, uh, action here. And we do GTD reflect, open view, agendas. We can see both of my particular agendas. If I'm ever with a particular person, I can kind of see everything that they may have together. ([Time 0:36:55](https://share.snipd.com/snip/2e0d54af-4bdc-47a5-88aa-9cc10d7f39bd))
- **Create Bi-directional Links For Context**
- Link related items bidirectionally so you can navigate between projects, actions, and notes.
- Use links to build context chains (e.g., project ↔ action ↔ note) for quick lookup during reviews.
Transcript:
Matt M.
So I'll go ahead and swap back over to my other view. And this is the Janet action. And I have this link to button and I'll click it. And this will give me a whole list of everything in my GTD system because I can link to anything, which is, I think we mentioned that earlier. Got it. There it is. And you get a whole list of everything that's in your system. And you could obviously, you know, go through each one of these if you want, if you're so inclined. But I'm not. I'm lazy. I just know this is a note. So I'm going to go with notes. And we can see here at the very bottom, there's, oh, Janet. So I can also type Janet in a random order. It doesn't have to actually be correct. And it'll find that and it'll say, that's the only option. You can hit enter. And it'll actually ask you, do you want to create a bi-directional link? So if this was actually an item, like another project, you can create a link on both sides of the item. This is a note, so it doesn't really make sense to do that. It's just another plain text file. So we'll hit no, and it'll go ahead and it'll add a link into that file. And I can click on that link and it'll actually open it up in another window to the right, if I ever did want it. And so that's actually a little bit about linking. Now, you can also link to other items in the system. Some of this is probably a little bit more contrived than I might necessarily like. But let's say, oh, I need to talk to my boss regarding my time off for 4th of July before I take that Denver trip for whatever reason. Right. I can go ahead and let's link that item here now in my inbox. You know, slightly bad practice, but we'll ignore that. Denver and take a three-day trip to Denver. And that's the one I want. So we'll go ahead and do that one. We'll say yes, we do wanna create a bi-directional link. So we'll create a link here for take three day business trip to Denver. We'll go ahead and click that. It'll open it again in a side panel and we can see talk with boss regarding time off for 4th of July is a link here to the other item. And if we click that, it'll bounce me back to the other, whoops, it'll and put my cursor right there. So you can link back and forth and quickly find your way around anything in your system, which is often very useful. Yeah, very. So that's something about that. ([Time 0:40:31](https://share.snipd.com/snip/29ce7e21-f8a1-4aa9-8c45-cfdb503a6e8a))
- **Use A Daily Jotter For Rapid Capture**
- Keep a daily jotter panel for quick meeting notes and ephemeral thoughts you will process later.
- Save each day's jotter as a plain text file so you can process or archive it during reviews.
Transcript:
Matt M.
And it'll bring up a panel in the right. And again, well, yeah, to the right of whatever window you have selected. So we'll do that more correctly. Sometimes my windows are very complex and intricate.
John Forrester
But it'll bring up a little jotter. Especially on that large monitor at high definition.
Matt M.
Yeah, it's wonderful.
John Forrester
So it automatically brought up the jotter, and it automatically appended today's day and date to it. Yep.
Matt M.
And you can just begin typing in here whatever you want. And, you know, we'll type talk with JF today. So we can save that, and that'll just be in my jotters. It's just a, it's just a folder of plain text files inside of your GTD system that you can, you know, it'll create one after it passes midnight when you hit the next jotter or today's jotter, It'll create a new one. ([Time 0:44:28](https://share.snipd.com/snip/656d264a-1f91-44d2-ab09-a611e23eb4cc))
- **Horizons As Simple Linked Files**
- Matt integrates GTD Horizons of Focus as plain text files and links rather than special DB structures.
- You can keep higher-level horizons simple and still link goals to projects and actions when useful.
Transcript:
Matt M.
That's kind of not too terribly interesting, depending on who you ask. So you have that. And so, well, for example, I want to see my someday maybe list. And for someday maybe view, it brings it right up. Right now, there's just Remodel Kitchen. I may want to do that someday. Probably not. Who knows? Still waiting for the million-dollar inheritance someday. So that'll show up there. I'd say that's not very interesting at the moment. There's also something that's particularly of interest to people. I built in the Horizons of Focus model into this as well. People always ask, I think, on the forums, like, how do you manage Horizons of Focus? What do you do? It's just a plain text file. It's all I do. Nothing fancy. So you can pick Step into Horizon of Focus, and actually, the file actually has these as categories, but you can pick which one you specifically want to focus on. So we'll say goals and objectives. We'll say my horizon number three, 30,000 feet, goals and objectives. The terminology has changed. I kind of just stuck with this one. So yeah. So we'll pick that one and it'll bring a focused window up where you can say, it gives you the general recommendation that David had in the description that kind of prompts you a little Bit. And you can type in here anything you want. So you say, well, maybe I want my, one of my goals to be, you know, pay off my American Express credit card debts by X31. Again, typing always during a presentation is just terrible. So, you know.
John Forrester
That happens to everybody. If you're being watched while you type, the finger coordination just kind of goes.
Matt M.
Yeah, it's very frustrating, but you can do that and you can type other things here, you know, you know, lose 100 pounds. Why not shoot for impossible? You know, by November 1st, I can gain it all right back at the end there, 20, 23. And you can do this and you can, you know, I don't, you know, put a lot of structure into these things because they're more something that you don't look at every single day and they don't Need to have a lot of terrible structure in my perspective, but you can link these. Cause again, the beauty of the link to function, you can link these to anything that you want in your system. ([Time 0:48:50](https://share.snipd.com/snip/c15dc68d-c3f1-4494-825a-4c57e511455e))