0:00:01.680,0:00:07.120
hello and welcome
0:00:03.439,0:00:07.120
to my org gt
0:00:07.200,0:00:12.719
I wrote this package because myself
0:00:10.400,0:00:14.320
overwhelmed with all the stuff I had to
0:00:12.719,0:00:17.359
manage at working at home
0:00:14.320,0:00:18.720
and I'd heard about gtd saw someone
0:00:17.359,0:00:22.320
using it with
0:00:18.720,0:00:24.720
just a small notebook
0:00:22.320,0:00:25.920
and I wanted to do it in emacs because
0:00:24.720,0:00:29.199
well
0:00:25.920,0:00:31.359
max can do everything right so
0:00:29.199,0:00:34.559
I'm going to jump in quickly so just so
0:00:31.359,0:00:36.960
you know here's kind of a list of the
0:00:34.559,0:00:38.719
resources obviously org gtd which you
0:00:36.960,0:00:41.120
can find there you can open an issue ask
0:00:38.719,0:00:43.280
me questions there about it
0:00:41.120,0:00:45.360
I use org edna a package for state
0:00:43.280,0:00:46.160
triggers I'm going to show this briefly
0:00:45.360,0:00:49.840
when I
0:00:46.160,0:00:52.000
finish item in a project
0:00:49.840,0:00:53.440
org agenda property you will see in the
0:00:52.000,0:00:57.360
agenda it's going to show
0:00:53.440,0:01:00.960
to whom an action has been delegated to
0:00:57.360,0:01:02.559
and you will see orgrome briefly as a
0:01:00.960,0:01:04.080
reference because that is what I have
0:01:02.559,0:01:06.960
chosen for
0:01:04.080,0:01:07.360
my knowledge archival tool you can
0:01:06.960,0:01:12.640
choose
0:01:07.360,0:01:15.520
whatever you prefer
0:01:12.640,0:01:15.840
um this is a quick quick reminder on
0:01:15.520,0:01:18.479
what
0:01:15.840,0:01:19.680
gtd is and how it works uh this is not a
0:01:18.479,0:01:22.640
lesson on
0:01:19.680,0:01:23.360
presentation on gtd because that would
0:01:22.640,0:01:25.680
be
0:01:23.360,0:01:27.920
well other people have done it better
0:01:25.680,0:01:30.320
than me
0:01:27.920,0:01:31.280
so in short um everything goes into the
0:01:30.320,0:01:34.320
inbox
0:01:31.280,0:01:35.600
and then you process the inbox and you
0:01:34.320,0:01:37.200
decide what to do if
0:01:35.600,0:01:39.119
it could be actionable or not if it's
0:01:37.200,0:01:40.799
actionable it could be a project
0:01:39.119,0:01:42.159
or it could be a single action which you
0:01:40.799,0:01:45.759
could delegate
0:01:42.159,0:01:48.079
or soon or schedule or just do
0:01:45.759,0:01:49.680
do it if it's not actionable you could
0:01:48.079,0:01:51.759
just throw it away
0:01:49.680,0:01:53.600
incubate it for later or move it into
0:01:51.759,0:01:56.079
your files
0:01:53.600,0:01:56.079
reference
0:01:57.520,0:02:00.240
over here
0:02:01.920,0:02:08.959
you can see the global bindings
0:02:05.119,0:02:11.599
or or gtd those are the the actions that
0:02:08.959,0:02:12.319
the functions I have made available this
0:02:11.599,0:02:14.000
is
0:02:12.319,0:02:15.760
in progress there's more to come some
0:02:14.000,0:02:17.360
stuff is probably missing but
0:02:15.760,0:02:22.400
it's grown mostly from my own personal
0:02:17.360,0:02:25.520
use so far so it doesn't have things
0:02:22.400,0:02:27.200
and the bottom right you can see the
0:02:25.520,0:02:28.560
agenda
0:02:27.200,0:02:31.599
one thing I wanted to do with this
0:02:28.560,0:02:32.959
package was leverage org mode as much as
0:02:31.599,0:02:36.319
possible
0:02:32.959,0:02:40.160
so I tried to not reinvent
0:02:36.319,0:02:43.599
the wheel as much as I could that meant
0:02:40.160,0:02:45.599
reusing the agenda you can see here
0:02:43.599,0:02:47.920
a couple of the things that are made
0:02:45.599,0:02:49.760
available or kind of
0:02:47.920,0:02:54.160
custom customized or configure it for
0:02:49.760,0:02:54.160
you some of the opinions that or gtd has
0:02:54.319,0:02:57.840
up here for instance you can see a
0:02:56.400,0:03:01.040
delegated action
0:02:57.840,0:03:03.200
so a delegated action is
0:03:01.040,0:03:04.720
as someone to whom it's delegated it's
0:03:03.200,0:03:06.080
my parents in this case
0:03:04.720,0:03:08.239
it has the name of the action ask
0:03:06.080,0:03:11.599
parents what gift they want
0:03:08.239,0:03:14.800
it's marked as the tag as the state
0:03:11.599,0:03:17.280
of wait because I'm waiting
0:03:14.800,0:03:18.080
and it is scheduled because you should
0:03:17.280,0:03:20.239
ping people
0:03:18.080,0:03:21.840
or check on the status status of a task
0:03:20.239,0:03:25.680
when you're waiting for it so you don't
0:03:21.840,0:03:27.599
forget about it or it gets lost forever
0:03:25.680,0:03:30.560
I have a scheduled action to give a talk
0:03:27.599,0:03:33.440
that's what I'm doing right now
0:03:30.560,0:03:35.599
and I have an incubated action which is
0:03:33.440,0:03:36.640
also scheduled to make money through the
0:03:35.599,0:03:38.640
lottery this is a
0:03:36.640,0:03:41.120
thing to take a look at for you know
0:03:38.640,0:03:42.560
later decide later what I want to do
0:03:41.120,0:03:44.560
it might be actionable it might not be I
0:03:42.560,0:03:46.239
just I don't know right now or I didn't
0:03:44.560,0:03:49.280
know when I
0:03:46.239,0:03:52.319
processed it so I incubated it
0:03:49.280,0:03:53.200
underneath we have all the things that
0:03:52.319,0:03:56.799
are
0:03:53.200,0:03:56.799
direct actions for me to take
0:03:59.360,0:04:03.200
all right you see a little bit of the
0:04:01.439,0:04:04.080
preparation seeps through the actual
0:04:03.200,0:04:05.519
talk
0:04:04.080,0:04:07.920
so I have here two I have a single
0:04:05.519,0:04:09.840
action of a steal the android uh andreas
0:04:07.920,0:04:12.879
gtd configuration
0:04:09.840,0:04:15.840
and an action to read the gtd book it's
0:04:12.879,0:04:15.840
part of a project
0:04:16.320,0:04:23.840
so most of the day-to-day operation with
0:04:21.680,0:04:26.000
with this package should come through
0:04:23.840,0:04:29.600
just having the agenda open
0:04:26.000,0:04:31.199
and having having it be your your source
0:04:29.600,0:04:31.919
for the information you need to know so
0:04:31.199,0:04:34.960
that you can
0:04:31.919,0:04:35.440
do the right thing so let's take a look
0:04:34.960,0:04:37.440
at
0:04:35.440,0:04:39.600
what's underneath all of this really
0:04:37.440,0:04:42.320
quickly
0:04:39.600,0:04:43.360
we have there's three primary files um
0:04:42.320,0:04:45.759
we have the inbox
0:04:43.360,0:04:46.400
I'm gonna process it in a second because
0:04:45.759,0:04:48.880
there's
0:04:46.400,0:04:50.000
two things here one thing to cancel like
0:04:48.880,0:04:51.919
an action to
0:04:50.000,0:04:53.919
not take it's nothing and then something
0:04:51.919,0:04:54.479
I will just put into org roam just so
0:04:53.919,0:04:58.960
you can
0:04:54.479,0:05:00.240
see that there is the incubate file
0:04:58.960,0:05:02.000
you can see here make money through the
0:05:00.240,0:05:04.800
lottery
0:05:02.000,0:05:06.560
captured refiled here and scheduled to
0:05:04.800,0:05:10.000
so it would show up in the agenda
0:05:06.560,0:05:13.039
right at a given time and on the right
0:05:10.000,0:05:14.560
you have the actionable file and this is
0:05:13.039,0:05:15.919
the one that has the most information
0:05:14.560,0:05:18.960
because
0:05:15.919,0:05:20.560
where most things should go so
0:05:18.960,0:05:22.720
I have the single actions they all go
0:05:20.560,0:05:24.479
underneath here and so
0:05:22.720,0:05:26.240
this is marked as next because it's an
0:05:24.479,0:05:28.240
action for me to take
0:05:26.240,0:05:29.600
uh delegated is marked as weight it is
0:05:28.240,0:05:31.199
not an action for me to take it's an
0:05:29.600,0:05:32.400
action for somebody else to take but it
0:05:31.199,0:05:37.919
is scheduled because
0:05:32.400,0:05:38.400
I may wanna I can check in at some point
0:05:37.919,0:05:39.759
uh
0:05:38.400,0:05:43.120
things that are scheduled like give a
0:05:39.759,0:05:44.960
talk do not have a to-do or next or wait
0:05:43.120,0:05:46.400
state because they are not bound that
0:05:44.960,0:05:48.080
way they are time-bound
0:05:46.400,0:05:50.320
so they will show up in the agenda when
0:05:48.080,0:05:53.840
the time comes I shouldn't act on them
0:05:50.320,0:05:55.280
or I can't act on them beforehand
0:05:53.840,0:05:56.880
you can see here I have two projects a
0:05:55.280,0:05:58.880
test project and I will
0:05:56.880,0:06:00.080
do something with this in a second and
0:05:58.880,0:06:01.919
then there's this
0:06:00.080,0:06:04.000
package make a gte package there's a
0:06:01.919,0:06:07.520
project here for me to create this back
0:06:04.000,0:06:09.759
it's made a bunch of actions and
0:06:07.520,0:06:11.440
I'm going to show you two things here
0:06:09.759,0:06:14.639
one is
0:06:11.440,0:06:16.400
since I was trying to leverage org mode
0:06:14.639,0:06:20.479
as much as possible
0:06:16.400,0:06:24.080
I didn't try to create very clever
0:06:20.479,0:06:27.199
operations because org mode has a lot of
0:06:24.080,0:06:29.600
very powerful tools already
0:06:27.199,0:06:31.039
so there's automations I could I can add
0:06:29.600,0:06:34.240
but I thought it might be
0:06:31.039,0:06:35.680
better to leave more things into the
0:06:34.240,0:06:38.000
hands of the user
0:06:35.680,0:06:39.199
so here in this case this test project
0:06:38.000,0:06:42.479
we can just archive
0:06:39.199,0:06:45.680
right that's just
0:06:42.479,0:06:46.840
control c control x control a is the org
0:06:45.680,0:06:51.440
archive
0:06:46.840,0:06:51.440
action save this
0:06:52.000,0:06:56.160
so now if I if we go to the you know
0:06:54.479,0:06:59.440
this will create an archive file
0:06:56.160,0:07:00.560
which will have this this information
0:06:59.440,0:07:03.840
for later perusal
0:07:00.560,0:07:05.360
brutal if you're interested that's
0:07:03.840,0:07:07.199
that's one thing if we go back to the
0:07:05.360,0:07:10.479
agenda for a second
0:07:07.199,0:07:14.080
um you can see
0:07:10.479,0:07:16.479
these things here uh org so by the way
0:07:14.080,0:07:19.120
uh this this parents here with the org
0:07:16.479,0:07:22.319
agenda property this is what shows here
0:07:19.120,0:07:23.680
right and here if I finish read the gtd
0:07:22.319,0:07:27.680
book
0:07:23.680,0:07:31.919
I mark it as done now refresh
0:07:27.680,0:07:34.720
you'll see that another item shows up
0:07:31.919,0:07:37.280
and that is where org edna comes in when
0:07:34.720,0:07:39.759
an action is marked as done in a project
0:07:37.280,0:07:41.360
the net the next to do action is
0:07:39.759,0:07:43.759
automatically marked as next so your
0:07:41.360,0:07:46.400
agenda is automatically updated
0:07:43.759,0:07:48.400
this was one of the nice things for me
0:07:46.400,0:07:50.400
because I didn't want to have to
0:07:48.400,0:07:51.919
open my file go find the action mark it
0:07:50.400,0:07:53.440
as done find the next one mark it as
0:07:51.919,0:07:57.280
next and so forth
0:07:53.440,0:07:58.960
so I didn't want to bother with it
0:07:57.280,0:08:00.960
um oh actually you know what let me show
0:07:58.960,0:08:04.080
you something else
0:08:00.960,0:08:07.120
this uh simple
0:08:04.080,0:08:07.840
project I don't need this timestamp to
0:08:07.120,0:08:09.680
be here but
0:08:07.840,0:08:13.039
I like having a capture timestamp here
0:08:09.680,0:08:15.919
so I'm gonna make one up
0:08:13.039,0:08:16.879
so this is the most convenient thing
0:08:15.919,0:08:17.919
that I think
0:08:16.879,0:08:20.720
this is one of the most convenient
0:08:17.919,0:08:22.960
things that I get out of is binding
0:08:20.720,0:08:24.400
the next really convenient thing is the
0:08:22.960,0:08:27.440
way this gets processed
0:08:24.400,0:08:30.080
let me show you this um
0:08:27.440,0:08:31.440
when you process the the entire inbox
0:08:30.080,0:08:33.440
what you see is
0:08:31.440,0:08:34.560
the items one at a time so you can work
0:08:33.440,0:08:36.320
with them
0:08:34.560,0:08:38.320
you can see at the bottom where you can
0:08:36.320,0:08:40.320
work with them without being distracted
0:08:38.320,0:08:42.399
you can see at the bottom the the list
0:08:40.320,0:08:45.120
of things you can do which are all the
0:08:42.399,0:08:45.760
decisions you can take from gtd right in
0:08:45.120,0:08:48.959
this case
0:08:45.760,0:08:50.959
this is one to throw out so press t you
0:08:48.959,0:08:52.320
have the option to make modifications to
0:08:50.959,0:08:55.200
this if you want to
0:08:52.320,0:08:56.240
if you have any reason to store it then
0:08:55.200,0:08:58.160
you finish editing
0:08:56.240,0:09:00.080
you can add a tag if you want to because
0:08:58.160,0:09:02.720
this might still be interesting
0:09:00.080,0:09:03.920
and then enter and it's done so
0:09:02.720,0:09:06.959
important knowledge
0:09:03.920,0:09:10.880
I'm going to hit a for archive it
0:09:06.959,0:09:12.160
and then um I'm gonna start looking at
0:09:10.880,0:09:17.839
orgrom
0:09:12.160,0:09:17.839
so this is uh important knowledge
0:09:20.800,0:09:24.640
I have to get to this that's it I've
0:09:23.519,0:09:27.920
captured it
0:09:24.640,0:09:30.959
uh it is done I uh
0:09:27.920,0:09:34.080
go back to buffer
0:09:30.959,0:09:35.360
and I can market control c then
0:09:34.080,0:09:37.279
there's no archiving because this is
0:09:35.360,0:09:38.800
just knowledge there's no
0:09:37.279,0:09:40.320
tagging it's just knowledge but then the
0:09:38.800,0:09:41.040
simple project I want to show you this
0:09:40.320,0:09:42.800
because
0:09:41.040,0:09:44.640
there's some automation that's pretty
0:09:42.800,0:09:48.839
helpful so
0:09:44.640,0:09:50.000
in the simple project I have my first
0:09:48.839,0:09:53.920
action
0:09:50.000,0:09:55.360
second action third action
0:09:53.920,0:09:56.720
and you see this is all I'm writing I'm
0:09:55.360,0:10:00.000
not adding any of the states any of the
0:09:56.720,0:10:00.000
tags they're going to be added by
0:10:00.399,0:10:05.839
so um here I can add a
0:10:04.320,0:10:07.360
I can add a tag if I want to this
0:10:05.839,0:10:09.920
project I don't care
0:10:07.360,0:10:11.279
right now but you know I leave the tags
0:10:09.920,0:10:11.920
to the user so they're not super
0:10:11.279,0:10:15.440
relevant
0:10:11.920,0:10:19.279
to me as a package
0:10:15.440,0:10:19.600
provider and this is where we are this
0:10:19.279,0:10:21.200
is
0:10:19.600,0:10:23.519
the whole thing so now if we go back to
0:10:21.200,0:10:27.600
the agenda
0:10:23.519,0:10:30.720
I have a first action right and
0:10:27.600,0:10:32.959
if I go to the actionable file and now
0:10:30.720,0:10:34.079
see I have a simple project that has my
0:10:32.959,0:10:36.880
first action as next
0:10:34.079,0:10:38.079
second option to do third action as to
0:10:36.880,0:10:41.360
do
0:10:38.079,0:10:42.880
uh so what I've you know
0:10:41.360,0:10:47.200
as you can see I hope what I've tried to
0:10:42.880,0:10:50.880
do is take all of the kind of
0:10:47.200,0:10:52.560
all the tedium out of working with
0:10:50.880,0:10:54.880
with emacs and org mode when working
0:10:52.560,0:10:57.200
with your actions so you could focus on
0:10:54.880,0:10:58.640
what you want to do what you need to do
0:10:57.200,0:10:59.279
what you care about and the package
0:10:58.640,0:11:04.079
would
0:10:59.279,0:11:04.079
take care of the rest so
0:11:04.880,0:11:08.000
the last thing I wanted to take a quick
0:11:06.240,0:11:08.640
look at was some of the the tests
0:11:08.000,0:11:11.120
there's
0:11:08.640,0:11:13.440
the code is available here but you can
0:11:11.120,0:11:14.800
see the code
0:11:13.440,0:11:16.880
you on see the code on github if you
0:11:14.800,0:11:18.720
want um
0:11:16.880,0:11:20.320
I've had some trouble writing good tests
0:11:18.720,0:11:22.000
for this because org mode was written at
0:11:20.320,0:11:26.000
a time before
0:11:22.000,0:11:29.200
testing was quite as important
0:11:26.000,0:11:31.440
I think or valued quite the same way
0:11:29.200,0:11:34.320
let's put it this way
0:11:31.440,0:11:34.959
and as a result a number of things
0:11:34.320,0:11:37.200
actually
0:11:34.959,0:11:38.240
it might also be a feature of emacs at
0:11:37.200,0:11:40.560
the time I don't know
0:11:38.240,0:11:42.480
but a lot of things in order mode aren't
0:11:40.560,0:11:45.519
very testable and so
0:11:42.480,0:11:49.440
what I ended up doing was just having an
0:11:45.519,0:11:53.360
actual directory in which I
0:11:49.440,0:11:55.279
actually um with files
0:11:53.360,0:11:57.120
right so like I don't have much mocking
0:11:55.279,0:11:58.639
I can do I can't just do a bunch of fake
0:11:57.120,0:12:01.200
files fake directories
0:11:58.639,0:12:03.360
so I actually go through the process
0:12:01.200,0:12:05.040
actually create files and then actually
0:12:03.360,0:12:08.839
have emacs pointing at this
0:12:05.040,0:12:10.240
directory to process and get the
0:12:08.839,0:12:12.240
information
0:12:10.240,0:12:13.920
so I have to define the key to test that
0:12:12.240,0:12:18.160
gets bounded properly
0:12:13.920,0:12:19.839
I have to set the capture templates um
0:12:18.160,0:12:21.839
other capture templates are how you know
0:12:19.839,0:12:25.600
things get added I have a wrapper
0:12:21.839,0:12:27.279
control uh or gtd capture essentially is
0:12:25.600,0:12:29.920
a wrapper around the capture that
0:12:27.279,0:12:32.000
makes sure the inbox is there and then
0:12:29.920,0:12:35.920
captures to the inbox
0:12:32.000,0:12:35.920
right and
0:12:36.240,0:12:41.519
making sure the items show in the agenda
0:12:39.360,0:12:42.639
when I'm done with the with processing
0:12:41.519,0:12:45.519
was a little bit
0:12:42.639,0:12:46.800
tricky I had a bug and I had to to fix
0:12:45.519,0:12:49.600
it so I just wrote this
0:12:46.800,0:12:50.480
this test but it's uh it's pretty
0:12:49.600,0:12:51.839
convenient
0:12:50.480,0:12:54.000
now to have that because it gives me a
0:12:51.839,0:12:55.040
bunch of sanity so again I have a
0:12:54.000,0:12:56.000
capture and this is
0:12:55.040,0:12:58.480
I wanted to be able to do this
0:12:56.000,0:12:59.680
automatically but ojtd but or capture
0:12:58.480,0:13:02.079
itself
0:12:59.680,0:13:03.200
is not super testable right now so the
0:13:02.079,0:13:04.480
way it's
0:13:03.200,0:13:07.519
the way you test it is just by
0:13:04.480,0:13:09.279
programmatically calling it which
0:13:07.519,0:13:10.639
is not exactly what I wanted because I
0:13:09.279,0:13:13.200
wanted something more like
0:13:10.639,0:13:15.519
the user action but I'll you know what I
0:13:13.200,0:13:17.040
can get
0:13:15.519,0:13:19.360
and then I can I'll just insert these
0:13:17.040,0:13:21.760
words into the buffer and then
0:13:19.360,0:13:23.519
I'll finalize the capture then I have
0:13:21.760,0:13:26.160
another I have a test package here
0:13:23.519,0:13:29.920
called with simulated input which
0:13:26.160,0:13:33.040
um basically calls this and then enters
0:13:29.920,0:13:34.800
these uh these user actions right so
0:13:33.040,0:13:39.040
like the letter s
0:13:34.800,0:13:41.360
control c c and then return and that is
0:13:39.040,0:13:42.480
uh you know choosing a single action
0:13:41.360,0:13:45.360
then finishing the edit
0:13:42.480,0:13:46.480
and then adding zero and not adding tags
0:13:45.360,0:13:48.639
you
0:13:46.480,0:13:50.320
as you can tell there's a strong layer
0:13:48.639,0:13:53.760
of disconnect between the tests
0:13:50.320,0:13:56.160
and what they represent that's a work in
0:13:53.760,0:13:56.160
progress
0:13:56.560,0:14:02.320
um so I have like four tests
0:13:59.680,0:14:03.680
it's not a lot but I want to I intend to
0:14:02.320,0:14:05.040
add more as I keep on adding more
0:14:03.680,0:14:09.519
behavior
0:14:05.040,0:14:13.680
and I would like this to be eventually
0:14:09.519,0:14:13.680
a sane starting point for gt
0:14:14.320,0:14:18.720
there's there's a lot of people like
0:14:16.079,0:14:20.959
like andre I like reiner like
0:14:18.720,0:14:22.160
I mean if you search for org mode and
0:14:20.959,0:14:25.279
gtd you'll find
0:14:22.160,0:14:27.600
a lot of blog entries a lot of
0:14:25.279,0:14:29.360
entries a lot of articles that explain
0:14:27.600,0:14:31.199
how to connect it together how to think
0:14:29.360,0:14:34.320
that way how to use all the tools that
0:14:31.199,0:14:34.320
orgmod makes available
0:14:34.880,0:14:40.320
and hopefully this package is a way to
0:14:38.399,0:14:41.040
get started without having to write too
0:14:40.320,0:14:45.839
much
0:14:41.040,0:14:45.839
of your own code um
0:14:45.920,0:14:48.720
then eventually you can move away from
0:14:47.279,0:14:50.000
the package if you want if you realize
0:14:48.720,0:14:52.000
that you are developing different
0:14:50.000,0:14:54.160
opinions and you don't want to
0:14:52.000,0:14:55.519
if gtd doesn't work this way for you if
0:14:54.160,0:14:57.839
you have a different way
0:14:55.519,0:14:59.279
it is a better fit for the way you want
0:14:57.839,0:15:02.720
to organize your life
0:14:59.279,0:15:05.920
then you know move away from the package
0:15:02.720,0:15:07.839
in the meanwhile I welcome all thoughts
0:15:05.920,0:15:10.079
I welcome contributions I welcome
0:15:07.839,0:15:13.920
questions bug reports everything
0:15:10.079,0:15:17.040
so you know come say hi try the package
0:15:13.920,0:15:20.560
and uh yeah see you
0:15:17.040,0:15:20.560
I'll see you online