WEBVTT captioned by sachac
00:00:00.000 --> 00:00:05.600
Hello, my name is Karl Voit
00:00:05.600 --> 00:00:08.720
and I'm going to show you a little demo
00:00:08.720 --> 00:00:10.920
on how I'm working with links
00:00:10.920 --> 00:00:12.760
between arbitrary headings
00:00:12.760 --> 00:00:16.240
and how I define dependencies between tasks
00:00:16.240 --> 00:00:18.680
when I'm working with projects and so forth.
00:00:18.680 --> 00:00:22.680
For that purpose, I've created a repository
00:00:22.680 --> 00:00:27.680
that contains the files we are going to work with,
00:00:27.680 --> 00:00:30.000
with the overall setup and so forth.
00:00:30.000 --> 00:00:32.840
So you just have to download this repository
00:00:32.840 --> 00:00:36.400
and you're able to replay everything
00:00:36.400 --> 00:00:38.120
which you are going to see here.
00:00:38.120 --> 00:00:44.360
If you've downloaded the configuration of the demo,
00:00:44.360 --> 00:00:49.160
you see those files, and you start the Emacs
00:00:49.160 --> 00:00:52.800
with an empty configuration
00:00:52.800 --> 00:00:59.480
and link demo file, like that.
00:00:59.480 --> 00:01:03.800
So let me just briefly increase the font size.
00:01:03.800 --> 00:01:05.760
Setting up the demo is easy.
00:01:05.760 --> 00:01:08.600
I've done the key visualization,
00:01:08.600 --> 00:01:11.840
the webcam part, and I've started the Emacs
00:01:11.840 --> 00:01:13.920
and increased the font size.
00:01:13.920 --> 00:01:17.720
And the last thing and the most important thing
00:01:17.720 --> 00:01:18.680
you need to do here
00:01:18.680 --> 00:01:20.360
is executing the babel block,
00:01:20.360 --> 00:01:23.800
which consists of more or less dirty Elisp code
00:01:23.800 --> 00:01:27.040
that installs the necessary packages, functions,
00:01:27.040 --> 00:01:29.800
and bindings required in this demo.
00:01:29.800 --> 00:01:32.400
You need to acknowledge the execution
00:01:32.400 --> 00:01:36.160
with yes and return, and after a couple of seconds,
00:01:36.160 --> 00:01:37.920
everything is downloaded
00:01:37.920 --> 00:01:42.680
and set up nicely for your demo.
00:01:42.680 --> 00:01:45.040
The first demo is the demo
00:01:45.040 --> 00:01:46.960
where I'm going to show you
00:01:46.960 --> 00:01:48.480
how I'm working with links
00:01:48.480 --> 00:01:50.120
between arbitrary headings.
00:01:50.120 --> 00:01:52.440
It consists of two commands,
00:01:52.440 --> 00:01:55.480
org-super-links-quick-insert-inline-link,
00:01:55.480 --> 00:01:56.640
and the second one is
00:01:56.640 --> 00:01:59.160
org-super-links-quick-insert-drawer-link.
00:01:59.160 --> 00:02:01.040
So the difference is,
00:02:01.040 --> 00:02:03.720
the first one is an inline link,
00:02:03.720 --> 00:02:07.640
and the second one only depends
00:02:07.640 --> 00:02:09.960
on the drawers of the headings.
00:02:09.960 --> 00:02:12.800
So let's show you what I mean.
00:02:12.800 --> 00:02:15.240
If I'm inserting here the inline link
00:02:15.240 --> 00:02:18.680
to the second one, which I have to choose
00:02:18.680 --> 00:02:21.200
from the result set here,
00:02:21.200 --> 00:02:26.440
you see that there is this second heading link
00:02:26.440 --> 00:02:29.480
included here in the first heading.
00:02:29.480 --> 00:02:34.920
Let's open up the first and second heading.
00:02:34.920 --> 00:02:37.120
You see that I can jump this link
00:02:37.120 --> 00:02:40.520
to the second heading. The first heading
00:02:40.520 --> 00:02:42.000
as well as the second heading
00:02:42.000 --> 00:02:43.880
get human readable IDs,
00:02:43.880 --> 00:02:46.040
which I personally prefer.
00:02:46.040 --> 00:02:49.320
The second one gets
00:02:49.320 --> 00:02:51.600
a backheading in a link drawer,
00:02:51.600 --> 00:02:53.680
which was created automatically.
00:02:53.680 --> 00:02:57.440
So this is a method where I link arbitrary headings,
00:02:57.440 --> 00:02:59.167
and that's the main reason
00:02:59.168 --> 00:03:01.214
why I personally don't need any
00:03:01.215 --> 00:03:03.920
Zettelkasten-based method like Org Roam.
00:03:03.920 --> 00:03:08.600
The next command which I want to show you
00:03:08.600 --> 00:03:13.480
is the link between those drawers.
00:03:13.480 --> 00:03:17.720
So in order to link the third to the fourth,
00:03:17.720 --> 00:03:20.320
I need to look for the fourth.
00:03:20.320 --> 00:03:24.200
In this case, you do not see
00:03:24.200 --> 00:03:27.400
any inline link like here above,
00:03:27.400 --> 00:03:31.520
but you see the :PROPERTIES: drawers
00:03:31.520 --> 00:03:35.400
and the :LINKS: drawers in both headings.
00:03:35.400 --> 00:03:38.480
So there is a forward- and a back-link
00:03:38.480 --> 00:03:40.200
between those two headings,
00:03:40.200 --> 00:03:42.920
and if you see a links drawer
00:03:42.920 --> 00:03:45.440
you know that there are
00:03:45.440 --> 00:03:47.560
linked headings you can follow.
00:03:47.560 --> 00:03:51.640
I do find this method very very handy.
00:03:51.640 --> 00:03:53.600
Of course, this doesn't only work
00:03:53.600 --> 00:03:57.120
within one single Org mode file.
00:03:57.120 --> 00:04:01.440
It works between arbitrary Org mode files
00:04:01.440 --> 00:04:02.633
as long as they are
00:04:02.634 --> 00:04:05.760
part of your Org Mode agenda list.
00:04:05.760 --> 00:04:08.280
So that was the first heading
00:04:08.280 --> 00:04:09.960
with the bi-directional links.
00:04:09.960 --> 00:04:11.640
The second one is a little bit
00:04:11.640 --> 00:04:13.080
more complicated than that
00:04:13.080 --> 00:04:17.280
because I show you how I'm working with projects.
00:04:17.280 --> 00:04:19.533
Usually, I start the project
00:04:19.534 --> 00:04:22.080
by adding a "Why?" statement
00:04:22.080 --> 00:04:25.200
so that I remember why this project
00:04:25.200 --> 00:04:27.440
needs to be done in the first place.
00:04:27.440 --> 00:04:32.280
I do a brainstorming on the tasks
00:04:32.280 --> 00:04:33.933
that need to be done in the project
00:04:33.934 --> 00:04:36.280
as a simple list.
00:04:36.280 --> 00:04:39.360
With this handy command (C-c *),
00:04:39.360 --> 00:04:43.840
I'm converting it to a list of Org mode headings.
00:04:43.840 --> 00:04:47.040
Now let's add the NEXT keyword,
00:04:47.040 --> 00:04:49.000
which is my default to-do keyword,
00:04:49.001 --> 00:04:49.760
to the first heading.
00:04:49.760 --> 00:04:53.320
You notice that there is a CREATED property
00:04:53.320 --> 00:04:56.480
which is not relevant to the demo itself,
00:04:56.480 --> 00:04:57.840
but it's part of my setup.
00:04:57.840 --> 00:05:00.840
I really like those created headings
00:05:00.840 --> 00:05:03.640
because when I add arbitrary headings,
00:05:03.640 --> 00:05:07.680
this CREATED property is added automatically.
00:05:07.680 --> 00:05:11.480
So now I want to define a dependency
00:05:11.480 --> 00:05:12.967
between "Empty garage"
00:05:12.968 --> 00:05:14.800
and "Paint walls and floor."
00:05:14.800 --> 00:05:18.480
I do that by invoking my command here,
00:05:18.480 --> 00:05:22.520
and look for the "Paint walls" heading.
00:05:22.520 --> 00:05:28.600
In this dialogue, you may add a scheduled date
00:05:28.600 --> 00:05:30.233
and/or a deadline date
00:05:30.234 --> 00:05:34.240
and/or a to-do statement. For this demo
00:05:34.240 --> 00:05:37.640
I only choose the to-do keyword.
00:05:37.640 --> 00:05:39.400
You notice that there is
00:05:39.400 --> 00:05:41.000
this TRIGGER property added.
00:05:41.000 --> 00:05:43.280
That's default behavior of org-edna
00:05:43.280 --> 00:05:47.200
which is managing the dependencies, in my case.
00:05:47.200 --> 00:05:51.600
In the other one, there is this BLOCKER property.
00:05:51.600 --> 00:05:55.360
It's very handy to know that those IDs
00:05:55.360 --> 00:05:57.880
might be used for jumping
00:05:57.880 --> 00:06:00.640
between those dependencies again.
00:06:00.640 --> 00:06:03.600
Those two headings don't have to be necessarily
00:06:03.600 --> 00:06:05.560
in the very same Org Mode file.
00:06:05.560 --> 00:06:07.920
They may be scattered around
00:06:07.920 --> 00:06:11.000
your Org Mode agenda files all over the place.
00:06:11.000 --> 00:06:16.160
So continuing this definition of dependency
00:06:16.160 --> 00:06:19.040
between the second and the third one...
00:06:19.040 --> 00:06:23.000
I'm using the search "Bring back stuff"...
00:06:23.000 --> 00:06:24.800
the search functionality...
00:06:24.800 --> 00:06:28.800
I choose the NEXT keyword here, its dependency.
00:06:28.800 --> 00:06:32.480
The same holds true for the last two.
00:06:32.480 --> 00:06:37.400
"Is painted", for example. I'm going to use
00:06:37.400 --> 00:06:39.320
the NEXT keyword again.
00:06:39.320 --> 00:06:44.520
I tend to use the last task of any project
00:06:44.520 --> 00:06:47.120
to close the overall project.
00:06:47.120 --> 00:06:49.880
So if I show you this one,
00:06:49.880 --> 00:06:57.040
I'm using the dependency to "Garage" project,
00:06:57.040 --> 00:07:02.200
and this time I'm using the DONE keyword.
00:07:02.200 --> 00:07:04.920
Of course, the properties
00:07:04.920 --> 00:07:07.920
look like that all the time,
00:07:07.920 --> 00:07:11.640
so there is a trigger from the first task
00:07:11.640 --> 00:07:13.920
to the second one, and there is a blocker
00:07:13.920 --> 00:07:17.120
from the second one back to the first one,
00:07:17.120 --> 00:07:21.640
and when I'm actually doing the project,
00:07:21.640 --> 00:07:25.520
I may now mark the first task as DONE,
00:07:25.520 --> 00:07:28.360
and you notice that the second one
00:07:28.360 --> 00:07:31.440
automatically gets a next keyword.
00:07:31.440 --> 00:07:34.600
This happened, of course, for all those tasks.
00:07:34.600 --> 00:07:38.920
The neat thing is when I close the last one,
00:07:38.920 --> 00:07:42.760
the overall project gets its DONE keyword as well.
00:07:42.760 --> 00:07:46.360
So this is how I'm working with
00:07:46.360 --> 00:07:49.120
projects and dependencies.
00:07:49.120 --> 00:07:53.720
Most of the time, task dependencies
00:07:53.720 --> 00:07:58.160
are not even within the same Org Mode subheading,
00:07:58.160 --> 00:08:01.600
let's say. Also, I'm using dependencies
00:08:01.600 --> 00:08:03.720
between different Org Mode files.
00:08:03.720 --> 00:08:07.160
This is a very, very cool way of defining
00:08:07.160 --> 00:08:10.040
what to do next in a project,
00:08:10.040 --> 00:08:12.667
without looking for tasks
00:08:12.668 --> 00:08:15.640
that can't be done at that stage.
00:08:15.640 --> 00:08:20.240
You can have a look at the details of the demo
00:08:20.240 --> 00:08:23.800
by checking out the files in the repository.
00:08:23.800 --> 00:08:27.080
That's it for the demo,
00:08:27.080 --> 00:08:30.720
and therefore I thank you for your patience.
00:08:30.720 --> 00:08:32.160
I wish you good luck,
00:08:32.160 --> 00:08:39.520
and I hope that I could show you one or two tricks
00:08:39.520 --> 00:08:42.080
that you can add to your Org Mode setup
00:08:42.080 --> 00:08:47.040
in order to help you with your daily work.
00:08:47.040 --> 00:08:56.000
So bye from me, till next time.