|
Warning: this is an htmlized version!
The original is here, and the conversion rules are here. |
-- This file:
-- http://anggtwu.net/SUBTITLES/emacsconf2025.lua.html
-- http://anggtwu.net/SUBTITLES/emacsconf2025.lua
-- (find-angg "SUBTITLES/emacsconf2025.lua")
-- Author: Eduardo Ochs <eduardoochs@gmail.com>
--
-- (defun l () (interactive) (find-angg "SUBTITLES/emacsconf2025.lua"))
-- (defun l () (interactive) (find-SUBS "emacsconf2025.lua"))
-- (defun b () (interactive) (find-TH "emacsconf2025"))
-- (defun p () (interactive) (find-TH "emacsconf2025"))
-- (defun R () (interactive) (ee-recompile-SUBTITLES-0))
-- (defun r () (interactive) (ee-recompile-SUBTITLES-3))
-- (defun r () (interactive) (ee-recompile-SUBTITLES-1))
-- (define-key eev-mode-map (kbd "M-r") 'r)
--
-- Skel: (find-subs-links "eev2025")
-- Old: (find-editeevsubtitles-links-1 "eev2025")
-- (find-efunction 'find-editeevsubtitles-links-1)
-- Yttr: (find-yttranscript-links "eev2025" "xxxxxxxxxxx")
-- Info: (find-1stclassvideo-links "eev2025")
-- Play: (find-eev2025video "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 "emacsconf2025.lua"
sts = Subtitles.fromsexps(subs_bigstr):addtime("25:22")
-- sts.lang = "pt-BR"
= sts
outfname = "$S/http/anggtwu.net/eev-videos/emacsconf2025.vtt"
outfname = "/tmp/emacsconf2025.vtt"
out = sts:vtt().."\n\n"
ee_writefile(outfname, out)
-- (find-fline "/tmp/emacsconf2025.vtt")
** Test the .vtt
** (find-eev2025video "0:00")
** Select /tmp/ or ee-eevvideosdir
** (find-eevvideosfile "")
** (find-eevvideosfile "" "emacsconf2025.mp4")
** (find-eevvideossh0 "cp -v emacsconf2025.mp4 /tmp/")
** (code-video "eev2025video" "/tmp/emacsconf2025.mp4")
** (code-video "eev2025video" "$S/http/anggtwu.net/eev-videos/emacsconf2025.mp4")
** (find-eev2025video "0:00")
** Upload the emacsconf2025.vtt
** to http://anggtwu.net/eev-videos/
* (eepitch-shell)
* (eepitch-kill)
* (eepitch-shell)
cd /tmp/
scp emacsconf2025.vtt $LINP/eev-videos/
scp emacsconf2025.vtt $LINS/eev-videos/
Scp-np emacsconf2025.vtt $TWUP/eev-videos/
Scp-np emacsconf2025.vtt $TWUS/eev-videos/
** Upload the subtitles to youtube
** http://www.youtube.com/watch?v=Y75Q2IN8Y_M
** Check that the "psne subtitles" thing works
** (find-1stclassvideo-links "eev2025")
--]]
--[[
* (eepitch-lua51)
* (eepitch-kill)
* (eepitch-lua51)
dofile "emacsconf2025.lua"
for li in subs_bigstr:gmatch("([^\n]+)") do
local time,text = li:match('^.-"(.-)".-"(.*)"%)$')
text = text:gsub("\\(.)", "%1")
if time then print(" "..time.." "..text) end
end
--]]
subs_bigstr = [==[
New title page (EmacsConf, dec/2025)
% (find-eev2025video "0:00" "Hi, my name is Eduardo Ochs,")
% (find-eev2025video "0:02" "and this is my video for the EmacsConf 2025.")
% (find-eev2025video "0:06" "Its title is Some Problems of Modernizing Emacs,")
% (find-eev2025video "0:09" "and that is the same title as a video")
% (find-eev2025video "0:12" "that I tried to record in March.")
% (find-eev2025video "0:16" "But my video from March had a good \"beginning\" and a bad \"rest\",")
% (find-eev2025video "0:19" "and I thought, I can't release that because the rest is very bad.")
% (find-eev2025video "0:23" "I need to replace... to re-record the last part of the video.")
% (find-eev2025video "0:27" "But I never did that.")
% (find-eev2025video "0:29" "So this video is going to be the first 12 minutes")
% (find-eev2025video "0:33" "of that other video, with another ending.")
% (find-eev2025video "0:37" "And in this other ending, I'm going to show some things")
% (find-eev2025video "0:41" "that are very easy to test. And, if people are interested,")
% (find-eev2025video "0:46" "then the rest of the old video will make more sense.")
% (find-eev2025video "0:51" "Anyway, let me start.")
Old title page (march/2025)
% (find-eev2025video "0:55" "Hi! My name is Eduardo Ochs. I'm the")
% (find-eev2025video "0:57" "author of an Emacs package called eev and")
% (find-eev2025video "1:00" "the title of this video is")
% (find-eev2025video "1:03" "\"Some problems of modernizing Emacs\".")
1. The main themes of this video
% (find-eev2025video "1:05" "Here is a summary of the main themes")
% (find-eev2025video "1:08" "of this video. I'm going to talk mainly")
% (find-eev2025video "1:10" "about these four things here. The first")
% (find-eev2025video "1:12" "one is that Emacs has changed a lot in its")
% (find-eev2025video "1:15" "recent versions, and now it has lots of")
% (find-eev2025video "1:18" "types... so if we want to look under the")
% (find-eev2025video "1:21" "hood and to understand what Emacs")
% (find-eev2025video "1:24" "really does we are going to stumble on")
% (find-eev2025video "1:27" "lots of types... and the")
% (find-eev2025video "1:30" "current tree of classes and types")
% (find-eev2025video "1:34" "looks like this... that is,")
% (find-eev2025video "1:37" "is quite big.")
% (find-eev2025video "1:46" "The second theme is that people used")
% (find-eev2025video "1:49" "to say things like \"Anyone can learn Lisp")
% (find-eev2025video "1:53" "in one day\"... I'm going to explain")
% (find-eev2025video "1:56" "this quote, and I'm also going to show")
% (find-eev2025video "2:01" "that now this is gone... anyway. This is a")
% (find-eev2025video "2:04" "very short summary... details soon.")
% (find-eev2025video "2:08" "I will also show how to display")
% (find-eev2025video "2:10" "better \"inner views\" of Emacs objects...")
% (find-eev2025video "2:13" "I'm going to Define what is an inner view,")
% (find-eev2025video "2:16" "of course.")
% (find-eev2025video "2:18" "The main trick is that we are going")
% (find-eev2025video "2:20" "to use one of the ways of displaying")
% (find-eev2025video "2:24" "internal objects, that is the `cl-print'")
% (find-eev2025video "2:29" "family of functions, for example,")
% (find-eev2025video "2:32" "`cl-prin1-to-string', and here are some")
% (find-eev2025video "2:35" "examples of the kind of output that we")
% (find-eev2025video "2:37" "are going to see...")
% (find-eev2025video "2:38" "for example, if we run these two lines")
% (find-eev2025video "2:44" "here the first line defines a function `foo'")
% (find-eev2025video "2:47" "and the second line sets `o' to the")
% (find-eev2025video "2:52" "internal view of the definition of `foo'.")
% (find-eev2025video "2:54" "In older Emacses `o' would be just a")
% (find-eev2025video "2:59" "list that looks... that would look very")
% (find-eev2025video "3:02" "similar to this line here... but in newer")
% (find-eev2025video "3:05" "Emacses the result of this - I mean, the")
% (find-eev2025video "3:09" "the contents of `o' is this thing here,")
% (find-eev2025video "3:12" "that looks quite different")
% (find-eev2025video "3:15" "from this definition.")
% (find-eev2025video "3:18" "So, in older Emacses")
% (find-eev2025video "3:21" "the contents of the")
% (find-eev2025video "3:25" "function cell of `o'...")
% (find-eev2025video "3:28" "sorry, of the function cell of `foo',")
% (find-eev2025video "3:30" "would be an \"old-style lambda\",")
% (find-eev2025video "3:32" "that would be just a list like this...")
% (find-eev2025video "3:35" "and in newer Emacses uh the contents of O would")
% (find-eev2025video "3:39" "be a \"vector-like lambda\"... look for the")
% (find-eev2025video "3:42" "square brackets here - this is a")
% (find-eev2025video "3:44" "vector, but it is preceded by a hash sign.")
% (find-eev2025video "3:47" "So this is what we call")
% (find-eev2025video "3:49" "a \"vector-like lambda\",")
% (find-eev2025video "3:51" "and vector-like lambas do not")
% (find-eev2025video "3:53" "have a canonical printed representation -")
% (find-eev2025video "3:55" "they have at least two semicanonical")
% (find-eev2025video "3:57" "printed representations...")
% (find-eev2025video "3:59" "The first semicanonical")
% (find-eev2025video "4:01" "printed representation is this one, that is")
% (find-eev2025video "4:04" "generated by a family of functions with")
% (find-eev2025video "4:07" "names like `prin1'...")
% (find-eev2025video "4:09" "and the second semicanonical printed")
% (find-eev2025video "4:13" "representation is like this -")
% (find-eev2025video "4:17" "it looks like a list...")
% (find-eev2025video "4:20" "it looks somewhat like this definition")
% (find-eev2025video "4:23" "of `foo' here, but it has this")
% (find-eev2025video "4:27" "`:dynbind' symbol here...")
% (find-eev2025video "4:29" "and it turns out that when we use")
% (find-eev2025video "4:32" "the `cl-print' family of functions we can")
% (find-eev2025video "4:35" "reconfigure how things are printed...")
% (find-eev2025video "4:37" "and I'm going to show several interesting")
% (find-eev2025video "4:40" "ways of reconfiguring how lambdas are printed,")
% (find-eev2025video "4:47" "and one of the ways is going to")
% (find-eev2025video "4:49" "be like this.")
% (find-eev2025video "4:52" "We can also use the `cl-print'")
% (find-eev2025video "4:56" "functions with my indentation tricks to")
% (find-eev2025video "4:59" "to display how types, or classes, are")
% (find-eev2025video "5:04" "viewed internally by Emacs, and this is a")
% (find-eev2025video "5:07" "big example...")
% (find-eev2025video "5:10" "This is what Emacs considers as being")
% (find-eev2025video "5:14" "the definition of the type")
% (find-eev2025video "5:16" "`cl-structure-class',")
% (find-eev2025video "5:18" "class and it is this big thing here.")
% (find-eev2025video "5:21" "I edited it very lightly...")
% (find-eev2025video "5:24" "I just uh deleted some line breaks here.")
% (find-eev2025video "5:30" "And another thing that I want to to")
% (find-eev2025video "5:33" "explain is that Emacs")
% (find-eev2025video "5:35" "has some help functions that")
% (find-eev2025video "5:37" "I have never liked...")
% (find-eev2025video "5:39" "for most people they are good enough,")
% (find-eev2025video "5:41" "but for me they aren't... they...")
% (find-eev2025video "5:44" "uh, well - I'm going to say")
% (find-eev2025video "5:48" "more about this later...")
% (find-eev2025video "5:50" "and, for example,")
% (find-eev2025video "5:52" "if we want a description of what is")
% (find-eev2025video "5:54" "this type here, that we just saw in")
% (find-eev2025video "5:58" "its internal view here...")
% (find-eev2025video "6:00" "we can run either `describe-type'")
% (find-eev2025video "6:02" "or my variant of `describe-type',")
% (find-eev2025video "6:04" "and we get a help buffer")
% (find-eev2025video "6:07" "that looks like this, in which")
% (find-eev2025video "6:10" "these blue things that are underlined")
% (find-eev2025video "6:13" "are \"buttons\", in the classical sense...")
% (find-eev2025video "6:15" "you can click on these buttons, or type")
% (find-eev2025video "6:17" "RET on these buttons, and you will be")
% (find-eev2025video "6:19" "taken to another help page, that is")
% (find-eev2025video "6:22" "generated dynamically...")
% (find-eev2025video "6:24" "and you can navigate back and forth...")
% (find-eev2025video "6:28" "and well, whatever...")
% (find-eev2025video "6:30" "and I'm going to explain my")
% (find-eev2025video "6:33" "problems with these kinds of help buffers")
% (find-eev2025video "6:35" "and what I'm trying to do to")
% (find-eev2025video "6:37" "overcome these problems...")
2. Anyone can learn Lisp in one day
% (find-eev2025video "6:41" "One of my slogans in this video")
% (find-eev2025video "6:43" "is going to be this one:")
% (find-eev2025video "6:43" "\"Anyone can learn Lisp in one day\".")
% (find-eev2025video "6:45" "this is a part of a bigger quote")
% (find-eev2025video "6:49" "that I took from a keynote presentation")
% (find-eev2025video "6:51" "by Abelson and Sussman, who")
% (find-eev2025video "6:54" "are two dinosaurs of Computer Science...")
% (find-eev2025video "6:58" "Here is the full quote:")
% (find-eev2025video "7:00" "\"Anyone can learn Lisp in one day -")
% (find-eev2025video "7:04" "except that if they already know Fortran")
% (find-eev2025video "7:06" "then it would take three days.\"")
% (find-eev2025video "7:11" "This is a frame of the video...")
% (find-eev2025video "7:24" "By the way I am going to to add")
% (find-eev2025video "7:28" "this... \"and if the person is starting")
% (find-eev2025video "7:32" "with Doom Emacs then it would take 5 years.\"")
% (find-eev2025video "7:34" "why? I'm going to explain why.")
% (find-eev2025video "7:39" "This is how Emacs used to be.")
% (find-eev2025video "7:43" "If we execute these two expressions here")
% (find-eev2025video "7:46" "the first one... sorry, each symbol can")
% (find-eev2025video "7:51" "have two \"values\",")
% (find-eev2025video "7:53" "one is its \"value as a variable\"")
% (find-eev2025video "7:54" "and another one is its \"value as a function\"...")
% (find-eev2025video "7:58" "and if we run this we store 42")
% (find-eev2025video "8:02" "in the \"value cell\" of the symbol `foo', and")
% (find-eev2025video "8:07" "if we run this defun here it stores a")
% (find-eev2025video "8:11" "certain anonymous function in the")
% (find-eev2025video "8:14" "\"function cell\" of the symbol `foo'...")
% (find-eev2025video "8:18" "and in Emacs, until some time ago")
% (find-eev2025video "8:22" "if we did that and and if we ran")
% (find-eev2025video "8:27" "this expression here the result")
% (find-eev2025video "8:30" "would be 42,")
% (find-eev2025video "8:31" "because of this line here, and if we")
% (find-eev2025video "8:35" "ran this line here the result would be")
% (find-eev2025video "8:37" "the anonymous function corresponding to")
% (find-eev2025video "8:40" "this defun here...")
% (find-eev2025video "8:41" "but now this has changed...")
% (find-eev2025video "8:45" "the result of this thing here is this")
% (find-eev2025video "8:48" "vector-like lambda here - but that doesn't")
% (find-eev2025video "8:51" "matter much now...")
% (find-eev2025video "8:54" "So, until some time ago")
% (find-eev2025video "8:56" "if we did that and if we ran")
% (find-eev2025video "8:58" "this expression here, (foo foo)...")
% (find-eev2025video "9:01" "Emacs would do this: it would")
% (find-eev2025video "9:04" "replace the first `foo' by this")
% (find-eev2025video "9:06" "anonymous function here, it would replace")
% (find-eev2025video "9:09" "the second `foo' by the value of `foo' as a")
% (find-eev2025video "9:11" "variable, that is 42,")
% (find-eev2025video "9:13" "and it would evaluate this, and the")
% (find-eev2025video "9:16" "result would be 420.")
4. Lambdas for beginners broken
% (find-eev2025video "9:20" "So, again, we used to have this slogan")
% (find-eev2025video "9:23" "here, \"anyone can learn Lisp in one day\"...")
% (find-eev2025video "9:26" "but now this is gone.")
% (find-eev2025video "9:28" "Let me show... let me talk")
% (find-eev2025video "9:30" "a bit more about why...")
% (find-eev2025video "9:34" "the title of this slide is")
% (find-eev2025video "9:36" "\"Lambdas for beginners broken\"...")
% (find-eev2025video "9:38" "if we run this, as I've shown")
% (find-eev2025video "9:41" "in the previous slide...")
% (find-eev2025video "9:43" "in the old style, in old Emacses,")
% (find-eev2025video "9:45" "the result of (symbol-function 'foo)")
% (find-eev2025video "9:47" "would be this anonymous function here...")
% (find-eev2025video "9:49" "and now we get this strange thing here.")
% (find-eev2025video "9:54" "So, this is an \"old-style lambda\",")
% (find-eev2025video "9:58" "this is a \"vector-like lambda\",")
% (find-eev2025video "10:02" "and until the middle of 2024")
% (find-eev2025video "10:05" "beginners could learn a lot of Lisp")
% (find-eev2025video "10:08" "by thinking only in terms of")
% (find-eev2025video "10:11" "objects like these...")
% (find-eev2025video "10:13" "this is a function and this")
% (find-eev2025video "10:15" "is an anonymous function, and")
% (find-eev2025video "10:17" "they would learn how to draw cons cell")
% (find-eev2025video "10:20" "diagrams like this thing here and this")
% (find-eev2025video "10:23" "thing here...")
% (find-eev2025video "10:25" "they would think on lists as")
% (find-eev2025video "10:27" "being these trees here, and they")
% (find-eev2025video "10:29" "would be able to understand a lot of")
% (find-eev2025video "10:32" "Lisp just by thinking in these terms...")
% (find-eev2025video "10:35" "and then vector-like lambdas started")
% (find-eev2025video "10:39" "to appear in many places... and if we use")
% (find-eev2025video "10:43" "\"vector-like lambdas\" in a wide sense,")
% (find-eev2025video "10:46" "to mean all the new objects,")
% (find-eev2025video "10:50" "these new objects, that are")
% (find-eev2025video "10:54" "difficult to visualize... they also started")
% (find-eev2025video "10:56" "to appear in many places.")
5. Lambdas for beginners broken (2)
% (find-eev2025video "10:58" "This is a continuation of the")
% (find-eev2025video "11:01" "previous slide - this part here is a copy")
% (find-eev2025video "11:04" "of things that were in the previous slide...")
% (find-eev2025video "11:06" "before 2024 beginners could")
% (find-eev2025video "11:12" "open black boxes like this...")
% (find-eev2025video "11:17" "they could try to see what was in the")
% (find-eev2025video "11:20" "function cell of the symbol `foo'...")
% (find-eev2025video "11:24" "and they would see something elegant and")
% (find-eev2025video "11:27" "mind-blowing... and they would start to love")
% (find-eev2025video "11:29" "Lisp immediately.")
% (find-eev2025video "11:31" "Now what they get - what they see -")
% (find-eev2025video "11:33" "is a tiny part of a very complex structure")
% (find-eev2025video "11:35" "that is very powerful but that is")
% (find-eev2025video "11:39" "very difficult to understand...")
% (find-eev2025video "11:41" "and now our beginners are overwhelmed")
% (find-eev2025video "11:44" "instead of mind-blown.")
% (find-eev2025video "11:46" "Note that I said \"black box\" here.")
% (find-eev2025video "11:48" "Let me explain the term.")
% (find-eev2025video "11:52" "We can open what's inside of `foo'...")
% (find-eev2025video "11:57" "we can open `foo' to see the contents of")
% (find-eev2025video "11:59" "the symbol `foo', and we can try to see")
% (find-eev2025video "12:02" "what's in the function cell of the")
% (find-eev2025video "12:06" "symbol `foo'...")
% (find-eev2025video "12:08" "so we can open the box, but what we get")
% (find-eev2025video "12:10" "is something very difficult to understand,")
% (find-eev2025video "12:13" "and so I'm going to say that")
% (find-eev2025video "12:17" "when this happens that box is black.")
% (find-eev2025video "12:21" "It is not totally black - we can open open it -")
% (find-eev2025video "12:23" "but we don't understand what is going on there,")
% (find-eev2025video "12:26" "so we declare that that is black.")
% (find-eev2025video "12:30" "And... when these things started to happen")
% (find-eev2025video "12:33" "_I_ was overwhelmed -")
% (find-eev2025video "12:38" "and in this video I'm going to pretend")
% (find-eev2025video "12:40" "that I was not the only person")
% (find-eev2025video "12:44" "that was overwhelmed")
% (find-eev2025video "12:46" "by these new structures")
% (find-eev2025video "12:50" "that are not so elegant")
% (find-eev2025video "12:52" "as the ones that we had before.")
% (find-eev2025video "12:54" "Anyway...")
% (find-eev2025video "12:56" " ")
A quick demo (version for the EmacsConf 2025)
% (find-eev2025video "12:58" "Anyway... In the beginning of the video,")
% (find-eev2025video "13:00" "I said that I was going to replace")
% (find-eev2025video "13:02" "the second part of my video from March")
% (find-eev2025video "13:06" "by something that was very easy to test.")
% (find-eev2025video "13:08" "So this is a quick demo for the _very_ impatient.")
% (find-eev2025video "13:11" "I'm recording this in December for the EmacsConf 2025.")
% (find-eev2025video "13:16" "This is the demo that I'm going to present.")
% (find-eev2025video "13:19" "The idea is that people can run the demo a first time")
% (find-eev2025video "13:21" "just to check that everything works")
% (find-eev2025video "13:24" "and to have a notion of how things look like,")
% (find-eev2025video "13:27" "and then, in a second moment,")
% (find-eev2025video "13:29" "they can rerun the demo more slowly")
% (find-eev2025video "13:32" "to understand what each step does.")
% (find-eev2025video "13:34" "So... we are in a file called \"00-try-this\"...")
% (find-eev2025video "13:38" "and the idea is that we can execute most of this file")
% (find-eev2025video "13:42" "just by typing `f8's in the right places.")
% (find-eev2025video "13:45" "Remember that when we type `f8'")
% (find-eev2025video "13:47" "on a line that starts with two red stars,")
% (find-eev2025video "13:49" "eev treats that line as a comment.")
% (find-eev2025video "13:53" "So... I'm going to start here...")
% (find-eev2025video "13:55" "Note that it says in the bottom")
% (find-eev2025video "13:58" "of the screen that this is a comment.")
% (find-eev2025video "14:02" "We are going to run this to download some files...")
% (find-eev2025video "14:06" "Now the files are there...")
% (find-eev2025video "14:12" "This `find-2a' here shows a certain file")
% (find-eev2025video "14:17" "at the window at the right,")
% (find-eev2025video "14:19" "but we don't need to pay attention to that.")
% (find-eev2025video "14:22" "And this thing `load's that file.")
% (find-eev2025video "14:24" "So... when we load that file,")
% (find-eev2025video "14:26" "it defines some functions here")
% (find-eev2025video "14:27" "that are going to be used")
% (find-eev2025video "14:28" "by the rest of the examples.")
% (find-eev2025video "14:30" "Now we can run this thing here...")
% (find-eev2025video "14:32" "note that we just defined some functions")
% (find-eev2025video "14:34" "and then we ran these functions here...")
% (find-eev2025video "14:37" "`find-eoutput-2a'...")
% (find-eev2025video "14:39" "and they show some things in the window at the right.")
% (find-eev2025video "14:42" "These things are boring.")
% (find-eev2025video "14:45" "When we run `adt-insert' with argument 42,")
% (find-eev2025video "14:49" "it just shows a 42, in this way...")
% (find-eev2025video "14:52" "The other ones show other numbers... and so on.")
% (find-eev2025video "14:55" "And... what happens when we modify")
% (find-eev2025video "14:59" "this function here, `adt-2',")
% (find-eev2025video "15:02" "by adding and removing advices to it?")
% (find-eev2025video "15:05" "The idea is that people can run")
% (find-eev2025video "15:06" "this thing here several times,")
% (find-eev2025video "15:08" "watching the window at the right,")
% (find-eev2025video "15:10" "because the results are going to be shown there.")
% (find-eev2025video "15:14" "So, in the first moment, when we run...")
% (find-eev2025video "15:17" "no, no, sorry, sorry, let me run it again.")
% (find-eev2025video "15:21" "In the first moment when we run `adt-2'")
% (find-eev2025video "15:24" "it just shows a 2, and then we modify it in a certain way,")
% (find-eev2025video "15:28" "and we run it again,")
% (find-eev2025video "15:29" "and now before showing the 2 it shows a 1,")
% (find-eev2025video "15:33" "mysteriously,")
% (find-eev2025video "15:34" "and then we add something to be run after the 2,")
% (find-eev2025video "15:37" "And we run it again,")
% (find-eev2025video "15:38" "and now `adt-2' shows these three things.")
Unrevised part:
% (find-eev2025video "15:41" "And then we remove the advices,")
% (find-eev2025video "15:43" "we remove these other things,")
% (find-eev2025video "15:45" "and when we run ADT2 again,")
% (find-eev2025video "15:45" "it shows only `;; --> 2'.")
% (find-eev2025video "15:49" "It's impossible to understand that in the first time,")
% (find-eev2025video "15:51" "so we can run that several times...")
% (find-eev2025video "15:53" "to see how things work.")
% (find-eev2025video "15:57" "And now we want to understand")
% (find-eev2025video "16:02" "what changes in the function `adt-2'...")
% (find-eev2025video "16:04" "how it is modified internally.")
% (find-eev2025video "16:08" "I'm calling that the internal view of the function,")
% (find-eev2025video "16:11" "and we are going to compare")
% (find-eev2025video "16:13" "several internal views of the function `adt-2'.")
% (find-eev2025video "16:16" "I'm going to reset the function `adt-2'")
% (find-eev2025video "16:20" "by removing the advices")
% (find-eev2025video "16:22" "and placing the advices on it again...")
% (find-eev2025video "16:25" "and if we just pretty-print this function here,")
% (find-eev2025video "16:31" "the symbol...")
% (find-eev2025video "16:32" "the value of this symbol here as a function,")
% (find-eev2025video "16:36" "it is something very ugly.")
% (find-eev2025video "16:38" "But if we print it in another way, with `cl-prin1',")
% (find-eev2025video "16:43" "then we get something that is much nicer...")
% (find-eev2025video "16:47" "but that is not indented.")
% (find-eev2025video "16:49" "And if we use this thing here,")
% (find-eev2025video "16:51" "`cl-prin2' instead of `cl-prin1',")
% (find-eev2025video "16:53" "it becomes indented.")
% (find-eev2025video "16:55" "So let's try it again.")
% (find-eev2025video "16:57" "Here is the current view of what is `adt-2'.")
% (find-eev2025video "17:06" "So, the original `adt-insert' is here...")
% (find-eev2025video "17:10" "and here are some modifications")
% (find-eev2025video "17:11" "that were added by the advices.")
% (find-eev2025video "17:13" "And we can run these things many times")
% (find-eev2025video "17:16" "to understand what each step does.")
% (find-eev2025video "17:19" "But my suggestion is: in the first time")
% (find-eev2025video "17:21" "just run everything very quickly...")
% (find-eev2025video "17:23" "and then you run it again,")
% (find-eev2025video "17:25" "paying attention to the parts")
% (find-eev2025video "17:27" "that look more interesting.")
% (find-eev2025video "17:29" "Now, I'm going to...")
% (find-eev2025video "17:31" "Remember that here")
% (find-eev2025video "17:33" "I printed the contents of `adt-2'")
% (find-eev2025video "17:35" "in several different ways,")
% (find-eev2025video "17:42" "and now I'm going to show how we can")
% (find-eev2025video "17:44" "do the same idea")
% (find-eev2025video "17:47" "of printing something in different ways")
% (find-eev2025video "17:49" "for lambdas...")
% (find-eev2025video "17:51" "that is something that I explained")
% (find-eev2025video "17:53" "in the first part of the video.")
% (find-eev2025video "17:55" "In this part of the demo")
% (find-eev2025video "17:57" "we define a function `foo'.")
% (find-eev2025video "18:00" "This setq here defines o as the contents of the function cell of foo.")
% (find-eev2025video "18:08" "And now we are going to print")
% (find-eev2025video "18:13" "that o in several different ways.")
% (find-eev2025video "18:15" "The default way is this one, it's very ugly,")
% (find-eev2025video "18:19" "but we can redefine how these things are printed")
% (find-eev2025video "18:22" "by just running these lines.")
% (find-eev2025video "18:24" "And if we pay attention at what's happening")
% (find-eev2025video "18:28" "at the window at the right,")
% (find-eev2025video "18:30" "we can see that we have several different")
% (find-eev2025video "18:33" "printed representations for the same thing.")
% (find-eev2025video "18:35" "And then at the last step,")
% (find-eev2025video "18:36" "we reset the printer to the default representation.")
% (find-eev2025video "18:41" "And the details are here.")
% (find-eev2025video "18:43" "If we run these lines here,")
% (find-eev2025video "18:45" "they show the definitions at the window at the right.")
% (find-eev2025video "18:48" "And this now comes the difficult part,")
% (find-eev2025video "18:53" "in which we have to do something")
% (find-eev2025video "18:56" "besides just running things with F8. We need a help.")
% (find-eev2025video "19:02" "a help buffer with buttons,")
% (find-eev2025video "19:04" "buttons in the traditional sense,")
% (find-eev2025video "19:08" "and we need to choose a certain button there,")
% (find-eev2025video "19:11" "or any button there,")
% (find-eev2025video "19:13" "and run MetaX AE setButton on that button.")
% (find-eev2025video "19:20" "So, let me define a structure here,")
% (find-eev2025video "19:24" "and this is some help on what is that structure.")
% (find-eev2025video "19:29" "I'm going to choose this button here")
% (find-eev2025video "19:33" "and I'm going to type metaxeesetbutton.")
% (find-eev2025video "19:40" "The message is a bit obscure.")
% (find-eev2025video "19:43" "And now we have something that displays")
% (find-eev2025video "19:47" "a lot of information about that button.")
% (find-eev2025video "19:51" "And we can also run that with just F8.")
% (find-eev2025video "19:53" "By the way, if we want to understand")
% (find-eev2025video "20:00" "the code that's behind these things,")
% (find-eev2025video "20:02" "we can run this sexp here.")
% (find-eev2025video "20:04" "It is going to show the code here at the right.")
% (find-eev2025video "20:07" "But anyway, this first line here")
% (find-eev2025video "20:10" "They display the output in the echo area. Let's try.")
% (find-eev2025video "20:15" "And each one of them extracts a different part")
% (find-eev2025video "20:20" "of the information on that button.")
% (find-eev2025video "20:22" "And these other lines here create a three-window setting")
% (find-eev2025video "20:26" "in which the help buffer is shown here,")
% (find-eev2025video "20:29" "and the result of some other thing")
% (find-eev2025video "20:33" "is shown in the third window. Let's try.")
% (find-eev2025video "20:36" "So now that we have, well, I said that we needed to choose a certain button")
% (find-eev2025video "20:46" "and run meta-x eesetbutton there. We have done that.")
% (find-eev2025video "20:53" "So now this variable eebutton")
% (find-eev2025video "20:55" "contains information about the button.")
% (find-eev2025video "20:58" "And now we can run this part here")
% (find-eev2025video "21:01" "as many times as we want to.")
% (find-eev2025video "21:03" "try to understand what are the values of these things here,")
% (find-eev2025video "21:07" "and how some things start with a value that is very complex")
% (find-eev2025video "21:11" "and very difficult to understand,")
% (find-eev2025video "21:13" "and then we extract the more interesting parts.")
% (find-eev2025video "21:16" "And the details, as I said, are here.")
% (find-eev2025video "21:22" "That was the end of the demo, and my question is,")
% (find-eev2025video "21:26" "what was your reaction to that?")
% (find-eev2025video "21:28" "If your reaction was more like, wow, than like, blurgh,")
% (find-eev2025video "21:32" "then you might like the last part of the video that I recorded in March.")
% (find-eev2025video "21:37" "That was very technical.")
% (find-eev2025video "21:38" "When I recorded it, I thought, oh my god, this switch is very bad.")
% (find-eev2025video "21:42" "Only the hardcore EEV users are going to like that,")
% (find-eev2025video "21:47" "and there are less than five hardcore")
% (find-eev2025video "21:51" "EEV users in the world.")
% (find-eev2025video "21:52" "But anyway, if you saw that introduction")
% (find-eev2025video "21:56" "and you think that these things are interesting,")
% (find-eev2025video "21:59" "you can execute any one of these expressions here")
% (find-eev2025video "22:03" "and take a look at the final part of that video")
% (find-eev2025video "22:06" "that describes how I wrote some functions")
% (find-eev2025video "22:09" "for exploring buttons. If you execute this, Saxpa here,")
% (find-eev2025video "22:14" "it plays a part of the video starting from that position.")
% (find-eev2025video "22:19" "If you execute this one, you go to the subtitles in HTML.")
% (find-eev2025video "22:26" "And if you run this one, you go")
% (find-eev2025video "22:30" "to subtitles in another format. And that's it.")
% (find-eev2025video "22:36" "No, no, sorry, I said that's it,")
% (find-eev2025video "22:40" "but I forgot a very important part.")
% (find-eev2025video "22:42" "I had prepared this slide here")
% (find-eev2025video "22:45" "to explain some design decisions behind EEV")
% (find-eev2025video "22:47" "and why there are so few users of EEV, and let me do that.")
% (find-eev2025video "22:53" "The thing is that my working memory is very small,")
% (find-eev2025video "22:57" "and I need examples that are easy to visualize.")
% (find-eev2025video "23:01" "Ideally, examples that are easy to run")
% (find-eev2025video "23:04" "and that I can compare the outputs")
% (find-eev2025video "23:08" "of different ways of running them.")
% (find-eev2025video "23:12" "For me, understanding specifications")
% (find-eev2025video "23:16" "in an API is not enough. Examples work much better for me.")
% (find-eev2025video "23:20" "Also, I make lots of mistakes when I type.")
% (find-eev2025video "23:24" "So I need ways to run my executable nodes")
% (find-eev2025video "23:28" "by just typing f8 and meta-e.")
% (find-eev2025video "23:31" "And most people in the Emacs channel and in other places")
% (find-eev2025video "23:37" "recommend executing sexp by typing meta-colon like this.")
% (find-eev2025video "23:44" "But I hate that. I think that meta-colon and ielma")
% (find-eev2025video "23:49" "for people who type well, so not me.")
% (find-eev2025video "23:54" "And also, 99% of what I do is scratch code.")
% (find-eev2025video "23:58" "Very few things that I do go")
% (find-eev2025video "24:01" "into production, between quotes.")
% (find-eev2025video "24:05" "So most of my tests are not automated tests.")
% (find-eev2025video "24:10" "They are just things that I run with F8,")
% (find-eev2025video "24:12" "and they don't include the expected result.")
% (find-eev2025video "24:15" "Many people feel that this is very, very, very wrong.")
% (find-eev2025video "24:19" "Tests must mean automated tests.")
% (find-eev2025video "24:23" "Also, and this is very frustrating,")
% (find-eev2025video "24:25" "EEV has lots of non-users,")
% (find-eev2025video "24:28" "I mean, people who have tried to use it,")
% (find-eev2025video "24:31" "but they said that they couldn't figure out how to use it.")
% (find-eev2025video "24:34" "They couldn't understand")
% (find-eev2025video "24:36" "what would be the workflows for EEV.")
% (find-eev2025video "24:38" "And there's the same that happens with me with code blocks in org.")
% (find-eev2025video "24:43" "I'm still at the point in which code blocks in org just feel wrong.")
% (find-eev2025video "24:48" "I still don't understand how to organize my workflows around code blocks.")
% (find-eev2025video "24:55" "I said that AEV has very few users,")
% (find-eev2025video "24:59" "and they are all very weird and very busy,")
% (find-eev2025video "25:02" "and I decided that all my bloggish posts about AEV")
% (find-eev2025video "25:06" "would be things that they can run in a few minutes,")
% (find-eev2025video "25:09" "just like the demo that I showed a few minutes ago.")
% (find-eev2025video "25:13" "I said like the examples in the rest of the video,")
% (find-eev2025video "25:16" "but I forgot the slide,")
% (find-eev2025video "25:17" "and I'm recording this after the demo.")
% (find-eev2025video "25:19" "So... that's it. Thanks!")
]==]
unrevised_bigstr = [==[
(find-eev2025video "00:00" " ")
]==]
-- Local Variables:
-- coding: utf-8-unix
-- End: