Emacs org-mode is the perfect tool for GTD.

Discussion in 'PUBLIC: Discuss Tools & Software for GTD' started by GreenDog, Mar 6, 2019.

  1. GreenDog

    GreenDog Registered

    Joined:
    Jan 6, 2019
    Messages:
    23
    Likes Received:
    3
    Trophy Points:
    3
    Gender:
    Male
    I have perfected my org-mode GTD setup today. It's the most perfect GTD system on this planet.

    My org-mode configuration automatically generates GTD overview from a list of TODO items instantaneously.

    On the first image, you can see inbox, waiting tasks, tasks without context, active projects, and stuck projects. A project is simply a TODO task with subtasks. Active projects have NEXT tasks. Stuck projects don't have NEXT tasks.

    When you have an idea, you can quickly capture it in an inbox by pressing Ctrl+C and then C. You can send inbox items to appropriate places later.

    01.png

    On the second image, you can see tasks scheduled for today, NEXT @errand tasks, NEXT @review tasks, NEXT @home tasks, and NEXT @read/watch/listen tasks. NEXT tasks are simply tasks to be done next. TODO tasks are tasks to be done after NEXT tasks.

    The good thing about scheduled tasks is that a scheduled task can be repeated on a regular basis. Thus, weekly review is a repeated scheduled task. Getting a haircut is a repeated scheduled task. My GTD system reminds me to get a haircut 45 days after getting the last haircut. It also reminds me to do weekly review every sunday.

    02.png

    On the third image, you can see @errand tasks, @review tasks, @home tasks, and @read/watch/listen tasks. These are all TODO tasks that are going to be done after NEXT tasks.

    03.png

    My tasks are actually organized in a hierarchy in an org file as below.

    04.png

    Thus, you can see projects and tasks in GTD overview and also in a hierarchy.

    Plus, you can access emacs org-mode anywhere on this planet if you run emacs org-mode on an ssh session on a Raspberry Pi server. If you use android or iOS, you can access emacs org-mode through an ssh client on android or iOS. Think about using this on iPad. By the way, the emacs color theme that I use is gruvbox-theme.

    This is perfect. With this setup, no task slips through the cracks.

    My org-mode setup is contained in emacs-org-mode.el and gtd-settings.org. If you know how to write emacs lisp, you would understand my source code.

    To utilize emacs-org-mode.el, I recommend putting the following lines in your emacs initialization file which is usually ~/.emacs.

    Code:
    (setq package-archives '(("gnu" . "http://elpa.gnu.org/packages/")
                             ("melpa" . "http://melpa.org/packages/")
                             ("org" . "https://orgmode.org/elpa/")))
    
    (package-initialize)
    (unless package-archive-contents
      (package-refresh-contents))
    (unless (package-installed-p 'use-package)
      (package-install 'use-package))
    
    (load "~/.emacs-org-mode.el")
    
    (use-package org
      :pin org
      :config
      (use-package org-checklist
        :ensure org-plus-contrib)
      (add-hook 'org-agenda-mode-hook (lambda () (tooltip-mode 0))))
    You also need to change my/inbox, my/project, my/someday, and my/birthdays in emacs-org-mode.el before using it.

    To utilize gtd-settings.org, put gtd-settings.org in the same folder as GTD org files(my/inbox, my/project, my/someday, and my/birthdays) which should contain the following line at the top.

    Code:
    #+SETUPFILE: gtd-settings.org
     

    Attached Files:

    Last edited: Aug 15, 2019
    Alex J Whitt and Geeko like this.
  2. mcogilvie

    mcogilvie Registered

    Joined:
    Jan 2, 2005
    Messages:
    2,475
    Likes Received:
    415
    Trophy Points:
    83
    I am happy for you. Not an option for most people, but for those who know emacs and lisp, here’s your chance to leave commercial software behind. OK, don’t all get in line at once. :)
     
  3. Oogiem

    Oogiem Registered

    Joined:
    Jun 3, 2008
    Messages:
    4,785
    Likes Received:
    544
    Trophy Points:
    113
    Gender:
    Female
    For you. There is NO system that is perfect for everybody.

    With that caveat I'm glad you've found something you like and that works for you. For me I know I'd go start raving mad if I had to use that for more than 10 minutes. :)
     
    bcmyers2112 likes this.
  4. Geeko

    Geeko GTD since 2017

    Joined:
    Dec 22, 2017
    Messages:
    197
    Likes Received:
    112
    Trophy Points:
    43
    Gender:
    Male
    Occupation:
    technical writer, martial arts teacher
    Location:
    Germany
    As a vim-user I have to object :D Ok, let’s leave the editor wars behind and get serious ;)

    I really like the look of your system and I use a lot of console tools myself (ranger, mutt, cmus, …) but let’s face it: You won’t find any fans of this implementation outside the console-geek-world.
    I also see two problems with your setup (not mentioning my lack of experience with emacs):
    • With an ssh-server you depend on a stable internet connection. Here in southern Germany there is no way you can rely on that.
    • Working on a smartphone console is (at least for me) really painful. The keyboard is small and all those special keys are missing that are crucial for using emacs.
    I would prefer a graphical solution for my smartphone and maybe a console solution for my desktop PC and my notebook that does not need a permanent internet connection. Maybe an implementation based on a CalDAV-server and a local org-mode script on your workstations would be a solution (to stay in emacs-world).

    Just a few suggestions ;)
    Thanks for sharing and good to know that there are some other console-geeks around :)

    Cheers,
    Tristan
     
  5. GreenDog

    GreenDog Registered

    Joined:
    Jan 6, 2019
    Messages:
    23
    Likes Received:
    3
    Trophy Points:
    3
    Gender:
    Male
    That's why you use org-evil mode that comes with vim-like keybindings. You can also use iPad or an android tablet for this.
    I use hacker's keyboard on my android phone. It's not very convenient, but hacker's keyboard has Control, Alt, and function keys. org-mode is actually serviceable on an android phone.

    You can use mosh for unreliable connections. But, if the connections are too unreliable, mosh would be useless, too.



    I don't like emacs much. I'd rather use a text editor with a saner programming language and native concurrency support. I use emacs not because I'm a console geek but because org-mode is the perfect tool for GTD for now. I learned emacs lisp and org-mode just to implement a perfect GTD task management system. If there is something better than org-mode on another platform, I'll learn it. If there is no good GTD support on emacs, there is no good reason to keep using it.

    You can use emacs org-mode locally on your android phone with termux. Use syncthing to automatically synchronize GTD files between android and your desktop computer when your phone is connected to your home WiFi network. I use this currently, but I plan to move onto Raspberry Pi server because iPad doesn't support emacs or syncthing.
     
    Last edited: Mar 6, 2019
  6. ERJ1

    ERJ1 Jedi Master

    Joined:
    Feb 28, 2019
    Messages:
    107
    Likes Received:
    82
    Trophy Points:
    28
    Gender:
    Male
    Occupation:
    Social Studies Teacher
    Location:
    Chicago, Illinois
    This is cool, but it looks a bit like you're clacking away at a computer interface that would be aboard the Nostromo in Alien ;)
     
  7. Geeko

    Geeko GTD since 2017

    Joined:
    Dec 22, 2017
    Messages:
    197
    Likes Received:
    112
    Trophy Points:
    43
    Gender:
    Male
    Occupation:
    technical writer, martial arts teacher
    Location:
    Germany
    Well, I still consider a command line as a modern interface (if you use the right shell), especially on remote machines :)
    And it is a great way to keep people from shoulder surfing, since console-work usually looks boring ;)

    Cheers,
    Tristan
     
    leeruns likes this.
  8. GreenDog

    GreenDog Registered

    Joined:
    Jan 6, 2019
    Messages:
    23
    Likes Received:
    3
    Trophy Points:
    3
    Gender:
    Male
    My command line interface is post-post-post-modern.
     
    Geeko likes this.
  9. AFG

    AFG Registered

    Joined:
    Sep 12, 2018
    Messages:
    190
    Likes Received:
    12
    Trophy Points:
    18
    I heartily agree that emacs’ org-mode is great.

    I miss it.

    The main reasons I gave up using it circa 8 years ago were

    A) I use my portable devices (iPhone, Apple Watch) a lot. Mostly for capture, but also for browsing. Last time I checked the only .org-mode qvailability on my phone (Android at the time) was MobileOrg (still #1 when I search the iOS App Store), which was distinctly unsatisfactory and unreliable. I briefly ran actual emacs on my Sndroid Damsung Galaxy Note 2 - very bad. (Annoyingly, I used to run emacs on an even earlier and smaller Linux phone from China - much better.)

    B) I am the antithesis of the .org-mode motto “your life in plain text”. The stuff that I capture is about 30% screen snipping of bitmapngraphics (of phone, but often on PC or web), 30% voice notes (converted unreliable to text - so I prefer to have the original voice playable to check, 30% text captured from HTML email or web (making losing formattbig when I paste into .org-mode annoying), and maybe 10% ordinary text. I rely on OCR to search then screen snips I capture.

    I mention that I gave up on .org-mode circa 8 years ago in the hope that you will tell me that things have gotten better.

    E.g. that somebody has worked the kinks out if using emacs/org-mode on text files embedded in a tar archive, so that images pasted stayed in the same file from the OS point of view. Having my GTD stuff in one file and images in separate files was unacceptable - too many times they got separated,

    E.g. that there is now OCR available on Linux, FLOSS, integrated with emacs and .org-mode

    E.g. that emacs is now available on some decent phone.
     
  10. GreenDog

    GreenDog Registered

    Joined:
    Jan 6, 2019
    Messages:
    23
    Likes Received:
    3
    Trophy Points:
    3
    Gender:
    Male
    You can ssh into a server that synchronizes org-mode files with your desktop. You may want to build a fanless ECC server for that. APU2D4 is a great option. https://pcengines.github.io/#mr-15 and https://3mdeb.com/firmware/enabling-ecc-on-pc-engines-platforms/ tell you how to enable ECC on APU2D4. A server has an advantage that it allows mobile devices to share one emacs setup.

    I prefer text. I'd just collect screenshots and voice recordings in my smartphone's file inbox and later convert them to texts in org-mode inbox. Formatting doesn't matter much to me because I can reformat anything to org-mode text. make a checklist that you check everyday to make sure nothing slips through cracks. You can also create links to image files in org-mode files.
     
  11. AFG

    AFG Registered

    Joined:
    Sep 12, 2018
    Messages:
    190
    Likes Received:
    12
    Trophy Points:
    18
    I just saw a survey of Open Source OCR. Most are DL/NNs based on things like TensorFlow. Printed text, not handwriting, but printed text is most of what I want. Plus, Open Source / DL / NN => hope of handwriting in future.

    This makes me reconsider org mode. But first I will have to fix the "image attachments get separated from org mode file" problem.
     
  12. Alex J Whitt

    Alex J Whitt Registered

    Joined:
    Aug 9, 2019
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    1
    Gender:
    Male
    I love it. This is exactly what I've been looking for. Thank you for seriously upgrading my emacs GTD workflow.
     
  13. Alex J Whitt

    Alex J Whitt Registered

    Joined:
    Aug 9, 2019
    Messages:
    2
    Likes Received:
    0
    Trophy Points:
    1
    Gender:
    Male
    But I wish elisp were as nice and sane as Clojure... I'm pretty useless with elisp. tried to refactor out the `(tags "@home+TODO=...` blocks to keep things DRY but I have no earthly idea how those symbols under `org-agenda-custom-commands` are evaluated. As it stands, there's a ton of redundant code in there and it's a bit hard to manage when adding or moving or reordering your contexts.

    Nonetheless, the system itself is perfect.
     
  14. edward

    edward Registered

    Joined:
    Aug 5, 2019
    Messages:
    1
    Likes Received:
    0
    Trophy Points:
    1
    Hi, I love your setup, but I'm having a bit of a problem implementing. Do you have a Github, readme, etc for setting this up for an existing org config? I'm not so familiar with elisp (it's in my someday list :p)
     
  15. GreenDog

    GreenDog Registered

    Joined:
    Jan 6, 2019
    Messages:
    23
    Likes Received:
    3
    Trophy Points:
    3
    Gender:
    Male
  16. GreenDog

    GreenDog Registered

    Joined:
    Jan 6, 2019
    Messages:
    23
    Likes Received:
    3
    Trophy Points:
    3
    Gender:
    Male
    @Alex J Whitt @edward I recommend that you learn `An Introduction to Programming in Emacs Lisp` before trying to adapt my code to your needs.
     
  17. John Forrister

    John Forrister Moderator Staff Member

    Joined:
    Feb 17, 2007
    Messages:
    1,823
    Likes Received:
    550
    Trophy Points:
    113
    Gender:
    Male
    Occupation:
    Utility player at David Allen Company
    Location:
    California
    Years ago I really enjoyed The Little LISPer, as an introduction to LISP and recursion. Thanks to you, I just started An Introduction to Programming in Emacs Lisp. I like the author's style.
     
    Ger80C likes this.
  18. Ger80C

    Ger80C Registered

    Joined:
    Mar 20, 2017
    Messages:
    75
    Likes Received:
    61
    Trophy Points:
    18
    Dear all,
    has onyone played arouind with https://org-web.org ?
    I stumbled upon this in a thread on reddit (of course). Maybe this is an alternative to mobile org, if people are not happy with it?
     
  19. GreenDog

    GreenDog Registered

    Joined:
    Jan 6, 2019
    Messages:
    23
    Likes Received:
    3
    Trophy Points:
    3
    Gender:
    Male
  20. biscuittoman

    biscuittoman Registered

    Joined:
    Tuesday
    Messages:
    3
    Likes Received:
    1
    Trophy Points:
    3
    Gender:
    Male
    3 months of GTD past, and 2 weeks into the org-mode learning.

    I have tried 20+ apps that does a bit of GTD, listened to all episodes of GTD podcast, purchased guides from here, read upon numerous threads for implementation etc. And my conclusion was that there is really no perfect app. Still, we are human beings and we strive for perfection. And a system like GTD tickles that side of us every now and then.

    org-mode is really great, but there are some disadvantages:

    - It requires a PC and a keyboard at the basic level, web and mobile use is limited. (For those who are master at emacs could probably do much more than that, and there is Orgzly for Android which I use but between PC and using Orgzly, I do prefer PC and that kind of defeats the purpose for capturing)
    - The learning curve is steep.

    After 2 weeks my left hand and the wrist is starting to hurt. I don't think I used it all that much - just learning stuff and setting up the system. That scared me a bit, not gonna lie. Then, I started to think: Am I missing something here? Why did I get into this GTD stuff? To be stress-free AND productive. I'm not sure org-mode or any software provide this. GTD IS really tool-agnostic. Complicating and overthinking stuff bring more headache. But I do support whoever does find use in tools, be it org-mode, todoist or paper-based.
     

Share This Page