
You may have heard of a text editor called Emacs, which has been around for a long time. This is your chance to hear how Matt has used it to create a GTD list manager. He talks about how he got into GTD, and goes into plenty of detail about the system...
Loading summary
Matt M.
Foreign.
John Forrester
Hi, everyone, this is John Forrester, and I'm here for a slice of GTD life with Matt M. And. Hi, Matt.
Matt M.
Hi. How's it going?
John Forrester
Well, good. Like I said before we started recording, I'm unreasonably excited about this because I've been hearing about what you're using for so long, and I've never seen it in action. So this is. This is going to be fun for me. First, let's get a couple of things out of the way that I usually ask someone, like, where are you?
Matt M.
So I'm actually in Michigan. I live in a suburb of Ann Arbor, Michigan, which is renowned for the famous university that's extremely expensive. Yes, Right. So. So in the United States, for international viewers. All right, cool.
John Forrester
And how did you get into gtd? 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 get 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 is. 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. 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, 27, 2016, 2017, somewhere around that time. So a little about a 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 condense down unnecessarily. And so I was 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 All Work and then I bought the original. Then I bought them all on my iPad or my Apple books. So I think I've owned everything that David Allen has ever written.
John Forrester
It sounds like it.
Matt M.
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 Co. I think I now am a line item. So.
John Forrester
But yes.
Matt M.
So I've been using GTD for. Since 2016. 2017, so we'll say 2016. So that's seven years.
John Forrester
Well, I am, I'm really impressed that you found it in high school.
Matt M.
That's.
John Forrester
It's rare for somebody to come on it on his or her own in at that. In that stage of their. Their education. I know plenty of teens who, who were told about it or even pushed toward it by their parents, but I think you're the first teen I have ever. Who ever person I've ever met who found it himself as a teen.
Matt M.
Yeah, it's. I am a very weird person. I like, really like, like one of the things that people never said about me, like, don't you want to go hang out at parties and like, go. I'm like, no, I really want to learn about software engineering. Like, I would spend hours just blowing through software engineering and then like, you know, because like, what is software engineering? At the end of the day, I don't want to do something, but I can make the computer do it and it'll do it better, faster and accurate every single time. So it's like the ultimate productivity, you know.
John Forrester
Right.
Matt M.
So, yeah, over, over the years I just, you know, and then you find more about how to be a faster programmer, how to be a better, more productive person, how to manage the business side. So then I got into all that stuff over just natural time. So like I said, very weird person.
John Forrester
Yeah. No, no, no, no. You sound like you are a very smart person and an ideal candidate for GTD too.
Matt M.
Oh, cool. Yeah. So I again, just, I got enamored with it and I'M like this, it's really onto something because I've always wondered, like, you know, when I was young, I'm like, how do adults just have it all together and a great majority of them don't? And you know, you kind of, you kind of figure out. I'm like, so like, you know, what are you gonna do this weekend? I don't know, kind of see about it. Well, what are you thinking about doing for, you know, your vacation or whatever? I don't know. We'll see. I'm like, how do you, like, I don't just. Do you have more of a plan in life than that? And it was just, it was very frustrating because I just, I don't understand how you can just roam through life without a plan or, well, I should say a plan. But how you, how you can roam through life without having a general sense of direction and like understanding your day to day activities. And like people would say, I forgot to pay my bill. How do you forget to pay a bill? Like, I mean, like one time, fine. After that you learn the penalty for doing that. So I just, GTD has like, you create projects, you create next actions, you have routines, you have a calendar. You keep track of this stuff. You get it out of your head. You don't have to remember all this. And like, I'm a programmer, I'm lazy. If I don't have to remember something, I won't. And so GTP is like the programming for life in a way of saying that.
John Forrester
All right, that's a good quote. A lot.
Matt M.
I should get a copywriter.
John Forrester
Exactly.
Matt M.
But yeah, that's a very long answer to your question.
John Forrester
No, no, no, that's, that's a terrific answer. And this is the point in an interview where I usually say, well, tell me about what tool you use. So what tool do you use and what would you like to say about it?
Matt M.
Yeah, 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, 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 manager, email, do task lists, programming, debugging, display images. It's some of the fanciest stuff in the world. You can do 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 awful everything else is by comparison.
John Forrester
That's funny.
Matt M.
Yeah. Well, to call it, to call it.
John Forrester
A text editor, I think that's almost misleading that people will hear a text editor. Well, I've seen lots of text editors. What's that mean? But then when, when you tell them, well yeah, it also has something like 10,000 commands available and it's infinitely extensible. And it's so much, it's beyond a text editor.
Matt M.
Yeah. So it's a text editor for marketing purposes. I think in reality it's more like. Some people call it an operating system which I could very easily see that some people, they do absolutely everything in Emacs. For other people it's really essentially an Emacs Lisp interpreter or what an interpreter is, is you can understand specific scripting like instructions and Emacs. Lisp is the language that Emacs is written in. You know, the large majority of it's written in elisp. That's the shorthand version of that. It's underlying platform that you've built on is good old fashioned C code from the 60s or 50s from Dennis Ritchie from way back in the day. A lot of it's been moved to ELISP because it's just a more ergonomic language than CC is a very. C is a fun language right in. But it's not very forgiving at all.
John Forrester
Yeah, yeah, that's why a lot of.
Matt M.
People use ELISP for a lot of the stuff.
John Forrester
Years ago I read a really fun book called the Little Lisper and it, it had lots of drawings and it was kind of like one concept per page. If you look at it you'd say this looks like a book for a grade schooler. But it was a terrific way to explain Lisp as a language.
Matt M.
Yeah, I actually. So before I got into Emacs I was already programming in like numerous other languages. You know, C Sharp, java, C, C, JavaScript, TypeScript. Like every language, every modern language that people use. Elisp was a very list was Lisp was from the 50s. So that was when it was first theorized. As far as I know. Elisp was kind of really came into being in like 19, 1975, you know, flat customization. There are problems today that are caused by that because of the fact it's, it was custom created and like to fix a lot of the warts in it is a huge amount of just strike tons of backwards compatibility and Emacs does not like to do that. But with that being said, ELISP is a very awkward language. But the one, the one way to look at it is it loves parentheses, parentheses, parentheses, parentheses. Have you ever seen Lisp code parentheses everywhere? And so that's, that's the hallmark of elisp, but it really is.
John Forrester
I remember it had, it reminded me of looking at math equations where you've got nested parentheses at one after another after another and you kind of have to keep track of how many, how many parentheses were to the right and the left to know where you are.
Matt M.
Oh yeah. The interesting thing is you'll be at the end of a function or something that you're writing and you'll sit there and you'll count, you'll count every single one, but you'll be off by one and you gotta figure out where it is. And people have written packages in Emacs to highlight things and make it a little bit more pretty and so forth. Yeah, there's some functions out there that you know, it gets real dicey real quickly and like you're like you're like a 20 parentheses at the end there. You know, you're off by one and you got to figure out where exactly you're off by one. Because if you do it too soon or too late, you may end up destroying like a scope or something. You're putting something out of assignments. So it's. But yeah, it's a very unique language because you can do a lot of really cool metaprogramming concepts, which is scripting languages are very useful doing that. A lot of the other languages like C Sharp, Java C, they're more strongly typed and you, you can do some better programming with them. But it's extremely tedious and frustrating to do it because the idea behind metaprogramming is it's, you can get very clever and very clever programming is the best way to shoot yourself in the foot later. You can, you know, having to testify to doing that. Many times I've come up with some very clever stuff that I look back many years later going, oh, why I wrote that deleting that nobody will ever see that line of code or those modules or whatever. Right, right. Yeah, but yeah, so that's a little bit About Emacs. It's, it's, it's a wonderful little chaotic tool.
John Forrester
Okay, well, you have applied it to GTD and are willing to show what may not be your real live system, but at least a system that you put together that doesn't necessarily have personal data, but can show people how you use it for your GTD system. And we'd love to see that Absolutely go.
Matt M.
Sorry.
John Forrester
No, no, no, no. I'll let you take over.
Matt M.
It is a demo system, so it has some data in it, but like, you can clearly tell it's a little bit contrived, but it has all the full functionality that my real system has. So you get to see a lot of really cool stuff. And fun fact, I originally started making my own GTD application in 2018. Eric Mack is not wrong. It takes a whole heck of a lot longer than you think, even for a seasoned software person. And so this is version like 400 of my software. Again, version 3. In Emacs you have the first 300 or 400 versions written in a myriad of other languages. So if it looks very polished today, it's because I spent a great many years going over it, making design books. I've got like, I've got like four folders full of just papers, drawings, diagrams, designs, class models. I'm really nuts about it. So, yeah, I'm probably, like I said, crazy, but it's. So I'll show it to you guys and again, you'll see all the full functionality. It was inspired by eproductivity a little. So. Oh, cool brief stuff I've seen of that. So go ahead and share my screen here. So this is Emacs GTD Emacs, the inbox of my system. And maybe this is a good place to start, maybe it isn't. But the other thing that you may notice about what you're seeing is there's a lot of icons at the top. These all point to various functions and methods that I've custom created. And a lot of this also uses a lot of other packages and software that people have made for Emacs over the years. And I've heavily tweaked it, heavily customized it, adapted it, wrapped it to suit my needs for my Emacs little system here there's a number of icons. We'll go over some of them. There's more that have run off to the side. On my real system, I have a 4K monitor and I scale that resolution to the absolute max to get the most space I can. So normally these all fit on a single monitor screen, but for this purpose, it's a little bit more constrained. I also added the menus at the top here, and these kind of give you a little bit more of a peek into just how much stuff I built for it. You have a GTP Master menu. You can build multiple systems. You can switch between systems. There's even some really cool features you haven't seen yet that I really want to shuffle. Then you have capture, and you can capture all kinds of different things. You can do a quick capture that will immediately just open up a little window that you can immediately type something in and just 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. Until you tell it to quit. It can be great when it's like, I just have a bunch of ideas, let me just go through it, blah, blah, blah. Just do it.
John Forrester
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.
John Forrester
I see you have keyboard shortcuts for. Looks like almost everything.
Matt M.
Yeah. I actually started running out of keys and I had to get a little fancier with some other parts. But I designed 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 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 keybinds get very kind of like, why in the world is it control x FE shift 4? I don't know if that's a real keybind, but 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.
John Forrester
Yes.
Matt M.
Which Org mode is basically not to put it on a platform like the greatest markdown format ever created. Apparently. I use a very small subsection of Org mode, and then I've compounded it with tons of custom GTD 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.
Matt M.
Yeah, so I've read a lot of custom stuff. This isn't publicly available. And I can talk about why that is. That's. That's partially a something, maybe item, but it's also because releasing public software is a huge monumental task. So that's another thing. But I clarify where you can go over and kind of if you have a specific item, you can actually process it into a specific type. And even more detailed, you can process it as a follow up or as a deferred item or as a Sunday maybe, or as a project or as the next action, which is actually really cool. 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 actually coach you through. Is this actionable? Will this take two minutes? Is this got all that it runs through like a little flowchart model that once you get to the end of it will say okay, this should be on your calendar or this should be a project, or this should be an action. And then you'll go through these menu items for what that is.
John Forrester
Got it.
Matt M.
GTD Organize is kind of the all the fields you can put on any given GTD item, which is basically anything, you know, every kind of block of things that you're seeing here. And like you can put deferred dates, due dates, recurrences, contexts, agendas, tags, priorities, sensitivities, you can put like actual dates or event dates and times on that. If you want locations, you can even have it review items at different cadences. So if you maybe say I want to review this but like only every two months or maybe every two weeks or something like that, and it needs to be off a standard review cadence, you can do that flagging, starring all kinds of fun stuff. You can even then do some sub things where you're able to capture sub actions and complete sub actions in a more detailed way. And we'll go through some of this as well. And a particular feature that people might enjoy is you can link to anything else in the system.
John Forrester
Oh yeah, that's everything.
Matt M.
So that is something I'm really proud of creating on that.
John Forrester
Really? Yeah. So if you've got a project, you can have it linked to a calendar Event or another action.
Matt M.
Absolutely anything. Calendar, events, projects, actions, checklists, reviews, routines, everything. That'll be something really cool that we can also demo.
John Forrester
Sure.
Matt M.
Also still this feature from Eproactivity, which is you have a special Today view that anything you mark will appear on that Today view. Then when you go to pull that up, it'll just be those items. Then I have it as an option, but I turned it off for my purposes because I'm evil where 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 left it on, so it will carry forward.
John Forrester
Can you tell Microsoft to do that, please?
Matt M.
Microsoft doesn't like me. You know my feelings on Microsoft a little bit.
John Forrester
Yeah, well, they. That's one of the. Just the Today. The My Day Today view in to do is. Is all well and good, but it clears off at midnight every night. So that's. That's not an ideal thing to have happen.
Matt M.
Yeah. So I, I've made that not happen for mine, which is nice. You have some of these options we've seen earlier in the Classify menu. They're also from the Clarify. They're also in the Organize menu because multiple options is nice. Yes. And you also now have GTD Reflect, which is where some of the real fun gets to happen. You can do actually a full review and there's actually a full review functionality built in where it will split off another panel that'll give you a checklist for your weekly review and it'll go through each item and then you can make changes to that item going, well, you know, I really want to do this next week or this is no more important. And it'll keep track of where you left off and it'll keep track of all your items. And you can actually see, oh, I'm 33% of my way through my review or I'm 48% of the way through and you can pick up or you can start a new fresh review. You can start different cadences of your reviews. So you can do a lot of really cool stuff with that. And when you create a new system out of the box, it pre creates us the standard weekly review checklist that David provides in one of his books or the Getting Things Done book. So you have that there. And GTD Engage is just a few things we've pulled from other menus. But you also can clear the Today view if you did want to do that. You have an option to do that. You have some others like close the system, switch your system, save and synchronize the system or synchronize your checklists. And checklists have counts on them, so they'll tell you you've completed four out of 15 checklist items. And I got some examples of that we can take a look at. But you get a lot of this really cool stuff and you have global search throughout the system. You can search for absolutely anything and it will come up live in real time. So that's a little bit about some of the menu items that kind of go through. You can see just how in depth it all is. But let me show you kind of how a typical example might be and we can even process some of these items. Great.
John Forrester
That's exactly what I was hoping is we could do a couple of of examples of what would you do when you're capture clarify what's it look like when you walk something through the system.
Matt M.
Sure, absolutely. So let's do a quick capture here. We'll click the button and it'll bring up a little window here. I hope that comes up and it says quick capture to GTD inbox and you can type anything. So we may want to say clean out my kitchen cabinets above my countertop and I may want to do that. And so it'll add that into my inbox here at the bottom. We can process all these in order. But I'm just going to show you what this looks like at an individual item level. So all you have to do is just make sure your cursor is anywhere within the GTD item, which is anything I'm highlighting now, which is you can be on the title in the status of IT properties, anything. And let's say you know this is the next action. Right. I need to clean out my kitchen cabinet. I don't. It's not going to be multiple steps. I just need to take the plates out, clean it, move some stuff around, throw garbage away. It doesn't really need to be a full blown project for me. So we'll clarify it. We'll say as next action. I'm not going to try to use key binds that much just because that kind of hides some of what's going on. Right. So it brings up this menu where you can pick from a few different options. You can say as a standalone GTD action, as a new GTD project, as the GTD action of a new GTD project, or you can pick existing GTD projects that you have and it'll make it a next action of one of them. And I just hit the wrong button. That happens if you quit out of it. It won't do anything. So you have some fail sites. Got it. Okay, so we'll do that again for next action. And I'm going to want this to be a standalone GTD action. So I'll hit enter and it'll give you a chance to change your title. And I'm happy with that title. And it'll then prompt you for a context. And I'll cover how we set these up actually in a minute here. But we'll say this needs to be done when I'm at home. And it'll. Great. It'll do that and it'll process it to my actions list. Let's go take a look at my actions list.
John Forrester
It's now out of the inbox and on the action list with context of home.
Matt M.
Yep. Great. So we'll open the list and we'll go to GTD Actions and you can see I have some other ones here. And we can see Clean out my kitchen cabinet this year at the GTD context at home and as active and is an in progress task. So you can see how that works. Now you may be wondering how did I get the contacts at home? Or how did I get that list of contacts? That seemed a little magic. I'm going to split panels here for a minute because I want to keep track of that panel for a little bit in my system, which is just a folder with a bunch of files, plain text files in it that you can create anywhere. I can even show how a brand new system is created. It's actually quite elegant. There is a file in here called Properties JSON 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 you 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 actors, 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 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. It'll actually put them together. So that way it's. If you said, you know what, I do define these contexts, but I really want to make this a waiting for. For whatever reason you can do that. It's not a separate thing, it's just separated here for the benefit of knowing that those will be used in other places even when you're not prompted.
John Forrester
Okay.
Matt M.
So that is a little about that. We'll go ahead and close this panel Emacs, you can split panels to an insane amount and degree, which is really fun. But let's say we have a few things and I want to, I want to see what do I got on my system today right now, right? Like I only can process one item, but I've got to get other stuff done. Right? Well, I want to show you a really cool feature that will show you what a view looks like because there's the difference between a GTD list and a GTD view. In my system, 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 and 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 star deadlines waiting for incubating follow up reminder, planner views, forecast views, the calendar view, which is really cool and some other fun stuff that doesn't really matter all that much. 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 my logic. But I could easily extend them and add another one and if somebody knows a little bit of elisp, 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.
John Forrester
There it goes.
Matt M.
Sometimes it takes a little bit slow because there's some caching behind the scenes that always recreates it. But you get these nice, get the same views there, but you get nice icons and you can kind of that looks a little prettier for most people and these are all clickable and you can go to each of them. There's also a secret to this view that in a bigger monitor is a little easier to see. But for this demonstration at the very bottom, I always found this to be really helpful is to have a small little mini calendar that shows you what's going on in a particular day or just how many things you got going on, but also just to see when's the 27th fall, what day does that fall on? You can see that here and you can also click and go like see a two week view or a day view or a week view. And you can navigate between the different months making a calendar seem very exciting. But for emacs a plain just everything is just plain text. There's nothing fancy here, you know, really. I mean there's a lot of on built functionality but you can see all of these different ways of viewing things and you can snap back to month and go back to today and it will make sure that you're on April again. So I found that to be very helpful. Yeah, yeah, really now actually let's take this one step further. So we all love calendars and calendars are very important. If you click the calendar button here, assuming this doesn't slow, there's usually a little bit of lag. Come on calendar. There we go. You get a full blown calendar and laid out exactly how you would and you get to see your items like oh, today I need to look into vacation spots for 2024 or tomorrow. I know I need to start drafting my response to the ACME rfp. And next week, Wednesday is particularly busy. I have a lot of things to do. I have a weekly review to do and also the draft response is due by then, so I need to know that. So you can actually see both things that are deferred and due at the same time. So you can kind of get a glimpse of when something is starting but also when it's hard coded to be done. And that's I found to be really helpful for me because my deferred dates are kind of like, are kind of like aggressive internal deadlines which is sometimes very nice, sometimes very bad. And let's bring this down down just a little bit. But you also get the same two week view so forth up here as well. So you get a more scaled up version, if you will.
John Forrester
So you don't have to just work on the mini version in the left side panel.
Matt M.
Yep, you get a big, big version as well. So that is that. We're going to do a little inside baseball here to get me back to A view. Some of the commands in there won't get your right back, but you can also go to GTD Reflect Open list and I could pick the list and do it that way as well. So there's that. But let's take a look at my actions list. I want to see what my actions list looks like. So we'll go ahead and we will click that and it will actually bring up a filtered view or everything is grouped by context and it will give you some of the information like it's due on this day, here's its context, here's what list it lives in, here's its title and any other relevant information status. And you can see it highlights it in specific colors. If it's going to come due in a few days, if it's very far out, it'll highlight a different color and all the functions. I should also mention you can click on any line and you can click on all the functions at the top as well and it will still work on those items and it'll update it behind the scenes. Okay, so I found that to be really helpful. It's like, you know what, I have this thing on here for email. Check with Adam, my Denver trip schedule. I'm not actually going to Denver, unfortunately. Sorry. I can actually go to GTD organize, change the title of that. And I want to say check Adam. I want to say not check with him. Email Adam on our Denver trip schedule. Give a little bit more oomph to it. That's probably a more of a Midwestern phrase. And then I'll go ahead and refresh the view and email with Adam updates so you can do it that way. So there's a lot of really cool functionality here. And we can look at, you know, there's also the next actions view which is a little bit more complex and hopefully this will actually show something a little different with this demo system. But yes, it will. So this breaks it down both by projects and by context. This is stemming from my old omnifocus days. And so you can kind of see here's this project and it has two actions with it. I don't actually have in the system. I don't create the whole sequential blocking thing. I don't really dig that because like I could book the hotel first or I could email. They could both be at the same time. I don't really need all the complexity that's involved with creating this arcane structure of stuff, blocking other stuff. And also because when I did that, I forgot about stuff and I was like, yeah, never doing that again. So you can see that stuff here and you can see the miscellaneous actions that are just can be done at any time, whether it's call my parents to wish them a happy birthday, purchase the Aida soundtrack on itunes, you know, clean out my kitchen cabinet above my countertop. And that's in my home. And you can very quickly see this. But let's say you have a lot. And in my real system I do have lots. And I want something that I just want to look at one context. I'm at home, I want to see all my home stuff. I don't want to see all this other stuff. It's just way too much. Right. GTD reflect focus on context and it'll bring up that list of contexts that we've seen before. And you can pick. Right now I'm on a computer context, as I'm pointing. Clearly that's not a very good practice. I'm on the computer context, so it pre selects that one because it thinks that's what you want. But I want home, so I want to see a view of my actions focused on at home.
John Forrester
And you'll see that there it is.
Matt M.
That's really cool. And so you can do that as well, which is I think really, really helpful for me because you kind of get to go from big macro level down to big small micro level. So that's a little bit about that. Now you may have noticed we haven't actually seen what a project is, so we'll close this window. And this is an actions list, which is great, but I want to see my projects. How is the project defined in GTD mode? In Emacs I call this GTD mode. I need to do shorthand at some point. So that's what I went with. I've also given it a cute little GTD icon. Really embraced the GTD ness of it all. I also had many different distributions of Emacs, so fun fact. So here's projects. Projects are very similar to Actions except the actions of a project just have two stars. 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. That's fine. I have a GTB agenda on here for Atom. 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 spooky 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 J, 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. I can also type in a little filter and we'll add Janet to my action here. When 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 see everything that they may have together. So that's useful. Let's say though I do, I have some ideas that Janet has given me for itinerary stuff to do in Denver. I've only been to Denver once. I don't really have anything but I want to make a new note about that. She's given me some things. It's really more of a general reference thing than anything else or really a note. So I want to go ahead and create a new note. So it'll prompt you for a note title and in this case we'll just say Janet Rec for Denver activities. Spell checking does not exist in there, but it will exist in the actual note. And we'll say visit the oh, I've been to Denver once. I should know something. Visit the breweries in Denver. I spell terribly so we don't do that. And sorry for blinding people. It creates a new window, applies all my themes. So it's building it up.
John Forrester
I'll just say that for a three day trip that's not enough time to visit very many of the breweries.
Matt M.
And it's a business trip too.
John Forrester
Oh, okay. So you want to do some work as well.
Matt M.
But it will bring up a window here for you to type your notes in. So you can put Visit breweries. You can say, you know, go hiking. I have spell checked, which is nice. Go hiking on a trail. And well, that's not a very good suggestion. But T, R, A, I, L, I have a keybind that will bring up. I can pick whatever spelling I want, which is really nice because I spelled terribly. And we'll go ahead and we'll save that as a note. That's a note, but I want to link it to that action because I want to have that relevant when I talk to Janet or just whenever I see that action in my system. I'll go ahead and swap back over to my other view. This is the Janet action and I have this link to button and I'll click it. This will give me a whole list of everything in my PTD system because I can link to anything, which is. I think we mentioned that earlier. So.
John Forrester
Got it. There it is.
Matt M.
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.
John Forrester
Got it.
Matt M.
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 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 want to 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. It'll bounce me back to the other screen 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. That's something about that to rub in the whole to do thing because I think that's fun. We'll go ahead and hit pull this item onto my to do for today. We'll see my today view and we can see that I have just one item in my inbox for this particular task to talk to my boss about my time off. That's really nice and I like that. That will actually last past midnight which is really cool because I have an option to configure that one thing that is also very useful that I found and I took this from the next Action Associates. I'm just plugging everybody here today shout out to you folks. They had something called a jotter which I thought was really cool. A lot of times I'm in meetings today. I think I had nine meetings today. So you're number 10. Congratulations. You got to the double digits. Yeah. I often want a panel where I can just put something in and just like I'll come back to it later. It's not really inbox stuff but I just need to take quick notes or do quick back of the envelope thinking. And I do have pen and paper and I do use that but sometimes it's easier with a keyboard for me. So there's actually a thing called here called today's jotter and it'll bring up a panel in the right and again well to the right of whatever window you have selected. So we'll do that more correctly. Sometimes my windows look very complex and intricate, but it'll bring up those especially.
John Forrester
On that large monitor. That's high definition.
Matt M.
Yeah, it's wonderful.
John Forrester
It brought up the jotter and it automatically appended today's day and date to it.
Matt M.
Yep. You can just typing in here whatever you want. And we'll type talk with JF today we can save that. And that'll just be. In my jotters. It's just, 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. The old one will still be there because the operative ideas. You may want to process these, process these items at some point. So it will leave that there for you. But it's just a folder called jotter. Notes is the same thing. You have a journal functionality I built in here. Sometimes I like to really get long winded, as you've seen. So pages and pages and pages. So I have that as well. But this is. So that's. That's one of the things I really like about that. There is some other fun stuff to go over. Let's see. I'm trying to think there's actually really, um. Yeah, you know, let's. Let's say this. Let's say I want to look into ChatGPT and LLMs, large language models, because that's the new hotness. People are really interested in macro chains. So that, that's all that is underlying technology, just. Just macro chains. So, but I want to look into that, but I'm not really sure when. So I'm going to tickle that. So I'll hit tcl, which is this little folder button up here, and it'll prompt you for a due date. Because the properties idea with a tickle is that there's a hard it needs to be done by kind of thing. It's not like, well, I'll get to it on the 5th if I can. But I know I'm going to take a look at this on the 19th. That's a good day for me to look at this again. So we'll put 19 and it automatically will figure out what date the next 19th is, which is usually in the current month that you're in. But if you put, for example, the first, it'll bump it forward to the next month. It knows instinctively that that's, that's probably what you meant. You probably don't want to look at April 1, you probably want May 1. Right.
John Forrester
It knows that you're not trying to tickle something in the past.
Matt M.
Yeah, yeah. And if you delete it, it'll reset right back to the current date, which is April 12th. Hi future people. So you can also have this option down here, this little calendar view if you want to Push it out even further and you're not like, when does the 17th fall in May? Or when does the 15th fall in May? And you can click down here. So I want it to be on the 15th in May, for example. And I'll click that and it'll make that the 15th in May due and move it to my Tickler file, which it did. And the tickler file is just like the actions file, just another lisp so open List GTD tickler and you'll see look into ChatGPT LLM for potential usages. Gives it a waiting for context because you really can't do anything until then. And it's in your TCL file. Also, your Someday maybe items go in here as well. I kind of grouped it that way because the Someday maybe item is like the Tickler item in some fashion in my version of GTD. I didn't really want to create like a 15th list.
John Forrester
They're both ways to incubate something precisely.
Matt M.
And so when you actually look at your Someday maybe view, it'll actually bring up just the the Someday maybe items. When you look at your waiting for review, it'll bring up this and anywhere else in your system. You may have even tagged something as waiting for or the due date fits waiting for. So there's a lot of logic built into that that is 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 or Someday maybe view and 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 interesting people. I built in the horizons of focus model into this as well. People always ask anything on the forums like how do you manage horizons of focus? What do you do? It's just a plain text file. That's all I do. Nothing fancy. So you can pick. Step into horizon of focus and it'll 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,000ft. 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 deck 31. Again, typing always during a presentation is just terrible. So you know, that's.
John Forrester
That happens to everybody. If, if you're being watched while you type, the finger coordination just kind of.
Matt M.
Goes, yeah, it's very frustrating. But you can do that and you can type other things here. You know, lose £100. Why not shoot for the impossible by November 1st, try and gain it all right back at the end there, 2023. And you can do this and you can. I don't 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 because again the beauty of the link to function, you can link these to anything you want in your system. So if you maybe want to have goal driven projects or goal driven actions, you can do it right.
John Forrester
So that's there another thing that lots of people, once they learn about the horizons model, they say, well, should I have everything vertically linked to something else? And yep, only if you want to go to all that effort.
Matt M.
And so we actually can do GCD reflect open list horizons of whoops. Okay, that's. We're showing that feature in a little bit. I don't want to preempt the fun horizons of focus. And you get to see the rest of them that are there. These are just the ones we've added. So that's. Yeah, that's, you know, all of them. The projects in the next actions are not in here because you have a projects list. You can generate a project at any time and see that. And so if I did want to maybe look at my 10,000 foot level open view projects and you'll bring up a filter view of my projects and it'll group them by actually the status you maybe had active projects, which is on hold projects. It's useful for me a lot of times to see the distinction there because sometimes I may just want to see stuff that's inactive at the top and the whole stuff I really don't care about or it may be more of like it is a project, I am responsible for it, but I need to wait like a month because there's funding or something or somebody that you know, hasn't really made their Decisions yet for whatever reason, but I still need to keep it in my purview. So I have that there for my benefit. So stuff. Yeah, so that's some of that. And one thing I do want to.
David Allen
I'd like to, to give a short message to those of you who've been participating and playing with GTD Connect for a while and sort of remind you that all of us with this GTD methodology and this set of practices go through cycles. You know, I still go through cycles myself initially. There's kind of the inspiration and there's a lot of material to ingest and to get familiar with. And so people oftentimes when they first come onto control, are just potentially overwhelmed by how much information there is. In a way, it's just a huge library where we've been able to archive so much different information from so many different perspectives and people and points of view and so understood that it's like walking into a library going, gee, where do I start? So that's oftentimes the initial phase of this. And many people after a year or two probably get on some level or some point plateau where they go, well, I kind of got it now, I've got my system set up and everything's fine and I'm fine tuning. And you may find yourself at that point also finding yourself saying, gee, I'm now becoming a resource of this methodology for people around me, you know, people asking me for assistance and help in this. And we've seen in the forums a number of people now sharing ideas about how to get your teams more involved or families more involved with this information. So some of that information is in there as well. But I think you'll find yourself going through cycles of this and you may find that much like if you've ever read a software manual. I remember when I read, when I learned Microsoft Word to begin with, for instance, I read the manual, wow, this is really cool. And I started to use the tool and didn't need the manual anymore. As a matter of fact, a good example of that right here, the manual for this camera that's taking this picture right now. Initially I read this, got it all set up, that's really cool. And that's really fine. And so pretty much everything was under cruise control. I didn't need to go back to my library to make this really work. And then of course, as I started to get more sophisticated in terms of the stuff I wanted to do, got more inspired about some things I saw other people are doing, I go, how do I do that? Went back to the manual, I went, oh God, I didn't realize I could do that. I didn't realize I could do that. And I remember at least two or three iterations of going back to Microsoft Word back in the, in the days when there actually was a manual for that, as opposed to just all online and realizing, oh my God, I didn't realize that, oh, I could do that now. I could do that now. And I think that's what you might find with Connect too, is that it's a gold mine of stuff. Well, many people have read getting things Done, you know, more than three or four times, and every time they read it, they get something new out of it. So I think you may find Connect the same way and probably even easier because, hey, it doesn't take much to just click on, surf around, see what my be new or what might be of interest to you, and pay attention. You know, there's more than meets the eye in there.
Air Date: September 17, 2025
Host: John Forrester
Guest: Matt M.
This episode features an in-depth conversation between John Forrester and Matt M., a software engineer and longtime GTD (Getting Things Done) practitioner. Matt shares his journey from discovering GTD as a high school student to creating one of the most customized GTD systems ever seen—built on the text editor Emacs. The episode combines practical GTD principles with deep technical insights on using, adapting, and extending Emacs (especially Org Mode) for managing complex, personal productivity workflows. The conversation also highlights broader lessons about system customization, GTD tool choices, and maintaining flexibility over time.
[01:03–06:08]
Matt first encountered GTD in 2015 while in high school, searching for ways to learn faster and reduce stress.
GTD became a necessity as his responsibilities grew as a software engineer.
Initial struggle with contexts and tools (e.g., Omnifocus) led him to read all of David Allen’s books.
“GTD is like programming for life.”
– Matt M., [06:08]
Matt self-describes as someone who sought systems and structure for personal management from an unusually young age.
[06:34–12:12]
Emacs, short for "editor macros," is introduced as the backbone of Matt's customized GTD system.
While often labeled a “text editor,” Emacs is better understood as an “operating system for text, extensible to the nth degree.”
The system leverages Emacs' vast package ecosystem, especially Org Mode, and custom Elisp development for productivity needs.
“Once you get past that learning curve, you quickly realize how awful everything else is by comparison.”
– Matt M., [07:33]
Discussion about Lisp programming and Emacs’ unique flexibility compared to modern languages.
[12:12–29:19]
Matt demonstrates his “demo” Emacs-GTD setup, explaining both interface and philosophy:
“I started making my own GTD application in 2018 ... this is version like 400 of my software.”
– Matt M., [12:41]
Inbox Processing: Items are quickly captured and then classified through a custom menu, guiding the user through the “Clarify” process, with options for Next Action, Project, Deferred item, Someday/Maybe, etc.
System Flexibility:
[18:17–22:42, 29:19–32:00]
Built-in Weekly Review checklist per David Allen’s recommendations.
Progress tracking throughout the review: “You’re 33% through your review.”
Support for custom review cadences and historical tracking.
“You can link to anything else in the system ... That is something I'm really proud of creating.”
– Matt M., [19:19]
Multiple “views” (filtered lists) available from a sidebar, e.g.: Inbox, Projects, Actions by context, Agendas, Deadlines, Waiting For, Tickler, Someday/Maybe.
Visual calendar integration, allowing for detailed planning of deferred and due dates.
[22:42–44:44]
Capturing an action ("clean out my kitchen cabinet above my countertop") → clarify (next action) → assign context ("home") → auto-sorted to the action list.
Contexts are user-defined in properties; easy to add/edit agendas and link notes or reference material to any task.
“There’s a difference between a GTD list and a GTD view: a list is just a plain text file, a view is a special filtered, grouped display based on your workflow logic.”
– Matt M., [27:33]
[35:52–44:44]
[44:44–53:09]
Tickler: Set specific future dates for incubation (“Look into ChatGPT and LLMs on May 15”).
Someday/Maybe and Tickler views are unified for simplicity.
Horizons of Focus are managed as simple, ad-hoc text files—editable, linkable, but not over-structured.
“You may want vertical linkage of everything—but only if you want to go to all that effort.”
– John Forrester, [51:41]
Clear distinction between “on hold/inactive” and “active” projects in views.
[53:09–end]
David Allen (pre-recorded) reminds listeners that their GTD practice will go through cycles:
“Many people have read Getting Things Done more than three or four times, and every time they read it, they get something new out of it.”
– David Allen, [~54:00]
Connect is described as a “gold mine” to dip into for new layers of insight.
"GTD is like programming for life."
– Matt M., [06:08]
"Once you get past that learning curve, you quickly realize how awful everything else is by comparison."
– Matt M., [07:33]
"I started making my own GTD application in 2018 ... this is version like 400 of my software."
– Matt M., [12:41]
"There's a difference between a GTD list and a GTD view: a list is just a plain text file, a view is a special filtered, grouped display based on your workflow logic."
– Matt M., [27:33]
"You can link to anything else in the system ... That is something I'm really proud of creating."
– Matt M., [19:19]
"You may want vertical linkage of everything—but only if you want to go to all that effort."
– John Forrester, [51:41]
"Many people have read Getting Things Done more than three or four times, and every time they read it, they get something new out of it."
– David Allen, [~54:00]
Conversational, geeky, and friendly. Matt’s enthusiasm and deep technical expertise shine, matched by John’s genuine curiosity and ability to anchor the discussion in practical GTD principles. The episode is a hands-on masterclass in the intersection of personal productivity and software customization, peppered with humor and relatable anecdotes of the GTD learning journey.
If you’re considering building a truly personalized GTD system or are interested in how far you can push Emacs and Org Mode for workflow management, this episode is a gold mine of practical inspiration and technical detail. Even non-Emacs users will discover valuable lessons about process, customization, and the lifelong evolution of GTD practice.