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.