From 885826b801e0cf4bb068e1dfe68b923b8c304f38 Mon Sep 17 00:00:00 2001 From: Sacha Chua Date: Wed, 16 Dec 2020 01:38:22 -0500 Subject: Rename --- ...s-finally-the-end-of-the-debate--leo-vivier.vtt | 1342 ++++++++++++++++++++ 1 file changed, 1342 insertions(+) create mode 100644 2020/subtitles/emacsconf-2020--12-one-big-ass-org-file-or-multiple-tiny-ones-finally-the-end-of-the-debate--leo-vivier.vtt (limited to '2020/subtitles/emacsconf-2020--12-one-big-ass-org-file-or-multiple-tiny-ones-finally-the-end-of-the-debate--leo-vivier.vtt') diff --git a/2020/subtitles/emacsconf-2020--12-one-big-ass-org-file-or-multiple-tiny-ones-finally-the-end-of-the-debate--leo-vivier.vtt b/2020/subtitles/emacsconf-2020--12-one-big-ass-org-file-or-multiple-tiny-ones-finally-the-end-of-the-debate--leo-vivier.vtt new file mode 100644 index 00000000..8e82bdbd --- /dev/null +++ b/2020/subtitles/emacsconf-2020--12-one-big-ass-org-file-or-multiple-tiny-ones-finally-the-end-of-the-debate--leo-vivier.vtt @@ -0,0 +1,1342 @@ +WEBVTT + +00:00:00.240 --> 00:00:01.520 +([Amin Bandali]: I mean, we are ahead of +the schedule + +00:00:01.520 --> 00:00:03.679 +a little bit, but I mean we also were + +00:00:03.679 --> 00:00:05.680 +a little bit earlier in the day. + +00:00:05.680 --> 00:00:09.040 +Yeah, I'd say that's fine. Go for it. + +00:00:09.040 --> 00:00:10.800 +Take it away.) + +00:00:10.800 --> 00:00:14.240 +[Leo Vivier]: Sure. Thank you. So am I live already? + +00:00:14.240 --> 00:00:16.640 +[Amin]: Yep, you're live. + +00:00:16.640 --> 00:00:17.359 +[Leo]: Hello + +00:00:17.359 --> 00:00:18.880 +Splendid. So I'll just start the timer to + +00:00:18.880 --> 00:00:20.720 +make sure that I don't go overboard. + +00:00:20.720 --> 00:00:22.720 +All right. ([BBB:] you are now muted) Okay, good + +00:00:22.720 --> 00:00:24.160 +to go now. + +00:00:24.160 --> 00:00:26.960 +Hello again, everyone! I hope you had, + +00:00:26.960 --> 00:00:28.240 +well, quite a lot of talks + +00:00:28.240 --> 00:00:30.880 +ever since the last one I did, and all + +00:00:30.880 --> 00:00:32.000 +more interesting + +00:00:32.000 --> 00:00:35.040 +one after the other. + +00:00:35.040 --> 00:00:36.559 +You know, I'm a bit in a bit of a weird + +00:00:36.559 --> 00:00:38.239 +spot right now, because I'm supposed to + +00:00:38.239 --> 00:00:40.239 +be presenting to you (as you can see on +my screen) + +00:00:40.239 --> 00:00:42.879 +"One big-ass Org file or multiple tiny ones: + +00:00:42.879 --> 00:00:44.960 +finally, the end of the debate," + +00:00:44.960 --> 00:00:48.160 +and it sounds about as clickbaity + +00:00:48.160 --> 00:00:49.760 +as you can possibly get with those + +00:00:49.760 --> 00:00:51.280 +topics. By the way, + +00:00:51.280 --> 00:00:54.000 +credit where credit is due, the title + +00:00:54.000 --> 00:00:55.760 +is not mine. It's actually from Bastien + +00:00:55.760 --> 00:00:57.039 +Guerry, the current Org + +00:00:57.039 --> 00:01:00.719 +maintainer. Yeah, I wanted to + +00:01:00.719 --> 00:01:03.199 +talk to you a little bit today about + +00:01:03.199 --> 00:01:04.879 +this question because + +00:01:04.879 --> 00:01:07.600 +if you are used to going on +reddit.com/r/emacs , + +00:01:07.600 --> 00:01:09.600 +you know the subreddit that we +have, + +00:01:09.600 --> 00:01:11.840 +if you go on Hacker News often, you know + +00:01:11.840 --> 00:01:13.200 +it's a question that + +00:01:13.200 --> 00:01:16.000 +you see pop up every once in a while. + +00:01:16.000 --> 00:01:17.520 +"Should I be using + +00:01:17.520 --> 00:01:20.640 +one big file, or should I be using + +00:01:20.640 --> 00:01:24.799 +a lot of tiny files?" I believe you +know + +00:01:24.799 --> 00:01:27.600 +we've got defenders on both sides. If I + +00:01:27.600 --> 00:01:29.520 +just show you one example... + +00:01:29.520 --> 00:01:32.479 +We have Karl Voit. He's one + +00:01:32.479 --> 00:01:35.280 +of the organizers for the conference. + +00:01:35.280 --> 00:01:37.920 +He is the guy who probably has the + +00:01:37.920 --> 00:01:40.000 +biggest Org Mode files + +00:01:40.000 --> 00:01:42.000 +right now in all the people I know, and + +00:01:42.000 --> 00:01:43.759 +god knows I know plenty of people use + +00:01:43.759 --> 00:01:44.479 +Org Mode. + +00:01:44.479 --> 00:01:46.880 +But if you just look at this line--I hope + +00:01:46.880 --> 00:01:48.320 +it's not too small; you just + +00:01:48.320 --> 00:01:51.360 +make it a little larger--but + +00:01:51.360 --> 00:01:56.719 +Carl basically has a file with + +00:01:56.719 --> 00:02:01.759 +126,000 lines. I'm just going to pause + +00:02:01.759 --> 00:02:04.560 +and try to have you imagine how large a + +00:02:04.560 --> 00:02:06.399 +file it actually is. + +00:02:06.399 --> 00:02:08.399 +Just think about all of these lines + +00:02:08.399 --> 00:02:10.000 +being tasks in your days. + +00:02:10.000 --> 00:02:13.200 +Think about all those lines being about +little thoughts + +00:02:13.200 --> 00:02:14.400 +you know that you've had throughout the + +00:02:14.400 --> 00:02:17.200 +day or project that you were working on. + +00:02:17.200 --> 00:02:19.680 +It's massive. You know one of the + +00:02:19.680 --> 00:02:23.920 +problems that Karl Voit actually +approaches on + +00:02:23.920 --> 00:02:27.680 +this topic is that it takes him roughly + +00:02:27.680 --> 00:02:30.160 +20 seconds to get his Org agenda going, + +00:02:30.160 --> 00:02:32.400 +which is a massive amount of time. + +00:02:32.400 --> 00:02:35.680 +I mean, we have very fast computers now. + +00:02:35.680 --> 00:02:37.720 +You know, ever since Emacs was created in + +00:02:37.720 --> 00:02:42.319 +1976, computers... I have no idea how much faster + +00:02:42.319 --> 00:02:43.440 +they've gotten. + +00:02:43.440 --> 00:02:47.760 +And yet, you know, for 100,000 lines, + +00:02:47.760 --> 00:02:49.599 +Emacs seems to be choking. It's + +00:02:49.599 --> 00:02:51.120 +certainly not reasonable, in a way, to + +00:02:51.120 --> 00:02:52.720 +have to wait 20 seconds + +00:02:52.720 --> 00:02:55.360 +just for your entire file to be parsed. + +00:02:55.360 --> 00:02:57.040 +So basically what I want to do-- + +00:02:57.040 --> 00:02:58.480 +By the way, I forgot to introduce the + +00:02:58.480 --> 00:03:00.879 +presentation, but I'm Leo Vivier. I did this + +00:03:00.879 --> 00:03:02.879 +before, for those who were around. + +00:03:02.879 --> 00:03:05.519 +I help maintain a software which + +00:03:05.519 --> 00:03:06.640 +is called org-roam, + +00:03:06.640 --> 00:03:08.560 +and that's the expertise that I have on + +00:03:08.560 --> 00:03:09.840 +the topic. + +00:03:09.840 --> 00:03:11.760 +Actually, if you go online, I do have a + +00:03:11.760 --> 00:03:13.599 +Github page. I will make sure that you + +00:03:13.599 --> 00:03:15.440 +have all the links available afterwards. + +00:03:15.440 --> 00:03:18.640 +But I do publish my init files, + +00:03:18.640 --> 00:03:20.720 +and you can see, if you scroll at the + +00:03:20.720 --> 00:03:22.319 +bottom, I have a little demonstration + +00:03:22.319 --> 00:03:23.200 +which shows you + +00:03:23.200 --> 00:03:25.519 +the fancy things that I can do with my + +00:03:25.519 --> 00:03:28.159 +Org Mode setup. That might be even +interesting + +00:03:28.159 --> 00:03:30.720 +in light of the talk you've just had + +00:03:30.720 --> 00:03:32.319 +about GTD stuff, because + +00:03:32.319 --> 00:03:34.080 +the first one is about how I handle my + +00:03:34.080 --> 00:03:36.159 +projects, the second one is about + +00:03:36.159 --> 00:03:39.680 +the flow from a task as I work on it... + +00:03:39.680 --> 00:03:41.519 +So I won't spend too much time on +this, but + +00:03:41.519 --> 00:03:43.120 +basically that's my expertise. + +00:03:43.120 --> 00:03:45.440 +I have spent eight years + +00:03:45.440 --> 00:03:46.959 +working with Org Mode, + +00:03:46.959 --> 00:03:48.959 +three of them actually thinking about + +00:03:48.959 --> 00:03:50.720 +writing packages. + +00:03:50.720 --> 00:03:54.080 +The thing is, if I go into a little + +00:03:54.080 --> 00:03:55.680 +bit of detail (and obviously it's only a + +00:03:55.680 --> 00:03:57.760 +lighting talk, so I won't have time to + +00:03:57.760 --> 00:04:00.720 +actually go really in depth about it), but + +00:04:00.720 --> 00:04:01.840 +there is something + +00:04:01.840 --> 00:04:03.599 +in the Org Mode library which is + +00:04:03.599 --> 00:04:05.200 +called org-element. + +00:04:05.200 --> 00:04:07.000 +You have the name right there, + +00:04:07.000 --> 00:04:08.319 +org-element.el, + +00:04:08.319 --> 00:04:12.319 +.el being for Elisp file. As you +can see, + +00:04:12.319 --> 00:04:14.799 +the page is on the Worg wiki, so it's + +00:04:14.799 --> 00:04:16.239 +accessible by everyone. + +00:04:16.239 --> 00:04:19.280 +It's basically the API that + +00:04:19.280 --> 00:04:23.759 +Org Mode uses to parse Org Mode files. + +00:04:23.759 --> 00:04:26.400 +For those who don't know, parsing + +00:04:26.400 --> 00:04:27.199 +means basically + +00:04:27.199 --> 00:04:29.360 +checking a file, checking all the contents + +00:04:29.360 --> 00:04:30.880 +of the file, and extracting all the + +00:04:30.880 --> 00:04:32.880 +information that we need from that file. + +00:04:32.880 --> 00:04:34.960 +As you can imagine, you all have + +00:04:34.960 --> 00:04:36.560 +Org Mode files in your mind, + +00:04:36.560 --> 00:04:38.240 +well you know they can be fairly complex. + +00:04:38.240 --> 00:04:39.840 +You can have properties, + +00:04:39.840 --> 00:04:41.759 +you can have contextual information, like + +00:04:41.759 --> 00:04:43.040 +if you write a line + +00:04:43.040 --> 00:04:45.199 +which starts at column zero (which means + +00:04:45.199 --> 00:04:46.560 +at the left), + +00:04:46.560 --> 00:04:48.000 +it doesn't have the same + +00:04:48.000 --> 00:04:49.680 +meaning, whether or not it is + +00:04:49.680 --> 00:04:52.639 +before the beginning of a headline or if + +00:04:52.639 --> 00:04:54.160 +it is after the beginning of a headline. + +00:04:54.160 --> 00:04:55.199 +It's going to be + +00:04:55.199 --> 00:04:57.759 +relatively different, hierarchically + +00:04:57.759 --> 00:04:58.960 +speaking. + +00:04:58.960 --> 00:05:02.639 +So the problem, when it comes to the +question of + +00:05:02.639 --> 00:05:05.759 +many files versus one big file or + +00:05:05.759 --> 00:05:08.560 +few big files, is that we always have to + +00:05:08.560 --> 00:05:09.600 +keep in mind + +00:05:09.600 --> 00:05:12.880 +what org-element wants you to do. + +00:05:12.880 --> 00:05:15.680 +The thing is, there are plenty of + +00:05:15.680 --> 00:05:17.440 +problems when it comes to parsing files, + +00:05:17.440 --> 00:05:19.330 +the first one being obviously + +00:05:19.330 --> 00:05:22.160 +that Emacs is a single-thread + +00:05:22.160 --> 00:05:24.880 +process (or has some threading + +00:05:24.880 --> 00:05:26.400 +capabilities; we're not going to go into + +00:05:26.400 --> 00:05:28.639 +the details right now, that's not my goal). + +00:05:28.639 --> 00:05:32.400 +It makes it incredibly hard to + +00:05:32.400 --> 00:05:35.919 +parallelize parsing processes + +00:05:35.919 --> 00:05:39.280 +with the current technology. + +00:05:39.280 --> 00:05:42.320 +So you'd have to imagine that if you + +00:05:42.320 --> 00:05:44.080 +have a very large file--if you go back + +00:05:44.080 --> 00:05:46.479 +to the example of Karl Voit from before: + +00:05:46.479 --> 00:05:49.199 +100,000 lines--that means that you have + +00:05:49.199 --> 00:05:50.000 +to scan + +00:05:50.000 --> 00:05:52.320 +through every single line, basically. + +00:05:52.320 --> 00:05:53.759 +Because sometimes... Let's just say that + +00:05:53.759 --> 00:05:56.080 +you have a property drawer, for instance, + +00:05:56.080 --> 00:05:59.440 +which tells you, oh okay, this tree + +00:05:59.440 --> 00:06:03.520 +has the tag :foo:. So the problem is, there + +00:06:03.520 --> 00:06:05.120 +are multiple ways for you + +00:06:05.120 --> 00:06:08.720 +to define a tag. You can use the + +00:06:08.720 --> 00:06:11.840 +usual way, which is about wrapping in + +00:06:11.840 --> 00:06:14.000 +columns the :tag: at the end of a heading. + +00:06:14.000 --> 00:06:16.160 +For instance, if I... (I'm not going to + +00:06:16.160 --> 00:06:17.360 +switch to Emacs, that's going to waste too + +00:06:17.360 --> 00:06:18.240 +much time) + +00:06:18.240 --> 00:06:21.520 +That's one way to say your tag. +But say, + +00:06:21.520 --> 00:06:23.520 +you have tag inheritance, which means + +00:06:23.520 --> 00:06:25.360 +that when you have a parent with a tag, + +00:06:25.360 --> 00:06:28.160 +you also want the child to inherit the + +00:06:28.160 --> 00:06:29.520 +tag. If you have + +00:06:29.520 --> 00:06:32.400 +first heading with the tag :foo:, you have + +00:06:32.400 --> 00:06:33.680 +the first subheading, + +00:06:33.680 --> 00:06:37.520 +and the tag :foo: is implied. Now imagine + +00:06:37.520 --> 00:06:39.680 +having to do that with a file that is + +00:06:39.680 --> 00:06:41.039 +completely nested, + +00:06:41.039 --> 00:06:44.160 +a file that has maybe 9, 10, + +00:06:44.160 --> 00:06:47.280 +11 levels of depth to it. + +00:06:47.280 --> 00:06:49.039 +It's mind-bogglingly complicated for the + +00:06:49.039 --> 00:06:51.039 +software to do that, knowing that... I've + +00:06:51.039 --> 00:06:52.639 +told you about tags, + +00:06:52.639 --> 00:06:55.919 +but any property can be inheritable. + +00:06:55.919 --> 00:06:58.639 +Anything like priorities, even. Though why + +00:06:58.639 --> 00:07:00.240 +would you do this? + +00:07:00.240 --> 00:07:03.759 +You can have groups. You can have all this. + +00:07:03.759 --> 00:07:05.599 +And as someone who went through the trouble + +00:07:05.599 --> 00:07:07.199 +of optimizing his Org agenda... So + +00:07:07.199 --> 00:07:08.560 +basically, if we go back to the + +00:07:08.560 --> 00:07:12.160 +GIFs--oh god we've already had this +discussion + +00:07:12.160 --> 00:07:14.479 +between the "git" and "magit" and now I've + +00:07:14.479 --> 00:07:16.400 +started "gif" and "gif" and I only have one + +00:07:16.400 --> 00:07:18.080 +more minute left to do so, so let's just + +00:07:18.080 --> 00:07:19.599 +say I'm going to say "gif" + +00:07:19.599 --> 00:07:23.599 +just to spite people... So if you go on + +00:07:23.599 --> 00:07:26.880 +the way I organize my agenda, what I did + +00:07:26.880 --> 00:07:29.120 +in order to keep my agenda build time + +00:07:29.120 --> 00:07:30.960 +under two seconds, + +00:07:30.960 --> 00:07:33.440 +is that I've rewritten a whole lot of + +00:07:33.440 --> 00:07:36.560 +codes to be able to parse my Org agenda +files. + +00:07:36.560 --> 00:07:40.080 +So the thing is, I'm going to be talking + +00:07:40.080 --> 00:07:41.360 +more about this later. + +00:07:41.360 --> 00:07:43.440 +I only have, let's say, one minute to + +00:07:43.440 --> 00:07:44.479 +conclude. + +00:07:44.479 --> 00:07:47.440 +So as you've gathered, I'm not going to + +00:07:47.440 --> 00:07:48.479 +be giving you the answer right now. + +00:07:48.479 --> 00:07:51.039 +I'm going to be talking about + +00:07:51.039 --> 00:07:53.440 +org-roam a little later, which is about + +00:07:53.440 --> 00:07:55.680 +following the principle of having many + +00:07:55.680 --> 00:07:57.759 +small files. + +00:07:57.759 --> 00:08:01.120 +But as someone who has been using + +00:08:01.120 --> 00:08:02.960 +one large file to manage my life, + +00:08:02.960 --> 00:08:04.879 +you know, I'm sitting on the fence. + +00:08:04.879 --> 00:08:08.319 +I do not know which one is the best, + +00:08:08.319 --> 00:08:10.560 +but I hope that my presentation has + +00:08:10.560 --> 00:08:12.240 +given you a little idea + +00:08:12.240 --> 00:08:15.199 +of what goes on behind the principles. + +00:08:15.520 --> 00:08:16.560 +You also need to think about the + +00:08:16.560 --> 00:08:18.560 +philosophy behind the organization of + +00:08:18.560 --> 00:08:19.120 +your notes. + +00:08:19.120 --> 00:08:21.039 +I hope to be approaching this topic + +00:08:21.039 --> 00:08:23.280 +with you in about + +00:08:23.280 --> 00:08:25.360 +two hours or so (maybe one hour actually). + +00:08:25.360 --> 00:08:27.520 +I'm actually finished. I've decided to + +00:08:27.520 --> 00:08:28.960 +leave you two minutes of questions. + +00:08:28.960 --> 00:08:31.520 +If someone could feed me the + +00:08:31.520 --> 00:08:32.880 +questions, that might be best, + +00:08:32.880 --> 00:08:34.399 +because I don't want... oh actually I can + +00:08:34.399 --> 00:08:36.240 +just open the pad. + +00:08:36.240 --> 00:08:39.919 +I can just open it. Give me a second, okay. + +00:08:40.800 --> 00:08:43.039 +Just loading up. I might stop showing + +00:08:43.039 --> 00:08:43.839 +my screen. + +00:08:43.839 --> 00:08:46.959 +That might make it easier. So I mean if + +00:08:46.959 --> 00:08:47.519 +you can make + +00:08:47.519 --> 00:08:49.360 +myself big now on the screen, that would + +00:08:49.360 --> 00:08:52.000 +be splendid. ([Amin]: yeah sure) + +00:08:52.000 --> 00:08:55.839 +Thank you. Where are we... + +00:08:55.839 --> 00:08:58.720 +Question 12. Okay, so what's better, one + +00:08:58.720 --> 00:09:00.160 +big file or...? + +00:09:00.160 --> 00:09:02.160 +Is it a jab to tell me that I + +00:09:02.160 --> 00:09:03.120 +haven't answered the question because + +00:09:03.120 --> 00:09:04.240 +someone just + +00:09:04.240 --> 00:09:06.320 +asked me the question? Well, personally, if + +00:09:06.320 --> 00:09:08.080 +I were to give you a quick answer in + +00:09:08.560 --> 00:09:11.600 +20 seconds, personally, I think it's a + +00:09:11.600 --> 00:09:13.920 +question that is contextually based. + +00:09:13.920 --> 00:09:15.680 +Do you want something that is efficient + +00:09:15.680 --> 00:09:17.839 +as far as optimization is concerned? + +00:09:17.839 --> 00:09:21.200 +Then you need to think about + +00:09:21.200 --> 00:09:23.440 +this. Personally, for all the + +00:09:23.440 --> 00:09:24.640 +organization that I do, + +00:09:24.640 --> 00:09:27.760 +all this stuff, all the TODOs that I +handle, + +00:09:27.760 --> 00:09:30.080 +I like to do this in one simple big file + +00:09:30.080 --> 00:09:31.519 +because you benefit from all the + +00:09:31.519 --> 00:09:33.760 +refiling capabilities of Org Mode, + +00:09:33.760 --> 00:09:37.200 +so I would do that. But for knowledge +management, + +00:09:37.200 --> 00:09:40.080 +for note-taking and all this, well I'd + +00:09:40.080 --> 00:09:41.279 +much rather follow the + +00:09:41.279 --> 00:09:42.959 +org-roam way of doing things, which is + +00:09:42.959 --> 00:09:44.480 +about having many + +00:09:44.480 --> 00:09:48.240 +small files. I'm not getting any + +00:09:48.240 --> 00:09:50.000 +more questions. I'm not sure if there is + +00:09:50.000 --> 00:09:52.080 +one on IRC that could be fed to me. + +00:09:52.080 --> 00:09:57.040 +Otherwise, I'm happy to pass over to +the next speaker. + +00:09:57.040 --> 00:09:59.360 +By the way, just before I finish, your + +00:09:59.360 --> 00:10:01.360 +world is a lie. It's not a three-piece + +00:10:01.360 --> 00:10:04.399 +suit. I'm wearing jeans below, so I hope + +00:10:04.399 --> 00:10:06.520 +that satisfies your curiosity. + +00:10:10.640 --> 00:10:12.640 +Okay, there's one more question appearing. + +00:10:12.640 --> 00:10:15.040 +"but otherwise one big file to have + +00:10:15.040 --> 00:10:17.680 +everything..." So I'm putting you on the + +00:10:17.680 --> 00:10:19.760 +spot, I believe. It was such a short talk. + +00:10:19.760 --> 00:10:21.040 +You know the problem is, + +00:10:21.040 --> 00:10:24.720 +I just wanted to give you a little +answer. + +00:10:24.720 --> 00:10:26.959 +A little, you know, path of thinking on + +00:10:26.959 --> 00:10:27.920 +this topic. + +00:10:27.920 --> 00:10:29.839 +Obviously it's a topic I could be + +00:10:29.839 --> 00:10:31.600 +spending 40 minutes on, + +00:10:31.600 --> 00:10:33.200 +but I'm going to be drained, you're going to + +00:10:33.200 --> 00:10:35.120 +be drained, nobody's going to be happy + +00:10:35.120 --> 00:10:35.680 +if I do this. + +00:10:39.440 --> 00:10:41.200 +Someone asked me if I switch between + +00:10:41.200 --> 00:10:42.880 +British and French accents. + +00:10:42.880 --> 00:10:46.560 +A little secret for you: + +00:10:46.560 --> 00:10:48.480 +when I'm stressed, I tend to revert to a + +00:10:48.480 --> 00:10:49.760 +French accent, + +00:10:49.760 --> 00:10:53.760 +so you can measure the amount of stress + +00:10:53.760 --> 00:10:56.160 +that I'm feeling during this talk + +00:10:56.160 --> 00:10:58.880 +with the amount of h's that I drop and + +00:10:58.880 --> 00:11:02.720 +the amount of sheer fright that you can +see sometimes + +00:11:02.720 --> 00:11:04.399 +in my eyes, when I'm thinking about what + +00:11:04.399 --> 00:11:08.240 +to say next. + +00:11:08.240 --> 00:11:10.880 +All right sir. So, Amin, do you believe + +00:11:10.880 --> 00:11:14.240 +we can leave it at that? I'll be... + +00:11:14.240 --> 00:11:15.519 +People will see plenty more of me + +00:11:15.519 --> 00:11:17.040 +later on, anyway. + +00:11:17.040 --> 00:11:20.640 +([Amin:] So, looking at the schedule, +I think + +00:11:20.640 --> 00:11:23.920 +your talk has until like 2:02, meaning + +00:11:23.920 --> 00:11:27.120 +like five or six minutes from now.) + +00:11:27.120 --> 00:11:28.000 +Oh, right. + +00:11:28.000 --> 00:11:30.000 +([Amin:] So if you do like to take one + +00:11:30.000 --> 00:11:31.680 +or two questions, to add two more + +00:11:31.680 --> 00:11:33.920 +questions, by all means.) + +00:11:33.920 --> 00:11:37.040 +So someone has asked me what is + +00:11:37.040 --> 00:11:38.320 +the Emacs + +00:11:38.320 --> 00:11:40.640 +icon (sorry, see, another French accent) + +00:11:40.640 --> 00:11:42.880 +here in my status bar... + +00:11:42.880 --> 00:11:44.880 +Oh sorry, I'm not sharing any more. + +00:11:44.880 --> 00:11:46.640 +I might just share again just so that + +00:11:46.640 --> 00:11:49.200 +everyone can catch a glimpse of that. + +00:11:49.200 --> 00:11:53.120 +There we go. Allow... + +00:11:53.120 --> 00:11:54.880 +So it should be... So if you could make me + +00:11:54.880 --> 00:11:56.240 +small again, Amin, I'm not sure if it's + +00:11:56.240 --> 00:11:56.959 +going to do it + +00:11:56.959 --> 00:12:00.480 +by itself, but I do have a little icon + +00:12:00.480 --> 00:12:01.839 +here in my status bar + +00:12:01.839 --> 00:12:04.480 +which is basically a way to interact + +00:12:04.480 --> 00:12:05.760 +with org-protocol. + +00:12:05.760 --> 00:12:09.120 +I'm not going to look for it right now, + +00:12:09.120 --> 00:12:10.800 +but it's a browser extension that is + +00:12:10.800 --> 00:12:12.399 +developed by one of my friends + +00:12:12.399 --> 00:12:15.680 +over at Ranger whose name is Li Fon (??) and + +00:12:16.160 --> 00:12:18.240 +it's very useful. I'm someone who uses a + +00:12:18.240 --> 00:12:22.320 +lot of Org protocols. And by the way, + +00:12:22.320 --> 00:12:25.279 +I used to teach English to high +schoolers, and they + +00:12:25.279 --> 00:12:27.279 +were supremely worried + +00:12:27.279 --> 00:12:29.600 +when I showed them my status line and they + +00:12:29.600 --> 00:12:34.000 +saw "kill" and "explore" in my status +line. + +00:12:34.000 --> 00:12:36.560 +As fellow Emacs users, you know that + +00:12:36.560 --> 00:12:40.880 +obviously kill means to kill a selection +of text and + +00:12:40.880 --> 00:12:44.320 +keep it inside your clipboard, + +00:12:44.320 --> 00:12:47.279 +but for my students, they + +00:12:47.279 --> 00:12:48.320 +were very worried + +00:12:48.320 --> 00:12:51.600 +about what their professor was up to + +00:12:51.600 --> 00:12:53.600 +during his nights. + +00:12:53.600 --> 00:12:55.120 +So let's see if we've got more questions. + +00:12:55.120 --> 00:12:56.560 +I'm showing you the questions on the + +00:12:56.560 --> 00:12:57.920 +rainbow. Let's see if + +00:12:57.920 --> 00:13:00.560 +we've got more. People are posting a + +00:13:00.560 --> 00:13:01.920 +lot of questions now. + +00:13:01.920 --> 00:13:03.920 +So how do you feel about archiving files + +00:13:03.920 --> 00:13:06.399 +in Org Mode and how can that work? + +00:13:06.399 --> 00:13:09.360 +So one of the things when we think about + +00:13:09.360 --> 00:13:13.920 +optimization is: yes, archiving done trees + +00:13:13.920 --> 00:13:16.240 +is a good idea because it means that if + +00:13:16.240 --> 00:13:17.920 +we go back to the org-element, the way it + +00:13:17.920 --> 00:13:20.399 +works (and we'll get into technical details + +00:13:20.399 --> 00:13:22.079 +afterwards; I'm giving a presentation + +00:13:22.079 --> 00:13:24.079 +about org-roam technical + +00:13:24.079 --> 00:13:26.880 +aspects, sorry, so I'll have a chance to + +00:13:26.880 --> 00:13:28.399 +expand a little more on this) + +00:13:28.399 --> 00:13:31.360 +but basically, org-element needs to... + +00:13:31.360 --> 00:13:35.279 +Every time it sees a TODO, it has to +consider it, + +00:13:35.279 --> 00:13:38.320 +even though it is a done TODO. Why? + +00:13:38.320 --> 00:13:40.000 +Because let's say, for instance, that in + +00:13:40.000 --> 00:13:41.839 +your agenda you want to activate + +00:13:41.839 --> 00:13:45.519 +log mode, which is going to show the + +00:13:45.519 --> 00:13:48.959 +tasks which are done... Now you could be + +00:13:48.959 --> 00:13:51.440 +clever and say, oh okay, the Org agenda does not + +00:13:51.440 --> 00:13:53.360 +need to show done items, so it's not going + +00:13:53.360 --> 00:13:54.880 +to look for them, + +00:13:54.880 --> 00:13:56.959 +but the problem is that org-element is + +00:13:56.959 --> 00:13:59.519 +always called. It always needs to parse +the buffer. + +00:13:59.519 --> 00:14:01.839 +You know, Nicolas Goaziou, who is the + +00:14:01.839 --> 00:14:03.519 +French developer who's worked a whole + +00:14:03.519 --> 00:14:05.040 +lot on org-element + +00:14:05.040 --> 00:14:07.440 +has gone through a lot of trouble to + +00:14:07.440 --> 00:14:11.600 +optimize org-element, but the problem is + +00:14:11.600 --> 00:14:13.279 +there's just so much that we can do with + +00:14:13.279 --> 00:14:14.720 +a concurrent process. + +00:14:14.720 --> 00:14:18.560 +Right now it leaves somewhat + +00:14:18.560 --> 00:14:21.120 +things to be desired, but + +00:14:21.120 --> 00:14:22.079 +we're working on it. + +00:14:22.079 --> 00:14:24.800 +One more time... I feel like I spent + +00:14:24.800 --> 00:14:25.839 +half of this talk + +00:14:25.839 --> 00:14:28.000 +teasing my next talks, but I'll be + +00:14:28.000 --> 00:14:29.360 +talking more about this + +00:14:29.360 --> 00:14:31.279 +in my future talks in about one to two + +00:14:31.279 --> 00:14:32.639 +hours. + +00:14:32.639 --> 00:14:34.959 +So, continuing with questions, how big are + +00:14:34.959 --> 00:14:36.079 +my Org files? + +00:14:36.079 --> 00:14:37.760 +So in the background, I'm just going to + +00:14:37.760 --> 00:14:40.720 +check how many lines I have in my main +file. + +00:14:40.720 --> 00:14:42.959 +In my own file, so the one I told you + +00:14:42.959 --> 00:14:44.079 +about where I keep all + +00:14:44.079 --> 00:14:47.279 +my TODO GTD stuff, I have + +00:14:47.279 --> 00:14:50.720 +38,000 lines, which is... + +00:14:50.720 --> 00:14:54.000 +It's sizable, definitely. + +00:14:54.000 --> 00:14:57.040 +But I do archive a lot of stuff, + +00:14:57.040 --> 00:14:58.480 +so that might be a slight difference + +00:14:58.480 --> 00:15:00.880 +between myself and Karl Voit, + +00:15:00.880 --> 00:15:02.079 +even though I don't remember if they + +00:15:02.079 --> 00:15:04.880 +actually archive stuff. + +00:15:04.880 --> 00:15:06.639 +So does it not consume more resources + +00:15:06.639 --> 00:15:08.480 +and time to load multiple files + +00:15:08.480 --> 00:15:10.839 +files than a large file or the same + +00:15:10.839 --> 00:15:12.560 +content now? + +00:15:12.560 --> 00:15:15.839 +Theoretically, yes, having many files + +00:15:15.839 --> 00:15:19.279 +open concurrently is slightly slower + +00:15:19.279 --> 00:15:22.240 +than having one main file opened. + +00:15:22.240 --> 00:15:24.160 +Now the problem is for those of you who + +00:15:24.160 --> 00:15:25.279 +have large files, + +00:15:25.279 --> 00:15:27.199 +you may have noticed that when you are + +00:15:27.199 --> 00:15:29.360 +scrolling in a very large file, + +00:15:29.360 --> 00:15:32.560 +it starts taking quite a bit of time. Why? + +00:15:32.560 --> 00:15:34.480 +It's because in Org Mode, + +00:15:34.480 --> 00:15:35.920 +you have a lot of content + +00:15:35.920 --> 00:15:38.959 +that is hidden, so when you have + +00:15:38.959 --> 00:15:40.959 +the view mode which hides as much stuff + +00:15:40.959 --> 00:15:43.600 +as possible, meaning that you only see + +00:15:43.600 --> 00:15:45.360 +the top heading--and I'm checking the + +00:15:45.360 --> 00:15:46.880 +time, Amin, don't worry, I'm finished + +00:15:46.880 --> 00:15:50.240 +on this one-- + +00:15:50.240 --> 00:15:52.160 +when you're hiding a whole lot of stuff, + +00:15:52.160 --> 00:15:54.720 +Org Mode needs to keep track, or I +should say, + +00:15:54.720 --> 00:15:56.959 +Emacs needs to keep track of which areas + +00:15:56.959 --> 00:15:58.160 +of text to show + +00:15:58.160 --> 00:16:00.560 +and which areas of text to hide. + +00:16:00.560 --> 00:16:02.320 +The problem is that when you're hiding stuff-- + +00:16:02.320 --> 00:16:04.480 +let's say you're moving from the + +00:16:04.480 --> 00:16:06.320 +first heading to the second heading, + +00:16:06.320 --> 00:16:08.639 +but you've got like 10,000 lines between + +00:16:08.639 --> 00:16:09.839 +those two headings-- + +00:16:09.839 --> 00:16:11.519 +well, Emacs needs to compute the + +00:16:11.519 --> 00:16:13.680 +difference between the two passages, + +00:16:13.680 --> 00:16:15.680 +and that takes quite a lot of time. + +00:16:15.680 --> 00:16:18.560 +That's why you might realize that it's +a little + +00:16:18.560 --> 00:16:21.199 +choppy when you start scrolling in large +files. + +00:16:21.199 --> 00:16:22.560 +Anyway I could be answering questions + +00:16:22.560 --> 00:16:25.120 +about Org Mode for literally two hours +straight, + +00:16:25.120 --> 00:16:26.720 +so I'm gonna hand it over to the next + +00:16:26.720 --> 00:16:28.639 +speakers. I'll be seeing + +00:16:28.639 --> 00:16:31.759 +you guys a little later. ([Amin]: Thank you + +00:16:31.759 --> 00:16:33.440 +very much, Leo.) + +00:16:33.440 --> 00:16:36.959 +Oh, thank you. ([Amin:] Yes. Bye.) + +00:16:36.959 --> 00:16:39.839 +Bye. -- cgit v1.2.3