summaryrefslogtreecommitdiffstats
path: root/2022/info/python-after.md
diff options
context:
space:
mode:
Diffstat (limited to '2022/info/python-after.md')
-rw-r--r--2022/info/python-after.md291
1 files changed, 291 insertions, 0 deletions
diff --git a/2022/info/python-after.md b/2022/info/python-after.md
index 382d2169..fd1649bd 100644
--- a/2022/info/python-after.md
+++ b/2022/info/python-after.md
@@ -1,6 +1,297 @@
<!-- Automatically generated by emacsconf-publish-after-page -->
+<a name="python-mainVideo-transcript"></a>
+# Transcript
+
+[[!template text="""Hi! My name is Eduardo Ochs. I'm the author""" start="00:00:00.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""of an Emacs package called eev...""" start="00:00:04.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""and eev is about taking executable notes""" start="00:00:06.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""of everything that you do, and this""" start="00:00:10.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""presentation is about how I use this...""" start="00:00:13.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""how I finally found a way to take""" start="00:00:16.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""executable notes of what the python docs""" start="00:00:18.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""say.""" start="00:00:22.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""Let me explain that in another way. I've""" start="00:00:23.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""try to Learn Python many times, but""" start="00:00:28.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""hm, my brain is wired in a weird way, so""" start="00:00:31.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""it didn't work... and finally a few""" start="00:00:34.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""months ago I found a way of studying""" start="00:00:37.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""Python that finally clicked for me.""" start="00:00:40.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""The idea is that... well, it's here in""" start="00:00:44.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""the title - is a way to create short""" start="00:00:47.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""hyperlinks to the""" start="00:00:50.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""documentation of python.""" start="00:00:52.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""Here's an example.""" start="00:00:54.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""This file contains some some chunks""" start="00:00:56.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""of code from the Python tutorial and""" start="00:01:00.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""some links to the places in which""" start="00:01:03.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""I found these chunks of code.""" start="00:01:05.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""for example, if I run this link here""" start="00:01:07.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""it opens a certain page of the Python""" start="00:01:12.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""tutorial in my browser - note that it""" start="00:01:14.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""opens the local copy of the""" start="00:01:18.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""documentation -""" start="00:01:19.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""and if I""" start="00:01:22.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""run this link here it opens the source""" start="00:01:25.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""in .rst""" start="00:01:29.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""of the same page. So the first link opens""" start="00:01:30.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""the HTML and this one opens the""" start="00:01:34.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""RST. This is useful because in the""" start="00:01:37.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""beginning""" start="00:01:39.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""I was copying these chunks of code in""" start="00:01:40.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""the obvious way - I would simply""" start="00:01:44.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""visit the the documentation in HTML and""" start="00:01:46.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""I would mark""" start="00:01:50.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""a chunk... a snippet of code here and I""" start="00:01:51.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""would copy it to my notes.""" start="00:01:54.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""And then after a while I""" start="00:01:58.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""realized that it was much easier to""" start="00:02:01.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""simply go to the RST sources and to copy""" start="00:02:03.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""the chunks of code from there... and""" start="00:02:07.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""note that these links look quite similar.""" start="00:02:10.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""There's one difference here, that is""" start="00:02:14.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""this `r' that is prepended to the name""" start="00:02:17.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""of the function... the `r' means""" start="00:02:20.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""&quot;open the RST&quot;...""" start="00:02:23.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""and if I use the suffix `w' it means""" start="00:02:26.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""use the documentation on the web instead""" start="00:02:30.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""of using the local copy.""" start="00:02:32.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""So this one""" start="00:02:34.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""opens a local copy""" start="00:02:36.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""and this one""" start="00:02:38.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""takes a while""" start="00:02:42.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""and opens the""" start="00:02:46.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""the page of the documentation in the""" start="00:02:49.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""site of Python blah blah...""" start="00:02:52.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""and this thing here is""" start="00:02:56.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""executable in the usual eev sense, that""" start="00:02:58.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""we ca... if we type f8 several times here""" start="00:03:02.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""the f8s on the lines that start""" start="00:03:05.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""with red stars create a target buffer""" start="00:03:08.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""here... and in this case it creates a""" start="00:03:12.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""target buffer running Python, and if I""" start="00:03:14.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""type f8 on these other lines these are""" start="00:03:17.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""the lines are sent""" start="00:03:20.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""to that REPL.""" start="00:03:23.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""But anyway, let me go back.""" start="00:03:25.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""Most of the things that I'm going to""" start="00:03:30.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""present here are in the tutorial of this...""" start="00:03:32.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""package...""" start="00:03:35.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""we can go to the source code""" start="00:03:37.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""here in the eev directory - it's a file""" start="00:03:41.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""called eev-rstdoc.el but the best""" start="00:03:44.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""docs are in the tutorial, here...""" start="00:03:50.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""and the tutorial also has some""" start="00:03:53.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""executable""" start="00:03:56.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""chunks... some snippets of python""" start="00:03:58.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""code that are executable, but they""" start="00:04:02.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""don't have those nice colors... so""" start="00:04:05.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""apologies for that.""" start="00:04:07.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""We need to run this thing here to make""" start="00:04:11.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""everything work.""" start="00:04:13.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""This thing will define some functions""" start="00:04:15.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""with funny names that I will""" start="00:04:17.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""explain later.""" start="00:04:19.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""Let me explain something new.""" start="00:04:26.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""let's compare all these""" start="00:04:30.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""links here. They take this argument""" start="00:04:35.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""here and they expand the the argument in""" start="00:04:38.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""a certain way. For example this string is""" start="00:04:41.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""expanded to this long URL here... note that""" start="00:04:44.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""it got a prefix here,""" start="00:04:49.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""that's quite long... it got the .html here,""" start="00:04:52.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""and then the hash and the anchor here...""" start="00:04:56.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""and each one of the functions in the""" start="00:04:59.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""pydoc family expands this""" start="00:05:03.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""argument in a different way.""" start="00:05:06.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""The one that that opens the doc in the""" start="00:05:09.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""web uses another prefix -""" start="00:05:12.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""this one - and the one that opens the rst""" start="00:05:16.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""file ignores the part after the hash""" start="00:05:20.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""for technical reasons... I was never""" start="00:05:24.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""able to to find a good way to convert""" start="00:05:28.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""this hash into a string to search for,""" start="00:05:30.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""so to make something that goes to""" start="00:05:33.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""the right section in the link to the rst""" start="00:05:35.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""doc I have to convert by hand, and by""" start="00:05:38.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""trial and error, this thing here into a""" start="00:05:42.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""pointer to that section, like""" start="00:05:46.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""this one...""" start="00:05:48.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""in which the &quot;_numeric-types:&quot;""" start="00:05:50.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""is here.""" start="00:05:55.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""So all these links here are based on""" start="00:05:58.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""expansion, and this is easy to""" start="00:06:02.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""understand...""" start="00:06:04.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""but suppose that I want to""" start="00:06:05.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""create a link like this, or suppose that""" start="00:06:08.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""I'm browsing the docs here""" start="00:06:11.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""and I just I follow some some links...""" start="00:06:16.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""let me do something random here...""" start="00:06:21.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""suppose that I decide that this""" start="00:06:31.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""section is very interesting. How can I""" start="00:06:34.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""create a link to that? I can""" start="00:06:35.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""use this pilcrow symbol and the""" start="00:06:39.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""&quot;Copy link address&quot;,""" start="00:06:44.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""and copy the link to""" start="00:06:45.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""my notes...""" start="00:06:49.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""and then the Python family...""" start="00:06:51.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""well, we saw the the functions in the""" start="00:06:55.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""Python family have a certain way - have""" start="00:06:58.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""several ways of expanding these""" start="00:07:00.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""short arguments... and they also have a""" start="00:07:03.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""certain way of""" start="00:07:06.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""shortening URLs like this one. If I type""" start="00:07:07.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""`M-x pdk' the message is this one.""" start="00:07:11.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""`pdk' is a mnemonic for""" start="00:07:12.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""&quot;Python doc kill&quot;, and this""" start="00:07:17.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""&quot;kill&quot; means &quot;copy to the kill ring&quot;""" start="00:07:20.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""so if I type `M-x pdk' here it""" start="00:07:23.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""considers that this thing is a link""" start="00:07:27.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""to the python Docs, and it""" start="00:07:31.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""shortens this link in a certain way, and""" start="00:07:34.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""it kills a short link.""" start="00:07:36.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""I can insert the short link with C-y""" start="00:07:42.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""(yank)""" start="00:07:45.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""and then I can test this link to be sure""" start="00:07:46.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""that it points to where I want, and""" start="00:07:49.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""then I can delete this thing, and ta-da,""" start="00:07:52.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""now I have a short link, and of course I""" start="00:07:55.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""can modify this link by adding a suffix""" start="00:07:57.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""here...""" start="00:08:00.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""and in this case here""" start="00:08:02.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""I will have to change the identifier""" start="00:08:06.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""to something else...""" start="00:08:09.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""but I'm not going to do that now.""" start="00:08:12.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""This module of eev comes with three""" start="00:08:18.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""families predefined. One is a family that""" start="00:08:20.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""points to the the documentation of""" start="00:08:24.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""Python itself, another one points the""" start="00:08:26.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""documentation of SymPy, that is a program""" start="00:08:28.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""for symbolic computation, like for doing""" start="00:08:30.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""mathematics equations...""" start="00:08:34.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""and the other one points to the""" start="00:08:37.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""documentation of MatPlotLib.""" start="00:08:40.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""How do these families work?""" start="00:08:43.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""Each family has to be defined in two""" start="00:08:47.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""parts.""" start="00:08:51.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""Remember that""" start="00:08:53.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""eev has lots of functions""" start="00:08:55.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""like this one... this one""" start="00:08:58.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""is the most basic, and it is explained""" start="00:09:03.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""here, in this section of the main""" start="00:09:06.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""tutorial. This section explains that""" start="00:09:08.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""a sexp like this one produces lots of""" start="00:09:13.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""functions - produces a family of""" start="00:09:16.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""functions - and it does that by producing""" start="00:09:19.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""a certain chunk of code and then""" start="00:09:23.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""executing this chunk of code... and if we""" start="00:09:25.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""add a certain prefix here... `find-' and we""" start="00:09:28.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""execute this we can... instead of executing""" start="00:09:31.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""that chunk of code we can see what is""" start="00:09:35.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""that chunk of code. In the case of `code-c-d'""" start="00:09:37.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""it is this. It is a `setq`, several""" start="00:09:39.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""`defun's, and some comments here, with""" start="00:09:43.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""links to the documentation.""" start="00:09:47.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""In the case of rstdoc it's the same.""" start="00:09:49.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""We have this function here that defines""" start="00:09:52.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""the function in the python family...""" start="00:09:54.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""and we can run this to understand what""" start="00:09:56.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""this `code-rstdoc' does.""" start="00:09:59.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""It creates this temporary buffer here...""" start="00:10:03.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""with lots of `defun's, a `code-c-d' here,""" start="00:10:05.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""and lots of comments here... and the""" start="00:10:09.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""comments include some tests. For example""" start="00:10:10.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""we can use these functions here to test""" start="00:10:13.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""how the expansion works.""" start="00:10:16.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""And""" start="00:10:21.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""note that in this buffer here we don't""" start="00:10:23.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""have the paths that that this family""" start="00:10:26.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""uses. We don't have for example""" start="00:10:28.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""the URL that points to the site of""" start="00:10:31.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""Python, to the directory that contains""" start="00:10:33.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""the reference manual, or whatever... all""" start="00:10:36.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""these things are in another part of the""" start="00:10:40.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""definition of that family - that is a""" start="00:10:42.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""variable.""" start="00:10:44.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""If we execute this we go to the""" start="00:10:45.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""source code of eev-rstdoc,""" start="00:10:48.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""to the parts in which""" start="00:10:50.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""this variable is defined...""" start="00:10:54.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""and""" start="00:10:57.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""for each family we have a variable like""" start="00:10:59.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""this,""" start="00:11:01.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""whose value is a property""" start="00:11:02.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""list with several fields...""" start="00:11:05.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""these first fields are very easy to""" start="00:11:07.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""understand - they are used in the""" start="00:11:09.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""expansion... this one too. And these""" start="00:11:10.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""two fields are used in the shrinking -""" start="00:11:16.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""in the shortening - and""" start="00:11:19.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""this field here""" start="00:11:21.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""tells what is the name of the""" start="00:11:25.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""killing function""" start="00:11:28.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""so the fields of this thing here are""" start="00:11:30.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""used""" start="00:11:33.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""to generate...""" start="00:11:34.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""some fields are used to generate the""" start="00:11:36.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""code that appears here, and some fields""" start="00:11:39.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""are simply""" start="00:11:41.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""read by functions like this one, that""" start="00:11:44.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""consults the variable.""" start="00:11:47.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""Now the natural question is: how can we""" start="00:11:51.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""define new families? Or: how can we change""" start="00:11:53.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""a family like this one to point to""" start="00:11:57.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""another version of Python?""" start="00:11:59.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""There are some template-based functions""" start="00:12:03.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""for doing that. They are explained in""" start="00:12:06.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""this section of the tutorial...""" start="00:12:09.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""where is that?...""" start="00:12:10.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""oh God, it's far away...""" start="00:12:14.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""here.""" start="00:12:17.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""Suppose that we have a package foo, that""" start="00:12:20.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""we want to create a family that points""" start="00:12:23.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""to the docs""" start="00:12:25.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""of that package foo... so, we""" start="00:12:27.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""can execute this thing here, and it""" start="00:12:31.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""generates this""" start="00:12:32.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""this thing from a template.""" start="00:12:34.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""If we just want to modify a current""" start="00:12:37.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""definition we can run something like""" start="00:12:40.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""this - note that the family `:py'""" start="00:12:42.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""already exists, and instead of using""" start="00:12:44.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""placeholders in some of these""" start="00:12:47.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""URLs it will use the current values of""" start="00:12:51.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""the fields...""" start="00:12:53.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""so we can also use this modify""" start="00:12:55.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""existing families.""" start="00:12:59.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""Well these are the technical details.""" start="00:13:01.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""Now the natural question is: why do I""" start="00:13:05.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""want this? This doesn't""" start="00:13:08.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""any sense to me! Why should I""" start="00:13:12.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""try this?""" start="00:13:14.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""And the best answer: is for most people""" start="00:13:15.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""this way of using""" start="00:13:18.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""executable notes do not make any sense""" start="00:13:21.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""at all at first sight...""" start="00:13:24.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""so what I'm trying to do is: I'm trying""" start="00:13:27.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""to write to these tutorials with""" start="00:13:30.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""many examples that are very easy to run,""" start="00:13:33.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""and that examine data structures,""" start="00:13:35.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""and functions, and test things,""" start="00:13:38.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""and so on... so my main argument""" start="00:13:40.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""for convincing people to""" start="00:13:46.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""test this is: this is trivial to test -""" start="00:13:48.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""simply install eev and run this thing""" start="00:13:52.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""here, and run the examples, and probably""" start="00:13:54.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""you're going to find that this""" start="00:13:56.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""tutorial is fun to follow.""" start="00:13:58.000" video="mainVideo-python" id="subtitle"]]
+[[!template text="""So that's it! =)""" start="00:14:01.000" video="mainVideo-python" id="subtitle"]]
+
+
+
+Captioner: eduardo
+
Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202022%20python%3A%20Short%20hyperlinks%20to%20Python%20docs)