From: Eric Abrahamsen <eric@ericabrahamsen.net>
To: emacs-orgmode@gnu.org
Subject: Re: Org-mode Habit with Varying Description
Date: Wed, 22 Oct 2014 00:29:45 +0800 [thread overview]
Message-ID: <87zjcpfksm.fsf@ericabrahamsen.net> (raw)
In-Reply-To: 87egu1zk8k.fsf@konixwork.incubateur.ens-lyon.fr
Samuel Loury <konubinix@gmail.com> writes:
> Hi,
> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>
>> I've been (very gradually) working on something I'm calling org-log, for
>> just this sort of situation -- a library that would possibly go
>> underneath org-habit and maybe even org-clock. It would look like:
>>
>> * Read <book>
>> :LOGBOOK:
>> - Note taken on [2014-10-20 Mon 10:33] \\
>> PAGES: 49
>> - Note taken on [2014-10-20 Mon 10:32] \\
>> PAGES: 150
>> :END:
>>
>> When adding notes (or state-change log notes) the user would be prompted
>> to record values for the key(s) already existing in the logbook (in this
>> case, PAGES). Multiple key-value pairs would be possible. Generic tables
>> could be created for a heading, with more specialized tables with
>> user-defined column formulas and all that.
>>
>> Add unit manipulation/calculation from the calc-units package, and I
>> think this could be a nice extension to Org.
>>
>> I originally started thinking of this while translating a novel. I had a
>> certain number of characters to translate, and a certain deadline. What
>> I wanted was a single heading where I logged my progress, and a
>> reporting facility that said "given today's date and how many characters
>> you've already done, you'll need to average XXX characters per day to
>> hit the deadline." I envisioned a gnuplot table that showed
>> actual-characters-per-day against the shifting
>> average-characters-per-day.
>
> That is a very interesting idea. Do you think we could see your actual
> work?
Actual work?! Perhaps I gave the wrong impression :)
All I've got now are a function that finds the logbook, and another that
parses the log items and normalizes them: extracts the TODO
states/timestamps/key-values and sets them as properties on the items
themselves. Then you've got a pretty good basis from which to do
reporting.
Hooking into note-taking and todo state-change logging to prompt for
values should be easy.
I don't know yet how to approach the reporting part, mostly because I
haven't sat down and thought about how this would be most useful. It
will also require reading org-clock and org-habit in detail -- clearly
reporting to a table like they do is the right way to go.
How to get the most out of the data? I was thinking of having
COLUMN_FORMULA and TABLE_FORMULA properties on the heading. When you
report from the heading, each key in the logbook data creates a table
column. Each column formula property creates another column, populated
by that formula (presumably calculated from the data columns). Then the
table formula gets slapped on to the bottom of it, and the whole thing
runs.
So if you had a heading like this:
* TODO Anneal galoshes
:LOGBOOK:
GALOSHES: 15; CLOCK: [2014-10-15 Wed 09:07]--[2014-10-15 Wed 17:10] => 8:03
GALOSHES: 13; CLOCK: [2014-10-14 Tue 08:50]--[2014-10-14 Tue 16:30] => 7:40
GALOSHES: 14; CLOCK: [2014-10-13 Mon 09:30]--[2014-10-13 Mon 17:06] => 7:36
:END:
You'd end up with a table with two data columns. Then you could have a
COLUMN_FORMULA property that created a third column, displaying galoshes
annealed per hour. And a TABLE_FORMULA property that did... something...
with all that information.
In a sense, it's a bit like column view, except using logbook data
rather than property values.
I'm just thinking out loud -- I'm probably not the right one to make
this as useful as it can be. But I don't see any reason why we shouldn't
do this!
Eric
next prev parent reply other threads:[~2014-10-21 16:25 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-10-20 14:33 Org-mode Habit with Varying Description Daya Atapattu
2014-10-20 14:52 ` Bastien
2014-10-20 15:46 ` Daya Atapattu
2014-10-20 16:02 ` Jorge A. Alfaro-Murillo
2014-10-20 17:37 ` Pete Ley
2014-10-21 0:34 ` Eric Abrahamsen
2014-10-21 12:21 ` Samuel Loury
2014-10-21 16:29 ` Eric Abrahamsen [this message]
2014-10-24 3:42 ` Pete Ley
2014-10-26 15:51 ` Eric Abrahamsen
2014-10-28 13:28 ` Nicolas Goaziou
2014-10-28 13:41 ` Eric Abrahamsen
2014-10-28 15:01 ` Eric Abrahamsen
2014-10-28 16:22 ` Nicolas Goaziou
2014-10-28 16:38 ` Eric Abrahamsen
2014-10-29 20:48 ` Nicolas Goaziou
2014-10-20 19:13 ` Melleus
2014-10-20 20:03 ` Brady Trainor
2014-10-21 15:37 ` Michael Brand
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://www.orgmode.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87zjcpfksm.fsf@ericabrahamsen.net \
--to=eric@ericabrahamsen.net \
--cc=emacs-orgmode@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).