summaryrefslogtreecommitdiffstats
path: root/2020/subtitles/emacsconf-2020--21-on-why-most-of-the-best-features-in-eev-look-like-5-minute-hacks--eduardo-ochs-autogen.sbv
diff options
context:
space:
mode:
Diffstat (limited to '2020/subtitles/emacsconf-2020--21-on-why-most-of-the-best-features-in-eev-look-like-5-minute-hacks--eduardo-ochs-autogen.sbv')
-rw-r--r--2020/subtitles/emacsconf-2020--21-on-why-most-of-the-best-features-in-eev-look-like-5-minute-hacks--eduardo-ochs-autogen.sbv3300
1 files changed, 0 insertions, 3300 deletions
diff --git a/2020/subtitles/emacsconf-2020--21-on-why-most-of-the-best-features-in-eev-look-like-5-minute-hacks--eduardo-ochs-autogen.sbv b/2020/subtitles/emacsconf-2020--21-on-why-most-of-the-best-features-in-eev-look-like-5-minute-hacks--eduardo-ochs-autogen.sbv
deleted file mode 100644
index 62287278..00000000
--- a/2020/subtitles/emacsconf-2020--21-on-why-most-of-the-best-features-in-eev-look-like-5-minute-hacks--eduardo-ochs-autogen.sbv
+++ /dev/null
@@ -1,3300 +0,0 @@
-0:00:00.080,0:00:03.439
-hi my name is eduardo x I'm this person
-
-0:00:02.639,0:00:06.240
-here
-
-0:00:03.439,0:00:07.120
-and the title of this talk is on why
-
-0:00:06.240,0:00:09.519
-most of
-
-0:00:07.120,0:00:11.599
-most of the best features in ev look
-
-0:00:09.519,0:00:13.759
-like five minute hacks
-
-0:00:11.599,0:00:15.280
-and this is a presentation at the max
-
-0:00:13.759,0:00:21.920
-conf 2020
-
-0:00:15.280,0:00:21.920
-happening in november 22 28 and 29 2020
-
-0:00:23.199,0:00:27.680
-so this is part one of the presentation
-
-0:00:25.519,0:00:29.840
-and here I'm going to explain some
-
-0:00:27.680,0:00:31.039
-some ideas that are prerequisites for
-
-0:00:29.840,0:00:32.320
-understanding the rest of the
-
-0:00:31.039,0:00:35.440
-presentation
-
-0:00:32.320,0:00:35.760
-the three main keys of ev are matay meta
-
-0:00:35.440,0:00:37.920
-k
-
-0:00:35.760,0:00:41.520
-and mata j and I'm going to start by
-
-0:00:37.920,0:00:41.520
-explaining metae and meta k
-
-0:00:42.079,0:00:46.800
-metae is used to follow hyperlink and
-
-0:00:44.960,0:00:49.680
-technically it is
-
-0:00:46.800,0:00:50.879
-essentially just a ctrl e to move to the
-
-0:00:49.680,0:00:54.320
-end of the line and then
-
-0:00:50.879,0:00:58.960
-a ctrl x control e to execute this the
-
-0:00:54.320,0:01:00.879
-sext before point at the end of the line
-
-0:00:58.960,0:01:03.120
-and the thing is that a max comes with
-
-0:01:00.879,0:01:05.040
-many functions that can be used as sex
-
-0:01:03.120,0:01:07.040
-hyperlinks
-
-0:01:05.040,0:01:09.040
-we can consider that they point to
-
-0:01:07.040,0:01:09.520
-somewhere I'm going to refer to that as
-
-0:01:09.040,0:01:11.920
-the
-
-0:01:09.520,0:01:12.960
-target of the hyperlink and if we
-
-0:01:11.920,0:01:15.759
-execute this
-
-0:01:12.960,0:01:17.119
-sex paper links would go to that target
-
-0:01:15.759,0:01:20.000
-for example this one
-
-0:01:17.119,0:01:22.720
-is a hyperlink that points to a buffer
-
-0:01:20.000,0:01:25.040
-with demand paid for cat
-
-0:01:22.720,0:01:27.040
-and usually but not always after
-
-0:01:25.040,0:01:29.840
-following the hyperlink we can go back
-
-0:01:27.040,0:01:30.720
-by just skilling the the current buffer
-
-0:01:29.840,0:01:34.400
-that the hyperlink
-
-0:01:30.720,0:01:38.000
-created the target of the hyperlink
-
-0:01:34.400,0:01:41.360
-but this example here is badly behaved
-
-0:01:38.000,0:01:43.360
-if we execute it it creates a new frame
-
-0:01:41.360,0:01:44.640
-and to go back to the previous situation
-
-0:01:43.360,0:01:50.079
-we have to either
-
-0:01:44.640,0:01:50.079
-click here or type ctrl x50
-
-0:01:52.840,0:01:57.520
-uh
-
-0:01:54.880,0:02:00.640
-so here are some examples of sex
-
-0:01:57.520,0:02:03.600
-hyperlinks using standard max functions
-
-0:02:00.640,0:02:04.880
-this third one is uh badly behaved in a
-
-0:02:03.600,0:02:08.879
-different way
-
-0:02:04.880,0:02:09.840
-if executed we the target is created in
-
-0:02:08.879,0:02:13.840
-the same window
-
-0:02:09.840,0:02:16.000
-as we are now but it also shows a lot of
-
-0:02:13.840,0:02:20.840
-garbage here in the aqua area so
-
-0:02:16.000,0:02:23.280
-the the current frame becomes a bit
-
-0:02:20.840,0:02:26.160
-messy
-
-0:02:23.280,0:02:28.319
-and well one of the first things that I
-
-0:02:26.160,0:02:30.720
-did when I was creating av
-
-0:02:28.319,0:02:31.680
-many many years ago was that I created
-
-0:02:30.720,0:02:34.840
-variants
-
-0:02:31.680,0:02:36.640
-of all these functions that were better
-
-0:02:34.840,0:02:38.640
-behaved
-
-0:02:36.640,0:02:40.480
-and they were better behaved in two
-
-0:02:38.640,0:02:43.040
-senses the obvious one
-
-0:02:40.480,0:02:43.680
-was that they they all created the
-
-0:02:43.040,0:02:45.840
-target
-
-0:02:43.680,0:02:48.720
-in the same window as before so I could
-
-0:02:45.840,0:02:51.040
-go back by just typing meta k
-
-0:02:48.720,0:02:52.879
-which is essentially just killed this
-
-0:02:51.040,0:02:55.200
-buffer
-
-0:02:52.879,0:02:56.480
-and well but I also implemented
-
-0:02:55.200,0:02:59.040
-something extra that
-
-0:02:56.480,0:02:59.840
-are the post back lists for example for
-
-0:02:59.040,0:03:03.599
-example these
-
-0:02:59.840,0:03:06.080
-extra arguments here are a postback list
-
-0:03:03.599,0:03:09.599
-and this extra arguments specify
-
-0:03:06.080,0:03:13.040
-position and the target buffer
-
-0:03:09.599,0:03:16.720
-and in this example this this spot
-
-0:03:13.040,0:03:18.239
-spec list means starting from the from
-
-0:03:16.720,0:03:20.560
-the beginning of the buffer
-
-0:03:18.239,0:03:22.239
-search for the first occurrence of this
-
-0:03:20.560,0:03:24.159
-string
-
-0:03:22.239,0:03:25.519
-after that after the beginning of the
-
-0:03:24.159,0:03:28.159
-buffer and then
-
-0:03:25.519,0:03:29.120
-search for the first occurrence of this
-
-0:03:28.159,0:03:33.760
-string
-
-0:03:29.120,0:03:36.560
-after that
-
-0:03:33.760,0:03:38.799
-eev also defines some hyperlinks that do
-
-0:03:36.560,0:03:41.280
-not create new buffers
-
-0:03:38.799,0:03:41.840
-uh here is the first example if I
-
-0:03:41.280,0:03:45.920
-execute
-
-0:03:41.840,0:03:46.959
-this one this one is a hyperlink to the
-
-0:03:45.920,0:03:50.720
-to the result
-
-0:03:46.959,0:03:52.959
-of running this show comment date uh
-
-0:03:50.720,0:03:55.040
-but instead of showing the result in the
-
-0:03:52.959,0:03:58.959
-new buffer the result is shown
-
-0:03:55.040,0:04:01.840
-here so if execute to this type link
-
-0:03:58.959,0:04:04.239
-the result of date the output of data is
-
-0:04:01.840,0:04:06.640
-shown in the echo area and if executed
-
-0:04:04.239,0:04:06.640
-again
-
-0:04:07.120,0:04:11.519
-it shows the result again and the result
-
-0:04:09.519,0:04:15.200
-changes every second
-
-0:04:11.519,0:04:18.720
-and if so this is a variant
-
-0:04:15.200,0:04:21.840
-of fine sh
-
-0:04:18.720,0:04:24.960
-uh find sh0 is the variant that
-
-0:04:21.840,0:04:28.080
-just shows the output in the echo area
-
-0:04:24.960,0:04:31.120
-and find sh shows the output in
-
-0:04:28.080,0:04:31.120
-a new buffer
-
-0:04:31.759,0:04:37.520
-and here is an example of a hyperlink
-
-0:04:35.919,0:04:40.000
-that
-
-0:04:37.520,0:04:41.280
-calls an external program if execute
-
-0:04:40.000,0:04:43.759
-this
-
-0:04:41.280,0:04:46.639
-it it calls google chrome to open a
-
-0:04:43.759,0:04:51.520
-certain url
-
-0:04:46.639,0:04:55.280
-here it is let's go back to mx
-
-0:04:51.520,0:04:58.479
-if execute this happening here
-
-0:04:55.280,0:04:58.880
-it invokes my favorite pdf viewer which
-
-0:04:58.479,0:05:02.560
-is
-
-0:04:58.880,0:05:07.440
-xpdf it makes xpdf
-
-0:05:02.560,0:05:07.440
-open this pdf page it is pdf
-
-0:05:07.759,0:05:15.199
-in this page and this other arguments
-
-0:05:10.880,0:05:19.120
-are ignored let me show how it works
-
-0:05:15.199,0:05:20.160
-here it is this is a an accept from a
-
-0:05:19.120,0:05:22.639
-book
-
-0:05:20.160,0:05:23.199
-so page 3 and the pdf corresponds to
-
-0:05:22.639,0:05:26.400
-page
-
-0:05:23.199,0:05:29.360
-113 in the book and
-
-0:05:26.400,0:05:31.759
-this variant here of the hyperlink above
-
-0:05:29.360,0:05:34.560
-it opens the pdf in a different way
-
-0:05:31.759,0:05:36.479
-it runs a program called pdf to text on
-
-0:05:34.560,0:05:39.600
-this pdf here
-
-0:05:36.479,0:05:42.880
-and max takes the output of
-
-0:05:39.600,0:05:46.080
-run epd after text on this pdf here
-
-0:05:42.880,0:05:47.280
-and displays it in a buffer and now this
-
-0:05:46.080,0:05:50.000
-postback list
-
-0:05:47.280,0:05:51.280
-is interpreted in a different way this
-
-0:05:50.000,0:05:54.400
-thing is interpreted
-
-0:05:51.280,0:05:54.800
-as a as a number of a page and a max
-
-0:05:54.400,0:05:57.520
-goes
-
-0:05:54.800,0:05:58.240
-to page three by counting form feeds in
-
-0:05:57.520,0:06:01.440
-the
-
-0:05:58.240,0:06:03.039
-converted version of the pdf and then it
-
-0:06:01.440,0:06:06.319
-searches for this string
-
-0:06:03.039,0:06:08.479
-and in this three so let's execute this
-
-0:06:06.319,0:06:10.800
-to see what happens
-
-0:06:08.479,0:06:13.280
-here it is I opened the same page as
-
-0:06:10.800,0:06:13.280
-before
-
-0:06:14.800,0:06:20.720
-it starts with lecture one so
-
-0:06:18.400,0:06:24.720
-the other hyperlink searched for this
-
-0:06:20.720,0:06:24.720
-string and for this string here
-
-0:06:25.520,0:06:30.400
-uh and this thing here is a hyperlink to
-
-0:06:28.160,0:06:32.720
-video
-
-0:06:30.400,0:06:34.560
-and when I executed it's going to open
-
-0:06:32.720,0:06:37.759
-this video here
-
-0:06:34.560,0:06:41.199
-at this time this time stamp let's see
-
-0:06:37.759,0:06:46.840
-one two three one
-
-0:06:41.199,0:06:49.440
-two three that's the way to do
-
-0:06:46.840,0:06:52.560
-it
-
-0:06:49.440,0:06:53.680
-and also some hyperlinks that that I
-
-0:06:52.560,0:06:56.479
-defined
-
-0:06:53.680,0:06:58.160
-uh they don't work like like usual
-
-0:06:56.479,0:07:01.440
-hyperlinks they work more
-
-0:06:58.160,0:07:05.759
-like browser buttons
-
-0:07:01.440,0:07:05.759
-these buttons that appear in web pages
-
-0:07:06.240,0:07:11.360
-in the sense that these buttons usually
-
-0:07:09.120,0:07:13.280
-don't open a new page they usually
-
-0:07:11.360,0:07:14.960
-just do something to change the current
-
-0:07:13.280,0:07:18.160
-page
-
-0:07:14.960,0:07:18.880
-if I execute this the action of this
-
-0:07:18.160,0:07:22.240
-function
-
-0:07:18.880,0:07:24.800
-eek is to uh
-
-0:07:22.240,0:07:25.919
-it interprets this string as a series of
-
-0:07:24.800,0:07:28.840
-keys and it
-
-0:07:25.919,0:07:30.319
-acts as if the user had typed all these
-
-0:07:28.840,0:07:33.680
-keys so
-
-0:07:30.319,0:07:34.400
-if executed I get a hello in the next
-
-0:07:33.680,0:07:36.639
-line
-
-0:07:34.400,0:07:39.440
-if executed again I get another hello
-
-0:07:36.639,0:07:44.319
-another hello hello hello etc etc
-
-0:07:39.440,0:07:47.840
-let me undo this mess oops
-
-0:07:44.319,0:07:51.440
-and here is another kind of button
-
-0:07:47.840,0:07:54.879
-that defines a new function if I execute
-
-0:07:51.440,0:07:55.759
-this sex here at this moment though is
-
-0:07:54.879,0:07:57.919
-not defined
-
-0:07:55.759,0:08:00.000
-and if I execute this mx is going to
-
-0:07:57.919,0:08:03.599
-show me a message saying
-
-0:08:00.000,0:08:05.840
-uh symbols function cell is not defined
-
-0:08:03.599,0:08:09.520
-something like this
-
-0:08:05.840,0:08:12.960
-but if I execute the defund
-
-0:08:09.520,0:08:16.479
-this the action of this function o here
-
-0:08:12.960,0:08:18.960
-is to run this which opens a certain
-
-0:08:16.479,0:08:21.840
-directory
-
-0:08:18.960,0:08:23.039
-let me go back and here is another
-
-0:08:21.840,0:08:25.840
-button that defines
-
-0:08:23.039,0:08:26.479
-several functions at the same time if I
-
-0:08:25.840,0:08:28.879
-execute
-
-0:08:26.479,0:08:28.879
-this
-
-0:08:32.320,0:08:36.719
-note that the the result of executing
-
-0:08:35.599,0:08:38.640
-this expression
-
-0:08:36.719,0:08:40.080
-is the name of one of the functions that
-
-0:08:38.640,0:08:42.800
-it defined
-
-0:08:40.080,0:08:43.360
-that is this one here and let me explain
-
-0:08:42.800,0:08:46.959
-the
-
-0:08:43.360,0:08:48.800
-these examples uh one of the functions
-
-0:08:46.959,0:08:51.839
-that this thing here defined
-
-0:08:48.800,0:08:54.640
-is called find or git file where
-
-0:08:51.839,0:08:55.040
-this or gate in the middle of its name
-
-0:08:54.640,0:08:59.600
-is
-
-0:08:55.040,0:09:02.640
-exactly this first argument to code cd
-
-0:08:59.600,0:09:03.120
-and the action of running find or get
-
-0:09:02.640,0:09:06.399
-file
-
-0:09:03.120,0:09:09.680
-on a string like this is that
-
-0:09:06.399,0:09:13.360
-find or get file takes the string
-
-0:09:09.680,0:09:15.600
-and prepends this string to it
-
-0:09:13.360,0:09:17.920
-this one here which is the second
-
-0:09:15.600,0:09:21.760
-argument to called cd
-
-0:09:17.920,0:09:25.600
-and then it executes find flying
-
-0:09:21.760,0:09:25.600
-on the result which is this one
-
-0:09:25.680,0:09:28.800
-and fine flying is my variant of find
-
-0:09:28.320,0:09:32.080
-file
-
-0:09:28.800,0:09:36.880
-that supports both spec lists
-
-0:09:32.080,0:09:39.600
-and this function here that I'm
-
-0:09:36.880,0:09:41.200
-referring to as a button it also defines
-
-0:09:39.600,0:09:44.880
-a function called
-
-0:09:41.200,0:09:46.080
-find audit node here where the or gate
-
-0:09:44.880,0:09:50.320
-is the same string
-
-0:09:46.080,0:09:54.160
-as here and this function opens a node
-
-0:09:50.320,0:09:57.920
-of of an info manual this one
-
-0:09:54.160,0:10:00.080
-this text here opens this node in the
-
-0:09:57.920,0:10:03.519
-org manual
-
-0:10:00.080,0:10:06.800
-it is equivalent to this text here
-
-0:10:03.519,0:10:08.720
-so in the passage from this line to this
-
-0:10:06.800,0:10:11.920
-line we prepended
-
-0:10:08.720,0:10:15.040
-to the node name the name of the manual
-
-0:10:11.920,0:10:18.160
-here and find node is my variant
-
-0:10:15.040,0:10:20.399
-of this standard mx function here
-
-0:10:18.160,0:10:23.200
-but find node also supports post
-
-0:10:20.399,0:10:23.200
-backlists
-
-0:10:23.519,0:10:28.640
-eevee also defines some functions that
-
-0:10:26.640,0:10:30.800
-define shorter hyperlinks to pdfs and
-
-0:10:28.640,0:10:32.880
-videos
-
-0:10:30.800,0:10:34.720
-remember that this thing here is a
-
-0:10:32.880,0:10:37.120
-shorter hyperlink to a
-
-0:10:34.720,0:10:39.040
-to a file and this thing here is a
-
-0:10:37.120,0:10:43.200
-shorter hyperlink to a node and
-
-0:10:39.040,0:10:46.079
-in an mx menu in an info manual
-
-0:10:43.200,0:10:47.279
-uh if we run this thing here this code
-
-0:10:46.079,0:10:50.240
-pdf page
-
-0:10:47.279,0:10:52.880
-this acts like a button that defines a
-
-0:10:50.240,0:10:56.399
-certain function
-
-0:10:52.880,0:10:59.040
-and this string this other sex
-
-0:10:56.399,0:11:00.240
-here defines another function the first
-
-0:10:59.040,0:11:03.040
-one defines
-
-0:11:00.240,0:11:05.360
-the function find funcspivac page and
-
-0:11:03.040,0:11:09.279
-the second one defines the function find
-
-0:11:05.360,0:11:12.240
-from text when we run the
-
-0:11:09.279,0:11:13.440
-file when we run findfoxpivotpage it
-
-0:11:12.240,0:11:17.600
-opens
-
-0:11:13.440,0:11:20.640
-this pdf here the name is
-
-0:11:17.600,0:11:23.839
-quite long uh
-
-0:11:20.640,0:11:26.079
-this example opens this pdf at page 8
-
-0:11:23.839,0:11:28.000
-and searches for the string contents
-
-0:11:26.079,0:11:31.279
-oops sorry in this case
-
-0:11:28.000,0:11:33.519
-in this case it just ignores this string
-
-0:11:31.279,0:11:37.360
-here it only considers
-
-0:11:33.519,0:11:42.640
-the number of the page let's try
-
-0:11:37.360,0:11:45.200
-ah we got
-
-0:11:42.640,0:11:46.880
-here it is uh the contents of a book
-
-0:11:45.200,0:11:50.800
-that is freely
-
-0:11:46.880,0:11:51.760
-available uh here is another page of the
-
-0:11:50.800,0:11:55.040
-book
-
-0:11:51.760,0:11:55.519
-and if we execute the this happening
-
-0:11:55.040,0:11:58.399
-here
-
-0:11:55.519,0:11:59.920
-find funk's pivot text it converts the
-
-0:11:58.399,0:12:03.040
-pdf to text
-
-0:11:59.920,0:12:05.040
-and it searches for the page eight
-
-0:12:03.040,0:12:08.079
-in it and then for the string this
-
-0:12:05.040,0:12:11.839
-string here in page eight
-
-0:12:08.079,0:12:11.839
-it takes a few seconds
-
-0:12:12.240,0:12:20.320
-here it is so this is the
-
-0:12:16.160,0:12:25.040
-ascii version of this contents page
-
-0:12:20.320,0:12:28.800
-here uh note that this block here
-
-0:12:25.040,0:12:31.680
-is a kind of an index to that book
-
-0:12:28.800,0:12:33.600
-uh I have the full index somewhere but
-
-0:12:31.680,0:12:34.959
-it's very long so I just copied a few
-
-0:12:33.600,0:12:38.959
-lines here
-
-0:12:34.959,0:12:42.160
-uh so this is a link to the to set
-
-0:12:38.959,0:12:45.360
-section one chapter one this is the
-
-0:12:42.160,0:12:48.959
-section 1.1
-
-0:12:45.360,0:12:53.839
-section 1.1.1 and so on
-
-0:12:48.959,0:12:53.839
-and here is a link to the index
-
-0:12:54.000,0:13:02.800
-and here is a part of my index
-
-0:12:58.079,0:13:03.279
-of positions in the video that we just
-
-0:13:02.800,0:13:05.760
-saw
-
-0:13:03.279,0:13:07.360
-that I think that are especially
-
-0:13:05.760,0:13:10.639
-relevant
-
-0:13:07.360,0:13:12.399
-uh so this I believe
-
-0:13:10.639,0:13:14.160
-hyperlink is a kind of a button that
-
-0:13:12.399,0:13:18.560
-defines this function here
-
-0:13:14.160,0:13:18.560
-find punch and punch into the video
-
-0:13:18.839,0:13:21.839
-uh
-
-0:13:27.600,0:13:33.360
-and we can also use this for video
-
-0:13:31.440,0:13:37.200
-tutorials for example
-
-0:13:33.360,0:13:40.639
-this is a very good tutorial on on magic
-
-0:13:37.200,0:13:40.639
-if we execute this
-
-0:13:40.880,0:13:44.800
-then these functions are going to be
-
-0:13:42.560,0:13:48.399
-defined and these functions open
-
-0:13:44.800,0:13:50.079
-this tutorial on magic
-
-0:13:48.399,0:13:51.839
-these are some of the positions in the
-
-0:13:50.079,0:13:53.920
-tutorial that I found especially
-
-0:13:51.839,0:13:55.600
-especially relevant this is a very dense
-
-0:13:53.920,0:13:56.480
-tutorial I had to take notes of
-
-0:13:55.600,0:13:59.040
-everything
-
-0:13:56.480,0:14:00.800
-and I had to watch everything things
-
-0:13:59.040,0:14:03.440
-several times
-
-0:14:00.800,0:14:06.480
-and for example this is a link to the
-
-0:14:03.440,0:14:09.600
-position in the tutorial that explains
-
-0:14:06.480,0:14:12.880
-uh how in space
-
-0:14:09.600,0:14:17.600
-space max magic magic
-
-0:14:12.880,0:14:20.480
-interprets space gs magic status
-
-0:14:17.600,0:14:22.320
-let's see beginners space gs to initiate
-
-0:14:20.480,0:14:25.600
-magic's git status
-
-0:14:22.320,0:14:28.800
-uh you can also do that's it
-
-0:14:25.600,0:14:32.160
-and here are some examples that I
-
-0:14:28.800,0:14:34.240
-took from somewhere else the video
-
-0:14:32.160,0:14:38.800
-tutorials from
-
-0:14:34.240,0:14:38.800
-ralph koenig about org mode
-
-0:14:43.519,0:14:47.440
-now let me show how the functions that
-
-0:14:45.519,0:14:48.720
-define this router hyperlinks are
-
-0:14:47.440,0:14:51.199
-implemented
-
-0:14:48.720,0:14:52.480
-the standard ways in max to define
-
-0:14:51.199,0:14:55.760
-functions that define
-
-0:14:52.480,0:14:58.320
-other functions would be with macros uh
-
-0:14:55.760,0:14:59.040
-let's see an example this is a standard
-
-0:14:58.320,0:15:01.540
-function that
-
-0:14:59.040,0:15:02.959
-defines new functions
-
-0:15:01.540,0:15:06.959
-[Music]
-
-0:15:02.959,0:15:09.040
-and if we execute it one of the res
-
-0:15:06.959,0:15:10.160
-its result is the last function that it
-
-0:15:09.040,0:15:13.839
-defined which is
-
-0:15:10.160,0:15:13.839
-e-grief which is here
-
-0:15:13.920,0:15:19.360
-it's implemented as a macro we can
-
-0:15:16.959,0:15:20.880
-look at the result of macro expand which
-
-0:15:19.360,0:15:23.519
-is going to show
-
-0:15:20.880,0:15:25.519
-show us the result of of this of the
-
-0:15:23.519,0:15:28.000
-expansion of this
-
-0:15:25.519,0:15:28.959
-instead of expanding and executing it
-
-0:15:28.000,0:15:33.199
-just
-
-0:15:28.959,0:15:36.000
-expands and shows us the result
-
-0:15:33.199,0:15:37.600
-here the result is a bit messy is too
-
-0:15:36.000,0:15:40.959
-big for
-
-0:15:37.600,0:15:44.240
-humans to understand but we can run
-
-0:15:40.959,0:15:47.519
-this or this text here that takes that
-
-0:15:44.240,0:15:50.959
-that result and pretty prints it
-
-0:15:47.519,0:15:54.000
-so this is the pretty printed version of
-
-0:15:50.959,0:15:57.600
-uh this macro here
-
-0:15:54.000,0:16:01.120
-we can see that it defines
-
-0:15:57.600,0:16:04.399
-several functions here
-
-0:16:01.120,0:16:04.399
-for example this one
-
-0:16:06.399,0:16:09.920
-and this just as a curiosity is a link
-
-0:16:09.360,0:16:13.839
-to
-
-0:16:09.920,0:16:16.880
-the definition of cld struct
-
-0:16:13.839,0:16:19.199
-and note that the code is huge uh
-
-0:16:16.880,0:16:20.079
-well it's very well commented but it's
-
-0:16:19.199,0:16:23.759
-it has
-
-0:16:20.079,0:16:26.959
-lots of special cases it has uh
-
-0:16:23.759,0:16:27.920
-it supports lots of constructions and so
-
-0:16:26.959,0:16:30.639
-it's huge and
-
-0:16:27.920,0:16:33.360
-it's very difficult to understand I mean
-
-0:16:30.639,0:16:35.040
-I found it very difficult to understand
-
-0:16:33.360,0:16:37.759
-and here's a link to document the
-
-0:16:35.040,0:16:42.000
-documentation of cld struct
-
-0:16:37.759,0:16:46.000
-here in the manual for
-
-0:16:42.000,0:16:50.480
-cl which is a kind of support for some
-
-0:16:46.000,0:16:53.600
-features of common lisp in the max
-
-0:16:50.480,0:16:54.639
-so let's compare this standard way of
-
-0:16:53.600,0:16:56.560
-defining
-
-0:16:54.639,0:16:58.320
-functions that define new functions
-
-0:16:56.560,0:17:01.680
-which is with macros
-
-0:16:58.320,0:17:04.160
-with this I'm going to use a slogan
-
-0:17:01.680,0:17:06.319
-repeatedly the slogan is I am a very bad
-
-0:17:04.160,0:17:08.880
-programmer
-
-0:17:06.319,0:17:10.640
-I'm a very bad programmer so when I was
-
-0:17:08.880,0:17:12.240
-trying to create functions that would
-
-0:17:10.640,0:17:14.480
-define new functions
-
-0:17:12.240,0:17:16.400
-I found it easier to generally generate
-
-0:17:14.480,0:17:20.559
-this code as text
-
-0:17:16.400,0:17:23.199
-and then run read and eval in it
-
-0:17:20.559,0:17:24.640
-the code cd that we saw in the previous
-
-0:17:23.199,0:17:28.079
-section
-
-0:17:24.640,0:17:29.039
-we can see the the code that it produces
-
-0:17:28.079,0:17:31.039
-by
-
-0:17:29.039,0:17:33.280
-making a copy of this line and
-
-0:17:31.039,0:17:34.480
-prepending this string here to the name
-
-0:17:33.280,0:17:36.720
-of the function
-
-0:17:34.480,0:17:38.400
-so instead of running code cd we run
-
-0:17:36.720,0:17:41.280
-find code cd
-
-0:17:38.400,0:17:44.400
-and it creates a new temporary buffer
-
-0:17:41.280,0:17:47.760
-with the code that
-
-0:17:44.400,0:17:50.320
-code cd would execute
-
-0:17:47.760,0:17:53.919
-so it's a series of the fonts and a few
-
-0:17:50.320,0:17:53.919
-set cues and so on
-
-0:17:54.080,0:17:59.120
-and this thing is implemented mostly as
-
-0:17:57.600,0:18:02.160
-a template
-
-0:17:59.120,0:18:04.160
-uh the lola the
-
-0:18:02.160,0:18:06.240
-there's an inner function called ee
-
-0:18:04.160,0:18:08.799
-called cd base that receives just
-
-0:18:06.240,0:18:10.640
-these two arguments and it says
-
-0:18:08.799,0:18:14.320
-essentially just runs the function
-
-0:18:10.640,0:18:16.480
-e template zero on the string here and
-
-0:18:14.320,0:18:18.559
-the things between curly braces are
-
-0:18:16.480,0:18:22.559
-substituted by the values
-
-0:18:18.559,0:18:22.559
-of these arguments here
-
-0:18:23.600,0:18:28.480
-there's one part of the tutorial here
-
-0:18:25.919,0:18:31.039
-that explains all these things
-
-0:18:28.480,0:18:32.559
-uh except for the rationale for some
-
-0:18:31.039,0:18:35.360
-design decisions
-
-0:18:32.559,0:18:37.280
-and those design decisions are one of
-
-0:18:35.360,0:18:37.760
-the many motivations for this talk but
-
-0:18:37.280,0:18:39.679
-um
-
-0:18:37.760,0:18:42.640
-we are I'm only going to explain these
-
-0:18:39.679,0:18:46.799
-things in detail at the end
-
-0:18:42.640,0:18:46.799
-which is kind of so on
-
-0:18:48.480,0:18:51.600
-in the beginning I said that the three
-
-0:18:50.320,0:18:56.000
-main keys of av
-
-0:18:51.600,0:19:00.080
-are meta e meta k and meta j
-
-0:18:56.000,0:19:01.520
-let's see now what met what meta j does
-
-0:19:00.080,0:19:04.640
-uh but I need to start with some
-
-0:19:01.520,0:19:06.559
-motivation uh the motivation is that we
-
-0:19:04.640,0:19:08.240
-can define commands with very short
-
-0:19:06.559,0:19:10.160
-names and actually I became kind of
-
-0:19:08.240,0:19:13.200
-addicted to that
-
-0:19:10.160,0:19:15.600
-this is an example of the fund that
-
-0:19:13.200,0:19:18.000
-defines a comment with a very short name
-
-0:19:15.600,0:19:21.200
-its name is just one letter e
-
-0:19:18.000,0:19:21.520
-and I can invoke you invoke it with meta
-
-0:19:21.200,0:19:24.720
-x
-
-0:19:21.520,0:19:27.360
-e if I type meta xp
-
-0:19:24.720,0:19:30.000
-now it opens a latex file that I'm
-
-0:19:27.360,0:19:30.000
-working on
-
-0:19:31.130,0:19:35.200
-[Music]
-
-0:19:32.559,0:19:37.120
-and I create most of my latex files
-
-0:19:35.200,0:19:39.200
-using
-
-0:19:37.120,0:19:40.559
-template template-based functions like
-
-0:19:39.200,0:19:43.760
-the the
-
-0:19:40.559,0:19:46.559
-implementation of code cd above and
-
-0:19:43.760,0:19:49.280
-this template-based functions create
-
-0:19:46.559,0:19:51.280
-files with extension.tag
-
-0:19:49.280,0:19:53.919
-that start with a series of the fonts
-
-0:19:51.280,0:19:56.240
-and comments for example
-
-0:19:53.919,0:19:58.320
-let's look at this example here if I
-
-0:19:56.240,0:19:59.440
-execute find the attack links with this
-
-0:19:58.320,0:20:02.159
-argument
-
-0:19:59.440,0:20:03.440
-uh it's going it's going to do several
-
-0:20:02.159,0:20:06.880
-things for creating a
-
-0:20:03.440,0:20:08.320
-file called slash tmp slash forward
-
-0:20:06.880,0:20:11.200
-attack
-
-0:20:08.320,0:20:12.400
-and the header of that file is going to
-
-0:20:11.200,0:20:16.080
-be this
-
-0:20:12.400,0:20:19.280
-which starts with two and with three
-
-0:20:16.080,0:20:21.919
-the fonts with functions with very short
-
-0:20:19.280,0:20:26.240
-names and comments
-
-0:20:21.919,0:20:26.240
-let's compare with the situation here
-
-0:20:27.520,0:20:34.640
-in my file 2020 favorite conventions.tag
-
-0:20:32.799,0:20:37.039
-I have this header here in which I
-
-0:20:34.640,0:20:39.360
-define six functions with very short
-
-0:20:37.039,0:20:41.919
-names
-
-0:20:39.360,0:20:44.799
-and in this case here that is even
-
-0:20:41.919,0:20:48.000
-explained in the tutorial
-
-0:20:44.799,0:20:51.520
-this we have mnemonics for
-
-0:20:48.000,0:20:54.799
-these short names here and c is compile
-
-0:20:51.520,0:20:57.760
-d is display I mean display the pdf
-
-0:20:54.799,0:20:58.159
-and e is added in the sense of make a
-
-0:20:57.760,0:21:02.320
-max
-
-0:20:58.159,0:21:05.039
-visit that file
-
-0:21:02.320,0:21:06.480
-okay now I can explain what is meta j
-
-0:21:05.039,0:21:08.880
-itself
-
-0:21:06.480,0:21:09.600
-uh we just saw comments with very short
-
-0:21:08.880,0:21:12.320
-names
-
-0:21:09.600,0:21:14.840
-and the idea is behind meta j is that we
-
-0:21:12.320,0:21:16.480
-can define comments with very short
-
-0:21:14.840,0:21:19.679
-numbers
-
-0:21:16.480,0:21:22.559
-let me explain this uh
-
-0:21:19.679,0:21:23.039
-the short explanation for what meta j
-
-0:21:22.559,0:21:25.360
-does
-
-0:21:23.039,0:21:27.039
-is that it jumps to set certain
-
-0:21:25.360,0:21:29.760
-predefined places
-
-0:21:27.039,0:21:30.799
-in particular a meta j without a numeric
-
-0:21:29.760,0:21:33.280
-argument
-
-0:21:30.799,0:21:34.080
-takes us to a buffer with with the basic
-
-0:21:33.280,0:21:37.679
-help
-
-0:21:34.080,0:21:39.760
-and a list of the current age of targets
-
-0:21:37.679,0:21:41.520
-and this is something that is a bit
-
-0:21:39.760,0:21:44.559
-simpler to understand
-
-0:21:41.520,0:21:47.919
-if we type meta five meta j
-
-0:21:44.559,0:21:51.120
-then meta j runs this sex
-
-0:21:47.919,0:21:55.440
-here that is associated to
-
-0:21:51.120,0:21:59.039
-the argument five I say that the target
-
-0:21:55.440,0:22:01.520
-for the argument five is this one
-
-0:21:59.039,0:22:03.760
-and if the argument is true then the
-
-0:22:01.520,0:22:07.039
-target associated to the to the true
-
-0:22:03.760,0:22:09.600
-is this sex here that opens
-
-0:22:07.039,0:22:10.240
-well this one opens the main tutorial vv
-
-0:22:09.600,0:22:13.679
-and this one
-
-0:22:10.240,0:22:15.679
-opens another tutorial
-
-0:22:13.679,0:22:20.480
-this is a link to one of the tutorials
-
-0:22:15.679,0:22:22.559
-of ev to the part that explains meta j
-
-0:22:20.480,0:22:24.559
-I've copied the the main part of the
-
-0:22:22.559,0:22:28.159
-text here
-
-0:22:24.559,0:22:31.360
-the header the header that meta j shows
-
-0:22:28.159,0:22:33.919
-let me show it very quickly here
-
-0:22:31.360,0:22:36.320
-here is their header and here is their
-
-0:22:33.919,0:22:39.039
-rest
-
-0:22:36.320,0:22:40.000
-the header is very beginner friendly and
-
-0:22:39.039,0:22:42.159
-if you're a beginner
-
-0:22:40.000,0:22:44.559
-who only knows how to use meta e to
-
-0:22:42.159,0:22:46.799
-execute and met
-
-0:22:44.559,0:22:48.240
-this should be okay and meta k to go
-
-0:22:46.799,0:22:52.320
-back
-
-0:22:48.240,0:22:55.840
-then you can and should use that header
-
-0:22:52.320,0:22:55.840
-I mean this header here
-
-0:22:56.720,0:23:00.799
-as your main starting point and every
-
-0:22:59.360,0:23:03.679
-time that you feel lost
-
-0:23:00.799,0:23:04.799
-you can type meta j and to go back to
-
-0:23:03.679,0:23:07.039
-that header
-
-0:23:04.799,0:23:08.000
-and you can use its links to navigate to
-
-0:23:07.039,0:23:11.360
-the documentation
-
-0:23:08.000,0:23:14.799
-for max nav let me explain that
-
-0:23:11.360,0:23:15.679
-uh this header here has several ellis
-
-0:23:14.799,0:23:19.039
-hyperlinks
-
-0:23:15.679,0:23:22.400
-one here one here
-
-0:23:19.039,0:23:25.760
-one here one here and so on
-
-0:23:22.400,0:23:29.280
-uh these ones are links to the
-
-0:23:25.760,0:23:30.880
-to the intros which are the tutorials
-
-0:23:29.280,0:23:32.480
-find if you quick enter in the main
-
-0:23:30.880,0:23:35.760
-tutorial and find ev
-
-0:23:32.480,0:23:36.720
-keys intro is a kind of tutorial that is
-
-0:23:35.760,0:23:39.520
-an index of
-
-0:23:36.720,0:23:39.520
-the main keys
-
-0:23:40.000,0:23:43.279
-and after that we have an explanation of
-
-0:23:42.559,0:23:46.799
-what some
-
-0:23:43.279,0:23:50.240
-numeric prefixes do so if we type
-
-0:23:46.799,0:23:53.200
-met one method j the effect of that is
-
-0:23:50.240,0:23:54.640
-exactly the same as executing this and
-
-0:23:53.200,0:23:58.080
-we can execute this
-
-0:23:54.640,0:23:58.080
-with meta e also
-
-0:24:00.159,0:24:06.960
-meta tube meta j runs this sex and
-
-0:24:03.679,0:24:10.559
-I can also execute it with meta e
-
-0:24:06.960,0:24:14.240
-here it is it's this uh
-
-0:24:10.559,0:24:18.400
-intro this uh
-
-0:24:14.240,0:24:22.960
-sandbox tutorial and
-
-0:24:18.400,0:24:22.960
-here is another sandbox tutorial
-
-0:24:24.640,0:24:28.720
-let me go back and then the
-
-0:24:27.039,0:24:30.880
-documentation says that
-
-0:24:28.720,0:24:31.760
-that header the header that is beginner
-
-0:24:30.880,0:24:33.679
-friendly
-
-0:24:31.760,0:24:35.520
-is followed by a section that is very
-
-0:24:33.679,0:24:37.600
-beginner unfriendly
-
-0:24:35.520,0:24:40.240
-that contains a series of the fonts like
-
-0:24:37.600,0:24:40.240
-these ones
-
-0:24:40.400,0:24:44.640
-here the last line of the header is this
-
-0:24:43.440,0:24:46.720
-comment here
-
-0:24:44.640,0:24:48.559
-and then we have several defense like
-
-0:24:46.720,0:24:51.440
-this
-
-0:24:48.559,0:24:53.840
-let me explain how these things work
-
-0:24:51.440,0:24:57.360
-technically what happens when we type
-
-0:24:53.840,0:24:57.840
-meta j without any arguments is that it
-
-0:24:57.360,0:25:00.960
-runs
-
-0:24:57.840,0:25:04.640
-eu jump with argument neil and then
-
-0:25:00.960,0:25:06.480
-this runs 5 e jumps
-
-0:25:04.640,0:25:08.000
-when I run meta j with a numeric
-
-0:25:06.480,0:25:11.120
-argument for example
-
-0:25:08.000,0:25:14.400
-with argument 5 it runs a jump
-
-0:25:11.120,0:25:17.679
-5 and e jump five
-
-0:25:14.400,0:25:20.400
-uh concatenates this five one
-
-0:25:17.679,0:25:21.679
-to make a name of a function this
-
-0:25:20.400,0:25:24.320
-function here
-
-0:25:21.679,0:25:24.720
-and it executes this function e jump
-
-0:25:24.320,0:25:28.880
-five
-
-0:25:24.720,0:25:31.919
-you jump uh dash five
-
-0:25:28.880,0:25:35.520
-and eu jump dash five is
-
-0:25:31.919,0:25:39.360
-executes find ev equity intro
-
-0:25:35.520,0:25:41.440
-if I execute just meta j
-
-0:25:39.360,0:25:43.919
-the section that shows the current age
-
-0:25:41.440,0:25:47.120
-on targets
-
-0:25:43.919,0:25:48.159
-has a line for e job five this is that
-
-0:25:47.120,0:25:52.159
-is exactly the
-
-0:25:48.159,0:25:52.159
-thing that I was explaining before
-
-0:25:52.400,0:25:59.520
-so we can use meta j to navigate the
-
-0:25:54.840,0:26:03.440
-tutorials and we can copy the links
-
-0:25:59.520,0:26:06.799
-sorry we can copy links to the to
-
-0:26:03.440,0:26:06.799
-tutorials to our notes
-
-0:26:07.919,0:26:14.880
-oh sorry this has some typos
-
-0:26:11.840,0:26:18.080
-for example if I execute this
-
-0:26:14.880,0:26:20.640
-I go to a section of this tutorial here
-
-0:26:18.080,0:26:24.320
-that explains the main keys of ev
-
-0:26:20.640,0:26:26.240
-and these things are hyperlinks I can
-
-0:26:24.320,0:26:27.440
-mark a hyperlink like this it is just
-
-0:26:26.240,0:26:30.559
-plain text and I
-
-0:26:27.440,0:26:31.760
-can copy it to my notes and the idea is
-
-0:26:30.559,0:26:33.520
-that every time
-
-0:26:31.760,0:26:35.520
-every time that I find something that is
-
-0:26:33.520,0:26:36.240
-interesting I can create a hyperlink to
-
-0:26:35.520,0:26:38.720
-it
-
-0:26:36.240,0:26:40.799
-and I can put these links in my notes so
-
-0:26:38.720,0:26:42.960
-I can navigate back
-
-0:26:40.799,0:26:45.360
-to all the interesting positions very
-
-0:26:42.960,0:26:45.360
-quickly
-
-0:26:48.799,0:26:54.080
-okay next feature if we type meta
-
-0:26:51.760,0:26:57.039
-uppercase j
-
-0:26:54.080,0:26:57.039
-uh then
-
-0:26:57.600,0:27:03.679
-this this is a function that transforms
-
-0:27:00.080,0:27:06.080
-the current line in a certain way
-
-0:27:03.679,0:27:07.360
-let me give an example let me isolate
-
-0:27:06.080,0:27:09.919
-this and let me create
-
-0:27:07.360,0:27:11.039
-duplicate this line to to make clear
-
-0:27:09.919,0:27:14.240
-what happens
-
-0:27:11.039,0:27:16.880
-if I type meta uppercase j here
-
-0:27:14.240,0:27:17.440
-this line here becomes the fund for a
-
-0:27:16.880,0:27:21.200
-jump
-
-0:27:17.440,0:27:24.799
-6 and the target of this e-jump
-
-0:27:21.200,0:27:28.399
-is exactly this sex here
-
-0:27:24.799,0:27:28.399
-let me undo this mess
-
-0:27:28.559,0:27:32.840
-and if the first word in the line is not
-
-0:27:31.360,0:27:36.240
-a number for example
-
-0:27:32.840,0:27:39.039
-here let me do the same thing
-
-0:27:36.240,0:27:41.200
-duplicate the line and type meta
-
-0:27:39.039,0:27:44.240
-uppercase j
-
-0:27:41.200,0:27:45.600
-then mat uppercase j converts that to a
-
-0:27:44.240,0:27:49.440
-defund that defines
-
-0:27:45.600,0:27:52.720
-a function with a very short name
-
-0:27:49.440,0:27:56.720
-and this function with a very short name
-
-0:27:52.720,0:27:59.360
-opens this file here in the directory
-
-0:27:56.720,0:28:01.360
-with the copy of the the git repository
-
-0:27:59.360,0:28:04.880
-for org mode
-
-0:28:01.360,0:28:04.880
-let me undo the mass again
-
-0:28:05.360,0:28:07.760
-oops
-
-0:28:09.120,0:28:11.679
-that's it
-
-0:28:14.640,0:28:21.279
-meta uppercase j is a
-
-0:28:17.760,0:28:24.559
-particular case of of something that
-
-0:28:21.279,0:28:25.279
-I use a lot in eevee I have if he has
-
-0:28:24.559,0:28:28.799
-lots of
-
-0:28:25.279,0:28:31.780
-comments that sorry key sequences
-
-0:28:28.799,0:28:33.200
-that are like meta uppercase letter and
-
-0:28:31.780,0:28:35.279
-[Music]
-
-0:28:33.200,0:28:37.279
-almost all of them operate on the
-
-0:28:35.279,0:28:38.880
-current line and transform the current
-
-0:28:37.279,0:28:42.000
-line in certain way
-
-0:28:38.880,0:28:45.360
-for example this is a file name
-
-0:28:42.000,0:28:48.640
-and if I type meta uppercase f here
-
-0:28:45.360,0:28:50.000
-it becomes a link to that file this is
-
-0:28:48.640,0:28:53.600
-the name of a month page
-
-0:28:50.000,0:28:55.760
-and if I type meta uppercase m here
-
-0:28:53.600,0:28:58.080
-it converts that to the link to a month
-
-0:28:55.760,0:29:01.679
-page and this is a shell command
-
-0:28:58.080,0:29:04.960
-and if I type meta uppercase s here
-
-0:29:01.679,0:29:08.720
-it converts that to a link to a
-
-0:29:04.960,0:29:11.919
-to find fan shell
-
-0:29:08.720,0:29:12.960
-and until a few years ago these
-
-0:29:11.919,0:29:16.159
-functions
-
-0:29:12.960,0:29:18.080
-with matter uppercase letter were half
-
-0:29:16.159,0:29:18.880
-of my main ways of creating sex
-
-0:29:18.080,0:29:21.039
-hyperlinks
-
-0:29:18.880,0:29:22.399
-with few key strokes in the beginning of
-
-0:29:21.039,0:29:25.600
-course I had to create my
-
-0:29:22.399,0:29:28.640
-sex pipelines by typing each character
-
-0:29:25.600,0:29:31.520
-but uh after some time and decided that
-
-0:29:28.640,0:29:34.559
-I needed something more efficient
-
-0:29:31.520,0:29:34.960
-so this is end of part one of the two of
-
-0:29:34.559,0:29:37.760
-the
-
-0:29:34.960,0:29:37.760
-presentation
-
-0:29:38.480,0:29:41.760
-so this is part two of the presentation
-
-0:29:40.640,0:29:44.320
-and the main theme
-
-0:29:41.760,0:29:46.320
-here is the standard describe key
-
-0:29:44.320,0:29:49.200
-function that comes with the max
-
-0:29:46.320,0:29:50.960
-and my variant of it the thing is that
-
-0:29:49.200,0:29:53.120
-the standard described key in max
-
-0:29:50.960,0:29:55.600
-is user friendly but it is hacker
-
-0:29:53.120,0:29:58.559
-unfriendly well I felt so
-
-0:29:55.600,0:30:00.799
-and when I tried to complement it by by
-
-0:29:58.559,0:30:03.120
-writing a hacker friendly version of it
-
-0:30:00.799,0:30:03.919
-that produced the sex hyperlinks that I
-
-0:30:03.120,0:30:05.440
-needed
-
-0:30:03.919,0:30:07.039
-I got something that I found really
-
-0:30:05.440,0:30:09.679
-lovely and
-
-0:30:07.039,0:30:12.480
-several of the main designs design
-
-0:30:09.679,0:30:14.320
-decisions of eev can be seen there
-
-0:30:12.480,0:30:15.520
-but when I showed my variants to other
-
-0:30:14.320,0:30:17.760
-people they hated it
-
-0:30:15.520,0:30:19.360
-they felt that it was totally against
-
-0:30:17.760,0:30:23.440
-their notions of
-
-0:30:19.360,0:30:25.760
-user friendliness
-
-0:30:23.440,0:30:26.799
-okay so let's see the standard describe
-
-0:30:25.760,0:30:30.159
-key if I run
-
-0:30:26.799,0:30:32.399
-this hyperlink here I get
-
-0:30:30.159,0:30:34.399
-this the result of running the scribe
-
-0:30:32.399,0:30:36.399
-key on the key down
-
-0:30:34.399,0:30:38.080
-and this is a big buffer with some
-
-0:30:36.399,0:30:41.360
-things in italics
-
-0:30:38.080,0:30:43.120
-and some hyperlinks here these
-
-0:30:41.360,0:30:43.679
-hyperlinks are standard in the sense
-
-0:30:43.120,0:30:46.240
-that
-
-0:30:43.679,0:30:47.760
-the targets are not visible and they are
-
-0:30:46.240,0:30:50.799
-implemented using
-
-0:30:47.760,0:30:51.200
-buttons in a max lisp this section of
-
-0:30:50.799,0:30:53.919
-the
-
-0:30:51.200,0:30:56.240
-mx list manual describes how buttons
-
-0:30:53.919,0:30:56.240
-work
-
-0:30:56.799,0:31:03.440
-and the the source code is
-
-0:31:00.640,0:31:04.240
-quite difficult I mean when I was
-
-0:31:03.440,0:31:06.559
-starting to
-
-0:31:04.240,0:31:07.600
-to try to decipher this when I was a
-
-0:31:06.559,0:31:11.200
-beginner
-
-0:31:07.600,0:31:12.320
-using max 19.34 I felt that this
-
-0:31:11.200,0:31:15.519
-described key was
-
-0:31:12.320,0:31:20.080
-very difficult to understand uh
-
-0:31:15.519,0:31:22.640
-and I felt that the the designers the
-
-0:31:20.080,0:31:23.679
-the people who wrote it were sacrificing
-
-0:31:22.640,0:31:26.159
-too much of the
-
-0:31:23.679,0:31:30.000
-hacker friendliness that I was expecting
-
-0:31:26.159,0:31:30.000
-from it to make it beginner friendly
-
-0:31:31.279,0:31:34.799
-let me explain what are the the problems
-
-0:31:33.600,0:31:36.559
-with the standard
-
-0:31:34.799,0:31:38.640
-the describe key if we think that
-
-0:31:36.559,0:31:41.600
-hyperlinks are things like this
-
-0:31:38.640,0:31:43.600
-with the target and the text then in the
-
-0:31:41.600,0:31:47.120
-button hyperlinks of describe key
-
-0:31:43.600,0:31:49.120
-this three bad things happen first
-
-0:31:47.120,0:31:51.200
-it is hard to extract the target from
-
-0:31:49.120,0:31:52.000
-the hyperlink second it is hard to
-
-0:31:51.200,0:31:54.480
-recreate
-
-0:31:52.000,0:31:55.440
-a list of code that would go to that
-
-0:31:54.480,0:31:57.519
-target
-
-0:31:55.440,0:31:59.840
-and third it is hard to copy the full
-
-0:31:57.519,0:32:00.640
-hyperlink including the targets to other
-
-0:31:59.840,0:32:04.399
-buffers
-
-0:32:00.640,0:32:04.399
-I only knew how to copy the text
-
-0:32:04.960,0:32:09.039
-when I was trying to decipher what
-
-0:32:07.279,0:32:11.679
-described key was doing
-
-0:32:09.039,0:32:12.159
-I created lots of hyperlinks like this
-
-0:32:11.679,0:32:14.960
-to
-
-0:32:12.159,0:32:16.159
-inspect the text properties and things
-
-0:32:14.960,0:32:18.480
-like that
-
-0:32:16.159,0:32:20.000
-for example in the description of the
-
-0:32:18.480,0:32:23.600
-key down
-
-0:32:20.000,0:32:26.559
-here we have a button that points to
-
-0:32:23.600,0:32:26.559
-simple dotel
-
-0:32:26.799,0:32:31.600
-the text of that button is simple.l this
-
-0:32:29.679,0:32:34.320
-hyperlinks goes to the
-
-0:32:31.600,0:32:35.519
-to the middle of this button hyperlink
-
-0:32:34.320,0:32:39.120
-here
-
-0:32:35.519,0:32:41.919
-uh this hyperlink here
-
-0:32:39.120,0:32:43.279
-goes to the middle of the button of this
-
-0:32:41.919,0:32:46.240
-button hyperlink
-
-0:32:43.279,0:32:47.679
-and then inspects its text properties
-
-0:32:46.240,0:32:51.679
-and then goes to
-
-0:32:47.679,0:32:53.679
-this section here of the description
-
-0:32:51.679,0:32:56.159
-so this is a high level description of
-
-0:32:53.679,0:32:58.000
-the text properties
-
-0:32:56.159,0:33:00.000
-I mean the text properties that make it
-
-0:32:58.000,0:33:02.480
-a button and this is a
-
-0:33:00.000,0:33:04.320
-lower level description of the these
-
-0:33:02.480,0:33:08.000
-text properties
-
-0:33:04.320,0:33:11.440
-and the button that points to
-
-0:33:08.000,0:33:11.919
-forward line sorry the the button that
-
-0:33:11.440,0:33:14.399
-whose
-
-0:33:11.919,0:33:16.480
-text is forward line this one is
-
-0:33:14.399,0:33:19.039
-slightly different
-
-0:33:16.480,0:33:21.200
-this hyperlink here goes to the middle
-
-0:33:19.039,0:33:24.559
-of that button
-
-0:33:21.200,0:33:25.760
-and this hyperlink goes to the mid to
-
-0:33:24.559,0:33:28.559
-the middle of that button
-
-0:33:25.760,0:33:29.360
-inspects its text properties and go to
-
-0:33:28.559,0:33:32.559
-the section
-
-0:33:29.360,0:33:35.760
-of this button of this help
-
-0:33:32.559,0:33:36.399
-uh buffer here that describe the the
-
-0:33:35.760,0:33:39.120
-button
-
-0:33:36.399,0:33:41.679
-and the lower level view of the text
-
-0:33:39.120,0:33:45.519
-properties
-
-0:33:41.679,0:33:47.519
-so I started to with things like this
-
-0:33:45.519,0:33:50.159
-to understand what these buttons were
-
-0:33:47.519,0:33:50.960
-doing and I was able to figure out how
-
-0:33:50.159,0:33:53.120
-these things are
-
-0:33:50.960,0:33:55.519
-implemented and describe key and then
-
-0:33:53.120,0:33:57.760
-similar help functions in max
-
-0:33:55.519,0:34:00.000
-and I discovered that one of the main
-
-0:33:57.760,0:34:01.360
-lower level functions that a max used
-
-0:34:00.000,0:34:04.080
-for this
-
-0:34:01.360,0:34:05.279
-is a function called find function no
-
-0:34:04.080,0:34:08.240
-select
-
-0:34:05.279,0:34:09.929
-if I run find function no select on next
-
-0:34:08.240,0:34:11.200
-line
-
-0:34:09.929,0:34:14.240
-[Music]
-
-0:34:11.200,0:34:18.079
-it returns a pair
-
-0:34:14.240,0:34:20.560
-a cons made of a buffer and a position
-
-0:34:18.079,0:34:21.679
-so I created functions that would that
-
-0:34:20.560,0:34:24.320
-would
-
-0:34:21.679,0:34:25.119
-uh follow this that would open that
-
-0:34:24.320,0:34:28.320
-buffer
-
-0:34:25.119,0:34:29.679
-in that position and then this is a
-
-0:34:28.320,0:34:31.679
-postback list
-
-0:34:29.679,0:34:33.919
-so we could go to these positions and
-
-0:34:31.679,0:34:36.000
-then search for this string and another
-
-0:34:33.919,0:34:40.320
-string and another string and so on
-
-0:34:36.000,0:34:41.040
-so this goes to the definition of find a
-
-0:34:40.320,0:34:44.159
-function
-
-0:34:41.040,0:34:47.919
-and then to a to a string
-
-0:34:44.159,0:34:49.040
-after it and I use these things to
-
-0:34:47.919,0:34:51.839
-implement my own
-
-0:34:49.040,0:34:52.960
-functions that pointed to the same the
-
-0:34:51.839,0:34:55.440
-same targets
-
-0:34:52.960,0:34:57.679
-as the button hyperlinks and describe
-
-0:34:55.440,0:34:57.679
-key
-
-0:35:00.240,0:35:05.599
-again let me show the comparison this is
-
-0:35:03.200,0:35:10.480
-the standard describe key
-
-0:35:05.599,0:35:13.839
-here and this is my variant
-
-0:35:10.480,0:35:17.680
-uh it creates a buffer with links
-
-0:35:13.839,0:35:20.960
-with the list hyperlinks about this key
-
-0:35:17.680,0:35:22.960
-we get this so each one of these
-
-0:35:20.960,0:35:27.280
-functions is either a blank line
-
-0:35:22.960,0:35:27.280
-or a or an ellipse hyperlink
-
-0:35:28.720,0:35:32.880
-here is a slight variant of the of the
-
-0:35:31.760,0:35:35.920
-function
-
-0:35:32.880,0:35:38.079
-find e key links above in this variant
-
-0:35:35.920,0:35:39.280
-the argument is a string that has to be
-
-0:35:38.079,0:35:42.400
-processed by
-
-0:35:39.280,0:35:45.280
-read cbd macro to convert it to the
-
-0:35:42.400,0:35:48.160
-lower level format
-
-0:35:45.280,0:35:49.040
-and note that these functions here that
-
-0:35:48.160,0:35:51.440
-I wrote
-
-0:35:49.040,0:35:53.599
-they display temporary buffers with no
-
-0:35:51.440,0:35:57.359
-help at all
-
-0:35:53.599,0:35:58.560
-uh to be honest there's a link to a
-
-0:35:57.359,0:36:01.680
-tutorial here but
-
-0:35:58.560,0:36:03.200
-this is a recent edition so let's ignore
-
-0:36:01.680,0:36:06.640
-this
-
-0:36:03.200,0:36:08.320
-uh they they display temporary buffers
-
-0:36:06.640,0:36:09.520
-with no help at all just lots of
-
-0:36:08.320,0:36:11.599
-hyperlinks
-
-0:36:09.520,0:36:13.359
-and these hyperlinks can be they are
-
-0:36:11.599,0:36:15.040
-very hacker friendly in the sense that
-
-0:36:13.359,0:36:17.520
-they can be followed with
-
-0:36:15.040,0:36:19.920
-metae they can be copied to other
-
-0:36:17.520,0:36:23.680
-buffers because they are plain text
-
-0:36:19.920,0:36:26.240
-because they are just sex
-
-0:36:23.680,0:36:28.000
-and they can be inspected in the sense
-
-0:36:26.240,0:36:31.280
-that
-
-0:36:28.000,0:36:31.280
-for example here
-
-0:36:32.400,0:36:35.520
-we have a hyperlink to a function that
-
-0:36:34.079,0:36:37.599
-we
-
-0:36:35.520,0:36:39.200
-it may be difficult to figure out what
-
-0:36:37.599,0:36:42.320
-this function does
-
-0:36:39.200,0:36:45.839
-but we can go to that position and then
-
-0:36:42.320,0:36:48.240
-type ctrl h f to see the descript
-
-0:36:45.839,0:36:52.400
-description of this function
-
-0:36:48.240,0:36:53.890
-and here is a hyperlink to
-
-0:36:52.400,0:36:56.000
-the does that
-
-0:36:53.890,0:36:59.920
-[Music]
-
-0:36:56.000,0:36:59.920
-in my syntax say
-
-0:37:00.160,0:37:04.480
-and this list of hyperlinks were
-
-0:37:02.800,0:37:08.000
-generated by
-
-0:37:04.480,0:37:11.119
-this code here that just just uh
-
-0:37:08.000,0:37:14.320
-used a back quote to to generate
-
-0:37:11.119,0:37:14.320
-lists of sex
-
-0:37:14.640,0:37:21.040
-and I I felt that this function here
-
-0:37:18.240,0:37:22.160
-uh that just generated this list was
-
-0:37:21.040,0:37:24.960
-very easy to understand
-
-0:37:22.160,0:37:28.480
-and to modify so this was hacker
-
-0:37:24.960,0:37:31.599
-friendly in the way that I wanted
-
-0:37:28.480,0:37:34.079
-and so I started using this
-
-0:37:31.599,0:37:36.800
-and this idea of using buffers with sex
-
-0:37:34.079,0:37:38.720
-fiber links and no help violated
-
-0:37:36.800,0:37:40.079
-all the notions of user friendliness
-
-0:37:38.720,0:37:42.000
-that I knew so I was
-
-0:37:40.079,0:37:46.160
-exploring some something new at that
-
-0:37:42.000,0:37:49.359
-time and this is the end of part two
-
-0:37:46.160,0:37:52.240
-part three of this presentation is uh
-
-0:37:49.359,0:37:54.800
-about the killer features of ev or why
-
-0:37:52.240,0:37:57.920
-everybody should use av or at least have
-
-0:37:54.800,0:37:59.280
-eev installed even if they think the tv
-
-0:37:57.920,0:38:01.440
-is too weird
-
-0:37:59.280,0:38:03.440
-so this is a very quick listing eevee
-
-0:38:01.440,0:38:04.240
-has lease hyperlinks which are super
-
-0:38:03.440,0:38:06.560
-nice
-
-0:38:04.240,0:38:07.599
-it comes with lots of tutorials the main
-
-0:38:06.560,0:38:10.800
-one here
-
-0:38:07.599,0:38:14.079
-explains all the main features
-
-0:38:10.800,0:38:15.040
-uh there's also a tutorial with that's
-
-0:38:14.079,0:38:18.079
-an index of
-
-0:38:15.040,0:38:21.680
-all the other tutorials here
-
-0:38:18.079,0:38:24.079
-many many many tutorials uh if we forget
-
-0:38:21.680,0:38:27.280
-everything we can just type meta j
-
-0:38:24.079,0:38:28.880
-and remember that this this part here is
-
-0:38:27.280,0:38:30.839
-beginner friendly and the rest is
-
-0:38:28.880,0:38:32.960
-beginner
-
-0:38:30.839,0:38:38.079
-unfriendly
-
-0:38:32.960,0:38:38.079
-there's a tutorial on max list here
-
-0:38:38.320,0:38:44.640
-it mainly explains how to understand
-
-0:38:41.920,0:38:46.320
-a lisp code which is much easier than
-
-0:38:44.640,0:38:47.040
-it's much easier to understand the lisp
-
-0:38:46.320,0:38:48.800
-code and
-
-0:38:47.040,0:38:50.160
-then to understand how to program in a
-
-0:38:48.800,0:38:53.440
-lisp and
-
-0:38:50.160,0:38:55.920
-most people are only going to need this
-
-0:38:53.440,0:38:58.240
-uh ev is very easy to install it's in
-
-0:38:55.920,0:39:00.560
-helper so we just need to do
-
-0:38:58.240,0:39:03.440
-this thing here and it's very
-
-0:39:00.560,0:39:03.440
-non-invasive
-
-0:39:03.520,0:39:08.000
-uh years ago several years ago it was a
-
-0:39:06.079,0:39:08.960
-very invasive package but then I changed
-
-0:39:08.000,0:39:13.520
-everything
-
-0:39:08.960,0:39:16.640
-now uh if we toggle ev mode on and off
-
-0:39:13.520,0:39:20.000
-what's going to happen is just that the
-
-0:39:16.640,0:39:21.599
-evk map key map becomes activated or
-
-0:39:20.000,0:39:24.720
-deactivated
-
-0:39:21.599,0:39:28.320
-and when we install the evita
-
-0:39:24.720,0:39:28.640
-I mean when we require the only things
-
-0:39:28.320,0:39:32.640
-that
-
-0:39:28.640,0:39:34.480
-happens globally distance here
-
-0:39:32.640,0:39:36.240
-several functions and variables become
-
-0:39:34.480,0:39:40.079
-defined all of them have
-
-0:39:36.240,0:39:43.040
-standard prefixes except for one
-
-0:39:40.079,0:39:44.480
-three characters are changed in the
-
-0:39:43.040,0:39:48.640
-standard display table
-
-0:39:44.480,0:39:52.079
-to make them appear as colored glyphs
-
-0:39:48.640,0:39:54.160
-the red star and two and the open
-
-0:39:52.079,0:39:57.839
-double angle brackets and the closed
-
-0:39:54.160,0:39:57.839
-double angle brackets
-
-0:39:58.160,0:40:04.560
-and two environment variables are set
-
-0:40:01.359,0:40:07.599
-and this is a trivial technicality
-
-0:40:04.560,0:40:10.160
-we just run a def advice
-
-0:40:07.599,0:40:10.800
-around one function that that is used by
-
-0:40:10.160,0:40:14.240
-man
-
-0:40:10.800,0:40:16.720
-justice also
-
-0:40:14.240,0:40:18.400
-eevee has a very high discoverability
-
-0:40:16.720,0:40:21.839
-factor
-
-0:40:18.400,0:40:25.200
-and there's a way to create a very easy
-
-0:40:21.839,0:40:27.760
-way to create a hyperlink to here
-
-0:40:25.200,0:40:29.760
-uh I do not have time to show this now
-
-0:40:27.760,0:40:32.960
-but for example if I'm
-
-0:40:29.760,0:40:34.480
-here in a tutorial and I think that that
-
-0:40:32.960,0:40:36.240
-this
-
-0:40:34.480,0:40:39.520
-section is something interesting and I
-
-0:40:36.240,0:40:41.200
-want to create a hyperlink to it
-
-0:40:39.520,0:40:43.040
-I just have to type a certain key
-
-0:40:41.200,0:40:46.800
-sequence here
-
-0:40:43.040,0:40:50.400
-and here I got a hyperlink that I can
-
-0:40:46.800,0:40:52.260
-copy to my notes and this hyperlink goes
-
-0:40:50.400,0:40:58.240
-to that section
-
-0:40:52.260,0:41:00.720
-[Music]
-
-0:40:58.240,0:41:02.319
-we have hyperlinks that point to
-
-0:41:00.720,0:41:05.839
-specific positions in
-
-0:41:02.319,0:41:09.119
-pdf documents and nvidia files here
-
-0:41:05.839,0:41:09.680
-this one opens a pdf and displays it
-
-0:41:09.119,0:41:13.920
-this one
-
-0:41:09.680,0:41:16.720
-opens a pdf and converts it to text
-
-0:41:13.920,0:41:18.400
-and this one opens the video in a
-
-0:41:16.720,0:41:20.480
-certain position
-
-0:41:18.400,0:41:22.079
-and we also have a way to control
-
-0:41:20.480,0:41:25.280
-shell-like programs
-
-0:41:22.079,0:41:27.440
-uh in my presentation of the last year I
-
-0:41:25.280,0:41:29.520
-spent one third of the presentation
-
-0:41:27.440,0:41:31.839
-explaining this and I think that I gave
-
-0:41:29.520,0:41:35.680
-a very good demonstration there
-
-0:41:31.839,0:41:38.800
-the demonstration is here
-
-0:41:35.680,0:41:41.839
-we can go to the web page and go to
-
-0:41:38.800,0:41:45.440
-this section of the web page
-
-0:41:41.839,0:41:45.440
-and start by this point
-
-0:41:47.680,0:41:54.079
-and here we have an explanation and so
-
-0:41:51.440,0:41:54.079
-on whatever
-
-0:41:55.920,0:41:59.200
-and I've already mentioned this before
-
-0:41:58.720,0:42:01.119
-uh
-
-0:41:59.200,0:42:02.240
-eevee comes with a very nice elise
-
-0:42:01.119,0:42:04.240
-tutorial
-
-0:42:02.240,0:42:05.599
-so that's it this is the end of part
-
-0:42:04.240,0:42:07.359
-three
-
-0:42:05.599,0:42:09.839
-so this is the last part of my
-
-0:42:07.359,0:42:10.160
-presentation and it's about the title of
-
-0:42:09.839,0:42:11.839
-the
-
-0:42:10.160,0:42:13.599
-the presentation I called the
-
-0:42:11.839,0:42:16.560
-presentation why
-
-0:42:13.599,0:42:16.960
-most of the best features in eevee look
-
-0:42:16.560,0:42:20.480
-like
-
-0:42:16.960,0:42:20.960
-like five minute hacks uh I've already
-
-0:42:20.480,0:42:23.920
-run off
-
-0:42:20.960,0:42:24.800
-out of time so I have to to skip this
-
-0:42:23.920,0:42:28.720
-first
-
-0:42:24.800,0:42:31.280
-part here in which I describe how I
-
-0:42:28.720,0:42:33.440
-was exposed to several different notions
-
-0:42:31.280,0:42:35.920
-of user friendliness
-
-0:42:33.440,0:42:37.119
-and how the one that really blew my mind
-
-0:42:35.920,0:42:41.680
-was the one in
-
-0:42:37.119,0:42:44.160
-in a certain uh fought environment
-
-0:42:41.680,0:42:46.560
-uh and let me make the long long story
-
-0:42:44.160,0:42:49.280
-very very short
-
-0:42:46.560,0:42:49.680
-uh in all this process I switched from
-
-0:42:49.280,0:42:52.079
-from
-
-0:42:49.680,0:42:52.960
-the belief that the user was always
-
-0:42:52.079,0:42:55.359
-someone else
-
-0:42:52.960,0:42:57.040
-someone external and that that I always
-
-0:42:55.359,0:43:00.079
-had to write my programs for
-
-0:42:57.040,0:43:02.240
-this external user I switched
-
-0:43:00.079,0:43:03.200
-from from that to the belief that I am
-
-0:43:02.240,0:43:05.839
-the user
-
-0:43:03.200,0:43:07.040
-and I can play with the interface that I
-
-0:43:05.839,0:43:10.079
-want I can
-
-0:43:07.040,0:43:12.079
-write programs which that
-
-0:43:10.079,0:43:14.240
-that only I am going to understand I can
-
-0:43:12.079,0:43:16.079
-experiment with hundreds of interfaces
-
-0:43:14.240,0:43:18.720
-and then select the best ones
-
-0:43:16.079,0:43:20.960
-and document them and then share them
-
-0:43:18.720,0:43:23.520
-with other people
-
-0:43:20.960,0:43:24.720
-who are also experimenting with
-
-0:43:23.520,0:43:28.880
-interfaces in their
-
-0:43:24.720,0:43:31.119
-own ways and so eevee has
-
-0:43:28.880,0:43:33.440
-lots of things that are user-friendly in
-
-0:43:31.119,0:43:34.880
-these unusual ways that I've explained
-
-0:43:33.440,0:43:37.760
-before
-
-0:43:34.880,0:43:40.319
-and uh and if we disconsider that this
-
-0:43:37.760,0:43:44.079
-notion of user friendliness is valid
-
-0:43:40.319,0:43:45.119
-then this implement these things that av
-
-0:43:44.079,0:43:47.280
-implement they are
-
-0:43:45.119,0:43:48.800
-user friendly and hacker friendly at the
-
-0:43:47.280,0:43:51.119
-same time
-
-0:43:48.800,0:43:51.920
-and let me show one example this is one
-
-0:43:51.119,0:43:54.640
-this is
-
-0:43:51.920,0:43:56.640
-one that really took me one only five
-
-0:43:54.640,0:43:59.599
-minutes to implement
-
-0:43:56.640,0:44:00.640
-uh at one point a few months ago I
-
-0:43:59.599,0:44:04.240
-discovered
-
-0:44:00.640,0:44:05.599
-that sasha chewer's weekly posts about
-
-0:44:04.240,0:44:08.800
-the max news
-
-0:44:05.599,0:44:11.440
-had uh were also being posted to a
-
-0:44:08.800,0:44:14.800
-mailing list that is stored at
-
-0:44:11.440,0:44:16.319
-lists.we know.org and it's called max
-
-0:44:14.800,0:44:19.280
-dungeons
-
-0:44:16.319,0:44:19.760
-uh and I just and I found a way to
-
-0:44:19.280,0:44:25.440
-create
-
-0:44:19.760,0:44:28.400
-the links to to the posts in both places
-
-0:44:25.440,0:44:30.640
-but I had to use a template for that so
-
-0:44:28.400,0:44:32.560
-what we are seeing here now
-
-0:44:30.640,0:44:36.640
-is a template with the the default
-
-0:44:32.560,0:44:39.359
-values so this means that we have not uh
-
-0:44:36.640,0:44:40.720
-set the year correctly we have not set
-
-0:44:39.359,0:44:44.240
-the month correctly
-
-0:44:40.720,0:44:44.720
-or the day correctly but if we run this
-
-0:44:44.240,0:44:48.960
-text
-
-0:44:44.720,0:44:53.359
-here uh let me do something else before
-
-0:44:48.960,0:44:57.280
-if we run this text here
-
-0:44:53.359,0:45:00.240
-which we change some of these
-
-0:44:57.280,0:45:00.240
-entries in the
-
-0:45:00.880,0:45:05.200
-in the template and we get these links
-
-0:45:04.400,0:45:09.119
-here
-
-0:45:05.200,0:45:12.160
-they all work for example this one opens
-
-0:45:09.119,0:45:12.800
-uh the blog post in in session sasha
-
-0:45:12.160,0:45:16.000
-chewers
-
-0:45:12.800,0:45:21.280
-site and this one
-
-0:45:16.000,0:45:23.440
-opens it in the mailing list
-
-0:45:21.280,0:45:25.760
-and sometimes I want the org source of
-
-0:45:23.440,0:45:27.280
-that and the easiest way to get the word
-
-0:45:25.760,0:45:30.480
-source is to
-
-0:45:27.280,0:45:31.680
-look at this link here that has an
-
-0:45:30.480,0:45:35.040
-attachment
-
-0:45:31.680,0:45:38.560
-and if I take this
-
-0:45:35.040,0:45:42.319
-link here and I take this
-
-0:45:38.560,0:45:44.480
-stem that points to to the attachment
-
-0:45:42.319,0:45:45.440
-and I put it here and I generate this
-
-0:45:44.480,0:45:49.119
-page again
-
-0:45:45.440,0:45:50.000
-with all this data then I get a script
-
-0:45:49.119,0:45:53.359
-here
-
-0:45:50.000,0:45:54.640
-that downloads let me switch to a
-
-0:45:53.359,0:45:58.160
-smaller font
-
-0:45:54.640,0:46:00.960
-it downloads this attachment
-
-0:45:58.160,0:46:01.599
-and it renames that attachment to
-
-0:46:00.960,0:46:06.000
-something
-
-0:46:01.599,0:46:10.720
-dot slash nx news sorry some things
-
-0:46:06.000,0:46:15.119
-uh iphone mx news hyphen
-
-0:46:10.720,0:46:17.599
-something mxnews.org here
-
-0:46:15.119,0:46:18.400
-the file is already here already with
-
-0:46:17.599,0:46:21.359
-the right name
-
-0:46:18.400,0:46:22.079
-so I can open it with just this
-
-0:46:21.359,0:46:23.780
-hyperlink
-
-0:46:22.079,0:46:25.200
-let me go to the big font again
-
-0:46:23.780,0:46:28.079
-[Music]
-
-0:46:25.200,0:46:29.280
-and now I have the work source for that
-
-0:46:28.079,0:46:32.720
-hyperlink
-
-0:46:29.280,0:46:32.720
-sorry for that blog post
-
-0:46:33.839,0:46:40.960
-and so this one line thing
-
-0:46:37.040,0:46:43.920
-here is in a sense
-
-0:46:40.960,0:46:45.119
-a a to to this blog post in all its
-
-0:46:43.920,0:46:48.640
-formats
-
-0:46:45.119,0:46:52.000
-uh if I execute this I get links to
-
-0:46:48.640,0:46:54.400
-to all the places where it is posted
-
-0:46:52.000,0:46:56.000
-and I get a hype and I get a script to
-
-0:46:54.400,0:47:00.480
-download the local copy
-
-0:46:56.000,0:47:03.200
-of the org source of it and that's it
-
-0:47:00.480,0:47:04.480
-well I'm already out of time so let me
-
-0:47:03.200,0:47:10.079
-finish here
-
-0:47:04.480,0:47:10.079
-thanks bye
-