-Hi, my name is Eduard Oxt, I'm the author of an MX package called EEV, and the name +00:00:00.000 --> 00:00:04.000 +Hi! My name is Eduardo Ochs. I'm the author
-of this presentation is Bidirectional Links in EEV. +00:00:04.000 --> 00:00:06.000 +of an Emacs package called eev, and the name
-Let me present things in a weird order, starting by the new feature and then I'm going to +00:00:06.000 --> 00:00:09.000 +of this presentation is: "Bidirectional links
-explain the whole context. +00:00:09.000 --> 00:00:10.000 +in eev".
-One of the main features that we are going to see here is this function here, MetaX Cla, +00:00:10.000 --> 00:00:13.000 +Let me present things in a weird order,
-and Cla is a mnemonic for Q-link to anchor. +00:00:13.000 --> 00:00:16.000 +starting by the new feature, and then I'm
-Let me explain, let me demonstrate how it works. +00:00:16.000 --> 00:00:20.000 +going to explain the whole context.
-This thing here with the green angle brackets is an anchor, this thing between the green +00:00:20.000 --> 00:00:22.000 +One of the main features that we are
-angle brackets is a tag of an anchor, and if I type MetaX Cla here, it highlights this +00:00:22.000 --> 00:00:24.000 +going to see here is this function here,
-tag for a second and it says copied to the Q-link blah blah blah, and this thing here +00:00:24.000 --> 00:00:27.000 +M-x kla, and kla is a mnemonic for "kill
-is a link. +00:00:27.000 --> 00:00:31.000 +Link to Anchor". Let me explain... let me
-I can insert the link here, I can insert the link in my notes, and if I execute this link, +00:00:31.000 --> 00:00:33.000 +demonstrate how it works. This thing here
-this link here, it goes to this anchor in this file. +00:00:33.000 --> 00:00:36.000 +with the green angle brackets is an
-If you have a recent version of EEV installed, then trying this feature should be very easy. +00:00:36.000 --> 00:00:40.000 +anchor, this thing between the green
-You just need to open this file here in which everything is defined, and then go to this +00:00:40.000 --> 00:00:42.000 +angle brackets is a tag of an
-section at the beginning of the file, and then run the three blocks of tests that are +00:00:42.000 --> 00:00:46.000 +anchor, and if I type M-x kla here
-there. +00:00:46.000 --> 00:00:49.000 +it highlights this tag for a second and
-This block corresponds roughly to what we have just done. +00:00:49.000 --> 00:00:52.000 +it says "Copied to the kill ring: blah
-This other block is slightly different because it shows some variants of Cla. +00:00:52.000 --> 00:00:54.000 +blah blah..." and this thing here is a link.
-One is with F instead of an A here. +00:00:54.000 --> 00:00:57.000 +I can insert the link here, I
-Let me show how it works. +00:00:57.000 --> 00:01:00.000 +can insert the link in my notes...
-If we type MetaX eKlf or just MetaX klf, we get a link to this file that does not point +00:01:00.000 --> 00:01:03.000 +and if I execute this thing this link
-to an anchor, and if we type MetaX klt, we get another kind of link that is linked to +00:01:03.000 --> 00:01:10.000 +here it goes to this anchor in this file.
-an anchor in the same file. +00:01:10.000 --> 00:01:12.000 +If you have a recent version of eev
-The third block is more interesting because it lets people create links to files that +00:01:12.000 --> 00:01:13.000 +installed then trying this feature
-are elsewhere and that do not have anchors pointing to them. +00:01:13.000 --> 00:01:15.000 +should be very easy...
-Let me execute this. +00:01:15.000 --> 00:01:18.000 +you just need to open the this file here,
-This will run this extra here and display the target at the window at the right. +00:01:18.000 --> 00:01:21.000 +in which everything is defined, and then
-This is one of the source files of MX. +00:01:21.000 --> 00:01:23.000 +go to this section at the beginning of
-Let's imagine that I want to create a link to this string here. +00:01:23.000 --> 00:01:26.000 +the file, and then run the three blocks
-Then I can type MetaX klfs, and this will create a link to a file in a string in that +00:01:26.000 --> 00:01:28.000 +of tests that are there.
-file. +00:01:28.000 --> 00:01:31.000 +This block corresponds roughly to what
-If I type enter here, it says copy to the kil ring, and this is a link to this file +00:01:31.000 --> 00:01:33.000 +we have just done...
-here and to the first occurrence of this string in this file. +00:01:33.000 --> 00:01:36.000 +this other block
-Notice this work inside. +00:01:36.000 --> 00:01:40.000 +is slightly different because it shows
-When I was trying to write the documentation of this, I tried to write a summary of how +00:01:40.000 --> 00:01:44.000 +some variants of kla... one is with `f'
-the algorithm works, and I failed, and I tried again, and I failed again several times, and +00:01:44.000 --> 00:01:48.000 +instead of an `a' here, let me
-then I gave up and I decided to write an intro, a tutorial, this one, that explains everything +00:01:48.000 --> 00:01:51.000 +show how it works... if we type
-but lots of details and lots of sections with try it that have examples that you can run +00:01:51.000 --> 00:01:57.000 +`M-x eeklf' or just `M-x klf'
-to understand things, to examine how some functions work, how the data structures work, +00:01:57.000 --> 00:02:00.000 +we get a link to this file that does not
-and so on. +00:02:00.000 --> 00:02:03.000 +point to an anchor, and if we type
-The problem is that sometimes we have several hyperlinks that point to the same file. +00:02:03.000 --> 00:02:07.000 +`M-x klt' we get another kind of link that
-Let me give an example. +00:02:07.000 --> 00:02:09.000 +is a link to an anchor in the same
-In the configuration in which I am now, in this file here, the old way of generating +00:02:09.000 --> 00:02:11.000 +file...
-hyperlinks to this file with find here links, which generate a temporary buffer like this, +00:02:11.000 --> 00:02:16.000 +and the third block
-and then I would have to choose which one of these hyperlinks I find best, which one +00:02:16.000 --> 00:02:18.000 +is more interesting because it lets
-I prefer, and then copy it to my notes. +00:02:18.000 --> 00:02:20.000 +people create links to files that
-So instead of choosing a hyperlink, this thing here shows all the options. +00:02:20.000 --> 00:02:23.000 +are elsewhere, and that do not have
-And in the new way, in MetaX and Friends, there's an algorithm that chooses the best +00:02:23.000 --> 00:02:25.000 +anchors in them...
-short hyperlink by itself. +00:02:25.000 --> 00:02:29.000 +let me execute this... this will
-And this algorithm is a bit hard to explain. +00:02:29.000 --> 00:02:32.000 +run this sexp here and display the
-Let me demonstrate it here. +00:02:32.000 --> 00:02:35.000 +target at the window at the right...
-Again, we have all these options here of hyperlinks to this file, and if I type MetaX klf, it +00:02:35.000 --> 00:02:41.000 +this is one of the source files of Emacs.
-chooses one of them. +00:02:41.000 --> 00:02:43.000 +Let's imagine that I want to create a
-And of course, I can copy it to my notes, it's going to work, it's going to point to +00:02:43.000 --> 00:02:46.000 +link to this string here... then I can
-here and so on. +00:02:46.000 --> 00:02:51.000 +type `M-x klfs', and this will create a
-Well, the title of this presentation was Bidirectional Links with EEV. +00:02:51.000 --> 00:02:53.000 +link to a file and to a string in that
-Let me show what I mean by bidirectional hyperlinks and how we can use this thing to create bidirectional +00:02:53.000 --> 00:02:56.000 +file. So if I type ENTER here
-hyperlinks very quickly. +00:02:56.000 --> 00:02:59.000 +it says: "Copied to the kill ring: ...\
-I will have to use a smaller font. +00:02:59.000 --> 00:03:02.000 +and this is a link to this file here,
-Let me open these two files here. +00:03:02.000 --> 00:03:04.000 +and to the first occurrence of this
-This one at the left is a program in Haskell, and this one is a file with my notes on Haskell. +00:03:04.000 --> 00:03:10.000 +string in this file.
-How do I create a link to this file in Haskell to put it in this file here? +00:03:10.000 --> 00:03:14.000 +So: how does this work (inside)?...
-I can put the cursor here in any position after this anchor here and type MetaX klf. +00:03:14.000 --> 00:03:16.000 +when I was trying to write the documentation
-It copies this link here to the kill ring, and then I can go here and either insert it +00:03:16.000 --> 00:03:19.000 +of this I tried to write a summary of
-with Ctrl Y, yank, or insert it with MetaX klf that adds a comment prefix here. +00:03:19.000 --> 00:03:21.000 +how the algorithm works, and I failed and
-So this is a way to create a link from here to there in which every comment has to be +00:03:21.000 --> 00:03:23.000 +I tried again, and I failed again,
-given explicitly. +00:03:23.000 --> 00:03:26.000 +several times... and then I gave up and I
-But I also implemented a way to create the two links at the same time. +00:03:26.000 --> 00:03:29.000 +decided to write an intro - a tutorial,
-I don't use it much. +00:03:29.000 --> 00:03:31.000 +this one -
-It is mostly for demos because it is impressive. +00:03:31.000 --> 00:03:34.000 +that explains everything with lots of
-I wanted to show that in this presentation. +00:03:34.000 --> 00:03:35.000 +details, and with lots of sections
-Anyway, let me show it here. +00:03:35.000 --> 00:03:39.000 +with "Try it!"s, that
-Note that in this file here the point is here, in this file the point is here. +00:03:39.000 --> 00:03:41.000 +have examples that you you can run to
-My trick is going to create a link to this anchor and put it in this file, and it is +00:03:41.000 --> 00:03:44.000 +understand things, to examine how some
-going to create a link to this anchor and put it in this file. +00:03:44.000 --> 00:03:48.000 +functions work, how the data
-So here it goes, MetaX klhu, ta-da! +00:03:48.000 --> 00:03:51.000 +structures work, and so on...
-It highlighted the two anchors for a second and then it created these things here and +00:03:51.000 --> 00:03:54.000 +the problem is that sometimes we have
-inserted them with the right comment prefixes. +00:03:54.000 --> 00:03:56.000 +several hyperlinks that point to the to
-And that's it. +00:03:56.000 --> 00:04:00.000 +the same file. Let me give an example.
-So that's it. +00:04:00.000 --> 00:04:04.000 +In the configuration in which I am now,
-If you found these things interesting, just install a recent version of VEV and run the +00:04:04.000 --> 00:04:07.000 +in this file here... the old way of
-tutorial either with this thing here, MetaX client client intro, or by running this exp, +00:04:07.000 --> 00:04:08.000 +generating hyperlinks to this file
-or open this file here in the iv directory and follow the tutorials. +00:04:08.000 --> 00:04:10.000 +with `find-here-links'
-And most things there are well documented, but the thing that I don't use much and that +00:04:10.000 --> 00:04:13.000 +will generate a temporary buffer
-is mostly for demos, which is the thing that creates bidirectional hyperlinks, is not yet +00:04:13.000 --> 00:04:15.000 +like this, and then I would have to
-well documented, but the rest is. +00:04:15.000 --> 00:04:18.000 +choose which one of these hyperlinks I + +00:04:18.000 --> 00:04:21.000 +find best, which one I prefer, and then + +00:04:21.000 --> 00:04:25.000 +copy it to my notes... so instead + +00:04:25.000 --> 00:04:27.000 +of choosing a hyperlink this thing here + +00:04:27.000 --> 00:04:30.000 +shows all the options. + +00:04:30.000 --> 00:04:34.000 +And in the new way, in `M-x kla' + +00:04:34.000 --> 00:04:37.000 +and friends, there's an algorithm that + +00:04:37.000 --> 00:04:39.000 +chooses the best short hyperlink by + +00:04:39.000 --> 00:04:43.000 +itself, and this algorithm is a bit hard + +00:04:43.000 --> 00:04:46.000 +to explain... let me demonstrate it here. + +00:04:46.000 --> 00:04:50.000 +Again, we have all these options here, of + +00:04:50.000 --> 00:04:51.000 +hyperlinks to this file... + +00:04:51.000 --> 00:04:56.000 +and if I type `M-x klf' + +00:04:56.000 --> 00:04:58.000 +it chooses one of them. + +00:04:58.000 --> 00:05:01.000 +And of course I can copy it to my notes, + +00:05:01.000 --> 00:05:02.000 +it's going to work, it's going to point + +00:05:02.000 --> 00:05:05.000 +to here... and so on. + +00:05:05.000 --> 00:05:08.000 +Well, the title of this presentation was + +00:05:08.000 --> 00:05:11.000 +"Bidirectional links with eev"... let me + +00:05:11.000 --> 00:05:13.000 +show what I mean by bi-directional + +00:05:13.000 --> 00:05:15.000 +hyperlinks, and how we can use this thing + +00:05:15.000 --> 00:05:17.000 +to create bidirectional hyperlinks + +00:05:17.000 --> 00:05:19.000 +very quickly. + +00:05:19.000 --> 00:05:22.000 +I will have to use a smaller font... let + +00:05:22.000 --> 00:05:25.000 +me open these two files here. This one at + +00:05:25.000 --> 00:05:27.000 +the left is a program in Haskell, and + +00:05:27.000 --> 00:05:30.000 +this one is a file with my notes on + +00:05:30.000 --> 00:05:31.000 +Haskell. + +00:05:31.000 --> 00:05:35.000 +How do I create a link from... + +00:05:35.000 --> 00:05:39.000 +to this file in Haskell + +00:05:39.000 --> 00:05:42.000 +to put it in this file here? I can put + +00:05:42.000 --> 00:05:45.000 +the cursor here, in any position + +00:05:45.000 --> 00:05:48.000 +after this anchor here, and type + +00:05:48.000 --> 00:05:49.000 +`M-x kla'... + +00:05:49.000 --> 00:05:51.000 +it copies this link here to the kill + +00:05:51.000 --> 00:05:54.000 +ring and then I can can go here and + +00:05:54.000 --> 00:05:59.000 +either insert it with C-y (yank), or + +00:05:59.000 --> 00:06:06.000 +insert it with `M-k kli', that adds a
-So that's it. +00:06:06.000 --> 00:06:07.000 +comment prefix here. + +00:06:07.000 --> 00:06:11.000 +So this is a way to create a link from + +00:06:11.000 --> 00:06:15.000 +here to there in which every + +00:06:15.000 --> 00:06:18.000 +comment has to be given explicitly... + +00:06:18.000 --> 00:06:21.000 +but I also implemented a way to + +00:06:21.000 --> 00:06:23.000 +create the two links at the same time. + +00:06:23.000 --> 00:06:25.000 +I don't use it much, it's mostly for + +00:06:25.000 --> 00:06:27.000 +demos, because it's impressive, I wanted + +00:06:27.000 --> 00:06:29.000 +to show that in this presentation... + +00:06:29.000 --> 00:06:33.000 +Anyway, let me show it here. Note that + +00:06:33.000 --> 00:06:36.000 +that in this file here the point is + +00:06:36.000 --> 00:06:40.000 +here, in this file the point is here... + +00:06:40.000 --> 00:06:43.000 +My trick is going to create a link to + +00:06:43.000 --> 00:06:47.000 +this anchor and put it in this file, and + +00:06:47.000 --> 00:06:49.000 +it's going to create a link to this + +00:06:49.000 --> 00:06:52.000 +anchor and put it in this file... + +00:06:52.000 --> 00:06:57.000 +So, here it goes: `M-x kla2'... ta-da! + +00:06:57.000 --> 00:07:01.000 +it highlighted the true anchors for a + +00:07:01.000 --> 00:07:03.000 +second, and it created these things here + +00:07:03.000 --> 00:07:06.000 +and inserted them with the + +00:07:06.000 --> 00:07:09.000 +right prefixes, I mean, the right + +00:07:09.000 --> 00:07:10.000 +comment prefixes. + +00:07:10.000 --> 00:07:15.000 +And that's it! + +00:07:15.000 --> 00:07:18.000 +So... that's it. If you found this thing + +00:07:18.000 --> 00:07:22.000 +interesting just + +00:07:22.000 --> 00:07:25.000 +install a recent version of eev and run + +00:07:25.000 --> 00:07:28.000 +the tutorial, either with this thing here, + +00:07:28.000 --> 00:07:30.000 +`M-x find-kla-intro', or by running + +00:07:30.000 --> 00:07:35.000 +this sexp, or open this file here in the + +00:07:35.000 --> 00:07:37.000 +eev directory, and follow the + +00:07:37.000 --> 00:07:39.000 +tutorials... + +00:07:39.000 --> 00:07:42.000 +most things that there are well + +00:07:42.000 --> 00:07:46.000 +documented, but the thing that I don't + +00:07:46.000 --> 00:07:47.000 +use much and that is mostly for demos, + +00:07:47.000 --> 00:07:50.000 +which is the the thing that creates + +00:07:50.000 --> 00:07:52.000 +bi-directional hyperlinks, is not yet + +00:07:52.000 --> 00:07:55.000 +well documented, but the rest is.
-Have fun. +00:07:55.000 --> 00:07:57.000 +So: that's it! Bye! Have fun! =) -- cgit v1.2.3