emacs-orgmode@gnu.org archives
 help / color / mirror / code / Atom feed
* Suggestions for progress tracking
@ 2012-11-07 14:00 Eric Abrahamsen
  2012-11-09  7:39 ` David Rogers
  2012-11-25 11:29 ` OT: Tracking progress of LaTeX/PDF output pages (was: Suggestions for progress tracking) Karl Voit
  0 siblings, 2 replies; 5+ messages in thread
From: Eric Abrahamsen @ 2012-11-07 14:00 UTC (permalink / raw)
  To: emacs-orgmode

I'm starting another novel translation, and want to keep track of
progress in org (I've blown too many deadlines in the past). I've been
looking at the habits functionality, but it doesn't quite match what I
want, and I'm looking for a little advice here. I'd like to:

1. Set myself a minimum of pages translated per day, on weekdays.
2. Record how many pages I do each day.
3. View some habit-style report of how I'm doing relative to my goal.
4. Project when I will be done with the novel at the current rate of
progress.

Obviously I'll be writing some custom elisp to get all of this
functionality, but I'm looking for some advice on the best way to build
the basics. Habits are currently based on either/or values: "done" or
"not done", which doesn't incorporate enough detail. Properties seem
like the best way to keep track of number of pages translated per day,
but that means having a separate TODO heading for each day of work.
State logging could do it, but there are no pre-fab ways of extracting
data out of the log itself.

It seems like there are so many good tools here: the history reporting
of habits, or the progress cookies you can put in headlines, etc. But
they're all tied to headlines or list items being in an on or off state:
TODO/DONE, checked/unchecked.

Anyway, if anyone has any bright ideas, please let me know!

Thanks,
Eric

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Suggestions for progress tracking
  2012-11-07 14:00 Suggestions for progress tracking Eric Abrahamsen
@ 2012-11-09  7:39 ` David Rogers
  2012-11-11  3:48   ` Eric Abrahamsen
  2012-11-25 11:29 ` OT: Tracking progress of LaTeX/PDF output pages (was: Suggestions for progress tracking) Karl Voit
  1 sibling, 1 reply; 5+ messages in thread
From: David Rogers @ 2012-11-09  7:39 UTC (permalink / raw)
  To: Eric Abrahamsen; +Cc: emacs-orgmode

Eric Abrahamsen <eric@ericabrahamsen.net> writes:

> I'm starting another novel translation, and want to keep track of
> progress in org (I've blown too many deadlines in the past). I've been
> looking at the habits functionality, but it doesn't quite match what I
> want, and I'm looking for a little advice here. I'd like to:
>
> 1. Set myself a minimum of pages translated per day, on weekdays.
> 2. Record how many pages I do each day.
> 3. View some habit-style report of how I'm doing relative to my goal.
> 4. Project when I will be done with the novel at the current rate of
> progress.
>
> Obviously I'll be writing some custom elisp to get all of this
> functionality, but I'm looking for some advice on the best way to build
> the basics. Habits are currently based on either/or values: "done" or
> "not done", which doesn't incorporate enough detail. Properties seem
> like the best way to keep track of number of pages translated per day,
> but that means having a separate TODO heading for each day of work.
> State logging could do it, but there are no pre-fab ways of extracting
> data out of the log itself.
>
> It seems like there are so many good tools here: the history reporting
> of habits, or the progress cookies you can put in headlines, etc. But
> they're all tied to headlines or list items being in an on or off state:
> TODO/DONE, checked/unchecked.

I think the key for making this work with Org is choosing a unit of work
(ten pages, a hundred pages, one page, one chapter, whatever) as your
standard, thus allowing you to use the on/off nature of the list items
to your advantage. Org also gives flexibility about the time-frames
you're working within, so use that too if necessary.

In my life, at least, habits really are "did I do it or not", not "how
much did I do" - so Org's interpretation of the concept seems reasonable
to me.

Basically, for a rough example, every ten pages might become one TODO
sub-task, waiting to get checked off, under the heading of this
novel. If you set yourself a standard that was too pessimistic or too
optimistic, you'd have to change the TODOs later, either by changing
your chunk sizes or by changing your time frames. (e.g. if a hundred
pages a day turns out to be far too much, you have the option of
adjusting the number of pages, the number of days, or both.)

Maybe your original method, tallying pages per day after the fact, could
be used for the first few days, to arrive at some reasonable numbers to
plug into the habits.

-- 
David

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Suggestions for progress tracking
  2012-11-09  7:39 ` David Rogers
@ 2012-11-11  3:48   ` Eric Abrahamsen
  2012-11-11 10:56     ` Ian Barton
  0 siblings, 1 reply; 5+ messages in thread
From: Eric Abrahamsen @ 2012-11-11  3:48 UTC (permalink / raw)
  To: emacs-orgmode

David Rogers <davidandrewrogers@gmail.com> writes:

> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>
>> I'm starting another novel translation, and want to keep track of
>> progress in org (I've blown too many deadlines in the past). I've been
>> looking at the habits functionality, but it doesn't quite match what I
>> want, and I'm looking for a little advice here. I'd like to:
>>
>> 1. Set myself a minimum of pages translated per day, on weekdays.
>> 2. Record how many pages I do each day.
>> 3. View some habit-style report of how I'm doing relative to my goal.
>> 4. Project when I will be done with the novel at the current rate of
>> progress.
>>
>> Obviously I'll be writing some custom elisp to get all of this
>> functionality, but I'm looking for some advice on the best way to build
>> the basics. Habits are currently based on either/or values: "done" or
>> "not done", which doesn't incorporate enough detail. Properties seem
>> like the best way to keep track of number of pages translated per day,
>> but that means having a separate TODO heading for each day of work.
>> State logging could do it, but there are no pre-fab ways of extracting
>> data out of the log itself.
>>
>> It seems like there are so many good tools here: the history reporting
>> of habits, or the progress cookies you can put in headlines, etc. But
>> they're all tied to headlines or list items being in an on or off state:
>> TODO/DONE, checked/unchecked.
>
> I think the key for making this work with Org is choosing a unit of work
> (ten pages, a hundred pages, one page, one chapter, whatever) as your
> standard, thus allowing you to use the on/off nature of the list items
> to your advantage. Org also gives flexibility about the time-frames
> you're working within, so use that too if necessary.

[...]

> Maybe your original method, tallying pages per day after the fact, could
> be used for the first few days, to arrive at some reasonable numbers to
> plug into the habits.

I guess you're right I'll eventually need to set a daily target. But
it's going to make a very big difference to me to know by _how much_ I
was under or over. At any rate, I've started logging, with a capture
template that gives me something like this:

--8<---------------cut here---------------start------------->8---
* Santi Schedule
DEADLINE: <2013-06-01 Sat>
:PROPERTIES:
:PAGES:    502
:ID:       908fc17c-c620-4212-98eb-2e028f08dce3
:END:
** <2012-11-07 Wed>                                                    :log:
:PROPERTIES:
:PAGES:    9
:END:
** <2012-11-08 Thu>                                                    :log:
:PROPERTIES:
:PAGES:    3
:END:
--8<---------------cut here---------------end--------------->8---

Something tells me I'll eventually make these into TODOs, but maybe I'll
also try to jury-rig an Agenda timeline view that will give me a sense
of my varying progress over time. Below is my first stab at a function
to read and use this data. Anyhow, thanks for the food for thought!

Eric


--8<---------------cut here---------------start------------->8---
(defun my-translation-schedule ()
  (interactive)
  (require 'org)
  (save-excursion
    (org-id-goto "908fc17c-c620-4212-98eb-2e028f08dce3")
    (let ((deadline (org-entry-get nil "DEADLINE"))
	  (page-total (string-to-number (org-entry-get nil "PAGES")))
	  (completed 0))
      (org-map-entries
       (lambda ()
	 (setq completed
	       (+ (string-to-number (org-entry-get nil "PAGES")) completed)))
       "+log"
       'file)
      (let* ((remaining-days (- (org-time-string-to-absolute deadline)
				(org-today)))
	     (remaining-pages (float (- page-total completed)))
	     (pages-per-day (fceiling (/ remaining-pages remaining-days))))
	  (message "%d pages left to go, you'll need to do %d pages per day to finish by %s"
          remaining-pages pages-per-day deadline)))))
--8<---------------cut here---------------end--------------->8---

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: Suggestions for progress tracking
  2012-11-11  3:48   ` Eric Abrahamsen
@ 2012-11-11 10:56     ` Ian Barton
  0 siblings, 0 replies; 5+ messages in thread
From: Ian Barton @ 2012-11-11 10:56 UTC (permalink / raw)
  To: emacs-orgmode

On 11/11/12 03:48, Eric Abrahamsen wrote:
> David Rogers <davidandrewrogers@gmail.com> writes:
>
>> Eric Abrahamsen <eric@ericabrahamsen.net> writes:
>>
>>> I'm starting another novel translation, and want to keep track of
>>> progress in org (I've blown too many deadlines in the past). I've been
>>> looking at the habits functionality, but it doesn't quite match what I
>>> want, and I'm looking for a little advice here. I'd like to:
>>>
>>> 1. Set myself a minimum of pages translated per day, on weekdays.
>>> 2. Record how many pages I do each day.
>>> 3. View some habit-style report of how I'm doing relative to my goal.
>>> 4. Project when I will be done with the novel at the current rate of
>>> progress.
>>>

I am assuming that the novel is available in plain text. Why not turn it 
into an org file. Divide it up into units, with each unit being a day's 
worth of translation. Make each unit a separate TODO with either a 
SCHEDULED or DEADLINE. The you can use the Agenda to see how far in 
front, or behind, you are.

Ian.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* OT: Tracking progress of LaTeX/PDF output pages (was: Suggestions for progress tracking)
  2012-11-07 14:00 Suggestions for progress tracking Eric Abrahamsen
  2012-11-09  7:39 ` David Rogers
@ 2012-11-25 11:29 ` Karl Voit
  1 sibling, 0 replies; 5+ messages in thread
From: Karl Voit @ 2012-11-25 11:29 UTC (permalink / raw)
  To: emacs-orgmode

Hi!

* Eric Abrahamsen <eric@ericabrahamsen.net> wrote:
> I'm starting another novel translation, and want to keep track of
> progress in org (I've blown too many deadlines in the past).

This is a bit OT here, but I wanted to share how I kept track of the
progress of my LaTeX PhD in number of pages.

https://github.com/novoid/vklatex-page-stats-from-git.sh

Basically it checks out every git commit, compiles the PDF document,
and logs the number of pages of the resulting PDF. This log-file can
be parsed using «grep» and then you can derive histograms and such.

It has nothing to do with Org-mode but probably someone finds it
useful as well.

-- 
Karl Voit

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-11-25 11:29 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-11-07 14:00 Suggestions for progress tracking Eric Abrahamsen
2012-11-09  7:39 ` David Rogers
2012-11-11  3:48   ` Eric Abrahamsen
2012-11-11 10:56     ` Ian Barton
2012-11-25 11:29 ` OT: Tracking progress of LaTeX/PDF output pages (was: Suggestions for progress tracking) Karl Voit

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).