summaryrefslogtreecommitdiffstats
path: root/2022/info/python-after.md
blob: b388d9d240e246348bba3c2abf121cd36048d634 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
<!-- 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)


<!-- End of emacsconf-publish-after-page -->