1. 38

  2. 8

    Great article! I have one comment on this:

    When I am ready to move a task from In Progress to In Review, I close the subtree with tab and then highlight the collapsed subtree, cut it and paste it under the In Review header.

    I suspect you know this already, and the “cut and paste” comment is for the benefit of readers that are not familiar with Org mode, but if not it’s your lucky day! If you set (setq org-refile-use-outline-path 'file) you can hit C-c C-w (org-refile) to move a subtree to a different heading in any of your org-agenda-files, which is a bit more streamlined than cut-and-paste. You don’t even have to have the cursor on the heading!

    1. 3

      Today I learned! I’ll be sure to try this at work today. Thanks!

      1. 1

        Sweet, thanks for that. Is there a way to re-file a subtree into a non-root element in an org-file?

        1. 1

          Indeed! https://orgmode.org/org.html#Refile-and-Copy has the details. You can do M-x customize-group RET org-refile RET for all the configurable settings.

          1. 1

            Cool, thanks, much appreciated!

            1. 1

              Only disappointment so far is that I could not get the refile to a new file working yet. Would help refactoring my noteoliths into zettelservices

              1. 2

                I think for that to work you need to customise org-refile-targets and provide a function to prompt for/generate a filename. From the variable’s documentation:

                This is a list of cons cells. Each cell contains:

                • a specification of the files to be considered, either a list of files, or a symbol whose function or variable value will be used to retrieve a file name or a list of file names. […]
        2. 5

          I love emacs and org mode, use it every day for note taking and time tracking. I found the options for reviewing activities with agenda and clocktables and such not so great, though. I made https://github.com/rksm/clj-org-analyzer a while ago to address this. It’s sort of your own github tiles with the ability to drill in.

          1. 2

            I get a lot of value out of a simple text TODO file. I realise I could do more with org-mode, but simply having a text file (roughly speaking in markdown format) with the following sections gives me a lot of value:

            Y - drain slack -> todo
            Y - drain email -> todo
            Y - check signup numbers
            Y - accept meetings
            Y - plan day
            DONE - explain my TODO flow
            - deploy the thing
            - refactor the other thing
            - do
            - some
            - things
            - one
            - day
            Mon  7 Sep 12:00:13 BST 2020
            DONE - write a witty blog post
            Tue  8 Sep 12:00:13 BST 2020
            DONE - frob the thingy
            NO - learn rust

            When I do something, I get to type a big satisfying ‘DONE’ at the front. I sometimes add a WAIT if I’m blocked on something else, or a NO if I decide not to do something.

            Each day, I add a new datestamp to the bottom and move yesterday’s DONE stuff to the bottom.

            Then I remove my ‘Y’ markers from the previous begininning of day actions in the DAILY section and go through them.

            The ‘drain’ actions can take a long time - it effectively means inbox zero + slack zero (do the small things, moe the bigger things into TODO).

            Once that’s done, I read through the TODAY stuff left over from yesterday (if any), and look through the SOON for stuff to move into TODAY. Once a week or so, I look through LATER to pull stuff up into SOON or TODAY.

            The ways I use this:

            • if I say to someone “I will do X”, I write it into this file before I say that (commit to stable storage before ACK :-) )
            • I keep this file in dropbox, so I can edit from phone, laptop or desktop
            • the daily activities get me into the day, and keep my stress levels down by pulling stuff into TODO
            • each day I think about how much time I have (after accepting meetings) and try to make a realistic estimate of what I can get done

            I’m a lot happier since I tried this. org-mode is probably better (more features), but the main thing is to reduce barrier to entry.

            There is a lot of procrastination over choosing TODO tools. We are developers who edit text, so doing that should come naturally.

            1. 3

              All org is is a bunch of tooling around this very idea. The elaborateness is simply tailoring things to your use cases. You can choose to get as crazy into org as you want. My workflow is more close to yours but after a few years you pick up improvements. And things like org-roam, org-journal, etc… all enhance things. And being able to link a todo into a file at a point/line is super useful for when you’re browsing code and want to note “I think there is a bug here, but look at it later” things. And there is stuff like org-noter to help you annotate pdfs. But like I said, all optional.

              1. 2

                Yes - I guess the point I didn’t make is that you can do this without accepting emacs into your life. (Not that there is anything wrong with that).

                People get very hung up on tooling. My “aha” moment was that no matter which tool we use to edit text, we can use a flow like this.

            2. 2

              I’m so glad I don’t need to report time tracking in my job.

              1. 1

                So I use Org-mode daily, about to the depth of this article. But looking around the web, I see some users have elaborate Org workflows based on a hierarchy of Org files referencing each other.

                Am missing out?

                1. 7

                  If it works, it works.

                  1. 2

                    No idea, I tend to just use one giant org file of doom myself generally. Seems to work out fine.

                    1. 1

                      I think so. I think I’m only one or two steps away from you:

                      I use a main todo list per job in which I track minor notes, time and tickets as link to smaller literate org files per task/ticket. The ticket split arises after figuring that 10k lines cause big performance loss in the main todo list. Those can be easily exported and keep specific files/data generated nicely grouped together.

                      That said, I’ve just started with org-roam and I’ve created the following capture templates:

                      • ppl
                      • tech
                      • companies
                      • tickets
                      • default

                      I guess the beauty of this all is to grow it as you go and learn more

                      1. 1

                        I’ve found that org-mode will accommodate your needs no matter how complex/simple you want your setup to be, from a simple list to elaborate triggered structures over multiple files held together with custom elisp.

                        I keep things simple with a single file and various sub headers, coupled with org-agenda.

                        I wouldn’t say you’d be missing out, just that if you find you need some additional capability, org will likely accommodate you.

                        1. 1

                          Depends on your use case if multiple files are worth it. I use the following setup which isn’t as complicated as some I’ve seen:

                             work.org // contains global work meetings /processes / PA goals
                             personal.org // sparse on my work laptop, mostly used to keep track of personal agenda items that impact work
                             project1.org // Project specific meetings/notes/todos.  Most of my time is spent here.
                             project2.org  // Another project.

                          The nice thing is org-agenda will put the originating filename into the agenda view. It is easy to bill time to specific projects (important use case for me.) I do use an external calendar, but having standing meetings logged in org-mode saves me time when I need to log time against recurring meetings and whatnot.

                          The main linkage is the agenda and clock, which pulls from all of these to construct the daily agenda and my time spent on projects.

                        2. 1

                          Love to see more org users!

                          For moving “completed” items, I end up doing

                          C-c a ;; agenda
                          t  ;; match
                          2, r ;; match all 'Done' entries
                          Hit `m` a bunch of times to mark said entries
                          B, $ ;; bulk archive to my archive file at org-archive-location

                          I agree with finding cloud-based workflow to be lacking. The closest I’ve come to is using Git as a hack to sync my work and personal files across different devices, which works out good enough.

                          1. 2

                            The closest I’ve come to is using Git

                            Same here. I use Linux on computers but iOS on mobile devices, so sync options can’t include syncthing nor iCloud if I want both systems to share the same set. As I don’t like Dropbox&co and nor hacking up a WebDAV server, nor maintaining an owncloud instance, git is ok.

                            Mobile apps are not emacs anyway. They are better in some way (integrating with the system calendar for instance) but nothing like the real thing in most others (Babel, tables, …).

                            Org mode definitely works better if you abstain for mobile and “cloud”, it should be advertised as a great way to de-google :)

                          2. 1

                            As for the mobile apps I’ve been using Beorg and keep the journal in iCloud, this way I get seamless syncing with no configuration.

                            It works great for me, but I might be missing some features that I don’t need, I’m no emacs aficionado; org-mode is my sole use case and I use vi for everything else. I used to just keep a markdown file with checkboxes for the same purpose but good a good mobile app was what made me switch a couple of years back, and of course some built in handling of time stamps for various things.

                            1. 1

                              You might give emacs+evil a try, if you haven’t yet. I was in a similar boat to you (emacs for magit, and vim for everything else) and it turns out that evil is pretty rad (possibly the best vi-emulation layer in any non-vi I’ve tried), and the switch was relatively painless.