(Chapa 1)


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.
To make a long story short, on my machine these sexps

(find-angg "e/maxima.e" "2021-2-C3-diag-nums")
  (find-es   "maxima"   "2021-2-C3-diag-nums")

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 Debian):

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):

0:21  http://angg.twu.net/eev-find-angg.html
0:39  the image is the cover of my favorite CD
0:56  http://angg.twu.net/e/
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:30    (find-angg-es-links)
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