(Chapa 1)


Some template-based functions of eev that are not five-minute hacks (2020)

My presentation at the EmacsConf 2020 was titled "On why most of the best features in eev look like 5-minute hacks"; this is a complement to it.

In most cases when I record "executable notes" on how to perform tasks (see my talk at the EmacsConf 2019!) I record them as plain text, but in a few cases I prefer to use functions that generate text from templates. This video is about some non-trivial cases of functions that use templates to generate "executable notes" that can then be executed in several different ways.

For more on eev see http://angg.twu.net/#eev.

I recorded this video without rehearsing it first, so it's a bit messy... sorry!

Links to the video on YouTube and to its original MP4:
Its thread on reddit is here.
Its "script" is here.

If you have eev with can download and play a local copy of the video with mpv with:

(find-audiovideo-intro "7. `code-psnevideo'")
(find-audiovideo-intro "7.1. `code-eevvideo'")
(find-eevvideo-links "2020sometbf" "2020_some_template-based_functions" "91-9YfRPsuk" "0:00")
(code-eevvideo "2020sometbf" "2020_some_template-based_functions" "91-9YfRPsuk")
(code-video "2020sometbfvideo" "$S/http/angg.twu.net/eev-videos/2020_some_template-based_functions.mp4")
(find-2020sometbfvideo "0:00" "Title")
(find-2020sometbfvideo "0:17" "the reason for this title")
(find-2020sometbfvideo "0:18" "1. `find-find-links-links-new'")
(find-2020sometbfvideo "1:29" "generated again with these values")
(find-2020sometbfvideo "1:50" "the implementation is very simple")
(find-2020sometbfvideo "2:00" "in five minutes because ... generates skeletons")
(find-2020sometbfvideo "5:03" "2. `M-x brep'")
(find-2020sometbfvideo "5:43" "a way to download local copies")
(find-2020sometbfvideo "7:11" "The new way: `M-x brep'")
(find-2020sometbfvideo "8:15" "by typing `M-x brep'")
(find-2020sometbfvideo "8:50" "and then we get this buffer here")
(find-2020sometbfvideo "9:17" "3. The function that defines brep")
(find-2020sometbfvideo "9:38" "`code-brurl' is a variant of `code-c-d'")
(find-2020sometbfvideo "10:07" "find-code-url shows the code instead of executing it")
(find-2020sometbfvideo "11:26" "this is explained in the main tutorial")
(find-2020sometbfvideo "12:12" "accept extra arguments")
(find-2020sometbfvideo "12:34" "if we run just this")
(find-2020sometbfvideo "12:40" "one of the reasons for using text: comments")
(find-2020sometbfvideo "13:03" "if we run just this with extra arguments")
(find-2020sometbfvideo "14:10" "code-brurl executes this code here")
(find-2020sometbfvideo "14:20" "4. `find-esetkey-links'")
(find-2020sometbfvideo "15:20" "a big header with lots of help")
(find-2020sometbfvideo "16:28" "I have these keybindings, for toggling")
(find-2020sometbfvideo "17:06" "I realized that I use `M-x wrap' very often")
(find-2020sometbfvideo "18:18" "in the emacs-devel mailing list")
(find-2020sometbfvideo "18:32" "users should not be forced to see lisp")
(find-2020sometbfvideo "19:23" "5. `find-youtubedl-links'")
(find-2020sometbfvideo "19:43" "if we twist the notion user enough")
(find-2020sometbfvideo "20:02" "user-friendly to me")
(find-2020sometbfvideo "20:05" "The documentation is in this tutorial:")
(find-2020sometbfvideo "21:36" "its code is here")
(find-2020sometbfvideo "21:55" "Let me show a demo")
(find-2020sometbfvideo "22:15" "I never type these rm -Rv/mkdir/cd by hand")
(find-2020sometbfvideo "22:48" "let me show how to download ... the hash is here")
(find-2020sometbfvideo "23:25" "they regenerate this buffer in slightly different ways")
(find-2020sometbfvideo "24:03" "a video with this hash. If I visit the directory")
(find-2020sometbfvideo "24:32" "my magic functions have to")
(find-2020sometbfvideo "24:50" "if I run this sexp here with nil")
(find-2020sometbfvideo "25:00" "it tries to guess the title")
(find-2020sometbfvideo "25:28" "and if I change this {stem} here I get short links")
(find-2020sometbfvideo "26:14" "has very long lines, but if I type super-w")
(find-2020sometbfvideo "26:28" "I get a buffer that shows the code for find-preadingvideo")
(find-2020sometbfvideo "26:50" "if I execute this I play the video")
(find-2020sometbfvideo "27:15" "make a copy of this that points to the right position")
(find-2020sometbfvideo "27:53" "summary: this is how I download videos from youtube")
(find-2020sometbfvideo "28:12" "6. `find-here-links' and `find-extra-file-links'")
(find-2020sometbfvideo "28:20" "it deserves another presentation just to itself")
(find-2020sometbfvideo "28:32" "the central idea of eev")
(find-2020sometbfvideo "29:17" "it is bound to `M-h M-h'")
(find-2020sometbfvideo "29:25" "generates a temporary buffer with hyperlinks to here")
(find-2020sometbfvideo "29:30" "help and a link to the tutorial in which I was")
(find-2020sometbfvideo "29:45" "not very well documented yet")
(find-2020sometbfvideo "30:05" "it is explained in this section of the tutorial")
(find-2020sometbfvideo "30:18" "if we type `M-h M-e' this runs `find-extra-file-links'")
(find-2020sometbfvideo "30:42" "here is an example in Lisp")
(find-2020sometbfvideo "31:06" "and I can change this {c}")
(find-2020sometbfvideo "31:22" "Let me show a more realistic example of how to use it")
(find-2020sometbfvideo "31:28" "let's go to the directory with the video file")
(find-2020sometbfvideo "31:45" "this file is a video file")
(find-2020sometbfvideo "32:00" "(a glitch)")
(find-2020sometbfvideo "33:03" "these were the things that I wanted to show")