summaryrefslogtreecommitdiffstats
path: root/2020/subtitles/emacsconf-2020--12-one-big-ass-org-file-or-multiple-tiny-ones-finally-the-end...
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2020-12-16 01:38:22 -0500
committerSacha Chua <sacha@sachachua.com>2020-12-16 01:38:22 -0500
commit885826b801e0cf4bb068e1dfe68b923b8c304f38 (patch)
tree23b8a335bb3aa1d19e1c83b5bd9e830f85a2077a /2020/subtitles/emacsconf-2020--12-one-big-ass-org-file-or-multiple-tiny-ones-finally-the-end-of-the-debate--leo-vivier.vtt
parent3c644b7d7229827881bf39089c88e7eaa62af6d7 (diff)
downloademacsconf-wiki-885826b801e0cf4bb068e1dfe68b923b8c304f38.tar.xz
emacsconf-wiki-885826b801e0cf4bb068e1dfe68b923b8c304f38.zip
Rename
Diffstat (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')
-rw-r--r--2020/subtitles/emacsconf-2020--12-one-big-ass-org-file-or-multiple-tiny-ones-finally-the-end-of-the-debate--leo-vivier.vtt1342
1 files changed, 1342 insertions, 0 deletions
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.