Skip to content

Pace calculation for large childless tasks in Org

License

Notifications You must be signed in to change notification settings

bccomm/org-lect

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 

Repository files navigation

org-lect: Pace calculation for large childless tasks

lectionary /lekʃəneri/ n. (pl. lectionaries) a book or list of readings corresponding to a calendar

What is org-lect?

org-lect is an extension for Emacs Org mode. It calculates a reasonable pace needed to attain some user-defined numerical goal within a given timeframe.

It can be used for books, classes, hours of work, word count goals for writing, and so on. If you miss a day, it will recalculate the remaining days evenly. I’ve used it to motivate myself to complete online courses and make large reading goals more manageable (even when the material in question was fantastically dull). It won’t solve procrastination on its own, but it can make certain large tasks seem less daunting.

Some GTD practitioners might find this approach counter to David Allen’s philosophy, which I don’t deny, but I hope it is useful to them and anyone else regardless.

Example use case

Suppose you wanted to read War and Peace over the course of a month. A quick calculation shows that you’ll need to read about 40 pages every day to make consistent progress. How would you put this into Org?

  1. Put “Pages 1-40,” “Pages 41-80,” … “Pages 1200-1220” and so on all on separate subheadings, setting a DEADLINE or SCHEDULE entry for each one (too much busywork, inflexible)
  2. Set a daily repeating task or habit saying “Read 40 more pages” (boring, and still inflexible: what if you miss a day?)
  3. Forget dividing up the task at all, trusting that you’ll just be able to police yourself every day and know when you’re falling behind (good luck :))
  4. Not use Org at all (blasphemy)
  5. Use org-lect

Configuration

At minimum, the task should have a LECT_PAGES or LECT_UNITS property (it doesn’t matter which) and a DEADLINE.

The LECT_PAGES property consists of two numbers separated by a space. The first is the current unit or page, and the second is the total.

The LECT_EFFORT property allows effort to be scaled up or down for specific days of the week. It should consist of seven space-separated numbers, each denoting the relative effort assigned to a day of the week, beginning with Sunday. For example:

  • 0 1 1 1 1 1 0 puts equal effort on weekdays only
  • 1 1 2 3 0 1 0 puts equal effort on Sunday, Monday, and Friday, twice as much on Tuesday, three times as much on Wednesday, and none on Thursday or Saturday.

If this property is not set, every day between now and the deadline (inclusive) is given equal weight.

Usage

At the moment, the code provides the org-lect-update-today and org-agenda-lect-update-today functions, which will put the number of units needed for the current day into the PAGESTODAY property. This can then be displayed in a custom agenda file or in column mode if desired. I’m currently working on implementing a headline cookie, similar to what is used for checkboxes.

I typically bind both functions to C-\ (one in Org, the other in agenda mode). I have found it most helpful to make org-lect items habit items as well.

Status and bugs

The current version is simply a set of functions I have written while customizing Org for myself (though I did use it to complete a semester-long online class in under three weeks last year!). Improvement opportunities abound.

Reports, pull requests, patches, threats of bodily harm, etc. should all be done here on github.

License

This program is free software: you can redistribute it and/or modify it under the terms of version 3 of the GNU General Public License as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

About

Pace calculation for large childless tasks in Org

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages