summaryrefslogtreecommitdiffstats
path: root/2022
diff options
context:
space:
mode:
Diffstat (limited to '2022')
-rw-r--r--2022/captions/emacsconf-2022-eev--bidirectional-links-with-eev--eduardo-ochs--main.vtt269
1 files changed, 269 insertions, 0 deletions
diff --git a/2022/captions/emacsconf-2022-eev--bidirectional-links-with-eev--eduardo-ochs--main.vtt b/2022/captions/emacsconf-2022-eev--bidirectional-links-with-eev--eduardo-ochs--main.vtt
new file mode 100644
index 00000000..da9fcff7
--- /dev/null
+++ b/2022/captions/emacsconf-2022-eev--bidirectional-links-with-eev--eduardo-ochs--main.vtt
@@ -0,0 +1,269 @@
+WEBVTT
+
+00:00.000 --> 00:06.159
+Hi, my name is Eduard Oxt, I'm the author of an MX package called EEV, and the name
+
+00:06.160 --> 00:11.439
+of this presentation is Bidirectional Links in EEV.
+
+00:11.440 --> 00:16.279
+Let me present things in a weird order, starting by the new feature and then I'm going to
+
+00:16.280 --> 00:20.799
+explain the whole context.
+
+00:20.800 --> 00:25.839
+One of the main features that we are going to see here is this function here, MetaX Cla,
+
+00:25.840 --> 00:29.279
+and Cla is a mnemonic for Q-link to anchor.
+
+00:29.280 --> 00:33.159
+Let me explain, let me demonstrate how it works.
+
+00:33.160 --> 00:40.239
+This thing here with the green angle brackets is an anchor, this thing between the green
+
+00:40.240 --> 00:48.279
+angle brackets is a tag of an anchor, and if I type MetaX Cla here, it highlights this
+
+00:48.280 --> 00:53.719
+tag for a second and it says copied to the Q-link blah blah blah, and this thing here
+
+00:53.720 --> 00:55.079
+is a link.
+
+00:55.080 --> 01:02.759
+I can insert the link here, I can insert the link in my notes, and if I execute this link,
+
+01:02.760 --> 01:08.319
+this link here, it goes to this anchor in this file.
+
+01:08.320 --> 01:16.119
+If you have a recent version of EEV installed, then trying this feature should be very easy.
+
+01:16.120 --> 01:21.679
+You just need to open this file here in which everything is defined, and then go to this
+
+01:21.680 --> 01:27.479
+section at the beginning of the file, and then run the three blocks of tests that are
+
+01:27.480 --> 01:29.299
+there.
+
+01:29.300 --> 01:34.439
+This block corresponds roughly to what we have just done.
+
+01:34.440 --> 01:43.519
+This other block is slightly different because it shows some variants of Cla.
+
+01:43.520 --> 01:47.959
+One is with F instead of an A here.
+
+01:47.960 --> 01:49.559
+Let me show how it works.
+
+01:49.560 --> 02:00.519
+If we type MetaX eKlf or just MetaX klf, we get a link to this file that does not point
+
+02:00.520 --> 02:08.399
+to an anchor, and if we type MetaX klt, we get another kind of link that is linked to
+
+02:08.400 --> 02:11.719
+an anchor in the same file.
+
+02:11.720 --> 02:21.199
+The third block is more interesting because it lets people create links to files that
+
+02:21.200 --> 02:26.439
+are elsewhere and that do not have anchors pointing to them.
+
+02:26.440 --> 02:28.799
+Let me execute this.
+
+02:28.800 --> 02:36.319
+This will run this extra here and display the target at the window at the right.
+
+02:36.320 --> 02:41.679
+This is one of the source files of MX.
+
+02:41.680 --> 02:45.519
+Let's imagine that I want to create a link to this string here.
+
+02:45.520 --> 02:53.399
+Then I can type MetaX klfs, and this will create a link to a file in a string in that
+
+02:53.400 --> 02:54.399
+file.
+
+02:54.400 --> 03:00.959
+If I type enter here, it says copy to the kil ring, and this is a link to this file
+
+03:00.960 --> 03:11.479
+here and to the first occurrence of this string in this file.
+
+03:11.480 --> 03:14.399
+Notice this work inside.
+
+03:14.400 --> 03:19.239
+When I was trying to write the documentation of this, I tried to write a summary of how
+
+03:19.240 --> 03:25.359
+the algorithm works, and I failed, and I tried again, and I failed again several times, and
+
+03:25.360 --> 03:33.419
+then I gave up and I decided to write an intro, a tutorial, this one, that explains everything
+
+03:33.420 --> 03:40.959
+but lots of details and lots of sections with try it that have examples that you can run
+
+03:40.960 --> 03:48.719
+to understand things, to examine how some functions work, how the data structures work,
+
+03:48.720 --> 03:51.599
+and so on.
+
+03:51.600 --> 03:57.399
+The problem is that sometimes we have several hyperlinks that point to the same file.
+
+03:57.400 --> 03:59.359
+Let me give an example.
+
+03:59.360 --> 04:08.399
+In the configuration in which I am now, in this file here, the old way of generating
+
+04:08.400 --> 04:14.519
+hyperlinks to this file with find here links, which generate a temporary buffer like this,
+
+04:14.520 --> 04:20.239
+and then I would have to choose which one of these hyperlinks I find best, which one
+
+04:20.240 --> 04:24.359
+I prefer, and then copy it to my notes.
+
+04:24.360 --> 04:31.079
+So instead of choosing a hyperlink, this thing here shows all the options.
+
+04:31.080 --> 04:38.639
+And in the new way, in MetaX and Friends, there's an algorithm that chooses the best
+
+04:38.640 --> 04:40.879
+short hyperlink by itself.
+
+04:40.880 --> 04:44.159
+And this algorithm is a bit hard to explain.
+
+04:44.160 --> 04:46.639
+Let me demonstrate it here.
+
+04:46.640 --> 04:56.359
+Again, we have all these options here of hyperlinks to this file, and if I type MetaX klf, it
+
+04:56.360 --> 04:58.839
+chooses one of them.
+
+04:58.840 --> 05:02.599
+And of course, I can copy it to my notes, it's going to work, it's going to point to
+
+05:02.600 --> 05:04.799
+here and so on.
+
+05:04.800 --> 05:11.199
+Well, the title of this presentation was Bidirectional Links with EEV.
+
+05:11.200 --> 05:17.559
+Let me show what I mean by bidirectional hyperlinks and how we can use this thing to create bidirectional
+
+05:17.560 --> 05:20.519
+hyperlinks very quickly.
+
+05:20.520 --> 05:22.259
+I will have to use a smaller font.
+
+05:22.260 --> 05:24.999
+Let me open these two files here.
+
+05:25.000 --> 05:31.999
+This one at the left is a program in Haskell, and this one is a file with my notes on Haskell.
+
+05:32.000 --> 05:41.559
+How do I create a link to this file in Haskell to put it in this file here?
+
+05:41.560 --> 05:49.719
+I can put the cursor here in any position after this anchor here and type MetaX klf.
+
+05:49.720 --> 05:56.359
+It copies this link here to the kill ring, and then I can go here and either insert it
+
+05:56.360 --> 06:08.039
+with Ctrl Y, yank, or insert it with MetaX klf that adds a comment prefix here.
+
+06:08.040 --> 06:16.559
+So this is a way to create a link from here to there in which every comment has to be
+
+06:16.560 --> 06:19.359
+given explicitly.
+
+06:19.360 --> 06:23.719
+But I also implemented a way to create the two links at the same time.
+
+06:23.720 --> 06:24.719
+I don't use it much.
+
+06:24.720 --> 06:27.399
+It is mostly for demos because it is impressive.
+
+06:27.400 --> 06:29.919
+I wanted to show that in this presentation.
+
+06:29.920 --> 06:33.079
+Anyway, let me show it here.
+
+06:33.080 --> 06:41.339
+Note that in this file here the point is here, in this file the point is here.
+
+06:41.340 --> 06:47.599
+My trick is going to create a link to this anchor and put it in this file, and it is
+
+06:47.600 --> 06:51.479
+going to create a link to this anchor and put it in this file.
+
+06:51.480 --> 06:58.599
+So here it goes, MetaX klhu, ta-da!
+
+06:58.600 --> 07:03.159
+It highlighted the two anchors for a second and then it created these things here and
+
+07:03.160 --> 07:11.479
+inserted them with the right comment prefixes.
+
+07:11.480 --> 07:15.519
+And that's it.
+
+07:15.520 --> 07:17.319
+So that's it.
+
+07:17.320 --> 07:26.039
+If you found these things interesting, just install a recent version of VEV and run the
+
+07:26.040 --> 07:32.159
+tutorial either with this thing here, MetaX client client intro, or by running this exp,
+
+07:32.160 --> 07:39.599
+or open this file here in the iv directory and follow the tutorials.
+
+07:39.600 --> 07:46.919
+And most things there are well documented, but the thing that I don't use much and that
+
+07:46.920 --> 07:52.559
+is mostly for demos, which is the thing that creates bidirectional hyperlinks, is not yet
+
+07:52.560 --> 07:55.119
+well documented, but the rest is.
+
+07:55.120 --> 07:56.119
+So that's it.
+
+07:56.120 --> 08:17.400
+Have fun.
+