Quick
index
main
eev
maths
blogme
dednat6
littlelangs
PURO
(GAC2,
C3TD,
λMDetc)
(Chapa 1)

emacs
lua
(la)tex
maxima
fvwm
agda
tcl
forth
icon
debian
irc
contact

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,

(find-angg-es-links)

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