Warning: this is an htmlized version!
The original is here, and
the conversion rules are here.
-- This file:
--   http://anggtwu.net/SUBTITLES/emacsconf2022-py.lua.html
--   http://anggtwu.net/SUBTITLES/emacsconf2022-py.lua
--          (find-angg "SUBTITLES/emacsconf2022-py.lua")
-- Author: Eduardo Ochs <eduardoochs@gmail.com>
--   Title: Short hyperlinks to Python docs (eev @ EmacsConf2022)
--   MP4:   http://anggtwu.net/eev-videos/emacsconf2022-py.mp4
--   YT:    http://www.youtube.com/watch?v=QeqCYQSlz-I
--   Page:  http://anggtwu.net/emacsconf2022-py.html
--   Comment: A video about eev-rstdoc.el.
--   Date:    2022dec04
--   Length:  14:03
-- (defun st () (interactive) (find-angg "SUBTITLES/emacsconf2022-py.lua"))
-- Skel: (find-editeevsubtitles-links-1 "eev2022py")
--       (find-efunction 'find-editeevsubtitles-links-1)
-- Yttr: (find-yttranscript-links       "eev2022py" "QeqCYQSlz-I")
-- Info: (find-1stclassvideo-links      "eev2022py")
-- Play: (find-eev2022pyvideo "0:00")
-- I use the code below to generate the subtitles in .vtt.
ee_dofile "~/LUA/Subtitles.lua" -- (find-angg "LUA/Subtitles.lua")

-- (find-angg "LUA/Subtitles.lua")

** Run the .lua and tell it to
** write the .vtt - by default in /tmp/
* (eepitch-lua51)
* (eepitch-kill)
* (eepitch-lua51)
dofile "emacsconf2022-py.lua"
sts = Subtitles.fromsexps(subs_bigstr):addtime("14:03")
-- sts.lang = "pt-BR"
= sts
outfname = "$S/http/anggtwu.net/eev-videos/emacsconf2022-py.vtt"
outfname =                           "/tmp/emacsconf2022-py.vtt"
out = sts:vtt().."\n\n"
ee_writefile(outfname, out)
-- (find-fline                       "/tmp/emacsconf2022-py.vtt")

** Test the .vtt
** (find-eev2022pyvideo "0:00")

** Select /tmp/ or ee-eevvideosdir
** (find-eevvideosfile "")
** (find-eevvideosfile ""   "emacsconf2022-py.mp4")
** (find-eevvideossh0 "cp -v emacsconf2022-py.mp4 /tmp/")
** (code-video "eev2022pyvideo"                           "/tmp/emacsconf2022-py.mp4")
** (code-video "eev2022pyvideo" "$S/http/anggtwu.net/eev-videos/emacsconf2022-py.mp4")
** (find-eev2022pyvideo "0:00")

** Upload the emacsconf2022-py.vtt
** to http://anggtwu.net/eev-videos/
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd /tmp/
Scp-np emacsconf2022-py.vtt $TWUP/eev-videos/
Scp-np emacsconf2022-py.vtt $TWUS/eev-videos/

** Upload the subtitles to youtube
** http://www.youtube.com/watch?v=QeqCYQSlz-I

** Check that the "psne subtitles" thing works
** (find-1stclassvideo-links "eev2022py")


subs_bigstr = [==[
(find-eev2022pyvideo "00:00" "Hi! My name is Eduardo Ochs. I'm the author")
(find-eev2022pyvideo "00:04" "of an Emacs package called eev...")
(find-eev2022pyvideo "00:06" "and eev is about taking executable notes")
(find-eev2022pyvideo "00:10" "of everything that you do, and this")
(find-eev2022pyvideo "00:13" "presentation is about how I use this...")
(find-eev2022pyvideo "00:16" "how I finally found a way to take")
(find-eev2022pyvideo "00:18" "executable notes of what the python docs")
(find-eev2022pyvideo "00:22" "say.")
(find-eev2022pyvideo "00:23" "Let me explain that in another way. I've")
(find-eev2022pyvideo "00:28" "try to Learn Python many times, but")

(find-eev2022pyvideo "00:31" "hm, my brain is wired in a weird way, so")
(find-eev2022pyvideo "00:34" "it didn't work... and finally a few")
(find-eev2022pyvideo "00:37" "months ago I found a way of studying")
(find-eev2022pyvideo "00:40" "Python that finally clicked for me.")
(find-eev2022pyvideo "00:44" "The idea is that... well, it's here in")
(find-eev2022pyvideo "00:47" "the title - is a way to create short")
(find-eev2022pyvideo "00:50" "hyperlinks to the")
(find-eev2022pyvideo "00:52" "documentation of python.")
(find-eev2022pyvideo "00:54" "Here's an example.")
(find-eev2022pyvideo "00:56" "This file contains some some chunks")
(find-eev2022pyvideo "01:00" "of code from the Python tutorial and")
(find-eev2022pyvideo "01:03" "some links to the places in which")
(find-eev2022pyvideo "01:05" "I found these chunks of code.")
(find-eev2022pyvideo "01:07" "for example, if I run this link here")
(find-eev2022pyvideo "01:12" "it opens a certain page of the Python")
(find-eev2022pyvideo "01:14" "tutorial in my browser - note that it")
(find-eev2022pyvideo "01:18" "opens the local copy of the")
(find-eev2022pyvideo "01:19" "documentation -")
(find-eev2022pyvideo "01:22" "and if I")
(find-eev2022pyvideo "01:25" "run this link here it opens the source")
(find-eev2022pyvideo "01:29" "in .rst")
(find-eev2022pyvideo "01:30" "of the same page. So the first link opens")
(find-eev2022pyvideo "01:34" "the HTML and this one opens the")
(find-eev2022pyvideo "01:37" "RST. This is useful because in the")
(find-eev2022pyvideo "01:39" "beginning")
(find-eev2022pyvideo "01:40" "I was copying these chunks of code in")
(find-eev2022pyvideo "01:44" "the obvious way - I would simply")
(find-eev2022pyvideo "01:46" "visit the the documentation in HTML and")
(find-eev2022pyvideo "01:50" "I would mark")
(find-eev2022pyvideo "01:51" "a chunk... a snippet of code here and I")
(find-eev2022pyvideo "01:54" "would copy it to my notes.")
(find-eev2022pyvideo "01:58" "And then after a while I")
(find-eev2022pyvideo "02:01" "realized that it was much easier to")
(find-eev2022pyvideo "02:03" "simply go to the RST sources and to copy")
(find-eev2022pyvideo "02:07" "the chunks of code from there... and")
(find-eev2022pyvideo "02:10" "note that these links look quite similar.")
(find-eev2022pyvideo "02:14" "There's one difference here, that is")
(find-eev2022pyvideo "02:17" "this `r' that is prepended to the name")
(find-eev2022pyvideo "02:20" "of the function... the `r' means")
(find-eev2022pyvideo "02:23" "\"open the RST\"...")
(find-eev2022pyvideo "02:26" "and if I use the suffix `w' it means")
(find-eev2022pyvideo "02:30" "use the documentation on the web instead")
(find-eev2022pyvideo "02:32" "of using the local copy.")
(find-eev2022pyvideo "02:34" "So this one")
(find-eev2022pyvideo "02:36" "opens a local copy")
(find-eev2022pyvideo "02:38" "and this one")
(find-eev2022pyvideo "02:42" "takes a while")
(find-eev2022pyvideo "02:46" "and opens the")
(find-eev2022pyvideo "02:49" "the page of the documentation in the")
(find-eev2022pyvideo "02:52" "site of Python blah blah...")
(find-eev2022pyvideo "02:56" "and this thing here is")
(find-eev2022pyvideo "02:58" "executable in the usual eev sense, that")
(find-eev2022pyvideo "03:02" "we ca... if we type f8 several times here")
(find-eev2022pyvideo "03:05" "the f8s on the lines that start")
(find-eev2022pyvideo "03:08" "with red stars create a target buffer")
(find-eev2022pyvideo "03:12" "here... and in this case it creates a")
(find-eev2022pyvideo "03:14" "target buffer running Python, and if I")
(find-eev2022pyvideo "03:17" "type f8 on these other lines these are")
(find-eev2022pyvideo "03:20" "the lines are sent")
(find-eev2022pyvideo "03:23" "to that REPL.")
(find-eev2022pyvideo "03:25" "But anyway, let me go back.")
(find-eev2022pyvideo "03:30" "Most of the things that I'm going to")
(find-eev2022pyvideo "03:32" "present here are in the tutorial of this...")
(find-eev2022pyvideo "03:35" "package...")
(find-eev2022pyvideo "03:37" "we can go to the source code")
(find-eev2022pyvideo "03:41" "here in the eev directory - it's a file")
(find-eev2022pyvideo "03:44" "called eev-rstdoc.el but the best")
(find-eev2022pyvideo "03:50" "docs are in the tutorial, here...")
(find-eev2022pyvideo "03:53" "and the tutorial also has some")
(find-eev2022pyvideo "03:56" "executable")
(find-eev2022pyvideo "03:58" "chunks... some snippets of python")
(find-eev2022pyvideo "04:02" "code that are executable, but they")
(find-eev2022pyvideo "04:05" "don't have those nice colors... so")
(find-eev2022pyvideo "04:07" "apologies for that.")
(find-eev2022pyvideo "04:11" "We need to run this thing here to make")
(find-eev2022pyvideo "04:13" "everything work.")
(find-eev2022pyvideo "04:15" "This thing will define some functions")
(find-eev2022pyvideo "04:17" "with funny names that I will")
(find-eev2022pyvideo "04:19" "explain later.")
(find-eev2022pyvideo "04:26" "Let me explain something new.")
(find-eev2022pyvideo "04:30" "let's compare all these")
(find-eev2022pyvideo "04:35" "links here. They take this argument")
(find-eev2022pyvideo "04:38" "here and they expand the the argument in")
(find-eev2022pyvideo "04:41" "a certain way. For example this string is")
(find-eev2022pyvideo "04:44" "expanded to this long URL here... note that")
(find-eev2022pyvideo "04:49" "it got a prefix here,")
(find-eev2022pyvideo "04:52" "that's quite long... it got the .html here,")
(find-eev2022pyvideo "04:56" "and then the hash and the anchor here...")
(find-eev2022pyvideo "04:59" "and each one of the functions in the")
(find-eev2022pyvideo "05:03" "pydoc family expands this")
(find-eev2022pyvideo "05:06" "argument in a different way.")
(find-eev2022pyvideo "05:09" "The one that that opens the doc in the")
(find-eev2022pyvideo "05:12" "web uses another prefix -")
(find-eev2022pyvideo "05:16" "this one - and the one that opens the rst")
(find-eev2022pyvideo "05:20" "file ignores the part after the hash")
(find-eev2022pyvideo "05:24" "for technical reasons... I was never")
(find-eev2022pyvideo "05:28" "able to to find a good way to convert")
(find-eev2022pyvideo "05:30" "this hash into a string to search for,")
(find-eev2022pyvideo "05:33" "so to make something that goes to")
(find-eev2022pyvideo "05:35" "the right section in the link to the rst")
(find-eev2022pyvideo "05:38" "doc I have to convert by hand, and by")
(find-eev2022pyvideo "05:42" "trial and error, this thing here into a")
(find-eev2022pyvideo "05:46" "pointer to that section, like")
(find-eev2022pyvideo "05:48" "this one...")
(find-eev2022pyvideo "05:50" "in which the \"_numeric-types:\"")
(find-eev2022pyvideo "05:55" "is here.")
(find-eev2022pyvideo "05:58" "So all these links here are based on")
(find-eev2022pyvideo "06:02" "expansion, and this is easy to")
(find-eev2022pyvideo "06:04" "understand...")
(find-eev2022pyvideo "06:05" "but suppose that I want to")
(find-eev2022pyvideo "06:08" "create a link like this, or suppose that")
(find-eev2022pyvideo "06:11" "I'm browsing the docs here")
(find-eev2022pyvideo "06:16" "and I just I follow some some links...")
(find-eev2022pyvideo "06:21" "let me do something random here...")

(find-eev2022pyvideo "06:31" "suppose that I decide that this")
(find-eev2022pyvideo "06:34" "section is very interesting. How can I")
(find-eev2022pyvideo "06:35" "create a link to that? I can")
(find-eev2022pyvideo "06:39" "use this pilcrow symbol and the")
(find-eev2022pyvideo "06:44" "\"Copy link address\",")
(find-eev2022pyvideo "06:45" "and copy the link to")
(find-eev2022pyvideo "06:49" "my notes...")
(find-eev2022pyvideo "06:51" "and then the Python family...")
(find-eev2022pyvideo "06:55" "well, we saw the the functions in the")
(find-eev2022pyvideo "06:58" "Python family have a certain way - have")
(find-eev2022pyvideo "07:00" "several ways of expanding these")
(find-eev2022pyvideo "07:03" "short arguments... and they also have a")
(find-eev2022pyvideo "07:06" "certain way of")
(find-eev2022pyvideo "07:07" "shortening URLs like this one. If I type")
(find-eev2022pyvideo "07:11" "`M-x pdk' the message is this one.")
(find-eev2022pyvideo "07:12" "`pdk' is a mnemonic for")
(find-eev2022pyvideo "07:17" "\"Python doc kill\", and this")
(find-eev2022pyvideo "07:20" "\"kill\" means \"copy to the kill ring\"")
(find-eev2022pyvideo "07:23" "so if I type `M-x pdk' here it")
(find-eev2022pyvideo "07:27" "considers that this thing is a link")
(find-eev2022pyvideo "07:31" "to the python Docs, and it")
(find-eev2022pyvideo "07:34" "shortens this link in a certain way, and")
(find-eev2022pyvideo "07:36" "it kills a short link.")
(find-eev2022pyvideo "07:42" "I can insert the short link with C-y")
(find-eev2022pyvideo "07:45" "(yank)")
(find-eev2022pyvideo "07:46" "and then I can test this link to be sure")
(find-eev2022pyvideo "07:49" "that it points to where I want, and")
(find-eev2022pyvideo "07:52" "then I can delete this thing, and ta-da,")
(find-eev2022pyvideo "07:55" "now I have a short link, and of course I")
(find-eev2022pyvideo "07:57" "can modify this link by adding a suffix")
(find-eev2022pyvideo "08:00" "here...")
(find-eev2022pyvideo "08:02" "and in this case here")
(find-eev2022pyvideo "08:06" "I will have to change the identifier")
(find-eev2022pyvideo "08:09" "to something else...")
(find-eev2022pyvideo "08:12" "but I'm not going to do that now.")

(find-eev2022pyvideo "08:18" "This module of eev comes with three")
(find-eev2022pyvideo "08:20" "families predefined. One is a family that")
(find-eev2022pyvideo "08:24" "points to the the documentation of")
(find-eev2022pyvideo "08:26" "Python itself, another one points the")
(find-eev2022pyvideo "08:28" "documentation of SymPy, that is a program")
(find-eev2022pyvideo "08:30" "for symbolic computation, like for doing")
(find-eev2022pyvideo "08:34" "mathematics equations...")
(find-eev2022pyvideo "08:37" "and the other one points to the")
(find-eev2022pyvideo "08:40" "documentation of MatPlotLib.")
(find-eev2022pyvideo "08:43" "How do these families work?")
(find-eev2022pyvideo "08:47" "Each family has to be defined in two")
(find-eev2022pyvideo "08:51" "parts.")
(find-eev2022pyvideo "08:53" "Remember that")
(find-eev2022pyvideo "08:55" "eev has lots of functions")
(find-eev2022pyvideo "08:58" "like this one... this one")
(find-eev2022pyvideo "09:03" "is the most basic, and it is explained")
(find-eev2022pyvideo "09:06" "here, in this section of the main")
(find-eev2022pyvideo "09:08" "tutorial. This section explains that")
(find-eev2022pyvideo "09:13" "a sexp like this one produces lots of")
(find-eev2022pyvideo "09:16" "functions - produces a family of")
(find-eev2022pyvideo "09:19" "functions - and it does that by producing")
(find-eev2022pyvideo "09:23" "a certain chunk of code and then")
(find-eev2022pyvideo "09:25" "executing this chunk of code... and if we")
(find-eev2022pyvideo "09:28" "add a certain prefix here... `find-' and we")
(find-eev2022pyvideo "09:31" "execute this we can... instead of executing")
(find-eev2022pyvideo "09:35" "that chunk of code we can see what is")
(find-eev2022pyvideo "09:37" "that chunk of code. In the case of `code-c-d'")
(find-eev2022pyvideo "09:39" "it is this. It is a `setq`, several")
(find-eev2022pyvideo "09:43" "`defun's, and some comments here, with")
(find-eev2022pyvideo "09:47" "links to the documentation.")
(find-eev2022pyvideo "09:49" "In the case of rstdoc it's the same.")
(find-eev2022pyvideo "09:52" "We have this function here that defines")
(find-eev2022pyvideo "09:54" "the function in the python family...")
(find-eev2022pyvideo "09:56" "and we can run this to understand what")
(find-eev2022pyvideo "09:59" "this `code-rstdoc' does.")
(find-eev2022pyvideo "10:03" "It creates this temporary buffer here...")
(find-eev2022pyvideo "10:05" "with lots of `defun's, a `code-c-d' here,")
(find-eev2022pyvideo "10:09" "and lots of comments here... and the")
(find-eev2022pyvideo "10:10" "comments include some tests. For example")
(find-eev2022pyvideo "10:13" "we can use these functions here to test")
(find-eev2022pyvideo "10:16" "how the expansion works.")
(find-eev2022pyvideo "10:21" "And")
(find-eev2022pyvideo "10:23" "note that in this buffer here we don't")
(find-eev2022pyvideo "10:26" "have the paths that that this family")
(find-eev2022pyvideo "10:28" "uses. We don't have for example")
(find-eev2022pyvideo "10:31" "the URL that points to the site of")
(find-eev2022pyvideo "10:33" "Python, to the directory that contains")
(find-eev2022pyvideo "10:36" "the reference manual, or whatever... all")
(find-eev2022pyvideo "10:40" "these things are in another part of the")
(find-eev2022pyvideo "10:42" "definition of that family - that is a")
(find-eev2022pyvideo "10:44" "variable.")

(find-eev2022pyvideo "10:45" "If we execute this we go to the")
(find-eev2022pyvideo "10:48" "source code of eev-rstdoc,")
(find-eev2022pyvideo "10:50" "to the parts in which")
(find-eev2022pyvideo "10:54" "this variable is defined...")
(find-eev2022pyvideo "10:57" "and")
(find-eev2022pyvideo "10:59" "for each family we have a variable like")
(find-eev2022pyvideo "11:01" "this,")
(find-eev2022pyvideo "11:02" "whose value is a property")
(find-eev2022pyvideo "11:05" "list with several fields...")
(find-eev2022pyvideo "11:07" "these first fields are very easy to")
(find-eev2022pyvideo "11:09" "understand - they are used in the")
(find-eev2022pyvideo "11:10" "expansion... this one too. And these")
(find-eev2022pyvideo "11:16" "two fields are used in the shrinking -")
(find-eev2022pyvideo "11:19" "in the shortening - and")
(find-eev2022pyvideo "11:21" "this field here")
(find-eev2022pyvideo "11:25" "tells what is the name of the")
(find-eev2022pyvideo "11:28" "killing function")
(find-eev2022pyvideo "11:30" "so the fields of this thing here are")
(find-eev2022pyvideo "11:33" "used")
(find-eev2022pyvideo "11:34" "to generate...")
(find-eev2022pyvideo "11:36" "some fields are used to generate the")
(find-eev2022pyvideo "11:39" "code that appears here, and some fields")
(find-eev2022pyvideo "11:41" "are simply")
(find-eev2022pyvideo "11:44" "read by functions like this one, that")
(find-eev2022pyvideo "11:47" "consults the variable.")
(find-eev2022pyvideo "11:51" "Now the natural question is: how can we")
(find-eev2022pyvideo "11:53" "define new families? Or: how can we change")
(find-eev2022pyvideo "11:57" "a family like this one to point to")
(find-eev2022pyvideo "11:59" "another version of Python?")
(find-eev2022pyvideo "12:03" "There are some template-based functions")
(find-eev2022pyvideo "12:06" "for doing that. They are explained in")
(find-eev2022pyvideo "12:09" "this section of the tutorial...")
(find-eev2022pyvideo "12:10" "where is that?...")
(find-eev2022pyvideo "12:14" "oh God, it's far away...")
(find-eev2022pyvideo "12:17" "here.")
(find-eev2022pyvideo "12:20" "Suppose that we have a package foo, that")
(find-eev2022pyvideo "12:23" "we want to create a family that points")
(find-eev2022pyvideo "12:25" "to the docs")
(find-eev2022pyvideo "12:27" "of that package foo... so, we")
(find-eev2022pyvideo "12:31" "can execute this thing here, and it")
(find-eev2022pyvideo "12:32" "generates this")
(find-eev2022pyvideo "12:34" "this thing from a template.")
(find-eev2022pyvideo "12:37" "If we just want to modify a current")
(find-eev2022pyvideo "12:40" "definition we can run something like")
(find-eev2022pyvideo "12:42" "this - note that the family `:py'")
(find-eev2022pyvideo "12:44" "already exists, and instead of using")
(find-eev2022pyvideo "12:47" "placeholders in some of these")
(find-eev2022pyvideo "12:51" "URLs it will use the current values of")
(find-eev2022pyvideo "12:53" "the fields...")
(find-eev2022pyvideo "12:55" "so we can also use this modify")
(find-eev2022pyvideo "12:59" "existing families.")
(find-eev2022pyvideo "13:01" "Well these are the technical details.")
(find-eev2022pyvideo "13:05" "Now the natural question is: why do I")
(find-eev2022pyvideo "13:08" "want this? This doesn't")
(find-eev2022pyvideo "13:12" "any sense to me! Why should I")
(find-eev2022pyvideo "13:14" "try this?")
(find-eev2022pyvideo "13:15" "And the best answer: is for most people")
(find-eev2022pyvideo "13:18" "this way of using")
(find-eev2022pyvideo "13:21" "executable notes do not make any sense")
(find-eev2022pyvideo "13:24" "at all at first sight...")
(find-eev2022pyvideo "13:27" "so what I'm trying to do is: I'm trying")
(find-eev2022pyvideo "13:30" "to write to these tutorials with")
(find-eev2022pyvideo "13:33" "many examples that are very easy to run,")
(find-eev2022pyvideo "13:35" "and that examine data structures,")
(find-eev2022pyvideo "13:38" "and functions, and test things,")
(find-eev2022pyvideo "13:40" "and so on... so my main argument")
(find-eev2022pyvideo "13:46" "for convincing people to")
(find-eev2022pyvideo "13:48" "test this is: this is trivial to test -")
(find-eev2022pyvideo "13:52" "simply install eev and run this thing")
(find-eev2022pyvideo "13:54" "here, and run the examples, and probably")
(find-eev2022pyvideo "13:56" "you're going to find that this")
(find-eev2022pyvideo "13:58" "tutorial is fun to follow.")
(find-eev2022pyvideo "14:01" "So that's it! =)")


unrevised_bigstr = [==[


-- Local Variables:
-- coding:  utf-8-unix
-- End: