summaryrefslogtreecommitdiffstats
path: root/2025/info
diff options
context:
space:
mode:
authorSacha Chua <sacha@sachachua.com>2025-12-20 10:56:47 -0500
committerSacha Chua <sacha@sachachua.com>2025-12-20 10:56:47 -0500
commit76e8c2a0ba73aa187abd71f6016e2764cb2fdc02 (patch)
tree6a99cb224107284ee872e6eb3c82dc4eaf539ed1 /2025/info
parente756c959c830351e625de46dafae0299f8cb13e5 (diff)
downloademacsconf-wiki-76e8c2a0ba73aa187abd71f6016e2764cb2fdc02.tar.xz
emacsconf-wiki-76e8c2a0ba73aa187abd71f6016e2764cb2fdc02.zip
caption updates
Diffstat (limited to '')
-rw-r--r--2025/info/completion-after.md559
-rw-r--r--2025/info/completion-before.md22
-rw-r--r--2025/info/llm-after.md135
-rw-r--r--2025/info/llm-before.md15
-rw-r--r--2025/info/modern-after.md312
-rw-r--r--2025/info/modern-before.md19
-rw-r--r--2025/info/python-after.md117
-rw-r--r--2025/info/python-before.md15
8 files changed, 775 insertions, 419 deletions
diff --git a/2025/info/completion-after.md b/2025/info/completion-after.md
index e70f4409..c478b0b6 100644
--- a/2025/info/completion-after.md
+++ b/2025/info/completion-after.md
@@ -3,12 +3,13 @@
<div class="transcript transcript-mainVideo"><a name="completion-mainVideo-transcript"></a><h1>Transcript (unedited)</h1>
-[[!template text="""Nice to have you here on this talk.""" start="00:00:00.000" video="mainVideo-completion" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-completion" id="subtitle"]]</div>[[!template text="""Nice to have you here on this talk.""" start="00:00:00.000" video="mainVideo-completion" id="subtitle"]]
[[!template text="""This is my second talk this year.""" start="00:00:02.320" video="mainVideo-completion" id="subtitle"]]
[[!template text="""First one was on things that I've done to Org Mode.""" start="00:00:04.520" video="mainVideo-completion" id="subtitle"]]
[[!template text="""Just as a side note, this presentation""" start="00:00:09.920" video="mainVideo-completion" id="subtitle"]]
[[!template text="""that I'm going to share with you""" start="00:00:13.800" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""about my work on Corfu and Jasnipit.""" start="00:00:16.280" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""about my work on Corfu and Yasnippet.""" start="00:00:16.280" video="mainVideo-completion" id="subtitle"]]
[[!template text="""I've prepared that on Org Mode""" start="00:00:19.880" video="mainVideo-completion" id="subtitle"]]
[[!template text="""and exported that with a work I've been doing""" start="00:00:21.840" video="mainVideo-completion" id="subtitle"]]
[[!template text="""to the latest exporter.""" start="00:00:25.080" video="mainVideo-completion" id="subtitle"]]
@@ -18,229 +19,251 @@
[[!template text="""and it was much easier than I thought.""" start="00:00:36.600" video="mainVideo-completion" id="subtitle"]]
[[!template text="""So just a short outline, my motivation,""" start="00:00:42.800" video="mainVideo-completion" id="subtitle"]]
[[!template text="""step-by-step of the things that I've been investigating,""" start="00:00:46.960" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and some takeaways. So my motivation, yeah, snippet is old.""" start="00:00:49.960" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""So I've tried another, I've tried Temple""" start="00:00:55.920" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and some takeaways.""" start="00:00:49.960" video="mainVideo-completion" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Motivation""" start="00:00:52.516" video="mainVideo-completion" id="subtitle"]]</div>[[!template text="""So my motivation, yasnippet is old.""" start="00:00:52.516" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""So I've tried another. I've tried Tempel""" start="00:00:55.920" video="mainVideo-completion" id="subtitle"]]
[[!template text="""and other template management packages,""" start="00:00:59.600" video="mainVideo-completion" id="subtitle"]]
[[!template text="""but it was really not my cup of tea. So mainly why?""" start="00:01:02.520" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""Mainly because I have a nice base of VR snippets""" start="00:01:08.160" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""Mainly because I have a nice base of yasnippets""" start="00:01:08.160" video="mainVideo-completion" id="subtitle"]]
[[!template text="""I have generated for my needs.""" start="00:01:10.920" video="mainVideo-completion" id="subtitle"]]
[[!template text="""So it's not that I've been importing snippets""" start="00:01:14.480" video="mainVideo-completion" id="subtitle"]]
[[!template text="""from packages which are out there.""" start="00:01:17.800" video="mainVideo-completion" id="subtitle"]]
[[!template text="""No, they are my snippets. I'm used to them.""" start="00:01:20.360" video="mainVideo-completion" id="subtitle"]]
[[!template text="""And of course, migration counts as a cost.""" start="00:01:23.600" video="mainVideo-completion" id="subtitle"]]
[[!template text="""I've been using Company as my completion point function GUI for years,""" start="00:01:26.560" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""but with the time coming in features and so on it""" start="00:01:32.640" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""was it's was not as easy to set up as I wanted for my needs""" start="00:01:38.920" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""so I had been working I've been playing with Eaglet already some time for a language server protocol""" start="00:01:44.360" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""I had read about how easy it was to integrate with Corfu""" start="00:01:53.120" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""which was really nice and I had given it a try,""" start="00:01:57.040" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""but with the time coming in features and so on,""" start="00:01:32.640" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""it was not as easy to set up as I wanted for my needs.""" start="00:01:38.168" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""So I had been working,""" start="00:01:44.360" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I've been playing with Eglot already some time""" start="00:01:47.182" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""for a language server protocol.""" start="00:01:49.840" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I had read about how easy it was to integrate with Corfu,""" start="00:01:53.120" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""which was really nice, and I had given it a try,""" start="00:01:57.040" video="mainVideo-completion" id="subtitle"]]
[[!template text="""but I'm using both graphical user interface mode in Emacs""" start="00:02:02.840" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and text mode,""" start="00:02:06.440" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and for text mode you need a corporate terminal,""" start="00:02:07.840" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""which was yet another package that I don't download.""" start="00:02:10.320" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and text mode,""" start="00:02:10.251" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and for text mode you need corfu-terminal,""" start="00:02:11.001" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""which was yet another package that I didn't download.""" start="00:02:13.043" video="mainVideo-completion" id="subtitle"]]
[[!template text="""Well, and I didn't really find a quick way""" start="00:02:16.400" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""to get rid of company to get just snippet.""" start="00:02:21.480" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""to get rid of company to get yasnippet.""" start="00:02:21.480" video="mainVideo-completion" id="subtitle"]]
[[!template text="""So at the end, when, at the beginning,""" start="00:02:24.480" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""when I was using Corfu and Eglot, I also needed to load a company""" start="00:02:26.680" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""to have a snippet support,""" start="00:02:33.960" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""when I was using Corfu and Eglot,""" start="00:02:26.680" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I also needed to load company""" start="00:02:30.108" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""to have yasnippet support,""" start="00:02:33.960" video="mainVideo-completion" id="subtitle"]]
[[!template text="""which was really like sort of weird""" start="00:02:35.760" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""because I wanted to get rid of, of your snippet.""" start="00:02:37.640" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""because I wanted to get rid of yasnippet.""" start="00:02:37.640" video="mainVideo-completion" id="subtitle"]]
[[!template text="""Anyhow, while I try now, I'm following the mailing list,""" start="00:02:40.560" video="mainVideo-completion" id="subtitle"]]
[[!template text="""the development mailing list,""" start="00:02:47.200" video="mainVideo-completion" id="subtitle"]]
[[!template text="""and I got interested when I heard something about""" start="00:02:48.560" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""TTI charge frames being announced for master.""" start="00:02:51.800" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""TTY child frames being announced for master.""" start="00:02:51.800" video="mainVideo-completion" id="subtitle"]]
[[!template text="""That would mean less packages to download""" start="00:02:57.120" video="mainVideo-completion" id="subtitle"]]
[[!template text="""because I thought I could get rid of Corfu,""" start="00:02:59.600" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and I wanted to try if I could get rid of Corfu terminal""" start="00:03:04.160" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and I wanted to try if I could get rid of corfu-terminal""" start="00:03:04.160" video="mainVideo-completion" id="subtitle"]]
[[!template text="""and run Corfu without that.""" start="00:03:07.360" video="mainVideo-completion" id="subtitle"]]
[[!template text="""So, there were some hints there in that mailing list""" start="00:03:11.200" video="mainVideo-completion" id="subtitle"]]
[[!template text="""that made it interesting for me.""" start="00:03:18.800" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""And at the end, I'm also like a why not trying man,""" start="00:03:21.880" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""so I said let's give it a try.""" start="00:03:26.640" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""My requirements, I'm working always on a new Emacs,""" start="00:03:29.120" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""a decently new Emacs, normally from Master Vanilla.""" start="00:03:33.480" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""completely Vanilla and I don't have any extras like Doom or things like that.""" start="00:03:36.760" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""So I'm only Vanilla. And one of the things""" start="00:03:42.560" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""that I don't want is that on this Vanilla recent Emacs,""" start="00:03:45.520" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""I don't want a Kung Fu Terminal. I need your snippet.""" start="00:03:50.280" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""And at the end, I'm also like a &quot;why not try&quot;ing man,""" start="00:03:21.880" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""so I said, let's give it a try.""" start="00:03:26.640" video="mainVideo-completion" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""My requirements""" start="00:03:29.120" video="mainVideo-completion" id="subtitle"]]</div>[[!template text="""My requirements, I'm working always on a new Emacs,""" start="00:03:29.120" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""a decently new Emacs, normally from master, vanilla,""" start="00:03:33.480" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""completely vanilla, and I don't have any extras""" start="00:03:36.760" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""like Doom or things like that.""" start="00:03:41.210" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""So I'm only vanilla. And one of the things""" start="00:03:42.560" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""that I don't want is that on this vanilla recent Emacs,""" start="00:03:45.520" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I don't want a corfu-terminal. I need yasnippet.""" start="00:03:50.280" video="mainVideo-completion" id="subtitle"]]
[[!template text="""I'm basically an old man.""" start="00:03:55.720" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""Old dog does new tricks and snippets must,""" start="00:03:57.360" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""in my way of working, must be easy and quick to configure""" start="00:04:02.480" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and Tempo or others that I've seen are not.""" start="00:04:06.240" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""I don't want any reminiscence of a company in my setup.""" start="00:04:10.480" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""Old dog doesn't do new tricks and snippets must,""" start="00:03:57.360" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""in my way of working, must be easy and quick to configure,""" start="00:04:02.480" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and tempel or others that I've seen are not.""" start="00:04:06.240" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I don't want any reminiscence of company in my setup.""" start="00:04:10.480" video="mainVideo-completion" id="subtitle"]]
[[!template text="""And of course, don't forget that I've embraced""" start="00:04:13.920" video="mainVideo-completion" id="subtitle"]]
[[!template text="""the language protocol implementations and basically Eglot.""" start="00:04:18.680" video="mainVideo-completion" id="subtitle"]]
[[!template text="""My main focus now is Python and LaTeX,""" start="00:04:24.120" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and I have PyLSB and TechLab.""" start="00:04:28.160" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""And I don't want to have to stop using them.""" start="00:04:31.720" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""So basic setup for Corfu and Eglot.""" start="00:04:37.600" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and I have pylsp and texlab.""" start="00:04:28.160" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I don't want to have to stop using them.""" start="00:04:31.720" video="mainVideo-completion" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Basic setup: corfu + eglot""" start="00:04:37.600" video="mainVideo-completion" id="subtitle"]]</div>[[!template text="""So basic setup for Corfu and Eglot.""" start="00:04:37.600" video="mainVideo-completion" id="subtitle"]]
[[!template text="""You can find it everywhere you look for it.""" start="00:04:40.480" video="mainVideo-completion" id="subtitle"]]
[[!template text="""It's really easy.""" start="00:04:43.440" video="mainVideo-completion" id="subtitle"]]
[[!template text="""And actually, I also do something somehow naughty,""" start="00:04:46.560" video="mainVideo-completion" id="subtitle"]]
[[!template text="""which is to set this variable,""" start="00:04:51.120" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""the Corfu auto variable to true,""" start="00:04:53.080" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""the corfu-auto variable to true,""" start="00:04:53.080" video="mainVideo-completion" id="subtitle"]]
[[!template text="""although I know it's not recommended, blah, blah, blah.""" start="00:04:55.520" video="mainVideo-completion" id="subtitle"]]
[[!template text="""But I use that because I'm a bit lazy in that.""" start="00:04:58.400" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""So next step was looking at completion at point functions.""" start="00:05:02.960" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""So the information there if you go through the scatter""" start="00:05:07.240" video="mainVideo-completion" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Looking at completion-at-point functions""" start="00:05:02.960" video="mainVideo-completion" id="subtitle"]]</div>[[!template text="""So next step was looking at completion at point functions.""" start="00:05:02.960" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""So the information there, if you go through, is scattered""" start="00:05:07.240" video="mainVideo-completion" id="subtitle"]]
[[!template text="""and sometimes a bit cryptic.""" start="00:05:10.480" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""At the end I came up with something like the thing""" start="00:05:14.000" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""At the end I came up with something like the thing""" start="00:05:13.740" video="mainVideo-completion" id="subtitle"]]
[[!template text="""that you see there on the screen.""" start="00:05:16.600" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""So it's a function for just completion point""" start="00:05:18.400" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""so I need my list of keywords""" start="00:05:21.880" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""so that I'm going to be talking later""" start="00:05:24.640" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and I have my bounds which is normally a word""" start="00:05:30.040" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and from that I get the start and the end""" start="00:05:34.400" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""of the of the thing that I want to""" start="00:05:37.120" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""that I want to be my seed for looking and bringing up Corfu""" start="00:05:38.920" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and of course I need some completion properties here""" start="00:05:47.320" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""This looked like this is what you need to do,""" start="00:05:53.440" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""It's a function for yas-completion-at-point.""" start="00:05:18.400" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I need my list of keywords,""" start="00:05:21.880" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""so that I'm going to be talking later,""" start="00:05:24.640" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and I have my bounds, which is normally a word,""" start="00:05:30.040" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and from that, I get the start and the end""" start="00:05:34.400" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""of the thing that I want to""" start="00:05:37.120" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""be my seed for looking and bringing up Corfu,""" start="00:05:40.880" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and of course, I need some completion properties here.""" start="00:05:47.320" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""This looked like this is what you need to do,""" start="00:05:52.600" video="mainVideo-completion" id="subtitle"]]
[[!template text="""but I had to dig quite deep""" start="00:05:55.720" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""to create a JavaScript keyword test""" start="00:05:57.520" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""to create a yasnippet keyword test""" start="00:05:57.520" video="mainVideo-completion" id="subtitle"]]
[[!template text="""and to understand the completion props.""" start="00:06:01.320" video="mainVideo-completion" id="subtitle"]]
[[!template text="""And as an update of what I've been doing in the last weeks,""" start="00:06:04.760" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""I've created a bound of things""" start="00:06:11.760" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""that point for me with a different thing""" start="00:06:13.880" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I've created a bound of things at point for me""" start="00:06:11.760" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""with a different thing""" start="00:06:17.607" video="mainVideo-completion" id="subtitle"]]
[[!template text="""that doesn't skip over non-blank characters,""" start="00:06:18.680" video="mainVideo-completion" id="subtitle"]]
[[!template text="""that only skips over non-blank characters.""" start="00:06:22.040" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""Why? Because Word was confusingly tech,""" start="00:06:25.040" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""Why? Because 'word was confusing LaTeX,""" start="00:06:25.040" video="mainVideo-completion" id="subtitle"]]
[[!template text="""because the backslash,""" start="00:06:29.000" video="mainVideo-completion" id="subtitle"]]
[[!template text="""like in the example for the teletype text,""" start="00:06:30.760" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""was not taken into account by Word.""" start="00:06:35.000" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""So I had to create my own one,""" start="00:06:36.920" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""which was a bunch of thing at point,""" start="00:06:39.960" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""was not taken into account by 'word.""" start="00:06:35.000" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""So I had to create my own one,""" start="00:06:38.000" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""which was a bounds-of-thing-at-point,""" start="00:06:39.960" video="mainVideo-completion" id="subtitle"]]
[[!template text="""and then my thing is non-blanks.""" start="00:06:42.120" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""Completion at point properties, what are they?""" start="00:06:44.880" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""They allow Emacs to know how to handle the information""" start="00:06:53.240" video="mainVideo-completion" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Making my own (basic) c-a-p-f for yasnippet: the completion properties""" start="00:06:44.880" video="mainVideo-completion" id="subtitle"]]</div>[[!template text="""Completion at point properties, what are they?""" start="00:06:44.880" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""They allow Emacs to know how to handle the information""" start="00:06:51.180" video="mainVideo-completion" id="subtitle"]]
[[!template text="""for a specific completion time.""" start="00:06:56.040" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""So you normally will have an annotation,""" start="00:06:57.880" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""which then can disappear if you use NerdIconScoreFull.""" start="00:07:02.320" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""So you normally will have an annotation,""" start="00:06:58.900" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""which then can disappear if you use nerd-icons-corfu,""" start="00:07:03.240" video="mainVideo-completion" id="subtitle"]]
[[!template text="""which is what I'm doing currently,""" start="00:07:08.520" video="mainVideo-completion" id="subtitle"]]
[[!template text="""but I keep it commented just in case I get tired of Corfu""" start="00:07:11.840" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and I want to have my completion function.""" start="00:07:17.560" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""Then the company kind is actually not something""" start="00:07:20.080" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""that comes from the company package, but does not require.""" start="00:07:26.760" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""And that's going to allow NerdEye Conscorfu to identify""" start="00:07:31.000" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and I want to have my completion function.""" start="00:07:17.901" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""Then the :company-kind is actually not something""" start="00:07:20.001" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""that comes from the company package, but does not require.""" start="00:07:24.960" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""And that's going to allow nerd-icons-corfu to identify""" start="00:07:31.000" video="mainVideo-completion" id="subtitle"]]
[[!template text="""and put the right icon there in the completion list,""" start="00:07:39.440" video="mainVideo-completion" id="subtitle"]]
[[!template text="""as you will see in a couple of minutes.""" start="00:07:44.840" video="mainVideo-completion" id="subtitle"]]
[[!template text="""So it's a snippet key.""" start="00:07:47.160" video="mainVideo-completion" id="subtitle"]]
[[!template text="""So basically what this is telling you""" start="00:07:50.440" video="mainVideo-completion" id="subtitle"]]
[[!template text="""is that this is a snippet keyword.""" start="00:07:52.600" video="mainVideo-completion" id="subtitle"]]
[[!template text="""These two lines, either line,""" start="00:07:54.320" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""tell you that this is a snippet keyword.""" start="00:07:56.800" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""And that it should be added to the other completions""" start="00:08:00.000" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""tell you that this is a snippet keyword,""" start="00:07:56.800" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and that it should be added to the other completions""" start="00:08:00.000" video="mainVideo-completion" id="subtitle"]]
[[!template text="""that you already have in your list.""" start="00:08:05.280" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""Problems looking now next step""" start="00:08:08.080" video="mainVideo-completion" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Getting yas-kw-list right: What do I want?""" start="00:08:10.900" video="mainVideo-completion" id="subtitle"]]</div>[[!template text="""Problems. Looking... Now, next step,""" start="00:08:10.900" video="mainVideo-completion" id="subtitle"]]
[[!template text="""once I had the completion props""" start="00:08:15.480" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""which was relatively easy was to go""" start="00:08:19.080" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""which was relatively easy was to go""" start="00:08:18.480" video="mainVideo-completion" id="subtitle"]]
[[!template text="""and get the keyword list right.""" start="00:08:21.440" video="mainVideo-completion" id="subtitle"]]
[[!template text="""I've been looking at pre-existing solutions""" start="00:08:24.400" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""like for example how the menu""" start="00:08:27.200" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""is built in by your snippet and it looked a bit like Mission Impossible.""" start="00:08:29.320" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""like, for example, how the menu""" start="00:08:27.200" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""is built in by yasnippet""" start="00:08:29.320" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and it looked a bit like Mission Impossible,""" start="00:08:32.540" video="mainVideo-completion" id="subtitle"]]
[[!template text="""because the approach by all the things""" start="00:08:34.400" video="mainVideo-completion" id="subtitle"]]
[[!template text="""that I have seen and I have examined""" start="00:08:40.440" video="mainVideo-completion" id="subtitle"]]
[[!template text="""is to get the keys and the names""" start="00:08:43.200" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and then further process them.""" start="00:08:45.640" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and then further process them.""" start="00:08:48.660" video="mainVideo-completion" id="subtitle"]]
[[!template text="""My take was, do I really need both?""" start="00:08:50.800" video="mainVideo-completion" id="subtitle"]]
[[!template text="""At the end, if I use my own snippets,""" start="00:08:55.280" video="mainVideo-completion" id="subtitle"]]
[[!template text="""I'm going to be using something""" start="00:08:58.160" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""I would call meaningful keys for them""" start="00:09:00.440" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""or at least meaningful for these keys are meaningful for me""" start="00:09:02.560" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and I try not to repeat them""" start="00:09:06.360" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I would call meaningful keys for them,""" start="00:09:00.440" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""or at least meaningful for... These keys are meaningful for me,""" start="00:09:02.560" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and I try not to repeat them,""" start="00:09:06.360" video="mainVideo-completion" id="subtitle"]]
[[!template text="""because it makes little sense to repeat a keyword.""" start="00:09:07.680" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""So why not center everything around the keys only""" start="00:09:09.960" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""So why not center everything around the keys only,""" start="00:09:09.960" video="mainVideo-completion" id="subtitle"]]
[[!template text="""and can that help simplify my code?""" start="00:09:13.920" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""So I started to dive into your snippet""" start="00:09:18.880" video="mainVideo-completion" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Diving in yasnippet""" start="00:09:18.880" video="mainVideo-completion" id="subtitle"]]</div>[[!template text="""So I started to dive into yasnippet""" start="00:09:18.880" video="mainVideo-completion" id="subtitle"]]
[[!template text="""and I found a lot of useful semi-hidden functions there.""" start="00:09:23.640" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""I discovered that getting the list""" start="00:09:27.320" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I discovered that getting the list,""" start="00:09:27.320" video="mainVideo-completion" id="subtitle"]]
[[!template text="""the list of keys for a given mode was not that difficult.""" start="00:09:30.680" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""And at the end what I started doing""" start="00:09:34.960" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""is get all the snipple tables used by a major mode""" start="00:09:40.080" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and get the lists of the keys that you have in each table.""" start="00:09:47.080" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""Sometimes the list is empty""" start="00:09:52.400" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""so it's going to return a nil and that you have to discard.""" start="00:09:55.840" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""When you're using structured snippets""" start="00:10:01.960" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""like snippets and submenus and so on""" start="00:10:06.000" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""to get a structured menu,""" start="00:10:08.920" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""you also get some non-strings that you need to filter out""" start="00:10:12.360" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""in order to get a workable keyword list.""" start="00:10:15.000" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""At the end of the day, what I had was something like this.""" start="00:10:19.000" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""I have, for a mode, I went through all modes.""" start="00:10:24.880" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""through all modes associated to that and then I went""" start="00:10:30.960" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""I got my results from all the tables that I had""" start="00:10:37.160" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""for a for a given time for a given table""" start="00:10:42.520" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""so what you do is you get your the tables""" start="00:10:45.280" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""that are associated to a mode because surprise surprise""" start="00:10:48.080" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""Some modes have more than one table,""" start="00:10:53.120" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and then what you do is you filter out all non strings""" start="00:10:55.959" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""And at the end, what I started doing""" start="00:09:34.960" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""is get all the snippet tables used by a major mode""" start="00:09:40.080" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and get the lists of the keys that you have in each table.""" start="00:09:43.400" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""Sometimes the list is empty""" start="00:09:48.000" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""so it's going to return a nil and that you have to discard.""" start="00:09:50.376" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""When you're using structured snippets""" start="00:09:54.320" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""like snippets and submenus and so on""" start="00:09:57.560" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""to get a structured menu.""" start="00:10:02.480" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""You also get some non-strings that you need to filter out""" start="00:10:06.400" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""in order to get a workable keyword list.""" start="00:10:09.835" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""At the end of the day, what I had was something like this.""" start="00:10:15.040" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I have, for a mode, I went through all modes.""" start="00:10:21.800" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""through all modes associated to that, and then I went,""" start="00:10:29.520" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I got my results from all the tables that I had""" start="00:10:38.800" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""for a given time, for a given table.""" start="00:10:42.520" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""So what you do is you get the tables""" start="00:10:45.280" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""that are associated to a mode, because, surprise, surprise,""" start="00:10:48.080" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""some modes have more than one table.""" start="00:10:53.120" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""And then what you do is you filter out all non strings""" start="00:10:55.959" video="mainVideo-completion" id="subtitle"]]
[[!template text="""from each of the keys list that you have for each table.""" start="00:11:00.918" video="mainVideo-completion" id="subtitle"]]
[[!template text="""So as you see, it's a 1, 2, 3, 4, 5, 6, 7 liner,""" start="00:11:07.720" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""which was not too much.""" start="00:11:12.680" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""which was not too much.""" start="00:11:12.380" video="mainVideo-completion" id="subtitle"]]
[[!template text="""By the way, if someone from Yasnippet is around,""" start="00:11:14.320" video="mainVideo-completion" id="subtitle"]]
[[!template text="""I sent a pull request to include this""" start="00:11:20.040" video="mainVideo-completion" id="subtitle"]]
[[!template text="""as a public function in Yasnipit""" start="00:11:26.960" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""because it might be nice to have it in a packet""" start="00:11:29.000" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""because it might be nice to have it in the package""" start="00:11:29.000" video="mainVideo-completion" id="subtitle"]]
[[!template text="""in order to do this kind of things.""" start="00:11:32.320" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""So fine-tuning I just adding a yes completion""" start="00:11:33.840" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""to the completion point functions was not enough""" start="00:11:41.240" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""I don't really know""" start="00:11:44.720" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""but exclusive node didn't seem to work how I wanted""" start="00:11:46.800" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""so I needed to escape sorry yeah I was saying I was getting rid of packages""" start="00:11:51.200" video="mainVideo-completion" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Fine-tuning: adding cape""" start="00:11:33.840" video="mainVideo-completion" id="subtitle"]]</div>[[!template text="""So fine-tuning. Just adding a yas completion""" start="00:11:33.840" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""to the completion point functions was not enough.""" start="00:11:41.240" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I don't really know,""" start="00:11:44.720" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""but :exclusive no didn't seem to work how I wanted""" start="00:11:46.800" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""so I needed to escape... Sorry. Yeah.""" start="00:11:51.200" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I was saying I was getting rid of packages,""" start="00:11:54.550" video="mainVideo-completion" id="subtitle"]]
[[!template text="""and I had to add one package""" start="00:11:57.400" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""in order to get a function which is very very nice""" start="00:12:01.000" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and which is part of the cape function of the cape package""" start="00:12:04.480" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and that's cape cap super.""" start="00:12:08.920" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""So at the end using that you define an alias""" start="00:12:12.800" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""which for that where you use cape cap super""" start="00:12:16.440" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""to have a list of what you want""" start="00:12:23.200" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""so in this case for example for the demo""" start="00:12:25.800" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""I'm going to make I'm using yes completion""" start="00:12:29.080" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and then the elisp completion point function provided by Emacs.""" start="00:12:32.760" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""I combine them using cape cap super""" start="00:12:37.720" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and with that I create a completion point""" start="00:12:44.000" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""a new completion point function which I call cape list mode""" start="00:12:47.680" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and then I add this alias to the completion functions list""" start="00:12:53.160" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and with that it is enough snippet expansion""" start="00:12:58.520" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""if you want to have your snippets expanded automatically,""" start="00:13:05.720" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""you have to add an exit function to the, I'm sorry,""" start="00:13:14.480" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""to the completion properties""" start="00:13:28.000" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""yet another functionality you have to add""" start="00:13:30.880" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and to avoid this automatic selection to be too eager""" start="00:13:34.120" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""you need to add this set corfu""" start="00:13:39.200" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""on exact match to nil because otherwise""" start="00:13:43.320" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""you will always get the snippet expanded""" start="00:13:48.600" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""even if you don't want it Basically why?""" start="00:13:51.840" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""Basically because this would be suboptimal""" start="00:13:55.040" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""in order to get a function, which is very, very, nice,""" start="00:12:00.280" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and which is part of the cape function of the cape package,""" start="00:12:04.480" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and that's cape-capf-super.""" start="00:12:08.920" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""So at the end, using that, you define an alias,""" start="00:12:12.800" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""which, for that, where you use cape-capf-super""" start="00:12:16.440" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""to have a list of what you want...""" start="00:12:23.200" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""So in this case, for example, for the demo""" start="00:12:25.800" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I'm going to make, I'm using yas completion""" start="00:12:29.080" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and then the elisp-completion-at-point function""" start="00:12:31.420" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""provided by Emacs.""" start="00:12:36.173" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I combine them using cape-capf-super,""" start="00:12:37.720" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and with that, I create a completion point,""" start="00:12:44.000" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""a new completion point function which I call cape-lisp-mode,""" start="00:12:47.680" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and then I add this alias to the completion functions list,""" start="00:12:53.160" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and with that, it is enough.""" start="00:12:58.520" video="mainVideo-completion" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Automatic snippet expansion""" start="00:13:03.804" video="mainVideo-completion" id="subtitle"]]</div>[[!template text="""Snippet expansion.""" start="00:13:03.804" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""If you want to have your snippets expanded automatically,""" start="00:13:05.720" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""you have to add an exit function to the, I'm sorry,""" start="00:13:13.840" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""to the completion properties.""" start="00:13:28.000" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""Yet another functionality you have to add.""" start="00:13:30.880" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""And to avoid this automatic selection to be too eager,""" start="00:13:34.120" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""you need to add this setq corfu-on-exact-match to nil""" start="00:13:39.200" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""because otherwise, you will always get the snippet expanded,""" start="00:13:47.974" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""even if you don't want it. Basically, why?""" start="00:13:51.840" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""Basically, because this would be suboptimal""" start="00:13:55.040" video="mainVideo-completion" id="subtitle"]]
[[!template text="""because the key can appear as part of a variable name.""" start="00:13:57.640" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""Another nice thing, I'm also creating my own themes.""" start="00:14:05.360" video="mainVideo-completion" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Themes""" start="00:14:05.360" video="mainVideo-completion" id="subtitle"]]</div>[[!template text="""Another nice thing, I'm also creating my own themes.""" start="00:14:05.360" video="mainVideo-completion" id="subtitle"]]
[[!template text="""I'm trying to have very sleek themes""" start="00:14:10.600" video="mainVideo-completion" id="subtitle"]]
[[!template text="""that only cover the modes that I use""" start="00:14:13.760" video="mainVideo-completion" id="subtitle"]]
[[!template text="""and for that I have my own theme creator fork""" start="00:14:16.840" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""from the original team creator.""" start="00:14:22.960" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""In my personal work that I'm running at home,""" start="00:14:26.960" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""I only have the faces for the modes I use.""" start="00:14:31.720" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""I don't want to overload the thing""" start="00:14:34.160" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""from the original theme creator.""" start="00:14:22.960" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""In my personal fork that I'm running at home,""" start="00:14:26.960" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I only have the faces for the modes I use.""" start="00:14:29.293" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I don't want to overload the thing""" start="00:14:33.860" video="mainVideo-completion" id="subtitle"]]
[[!template text="""with too much different things.""" start="00:14:38.160" video="mainVideo-completion" id="subtitle"]]
[[!template text="""Looking at this, I really didn't need, as you will see now,""" start="00:14:41.840" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""I don't need to add anything to my themes""" start="00:14:46.000" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I don't need to add anything to my themes,""" start="00:14:46.000" video="mainVideo-completion" id="subtitle"]]
[[!template text="""because the default faces for Corfu""" start="00:14:50.080" video="mainVideo-completion" id="subtitle"]]
[[!template text="""adapt quite well to most of the themes.""" start="00:14:53.280" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""So if I go back to my checklist decently remax yes""" start="00:14:58.320" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""compiled the one you'll see""" start="00:15:02.840" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""for the for in the demo I'm doing is a master""" start="00:15:06.560" video="mainVideo-completion" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""My check-list""" start="00:14:58.320" video="mainVideo-completion" id="subtitle"]]</div>[[!template text="""So if I go back to my checklist,""" start="00:14:58.320" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""decently new Emacs, yes,""" start="00:15:01.479" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""compiled. The one you'll see""" start="00:15:02.840" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""in the demo I'm doing is a master""" start="00:15:06.560" video="mainVideo-completion" id="subtitle"]]
[[!template text="""compiled the day before yesterday""" start="00:15:09.240" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""so and I don't need Corfu terminal there.""" start="00:15:12.000" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""I need your snippet,""" start="00:15:15.200" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and I don't need corfu-terminal there.""" start="00:15:12.000" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I need yasnippet,""" start="00:15:15.200" video="mainVideo-completion" id="subtitle"]]
[[!template text="""and you're going to see that in a second""" start="00:15:16.560" video="mainVideo-completion" id="subtitle"]]
[[!template text="""with a couple of snippets that I can expand here.""" start="00:15:20.160" video="mainVideo-completion" id="subtitle"]]
[[!template text="""I don't want any reminiscence of a company in my setup,""" start="00:15:24.440" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and there's none. Well, actually, company kind is there""" start="00:15:27.480" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""you see the company there""" start="00:15:32.120" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""but it isn't if I buy companies strictly speaking""" start="00:15:33.720" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and for I don't want I need Eglot integration""" start="00:15:39.560" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""which I will also be showing you. Takeaways from all this,""" start="00:15:44.680" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and there's none. Well, actually, :company-kind is there""" start="00:15:27.480" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""you see the company there,""" start="00:15:32.120" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""but it isn't defined by company strictly speaking,""" start="00:15:33.720" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and for... I don't want... I need Eglot integration""" start="00:15:39.560" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""which I will also be showing you.""" start="00:15:44.680" video="mainVideo-completion" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Takeaways""" start="00:15:48.584" video="mainVideo-completion" id="subtitle"]]</div>[[!template text="""Takeaways from all this,""" start="00:15:48.584" video="mainVideo-completion" id="subtitle"]]
[[!template text="""if you accept the extra burden""" start="00:15:50.440" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""of Corfu terminal for Emacs 30 or earlier Emacs 30s,""" start="00:15:55.280" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""of corfu-terminal for Emacs 30 or earlier Emacs 30s,""" start="00:15:55.280" video="mainVideo-completion" id="subtitle"]]
[[!template text="""it's not too difficult to get this set up running.""" start="00:16:02.240" video="mainVideo-completion" id="subtitle"]]
[[!template text="""Corfu was easier to integrate and configure than Company,""" start="00:16:07.560" video="mainVideo-completion" id="subtitle"]]
[[!template text="""and it's much lighter in terms""" start="00:16:11.760" video="mainVideo-completion" id="subtitle"]]
@@ -250,141 +273,145 @@
[[!template text="""to integrate and configure.""" start="00:16:27.400" video="mainVideo-completion" id="subtitle"]]
[[!template text="""I've learned a lot about computational functions in the process,""" start="00:16:30.120" video="mainVideo-completion" id="subtitle"]]
[[!template text="""which is, something that is always nice to learn new things""" start="00:16:34.880" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and the Nerd Icons Corfu makes the""" start="00:16:40.440" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""at least at this point in time I might get tired of it""" start="00:16:45.040" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""but at this point in time it makes""" start="00:16:48.320" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""a makes a very nice overall look""" start="00:16:50.400" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and look and feel for for Emacs.""" start="00:16:53.680" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""requests to whom it may concern cape has nice features""" start="00:16:58.040" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""that maybe could make their way into emacs""" start="00:17:02.040" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""i'm thinking basically about this cape super fun""" start="00:17:06.280" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""uh super function super cape function functionality""" start="00:17:09.160" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""which is very nice and overcomes the problem of linking""" start="00:17:12.400" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and this exclusive and all this kind of things""" start="00:17:18.800" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and the nerd-icons-corfu makes the...""" start="00:16:40.440" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""at least, at this point in time... I might get tired of it,""" start="00:16:45.040" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""but at this point in time, it makes""" start="00:16:48.320" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""a very nice overall look and feel for Emacs.""" start="00:16:50.400" video="mainVideo-completion" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Requests (to whom it may concern)""" start="00:16:58.040" video="mainVideo-completion" id="subtitle"]]</div>[[!template text="""Requests (to whom it may concern): cape has nice features""" start="00:16:58.040" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""that maybe could make their way into emacs.""" start="00:17:02.040" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I'm thinking basically about""" start="00:17:06.280" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""this super cape functionality""" start="00:17:08.065" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""which is very nice, and overcomes the problem of linking,""" start="00:17:12.400" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and this :exclusive and all this kind of things""" start="00:17:18.800" video="mainVideo-completion" id="subtitle"]]
[[!template text="""that we have currently in Corfu""" start="00:17:22.240" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""with the computational point functions.""" start="00:17:26.480" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""Corfu is also really nice to have and it's not too big""" start="00:17:28.440" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""so is there any possibility""" start="00:17:32.960" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""with the completion-at-point functions.""" start="00:17:26.480" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""Corfu is also really nice to have, and it's not too big.""" start="00:17:28.440" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""So is there any possibility""" start="00:17:32.960" video="mainVideo-completion" id="subtitle"]]
[[!template text="""that it makes its way into Emacs?""" start="00:17:35.560" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""Please keep Yarn Snippet alive.""" start="00:17:40.080" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""Please keep yasnippet alive.""" start="00:17:40.080" video="mainVideo-completion" id="subtitle"]]
[[!template text="""I'm not saying here that my pull request should be there,""" start="00:17:42.400" video="mainVideo-completion" id="subtitle"]]
[[!template text="""but it would be nice if someone took a look""" start="00:17:48.560" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and made it part of Yarn Snippet.""" start="00:17:51.560" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""And PS, currently on master,""" start="00:17:57.400" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and made it part of Yasnippet.""" start="00:17:51.560" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""And P.S., currently on master,""" start="00:17:57.400" video="mainVideo-completion" id="subtitle"]]
[[!template text="""there's a lot of semantic highlighting going on,""" start="00:18:01.800" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""which is very, very nice. No criticism on that.""" start="00:18:07.800" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""but you may need to add to your snippet hook""" start="00:18:13.720" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""this simple local value for ElixirFontify semantically""" start="00:18:19.640" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""because at least in my case I felt that""" start="00:18:25.040" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""the face were a bit too pushy""" start="00:18:30.720" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""so I had to make a snippet mode""" start="00:18:32.440" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""which is very, very nice. No criticism on that.""" start="00:18:04.293" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""But you may need to add to your snippet hook""" start="00:18:07.126" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""this simple local value for elisp-fontify-semantically,""" start="00:18:12.418" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""because at least in my case, I felt that""" start="00:18:25.040" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""the faces were a bit too pushy,""" start="00:18:30.720" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""so I had to make the snippet mode""" start="00:18:32.440" video="mainVideo-completion" id="subtitle"]]
[[!template text="""use the old Emacs Lisp fontification.""" start="00:18:37.334" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""That's what we want to talk about.""" start="00:18:41.280" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""This would be my talk.""" start="00:18:43.580" video="mainVideo-completion" id="subtitle"]]
[[!template text="""Any initial reactions to this? There's a question here.""" start="00:18:46.280" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""Someone asked, did you try Jasnepet Cup?""" start="00:18:55.000" video="mainVideo-completion" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Q: Did you try yasnippet-capf? If so, what did you miss from it that this approach has? Thanks! https://github.com/elken/yasnippet-capf""" start="00:18:55.000" video="mainVideo-completion" id="subtitle"]]</div>[[!template text="""Someone asked, did you try yasnippet-capf?""" start="00:18:55.000" video="mainVideo-completion" id="subtitle"]]
[[!template text="""If so, what did you miss from this approach? I tried that.""" start="00:18:59.160" video="mainVideo-completion" id="subtitle"]]
[[!template text="""And it's not that I missed anything.""" start="00:19:05.960" video="mainVideo-completion" id="subtitle"]]
[[!template text="""It was more or less that I wanted to do it myself.""" start="00:19:11.240" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""So I wanted to see what was behind it. That's my answer.""" start="00:19:16.520" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""So I wanted to see what was behind it. That's my answer.""" start="00:19:15.840" video="mainVideo-completion" id="subtitle"]]
[[!template text="""There are lots of packages there,""" start="00:19:24.160" video="mainVideo-completion" id="subtitle"]]
[[!template text="""but I try to keep learning. So, this was a nice objective""" start="00:19:26.680" video="mainVideo-completion" id="subtitle"]]
[[!template text="""to learn a bit more about Emacs. And now, just a second.""" start="00:19:31.720" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""Now, a small demo. This is the interaction.""" start="00:19:40.160" video="mainVideo-completion" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""A small demo""" start="00:19:40.160" video="mainVideo-completion" id="subtitle"]]</div>[[!template text="""Now, a small demo. This is the interaction.""" start="00:19:40.160" video="mainVideo-completion" id="subtitle"]]
[[!template text="""And as you see, I have the snippet there.""" start="00:19:44.880" video="mainVideo-completion" id="subtitle"]]
[[!template text="""and I have a couple of snippets.""" start="00:19:47.200" video="mainVideo-completion" id="subtitle"]]
[[!template text="""So, for example, if I would like to say""" start="00:19:52.880" video="mainVideo-completion" id="subtitle"]]
[[!template text="""I want to define a function, I can go like this.""" start="00:19:55.840" video="mainVideo-completion" id="subtitle"]]
[[!template text="""And what you see here is that""" start="00:19:58.880" video="mainVideo-completion" id="subtitle"]]
[[!template text="""I have two snippets appearing and then some variables.""" start="00:20:00.520" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""So, I could go for def one or if I want a key map, for def key map,""" start="00:20:04.320" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""So, I could go for defun or if I want a key map, for def-keymap,""" start="00:20:04.320" video="mainVideo-completion" id="subtitle"]]
[[!template text="""which would be something like this.""" start="00:20:09.880" video="mainVideo-completion" id="subtitle"]]
[[!template text="""And then when I press enter, I get directly into the map""" start="00:20:11.480" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and I could say like, Show off mob.""" start="00:20:18.320" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""Then it sets out directly a prefix T,""" start="00:20:26.720" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and I could say like, show off map.""" start="00:20:18.320" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""Then it sets out directly a :prefix t,""" start="00:20:26.720" video="mainVideo-completion" id="subtitle"]]
[[!template text="""which is something that I asked for in Emacs master.""" start="00:20:30.080" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""So with prefix T, for those who prefix it true,""" start="00:20:35.040" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""So with :prefix t, for those who prefix it true,""" start="00:20:35.040" video="mainVideo-completion" id="subtitle"]]
[[!template text="""for those who don't know it,""" start="00:20:39.480" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""it makes integrating this into keymaps in use package much easier.""" start="00:20:41.400" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""So the next thing would be""" start="00:20:46.800" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""I would like to write a description""" start="00:20:51.120" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""like for example a cool show off team up""" start="00:20:56.000" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and then my keys are my functions and that would be it""" start="00:21:05.000" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""but you also have like but also have like this define function""" start="00:21:08.600" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and of course you can say that's nice but there's no""" start="00:21:15.840" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""it makes integrating this into keymaps""" start="00:20:41.400" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""in use-package much easier.""" start="00:20:49.043" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""So the next thing would be,""" start="00:20:52.126" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I would like to write a description,""" start="00:20:54.168" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""like, for example, a cool show-off keymap,""" start="00:20:56.501" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and then my keys are my functions, and that would be it.""" start="00:21:05.000" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""Of course, you also have like this define function.""" start="00:21:08.600" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""And of course you can say, that's nice,""" start="00:21:15.840" video="mainVideo-completion" id="subtitle"]]
[[!template text="""but you're not showing the integration""" start="00:21:21.680" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""with Eglot and you're right.""" start="00:21:23.800" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""with Eglot, and you're right.""" start="00:21:23.800" video="mainVideo-completion" id="subtitle"]]
[[!template text="""So I'm going just to open up a small program""" start="00:21:25.440" video="mainVideo-completion" id="subtitle"]]
[[!template text="""that I'm currently developing in Python.""" start="00:21:30.280" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""X is a tool to do things in MP3.""" start="00:21:33.320" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""And here I would have like all these things.""" start="00:21:38.240" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""This is a tool to do things in MP3.""" start="00:21:33.320" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""And here I would have, like, all these things.""" start="00:21:38.240" video="mainVideo-completion" id="subtitle"]]
[[!template text="""As you see here in the bottom,""" start="00:21:42.280" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""service running, pilot is local, eglot is active.""" start="00:21:45.360" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""server is running, file is local, eglot is active.""" start="00:21:45.360" video="mainVideo-completion" id="subtitle"]]
[[!template text="""So I have my eglot stop and then I go down.""" start="00:21:49.080" video="mainVideo-completion" id="subtitle"]]
[[!template text="""And I want to add a new argument here.""" start="00:21:57.920" video="mainVideo-completion" id="subtitle"]]
[[!template text="""I would go like for it. I would go like add flag.""" start="00:22:00.520" video="mainVideo-completion" id="subtitle"]]
[[!template text="""For example, I would add a flag""" start="00:22:08.800" video="mainVideo-completion" id="subtitle"]]
[[!template text="""and I would get a new flag to add here.""" start="00:22:13.760" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""Oops. Of course, this is integrated into Eagle Lord.""" start="00:22:21.760" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""So I'm getting your information about what I have.""" start="00:22:33.120" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""I don't have OS, so I would need to import here,""" start="00:22:42.760" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""but I can go up just to see""" start="00:22:52.360" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""if I would like to, for example,""" start="00:22:59.280" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""create a new a regular expression""" start="00:23:01.760" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""I'm getting this information that you see right now on call""" start="00:23:11.880" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""for I'm getting that from Eglot""" start="00:23:15.440" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""so you see there's the integration""" start="00:23:17.360" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""with with Eglot too in Python""" start="00:23:18.920" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""I have Eglot and as you've seen""" start="00:23:20.840" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""I also have the and all these are snippets fine""" start="00:23:23.560" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""more reactions and questions""" start="00:23:30.240" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""Oops. Of course, this is integrated into Eglot,""" start="00:22:27.860" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""so I'm getting your information about what I have.""" start="00:22:33.120" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I could... I don't have os, so I would need to import here,""" start="00:22:42.760" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""but I can go up just to see...""" start="00:22:52.360" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""If I would like to, for example,""" start="00:22:59.280" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""create a new regular expression,""" start="00:23:01.760" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I'm getting this information that you see right now on call.""" start="00:23:11.880" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I'm getting that from Eglot.""" start="00:23:15.440" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""So you see there's the integration""" start="00:23:17.360" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""with Eglot too in Python.""" start="00:23:18.920" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I have Eglot, and as you've seen""" start="00:23:20.840" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I also have the... and all these are snippets. Fine.""" start="00:23:23.560" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""More reactions and questions?""" start="00:23:30.240" video="mainVideo-completion" id="subtitle"]]
[[!template text="""Because that would be my show off here.""" start="00:23:38.200" video="mainVideo-completion" id="subtitle"]]
[[!template text="""Any questions? Any more questions on the pad?""" start="00:23:54.240" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""but anyhow i'm going to try""" start="00:23:56.760" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""i'm going to try your snippet too""" start="00:24:11.480" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and i'm going to be answering this question more""" start="00:24:13.240" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""but anyhow I'm going to try,""" start="00:24:09.380" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I'm going to try yasnippet too""" start="00:24:11.480" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and I'm going to be answering this question more""" start="00:24:13.240" video="mainVideo-completion" id="subtitle"]]
[[!template text="""yeah time is good okay fine""" start="00:24:16.280" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""so I would be done if there's no more reactions""" start="00:24:21.080" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""thank you so much You're welcome.""" start="00:24:30.040" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""so I would be done if there's no more reactions...""" start="00:24:21.080" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""Thank you so much. You're welcome.""" start="00:24:30.040" video="mainVideo-completion" id="subtitle"]]
[[!template text="""If you have any other questions, folks,""" start="00:24:33.240" video="mainVideo-completion" id="subtitle"]]
[[!template text="""you can always follow up on the pad.""" start="00:24:34.920" video="mainVideo-completion" id="subtitle"]]
[[!template text="""That was a great demonstration, and I'm sure lots of people""" start="00:24:37.080" video="mainVideo-completion" id="subtitle"]]
[[!template text="""are looking forward to trying it out.""" start="00:24:39.640" video="mainVideo-completion" id="subtitle"]]
[[!template text="""Oh, I see some questions coming in now.""" start="00:24:43.520" video="mainVideo-completion" id="subtitle"]]
[[!template text="""You may go ahead if you like.""" start="00:24:45.240" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""okay fine uh what uh there's someone asking""" start="00:24:46.200" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""what do special characters in your snippets work well too""" start="00:24:51.880" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""what kind of i don't use special characters in the key name""" start="00:24:57.080" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""so in this case everything works quite nicely""" start="00:25:02.480" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and then i'm passing i'm passing the control to your snippets""" start="00:25:05.200" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""so if there's any problem in your snippets""" start="00:25:11.360" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""with uh special characters""" start="00:25:13.680" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""that i don't know I don't use that as a key.""" start="00:25:15.360" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""Okay, fine. There's someone asking:""" start="00:24:46.200" video="mainVideo-completion" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Q: Do special characters in yasnippets work well too? example &lt;FD ?""" start="00:24:51.880" video="mainVideo-completion" id="subtitle"]]</div>[[!template text="""Do special characters in your snippets work well too?""" start="00:24:51.880" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""what kind of... I don't use special characters in the key name,""" start="00:24:57.080" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""so in this case everything works quite nicely,""" start="00:25:02.480" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and then I'm passing, I'm passing the control to yasnippet,""" start="00:25:05.200" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""so if there's any problem in yasnippet""" start="00:25:11.360" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""with special characters,""" start="00:25:13.680" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""that, I don't know. I don't use that as a key.""" start="00:25:15.360" video="mainVideo-completion" id="subtitle"]]
[[!template text="""I'm just using for key names.""" start="00:25:24.400" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""I normally use a, I only use letters, but that should work.""" start="00:25:30.520" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I normally use a... I only use letters, but that should work.""" start="00:25:30.520" video="mainVideo-completion" id="subtitle"]]
[[!template text="""I mean, let's, uh, let's give it a trial.""" start="00:25:38.400" video="mainVideo-completion" id="subtitle"]]
[[!template text="""Let's kill here. Yes. I don't want, I don't want to touch this.""" start="00:25:43.960" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""Ugh. let's go into this one uh""" start="00:25:58.040" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""let's say I'm going to define this for example like this""" start="00:26:01.040" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and I'm going to create a new snippet""" start="00:26:06.959" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""Ugh. Let's go into this one.""" start="00:25:58.040" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""Let's say I'm going to define this, for example, like this,""" start="00:26:01.040" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and I'm going to create a new snippet.""" start="00:26:06.959" video="mainVideo-completion" id="subtitle"]]
[[!template text="""I'm going to create a new snippet""" start="00:26:10.920" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and use this is for example when you look at this""" start="00:26:15.360" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""if you if you have the the venue uh the new""" start="00:26:18.120" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""sorry the new way of the the new emacs uh""" start="00:26:20.600" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""semantical highlighting working""" start="00:26:26.160" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""this would be quite cramped this is why i'm using""" start="00:26:31.640" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""this is why i said uh the snippet the""" start="00:26:39.200" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""so is this more or less what you're talking about""" start="00:26:43.040" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""This is what you're talking about. Snippet. Save the snippet.""" start="00:26:49.040" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""So I'm going to... Snippet, load and put window.""" start="00:27:01.480" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and use this. For example, when you look at this,""" start="00:26:15.360" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""if you have the new way of the new Emacs""" start="00:26:18.120" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""semantical highlighting working,""" start="00:26:31.043" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""this would be quite cramped. This is why I'm using,""" start="00:26:37.668" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""this is why I said the snippet, the...""" start="00:26:40.626" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""So is this more or less what you're talking about?""" start="00:26:44.900" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""This is what you're talking about. Snippet. Save the snippet.""" start="00:26:55.140" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""Snippet, load and put window.""" start="00:27:12.580" video="mainVideo-completion" id="subtitle"]]
[[!template text="""Enable interaction mode. Yes, I'm going to save.""" start="00:27:15.480" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""And I'm going to save that as FD test. on the file.""" start="00:27:21.280" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""No, I'm going to save this. Load. Load input window.""" start="00:27:24.440" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""And I'm going to save that as fd test in the file.""" start="00:27:21.280" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""No, I'm going to save this. Load. Load input window.""" start="00:27:31.060" video="mainVideo-completion" id="subtitle"]]
[[!template text="""I'm going to put this in Emacs Lisp mode. I want to save it. No.""" start="00:27:41.480" video="mainVideo-completion" id="subtitle"]]
[[!template text="""I'm going to write that directly into Emacs Lisp mode.""" start="00:27:53.680" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""going to go back into scratch buffer""" start="00:28:27.360" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and here I have it and we have it here but anyhow""" start="00:28:30.640" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and I'm just going to try to see if I feel like empty of course""" start="00:28:43.080" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""there's only one it will not show in Corfu,""" start="00:28:52.080" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""Going to go back into scratch buffer,""" start="00:28:27.360" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and here I have it. We have it here. But anyhow...""" start="00:28:30.640" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""And I'm just going to try to see, if I feel like...""" start="00:28:43.080" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""Empty? Of course, there's only one.""" start="00:28:46.935" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""It will not show in Corfu.""" start="00:28:52.664" video="mainVideo-completion" id="subtitle"]]
[[!template text="""but I mean, I don't have any problems""" start="00:28:58.840" video="mainVideo-completion" id="subtitle"]]
[[!template text="""with that, as you see. Was that what you were meaning?""" start="00:29:01.520" video="mainVideo-completion" id="subtitle"]]
[[!template text="""Yeah, I guess that works. Fine.""" start="00:29:21.000" video="mainVideo-completion" id="subtitle"]]
@@ -399,85 +426,91 @@
[[!template text="""And I'm going to go and write this""" start="00:30:04.920" video="mainVideo-completion" id="subtitle"]]
[[!template text="""into, with a second, fine.""" start="00:30:08.800" video="mainVideo-completion" id="subtitle"]]
[[!template text="""And now I need to quit here, sorry.""" start="00:30:16.720" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""And I'm going to come back in a second with another remark.""" start="00:30:19.920" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""And I'm going to come back in a second with another remark.""" start="00:30:18.180" video="mainVideo-completion" id="subtitle"]]
[[!template text="""Well, I'm bringing back and now let's see.""" start="00:30:26.640" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""Let's see what we have in your snippets.""" start="00:30:31.560" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""Let's see what we have in yasnippet.""" start="00:30:31.560" video="mainVideo-completion" id="subtitle"]]
[[!template text="""It's not there. Why not? Just a second. Let's see if I go.""" start="00:30:34.840" video="mainVideo-completion" id="subtitle"]]
[[!template text="""I don't know if it matters that the name was""" start="00:30:44.160" video="mainVideo-completion" id="subtitle"]]
[[!template text="""that didn't have the characters in the beginning.""" start="00:30:47.840" video="mainVideo-completion" id="subtitle"]]
[[!template text="""Just a second. I think I know what is happening here.""" start="00:30:52.600" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""Do I have here? I have them. I'm going to clean.""" start="00:31:03.160" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""Oh, you're back in your home directories. Why?""" start="00:31:21.440" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""CD dash to get back in. Yeah. That's right.""" start="00:31:28.880" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""So you see how the name also has""" start="00:31:35.880" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""Do I have them? I'm going to clean.""" start="00:31:05.700" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""[Sacha]: Oh, you're back in your home directories is why.""" start="00:31:21.440" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""cd - to get back in.""" start="00:31:28.880" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""Yeah. That's right.""" start="00:31:35.005" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""So you see how the name also has...""" start="00:31:35.880" video="mainVideo-completion" id="subtitle"]]
[[!template text="""it doesn't have the same as the keys.""" start="00:31:37.800" video="mainVideo-completion" id="subtitle"]]
[[!template text="""I don't know if that affects what shows up.""" start="00:31:39.320" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""Yeah, we we can try that. That's a quick one. This is my.""" start="00:31:41.040" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""Fine, now that I have this,""" start="00:31:49.400" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""[Pedro]: Yeah, we we can try that.""" start="00:31:41.040" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""That's a quick one. This is my...""" start="00:31:44.881" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""Fine, now that I have this,""" start="00:31:50.000" video="mainVideo-completion" id="subtitle"]]
[[!template text="""which is going to be quicker, we check again.""" start="00:31:51.280" video="mainVideo-completion" id="subtitle"]]
[[!template text="""They both seem to be the same now""" start="00:31:55.360" video="mainVideo-completion" id="subtitle"]]
[[!template text="""and I don't know if that affects, but anyhow, let's try it.""" start="00:31:57.920" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""I go and then I look at the AR snippets, if it's there.""" start="00:32:03.080" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""Yes, it is. Yeah, it's there.""" start="00:32:07.680" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""And then if I say there, there you are. Oh, look at that.""" start="00:32:11.880" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""It doesn't seem to be affecting. Fantastic.""" start="00:32:18.560" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""And by the way, it is there.""" start="00:32:24.160" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""Yeah, I really should spend time""" start="00:32:32.120" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""getting more templates set up with Snippet.""" start="00:32:34.000" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I go and then I look at the yasnippet, if it's there.""" start="00:32:03.080" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""Yes, it is.""" start="00:32:07.680" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""[Sacha]: Yeah, it's there.""" start="00:32:09.957" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""[Pedro]: And then if I say there, there you are. Oh, look at that.""" start="00:32:11.880" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""It doesn't seem to be affecting.""" start="00:32:18.560" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""[Sacha]: Fantastic.""" start="00:32:22.168" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""[Pedro]: And by the way, it is there.""" start="00:32:24.160" video="mainVideo-completion" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Emacs Lisp""" start="00:32:32.120" video="mainVideo-completion" id="subtitle"]]</div>[[!template text="""[Sacha]: Yeah, I really should spend time""" start="00:32:32.120" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""getting more templates set up with yasnippet.""" start="00:32:34.000" video="mainVideo-completion" id="subtitle"]]
[[!template text="""I really love the fact that""" start="00:32:36.600" video="mainVideo-completion" id="subtitle"]]
[[!template text="""you can evaluate Emacs Lisp in it too.""" start="00:32:37.640" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""Yeah, I mean, just to make it bigger,""" start="00:32:40.400" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""[Pedro]: Yeah, I mean, just to make it bigger,""" start="00:32:40.400" video="mainVideo-completion" id="subtitle"]]
[[!template text="""try that because if I go into my, for example,""" start="00:32:43.400" video="mainVideo-completion" id="subtitle"]]
[[!template text="""into my org mode stuff""" start="00:32:51.360" video="mainVideo-completion" id="subtitle"]]
[[!template text="""and in my org mode, I go to the article,""" start="00:32:55.680" video="mainVideo-completion" id="subtitle"]]
[[!template text="""which is one of the big ones.""" start="00:32:59.440" video="mainVideo-completion" id="subtitle"]]
[[!template text="""I have things like, for example,""" start="00:33:03.320" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""I defined a couple of functions here to do if it's empty,""" start="00:33:06.200" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""if that is empty, just add a white space.""" start="00:33:10.720" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I defined a couple of functions here to do if it's empty,""" start="00:33:05.120" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""if that is empty, just add a white space.""" start="00:33:09.200" video="mainVideo-completion" id="subtitle"]]
[[!template text="""If one is empty, add a white space.""" start="00:33:16.400" video="mainVideo-completion" id="subtitle"]]
[[!template text="""add a white space here so it becomes a comment.""" start="00:33:19.600" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""I have functions for to do more things on that""" start="00:33:23.320" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and I also have like menus to see""" start="00:33:27.280" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I have functions to do more things on that,""" start="00:33:23.320" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""and I also have menus to see""" start="00:33:27.280" video="mainVideo-completion" id="subtitle"]]
[[!template text="""what language I want to choose for""" start="00:33:29.800" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""for my spell checking and so on so""" start="00:33:33.600" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""and that's all that's as you see""" start="00:33:37.080" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""this is a Lisp being evaluated""" start="00:33:40.320" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""so yes do I really encourage you""" start="00:33:41.960" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""I've also heard people use it,""" start="00:33:45.120" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""my spell checking and so on.""" start="00:33:31.440" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""And that's all... As you see,""" start="00:33:33.251" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""this is Lisp being evaluated.""" start="00:33:35.481" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""So yes, do. I really encourage you""" start="00:33:39.418" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""[Sacha]: I've also heard people use it,""" start="00:33:45.120" video="mainVideo-completion" id="subtitle"]]
[[!template text="""like, especially if they're working""" start="00:33:46.520" video="mainVideo-completion" id="subtitle"]]
[[!template text="""in different programming languages,""" start="00:33:47.800" video="mainVideo-completion" id="subtitle"]]
[[!template text="""so they can just have the syntax""" start="00:33:49.920" video="mainVideo-completion" id="subtitle"]]
[[!template text="""for the different languages""" start="00:33:52.400" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""be condensed into a consistent abbreviation. Yeah.""" start="00:33:54.360" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""And look, this is my article. I have another.""" start="00:33:58.240" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""be condensed into a consistent abbreviation.""" start="00:33:54.360" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""[Pedro]: Yeah. And look, this is my article. I have another.""" start="00:33:58.240" video="mainVideo-completion" id="subtitle"]]
[[!template text="""This is when I'm writing articles. I have another one.""" start="00:34:01.320" video="mainVideo-completion" id="subtitle"]]
[[!template text="""I have another one for writing letters""" start="00:34:07.800" video="mainVideo-completion" id="subtitle"]]
[[!template text="""in org mode and so on. So, it's like letter, block,""" start="00:34:10.280" video="mainVideo-completion" id="subtitle"]]
[[!template text="""and you have the complete infrastructure""" start="00:34:14.400" video="mainVideo-completion" id="subtitle"]]
[[!template text="""and you don't have to type it by hand.""" start="00:34:16.560" video="mainVideo-completion" id="subtitle"]]
[[!template text="""So, it's really, really nice.""" start="00:34:20.160" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""Hmm, I think it might be nice to have""" start="00:34:22.880" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""[Sacha]: Hmm, I think it might be nice to have""" start="00:34:22.880" video="mainVideo-completion" id="subtitle"]]
[[!template text="""a future Emacs carnival, you know,""" start="00:34:25.960" video="mainVideo-completion" id="subtitle"]]
[[!template text="""shared blogging theme thing be around""" start="00:34:28.080" video="mainVideo-completion" id="subtitle"]]
[[!template text="""having people share their snippets.""" start="00:34:31.240" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""No snippets and other things like for example,""" start="00:34:33.360" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""[Pedro]: Yasnippets and other things. Like for example,""" start="00:34:33.360" video="mainVideo-completion" id="subtitle"]]
[[!template text="""this is something stupid.""" start="00:34:39.360" video="mainVideo-completion" id="subtitle"]]
[[!template text="""I'm switching my themes. All right.""" start="00:34:41.320" video="mainVideo-completion" id="subtitle"]]
[[!template text="""And of course, there you see,""" start="00:34:44.520" video="mainVideo-completion" id="subtitle"]]
[[!template text="""I have also, this is also with,""" start="00:34:48.640" video="mainVideo-completion" id="subtitle"]]
[[!template text="""this is my way of switching buffers,""" start="00:34:51.440" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""which is with the shift control and tab,""" start="00:34:54.520" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""which is with the shift control and tab,""" start="00:34:55.793" video="mainVideo-completion" id="subtitle"]]
[[!template text="""I can switch different families""" start="00:34:58.160" video="mainVideo-completion" id="subtitle"]]
[[!template text="""and then when I'm in a family,""" start="00:35:00.560" video="mainVideo-completion" id="subtitle"]]
[[!template text="""I can go and switch with control tab between the different,""" start="00:35:02.520" video="mainVideo-completion" id="subtitle"]]
[[!template text="""I'm using tab line by the way. I'm not using the other one.""" start="00:35:07.000" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""I'm using the old plain tab line with my themes.""" start="00:35:15.600" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I'm using the old plain tab line with my themes.""" start="00:35:13.660" video="mainVideo-completion" id="subtitle"]]
[[!template text="""So that's more or less everything.""" start="00:35:20.840" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""Thank you for the peek into your workflow.""" start="00:35:23.520" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""[Sacha]: Thank you for the peek into your workflow.""" start="00:35:23.520" video="mainVideo-completion" id="subtitle"]]
[[!template text="""I will work on getting the recordings for the live talks""" start="00:35:26.520" video="mainVideo-completion" id="subtitle"]]
[[!template text="""sorted out at some point very soon.""" start="00:35:30.760" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""I might even be able to get them out next week.""" start="00:35:33.920" video="mainVideo-completion" id="subtitle"]]
-[[!template text="""So thanks again. All right. Have a nice supper. Same to you.""" start="00:35:37.840" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""I might even be able to get them out next week.""" start="00:35:34.459" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""So thanks again. All right. Have a nice supper.""" start="00:35:37.085" video="mainVideo-completion" id="subtitle"]]
+[[!template text="""[Pedro]: Same to you.""" start="00:35:43.668" video="mainVideo-completion" id="subtitle"]]
</div>Questions or comments? Please e-mail [paaguti@gmail.com](mailto:paaguti@gmail.com?subject=Comment%20for%20EmacsConf%202023%20completion%3A%20corfu%2Byasnippet%3A%20Easier%20than%20I%20thought)
diff --git a/2025/info/completion-before.md b/2025/info/completion-before.md
index b30609c0..4deba978 100644
--- a/2025/info/completion-before.md
+++ b/2025/info/completion-before.md
@@ -8,6 +8,26 @@ Status: TO_REVIEW_QA
-<div class="vid mainVideo"><video controls preload="none" id="mainVideo-completion"><source src="https://media.emacsconf.org/2025/emacsconf-2025-completion--corfuyasnippet-easier-than-i-thought--pedro-a-aranda-gutirrez--original.m4v" />captions="""<track label="English" kind="captions" srclang="en" src="/2025/captions/emacsconf-2025-completion--corfuyasnippet-easier-than-i-thought--pedro-a-aranda-gutirrez--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 36:04 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2025-completion">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-completion--corfuyasnippet-easier-than-i-thought--pedro-a-aranda-gutirrez--backup.webm">Download --backup.webm (30MB)</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-completion--corfuyasnippet-easier-than-i-thought--pedro-a-aranda-gutirrez--handout.pdf">Download --handout.pdf</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-completion--corfuyasnippet-easier-than-i-thought--pedro-a-aranda-gutirrez--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-completion--corfuyasnippet-easier-than-i-thought--pedro-a-aranda-gutirrez--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-completion--corfuyasnippet-easier-than-i-thought--pedro-a-aranda-gutirrez--main.m4v">Download --main.m4v (95MB)</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-completion--corfuyasnippet-easier-than-i-thought--pedro-a-aranda-gutirrez--main.opus">Download --main.opus (5.2MB)</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-completion--corfuyasnippet-easier-than-i-thought--pedro-a-aranda-gutirrez--main.png">Download --main.png</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-completion--corfuyasnippet-easier-than-i-thought--pedro-a-aranda-gutirrez--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-completion--corfuyasnippet-easier-than-i-thought--pedro-a-aranda-gutirrez--main.webm">Download --main.webm (79MB)</a></li><li><a href="https://youtu.be/vf-jntWJHBA">View on Youtube</a></li></ul></div></div>
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-completion"><source src="https://media.emacsconf.org/2025/emacsconf-2025-completion--corfuyasnippet-easier-than-i-thought--pedro-a-aranda-gutirrez--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2025/captions/emacsconf-2025-completion--corfuyasnippet-easier-than-i-thought--pedro-a-aranda-gutirrez--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2025/captions/emacsconf-2025-completion--corfuyasnippet-easier-than-i-thought--pedro-a-aranda-gutirrez--main--chapters.vtt" /><p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video>[[!template id="chapters" vidid="mainVideo-completion" data="""
+00:00.000 Introduction
+00:52.516 Motivation
+03:29.120 My requirements
+04:37.600 Basic setup: corfu + eglot
+05:02.960 Looking at completion-at-point functions
+06:44.880 Making my own (basic) c-a-p-f for yasnippet: the completion properties
+08:10.900 Getting yas-kw-list right: What do I want?
+09:18.880 Diving in yasnippet
+11:33.840 Fine-tuning: adding cape
+13:03.804 Automatic snippet expansion
+14:05.360 Themes
+14:58.320 My check-list
+15:48.584 Takeaways
+16:58.040 Requests (to whom it may concern)
+18:55.000 Q: Did you try yasnippet-capf? If so, what did you miss from it that this approach has? Thanks! https://github.com/elken/yasnippet-capf
+19:40.160 A small demo
+24:51.880 Q: Do special characters in yasnippets work well too? example &lt;FD ?
+32:32.120 Emacs Lisp
+
+"""]]<div></div>Duration: 36:04 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2025-completion">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-completion--corfuyasnippet-easier-than-i-thought--pedro-a-aranda-gutirrez--backup.webm">Download --backup.webm (30MB)</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-completion--corfuyasnippet-easier-than-i-thought--pedro-a-aranda-gutirrez--handout.pdf">Download --handout.pdf</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-completion--corfuyasnippet-easier-than-i-thought--pedro-a-aranda-gutirrez--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-completion--corfuyasnippet-easier-than-i-thought--pedro-a-aranda-gutirrez--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-completion--corfuyasnippet-easier-than-i-thought--pedro-a-aranda-gutirrez--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-completion--corfuyasnippet-easier-than-i-thought--pedro-a-aranda-gutirrez--main.m4v">Download --main.m4v (95MB)</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-completion--corfuyasnippet-easier-than-i-thought--pedro-a-aranda-gutirrez--main.opus">Download --main.opus (5.2MB)</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-completion--corfuyasnippet-easier-than-i-thought--pedro-a-aranda-gutirrez--main.png">Download --main.png</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-completion--corfuyasnippet-easier-than-i-thought--pedro-a-aranda-gutirrez--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-completion--corfuyasnippet-easier-than-i-thought--pedro-a-aranda-gutirrez--main.webm">Download --main.webm (79MB)</a></li><li><a href="https://youtu.be/NtxoiRdp2qc">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2025/info/llm-after.md b/2025/info/llm-after.md
index 4305f6de..dcd43ae1 100644
--- a/2025/info/llm-after.md
+++ b/2025/info/llm-after.md
@@ -369,7 +369,8 @@ Captioner: amitav
<div class="transcript transcript-qanda"><a name="llm-qanda-transcript"></a><h1>Q&A transcript (unedited)</h1>
-[[!template text="""So let's, I'm just going to answer""" start="00:00:00.000" video="qanda-llm" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Q: My biggest question with AI code editors trying to integrate with Emacs is -- are the AI code editors able to read unsaved buffers and not just saved files?""" start="00:00:00.000" video="qanda-llm" id="subtitle"]]</div>[[!template text="""So let's, I'm just going to answer""" start="00:00:00.000" video="qanda-llm" id="subtitle"]]
[[!template text="""the questions as I see them on the pad.""" start="00:00:01.760" video="qanda-llm" id="subtitle"]]
[[!template text="""So yeah, this first question is really good.""" start="00:00:04.400" video="qanda-llm" id="subtitle"]]
[[!template text="""And I think it's actually this great thing""" start="00:00:07.080" video="qanda-llm" id="subtitle"]]
@@ -424,9 +425,10 @@ Captioner: amitav
[[!template text="""I will read the questions from now on.""" start="00:02:11.720" video="qanda-llm" id="subtitle"]]
[[!template text="""But yes, that's what I think about.""" start="00:02:13.520" video="qanda-llm" id="subtitle"]]
[[!template text="""that interesting questions about unsaved buffers.""" start="00:02:16.600" video="qanda-llm" id="subtitle"]]
-[[!template text="""The next question is,""" start="00:02:20.320" video="qanda-llm" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Q: Personally I don't agree with the comment you made about VS Code usage dying out because I see companies/products pushing for tightly-integrated VS-Code agents/products like Windsurf. Thoughts?""" start="00:02:20.320" video="qanda-llm" id="subtitle"]]</div>[[!template text="""The next question is,""" start="00:02:20.320" video="qanda-llm" id="subtitle"]]
[[!template text="""I don't agree with the comment you made""" start="00:02:22.240" video="qanda-llm" id="subtitle"]]
-[[!template text="""about VS code usage dying out""" start="00:02:23.800" video="qanda-llm" id="subtitle"]]
+[[!template text="""about VS Code usage dying out""" start="00:02:23.800" video="qanda-llm" id="subtitle"]]
[[!template text="""because I see companies and products""" start="00:02:25.200" video="qanda-llm" id="subtitle"]]
[[!template text="""pushing for tightly integrated agent""" start="00:02:26.720" video="qanda-llm" id="subtitle"]]
[[!template text="""and products like Windsurf.""" start="00:02:28.880" video="qanda-llm" id="subtitle"]]
@@ -457,7 +459,8 @@ Captioner: amitav
[[!template text="""I guess I'm kind of cautiously saying""" start="00:03:37.680" video="qanda-llm" id="subtitle"]]
[[!template text="""I think it's gonna be the opposite, but I guess we'll see.""" start="00:03:40.320" video="qanda-llm" id="subtitle"]]
[[!template text="""Like, let's reconvene in a year and see what happens.""" start="00:03:43.200" video="qanda-llm" id="subtitle"]]
-[[!template text="""Uh, the 3rd question answer,""" start="00:03:47.760" video="qanda-llm" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Q: Do you have any thoughts about the environmental cost of using LLMs - either the training of models we can download and use locally, or the larger, commercial models used from the cloud?""" start="00:03:47.760" video="qanda-llm" id="subtitle"]]</div>[[!template text="""Uh, the 3rd question answer,""" start="00:03:47.760" video="qanda-llm" id="subtitle"]]
[[!template text="""do you have any thoughts about the environmental costs""" start="00:03:49.160" video="qanda-llm" id="subtitle"]]
[[!template text="""of using either the training""" start="00:03:55.320" video="qanda-llm" id="subtitle"]]
[[!template text="""of the models are we can download or use locally""" start="00:03:57.080" video="qanda-llm" id="subtitle"]]
@@ -505,7 +508,8 @@ Captioner: amitav
[[!template text="""to make things more efficient as opposed to personal use.""" start="00:05:58.520" video="qanda-llm" id="subtitle"]]
[[!template text="""So I think it's wise to be cautious,""" start="00:06:01.400" video="qanda-llm" id="subtitle"]]
[[!template text="""but I think it's okay, I think, at least for personal use.""" start="00:06:06.120" video="qanda-llm" id="subtitle"]]
-[[!template text="""The next question is another,""" start="00:06:09.080" video="qanda-llm" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Q: I must say, I liked your conclusion, but I differ insofar as you said that VS Code differ from Emacs because the former is not as easy to adapt as the latter. Why should Microsoft not adapt VS Code as we adapt Emacs for the new era of coding? And why would VS Code be harder hit? Could you please elaborate on this point?""" start="00:06:09.080" video="qanda-llm" id="subtitle"]]</div>[[!template text="""The next question is another,""" start="00:06:09.080" video="qanda-llm" id="subtitle"]]
[[!template text="""yeah, this is also disagreeing with me about VS Code,""" start="00:06:13.160" video="qanda-llm" id="subtitle"]]
[[!template text="""but it says, I must say I liked your conclusion,""" start="00:06:20.960" video="qanda-llm" id="subtitle"]]
[[!template text="""but I differ insofar as you said that VS Code differs from Emacs""" start="00:06:23.840" video="qanda-llm" id="subtitle"]]
@@ -548,13 +552,13 @@ Captioner: amitav
[[!template text="""be a bit more useful than VS code,""" start="00:08:09.240" video="qanda-llm" id="subtitle"]]
[[!template text="""which people are really just using to edit code""" start="00:08:10.960" video="qanda-llm" id="subtitle"]]
[[!template text="""and if people find it less useful to edit code.""" start="00:08:14.080" video="qanda-llm" id="subtitle"]]
-[[!template text="""I think it's VS code will be harder hit than emails""" start="00:08:16.800" video="qanda-llm" id="subtitle"]]
-[[!template text="""because that's its whole like that's in the name""" start="00:08:20.920" video="qanda-llm" id="subtitle"]]
+[[!template text="""I think it's VS Code will be harder hit than emails""" start="00:08:16.800" video="qanda-llm" id="subtitle"]]
+[[!template text="""because that's its whole, like, that's in the name,""" start="00:08:20.920" video="qanda-llm" id="subtitle"]]
[[!template text="""like the whole reason for it""" start="00:08:24.240" video="qanda-llm" id="subtitle"]]
[[!template text="""to be doing things as to edit code.""" start="00:08:25.560" video="qanda-llm" id="subtitle"]]
[[!template text="""So I think that it's it's vulnerable""" start="00:08:27.360" video="qanda-llm" id="subtitle"]]
[[!template text="""in a way that Emacs isn't""" start="00:08:30.840" video="qanda-llm" id="subtitle"]]
-[[!template text="""just because emacs is so very...""" start="00:08:31.960" video="qanda-llm" id="subtitle"]]
+[[!template text="""just because Emacs is so very...""" start="00:08:31.960" video="qanda-llm" id="subtitle"]]
[[!template text="""you know, it's, it could do so many things""" start="00:08:34.520" video="qanda-llm" id="subtitle"]]
[[!template text="""and and people use it for so many different kinds of things""" start="00:08:40.120" video="qanda-llm" id="subtitle"]]
[[!template text="""that it's I think it's going to be""" start="00:08:42.720" video="qanda-llm" id="subtitle"]]
@@ -567,9 +571,10 @@ Captioner: amitav
[[!template text="""it is the thing you reach for to do that thing.""" start="00:09:00.280" video="qanda-llm" id="subtitle"]]
[[!template text="""Is that touching on the point?""" start="00:09:03.000" video="qanda-llm" id="subtitle"]]
[[!template text="""Yeah, that's a great way to say it.""" start="00:09:06.640" video="qanda-llm" id="subtitle"]]
-[[!template text="""Thank you. Thank you, Colin. Yeah.""" start="00:09:09.080" video="qanda-llm" id="subtitle"]]
+[[!template text="""Thank you. Thank you, Corwin. Yeah.""" start="00:09:09.080" video="qanda-llm" id="subtitle"]]
[[!template text="""Thank you. Thank you for that question.""" start="00:09:12.440" video="qanda-llm" id="subtitle"]]
-[[!template text="""Do you think we're falling behind in productivity as Emacs users""" start="00:09:14.040" video="qanda-llm" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Q: Do you think that we are falling behind in productivity as Emacs users? Compared to all these VSCode forks that have 1000 buttons and textboxes everywhere (i.e. much richer UIs which are basically webpages).""" start="00:09:14.040" video="qanda-llm" id="subtitle"]]</div>[[!template text="""Do you think we're falling behind in productivity as Emacs users""" start="00:09:14.040" video="qanda-llm" id="subtitle"]]
[[!template text="""compared to all these VS code forks""" start="00:09:18.760" video="qanda-llm" id="subtitle"]]
[[!template text="""that have a thousand button and text boxes everywhere,""" start="00:09:19.960" video="qanda-llm" id="subtitle"]]
[[!template text="""which are basically much richer UIs,""" start="00:09:21.800" video="qanda-llm" id="subtitle"]]
@@ -627,7 +632,8 @@ Captioner: amitav
[[!template text="""Sorry, you have a ton of questions.""" start="00:12:07.600" video="qanda-llm" id="subtitle"]]
[[!template text="""I shouldn't be doing so much active listening.""" start="00:12:10.360" video="qanda-llm" id="subtitle"]]
[[!template text="""No, no, I appreciate your input.""" start="00:12:12.280" video="qanda-llm" id="subtitle"]]
-[[!template text="""OK, next is I've been using Claude Code extensively.""" start="00:12:17.480" video="qanda-llm" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Q: I've been using Claude Code extensively. I recently switched to Agent Shell with Claude Code. Have you tried it, what are your thoughts?""" start="00:12:17.480" video="qanda-llm" id="subtitle"]]</div>[[!template text="""OK, next is I've been using Claude Code extensively.""" start="00:12:17.480" video="qanda-llm" id="subtitle"]]
[[!template text="""I recently switched to Agent Shell with Claude Code.""" start="00:12:23.080" video="qanda-llm" id="subtitle"]]
[[!template text="""Have you tried it? And what are your thoughts?""" start="00:12:25.520" video="qanda-llm" id="subtitle"]]
[[!template text="""I actually have tried Agent Shell.""" start="00:12:28.040" video="qanda-llm" id="subtitle"]]
@@ -635,8 +641,8 @@ Captioner: amitav
[[!template text="""So Agent Shell did not exist then.""" start="00:12:34.720" video="qanda-llm" id="subtitle"]]
[[!template text="""If Agent Shell did exist,""" start="00:12:38.120" video="qanda-llm" id="subtitle"]]
[[!template text="""I probably would have demoed it as well.""" start="00:12:39.720" video="qanda-llm" id="subtitle"]]
-[[!template text="""Agent Hell is great in the sense of it's""" start="00:12:41.240" video="qanda-llm" id="subtitle"]]
-[[!template text="""It does use comment, which is the way that I think all Emacs users""" start="00:12:45.360" video="qanda-llm" id="subtitle"]]
+[[!template text="""Agent shell is great in the sense of it's...""" start="00:12:41.240" video="qanda-llm" id="subtitle"]]
+[[!template text="""It does use comint, which is the way that I think all Emacs users""" start="00:12:45.360" video="qanda-llm" id="subtitle"]]
[[!template text="""would prefer to interact with something like Claude Code,""" start="00:12:53.720" video="qanda-llm" id="subtitle"]]
[[!template text="""or any of those types of tools, which is like, I don't.""" start="00:12:57.040" video="qanda-llm" id="subtitle"]]
[[!template text="""Um, the other,""" start="00:13:00.200" video="qanda-llm" id="subtitle"]]
@@ -653,9 +659,9 @@ Captioner: amitav
[[!template text="""I couldn't do this in agent shell.""" start="00:13:30.240" video="qanda-llm" id="subtitle"]]
[[!template text="""It's progressing rapidly.""" start="00:13:31.720" video="qanda-llm" id="subtitle"]]
[[!template text="""But it's not as rich in functionality""" start="00:13:33.400" video="qanda-llm" id="subtitle"]]
-[[!template text="""as using quad code directly.""" start="00:13:37.480" video="qanda-llm" id="subtitle"]]
+[[!template text="""as using Claude Code directly.""" start="00:13:37.480" video="qanda-llm" id="subtitle"]]
[[!template text="""On the other hand, because it's letting Emacs be Emacs""" start="00:13:40.120" video="qanda-llm" id="subtitle"]]
-[[!template text="""and using comment, it's a much better experience""" start="00:13:44.840" video="qanda-llm" id="subtitle"]]
+[[!template text="""and using comint, it's a much better experience""" start="00:13:44.840" video="qanda-llm" id="subtitle"]]
[[!template text="""to actually give instructions.""" start="00:13:49.240" video="qanda-llm" id="subtitle"]]
[[!template text="""I think the maximum power, though, is, to me,""" start="00:13:50.920" video="qanda-llm" id="subtitle"]]
[[!template text="""the best way is still like, you know,""" start="00:13:56.520" video="qanda-llm" id="subtitle"]]
@@ -669,10 +675,11 @@ Captioner: amitav
[[!template text="""because you're really doing your typing""" start="00:14:18.760" video="qanda-llm" id="subtitle"]]
[[!template text="""in order to me, I think there's""" start="00:14:20.040" video="qanda-llm" id="subtitle"]]
[[!template text="""kind of the sweet spot that I like.""" start="00:14:21.440" video="qanda-llm" id="subtitle"]]
-[[!template text="""Um, but HHL is a great step forward""" start="00:14:23.520" video="qanda-llm" id="subtitle"]]
+[[!template text="""Um, but agent-shell is a great step forward""" start="00:14:23.520" video="qanda-llm" id="subtitle"]]
[[!template text="""and I think it's, uh, it's quite good to use.""" start="00:14:26.640" video="qanda-llm" id="subtitle"]]
[[!template text="""And I, I personally use it a lot.""" start="00:14:29.880" video="qanda-llm" id="subtitle"]]
-[[!template text="""Um, OK, so in terms of, next question,""" start="00:14:32.120" video="qanda-llm" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Q: In terms of agent selection, what has your experience been with different agents, and have you had any success with hosting your own models and using open weights?""" start="00:14:32.120" video="qanda-llm" id="subtitle"]]</div>[[!template text="""Um, OK, so in terms of, next question,""" start="00:14:32.120" video="qanda-llm" id="subtitle"]]
[[!template text="""in terms of agent selection,""" start="00:14:40.480" video="qanda-llm" id="subtitle"]]
[[!template text="""what has been your experience with different agents?""" start="00:14:41.840" video="qanda-llm" id="subtitle"]]
[[!template text="""And have you had any success with hosting your own models""" start="00:14:44.640" video="qanda-llm" id="subtitle"]]
@@ -681,7 +688,7 @@ Captioner: amitav
[[!template text="""have many different opinions on this.""" start="00:14:54.160" video="qanda-llm" id="subtitle"]]
[[!template text="""I think Claude Code is, most people I know""" start="00:14:56.520" video="qanda-llm" id="subtitle"]]
[[!template text="""would say Claude Code is probably,""" start="00:15:00.840" video="qanda-llm" id="subtitle"]]
-[[!template text="""sorry, Cloud is probably the best for coding right now.""" start="00:15:03.480" video="qanda-llm" id="subtitle"]]
+[[!template text="""sorry, Claude is probably the best for coding right now.""" start="00:15:03.480" video="qanda-llm" id="subtitle"]]
[[!template text="""Gemini can be very hit and miss even with 3.0,""" start="00:15:07.480" video="qanda-llm" id="subtitle"]]
[[!template text="""but Claude is quite good.""" start="00:15:09.920" video="qanda-llm" id="subtitle"]]
[[!template text="""4.5 Opus is actually relatively cheap""" start="00:15:12.520" video="qanda-llm" id="subtitle"]]
@@ -711,7 +718,7 @@ Captioner: amitav
[[!template text="""than the models that are elsewhere""" start="00:16:29.960" video="qanda-llm" id="subtitle"]]
[[!template text="""just because they just have more horsepower,""" start="00:16:33.280" video="qanda-llm" id="subtitle"]]
[[!template text="""they can churn through those tokens a little quicker.""" start="00:16:36.320" video="qanda-llm" id="subtitle"]]
-[[!template text="""So, I'll just break in here to say,""" start="00:16:38.680" video="qanda-llm" id="subtitle"]]
+[[!template text="""[Corwin]: So, I'll just break in here to say,""" start="00:16:38.680" video="qanda-llm" id="subtitle"]]
[[!template text="""we've got about 7 minutes left""" start="00:16:44.720" video="qanda-llm" id="subtitle"]]
[[!template text="""before we're cutting over this great discussion so far.""" start="00:16:46.240" video="qanda-llm" id="subtitle"]]
[[!template text="""I'm very happy to keep going.""" start="00:16:49.240" video="qanda-llm" id="subtitle"]]
@@ -720,15 +727,17 @@ Captioner: amitav
[[!template text="""to jump in and prep with the next speaker,""" start="00:16:56.480" video="qanda-llm" id="subtitle"]]
[[!template text="""but you'll be able to keep going""" start="00:16:58.680" video="qanda-llm" id="subtitle"]]
[[!template text="""as long as you have the steam for it.""" start="00:17:00.360" video="qanda-llm" id="subtitle"]]
-[[!template text="""Yeah, I think we have 3 questions. Yeah, thanks.""" start="00:17:02.600" video="qanda-llm" id="subtitle"]]
+[[!template text="""[Andrew]: Yeah, I think we have 3 questions. Yeah, thanks.""" start="00:17:04.120" video="qanda-llm" id="subtitle"]]
[[!template text="""I think we have 3 questions.""" start="00:17:06.160" video="qanda-llm" id="subtitle"]]
[[!template text="""Let's see if we can get through them""" start="00:17:08.240" video="qanda-llm" id="subtitle"]]
-[[!template text="""all in that time period. OK, this one is interesting talk.""" start="00:17:09.720" video="qanda-llm" id="subtitle"]]
+[[!template text="""all in that time period.""" start="00:17:09.720" video="qanda-llm" id="subtitle"]]
+[[!template text="""OK, this one is interesting talk.""" start="00:17:13.268" video="qanda-llm" id="subtitle"]]
[[!template text="""I'll start by asking it for everything, but is it editing?""" start="00:17:17.360" video="qanda-llm" id="subtitle"]]
[[!template text="""I think there's more of a comment than a question.""" start="00:17:20.440" video="qanda-llm" id="subtitle"]]
[[!template text="""So yes, let us all ask, but is it editing?""" start="00:17:23.240" video="qanda-llm" id="subtitle"]]
[[!template text="""All right. I can move on to the comment area.""" start="00:17:29.720" video="qanda-llm" id="subtitle"]]
-[[!template text="""I'm reading angst in your thinking about AI editing.""" start="00:17:33.440" video="qanda-llm" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Q: I'm reading angst in your thinking about AI/editing. What are you excited about?""" start="00:17:33.440" video="qanda-llm" id="subtitle"]]</div>[[!template text="""I'm reading angst in your thinking about AI editing.""" start="00:17:33.440" video="qanda-llm" id="subtitle"]]
[[!template text="""I think that's true.""" start="00:17:40.320" video="qanda-llm" id="subtitle"]]
[[!template text="""It says, and the question continues with,""" start="00:17:41.840" video="qanda-llm" id="subtitle"]]
[[!template text="""what are you excited about?""" start="00:17:44.120" video="qanda-llm" id="subtitle"]]
@@ -738,11 +747,11 @@ Captioner: amitav
[[!template text="""with LLMs right now.""" start="00:17:58.720" video="qanda-llm" id="subtitle"]]
[[!template text="""And I think there's lots of opportunities,""" start="00:18:01.440" video="qanda-llm" id="subtitle"]]
[[!template text="""clever opportunities to do things""" start="00:18:04.600" video="qanda-llm" id="subtitle"]]
-[[!template text="""we couldn't have thought of Things that are useful,""" start="00:18:07.840" video="qanda-llm" id="subtitle"]]
+[[!template text="""we couldn't have thought of... Things that are useful,""" start="00:18:07.840" video="qanda-llm" id="subtitle"]]
[[!template text="""but in ways that are not super obvious to us,""" start="00:18:11.080" video="qanda-llm" id="subtitle"]]
[[!template text="""and I think I'm still excited""" start="00:18:14.920" video="qanda-llm" id="subtitle"]]
-[[!template text="""about the possibilities of using them in ways that are super helpful""" start="00:18:18.520" video="qanda-llm" id="subtitle"]]
-[[!template text="""and different than. normal. I'll give you an example.""" start="00:18:23.840" video="qanda-llm" id="subtitle"]]
+[[!template text="""about the possibilities of using them in ways that are super helpful""" start="00:18:17.020" video="qanda-llm" id="subtitle"]]
+[[!template text="""and different than normal. I'll give you an example.""" start="00:18:22.940" video="qanda-llm" id="subtitle"]]
[[!template text="""This is something that I intend to, I think,""" start="00:18:29.320" video="qanda-llm" id="subtitle"]]
[[!template text="""post on Reddit in a few days,""" start="00:18:33.200" video="qanda-llm" id="subtitle"]]
[[!template text="""but I have a extension to eshell""" start="00:18:36.480" video="qanda-llm" id="subtitle"]]
@@ -755,36 +764,37 @@ Captioner: amitav
[[!template text="""It's like a find, and there's like a dash print there somewhere.""" start="00:19:00.160" video="qanda-llm" id="subtitle"]]
[[!template text="""Yes. There are some smart people who remember this""" start="00:19:04.800" video="qanda-llm" id="subtitle"]]
[[!template text="""but I am not one of them.""" start="00:19:10.160" video="qanda-llm" id="subtitle"]]
-[[!template text="""And so I think like something like this is like you just type out,""" start="00:19:11.200" video="qanda-llm" id="subtitle"]]
+[[!template text="""And so I think, like, something like this is like, you just type out,""" start="00:19:11.200" video="qanda-llm" id="subtitle"]]
[[!template text="""find me this file, and it will substitute""" start="00:19:13.640" video="qanda-llm" id="subtitle"]]
[[!template text="""the correct command.""" start="00:19:17.280" video="qanda-llm" id="subtitle"]]
[[!template text="""I think this is, there's a lot of little,""" start="00:19:18.880" video="qanda-llm" id="subtitle"]]
[[!template text="""little tweaks you could do like, you know, if you want the AI,""" start="00:19:21.000" video="qanda-llm" id="subtitle"]]
-[[!template text="""it could be there for you. And it will help you.""" start="00:19:24.320" video="qanda-llm" id="subtitle"]]
+[[!template text="""it could be there for you, and it will help you.""" start="00:19:24.320" video="qanda-llm" id="subtitle"]]
[[!template text="""And if you don't want it,""" start="00:19:26.680" video="qanda-llm" id="subtitle"]]
[[!template text="""it's not going to get in your way.""" start="00:19:27.560" video="qanda-llm" id="subtitle"]]
-[[!template text="""And I think this is where eMath can really shine.""" start="00:19:28.920" video="qanda-llm" id="subtitle"]]
+[[!template text="""And I think this is where Emacs can really shine.""" start="00:19:28.920" video="qanda-llm" id="subtitle"]]
[[!template text="""It can really take advantage of LLMs,""" start="00:19:30.640" video="qanda-llm" id="subtitle"]]
[[!template text="""but still remain true to its kind of editing experience,""" start="00:19:33.080" video="qanda-llm" id="subtitle"]]
[[!template text="""because it's not forcing you to use LLMs all the time.""" start="00:19:35.800" video="qanda-llm" id="subtitle"]]
[[!template text="""So thank you for that great question.""" start="00:19:39.320" video="qanda-llm" id="subtitle"]]
[[!template text="""And then the final question. Yep.""" start="00:19:43.920" video="qanda-llm" id="subtitle"]]
-[[!template text="""This final question is, why does it matter to have a richer UI?""" start="00:19:47.920" video="qanda-llm" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Q: Why does it matter to have a richer UI? All that is left is basically writing and getting the results.""" start="00:19:47.920" video="qanda-llm" id="subtitle"]]</div>[[!template text="""This final question is, why does it matter to have a richer UI?""" start="00:19:47.920" video="qanda-llm" id="subtitle"]]
[[!template text="""All this left is basically running and getting the results.""" start="00:19:50.840" video="qanda-llm" id="subtitle"]]
[[!template text="""I think maybe this is a response to me complaining""" start="00:19:53.440" video="qanda-llm" id="subtitle"]]
[[!template text="""about Emacs not having a richer UI before,""" start="00:19:56.120" video="qanda-llm" id="subtitle"]]
[[!template text="""but I think it does matter a lot for all sorts of things.""" start="00:19:58.480" video="qanda-llm" id="subtitle"]]
-[[!template text="""It's hard to kind of explain succinctly""" start="00:20:03.160" video="qanda-llm" id="subtitle"]]
+[[!template text="""It's hard to kind of explain succinctly,""" start="00:20:03.160" video="qanda-llm" id="subtitle"]]
[[!template text="""because I'm talking about UI""" start="00:20:07.160" video="qanda-llm" id="subtitle"]]
[[!template text="""and I'd have to show you things.""" start="00:20:08.520" video="qanda-llm" id="subtitle"]]
-[[!template text="""But it should be just something like oh I have an error""" start="00:20:09.760" video="qanda-llm" id="subtitle"]]
+[[!template text="""But it should be just something like, oh I have an error,""" start="00:20:09.760" video="qanda-llm" id="subtitle"]]
[[!template text="""and I'm using flymake and I'm,""" start="00:20:14.600" video="qanda-llm" id="subtitle"]]
-[[!template text="""I'm using the you know I have options""" start="00:20:15.800" video="qanda-llm" id="subtitle"]]
+[[!template text="""I'm using the... I have options""" start="00:20:15.800" video="qanda-llm" id="subtitle"]]
[[!template text="""where it'll show me the error in line""" start="00:20:17.760" video="qanda-llm" id="subtitle"]]
-[[!template text="""by like underlining things and having a little message,""" start="00:20:19.840" video="qanda-llm" id="subtitle"]]
-[[!template text="""but like, you know what that message""" start="00:20:22.640" video="qanda-llm" id="subtitle"]]
-[[!template text="""doesn't appear quite right, a lot of the times,""" start="00:20:24.080" video="qanda-llm" id="subtitle"]]
-[[!template text="""or here's another one like. I program in Python a lot.""" start="00:20:26.400" video="qanda-llm" id="subtitle"]]
+[[!template text="""by underlining things and having a little message,""" start="00:20:19.840" video="qanda-llm" id="subtitle"]]
+[[!template text="""but like, you know what, that message""" start="00:20:22.640" video="qanda-llm" id="subtitle"]]
+[[!template text="""doesn't appear quite right a lot of the times.""" start="00:20:24.080" video="qanda-llm" id="subtitle"]]
+[[!template text="""Or here's another one like. I program in Python a lot.""" start="00:20:26.400" video="qanda-llm" id="subtitle"]]
[[!template text="""And Python, it's super hard to program in""" start="00:20:30.160" video="qanda-llm" id="subtitle"]]
[[!template text="""unless you have these little vertical lines""" start="00:20:33.480" video="qanda-llm" id="subtitle"]]
[[!template text="""that shows you what the indents are. At least I find it.""" start="00:20:35.280" video="qanda-llm" id="subtitle"]]
@@ -794,26 +804,27 @@ Captioner: amitav
[[!template text="""does not allow you to do this.""" start="00:20:44.600" video="qanda-llm" id="subtitle"]]
[[!template text="""And so you kind of have to hack it in.""" start="00:20:45.920" video="qanda-llm" id="subtitle"]]
[[!template text="""And there's lots of ways to mess it up.""" start="00:20:47.760" video="qanda-llm" id="subtitle"]]
-[[!template text="""And when editing, you'll find yourself messing this thing up.""" start="00:20:49.480" video="qanda-llm" id="subtitle"]]
-[[!template text="""regularly. So it doesn't look quite clean.""" start="00:20:52.800" video="qanda-llm" id="subtitle"]]
+[[!template text="""And when editing, you'll find yourself""" start="00:20:49.480" video="qanda-llm" id="subtitle"]]
+[[!template text="""messing this thing up regularly.""" start="00:20:52.157" video="qanda-llm" id="subtitle"]]
+[[!template text="""So it doesn't look quite clean.""" start="00:20:55.261" video="qanda-llm" id="subtitle"]]
[[!template text="""And like, there's little artifacts,""" start="00:20:57.160" video="qanda-llm" id="subtitle"]]
[[!template text="""or, you know, there's little ways that it,""" start="00:20:59.080" video="qanda-llm" id="subtitle"]]
[[!template text="""it kind of gets things wrong,""" start="00:21:01.040" video="qanda-llm" id="subtitle"]]
-[[!template text="""or you can, you can get things wrong with it.""" start="00:21:02.360" video="qanda-llm" id="subtitle"]]
-[[!template text="""So I think that, like,""" start="00:21:06.280" video="qanda-llm" id="subtitle"]]
-[[!template text="""there's a lot of issues with that sort of thing.""" start="00:21:10.040" video="qanda-llm" id="subtitle"]]
-[[!template text="""And, and also, like, you know,""" start="00:21:11.880" video="qanda-llm" id="subtitle"]]
+[[!template text="""or you can get things wrong with it.""" start="00:21:02.360" video="qanda-llm" id="subtitle"]]
+[[!template text="""So I think that, like,""" start="00:21:03.940" video="qanda-llm" id="subtitle"]]
+[[!template text="""there's a lot of issues with that sort of thing.""" start="00:21:07.520" video="qanda-llm" id="subtitle"]]
+[[!template text="""And also, like, you know,""" start="00:21:13.620" video="qanda-llm" id="subtitle"]]
[[!template text="""what if you want to do something like play a video inline,""" start="00:21:15.760" video="qanda-llm" id="subtitle"]]
[[!template text="""like, I don't know, you might should be able to do that,""" start="00:21:17.720" video="qanda-llm" id="subtitle"]]
[[!template text="""you might should be able to do anything.""" start="00:21:19.560" video="qanda-llm" id="subtitle"]]
-[[!template text="""But right now it just can't and I think""" start="00:21:20.840" video="qanda-llm" id="subtitle"]]
-[[!template text="""a lot of the reason as well""" start="00:21:23.800" video="qanda-llm" id="subtitle"]]
-[[!template text="""we you know we wanted to be compatible""" start="00:21:25.000" video="qanda-llm" id="subtitle"]]
-[[!template text="""with you know TRS 80 machines or something like that""" start="00:21:26.520" video="qanda-llm" id="subtitle"]]
-[[!template text="""and it's this is important this really is important,""" start="00:21:29.920" video="qanda-llm" id="subtitle"]]
+[[!template text="""But right now, it just can't. I think""" start="00:21:21.600" video="qanda-llm" id="subtitle"]]
+[[!template text="""a lot of the reason as well...""" start="00:21:23.800" video="qanda-llm" id="subtitle"]]
+[[!template text="""you know, we wanted to be compatible""" start="00:21:25.000" video="qanda-llm" id="subtitle"]]
+[[!template text="""with TRS 80 machines or something like that.""" start="00:21:26.520" video="qanda-llm" id="subtitle"]]
+[[!template text="""This is important, this really is important,""" start="00:21:29.920" video="qanda-llm" id="subtitle"]]
[[!template text="""but I hope there's some way""" start="00:21:33.160" video="qanda-llm" id="subtitle"]]
[[!template text="""that we can kind of eventually figure out""" start="00:21:34.720" video="qanda-llm" id="subtitle"]]
-[[!template text="""how to get the best of you know both compatibility and.""" start="00:21:36.080" video="qanda-llm" id="subtitle"]]
+[[!template text="""how to get the best of both compatibility and""" start="00:21:36.080" video="qanda-llm" id="subtitle"]]
[[!template text="""more modern UIs. So, you know, we can have more modern UIs""" start="00:21:39.280" video="qanda-llm" id="subtitle"]]
[[!template text="""for people that have modern machines and other people""" start="00:21:44.880" video="qanda-llm" id="subtitle"]]
[[!template text="""either do without that functionality""" start="00:21:49.840" video="qanda-llm" id="subtitle"]]
@@ -832,17 +843,18 @@ Captioner: amitav
[[!template text="""And I know there's more people""" start="00:22:21.280" video="qanda-llm" id="subtitle"]]
[[!template text="""that are working behind the scenes.""" start="00:22:21.920" video="qanda-llm" id="subtitle"]]
[[!template text="""So thank you all for putting this together.""" start="00:22:23.320" video="qanda-llm" id="subtitle"]]
-[[!template text="""I'm so happy that we all are here. We care about Emacs.""" start="00:22:25.080" video="qanda-llm" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Wrapping up""" start="00:22:25.080" video="qanda-llm" id="subtitle"]]</div>[[!template text="""I'm so happy that we all are here. We care about Emacs.""" start="00:22:25.080" video="qanda-llm" id="subtitle"]]
[[!template text="""We're pushing Emacs forward.""" start="00:22:29.200" video="qanda-llm" id="subtitle"]]
[[!template text="""We are I think Emacs remains""" start="00:22:31.200" video="qanda-llm" id="subtitle"]]
[[!template text="""this really remarkable achievement.""" start="00:22:35.960" video="qanda-llm" id="subtitle"]]
[[!template text="""Like it's amazing that it exists. It continues to exist.""" start="00:22:37.280" video="qanda-llm" id="subtitle"]]
-[[!template text="""It hasn't got, it's hard.""" start="00:22:41.800" video="qanda-llm" id="subtitle"]]
+[[!template text="""It hasn't got... It's hard.""" start="00:22:41.800" video="qanda-llm" id="subtitle"]]
[[!template text="""It's like, really, there's a lot of work to go into it.""" start="00:22:43.000" video="qanda-llm" id="subtitle"]]
-[[!template text="""So I think let's all just appreciate everyone who,""" start="00:22:45.160" video="qanda-llm" id="subtitle"]]
-[[!template text="""who like contributes and makes all of this possible.""" start="00:22:47.560" video="qanda-llm" id="subtitle"]]
+[[!template text="""So I think let's all just appreciate everyone""" start="00:22:45.160" video="qanda-llm" id="subtitle"]]
+[[!template text="""who contributes and makes all of this possible.""" start="00:22:47.560" video="qanda-llm" id="subtitle"]]
[[!template text="""Cause it's, if you ever read""" start="00:22:50.680" video="qanda-llm" id="subtitle"]]
-[[!template text="""the Emacs Develop mailing list,""" start="00:22:52.160" video="qanda-llm" id="subtitle"]]
+[[!template text="""the emacs-devel mailing list,""" start="00:22:52.160" video="qanda-llm" id="subtitle"]]
[[!template text="""it's a lot of work, a lot of deep thinking,""" start="00:22:53.280" video="qanda-llm" id="subtitle"]]
[[!template text="""a lot of careful thinking.""" start="00:22:55.480" video="qanda-llm" id="subtitle"]]
[[!template text="""And I think this is really important.""" start="00:22:56.680" video="qanda-llm" id="subtitle"]]
@@ -850,17 +862,19 @@ Captioner: amitav
[[!template text="""and everyone who's contributing to the core experience,""" start="00:23:02.040" video="qanda-llm" id="subtitle"]]
[[!template text="""all the libraries, all the LLM stuff we mentioned before.""" start="00:23:04.200" video="qanda-llm" id="subtitle"]]
[[!template text="""You're all doing such a fantastic job.""" start="00:23:07.760" video="qanda-llm" id="subtitle"]]
-[[!template text="""It's exciting to be here. Thank you for your talk, Andrew.""" start="00:23:09.840" video="qanda-llm" id="subtitle"]]
+[[!template text="""It's exciting to be here.""" start="00:23:09.840" video="qanda-llm" id="subtitle"]]
+[[!template text="""[Corwin]: Thank you for your talk, Andrew.""" start="00:23:12.324" video="qanda-llm" id="subtitle"]]
[[!template text="""It's been just fascinating.""" start="00:23:13.800" video="qanda-llm" id="subtitle"]]
[[!template text="""If you don't mind, I'd love to jump""" start="00:23:16.160" video="qanda-llm" id="subtitle"]]
[[!template text="""right over to the last question. OK, let's do that.""" start="00:23:19.760" video="qanda-llm" id="subtitle"]]
-[[!template text="""It says, I have 45 plus years editing programming.""" start="00:23:23.880" video="qanda-llm" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Q: I have 45+ years editing, programming. I'm not sure I can think about things without thinking of buffers, editors etc. Is this a handicap/should we just have people with no experience with code learn to prompt?""" start="00:23:23.880" video="qanda-llm" id="subtitle"]]</div>[[!template text="""It says, I have 45 plus years editing programming.""" start="00:23:23.880" video="qanda-llm" id="subtitle"]]
[[!template text="""I'm not sure I can think about things""" start="00:23:27.600" video="qanda-llm" id="subtitle"]]
[[!template text="""without thinking of buffers, editors, et cetera.""" start="00:23:29.240" video="qanda-llm" id="subtitle"]]
[[!template text="""Is this the handicap?""" start="00:23:31.040" video="qanda-llm" id="subtitle"]]
[[!template text="""Should we have people with no experience""" start="00:23:31.960" video="qanda-llm" id="subtitle"]]
[[!template text="""with code learning to prompt?""" start="00:23:34.240" video="qanda-llm" id="subtitle"]]
-[[!template text="""Well, this is something I do have a strong opinion about.""" start="00:23:35.320" video="qanda-llm" id="subtitle"]]
+[[!template text="""[Andrew]: Well, this is something I do have a strong opinion about.""" start="00:23:35.320" video="qanda-llm" id="subtitle"]]
[[!template text="""I feel like I do not want to see people that have no experience""" start="00:23:38.800" video="qanda-llm" id="subtitle"]]
[[!template text="""with code learning to prompt. I think it's very limited""" start="00:23:42.160" video="qanda-llm" id="subtitle"]]
[[!template text="""what you could do right now with that.""" start="00:23:44.120" video="qanda-llm" id="subtitle"]]
@@ -876,12 +890,12 @@ Captioner: amitav
[[!template text="""Software engineering is about maintainability.""" start="00:24:09.880" video="qanda-llm" id="subtitle"]]
[[!template text="""Software engineering is making sure everything is scalable""" start="00:24:11.880" video="qanda-llm" id="subtitle"]]
[[!template text="""and all sorts of things that it's unlikely,""" start="00:24:15.120" video="qanda-llm" id="subtitle"]]
-[[!template text="""I think, that an LM is going to get right.""" start="00:24:19.600" video="qanda-llm" id="subtitle"]]
+[[!template text="""I think, that an LLM is going to get right.""" start="00:24:19.600" video="qanda-llm" id="subtitle"]]
[[!template text="""And I've seen a lot of bad cases""" start="00:24:21.760" video="qanda-llm" id="subtitle"]]
[[!template text="""where people who don't understand code""" start="00:24:25.280" video="qanda-llm" id="subtitle"]]
-[[!template text="""are doing things and it's not working well""" start="00:24:27.200" video="qanda-llm" id="subtitle"]]
+[[!template text="""are doing things and it's not working well,""" start="00:24:27.200" video="qanda-llm" id="subtitle"]]
[[!template text="""because they don't understand""" start="00:24:31.160" video="qanda-llm" id="subtitle"]]
-[[!template text="""some of the some of the complexities""" start="00:24:33.240" video="qanda-llm" id="subtitle"]]
+[[!template text="""some of the complexities""" start="00:24:33.240" video="qanda-llm" id="subtitle"]]
[[!template text="""or some of the concerns that that you might have""" start="00:24:35.280" video="qanda-llm" id="subtitle"]]
[[!template text="""in maintaining a piece of code.""" start="00:24:36.960" video="qanda-llm" id="subtitle"]]
[[!template text="""So I think those people who have lots of experience""" start="00:24:43.280" video="qanda-llm" id="subtitle"]]
@@ -896,8 +910,7 @@ Captioner: amitav
[[!template text="""So I think, you know, I also have a ton of experience,""" start="00:25:03.080" video="qanda-llm" id="subtitle"]]
[[!template text="""not 45 years, but a lot. And, and I think that it's those,""" start="00:25:06.320" video="qanda-llm" id="subtitle"]]
[[!template text="""those years of experience will only help you.""" start="00:25:13.080" video="qanda-llm" id="subtitle"]]
-[[!template text="""And I think it's, it's, it's a great,""" start="00:25:14.840" video="qanda-llm" id="subtitle"]]
-[[!template text="""it's great to kind of dip your toes in the water""" start="00:25:16.920" video="qanda-llm" id="subtitle"]]
+[[!template text="""And I think it's great to dip your toes in the water""" start="00:25:14.840" video="qanda-llm" id="subtitle"]]
[[!template text="""and see what you can do.""" start="00:25:19.640" video="qanda-llm" id="subtitle"]]
</div>Questions or comments? Please e-mail [ahyatt@gmail.com](mailto:ahyatt@gmail.com?subject=Comment%20for%20EmacsConf%202023%20llm%3A%20Emacs%2C%20editors%2C%20and%20LLM%20driven%20workflows)
diff --git a/2025/info/llm-before.md b/2025/info/llm-before.md
index 23cd880a..e905a181 100644
--- a/2025/info/llm-before.md
+++ b/2025/info/llm-before.md
@@ -14,6 +14,19 @@ Status: TO_REVIEW_QA
# Q&A
-<div class="vid qanda"><video controls preload="none" id="qanda-llm"><source src="https://media.emacsconf.org/2025/emacsconf-2025-llm--emacs-editors-and-llm-driven-workflows--andrew-hyatt--answers.m4v" />captions="""<track label="English" kind="captions" srclang="en" src="/2025/captions/emacsconf-2025-llm--emacs-editors-and-llm-driven-workflows--andrew-hyatt--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 27:34 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2025-llm">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-llm--emacs-editors-and-llm-driven-workflows--andrew-hyatt--answers.json">Download --answers.json</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-llm--emacs-editors-and-llm-driven-workflows--andrew-hyatt--answers.m4v">Download --answers.m4v (94MB)</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-llm--emacs-editors-and-llm-driven-workflows--andrew-hyatt--answers.tsv">Download --answers.tsv</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-llm--emacs-editors-and-llm-driven-workflows--andrew-hyatt--answers.txt">Download --answers.txt</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-llm--emacs-editors-and-llm-driven-workflows--andrew-hyatt--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-llm--emacs-editors-and-llm-driven-workflows--andrew-hyatt--answers.webm">Download --answers.webm (91MB)</a></li></ul></div></div>
+<div class="vid qanda"><video controls preload="none" id="qanda-llm"><source src="https://media.emacsconf.org/2025/emacsconf-2025-llm--emacs-editors-and-llm-driven-workflows--andrew-hyatt--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2025/captions/emacsconf-2025-llm--emacs-editors-and-llm-driven-workflows--andrew-hyatt--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2025/captions/emacsconf-2025-llm--emacs-editors-and-llm-driven-workflows--andrew-hyatt--answers--chapters.vtt" /><p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video>[[!template id="chapters" vidid="qanda-llm" data="""
+00:00.000 Q: My biggest question with AI code editors trying to integrate with Emacs is -- are the AI code editors able to read unsaved buffers and not just saved files?
+02:20.320 Q: Personally I don't agree with the comment you made about VS Code usage dying out because I see companies/products pushing for tightly-integrated VS-Code agents/products like Windsurf. Thoughts?
+03:47.760 Q: Do you have any thoughts about the environmental cost of using LLMs - either the training of models we can download and use locally, or the larger, commercial models used from the cloud?
+06:09.080 Q: I must say, I liked your conclusion, but I differ insofar as you said that VS Code differ from Emacs because the former is not as easy to adapt as the latter. Why should Microsoft not adapt VS Code as we adapt Emacs for the new era of coding? And why would VS Code be harder hit? Could you please elaborate on this point?
+09:14.040 Q: Do you think that we are falling behind in productivity as Emacs users? Compared to all these VSCode forks that have 1000 buttons and textboxes everywhere (i.e. much richer UIs which are basically webpages).
+12:17.480 Q: I've been using Claude Code extensively. I recently switched to Agent Shell with Claude Code. Have you tried it, what are your thoughts?
+14:32.120 Q: In terms of agent selection, what has your experience been with different agents, and have you had any success with hosting your own models and using open weights?
+17:33.440 Q: I'm reading angst in your thinking about AI/editing. What are you excited about?
+19:47.920 Q: Why does it matter to have a richer UI? All that is left is basically writing and getting the results.
+22:25.080 Wrapping up
+23:23.880 Q: I have 45+ years editing, programming. I'm not sure I can think about things without thinking of buffers, editors etc. Is this a handicap/should we just have people with no experience with code learn to prompt?
+
+"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-llm-audio" src="https://media.emacsconf.org/2025/emacsconf-2025-llm--emacs-editors-and-llm-driven-workflows--andrew-hyatt--answers.opus"></audio></div><div></div>Duration: 25:20 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2025-llm">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-llm--emacs-editors-and-llm-driven-workflows--andrew-hyatt--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-llm--emacs-editors-and-llm-driven-workflows--andrew-hyatt--answers.json">Download --answers.json</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-llm--emacs-editors-and-llm-driven-workflows--andrew-hyatt--answers.m4v">Download --answers.m4v (94MB)</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-llm--emacs-editors-and-llm-driven-workflows--andrew-hyatt--answers.opus">Download --answers.opus (22MB)</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-llm--emacs-editors-and-llm-driven-workflows--andrew-hyatt--answers.tsv">Download --answers.tsv</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-llm--emacs-editors-and-llm-driven-workflows--andrew-hyatt--answers.txt">Download --answers.txt</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-llm--emacs-editors-and-llm-driven-workflows--andrew-hyatt--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-llm--emacs-editors-and-llm-driven-workflows--andrew-hyatt--answers.webm">Download --answers.webm (91MB)</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2025/info/modern-after.md b/2025/info/modern-after.md
index 4518aec2..42ca8f4e 100644
--- a/2025/info/modern-after.md
+++ b/2025/info/modern-after.md
@@ -3,12 +3,28 @@
<div class="transcript transcript-mainVideo"><a name="modern-mainVideo-transcript"></a><h1>Transcript (unedited)</h1>
-[[!template text="""""" start="00:00:54.000" video="mainVideo-modern" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Introduction""" start="00:00:00.000" video="mainVideo-modern" id="subtitle"]]</div>[[!template text="""Hi, my name is Eduardo Ochs,""" start="00:00:00.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and this is my video for the EmacsConf 2025.""" start="00:00:02.360" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""Its title is Some Problems of Modernizing Emacs,""" start="00:00:06.640" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and that is the same title as a video""" start="00:00:09.800" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""that I tried to record in March.""" start="00:00:12.840" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""But my video from March had a good &quot;beginning&quot; and a bad &quot;rest&quot;,""" start="00:00:16.200" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and I thought, I can't release that because the rest is very bad.""" start="00:00:19.880" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""I need to replace... to re-record the last part of the video.""" start="00:00:23.760" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""But I never did that.""" start="00:00:27.920" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""So this video is going to be the first 12 minutes""" start="00:00:29.760" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""of that other video, with another ending.""" start="00:00:33.200" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""And in this other ending, I'm going to show some things""" start="00:00:37.960" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""that are very easy to test. And, if people are interested,""" start="00:00:41.440" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""then the rest of the old video will make more sense.""" start="00:00:46.640" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""Anyway, let me start.""" start="00:00:51.800" video="mainVideo-modern" id="subtitle"]]
[[!template text="""Hi! My name is Eduardo Ochs. I'm the""" start="00:00:55.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""author of an Emacs package called eev and""" start="00:00:57.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""the title of this video is""" start="00:01:00.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""&quot;Some problems of modernizing Emacs&quot;.""" start="00:01:03.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""Here is a summary of the main themes""" start="00:01:05.000" video="mainVideo-modern" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""The main themes of this video""" start="00:01:05.000" video="mainVideo-modern" id="subtitle"]]</div>[[!template text="""Here is a summary of the main themes""" start="00:01:05.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""of this video. I'm going to talk mainly""" start="00:01:08.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""about these four things here. The first""" start="00:01:10.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""one is that Emacs has changed a lot in its""" start="00:01:12.000" video="mainVideo-modern" id="subtitle"]]
@@ -28,33 +44,36 @@
[[!template text="""very short summary... details soon.""" start="00:02:04.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""I will also show how to display""" start="00:02:08.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""better &quot;inner views&quot; of Emacs objects...""" start="00:02:10.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""I'm going to Define what is an inner view,""" start="00:02:13.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""I'm going to define what is an inner view,""" start="00:02:13.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""of course.""" start="00:02:16.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""The main trick is that we are going""" start="00:02:18.000" video="mainVideo-modern" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Inner views of Emacs objects""" start="00:02:18.000" video="mainVideo-modern" id="subtitle"]]</div>[[!template text="""The main trick is that we are going""" start="00:02:18.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""to use one of the ways of displaying""" start="00:02:20.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""internal objects, that is the `cl-print'""" start="00:02:24.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""internal objects, that is the `cl-print`""" start="00:02:24.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""family of functions, for example,""" start="00:02:29.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""`cl-prin1-to-string', and here are some""" start="00:02:32.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""`cl-prin1-to-string`, and here are some""" start="00:02:32.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""examples of the kind of output that we""" start="00:02:35.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""are going to see...""" start="00:02:37.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""for example, if we run these two lines""" start="00:02:38.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""here the first line defines a function `foo'""" start="00:02:44.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""and the second line sets `o' to the""" start="00:02:47.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""internal view of the definition of `foo'.""" start="00:02:52.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""In older Emacses `o' would be just a""" start="00:02:54.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""here the first line defines a function `foo`""" start="00:02:44.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and the second line sets `o` to the""" start="00:02:47.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""internal view of the definition of `foo`.""" start="00:02:52.000" video="mainVideo-modern" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Older Emacses""" start="00:02:54.000" video="mainVideo-modern" id="subtitle"]]</div>[[!template text="""In older Emacses `o` would be just a""" start="00:02:54.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""list that looks... that would look very""" start="00:02:59.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""similar to this line here... but in newer""" start="00:03:02.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""Emacses the result of this - I mean, the""" start="00:03:05.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""the contents of `o' is this thing here,""" start="00:03:09.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""the contents of `o` is this thing here,""" start="00:03:09.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""that looks quite different""" start="00:03:12.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""from this definition.""" start="00:03:15.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""So, in older Emacses""" start="00:03:18.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""the contents of the""" start="00:03:21.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""function cell of `o'...""" start="00:03:25.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""sorry, of the function cell of `foo',""" start="00:03:28.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""function cell of `o`...""" start="00:03:25.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""sorry, of the function cell of `foo`,""" start="00:03:28.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""would be an &quot;old-style lambda&quot;,""" start="00:03:30.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""that would be just a list like this...""" start="00:03:32.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""and in newer Emacses uh the contents of O would""" start="00:03:35.000" video="mainVideo-modern" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Newer Emacses""" start="00:03:35.000" video="mainVideo-modern" id="subtitle"]]</div>[[!template text="""and in newer Emacses uh the contents of O would""" start="00:03:35.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""be a &quot;vector-like lambda&quot;... look for the""" start="00:03:39.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""square brackets here - this is a""" start="00:03:42.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""vector, but it is preceded by a hash sign.""" start="00:03:44.000" video="mainVideo-modern" id="subtitle"]]
@@ -67,32 +86,33 @@
[[!template text="""The first semicanonical""" start="00:03:59.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""printed representation is this one, that is""" start="00:04:01.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""generated by a family of functions with""" start="00:04:04.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""names like `prin1'...""" start="00:04:07.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""names like `prin1`...""" start="00:04:07.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and the second semicanonical printed""" start="00:04:09.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""representation is like this -""" start="00:04:13.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""it looks like a list...""" start="00:04:17.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""it looks somewhat like this definition""" start="00:04:20.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""of `foo' here, but it has this""" start="00:04:23.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""`:dynbind' symbol here...""" start="00:04:27.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""of `foo` here, but it has this""" start="00:04:23.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""`:dynbind` symbol here...""" start="00:04:27.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and it turns out that when we use""" start="00:04:29.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""the `cl-print' family of functions we can""" start="00:04:32.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""the `cl-print` family of functions we can""" start="00:04:32.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""reconfigure how things are printed...""" start="00:04:35.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and I'm going to show several interesting""" start="00:04:37.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""ways of reconfiguring how lambdas are printed,""" start="00:04:40.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and one of the ways is going to""" start="00:04:47.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""be like this.""" start="00:04:49.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""We can also use the `cl-print'""" start="00:04:52.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""We can also use the `cl-print`""" start="00:04:52.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""functions with my indentation tricks to""" start="00:04:56.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""to display how types, or classes, are""" start="00:04:59.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""viewed internally by Emacs, and this is a""" start="00:05:04.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""big example...""" start="00:05:07.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""This is what Emacs considers as being""" start="00:05:10.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""the definition of the type""" start="00:05:14.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""`cl-structure-class',""" start="00:05:16.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""`cl-structure-class`,""" start="00:05:16.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""class and it is this big thing here.""" start="00:05:18.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""I edited it very lightly...""" start="00:05:21.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""I just uh deleted some line breaks here.""" start="00:05:24.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""And another thing that I want to to""" start="00:05:30.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""I just deleted some line breaks here.""" start="00:05:24.000" video="mainVideo-modern" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Help buttons""" start="00:05:30.000" video="mainVideo-modern" id="subtitle"]]</div>[[!template text="""And another thing that I want to""" start="00:05:30.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""explain is that Emacs""" start="00:05:33.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""has some help functions that""" start="00:05:35.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""I have never liked...""" start="00:05:37.000" video="mainVideo-modern" id="subtitle"]]
@@ -104,8 +124,8 @@
[[!template text="""if we want a description of what is""" start="00:05:52.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""this type here, that we just saw in""" start="00:05:54.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""its internal view here...""" start="00:05:58.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""we can run either `describe-type'""" start="00:06:00.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""or my variant of `describe-type',""" start="00:06:02.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""we can run either `describe-type`""" start="00:06:00.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""or my variant of `describe-type`,""" start="00:06:02.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and we get a help buffer""" start="00:06:04.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""that looks like this, in which""" start="00:06:07.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""these blue things that are underlined""" start="00:06:10.000" video="mainVideo-modern" id="subtitle"]]
@@ -120,7 +140,8 @@
[[!template text="""problems with these kinds of help buffers""" start="00:06:33.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and what I'm trying to do to""" start="00:06:35.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""overcome these problems...""" start="00:06:37.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""One of my slogans in this video""" start="00:06:41.000" video="mainVideo-modern" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text=""""Anyone can learn Lisp in one day"""" start="00:06:41.000" video="mainVideo-modern" id="subtitle"]]</div>[[!template text="""One of my slogans in this video""" start="00:06:41.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""is going to be this one:""" start="00:06:43.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""&quot;Anyone can learn Lisp in one day&quot;.""" start="00:06:43.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""this is a part of a bigger quote""" start="00:06:45.000" video="mainVideo-modern" id="subtitle"]]
@@ -143,10 +164,10 @@
[[!template text="""one is its &quot;value as a variable&quot;""" start="00:07:53.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and another one is its &quot;value as a function&quot;...""" start="00:07:54.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and if we run this we store 42""" start="00:07:58.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""in the &quot;value cell&quot; of the symbol `foo', and""" start="00:08:02.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""in the &quot;value cell&quot; of the symbol `foo`, and""" start="00:08:02.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""if we run this defun here it stores a""" start="00:08:07.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""certain anonymous function in the""" start="00:08:11.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""&quot;function cell&quot; of the symbol `foo'...""" start="00:08:14.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""&quot;function cell&quot; of the symbol `foo`...""" start="00:08:14.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and in Emacs, until some time ago""" start="00:08:18.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""if we did that and and if we ran""" start="00:08:22.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""this expression here the result""" start="00:08:27.000" video="mainVideo-modern" id="subtitle"]]
@@ -163,9 +184,9 @@
[[!template text="""if we did that and if we ran""" start="00:08:56.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""this expression here, (foo foo)...""" start="00:08:58.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""Emacs would do this: it would""" start="00:09:01.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""replace the first `foo' by this""" start="00:09:04.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""replace the first `foo` by this""" start="00:09:04.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""anonymous function here, it would replace""" start="00:09:06.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""the second `foo' by the value of `foo' as a""" start="00:09:09.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""the second `foo` by the value of `foo` as a""" start="00:09:09.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""variable, that is 42,""" start="00:09:11.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and it would evaluate this, and the""" start="00:09:13.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""result would be 420.""" start="00:09:16.000" video="mainVideo-modern" id="subtitle"]]
@@ -174,7 +195,8 @@
[[!template text="""but now this is gone.""" start="00:09:26.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""Let me show... let me talk""" start="00:09:28.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""a bit more about why...""" start="00:09:30.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""the title of this slide is""" start="00:09:34.000" video="mainVideo-modern" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Lambdas for beginners broken""" start="00:09:34.000" video="mainVideo-modern" id="subtitle"]]</div>[[!template text="""the title of this slide is""" start="00:09:34.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""&quot;Lambdas for beginners broken&quot;...""" start="00:09:36.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""if we run this, as I've shown""" start="00:09:38.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""in the previous slide...""" start="00:09:41.000" video="mainVideo-modern" id="subtitle"]]
@@ -210,7 +232,7 @@
[[!template text="""before 2024 beginners could""" start="00:11:06.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""open black boxes like this...""" start="00:11:12.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""they could try to see what was in the""" start="00:11:17.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""function cell of the symbol `foo'...""" start="00:11:20.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""function cell of the symbol `foo`...""" start="00:11:20.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and they would see something elegant and""" start="00:11:24.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""mind-blowing... and they would start to love""" start="00:11:27.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""Lisp immediately.""" start="00:11:29.000" video="mainVideo-modern" id="subtitle"]]
@@ -219,14 +241,13 @@
[[!template text="""that is very powerful but that is""" start="00:11:35.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""very difficult to understand...""" start="00:11:39.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and now our beginners are overwhelmed""" start="00:11:41.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""instead of mind-blown.""" start="00:11:44.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""Note that I said &quot;black box&quot; here.""" start="00:11:46.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""instead of mind-blown. Note that I said &quot;black box&quot; here.""" start="00:11:44.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""Let me explain the term.""" start="00:11:48.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""We can open what's inside of `foo'...""" start="00:11:52.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""we can open `foo' to see the contents of""" start="00:11:57.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""the symbol `foo', and we can try to see""" start="00:11:59.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""We can open what's inside of `foo`...""" start="00:11:52.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""we can open `foo` to see the contents of""" start="00:11:57.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""the symbol `foo`, and we can try to see""" start="00:11:59.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""what's in the function cell of the""" start="00:12:02.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""symbol `foo'...""" start="00:12:06.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""symbol `foo`...""" start="00:12:06.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""so we can open the box, but what we get""" start="00:12:08.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""is something very difficult to understand,""" start="00:12:10.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""and so I'm going to say that""" start="00:12:13.000" video="mainVideo-modern" id="subtitle"]]
@@ -243,7 +264,222 @@
[[!template text="""that are not so elegant""" start="00:12:50.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""as the ones that we had before.""" start="00:12:52.000" video="mainVideo-modern" id="subtitle"]]
[[!template text="""Anyway...""" start="00:12:54.000" video="mainVideo-modern" id="subtitle"]]
-[[!template text="""""" start="00:12:56.000" video="mainVideo-modern" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Demo""" start="00:12:59.302" video="mainVideo-modern" id="subtitle"]]</div>[[!template text="""In the beginning of the video,""" start="00:12:59.302" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""I said that I was going to replace""" start="00:13:00.600" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""the second part of my video from March""" start="00:13:02.880" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""by something that was very easy to test.""" start="00:13:06.360" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""So this is a quick demo for the _very_ impatient.""" start="00:13:08.800" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""I'm recording this in December for the EmacsConf 2025.""" start="00:13:11.840" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""This is the demo that I'm going to present.""" start="00:13:16.920" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""The idea is that people can run the demo a first time""" start="00:13:19.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""just to check that everything works""" start="00:13:21.760" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and to have a notion of how things look like,""" start="00:13:24.400" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and then, in a second moment,""" start="00:13:27.560" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""they can rerun the demo more slowly""" start="00:13:29.240" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""to understand what each step does.""" start="00:13:32.280" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""So... we are in a file called &quot;00-try-this&quot;...""" start="00:13:34.880" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and the idea is that we can execute most of this file""" start="00:13:38.800" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""just by typing `f8`​s in the right places.""" start="00:13:42.200" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""Remember that when we type `f8`""" start="00:13:45.360" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""on a line that starts with two red stars,""" start="00:13:47.480" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""eev treats that line as a comment.""" start="00:13:49.840" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""So I'm going to start here... Note that it says in the bottom""" start="00:13:53.200" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""of the screen that this is a comment.""" start="00:13:58.008" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""We are going to run this to download some files...""" start="00:13:59.741" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""Now the files are there...""" start="00:14:09.880" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""This `find-2a` here shows a certain file""" start="00:14:12.960" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""at the window at the right,""" start="00:14:17.320" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""but we don't need to pay attention to that.""" start="00:14:19.160" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""And this thing `load`​s that file.""" start="00:14:22.480" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""So when we load that file, it defines some functions here""" start="00:14:24.200" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""that are going to be used by the rest of the examples.""" start="00:14:27.520" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""Now we can run this thing here... Note that""" start="00:14:29.800" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""we just defined some functions""" start="00:14:34.020" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and then we ran these functions here... `find-eoutput-2a`...""" start="00:14:34.880" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and they show some things in the window at the right.""" start="00:14:39.360" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""These things are boring.""" start="00:14:42.680" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""When we run `adt-insert` with argument 42,""" start="00:14:45.680" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""it just shows a 42, in this way...""" start="00:14:49.680" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""The other ones show other numbers... and so on.""" start="00:14:52.400" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""And... what happens when we modify""" start="00:14:55.640" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""this function here, `adt-2`,""" start="00:14:59.480" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""by adding and removing advices to it?""" start="00:15:02.360" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""The idea is that people can run""" start="00:15:05.200" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""this thing here several times,""" start="00:15:06.920" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""watching the window at the right,""" start="00:15:08.680" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""because the results are going to be shown there.""" start="00:15:10.800" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""So, in the first moment, when we run...""" start="00:15:14.720" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""no, no, sorry, sorry, let me run it again.""" start="00:15:17.800" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""In the first moment when we run `adt-2`""" start="00:15:21.680" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""it just shows a 2, and then we modify it in a certain way,""" start="00:15:24.040" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and we run it again,""" start="00:15:28.240" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and now before showing the 2 it shows a 1, mysteriously,""" start="00:15:29.480" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and then we add something to be run after the 2,""" start="00:15:33.800" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""And we run it again,""" start="00:15:37.120" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and now `adt-2` shows these three things.""" start="00:15:38.480" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""And then we remove the advices,""" start="00:15:41.840" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""we remove these other things,""" start="00:15:43.960" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and when we run `adt-2` again, it shows only `;; --&gt; 2`.""" start="00:15:45.160" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""It's impossible to understand that in the first time,""" start="00:15:49.080" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""so we can run that several times... to see how things work.""" start="00:15:51.880" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""And now we want to understand""" start="00:15:57.880" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""what changes in the function `adt-2`...""" start="00:16:02.280" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""how it is modified internally.""" start="00:16:04.960" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""I'm calling that the internal view of the function,""" start="00:16:08.640" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and we are going to compare""" start="00:16:11.480" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""several internal views of the function `adt-2`.""" start="00:16:13.600" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""I'm going to reset the function `adt-2`""" start="00:16:16.680" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""by removing the advices and placing the advices on it again...""" start="00:16:20.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and if we just pretty-print this function here,""" start="00:16:25.680" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""the symbol... the value of this symbol here as a function,""" start="00:16:28.508" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""it is something very ugly.""" start="00:16:36.320" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""But if we print it in another way, with `cl-prin1`,""" start="00:16:38.640" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""then we get something that is much nicer...""" start="00:16:43.840" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""but that is not indented. And if we use this thing here,""" start="00:16:47.240" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""`cl-prin2` instead of `cl-prin1`, it becomes indented.""" start="00:16:51.160" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""So let's try it again.""" start="00:16:55.840" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""Here is the current view of what is `adt-2`.""" start="00:17:00.840" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""So, the original `adt-insert` is here...""" start="00:17:06.800" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and here are some modifications""" start="00:17:10.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""that were added by the advices.""" start="00:17:11.840" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""And we can run these things many times""" start="00:17:13.520" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""to understand what each step does.""" start="00:17:16.760" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""But my suggestion is: in the first time""" start="00:17:19.240" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""just run everything very quickly...""" start="00:17:21.240" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and then you run it again,""" start="00:17:23.880" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""paying attention to the parts that look more interesting.""" start="00:17:25.200" video="mainVideo-modern" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Printing something in different ways for lambdas""" start="00:17:29.120" video="mainVideo-modern" id="subtitle"]]</div>[[!template text="""Now, I'm going to... Remember that here""" start="00:17:29.120" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""I printed the contents of `adt-2` in several different ways,""" start="00:17:37.374" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and now I'm going to show how we can do the same idea""" start="00:17:42.560" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""of printing something in different ways for lambdas...""" start="00:17:47.120" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""that is something that I explained""" start="00:17:51.600" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""in the first part of the video.""" start="00:17:52.920" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""In this part of the demo we define a function `foo`...""" start="00:17:54.640" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""this `setq` here defines `o` as""" start="00:18:00.640" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""the contents of the function cell of `foo`...""" start="00:18:06.361" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""And now we are going to print""" start="00:18:08.960" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""that `o` in several different ways.""" start="00:18:13.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""The default way is this one, it's very ugly,""" start="00:18:15.400" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""but we can redefine how these things are printed""" start="00:18:19.200" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""by just running these lines...""" start="00:18:22.240" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and if we pay attention at what's happening""" start="00:18:24.560" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""at the window at the right,""" start="00:18:28.720" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""we can see that we have several different""" start="00:18:30.520" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""printed representations for the same thing...""" start="00:18:33.560" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and then at the last step,""" start="00:18:35.760" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""we reset the printer to the default representation.""" start="00:18:36.880" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""And the details are here.""" start="00:18:41.080" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""If we run these lines here,""" start="00:18:43.280" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""they show the definitions at the window at the right.""" start="00:18:45.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""And this... now comes the difficult part,""" start="00:18:48.760" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""in which we have to do something""" start="00:18:53.880" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""besides just running things with F8. We need""" start="00:18:56.680" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""a help buffer with buttons...""" start="00:19:02.080" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""buttons in the traditional sense,""" start="00:19:04.920" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and we need to choose a certain button there,""" start="00:19:08.920" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""or any button there,""" start="00:19:11.560" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and run `M-x ee-set-button` on that button.""" start="00:19:13.440" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""So, let me define a `struct` here,""" start="00:19:17.941" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and this is some help on what is that structure.""" start="00:19:24.720" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""I'm going to choose this button here""" start="00:19:29.360" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and I'm going to type `M-x ee-set-button`.""" start="00:19:33.600" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""The message is a bit obscure.""" start="00:19:40.160" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""And now we have something that displays""" start="00:19:43.560" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""a lot of information about that button...""" start="00:19:47.960" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""And we can also run that with just `F8`s.""" start="00:19:51.080" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""By the way, if we want to understand""" start="00:19:53.920" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""the code that's behind these things,""" start="00:20:00.280" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""we can run this sexp here.""" start="00:20:02.320" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""It is going to show the code here at the right.""" start="00:20:04.840" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""But anyway, these first lines here...""" start="00:20:07.960" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""they display the output in the echo area... Let's try...""" start="00:20:10.760" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""And each one of them extracts a different part""" start="00:20:15.480" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""of the information on that button.""" start="00:20:20.560" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""And these other lines here create a three-window setting""" start="00:20:22.560" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""in which the help buffer is shown here,""" start="00:20:26.040" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and the result of some other thing""" start="00:20:29.640" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""is shown in the third window. Let's try...""" start="00:20:33.120" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""So now that we have... well... I said""" start="00:20:39.980" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""that we needed to choose a certain button""" start="00:20:41.165" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and run `M-x ee-set-button` there. We have done that...""" start="00:20:48.408" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""so now this variable `ee-button`""" start="00:20:53.440" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""contains information about the button...""" start="00:20:55.920" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""And now we can run this part here""" start="00:20:58.440" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""as many times as we want to...""" start="00:21:01.120" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""try to understand what are the values of these things here...""" start="00:21:03.480" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and how some things start with a value that is very complex""" start="00:21:07.480" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and very difficult to understand,""" start="00:21:11.680" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and then we extract the more interesting parts.""" start="00:21:13.840" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""And the details, as I said, are here.""" start="00:21:16.840" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""That was the end of the demo, and my question is,""" start="00:21:22.280" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""what was your reaction to that?""" start="00:21:26.760" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""If your reaction was more like &quot;wow&quot; than like &quot;blergh&quot;""" start="00:21:28.560" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""then you might like the last part of the video that I recorded in March,""" start="00:21:32.680" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""that was very technical...""" start="00:21:37.040" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""When I recorded it, I thought, oh my god, this video is very bad...""" start="00:21:38.400" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""only the hardcore eev users are going to like that,""" start="00:21:42.720" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and there are less than five hardcore""" start="00:21:47.280" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""eev users in the world...""" start="00:21:51.040" video="mainVideo-modern" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Exploring buttons""" start="00:21:52.840" video="mainVideo-modern" id="subtitle"]]</div>[[!template text="""But anyway, if you saw that introduction""" start="00:21:52.840" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and you think that these things are interesting,""" start="00:21:56.640" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""you can execute any one of these S-expressions here""" start="00:21:59.080" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and take a look at the final part of that video""" start="00:22:03.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""that describes how I wrote some functions""" start="00:22:06.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""for exploring buttons. If you execute this sexp here,""" start="00:22:09.560" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""it plays a part of the video starting from that position.""" start="00:22:14.240" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""If you execute this one, you go to the subtitles in HTML...""" start="00:22:19.560" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and if you run this one, you go""" start="00:22:26.920" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""to the subtitles in another format. And... that's it!""" start="00:22:30.560" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""No, no, sorry, I said &quot;that's it&quot;,""" start="00:22:36.160" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""but I forgot a very important part...""" start="00:22:40.120" video="mainVideo-modern" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Some design decisions behind eev""" start="00:22:42.160" video="mainVideo-modern" id="subtitle"]]</div>[[!template text="""I had prepared this slide here""" start="00:22:42.160" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""to explain some design decisions behind eev""" start="00:22:45.160" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and why there are so few users of eev... and let me do that.""" start="00:22:48.508" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""The thing is that my working memory is very small,""" start="00:22:53.680" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and I need examples that are easy to visualize...""" start="00:22:57.920" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""ideally, examples that are easy to run""" start="00:23:01.280" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and that I can compare the outputs""" start="00:23:04.960" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""of different ways of running them.""" start="00:23:10.308" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""For me, understanding specifications""" start="00:23:12.160" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""in an API is not enough... examples work much better for me.""" start="00:23:16.360" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""Also, I make lots of mistakes when I type...""" start="00:23:20.680" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""so I need ways to run my executable notes""" start="00:23:24.440" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""by just typing `f8` and `M-e`...""" start="00:23:28.400" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and... most people in the #emacs channel and in other places""" start="00:23:31.880" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""recommend executing sexps by typing `M-:`, like this...""" start="00:23:37.040" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""But I hate that... I think that `M-:` and IELM are""" start="00:23:44.520" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""for people who type well, so not me...""" start="00:23:49.240" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""And also, 99% of what I do is scratch code.""" start="00:23:54.560" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""Very few things that I do go""" start="00:23:58.840" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""into &quot;production&quot; - between quotes.""" start="00:24:01.640" video="mainVideo-modern" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Tests""" start="00:24:05.800" video="mainVideo-modern" id="subtitle"]]</div>[[!template text="""So most of my tests are not automated tests.""" start="00:24:05.800" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""They are just things that I run with F8,""" start="00:24:10.200" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and they don't include the expected result.""" start="00:24:12.440" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""Many people feel that this is very, very, very wrong.""" start="00:24:15.880" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""Tests MUST MEAN automated tests.""" start="00:24:19.160" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""Also, and this is very frustrating,""" start="00:24:23.280" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""eev has lots of &quot;non-users&quot;,""" start="00:24:25.640" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""I mean, people who have tried to use it,""" start="00:24:28.400" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""but they said that they couldn't figure out how to use it.""" start="00:24:31.520" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""They couldn't understand""" start="00:24:34.760" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""what would be the workflows for eev.""" start="00:24:36.160" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""And that's the same that happens with me with code blocks in Org...""" start="00:24:38.080" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""I'm still at the point in which code blocks in Org just feel wrong.""" start="00:24:43.680" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""I still don't understand how to organize my workflows around code blocks.""" start="00:24:48.760" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""I said that eev has very few users,""" start="00:24:55.200" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and they are all very weird and very busy,""" start="00:24:59.000" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and I decided that all my blog-ish posts about eev""" start="00:25:02.240" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""would be things that they can run in a few minutes...""" start="00:25:06.360" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""just like the demo that I showed a few minutes ago.""" start="00:25:09.720" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""I said &quot;like the examples in the rest of the video&quot;,""" start="00:25:13.040" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""but I forgot this slide,""" start="00:25:16.120" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""and I'm recording this after the demo.""" start="00:25:17.400" video="mainVideo-modern" id="subtitle"]]
+[[!template text="""So... that's it. Thanks!""" start="00:25:19.640" video="mainVideo-modern" id="subtitle"]]
</div>Questions or comments? Please e-mail [eduardoochs@gmail.com](mailto:eduardoochs@gmail.com?subject=Comment%20for%20EmacsConf%202023%20modern%3A%20Some%20problems%20of%20modernizing%20Emacs)
diff --git a/2025/info/modern-before.md b/2025/info/modern-before.md
index f3830a2a..43056b72 100644
--- a/2025/info/modern-before.md
+++ b/2025/info/modern-before.md
@@ -2,12 +2,27 @@
[[!toc ]]
Format: 26-min talk ; Q&A: IRC Etherpad: <https://pad.emacsconf.org/2025-modern>
Etherpad: <https://pad.emacsconf.org/2025-modern>
-Status: TO_REVIEW_QA
+Status: Q&A to be extracted from the room recordings
-<div class="vid mainVideo"><video controls preload="none" id="mainVideo-modern"><source src="https://media.emacsconf.org/2025/emacsconf-2025-modern--some-problems-of-modernizing-emacs--eduardo-ochs--original.mp4" />captions="""<track label="English" kind="captions" srclang="en" src="/2025/captions/emacsconf-2025-modern--some-problems-of-modernizing-emacs--eduardo-ochs--main.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 25:22 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2025-modern">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-modern--some-problems-of-modernizing-emacs--eduardo-ochs--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-modern--some-problems-of-modernizing-emacs--eduardo-ochs--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-modern--some-problems-of-modernizing-emacs--eduardo-ochs--main.opus">Download --main.opus (13MB)</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-modern--some-problems-of-modernizing-emacs--eduardo-ochs--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-modern--some-problems-of-modernizing-emacs--eduardo-ochs--main.webm">Download --main.webm (57MB)</a></li><li><a href="https://youtu.be/EbxupbXfESg">View on Youtube</a></li></ul></div></div>
+<div class="vid mainVideo"><video controls preload="none" id="mainVideo-modern"><source src="https://media.emacsconf.org/2025/emacsconf-2025-modern--some-problems-of-modernizing-emacs--eduardo-ochs--main.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2025/captions/emacsconf-2025-modern--some-problems-of-modernizing-emacs--eduardo-ochs--main.vtt" default />"""<track kind="chapters" label="Chapters" src="/2025/captions/emacsconf-2025-modern--some-problems-of-modernizing-emacs--eduardo-ochs--main--chapters.vtt" /><p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video>[[!template id="chapters" vidid="mainVideo-modern" data="""
+00:00.000 Introduction
+01:05.000 The main themes of this video
+02:18.000 Inner views of Emacs objects
+02:54.000 Older Emacses
+03:35.000 Newer Emacses
+05:30.000 Help buttons
+06:41.000 "Anyone can learn Lisp in one day"
+09:34.000 Lambdas for beginners broken
+12:59.302 Demo
+17:29.120 Printing something in different ways for lambdas
+21:52.840 Exploring buttons
+22:42.160 Some design decisions behind EEV
+24:05.800 Tests
+
+"""]]<div></div>Duration: 25:22 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2025-modern">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-modern--some-problems-of-modernizing-emacs--eduardo-ochs--intro.vtt">Download --intro.vtt</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-modern--some-problems-of-modernizing-emacs--eduardo-ochs--intro.webm">Download --intro.webm</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-modern--some-problems-of-modernizing-emacs--eduardo-ochs--main--chapters.vtt">Download --main--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-modern--some-problems-of-modernizing-emacs--eduardo-ochs--main.opus">Download --main.opus (13MB)</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-modern--some-problems-of-modernizing-emacs--eduardo-ochs--main.vtt">Download --main.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-modern--some-problems-of-modernizing-emacs--eduardo-ochs--main.webm">Download --main.webm (57MB)</a></li><li><a href="https://youtu.be/EbxupbXfESg">View on Youtube</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file
diff --git a/2025/info/python-after.md b/2025/info/python-after.md
index 508a4acc..3e66b54a 100644
--- a/2025/info/python-after.md
+++ b/2025/info/python-after.md
@@ -255,7 +255,8 @@ Captioner: sachac
<div class="transcript transcript-qanda"><a name="python-qanda-transcript"></a><h1>Q&A transcript (unedited)</h1>
-[[!template text="""So as we wait for people to drop""" start="00:00:00.000" video="qanda-python" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Developing Python in Emacs""" start="00:00:00.000" video="qanda-python" id="subtitle"]]</div>[[!template text="""So as we wait for people to drop""" start="00:00:00.000" video="qanda-python" id="subtitle"]]
[[!template text="""in their questions and so on,""" start="00:00:02.840" video="qanda-python" id="subtitle"]]
[[!template text="""I'll just kind of add a couple of thoughts.""" start="00:00:04.280" video="qanda-python" id="subtitle"]]
[[!template text="""I'm not personally much of a Python developer,""" start="00:00:08.720" video="qanda-python" id="subtitle"]]
@@ -275,7 +276,8 @@ Captioner: sachac
[[!template text="""and some refactoring and things like that.""" start="00:01:06.040" video="qanda-python" id="subtitle"]]
[[!template text="""So I think Emacs is really good for Python development.""" start="00:01:09.040" video="qanda-python" id="subtitle"]]
[[!template text="""So what are some other...""" start="00:01:14.440" video="qanda-python" id="subtitle"]]
-[[!template text="""How long have you been using Emacs?""" start="00:01:16.680" video="qanda-python" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Q: How long have you been using Emacs?""" start="00:01:16.680" video="qanda-python" id="subtitle"]]</div>[[!template text="""How long have you been using Emacs?""" start="00:01:16.680" video="qanda-python" id="subtitle"]]
[[!template text="""Kind of a general question.""" start="00:01:18.320" video="qanda-python" id="subtitle"]]
[[!template text="""Sorry if you covered this and I missed it.""" start="00:01:19.600" video="qanda-python" id="subtitle"]]
[[!template text="""It's not that long actually.""" start="00:01:23.600" video="qanda-python" id="subtitle"]]
@@ -301,7 +303,8 @@ Captioner: sachac
[[!template text="""as opposed to like the mainstream editors out there.""" start="00:02:27.640" video="qanda-python" id="subtitle"]]
[[!template text="""So that's how it started. So like five years ago, maybe.""" start="00:02:30.960" video="qanda-python" id="subtitle"]]
[[!template text="""Cool. Um, so did you, what were some other,""" start="00:02:33.520" video="qanda-python" id="subtitle"]]
-[[!template text="""what, what, what editor were you primarily using before you?""" start="00:02:39.520" video="qanda-python" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Q: What editor were you primarily using before?""" start="00:02:39.520" video="qanda-python" id="subtitle"]]</div>[[!template text="""what, what, what editor were you primarily using before you?""" start="00:02:39.520" video="qanda-python" id="subtitle"]]
[[!template text="""Um, um, back, back then it was like,""" start="00:02:44.000" video="qanda-python" id="subtitle"]]
[[!template text="""I think it was like Sublime Text.""" start="00:02:49.400" video="qanda-python" id="subtitle"]]
[[!template text="""And also some IntelliJ, sorry, JetBrains, their tools.""" start="00:02:52.720" video="qanda-python" id="subtitle"]]
@@ -324,7 +327,8 @@ Captioner: sachac
[[!template text="""I'll just read it out.""" start="00:03:52.720" video="qanda-python" id="subtitle"]]
[[!template text="""I don't quite see how your setup works with IPython.""" start="00:03:55.240" video="qanda-python" id="subtitle"]]
[[!template text="""Sorry if you already answered this.""" start="00:03:58.240" video="qanda-python" id="subtitle"]]
-[[!template text="""Do you have your Emacs connect to the IPython kernel""" start="00:04:00.280" video="qanda-python" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Q: Do you have your Emacs connect to the IPython kernel over the XMPP socket that IPython sets up?""" start="00:04:00.280" video="qanda-python" id="subtitle"]]</div>[[!template text="""Do you have your Emacs connect to the IPython kernel""" start="00:04:00.280" video="qanda-python" id="subtitle"]]
[[!template text="""over XMPP socket that IPython sets up? Oh, good question.""" start="00:04:03.520" video="qanda-python" id="subtitle"]]
[[!template text="""So what I've done is I have two different connections.""" start="00:04:11.920" video="qanda-python" id="subtitle"]]
[[!template text="""Like if I'm going to do this regular day-to-day Python work""" start="00:04:18.040" video="qanda-python" id="subtitle"]]
@@ -349,7 +353,8 @@ Captioner: sachac
[[!template text="""which I do for most of my daily work,""" start="00:05:26.600" video="qanda-python" id="subtitle"]]
[[!template text="""or if I want this connection to a running app,""" start="00:05:29.560" video="qanda-python" id="subtitle"]]
[[!template text="""I'm using the Jupyter console, basically.""" start="00:05:32.240" video="qanda-python" id="subtitle"]]
-[[!template text="""Have you explored Org Babel at all?""" start="00:05:38.480" video="qanda-python" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Q: Not sure if you've explored Org Babel, but what are the benefits of using your approach over Org?""" start="00:05:38.480" video="qanda-python" id="subtitle"]]</div>[[!template text="""Have you explored Org Babel at all?""" start="00:05:38.480" video="qanda-python" id="subtitle"]]
[[!template text="""Can you talk about your approach""" start="00:05:45.200" video="qanda-python" id="subtitle"]]
[[!template text="""compared to the Babel workflow? Oh, interesting.""" start="00:05:48.200" video="qanda-python" id="subtitle"]]
[[!template text="""No, I haven't actually, I haven't done that,""" start="00:05:52.280" video="qanda-python" id="subtitle"]]
@@ -369,7 +374,8 @@ Captioner: sachac
[[!template text="""so I can't get into the really interesting questions""" start="00:06:52.880" video="qanda-python" id="subtitle"]]
[[!template text="""that are probably more relevant,""" start="00:06:57.600" video="qanda-python" id="subtitle"]]
[[!template text="""just because a lot of it's kind of over my head.""" start="00:07:01.640" video="qanda-python" id="subtitle"]]
-[[!template text="""Have you seen the miramo.io notebooks?""" start="00:07:05.800" video="qanda-python" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Q: Have you seen marimo.io notebooks? It uses standard Python.""" start="00:07:05.800" video="qanda-python" id="subtitle"]]</div>[[!template text="""Have you seen the marimo.io notebooks?""" start="00:07:05.800" video="qanda-python" id="subtitle"]]
[[!template text="""These use standard Python?""" start="00:07:12.880" video="qanda-python" id="subtitle"]]
[[!template text="""Oh, yes, I've seen, I haven't tried it myself,""" start="00:07:15.280" video="qanda-python" id="subtitle"]]
[[!template text="""but I've seen it.""" start="00:07:18.120" video="qanda-python" id="subtitle"]]
@@ -385,57 +391,59 @@ Captioner: sachac
[[!template text="""You get an expert, a souffle chef,""" start="00:08:06.720" video="qanda-python" id="subtitle"]]
[[!template text="""and you ask about making pasta or some other sort of thing.""" start="00:08:11.240" video="qanda-python" id="subtitle"]]
[[!template text="""No, go ahead. Go ahead. I'm glad to ask any questions.""" start="00:08:16.600" video="qanda-python" id="subtitle"]]
-[[!template text="""So just generally about Emacs as a coding developer,""" start="00:08:20.560" video="qanda-python" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Q: what LLM did you say you've used?""" start="00:08:20.560" video="qanda-python" id="subtitle"]]</div>[[!template text="""So just generally about Emacs as a coding developer,""" start="00:08:20.560" video="qanda-python" id="subtitle"]]
[[!template text="""what are the features""" start="00:08:25.680" video="qanda-python" id="subtitle"]]
[[!template text="""that you tend to lean on more heavily?""" start="00:08:27.000" video="qanda-python" id="subtitle"]]
-[[!template text="""you know completion or you know what what have you""" start="00:08:28.480" video="qanda-python" id="subtitle"]]
-[[!template text="""maybe I could put it better""" start="00:08:34.320" video="qanda-python" id="subtitle"]]
-[[!template text="""as what have you spent more time configuring for Emacs""" start="00:08:36.200" video="qanda-python" id="subtitle"]]
+[[!template text="""You know completion or you know, what have you...""" start="00:08:28.480" video="qanda-python" id="subtitle"]]
+[[!template text="""Maybe I could put it better as:""" start="00:08:34.060" video="qanda-python" id="subtitle"]]
+[[!template text="""what have you spent more time configuring for Emacs""" start="00:08:35.258" video="qanda-python" id="subtitle"]]
[[!template text="""to facilitate development?""" start="00:08:40.080" video="qanda-python" id="subtitle"]]
-[[!template text="""Yes initially it was basically taking away""" start="00:08:45.440" video="qanda-python" id="subtitle"]]
-[[!template text="""some of the UI features""" start="00:08:49.640" video="qanda-python" id="subtitle"]]
-[[!template text="""basically disabling it and and but fairly quickly""" start="00:08:51.320" video="qanda-python" id="subtitle"]]
-[[!template text="""for for both closure development""" start="00:08:56.600" video="qanda-python" id="subtitle"]]
-[[!template text="""where i was using cider which is like a really good uh good tool um""" start="00:08:58.920" video="qanda-python" id="subtitle"]]
-[[!template text="""and for python when i quickly found lp elp""" start="00:09:04.600" video="qanda-python" id="subtitle"]]
-[[!template text="""i'm not sure how to pronounce it""" start="00:09:08.160" video="qanda-python" id="subtitle"]]
-[[!template text="""but you you get so much uh good things from these tools""" start="00:09:10.600" video="qanda-python" id="subtitle"]]
-[[!template text="""so what i've done additionally is like theme""" start="00:09:16.040" video="qanda-python" id="subtitle"]]
-[[!template text="""and maybe having this environment""" start="00:09:21.720" video="qanda-python" id="subtitle"]]
+[[!template text="""Yes, initially, it was basically taking away""" start="00:08:45.440" video="qanda-python" id="subtitle"]]
+[[!template text="""some of the UI features,""" start="00:08:49.640" video="qanda-python" id="subtitle"]]
+[[!template text="""basically disabling it, but fairly quickly,""" start="00:08:51.320" video="qanda-python" id="subtitle"]]
+[[!template text="""for both Clojure development""" start="00:08:56.600" video="qanda-python" id="subtitle"]]
+[[!template text="""where I was using CIDER, which is like a really good tool,""" start="00:08:58.920" video="qanda-python" id="subtitle"]]
+[[!template text="""and for Python, when I quickly found elpy,""" start="00:09:04.600" video="qanda-python" id="subtitle"]]
+[[!template text="""I'm not sure how to pronounce it,""" start="00:09:08.160" video="qanda-python" id="subtitle"]]
+[[!template text="""but you get so much good things from these tools...""" start="00:09:10.600" video="qanda-python" id="subtitle"]]
+[[!template text="""So what I've done additionally is theme""" start="00:09:16.040" video="qanda-python" id="subtitle"]]
+[[!template text="""and maybe having this environment""" start="00:09:21.020" video="qanda-python" id="subtitle"]]
[[!template text="""that is without disturbance.""" start="00:09:27.160" video="qanda-python" id="subtitle"]]
-[[!template text="""So I really like the code to have my full attention.""" start="00:09:31.480" video="qanda-python" id="subtitle"]]
+[[!template text="""So I really like the code to have my full attention.""" start="00:09:29.020" video="qanda-python" id="subtitle"]]
[[!template text="""So I rarely have, maybe I have like a preview sometimes,""" start="00:09:34.840" video="qanda-python" id="subtitle"]]
-[[!template text="""but mostly it's the window or the buffer where I have my code""" start="00:09:41.240" video="qanda-python" id="subtitle"]]
+[[!template text="""but mostly, it's the window or the buffer where I have my code,""" start="00:09:41.240" video="qanda-python" id="subtitle"]]
[[!template text="""and I've minimized the running REPL buffer.""" start="00:09:45.360" video="qanda-python" id="subtitle"]]
[[!template text="""So sometimes it's, I'm hiding it, but it's still active.""" start="00:09:49.880" video="qanda-python" id="subtitle"]]
[[!template text="""So basically that's how I configured,""" start="00:09:53.440" video="qanda-python" id="subtitle"]]
[[!template text="""spent my configuration doing that.""" start="00:09:57.680" video="qanda-python" id="subtitle"]]
[[!template text="""And also lately, trying out some LLM tools.""" start="00:10:00.280" video="qanda-python" id="subtitle"]]
-[[!template text="""So I think I have two packages""" start="00:10:04.800" video="qanda-python" id="subtitle"]]
+[[!template text="""I think I have two packages""" start="00:10:04.800" video="qanda-python" id="subtitle"]]
[[!template text="""that I'm using actively today.""" start="00:10:09.280" video="qanda-python" id="subtitle"]]
-[[!template text="""And my favorite is a tool called ECA,""" start="00:10:12.240" video="qanda-python" id="subtitle"]]
+[[!template text="""My favorite is a tool called ECA,""" start="00:10:12.240" video="qanda-python" id="subtitle"]]
[[!template text="""which is a LLM chat assistant, which is really good.""" start="00:10:15.800" video="qanda-python" id="subtitle"]]
[[!template text="""The developer is also an Emacs enthusiast.""" start="00:10:20.200" video="qanda-python" id="subtitle"]]
-[[!template text="""So are you the type of person that tends to work with""" start="00:10:24.400" video="qanda-python" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Q: Are you building your own Emacs, or using the system packages?""" start="00:10:28.480" video="qanda-python" id="subtitle"]]</div>[[!template text="""So are you the type of person that tends to work with""" start="00:10:28.480" video="qanda-python" id="subtitle"]]
[[!template text="""like a master builder, build your own Emacs?""" start="00:10:33.640" video="qanda-python" id="subtitle"]]
[[!template text="""Are you using the system packages?""" start="00:10:37.040" video="qanda-python" id="subtitle"]]
[[!template text="""What's your approach to just get Emacs""" start="00:10:40.800" video="qanda-python" id="subtitle"]]
[[!template text="""up and off the ground for yourself?""" start="00:10:43.616" video="qanda-python" id="subtitle"]]
[[!template text="""I'm not there yet with doing my own builds.""" start="00:10:45.369" video="qanda-python" id="subtitle"]]
[[!template text="""Currently, I'm on macOS,""" start="00:10:52.520" video="qanda-python" id="subtitle"]]
-[[!template text="""so I'm installing Emacs through broom basically, homebrew.""" start="00:10:55.600" video="qanda-python" id="subtitle"]]
+[[!template text="""so I'm installing Emacs through brew, basically, homebrew.""" start="00:10:55.600" video="qanda-python" id="subtitle"]]
[[!template text="""I've yet so much Emacs things to learn""" start="00:11:00.040" video="qanda-python" id="subtitle"]]
-[[!template text="""because I'm not even using org yet.""" start="00:11:04.920" video="qanda-python" id="subtitle"]]
+[[!template text="""because I'm not even using Org yet.""" start="00:11:04.920" video="qanda-python" id="subtitle"]]
[[!template text="""I'm exploring the this editor.""" start="00:11:07.740" video="qanda-python" id="subtitle"]]
[[!template text="""So I feel like I'm very much a beginner.""" start="00:11:11.560" video="qanda-python" id="subtitle"]]
-[[!template text="""I'm not using Emacs to its full potential yet.""" start="00:11:14.800" video="qanda-python" id="subtitle"]]
+[[!template text="""I'm not using Emacs to its full potential yet.""" start="00:11:13.920" video="qanda-python" id="subtitle"]]
[[!template text="""So I'm counting on that I will be more and more using Emacs""" start="00:11:17.920" video="qanda-python" id="subtitle"]]
[[!template text="""for more and more different tasks basically.""" start="00:11:23.280" video="qanda-python" id="subtitle"]]
[[!template text="""And I'm just seeing a comment.""" start="00:11:29.120" video="qanda-python" id="subtitle"]]
[[!template text="""Ed Stallthroat says, thank you""" start="00:11:32.560" video="qanda-python" id="subtitle"]]
[[!template text="""for publishing your configuration and offers a link.""" start="00:11:35.800" video="qanda-python" id="subtitle"]]
[[!template text="""Oh, great. Great.""" start="00:11:40.840" video="qanda-python" id="subtitle"]]
-[[!template text="""Yes, those things that I showed in my talk,""" start="00:11:41.880" video="qanda-python" id="subtitle"]]
+[[!template text="""Yes, those things that I showed in my talk,""" start="00:11:43.200" video="qanda-python" id="subtitle"]]
[[!template text="""I haven't made any, I haven't packaged it yet,""" start="00:11:46.360" video="qanda-python" id="subtitle"]]
[[!template text="""but everything is on my GitHub,""" start="00:11:49.320" video="qanda-python" id="subtitle"]]
[[!template text="""and I've tried to separate each feature""" start="00:11:51.200" video="qanda-python" id="subtitle"]]
@@ -451,7 +459,8 @@ Captioner: sachac
[[!template text="""so it may be that people are jogging off to get some food.""" start="00:12:26.120" video="qanda-python" id="subtitle"]]
[[!template text="""Yeah, in Sweden, it's dinner time.""" start="00:12:31.680" video="qanda-python" id="subtitle"]]
[[!template text="""It's like 6 p.m. soon. That fits.""" start="00:12:36.600" video="qanda-python" id="subtitle"]]
-[[!template text="""So are you involved with local Emacs meetups?""" start="00:12:40.080" video="qanda-python" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Q: Are you involved with local Emacs meetups?""" start="00:12:40.080" video="qanda-python" id="subtitle"]]</div>[[!template text="""So are you involved with local Emacs meetups?""" start="00:12:40.080" video="qanda-python" id="subtitle"]]
[[!template text="""I know that your part of the world""" start="00:12:46.440" video="qanda-python" id="subtitle"]]
[[!template text="""has a really brisk community,""" start="00:12:49.080" video="qanda-python" id="subtitle"]]
[[!template text="""you know, a lot of, just a lot going on.""" start="00:12:51.800" video="qanda-python" id="subtitle"]]
@@ -460,8 +469,8 @@ Captioner: sachac
[[!template text="""I'm curious if you're plugged""" start="00:13:02.320" video="qanda-python" id="subtitle"]]
[[!template text="""into a local community there at all, No, I haven't.""" start="00:13:03.520" video="qanda-python" id="subtitle"]]
[[!template text="""Not in any community. I haven't done that yet,""" start="00:13:08.720" video="qanda-python" id="subtitle"]]
-[[!template text="""but we are like friends that I've gotten to know""" start="00:13:10.760" video="qanda-python" id="subtitle"]]
-[[!template text="""through work and through like open source work that also use Emacs.""" start="00:13:15.680" video="qanda-python" id="subtitle"]]
+[[!template text="""but we are... Like, friends that I've gotten to know""" start="00:13:10.760" video="qanda-python" id="subtitle"]]
+[[!template text="""through work and through like open source work that also use Emacs.""" start="00:13:18.216" video="qanda-python" id="subtitle"]]
[[!template text="""We talk and share our conflicts""" start="00:13:23.440" video="qanda-python" id="subtitle"]]
[[!template text="""basically on a regular basis,""" start="00:13:28.960" video="qanda-python" id="subtitle"]]
[[!template text="""because we are, at least in the Python community,""" start="00:13:30.800" video="qanda-python" id="subtitle"]]
@@ -477,7 +486,8 @@ Captioner: sachac
[[!template text="""Well, David, I super appreciate your talk""" start="00:14:11.036" video="qanda-python" id="subtitle"]]
[[!template text="""and thank you so much also for...""" start="00:14:16.560" video="qanda-python" id="subtitle"]]
[[!template text="""I'm sorry, I saw another question here. Let me cover that.""" start="00:14:18.760" video="qanda-python" id="subtitle"]]
-[[!template text="""Can you repeat the name of the LLM""" start="00:14:24.640" video="qanda-python" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Q: Can you repeat the name of the LLM that you specifically mentioned there? - ECA""" start="00:14:24.640" video="qanda-python" id="subtitle"]]</div>[[!template text="""Can you repeat the name of the LLM""" start="00:14:24.640" video="qanda-python" id="subtitle"]]
[[!template text="""that you specifically mentioned there?""" start="00:14:27.960" video="qanda-python" id="subtitle"]]
[[!template text="""Oh, it's a tool called ECA, E-C-A.""" start="00:14:30.320" video="qanda-python" id="subtitle"]]
[[!template text="""It's basically a server and clients,""" start="00:14:36.785" video="qanda-python" id="subtitle"]]
@@ -502,19 +512,20 @@ Captioner: sachac
[[!template text="""so I can send that to the REPL.""" start="00:16:05.600" video="qanda-python" id="subtitle"]]
[[!template text="""But for some reason, I forgot the name of it.""" start="00:16:08.880" video="qanda-python" id="subtitle"]]
[[!template text="""I can look it up. Just give me one minute, sorry.""" start="00:16:11.480" video="qanda-python" id="subtitle"]]
-[[!template text="""oh yeah gptel gptel that's that's the name of the other tool""" start="00:16:25.160" video="qanda-python" id="subtitle"]]
-[[!template text="""which is uh also a good tool yeah""" start="00:16:35.560" video="qanda-python" id="subtitle"]]
-[[!template text="""but ECA is more like a more chat companion""" start="00:16:37.880" video="qanda-python" id="subtitle"]]
-[[!template text="""and this you can also you can tell it to write code and things like that""" start="00:16:41.280" video="qanda-python" id="subtitle"]]
-[[!template text="""but i mostly use it for reviews and research""" start="00:16:46.680" video="qanda-python" id="subtitle"]]
-[[!template text="""and like asking questions""" start="00:16:51.680" video="qanda-python" id="subtitle"]]
-[[!template text="""because i want to my I don't have a problem with typing code.""" start="00:16:54.600" video="qanda-python" id="subtitle"]]
+[[!template text="""Oh yeah, gptel, that's that's the name of the other tool""" start="00:16:29.860" video="qanda-python" id="subtitle"]]
+[[!template text="""which is also a good tool, yeah,""" start="00:16:35.560" video="qanda-python" id="subtitle"]]
+[[!template text="""but ECA is more like a chat companion""" start="00:16:37.880" video="qanda-python" id="subtitle"]]
+[[!template text="""and this, you can also tell it to write code and things like that,""" start="00:16:41.280" video="qanda-python" id="subtitle"]]
+[[!template text="""but I mostly use it for reviews and research""" start="00:16:46.680" video="qanda-python" id="subtitle"]]
+[[!template text="""and asking questions""" start="00:16:51.680" video="qanda-python" id="subtitle"]]
+[[!template text="""because I want to... My...""" start="00:16:53.740" video="qanda-python" id="subtitle"]]
+[[!template text="""I don't have a problem with typing code.""" start="00:16:57.545" video="qanda-python" id="subtitle"]]
[[!template text="""I don't think that slows me down,""" start="00:17:00.280" video="qanda-python" id="subtitle"]]
[[!template text="""but maybe getting some quick feedback""" start="00:17:01.920" video="qanda-python" id="subtitle"]]
[[!template text="""on the actual work that I'm doing,""" start="00:17:05.640" video="qanda-python" id="subtitle"]]
[[!template text="""that's what I'm using LLM for,""" start="00:17:07.480" video="qanda-python" id="subtitle"]]
[[!template text="""on LLM for two, mostly today. That really hits for me.""" start="00:17:09.000" video="qanda-python" id="subtitle"]]
-[[!template text="""I don't mind typing either.""" start="00:17:13.520" video="qanda-python" id="subtitle"]]
+[[!template text="""[Corwin]: I don't mind typing either.""" start="00:17:13.520" video="qanda-python" id="subtitle"]]
[[!template text="""I think somehow having things be so simple""" start="00:17:15.200" video="qanda-python" id="subtitle"]]
[[!template text="""and in many cases just automated,""" start="00:17:18.480" video="qanda-python" id="subtitle"]]
[[!template text="""Emacs just does the right thing.""" start="00:17:20.880" video="qanda-python" id="subtitle"]]
@@ -525,21 +536,23 @@ Captioner: sachac
[[!template text="""I'm just going to peek one more time through""" start="00:17:35.600" video="qanda-python" id="subtitle"]]
[[!template text="""and I don't see a backlog.""" start="00:17:39.440" video="qanda-python" id="subtitle"]]
[[!template text="""There are a couple more comments here""" start="00:17:41.160" video="qanda-python" id="subtitle"]]
-[[!template text="""linking linking to the ECA Emacs and gptel.""" start="00:17:44.520" video="qanda-python" id="subtitle"]]
+[[!template text="""linking to the ECA Emacs and gptel.""" start="00:17:44.520" video="qanda-python" id="subtitle"]]
[[!template text="""Comment also saying very cool setup.""" start="00:17:49.320" video="qanda-python" id="subtitle"]]
-[[!template text="""So I suppose I'll I'll hand it over to you""" start="00:17:52.240" video="qanda-python" id="subtitle"]]
-[[!template text="""if you have kind of final thoughts or.""" start="00:17:56.960" video="qanda-python" id="subtitle"]]
+[[!template text="""So I suppose I'll hand it over to you""" start="00:17:52.240" video="qanda-python" id="subtitle"]]
+[[!template text="""if you have kind of final thoughts or""" start="00:17:56.960" video="qanda-python" id="subtitle"]]
[[!template text="""additional wisdoms you want to share""" start="00:17:59.320" video="qanda-python" id="subtitle"]]
-[[!template text="""I really appreciate your taking the time to prepare this presentation""" start="00:18:02.080" video="qanda-python" id="subtitle"]]
-[[!template text="""especially to do the live Q&A with us. Thank you""" start="00:18:05.400" video="qanda-python" id="subtitle"]]
-[[!template text="""and I haven't anything more than that I will""" start="00:18:11.080" video="qanda-python" id="subtitle"]]
-[[!template text="""of course I will continue like have evolving my setup""" start="00:18:13.920" video="qanda-python" id="subtitle"]]
-[[!template text="""because there's like new tools""" start="00:18:19.480" video="qanda-python" id="subtitle"]]
-[[!template text="""and maybe new ideas also coming up""" start="00:18:21.360" video="qanda-python" id="subtitle"]]
-[[!template text="""and my What I'm aiming for in Python development""" start="00:18:24.760" video="qanda-python" id="subtitle"]]
+[[!template text="""I really appreciate your taking the time""" start="00:18:02.080" video="qanda-python" id="subtitle"]]
+[[!template text="""to prepare this presentation""" start="00:18:03.975" video="qanda-python" id="subtitle"]]
+[[!template text="""especially to do the live Q&A with us.""" start="00:18:05.400" video="qanda-python" id="subtitle"]]
+
+<div class="transcript-heading">[[!template new="1" text="""Wrapping up""" start="00:18:08.742" video="qanda-python" id="subtitle"]]</div>[[!template text="""[David]: Thank you. I haven't anything more than that""" start="00:18:08.742" video="qanda-python" id="subtitle"]]
+[[!template text="""I will of course continue evolving my setup,""" start="00:18:12.989" video="qanda-python" id="subtitle"]]
+[[!template text="""because there's new tools""" start="00:18:19.480" video="qanda-python" id="subtitle"]]
+[[!template text="""and maybe new ideas also coming up.""" start="00:18:21.360" video="qanda-python" id="subtitle"]]
+[[!template text="""What I'm aiming for in Python development""" start="00:18:24.760" video="qanda-python" id="subtitle"]]
[[!template text="""is the great developer experience""" start="00:18:28.720" video="qanda-python" id="subtitle"]]
[[!template text="""of what's called Lisp programming, basically.""" start="00:18:30.480" video="qanda-python" id="subtitle"]]
-[[!template text="""So that's what I'm aiming at for Python 2.""" start="00:18:34.520" video="qanda-python" id="subtitle"]]
+[[!template text="""So that's what I'm aiming at for Python too.""" start="00:18:34.520" video="qanda-python" id="subtitle"]]
[[!template text="""Thank you. Thank you so much.""" start="00:18:41.700" video="qanda-python" id="subtitle"]]
</div>Questions or comments? Please e-mail [emacsconf-org-private@gnu.org](mailto:emacsconf-org-private@gnu.org?subject=Comment%20for%20EmacsConf%202023%20python%3A%20Interactive%20Python%20programming%20in%20Emacs)
diff --git a/2025/info/python-before.md b/2025/info/python-before.md
index 46318789..b2f39ad0 100644
--- a/2025/info/python-before.md
+++ b/2025/info/python-before.md
@@ -14,6 +14,19 @@ Status: TO_REVIEW_QA
# Q&A
-<div class="vid qanda"><video controls preload="none" id="qanda-python"><source src="https://media.emacsconf.org/2025/emacsconf-2025-python--interactive-python-programming-in-emacs--david-vujic--answers.m4v" />captions="""<track label="English" kind="captions" srclang="en" src="/2025/captions/emacsconf-2025-python--interactive-python-programming-in-emacs--david-vujic--answers.vtt" default />"""<p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video><div></div>Duration: 20:10 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2025-python">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-python--interactive-python-programming-in-emacs--david-vujic--answers.json">Download --answers.json</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-python--interactive-python-programming-in-emacs--david-vujic--answers.m4v">Download --answers.m4v (75MB)</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-python--interactive-python-programming-in-emacs--david-vujic--answers.tsv">Download --answers.tsv</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-python--interactive-python-programming-in-emacs--david-vujic--answers.txt">Download --answers.txt</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-python--interactive-python-programming-in-emacs--david-vujic--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-python--interactive-python-programming-in-emacs--david-vujic--answers.webm">Download --answers.webm (71MB)</a></li></ul></div></div>
+<div class="vid qanda"><video controls preload="none" id="qanda-python"><source src="https://media.emacsconf.org/2025/emacsconf-2025-python--interactive-python-programming-in-emacs--david-vujic--answers.webm" />captions="""<track label="English" kind="captions" srclang="en" src="/2025/captions/emacsconf-2025-python--interactive-python-programming-in-emacs--david-vujic--answers.vtt" default />"""<track kind="chapters" label="Chapters" src="/2025/captions/emacsconf-2025-python--interactive-python-programming-in-emacs--david-vujic--answers--chapters.vtt" /><p><em>Your browser does not support the video tag. Please download the video instead.</em></p></video>[[!template id="chapters" vidid="qanda-python" data="""
+00:00.000 Developing Python in Emacs
+01:16.680 Q: How long have you been using Emacs?
+02:39.520 Q: What editor were you primarily using before?
+04:00.280 Q: Do you have your Emacs connect to the IPython kernel over the XMPP socket that IPython sets up?
+05:38.480 Q: Not sure if you've explored Org Babel, but what are the benefits of using your approach over Org?
+07:05.800 Q: Have you seen marimo.io notebooks? It uses standard Python.
+08:20.560 Q: what LLM did you say you've used?
+10:28.480 Q: Are you building your own Emacs, or using the system packages?
+12:40.080 Q: Are you involved with local Emacs meetups?
+14:24.640 Q: Can you repeat the name of the LLM that you specifically mentioned there? - ECA
+18:08.742 Wrapping up
+
+"""]]<div>Listen to just the audio:<br /><audio controls preload="none" id="qanda-python-audio" src="https://media.emacsconf.org/2025/emacsconf-2025-python--interactive-python-programming-in-emacs--david-vujic--answers.opus"></audio></div><div></div>Duration: 18:44 minutes<div class="files resources"><ul><li><a href="https://pad.emacsconf.org/2025-python">Open Etherpad</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-python--interactive-python-programming-in-emacs--david-vujic--answers--chapters.vtt">Download --answers--chapters.vtt</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-python--interactive-python-programming-in-emacs--david-vujic--answers.json">Download --answers.json</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-python--interactive-python-programming-in-emacs--david-vujic--answers.m4v">Download --answers.m4v (75MB)</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-python--interactive-python-programming-in-emacs--david-vujic--answers.opus">Download --answers.opus (16MB)</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-python--interactive-python-programming-in-emacs--david-vujic--answers.tsv">Download --answers.tsv</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-python--interactive-python-programming-in-emacs--david-vujic--answers.txt">Download --answers.txt</a></li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-python--interactive-python-programming-in-emacs--david-vujic--answers.vtt">Download --answers.vtt</a> (unedited)</li><li><a href="https://media.emacsconf.org/2025/emacsconf-2025-python--interactive-python-programming-in-emacs--david-vujic--answers.webm">Download --answers.webm (71MB)</a></li></ul></div></div>
# Description
<!-- End of emacsconf-publish-before-page --> \ No newline at end of file