Running executable notes from http://angg.twu.net/ with find-angg and find-wget
This video explains how people can run my executable notes without downloading anything by (re)defining the
functions "find-angg" and "find-es" in the right way.
If you can only watch one minute from it, then watch the demo
of Maxima that starts at 15:14.
To watch the minute in which I explain how the
redefinion works, go to 11:30.
You can read the subtitles of the video here.
If you like to watch videos with subtitles in high
speed, then run the two "wget"s below to download a local copy
and the "mpv" to play it:
To make a long story short, on my machine these
open this section of my notes on Maxima.
The sexps above are equivalent to this one,
(find-fline "~/e/maxima.e" "«2021-2-C3-diag-nums»")
that opens the file ~/e/maxima.e and goes to the section
"2021-2-C3-diag-nums" in it, by searching for the first occurrence of
the string "«2021-2-C3-diag-nums»" - an anchor - in that file. I
upload to http://angg.twu.net/e/ pratically all the files with
executable notes that are in the directory ~/e/ of my machine, and so
you can access the copy of my file ~/e/maxima.e in http://angg.twu.net/e/ using a browser, or using the functions find-wget or find-wgeta of eev, that "download a URL to stdout"
and show the output of that in a temporary buffer.
The main theme of the video is that we can run `M-x
find-angg-es-links', or this sexp,
to redefine find-angg and find-es to make them use find-wgeta.
This is explained in the video starting at 11:30; if we run `M-x
find-angg-es-links' we get a temporary buffer with lots of
instructions and two executable blocks, and the first one
of them (re)defines find-angg and find-es in a way that only works on
my machine, and the second one (re)defines find-angg and find-es in
way that uses find-wgeta.
Some of my executable notes need very little setup to run. In all
the examples of the video I use the same block of executable notes,
that only needs Maxima installed - so the setup is just this (on
sudo apt-get install maxima
To watch the video in .mp4 click on the first thumbnail below.
To watch the minute in which I explain the redefinitions, click on the second thumbnail.
To watch a demo of eepitch-maxima, click on the third thumbnail.
Index of the video (elisp here, full subtitles here):
0:39 the image is the cover of my favorite CD
1:24 .e and .e.html
2:52 if I open a .e in the browser
3:19 if we download a copy of a .e with wget
3:29 run wget in way that sends the page to stdout
3:47 (find-wget "http://angg.twu.net/e/maxima.e")
3:52 the buffer name is "*wget: URL*"
3:56 this doesn't show the command-line arguments of wget
4:07 you can see that the «»s and the •s look right
4:24 (find-fline "~/e/maxima.e")
5:02 these three sexps are more or less equivalent
5:12 when we call find-angg and find-es with extra args
5:29 if we run find-fline with an extra argument
5:52 if we run find-angg with an extra argument
6:12 it searches for the first occurrence of that anchor
6:30 it points to this example here
6:38 if we type f8 here several times
7:10 then I'm going to run plot2d
7:20 and here I'm going to run plot3d
7:36 these files are on my machine
7:40 but you can use this long URL
8:06 the #2021-2-C3-diag-nums points to this anchor
8:22 (find-wget "...e.html")
8:33 then wget downloads the html file
8:48 (find-wgeta "...e")
9:03 the "a" in "find-wgeta" means
9:10 to look for the first occurrence of this anchor
9:30 note that this is a temporary buffer
9:41 by typing f8 several times
9:50 if I type f8s here, in this temporary buffer
10:20 these are my notes on a specific thing
10:40 this is what I meant by the title
10:54 Let me now show something else.
11:02 I showed that when we run find-angg
11:11 and this thing looks for the first anchor
11:30 But here is a trick.
11:32 if you're not on my machine
11:40 a temporary buffer with lots of instructions
11:49 this first block explains
12:14 this second block explains
12:24 this progn will redefine find-angg and find-es
12:32 in ways that use find-wgeta to download
12:44 and if there are extra arguments
12:59 let me explain what I mean by other strings
13:10 if I add this "Sejam" to the sexp
13:35 Anyway, let me go back.
13:41 if we run this progn in the second block
14:05 if we run this it redefines find-angg and find-es
14:12 now find-angg runs find-wgeta to download
14:30 this is a temporary buffer
14:47 searches for this anchor here
14:57 this find-es doesn the same thing
15:14 and we can run this eepitch-maxima (again)
15:37 My notes are very hyperlinked
16:04 you'll be able to use them outside of my machine
16:14 because you'll replace find-angg and find-es
16:26 in this way you can follow links like this
16:32 for example, if we're chatting on IRC
17:00 this is an easy way to run examples
17:07 In many cases my executable notes
17:07 do not need any installation
17:18 this case only needs Maxima